diff options
Diffstat (limited to 'plugins/CoreHome/vue/src/Orderable.ts')
-rw-r--r-- | plugins/CoreHome/vue/src/Orderable.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/plugins/CoreHome/vue/src/Orderable.ts b/plugins/CoreHome/vue/src/Orderable.ts new file mode 100644 index 0000000000..6099b99891 --- /dev/null +++ b/plugins/CoreHome/vue/src/Orderable.ts @@ -0,0 +1,26 @@ +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +export interface Orderable { + order: number; +} + +export function sortOrderables<T extends Orderable>(menu?: T[]): T[] { + const result = [...(menu || [])]; + result.sort((lhs, rhs) => { + if (lhs.order < rhs.order) { + return -1; + } + + if (lhs.order > rhs.order) { + return 1; + } + + return 0; + }); + return result; +} |