From bce71fc163644413054c11e4df36cb9d0b80138e Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Sun, 17 Oct 2021 07:09:55 +0800 Subject: [PATCH] dynamic --- src/App.svelte | 64 +++++++++++++++++++++++++++----------------------- 1 file changed, 34 insertions(+), 30 deletions(-) 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 @@