diff --git a/src/App.svelte b/src/App.svelte index d8f9cb4..de674b3 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -16,6 +16,7 @@ onMount(async () => { console.log("mounted"); + findNewPage(); }); const syntaxHighlight = (json) => { @@ -70,12 +71,34 @@ widget: "input", type: "date", status: "2021.09.15", - page: "Inputs", + page: "Inputs2", order: "4", descr: "Switch on boiler date", topic: "/prefix/00000-00002/temp2", }, ]; + + //находит в массиве с виджетами wigets все уникальные названия страниц и сортирует названия по алфавиту + //На выходе получаем массив с названиями страниц - pages + //[{page:"страница1"},{page:"страница2"},] + + let pages = []; + function findNewPage() { + pages = []; + const newPage = Array.from(new Set(Array.from(wigets, ({ page }) => page))); + newPage.forEach(function (item, i, arr) { + pages = [...pages, JSON.parse(JSON.stringify({ page: item }))]; + }); + pages.sort(function (a, b) { + if (a.page < b.page) { + return -1; + } + if (a.page > b.page) { + return 1; + } + return 0; + }); + }
@@ -112,32 +135,16 @@