From af36cf3026f85e37f9917116396578c3f3320b72 Mon Sep 17 00:00:00 2001 From: divocat Date: Fri, 17 Oct 2025 23:06:36 +0300 Subject: [PATCH] feat: init new partial modal --- fe-app-podkop/src/luci.d.ts | 5 +++++ fe-app-podkop/src/main.ts | 1 + fe-app-podkop/src/partials/index.ts | 3 +++ fe-app-podkop/src/partials/modal/renderModal.ts | 1 + fe-app-podkop/src/partials/modal/styles.ts | 2 ++ .../src/podkop/tabs/diagnostic/initController.ts | 2 +- .../htdocs/luci-static/resources/view/podkop/main.js | 12 ++++++++---- 7 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 fe-app-podkop/src/partials/modal/renderModal.ts create mode 100644 fe-app-podkop/src/partials/modal/styles.ts diff --git a/fe-app-podkop/src/luci.d.ts b/fe-app-podkop/src/luci.d.ts index 01ff833..9f70c21 100644 --- a/fe-app-podkop/src/luci.d.ts +++ b/fe-app-podkop/src/luci.d.ts @@ -35,6 +35,11 @@ declare global { }; const _ = (_key: string) => string; + + const ui = { + showModal: (_title: stirng, _content: HtmlElement) => undefined, + hideModal: () => undefined, + }; } export {}; diff --git a/fe-app-podkop/src/main.ts b/fe-app-podkop/src/main.ts index 79b8260..bffa791 100644 --- a/fe-app-podkop/src/main.ts +++ b/fe-app-podkop/src/main.ts @@ -2,6 +2,7 @@ 'require baseclass'; 'require fs'; 'require uci'; +'require ui'; export * from './validators'; export * from './helpers'; diff --git a/fe-app-podkop/src/partials/index.ts b/fe-app-podkop/src/partials/index.ts index 3f1e135..fc5f5d8 100644 --- a/fe-app-podkop/src/partials/index.ts +++ b/fe-app-podkop/src/partials/index.ts @@ -1,7 +1,10 @@ import { styles as ButtonStyles } from './button/styles'; +import { styles as ModalStyles } from './modal/styles'; export * from './button/renderButton'; +export * from './modal/renderModal'; export const PartialStyles = ` ${ButtonStyles} +${ModalStyles} `; diff --git a/fe-app-podkop/src/partials/modal/renderModal.ts b/fe-app-podkop/src/partials/modal/renderModal.ts new file mode 100644 index 0000000..b52c018 --- /dev/null +++ b/fe-app-podkop/src/partials/modal/renderModal.ts @@ -0,0 +1 @@ +export function renderModal() {} diff --git a/fe-app-podkop/src/partials/modal/styles.ts b/fe-app-podkop/src/partials/modal/styles.ts new file mode 100644 index 0000000..f017188 --- /dev/null +++ b/fe-app-podkop/src/partials/modal/styles.ts @@ -0,0 +1,2 @@ +// language=CSS +export const styles = ``; diff --git a/fe-app-podkop/src/podkop/tabs/diagnostic/initController.ts b/fe-app-podkop/src/podkop/tabs/diagnostic/initController.ts index bf7d0a9..1c684b8 100644 --- a/fe-app-podkop/src/podkop/tabs/diagnostic/initController.ts +++ b/fe-app-podkop/src/podkop/tabs/diagnostic/initController.ts @@ -249,7 +249,7 @@ function renderDiagnosticAvailableActionsWidget() { globalCheck: { loading: diagnosticsActions.globalCheck.loading, visible: true, - onClick: () => {}, + onClick: () => ui.showModal('globalCheck', E('div', {}, 'Example')), disabled: atLeastOneServiceCommandLoading, }, viewLogs: { diff --git a/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js b/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js index 6703731..dcb1232 100644 --- a/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js +++ b/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js @@ -3,6 +3,7 @@ "require baseclass"; "require fs"; "require uci"; +"require ui"; // src/validators/validateIp.ts function validateIPV4(ip) { @@ -2390,6 +2391,9 @@ var styles2 = ` } `; +// src/partials/modal/styles.ts +var styles3 = ``; + // src/icons/renderLoaderCircleIcon24.ts function renderLoaderCircleIcon24() { const NS = "http://www.w3.org/2000/svg"; @@ -2929,6 +2933,7 @@ function renderButton({ // src/partials/index.ts var PartialStyles = ` ${styles2} +${styles3} `; // src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts @@ -3442,8 +3447,7 @@ function renderDiagnosticAvailableActionsWidget() { globalCheck: { loading: diagnosticsActions.globalCheck.loading, visible: true, - onClick: () => { - }, + onClick: () => ui.showModal("globalCheck", E("div", {}, "Example")), disabled: atLeastOneServiceCommandLoading }, viewLogs: { @@ -3574,7 +3578,7 @@ async function initController2() { } // src/podkop/tabs/diagnostic/styles.ts -var styles3 = ` +var styles4 = ` #cbi-podkop-diagnostic-_mount_node > div { width: 100%; @@ -3743,7 +3747,7 @@ var styles3 = ` var DiagnosticTab = { render: render2, initController: initController2, - styles: styles3 + styles: styles4 }; // src/styles.ts