@genexus/genexus-ide-ui 1.1.49 → 1.1.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{form-validation-178cf461.js → form-validation-54acc775.js} +11 -1
- package/dist/cjs/form-validation-54acc775.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-json-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-name-picker.cjs.entry.js +2 -1
- package/dist/cjs/gx-ide-name-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-new-version.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-plugin-details.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-plugin-details.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +17 -13
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js +61 -30
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +39 -20
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/{helpers-21c9cd02.js → helpers-263b5f4e.js} +3 -7
- package/dist/cjs/helpers-263b5f4e.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{tabular-grid-render-4350dbaf.js → tabular-grid-render-b1767da2.js} +2 -2
- package/dist/cjs/{tabular-grid-render-4350dbaf.js.map → tabular-grid-render-b1767da2.js.map} +1 -1
- package/dist/collection/collection-manifest.json +0 -4
- package/dist/collection/common/form-validation.js +9 -0
- package/dist/collection/common/form-validation.js.map +1 -1
- package/dist/collection/common/helpers.js +3 -7
- package/dist/collection/common/helpers.js.map +1 -1
- package/dist/collection/components/curl-inspector/gx-ide-assets/curl-inspector/langs/curl-inspector.lang.ja.json +6 -6
- package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +10 -10
- package/dist/collection/components/json-import/gx-ide-assets/json-import/langs/json-import.lang.ja.json +10 -10
- package/dist/collection/components/json-import/gx-ide-assets/json-import/langs/json-import.lang.zh.json +10 -10
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +5 -1
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +1 -1
- package/dist/collection/components/name-picker/gx-ide-assets/name-picker/langs/name-picker.lang.ja.json +5 -5
- package/dist/collection/components/name-picker/name-picker.js +2 -1
- package/dist/collection/components/name-picker/name-picker.js.map +1 -1
- package/dist/collection/components/plugin-details/plugin-details.css +3 -1
- package/dist/collection/components/references/references.js +2 -2
- package/dist/collection/components/references/references.js.map +1 -1
- package/dist/collection/components/select-kb-items/select-kb-items.js +36 -13
- package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
- package/dist/collection/components/select-user-team/select-user-team.css +0 -2
- package/dist/collection/components/sign-in-result/gx-ide-assets/sign-in-result/images/left-side-illustration.svg +4 -26
- package/dist/collection/components/sign-in-result/gx-ide-assets/sign-in-result/images/right-side-illustration.svg +12 -12
- package/dist/collection/components/sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.en.json +1 -1
- package/dist/collection/components/sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.ja.json +4 -4
- package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.en.json +5 -0
- package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.ja.json +5 -0
- package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.zh.json +5 -0
- package/dist/collection/components/start-page/start-page.css +100 -13
- package/dist/collection/components/start-page/start-page.js +107 -46
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/collection/components/team-dev/server-selector/gx-ide-assets/server-selector/langs/server-selector.lang.ja.json +14 -14
- package/dist/collection/components/team-dev/server-selector/server-selector.css +4 -0
- package/dist/collection/components/team-dev/server-selector/server-selector.js +72 -32
- package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
- package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +48 -48
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +0 -1
- package/dist/collection/components/team-dev/version-control/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +60 -60
- package/dist/collection/components/ww-files/gx-ide-assets/ww-files/langs/ww-files.lang.ja.json +5 -5
- package/dist/collection/pages/assets/images/plugin/python-logo.svg +16 -0
- package/dist/collection/testing/locale.e2e.js +0 -5
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/form-validation.js +10 -1
- package/dist/components/form-validation.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-export.js +1 -1
- package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
- package/dist/components/gx-ide-name-picker.js +2 -1
- package/dist/components/gx-ide-name-picker.js.map +1 -1
- package/dist/components/gx-ide-plugin-details.js +1 -1
- package/dist/components/gx-ide-plugin-details.js.map +1 -1
- package/dist/components/gx-ide-references.js +2 -2
- package/dist/components/gx-ide-references.js.map +1 -1
- package/dist/components/gx-ide-select-user-team.js +1 -1
- package/dist/components/gx-ide-select-user-team.js.map +1 -1
- package/dist/components/gx-ide-server-selector.js +61 -31
- package/dist/components/gx-ide-server-selector.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +44 -23
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
- package/dist/components/helpers.js +2 -6
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/select-kb-items.js +19 -13
- package/dist/components/select-kb-items.js.map +1 -1
- package/dist/esm/{form-validation-cd0215c6.js → form-validation-21ab3766.js} +11 -2
- package/dist/esm/form-validation-21ab3766.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
- package/dist/esm/gx-ide-curl-inspector.entry.js +1 -1
- package/dist/esm/gx-ide-json-import.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-name-picker.entry.js +2 -1
- package/dist/esm/gx-ide-name-picker.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +2 -2
- package/dist/esm/gx-ide-new-kb.entry.js +2 -2
- package/dist/esm/gx-ide-new-version.entry.js +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-plugin-details.entry.js +1 -1
- package/dist/esm/gx-ide-plugin-details.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +2 -2
- package/dist/esm/gx-ide-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-kb-items.entry.js +17 -13
- package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-server-selector.entry.js +61 -30
- package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +39 -20
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-history.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
- package/dist/esm/gx-ide-ww-files.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/{helpers-7960f084.js → helpers-b180a2d1.js} +3 -7
- package/dist/esm/helpers-b180a2d1.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{tabular-grid-render-f7eb612b.js → tabular-grid-render-96d67a8c.js} +2 -2
- package/dist/esm/{tabular-grid-render-f7eb612b.js.map → tabular-grid-render-96d67a8c.js.map} +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +0 -107
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/curl-inspector/langs/curl-inspector.lang.ja.json +6 -6
- package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +10 -10
- package/dist/genexus-ide-ui/gx-ide-assets/json-import/langs/json-import.lang.ja.json +10 -10
- package/dist/genexus-ide-ui/gx-ide-assets/json-import/langs/json-import.lang.zh.json +10 -10
- package/dist/genexus-ide-ui/gx-ide-assets/name-picker/langs/name-picker.lang.ja.json +5 -5
- package/dist/genexus-ide-ui/gx-ide-assets/server-selector/langs/server-selector.lang.ja.json +14 -14
- package/dist/genexus-ide-ui/gx-ide-assets/sign-in-result/images/left-side-illustration.svg +4 -26
- package/dist/genexus-ide-ui/gx-ide-assets/sign-in-result/images/right-side-illustration.svg +12 -12
- package/dist/genexus-ide-ui/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.en.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.ja.json +4 -4
- package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.en.json +5 -0
- package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.ja.json +5 -0
- package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.zh.json +5 -0
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +60 -60
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +48 -48
- package/dist/genexus-ide-ui/gx-ide-assets/ww-files/langs/ww-files.lang.ja.json +5 -5
- package/dist/genexus-ide-ui/{p-b7aafbf6.entry.js → p-05fa08d7.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-05fa08d7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4b06b578.entry.js → p-06561f7e.entry.js} +147 -121
- package/dist/genexus-ide-ui/p-06561f7e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8c867f9a.entry.js → p-072419f9.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ed87224f.entry.js → p-083d8e94.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-16a88fc3.entry.js → p-098a7288.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-b80bd861.entry.js → p-0c5b7e75.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-b80bd861.entry.js.map → p-0c5b7e75.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-646ddf49.entry.js → p-11a60dbe.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-60302626.entry.js → p-18bbaa49.entry.js} +26 -26
- package/dist/genexus-ide-ui/p-18bbaa49.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8c15538c.js → p-1972b953.js} +10 -13
- package/dist/genexus-ide-ui/p-1972b953.js.map +1 -0
- package/dist/genexus-ide-ui/{p-59908901.entry.js → p-24573081.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-198a7cce.entry.js → p-46147e3c.entry.js} +112 -106
- package/dist/genexus-ide-ui/p-46147e3c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2b38e18e.entry.js → p-57ed2623.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-0ae0616f.entry.js → p-5f65a4bb.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-443fc479.entry.js → p-5fe6189e.entry.js} +11 -11
- package/dist/genexus-ide-ui/{p-12b563fe.entry.js → p-67cf4af1.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-4cc2b3e6.entry.js → p-6f5cf136.entry.js} +6 -6
- package/dist/genexus-ide-ui/p-6f5cf136.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4e3ad78d.entry.js → p-a58048e9.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-e2b0ee82.entry.js → p-b25d91e5.entry.js} +577 -549
- package/dist/genexus-ide-ui/p-b25d91e5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-b32b6b1f.js +49 -0
- package/dist/genexus-ide-ui/p-b32b6b1f.js.map +1 -0
- package/dist/genexus-ide-ui/{p-7f091892.entry.js → p-b6a75c44.entry.js} +10 -10
- package/dist/genexus-ide-ui/p-b6a75c44.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-77c2e69d.js → p-c8270f7d.js} +2 -2
- package/dist/genexus-ide-ui/{p-d01bbc7a.entry.js → p-cccd6565.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a7883e6b.entry.js → p-d18c51fe.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-b34ecbdc.entry.js → p-d24c1115.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-09a634fc.entry.js → p-db07c544.entry.js} +8 -8
- package/dist/genexus-ide-ui/{p-4b680e46.entry.js → p-eacc81c8.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-e3bce13e.entry.js → p-ee7232f2.entry.js} +33 -32
- package/dist/genexus-ide-ui/p-ee7232f2.entry.js.map +1 -0
- package/dist/types/common/form-validation.d.ts +1 -0
- package/dist/types/components/select-kb-items/select-kb-items.d.ts +8 -0
- package/dist/types/components/start-page/start-page.d.ts +31 -19
- package/dist/types/components/team-dev/server-selector/server-selector.d.ts +2 -6
- package/dist/types/components.d.ts +38 -372
- package/package.json +1 -1
- package/dist/cjs/form-validation-178cf461.js.map +0 -1
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +0 -297
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +0 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +0 -97
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +0 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +0 -179
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +0 -1
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +0 -333
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +0 -1
- package/dist/cjs/helpers-21c9cd02.js.map +0 -1
- package/dist/collection/components/ai-assistant/ai-assistant.css +0 -1024
- package/dist/collection/components/ai-assistant/ai-assistant.js +0 -526
- package/dist/collection/components/ai-assistant/ai-assistant.js.map +0 -1
- package/dist/collection/components/ai-assistant/ai-message.css +0 -237
- package/dist/collection/components/ai-assistant/ai-message.js +0 -221
- package/dist/collection/components/ai-assistant/ai-message.js.map +0 -1
- package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +0 -9
- package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.ja.json +0 -9
- package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.zh.json +0 -9
- package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.en.json +0 -4
- package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.ja.json +0 -4
- package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.zh.json +0 -4
- package/dist/collection/components/dashboard-home/dashboard-home.css +0 -1069
- package/dist/collection/components/dashboard-home/dashboard-home.js +0 -439
- package/dist/collection/components/dashboard-home/dashboard-home.js.map +0 -1
- package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.en.json +0 -43
- package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.ja.json +0 -43
- package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.zh.json +0 -43
- package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.en.json +0 -39
- package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.ja.json +0 -39
- package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.zh.json +0 -39
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +0 -498
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +0 -1
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +0 -848
- package/dist/components/ai-message.js +0 -116
- package/dist/components/ai-message.js.map +0 -1
- package/dist/components/gx-ide-ai-assistant.d.ts +0 -11
- package/dist/components/gx-ide-ai-assistant.js +0 -336
- package/dist/components/gx-ide-ai-assistant.js.map +0 -1
- package/dist/components/gx-ide-ai-message.d.ts +0 -11
- package/dist/components/gx-ide-ai-message.js +0 -8
- package/dist/components/gx-ide-ai-message.js.map +0 -1
- package/dist/components/gx-ide-dashboard-home.d.ts +0 -11
- package/dist/components/gx-ide-dashboard-home.js +0 -215
- package/dist/components/gx-ide-dashboard-home.js.map +0 -1
- package/dist/components/gx-ide-manage-module-references-v2.d.ts +0 -11
- package/dist/components/gx-ide-manage-module-references-v2.js +0 -389
- package/dist/components/gx-ide-manage-module-references-v2.js.map +0 -1
- package/dist/esm/form-validation-cd0215c6.js.map +0 -1
- package/dist/esm/gx-ide-ai-assistant.entry.js +0 -293
- package/dist/esm/gx-ide-ai-assistant.entry.js.map +0 -1
- package/dist/esm/gx-ide-ai-message.entry.js +0 -93
- package/dist/esm/gx-ide-ai-message.entry.js.map +0 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +0 -175
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +0 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +0 -329
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +0 -1
- package/dist/esm/helpers-7960f084.js.map +0 -1
- package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +0 -9
- package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.ja.json +0 -9
- package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.zh.json +0 -9
- package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.en.json +0 -4
- package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.ja.json +0 -4
- package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.zh.json +0 -4
- package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.en.json +0 -43
- package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.ja.json +0 -43
- package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.zh.json +0 -43
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.en.json +0 -39
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.ja.json +0 -39
- package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.zh.json +0 -39
- package/dist/genexus-ide-ui/p-198a7cce.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-289c3290.js +0 -39
- package/dist/genexus-ide-ui/p-289c3290.js.map +0 -1
- package/dist/genexus-ide-ui/p-47f78f65.entry.js +0 -473
- package/dist/genexus-ide-ui/p-47f78f65.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4b06b578.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4cc2b3e6.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5624d287.entry.js +0 -137
- package/dist/genexus-ide-ui/p-5624d287.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-60302626.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-7f091892.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8c15538c.js.map +0 -1
- package/dist/genexus-ide-ui/p-b7aafbf6.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-c1ad1cc6.entry.js +0 -303
- package/dist/genexus-ide-ui/p-c1ad1cc6.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-d0c2dde3.entry.js +0 -331
- package/dist/genexus-ide-ui/p-d0c2dde3.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e2b0ee82.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e3bce13e.entry.js.map +0 -1
- package/dist/types/components/ai-assistant/ai-assistant.d.ts +0 -104
- package/dist/types/components/ai-assistant/ai-message.d.ts +0 -48
- package/dist/types/components/dashboard-home/dashboard-home.d.ts +0 -119
- package/dist/types/components/modules/manage-module-references-v2/manage-module-references-v2.d.ts +0 -108
- /package/dist/genexus-ide-ui/{p-8c867f9a.entry.js.map → p-072419f9.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ed87224f.entry.js.map → p-083d8e94.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-16a88fc3.entry.js.map → p-098a7288.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-646ddf49.entry.js.map → p-11a60dbe.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-59908901.entry.js.map → p-24573081.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2b38e18e.entry.js.map → p-57ed2623.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0ae0616f.entry.js.map → p-5f65a4bb.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-443fc479.entry.js.map → p-5fe6189e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-12b563fe.entry.js.map → p-67cf4af1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4e3ad78d.entry.js.map → p-a58048e9.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-77c2e69d.js.map → p-c8270f7d.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d01bbc7a.entry.js.map → p-cccd6565.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a7883e6b.entry.js.map → p-d18c51fe.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b34ecbdc.entry.js.map → p-d24c1115.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-09a634fc.entry.js.map → p-db07c544.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4b680e46.entry.js.map → p-eacc81c8.entry.js.map} +0 -0
|
@@ -2,7 +2,7 @@ import { g as getAssetPath, r as registerInstance, h, H as Host, a as getElement
|
|
|
2
2
|
import { g as getIconPath } from './MERCURY_ASSETS-ccf43ae3.js';
|
|
3
3
|
import { L as Locale } from './locale-e5107fad.js';
|
|
4
4
|
|
|
5
|
-
const pluginDetailsCss = ":host{display:grid;block-size:100%;grid-template-areas:\"header header\" \"main aside\";grid-template-rows:max-content 1fr;grid-template-columns:1fr 280px;row-gap:12px}.section{display:contents}.header{display:grid;grid-area:header;grid-template-areas:\"plugin-icon plugin-details\";grid-template-columns:64px 1fr;column-gap:16px;padding:24px 24px 16px 24px}.plugin__icon{grid-area:plugin-icon;
|
|
5
|
+
const pluginDetailsCss = ":host{display:grid;block-size:100%;grid-template-areas:\"header header\" \"main aside\";grid-template-rows:max-content 1fr;grid-template-columns:1fr 280px;row-gap:12px}.section{display:contents}.header{display:grid;grid-area:header;grid-template-areas:\"plugin-icon plugin-details\";grid-template-columns:64px 1fr;column-gap:16px;padding:24px 24px 16px 24px}.plugin__icon{grid-area:plugin-icon;inline-size:100%;block-size:auto;display:block}.plugin__details{grid-area:plugin-details;display:flex;flex-direction:column;gap:8px}.plugin__publisher{display:flex;align-items:center;gap:4px}.plugin__description{line-height:1.5}.plugin__actions-container{margin-block-start:8px;align-items:center}.action-button{min-inline-size:100px}.action-button.more-versions-available{border-start-end-radius:0 !important;border-end-end-radius:0 !important}.installed-container{display:flex;align-items:center;gap:6px}.installed-container ch-image{--ch-image-size:20px}.main{grid-area:main}.docsTab{block-size:100%}.aside{grid-area:aside;overflow:auto;border-block-start:1px solid var(--items-container__border-color)}.fields__list{list-style:none;padding:0;margin:0;font-size:12px}.plugin__info-category{display:flex;flex-direction:column;gap:8px}.plugin__info-category:not(:first-child){padding-block-start:16px;margin-block-start:16px;border-block-start:1px solid var(--mer-border-color__on-elevation--01)}.fields__list:not(.fields__list--as-tags){display:flex;flex-direction:column;gap:8px}.fields__list:not(.fields__list--as-tags) .field__li{display:flex;gap:16px}.fields__list--as-tags{display:flex;flex-wrap:wrap;gap:6px}.fields__list--as-tags .field__li{border:1px solid var(--mer-border-color__on-elevation--01);padding:2px 8px;border-radius:4px;text-transform:lowercase}.fields__list--as-tags .field__link{color:var(--mer-text__on-surface)}.fields__list--as-tags .field__link:hover{color:var(--mer-accent__primary)}.fields__list--as-tags .field__link:active{color:var(--mer-accent__primary--hover)}.field__name,.field__value{flex:1}.field__link{color:var(--mer-accent__primary)}.field__link:hover{color:var(--mer-accent__primary--hover)}.field__link:active{color:var(--mer-accent__primary--active)}.docsTab{background-color:transparent !important}.dropdown.button-icon-only::part(expandable-button){padding:calc( ( var(--control__block-size) - 2 * var(--control__border-width) - var(--mer-icon__box--md) ) / 2 ) !important;border-start-start-radius:0 !important;border-end-start-radius:0 !important}.version-buttons-container{display:flex;align-items:center;gap:1px}ch-markdown-viewer{block-size:100%;overflow:auto}.text-underline{text-decoration:underline}";
|
|
6
6
|
|
|
7
7
|
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
8
|
if (kind === "a" && !f)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-plugin-details.entry.js","mappings":"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","names":[],"sources":["src/components/plugin-details/plugin-details.scss?tag=gx-ide-plugin-details&encapsulation=shadow","src/components/plugin-details/plugin-details.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-areas:\n \"header header\"\n \"main aside\";\n grid-template-rows: max-content 1fr;\n grid-template-columns: 1fr 280px;\n row-gap: 12px;\n}\n\n.section {\n display: contents;\n}\n\n// header\n.header {\n display: grid;\n grid-area: header;\n grid-template-areas: \"plugin-icon plugin-details\";\n grid-template-columns: 64px 1fr;\n column-gap: 16px;\n padding: 24px 24px 16px 24px;\n}\n.plugin__icon {\n grid-area: plugin-icon;\n max-width: 100%;\n}\n.plugin__details {\n grid-area: plugin-details;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.plugin__publisher {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n.plugin__description {\n line-height: 1.5; // WA: Text appears too tight.\n}\n.plugin__actions-container {\n margin-block-start: 8px;\n align-items: center;\n}\n.action-button {\n min-inline-size: 100px;\n\n &.more-versions-available {\n border-start-end-radius: 0 !important;\n border-end-end-radius: 0 !important;\n }\n}\n.installed-container {\n display: flex;\n align-items: center;\n gap: 6px;\n\n // WA Biggest Mercury icon (icon-md) looks small in this case.\n // Mercury should expose more icon sizes.\n ch-image {\n --ch-image-size: 20px;\n }\n}\n\n// main\n.main {\n grid-area: main;\n}\n.docsTab {\n block-size: 100%;\n}\n\n// aside\n.aside {\n grid-area: aside;\n overflow: auto;\n border-block-start: 1px solid var(--items-container__border-color);\n}\n.fields__list {\n list-style: none;\n padding: 0;\n margin: 0;\n font-size: 12px;\n}\n.plugin__info-category {\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n &:not(:first-child) {\n $space: 16px;\n padding-block-start: $space;\n margin-block-start: $space;\n border-block-start: 1px solid var(--mer-border-color__on-elevation--01);\n }\n}\n.fields__list:not(.fields__list--as-tags) {\n display: flex;\n flex-direction: column;\n gap: 8px;\n .field__li {\n display: flex;\n gap: 16px;\n }\n}\n.fields__list--as-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n\n .field__li {\n border: 1px solid var(--mer-border-color__on-elevation--01);\n padding: 2px 8px;\n border-radius: 4px;\n\n text-transform: lowercase;\n }\n .field__link {\n color: var(--mer-text__on-surface);\n\n &:hover {\n color: var(--mer-accent__primary);\n }\n &:active {\n color: var(--mer-accent__primary--hover);\n }\n }\n}\n\n.field__name,\n.field__value {\n flex: 1;\n}\n// WA: Link styles should be defined Mercury\n.field__link {\n color: var(--mer-accent__primary);\n &:hover {\n color: var(--mer-accent__primary--hover);\n }\n &:active {\n color: var(--mer-accent__primary--active);\n }\n}\n// WA: Remove tab elevation background color\n.docsTab {\n background-color: transparent !important;\n}\n\n// WA: Styles for \"button-icon-only\" should be defined on mercury\n.dropdown.button-icon-only::part(expandable-button) {\n padding: calc(\n (\n var(--control__block-size) - 2 * var(--control__border-width) -\n var(--mer-icon__box--md)\n ) / 2\n ) !important;\n border-start-start-radius: 0 !important;\n border-end-start-radius: 0 !important;\n}\n\n.version-buttons-container {\n display: flex;\n align-items: center;\n gap: 1px;\n}\n\nch-markdown-viewer {\n block-size: 100%;\n overflow: auto;\n}\n\n// WA: Need text with underline. This should be defined on Mercury\n.text-underline {\n text-decoration: underline;\n}\n","import {\n Component,\n Host,\n State,\n Prop,\n Element,\n h,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\n\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ActionMenuModel, TabModel } from \"@genexus/chameleon-controls-library\";\nimport { TabItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/tab/types\";\n\nconst USER_ICON = getIconPath({\n category: \"system\",\n name: \"user\",\n colorType: \"on-elevation\"\n});\nconst CHEVRON_DOWN_ICON = getIconPath({\n category: \"system\",\n name: \"chevron-down\",\n colorType: \"on-primary\"\n});\nconst CHECK_CIRCLE_ICON = getIconPath({\n category: \"system\",\n name: \"check-circle\",\n colorType: \"success\"\n});\n\n// plugin icon if no iconUri was provided\nconst EXTENSION_ICON_IMG = getAssetPath(\n `./gx-ide-assets/plugin-manager/images/plugin-icon.svg`\n);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/button\",\n \"components/dropdown\",\n \"components/edit\",\n \"components/icon\",\n \"components/list-box\",\n \"components/tab\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\n@Component({\n tag: \"gx-ide-plugin-details\",\n styleUrl: \"plugin-details.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/plugin-details\"]\n})\nexport class GxIdePluginDetails {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n #chMarkdownViewer: HTMLChMarkdownViewerElement;\n\n // A map between docSection \"id\", and docSection \"description\".\n // \"id\" is generated inside this component.\n #docSectionIdDescriptionMap: Map<string, string> = new Map();\n\n @Element() el: HTMLGxIdePluginDetailsElement;\n\n @State() docsTabModel: TabModel = [];\n @State() selectedTabId: string;\n\n /**\n * Specifies all the information related to a plugin.\n */\n @Prop() readonly data!: PluginDetailsData;\n\n /**\n * Callback that should be invoked when the user performs the install or update action.\n * Receives an optional version string when a specific version is selected.\n */\n @Prop() readonly installCallback!: (version?: string) => Promise<void>;\n\n /**\n * Callback that should be invoked when the user attempts to open any link displayed in this component.\n */\n @Prop() readonly openLinkCallback!: (url: string) => Promise<void>;\n\n /**\n * Callback that should be invoked when the user performs the uninstall action.\n */\n @Prop() readonly uninstallCallback!: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n if (this.data.docSections?.length) {\n this.docsTabModel = this.data.docSections.map((docSection, i) => {\n const formatedId = this.#returnFormatedId(docSection.name);\n\n this.#docSectionIdDescriptionMap.set(formatedId, docSection.content);\n\n if (i === 0) {\n this.selectedTabId = formatedId;\n }\n return {\n id: formatedId,\n name: docSection.name\n } as TabItemModel;\n });\n }\n }\n\n componentDidLoad() {\n this.#chMarkdownViewer.addEventListener(\"click\", event => {\n // Listens for clicks on links inside <ch-markdown-viewer>.\n // If a link (<a>) is clicked and openLinkCallback is defined,\n // it prevents the default navigation and delegates the event\n // to this.#openLinkHandler, passing the link's href.\n const path = event.composedPath() as EventTarget[];\n\n const link = path.find(el => el instanceof HTMLAnchorElement) as\n | HTMLAnchorElement\n | undefined;\n\n if (link?.href) {\n this.#openLinkHandler(link.href)(event);\n }\n });\n }\n\n #versionsMenuOptionsModel = (): ActionMenuModel => {\n const versionsToUpdateMenusModel: ActionMenuModel = this.data.versions?.map(\n version => {\n return { id: version, caption: version };\n }\n );\n return versionsToUpdateMenusModel;\n };\n\n #menuVersionSelectedHandler = (\n event: CustomEvent<{\n id?: string;\n }>\n ) => {\n const selectedVersion = event.detail.id;\n this.installCallback(selectedVersion);\n };\n\n #renderUninstallButton = (): JSX.Element => {\n return (\n <button class=\"button-tertiary\" onClick={this.#uninstallClickedHandler}>\n {this.#componentLocale.actions.uninstall}\n </button>\n );\n };\n\n #installClickedHandler = () => {\n this.installCallback();\n };\n\n #updateVersionHandler = (id: string) => () => {\n this.installCallback(id);\n };\n\n #openLinkHandler = (link: string) => (event: MouseEvent) => {\n if (this.openLinkCallback) {\n event.preventDefault();\n this.openLinkCallback(link);\n }\n };\n\n #uninstallClickedHandler = () => {\n this.uninstallCallback();\n };\n\n #renderActionButtons = (): JSX.Element => {\n let actionButtonCaption;\n let actionButtonClasses = \"button-primary action-button\";\n let actionButtonCallback;\n const moreVersionsToUpdate = this.data.versions?.length;\n\n if (!this.data.installed) {\n actionButtonCaption = this.#componentLocale.actions.install;\n actionButtonCallback = this.#installClickedHandler;\n } else if (this.data.updateVersion) {\n actionButtonCaption = `${this.#componentLocale.actions.updateTo} ${\n this.data.updateVersion\n }`;\n actionButtonCallback = this.#updateVersionHandler(\n this.data.updateVersion\n );\n } else {\n actionButtonCaption = this.#componentLocale.actions.installed;\n }\n\n if (moreVersionsToUpdate) {\n actionButtonClasses = `${actionButtonClasses} more-versions-available`;\n }\n\n return [\n <div class=\"version-buttons-container\">\n <button class={actionButtonClasses} onClick={actionButtonCallback}>\n {actionButtonCaption}\n </button>\n {moreVersionsToUpdate ? (\n <ch-action-menu-render\n class=\"dropdown button-primary button-icon-only\"\n blockAlign=\"outside-end\"\n inlineAlign=\"inside-start\"\n model={this.#versionsMenuOptionsModel()}\n onButtonClick={this.#menuVersionSelectedHandler}\n >\n <ch-image src={CHEVRON_DOWN_ICON} class=\"icon-md\"></ch-image>\n </ch-action-menu-render>\n ) : null}\n </div>\n ];\n };\n\n #tabSelectionChangedHandler = (\n event: CustomEvent<{\n lastSelectedIndex: number;\n newSelectedId: string;\n newSelectedIndex: number;\n }>\n ): void => {\n this.selectedTabId = event.detail.newSelectedId;\n };\n\n #renderDocSectionsSlots = (): JSX.Element => {\n return this.docsTabModel.map(docSectionTab => {\n if (docSectionTab.id === this.selectedTabId) {\n const markdownValue = this.#docSectionIdDescriptionMap.get(\n docSectionTab.id\n );\n\n return (\n <ch-markdown-viewer\n ref={(el: HTMLChMarkdownViewerElement) =>\n (this.#chMarkdownViewer = el as HTMLChMarkdownViewerElement)\n }\n slot={docSectionTab.id}\n key={docSectionTab.id}\n class=\"markdown spacing-body scrollable\"\n theme=\"components/markdown-viewer\"\n value={markdownValue}\n ></ch-markdown-viewer>\n );\n }\n });\n };\n\n #returnFormatedId = (rawId: string): string => {\n return rawId.toLowerCase().replace(/\\s+/g, \"-\");\n };\n\n #renderLinkTag = (\n href: string,\n label: string,\n cssClass?: string,\n chImageSrc?: string\n ): HTMLAnchorElement => {\n return (\n <a\n href={href}\n target=\"_blank\"\n onClick={this.#openLinkHandler(href)}\n class={cssClass}\n >\n {chImageSrc && <ch-image src={chImageSrc} class=\"icon-md\"></ch-image>}\n {label}\n </a>\n );\n };\n\n #renderAsideContent = (): JSX.Element => {\n return this.data.infoCategories.map(infoCategory => {\n return (\n <div class=\"plugin__info-category\">\n <h3 class=\"subtitle-semi-bold-s\">{infoCategory.name}</h3>\n <ul\n class={{\n \"fields__list\": true,\n \"fields__list--as-tags\": infoCategory.displayAsTags\n }}\n >\n {infoCategory.fields.map(field => {\n // If the field name isn’t specified, only the value is shown — usually a link.\n const fieldValue: string | HTMLAnchorElement =\n typeof field.value === \"string\"\n ? (field.value as string)\n : this.#renderLinkTag(\n (field.value as LinkData).url,\n (field.value as LinkData).text,\n \"field__link\"\n );\n return (\n <li class=\"field__li\">\n {field.name && !infoCategory.displayAsTags\n ? // displaysAsTags forces the items to be displayed as tags\n // no span.field__name and span.field__value\n [\n <span class=\"field__name body-semi-bold-s\">\n {field.name}\n </span>,\n <span class=\"field__value body-regular-s\">\n {fieldValue}\n </span>\n ]\n : fieldValue}\n </li>\n );\n })}\n </ul>\n </div>\n );\n });\n };\n\n render() {\n const renderActionButtons =\n !this.data.installed ||\n (this.data.installed && !!this.data.updateVersion);\n\n const titleLinkDataText = (this.data.name as LinkData).text;\n const titleLinkDataUrl = (this.data.name as LinkData).url;\n const titleHasLink = titleLinkDataText && titleLinkDataUrl;\n const titleText = titleLinkDataText || this.data.name;\n\n const publisherDataText = (this.data.publisher as LinkData).text;\n const publisherDataUrl = (this.data.publisher as LinkData).url;\n const publisherHasLink = publisherDataText && publisherDataUrl;\n const publisherText = publisherDataText || this.data.publisher;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header class=\"header\">\n <img\n class=\"plugin__icon\"\n src={this.data.iconUrl || EXTENSION_ICON_IMG}\n alt=\"plugin extension icon\"\n />\n <div class=\"plugin__details\">\n {titleHasLink ? (\n <h2 class=\"heading-5 has-link\">\n {this.#renderLinkTag(\n titleLinkDataUrl,\n titleText as string,\n \"text-underline\"\n )}\n </h2>\n ) : (\n <h2 class=\"heading-5\">{titleText}</h2>\n )}\n {publisherHasLink ? (\n this.#renderLinkTag(\n publisherDataUrl,\n titleText as string,\n \"text-underline plugin__publisher tiny-semi-bold-l\",\n USER_ICON\n )\n ) : (\n <p class=\"plugin__publisher tiny-semi-bold-l\">\n <ch-image src={USER_ICON} class=\"icon-md\"></ch-image>\n {publisherText}\n </p>\n )}\n\n <p class=\"plugin__description\">{this.data.description}</p>\n <div class=\"buttons-spacer plugin__actions-container\">\n {renderActionButtons ? (\n this.#renderActionButtons()\n ) : (\n // installed and no updates\n <p class=\"installed-container subtitle-semi-bold-s\">\n <ch-image\n src={CHECK_CIRCLE_ICON}\n class=\"icon-md\"\n ></ch-image>\n {this.#componentLocale.actions.installed}\n </p>\n )}\n {this.data.installed && this.#renderUninstallButton()}\n </div>\n </div>\n </header>\n <div class=\"main\">\n {this.docsTabModel.length > 0 && (\n <ch-tab-render\n class=\"tab docsTab scrollable\"\n tabListPosition=\"block-start\"\n overflow=\"auto\"\n contain=\"size\"\n model={this.docsTabModel}\n onSelectedItemChange={this.#tabSelectionChangedHandler}\n selectedId={this.selectedTabId}\n >\n {this.#renderDocSectionsSlots()}\n </ch-tab-render>\n )}\n </div>\n <div class=\"aside spacing-body scrollable\">\n {this.#renderAsideContent()}\n </div>\n </section>\n {/* <slot></slot> */}\n </Host>\n );\n }\n}\n\n// plugin-details.types.ts\n\nexport type LinkData = {\n text: string;\n url: string;\n};\n\nexport type PluginFieldData = {\n name?: string;\n value: string | LinkData;\n};\n\nexport type PluginInfoCategoryData = {\n name: string;\n fields: PluginFieldData[];\n displayAsTags: boolean;\n};\n\nexport type DocSectionData = {\n name: string;\n content: string;\n};\n\nexport type PluginDetailsData = {\n id: string;\n name: string | LinkData;\n publisher: string | LinkData;\n installed: boolean;\n updateVersion?: string;\n versions: string[];\n iconUrl: string;\n description: string;\n docSections: DocSectionData[];\n infoCategories: PluginInfoCategoryData[];\n};\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-plugin-details.entry.js","mappings":"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","names":[],"sources":["src/components/plugin-details/plugin-details.scss?tag=gx-ide-plugin-details&encapsulation=shadow","src/components/plugin-details/plugin-details.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-areas:\n \"header header\"\n \"main aside\";\n grid-template-rows: max-content 1fr;\n grid-template-columns: 1fr 280px;\n row-gap: 12px;\n}\n\n.section {\n display: contents;\n}\n\n// header\n.header {\n display: grid;\n grid-area: header;\n grid-template-areas: \"plugin-icon plugin-details\";\n grid-template-columns: 64px 1fr;\n column-gap: 16px;\n padding: 24px 24px 16px 24px;\n}\n.plugin__icon {\n grid-area: plugin-icon;\n inline-size: 100%;\n block-size: auto;\n display: block;\n}\n.plugin__details {\n grid-area: plugin-details;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.plugin__publisher {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n.plugin__description {\n line-height: 1.5; // WA: Text appears too tight.\n}\n.plugin__actions-container {\n margin-block-start: 8px;\n align-items: center;\n}\n.action-button {\n min-inline-size: 100px;\n\n &.more-versions-available {\n border-start-end-radius: 0 !important;\n border-end-end-radius: 0 !important;\n }\n}\n.installed-container {\n display: flex;\n align-items: center;\n gap: 6px;\n\n // WA Biggest Mercury icon (icon-md) looks small in this case.\n // Mercury should expose more icon sizes.\n ch-image {\n --ch-image-size: 20px;\n }\n}\n\n// main\n.main {\n grid-area: main;\n}\n.docsTab {\n block-size: 100%;\n}\n\n// aside\n.aside {\n grid-area: aside;\n overflow: auto;\n border-block-start: 1px solid var(--items-container__border-color);\n}\n.fields__list {\n list-style: none;\n padding: 0;\n margin: 0;\n font-size: 12px;\n}\n.plugin__info-category {\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n &:not(:first-child) {\n $space: 16px;\n padding-block-start: $space;\n margin-block-start: $space;\n border-block-start: 1px solid var(--mer-border-color__on-elevation--01);\n }\n}\n.fields__list:not(.fields__list--as-tags) {\n display: flex;\n flex-direction: column;\n gap: 8px;\n .field__li {\n display: flex;\n gap: 16px;\n }\n}\n.fields__list--as-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n\n .field__li {\n border: 1px solid var(--mer-border-color__on-elevation--01);\n padding: 2px 8px;\n border-radius: 4px;\n\n text-transform: lowercase;\n }\n .field__link {\n color: var(--mer-text__on-surface);\n\n &:hover {\n color: var(--mer-accent__primary);\n }\n &:active {\n color: var(--mer-accent__primary--hover);\n }\n }\n}\n\n.field__name,\n.field__value {\n flex: 1;\n}\n// WA: Link styles should be defined Mercury\n.field__link {\n color: var(--mer-accent__primary);\n &:hover {\n color: var(--mer-accent__primary--hover);\n }\n &:active {\n color: var(--mer-accent__primary--active);\n }\n}\n// WA: Remove tab elevation background color\n.docsTab {\n background-color: transparent !important;\n}\n\n// WA: Styles for \"button-icon-only\" should be defined on mercury\n.dropdown.button-icon-only::part(expandable-button) {\n padding: calc(\n (\n var(--control__block-size) - 2 *\n var(--control__border-width) - var(--mer-icon__box--md)\n ) /\n 2\n ) !important;\n border-start-start-radius: 0 !important;\n border-end-start-radius: 0 !important;\n}\n\n.version-buttons-container {\n display: flex;\n align-items: center;\n gap: 1px;\n}\n\nch-markdown-viewer {\n block-size: 100%;\n overflow: auto;\n}\n\n// WA: Need text with underline. This should be defined on Mercury\n.text-underline {\n text-decoration: underline;\n}\n","import {\n Component,\n Host,\n State,\n Prop,\n Element,\n h,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\n\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ActionMenuModel, TabModel } from \"@genexus/chameleon-controls-library\";\nimport { TabItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/tab/types\";\n\nconst USER_ICON = getIconPath({\n category: \"system\",\n name: \"user\",\n colorType: \"on-elevation\"\n});\nconst CHEVRON_DOWN_ICON = getIconPath({\n category: \"system\",\n name: \"chevron-down\",\n colorType: \"on-primary\"\n});\nconst CHECK_CIRCLE_ICON = getIconPath({\n category: \"system\",\n name: \"check-circle\",\n colorType: \"success\"\n});\n\n// plugin icon if no iconUri was provided\nconst EXTENSION_ICON_IMG = getAssetPath(\n `./gx-ide-assets/plugin-manager/images/plugin-icon.svg`\n);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/button\",\n \"components/dropdown\",\n \"components/edit\",\n \"components/icon\",\n \"components/list-box\",\n \"components/tab\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\n@Component({\n tag: \"gx-ide-plugin-details\",\n styleUrl: \"plugin-details.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/plugin-details\"]\n})\nexport class GxIdePluginDetails {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n #chMarkdownViewer: HTMLChMarkdownViewerElement;\n\n // A map between docSection \"id\", and docSection \"description\".\n // \"id\" is generated inside this component.\n #docSectionIdDescriptionMap: Map<string, string> = new Map();\n\n @Element() el: HTMLGxIdePluginDetailsElement;\n\n @State() docsTabModel: TabModel = [];\n @State() selectedTabId: string;\n\n /**\n * Specifies all the information related to a plugin.\n */\n @Prop() readonly data!: PluginDetailsData;\n\n /**\n * Callback that should be invoked when the user performs the install or update action.\n * Receives an optional version string when a specific version is selected.\n */\n @Prop() readonly installCallback!: (version?: string) => Promise<void>;\n\n /**\n * Callback that should be invoked when the user attempts to open any link displayed in this component.\n */\n @Prop() readonly openLinkCallback!: (url: string) => Promise<void>;\n\n /**\n * Callback that should be invoked when the user performs the uninstall action.\n */\n @Prop() readonly uninstallCallback!: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n if (this.data.docSections?.length) {\n this.docsTabModel = this.data.docSections.map((docSection, i) => {\n const formatedId = this.#returnFormatedId(docSection.name);\n\n this.#docSectionIdDescriptionMap.set(formatedId, docSection.content);\n\n if (i === 0) {\n this.selectedTabId = formatedId;\n }\n return {\n id: formatedId,\n name: docSection.name\n } as TabItemModel;\n });\n }\n }\n\n componentDidLoad() {\n this.#chMarkdownViewer.addEventListener(\"click\", event => {\n // Listens for clicks on links inside <ch-markdown-viewer>.\n // If a link (<a>) is clicked and openLinkCallback is defined,\n // it prevents the default navigation and delegates the event\n // to this.#openLinkHandler, passing the link's href.\n const path = event.composedPath() as EventTarget[];\n\n const link = path.find(el => el instanceof HTMLAnchorElement) as\n | HTMLAnchorElement\n | undefined;\n\n if (link?.href) {\n this.#openLinkHandler(link.href)(event);\n }\n });\n }\n\n #versionsMenuOptionsModel = (): ActionMenuModel => {\n const versionsToUpdateMenusModel: ActionMenuModel = this.data.versions?.map(\n version => {\n return { id: version, caption: version };\n }\n );\n return versionsToUpdateMenusModel;\n };\n\n #menuVersionSelectedHandler = (\n event: CustomEvent<{\n id?: string;\n }>\n ) => {\n const selectedVersion = event.detail.id;\n this.installCallback(selectedVersion);\n };\n\n #renderUninstallButton = (): JSX.Element => {\n return (\n <button class=\"button-tertiary\" onClick={this.#uninstallClickedHandler}>\n {this.#componentLocale.actions.uninstall}\n </button>\n );\n };\n\n #installClickedHandler = () => {\n this.installCallback();\n };\n\n #updateVersionHandler = (id: string) => () => {\n this.installCallback(id);\n };\n\n #openLinkHandler = (link: string) => (event: MouseEvent) => {\n if (this.openLinkCallback) {\n event.preventDefault();\n this.openLinkCallback(link);\n }\n };\n\n #uninstallClickedHandler = () => {\n this.uninstallCallback();\n };\n\n #renderActionButtons = (): JSX.Element => {\n let actionButtonCaption;\n let actionButtonClasses = \"button-primary action-button\";\n let actionButtonCallback;\n const moreVersionsToUpdate = this.data.versions?.length;\n\n if (!this.data.installed) {\n actionButtonCaption = this.#componentLocale.actions.install;\n actionButtonCallback = this.#installClickedHandler;\n } else if (this.data.updateVersion) {\n actionButtonCaption = `${this.#componentLocale.actions.updateTo} ${\n this.data.updateVersion\n }`;\n actionButtonCallback = this.#updateVersionHandler(\n this.data.updateVersion\n );\n } else {\n actionButtonCaption = this.#componentLocale.actions.installed;\n }\n\n if (moreVersionsToUpdate) {\n actionButtonClasses = `${actionButtonClasses} more-versions-available`;\n }\n\n return [\n <div class=\"version-buttons-container\">\n <button class={actionButtonClasses} onClick={actionButtonCallback}>\n {actionButtonCaption}\n </button>\n {moreVersionsToUpdate ? (\n <ch-action-menu-render\n class=\"dropdown button-primary button-icon-only\"\n blockAlign=\"outside-end\"\n inlineAlign=\"inside-start\"\n model={this.#versionsMenuOptionsModel()}\n onButtonClick={this.#menuVersionSelectedHandler}\n >\n <ch-image src={CHEVRON_DOWN_ICON} class=\"icon-md\"></ch-image>\n </ch-action-menu-render>\n ) : null}\n </div>\n ];\n };\n\n #tabSelectionChangedHandler = (\n event: CustomEvent<{\n lastSelectedIndex: number;\n newSelectedId: string;\n newSelectedIndex: number;\n }>\n ): void => {\n this.selectedTabId = event.detail.newSelectedId;\n };\n\n #renderDocSectionsSlots = (): JSX.Element => {\n return this.docsTabModel.map(docSectionTab => {\n if (docSectionTab.id === this.selectedTabId) {\n const markdownValue = this.#docSectionIdDescriptionMap.get(\n docSectionTab.id\n );\n\n return (\n <ch-markdown-viewer\n ref={(el: HTMLChMarkdownViewerElement) =>\n (this.#chMarkdownViewer = el as HTMLChMarkdownViewerElement)\n }\n slot={docSectionTab.id}\n key={docSectionTab.id}\n class=\"markdown spacing-body scrollable\"\n theme=\"components/markdown-viewer\"\n value={markdownValue}\n ></ch-markdown-viewer>\n );\n }\n });\n };\n\n #returnFormatedId = (rawId: string): string => {\n return rawId.toLowerCase().replace(/\\s+/g, \"-\");\n };\n\n #renderLinkTag = (\n href: string,\n label: string,\n cssClass?: string,\n chImageSrc?: string\n ): HTMLAnchorElement => {\n return (\n <a\n href={href}\n target=\"_blank\"\n onClick={this.#openLinkHandler(href)}\n class={cssClass}\n >\n {chImageSrc && <ch-image src={chImageSrc} class=\"icon-md\"></ch-image>}\n {label}\n </a>\n );\n };\n\n #renderAsideContent = (): JSX.Element => {\n return this.data.infoCategories.map(infoCategory => {\n return (\n <div class=\"plugin__info-category\">\n <h3 class=\"subtitle-semi-bold-s\">{infoCategory.name}</h3>\n <ul\n class={{\n \"fields__list\": true,\n \"fields__list--as-tags\": infoCategory.displayAsTags\n }}\n >\n {infoCategory.fields.map(field => {\n // If the field name isn’t specified, only the value is shown — usually a link.\n const fieldValue: string | HTMLAnchorElement =\n typeof field.value === \"string\"\n ? (field.value as string)\n : this.#renderLinkTag(\n (field.value as LinkData).url,\n (field.value as LinkData).text,\n \"field__link\"\n );\n return (\n <li class=\"field__li\">\n {field.name && !infoCategory.displayAsTags\n ? // displaysAsTags forces the items to be displayed as tags\n // no span.field__name and span.field__value\n [\n <span class=\"field__name body-semi-bold-s\">\n {field.name}\n </span>,\n <span class=\"field__value body-regular-s\">\n {fieldValue}\n </span>\n ]\n : fieldValue}\n </li>\n );\n })}\n </ul>\n </div>\n );\n });\n };\n\n render() {\n const renderActionButtons =\n !this.data.installed ||\n (this.data.installed && !!this.data.updateVersion);\n\n const titleLinkDataText = (this.data.name as LinkData).text;\n const titleLinkDataUrl = (this.data.name as LinkData).url;\n const titleHasLink = titleLinkDataText && titleLinkDataUrl;\n const titleText = titleLinkDataText || this.data.name;\n\n const publisherDataText = (this.data.publisher as LinkData).text;\n const publisherDataUrl = (this.data.publisher as LinkData).url;\n const publisherHasLink = publisherDataText && publisherDataUrl;\n const publisherText = publisherDataText || this.data.publisher;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header class=\"header\">\n <img\n class=\"plugin__icon\"\n src={this.data.iconUrl || EXTENSION_ICON_IMG}\n alt=\"plugin extension icon\"\n />\n <div class=\"plugin__details\">\n {titleHasLink ? (\n <h2 class=\"heading-5 has-link\">\n {this.#renderLinkTag(\n titleLinkDataUrl,\n titleText as string,\n \"text-underline\"\n )}\n </h2>\n ) : (\n <h2 class=\"heading-5\">{titleText}</h2>\n )}\n {publisherHasLink ? (\n this.#renderLinkTag(\n publisherDataUrl,\n titleText as string,\n \"text-underline plugin__publisher tiny-semi-bold-l\",\n USER_ICON\n )\n ) : (\n <p class=\"plugin__publisher tiny-semi-bold-l\">\n <ch-image src={USER_ICON} class=\"icon-md\"></ch-image>\n {publisherText}\n </p>\n )}\n\n <p class=\"plugin__description\">{this.data.description}</p>\n <div class=\"buttons-spacer plugin__actions-container\">\n {renderActionButtons ? (\n this.#renderActionButtons()\n ) : (\n // installed and no updates\n <p class=\"installed-container subtitle-semi-bold-s\">\n <ch-image\n src={CHECK_CIRCLE_ICON}\n class=\"icon-md\"\n ></ch-image>\n {this.#componentLocale.actions.installed}\n </p>\n )}\n {this.data.installed && this.#renderUninstallButton()}\n </div>\n </div>\n </header>\n <div class=\"main\">\n {this.docsTabModel.length > 0 && (\n <ch-tab-render\n class=\"tab docsTab scrollable\"\n tabListPosition=\"block-start\"\n overflow=\"auto\"\n contain=\"size\"\n model={this.docsTabModel}\n onSelectedItemChange={this.#tabSelectionChangedHandler}\n selectedId={this.selectedTabId}\n >\n {this.#renderDocSectionsSlots()}\n </ch-tab-render>\n )}\n </div>\n <div class=\"aside spacing-body scrollable\">\n {this.#renderAsideContent()}\n </div>\n </section>\n {/* <slot></slot> */}\n </Host>\n );\n }\n}\n\n// plugin-details.types.ts\n\nexport type LinkData = {\n text: string;\n url: string;\n};\n\nexport type PluginFieldData = {\n name?: string;\n value: string | LinkData;\n};\n\nexport type PluginInfoCategoryData = {\n name: string;\n fields: PluginFieldData[];\n displayAsTags: boolean;\n};\n\nexport type DocSectionData = {\n name: string;\n content: string;\n};\n\nexport type PluginDetailsData = {\n id: string;\n name: string | LinkData;\n publisher: string | LinkData;\n installed: boolean;\n updateVersion?: string;\n versions: string[];\n iconUrl: string;\n description: string;\n docSections: DocSectionData[];\n infoCategories: PluginInfoCategoryData[];\n};\n"],"version":3}
|
|
@@ -241,7 +241,7 @@ const GxIdeReferences = class {
|
|
|
241
241
|
}, __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").header.selectObject), h("ch-combo-box-render", { accessibleName: __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").header.selectObject, class: "combo-box", model: this.objectsSuggestions, suggest: true, onInput: __classPrivateFieldGet(this, _GxIdeReferences_selectObjectInputHandler, "f"), onChange: __classPrivateFieldGet(this, _GxIdeReferences_selectObjectChangedHandler, "f"), value: (_a = this.selectedObject) === null || _a === void 0 ? void 0 : _a.name, part: "object-selector-suggest", suggestOptions: SUGGEST_OPTIONS, ref: (el) => (__classPrivateFieldSet(this, _GxIdeReferences_selectObjectSuggestEl, el, "f")) })), h("button", { type: "button", class: "button-tertiary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").header.openSelectorButton, onClick: __classPrivateFieldGet(this, _GxIdeReferences_openSelectorDialogCallbackHandler, "f"), part: "open-selector-dialog-button" }, h("ch-image", { class: "icon-md", src: GEMINI_TOOLS_SHOW_MORE_HORIZONTAL, containerRef: this.el }))), h("div", { class: {
|
|
242
242
|
"header__bottom": true,
|
|
243
243
|
"header__bottom--hidden": this.barHidden
|
|
244
|
-
} }, h("div", { class: "outer-wrapper" }, h("div", { class: "inner-wrapper" }, h("div", { class: "inner-wrapper__left" }, h("ch-image", { class: "icon-md", src: this.selectedObject.icon, containerRef: this.el }), h("a", { class: "text-link", onClick: __classPrivateFieldGet(this, _GxIdeReferences_openObjectCallbackHandler, "f"), part: "open-object-text-link", "aria-label": __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").main.selectedObjectLink }, `${(_b = this.selectedObject) === null || _b === void 0 ? void 0 : _b.name} : ${(_c = this.selectedObject) === null || _c === void 0 ? void 0 : _c.description}`)))))), h("div", { class: "main" }, h("section", { class: "section__referenced-by" }, h("h2", { class: "control-header control-header-with-border control-header__referenced-by heading-5 text-align-center spacing-body-inline" }, __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").main.isReferencedBy), h("div", {
|
|
244
|
+
} }, h("div", { class: "outer-wrapper" }, h("div", { class: "inner-wrapper" }, h("div", { class: "inner-wrapper__left" }, h("ch-image", { class: "icon-md", src: this.selectedObject.icon, containerRef: this.el }), h("a", { class: "text-link", onClick: __classPrivateFieldGet(this, _GxIdeReferences_openObjectCallbackHandler, "f"), part: "open-object-text-link", "aria-label": __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").main.selectedObjectLink }, `${(_b = this.selectedObject) === null || _b === void 0 ? void 0 : _b.name} : ${(_c = this.selectedObject) === null || _c === void 0 ? void 0 : _c.description}`)))))), h("div", { class: "main" }, h("section", { class: "section__referenced-by" }, h("h2", { class: "control-header control-header-with-border control-header__referenced-by heading-5 text-align-center spacing-body-inline subtitle-regular-xs" }, __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").main.isReferencedBy), h("div", {
|
|
245
245
|
// is referenced by
|
|
246
246
|
class: "main__referenced-by spacing-body-block-start spacing-body-block-end"
|
|
247
247
|
}, h("ch-tree-view-render", { class: {
|
|
@@ -249,7 +249,7 @@ const GxIdeReferences = class {
|
|
|
249
249
|
"tree-view": true
|
|
250
250
|
}, part: "referenced-by-tree", model: this.referencedByTreeData, "aria-label": __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").main.referencedByTreeAccessible, lazyLoadTreeItemsCallback: __classPrivateFieldGet(this, _GxIdeReferences_referencesLazyLoadCallbackHandler, "f").call(this, "referenced-by"), onSelectedItemsChange: __classPrivateFieldGet(this, _GxIdeReferences_referenceSelectedHandler, "f"), dragDisabled: true, dropDisabled: true, onItemOpenReference: __classPrivateFieldGet(this, _GxIdeReferences_referencesItemOpenReferenceCallback, "f"), showLines: "last" }), !((_e = this.referencedByTreeData) === null || _e === void 0 ? void 0 : _e.length) && (h("gx-ide-empty-state", { stateTitle: ((_f = this.referencedByTreeData) === null || _f === void 0 ? void 0 : _f.length) === 0
|
|
251
251
|
? __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").main.isReferencedByEmpty
|
|
252
|
-
: __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").main.isReferencedByError })))), h("section", { class: "section__references-to" }, h("h2", { class: "control-header control-header-with-border control-header__references-to heading-5 text-align-center spacing-body-inline" }, __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").main.hasReferencesTo), h("div", {
|
|
252
|
+
: __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").main.isReferencedByError })))), h("section", { class: "section__references-to" }, h("h2", { class: "control-header control-header-with-border control-header__references-to heading-5 text-align-center spacing-body-inline subtitle-regular-xs" }, __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").main.hasReferencesTo), h("div", {
|
|
253
253
|
// has references to
|
|
254
254
|
class: "main__references-to spacing-body-block-start spacing-body-block-end"
|
|
255
255
|
}, h("ch-tree-view-render", { class: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-references.entry.js","mappings":"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","names":[],"sources":["src/components/references/helpers.ts","src/components/references/references.scss?tag=gx-ide-references&encapsulation=shadow","src/components/references/references.tsx"],"sourcesContent":["/* Tree View */\nimport {\n ComboBoxModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\n\n/* References Types*/\nimport { ObjectData, SelectorCategoryData } from \"./references\";\nimport { ReferenceData } from \"./references\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n\n/**\n * @description This function converts SelectorCategoryData[] SuggestData\n */\n\nconst convertToTreeItem = (item: ReferenceData): TreeViewItemModel => ({\n caption: item.name,\n id: item.id,\n items: (item.items ?? []).map(convertToTreeItem),\n lazy: item.hasChildren && (item.items == null || item.items.length === 0),\n leaf: item.hasChildren === false,\n startImgSrc: item.icon\n});\n\n/**\n * @description This function converts ReferenceData[] data to TreeItemData[]\n */\nexport const convertReferenceDataToTreeViewData = (\n referenceData: ReferenceData[] | undefined\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!referenceData) {\n return treeData;\n }\n\n referenceData.forEach(item => {\n treeData.push(convertToTreeItem(item));\n });\n return treeData;\n};\n\nexport const mapObjectDataToComboBoxItemModel = (\n options: ObjectData[]\n): ComboBoxModel => {\n return options.map(option => {\n return {\n value: option.id,\n caption: option.name,\n startImgSrc: option.icon ?? \"\"\n };\n });\n};\n\nexport const mapSelectorCategoryDataToComboBoxModel = (\n categoryData: SelectorCategoryData[]\n): ComboBoxModel => {\n return categoryData.map((category: SelectorCategoryData) => {\n const mappedGroup: ComboBoxItemModel = {\n value: category.name,\n caption: category.name,\n expandable: true,\n expanded: true,\n items: category.items.map((item: ObjectData) => ({\n value: item.id,\n caption: item.description,\n startImgSrc: item.icon\n }))\n };\n\n return mappedGroup;\n });\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr;\n}\n.section {\n display: contents;\n}\n\n.header {\n /*Top*/\n &__top {\n grid-template-columns: max-content 1fr max-content;\n }\n /*Bottom*/\n &__bottom {\n display: grid;\n grid-template-rows: 1fr;\n transition: var(--mer-timing--fast) grid-template-rows;\n &--hidden {\n grid-template-rows: 0fr;\n }\n\n .outer-wrapper {\n overflow: hidden;\n }\n\n .inner-wrapper {\n padding-top: var(--content-block-spacing);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &__left {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-row-gap);\n }\n }\n }\n}\n\n.main {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n.section__referenced-by,\n.section__references-to {\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n.control-header__referenced-by,\n.control-header__references-to {\n padding-block-start: var(--mer-spacing--md);\n}\n.main__referenced-by,\n.main__references-to {\n grid-auto-rows: max-content;\n overflow: auto;\n}\n.main__referenced-by {\n border-inline-end: var(--section-common-border);\n}\n\n.text-align-center {\n text-align: center;\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport {\n ChComboBoxRenderCustomEvent,\n ComboBoxModel,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport {\n convertReferenceDataToTreeViewData,\n mapSelectorCategoryDataToComboBoxModel\n} from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/pills\",\n \"components/combo-box\",\n \"components/icon\",\n \"components/checkbox\",\n \"components/tree-view\",\n \"utils/spacing\",\n \"utils/layout\",\n \"utils/form\",\n \"utils/typography\"\n];\n\nconst GEMINI_TOOLS_SHOW_MORE_HORIZONTAL = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst NAVIGATION_ARROW_DOWN_SKY_BLUE = getIconPath({\n category: \"navigation\",\n name: \"arrow-down-skyblue\",\n colorType: \"primary\"\n});\n\nconst SUGGEST_OPTIONS = {\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false,\n renderActiveItemIconOnExpand: true\n};\n\n@Component({\n tag: \"gx-ide-references\",\n styleUrl: \"references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/references\"]\n})\nexport class GxIdeReferences {\n #objectDataMap: objectDataMap = new Map();\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/references/shortcuts.json`);\n #_componentLocale: any;\n\n @Element() el: HTMLGxIdeReferencesElement;\n #selectObjectSuggestEl!: HTMLChComboBoxRenderElement;\n\n /**\n * Displays or hides the header-bottom section\n */\n @State() barHidden = false;\n\n /**\n * Objects suggestions that will appear on the suggest\n */\n @State() objectsSuggestions: ComboBoxModel;\n\n @State() referencedByTreeData: TreeViewItemModel[];\n\n @State() referencesToTreeData: TreeViewItemModel[];\n\n /**\n * Callback invoked when a node is expanded in any references panels\n */\n @Prop() readonly loadReferencesCallback?: LoadReferencesCallback;\n\n /**\n * Callback invoked when user wants to open an object\n */\n @Prop() readonly openObjectCallback?: OpenObjectCallback;\n\n /**\n * Callback invoked when user wants to show object selection dialog\n */\n @Prop() readonly openSelectorDialogCallback?: OpenSelectorDialogCallback;\n\n /**\n * Callback invoked when any item from the references panels is selected\n */\n @Prop() readonly selectReferenceCallback?: SelectReferenceCallback;\n\n /**\n * Callback invoked when user writes on object selector input\n */\n @Prop() readonly selectorSourceCallback?: SelectorSourceCallback;\n\n /**\n * Currently selected object\n */\n @Prop({ mutable: true }) selectedObject?: ObjectData;\n\n @Watch(\"selectedObject\")\n selectedObjectChanged(newSelectedObject: ObjectData) {\n if (newSelectedObject?.id) {\n /* update \"is referenced by*/\n this.#loadReferencesHandler(newSelectedObject.id, false);\n /* update \"has references to*/\n this.#loadReferencesHandler(newSelectedObject.id, true);\n }\n }\n\n componentDidLoad() {\n this.#selectObjectSuggestEl.focus();\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#evaluateInitialReferenceData();\n }\n\n /**\n * Evaluates whether to call loadReferencesCallback based on the presence of a selected object.\n */\n #evaluateInitialReferenceData = () => {\n if (this.selectedObject) {\n this.selectedObjectChanged(this.selectedObject);\n }\n };\n\n /**\n * Hides or shows the bar (the bottom section of the header).\n */\n #hideBarButtonClickedHandler = () => {\n this.barHidden = !this.barHidden;\n };\n\n /**\n * Invokes 'loadReferencesCallback' for 'Is Referenced By' and 'Has References To' panels.\n */\n #loadReferencesHandler = async (id: string, to = false) => {\n if (this.loadReferencesCallback) {\n this.loadReferencesCallback(id, to).then(result => {\n if (to) {\n this.referencesToTreeData =\n convertReferenceDataToTreeViewData(result);\n } else {\n this.referencedByTreeData =\n convertReferenceDataToTreeViewData(result);\n }\n });\n }\n };\n\n #openObjectCallbackHandler = () => {\n // Returns an empty Promise\n this.openObjectCallback(this.selectedObject?.id);\n };\n\n /**\n * Fired when user clicks the ch-suggest button (...)\n */\n #openSelectorDialogCallbackHandler = async () => {\n const objectDataResult = await this.openSelectorDialogCallback();\n if (objectDataResult) {\n this.selectedObject = objectDataResult;\n }\n };\n\n #referenceSelectedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n if (this.selectReferenceCallback) {\n const selectedItems: string[] = event.detail.map(item => item.item.id);\n this.selectReferenceCallback(selectedItems[0]);\n // returns void\n }\n };\n\n #referencesItemOpenReferenceCallback = (\n itemOpened: CustomEvent<{ id: string; leaf: boolean; metadata: string }>\n ) => {\n const itemId = itemOpened.detail.id;\n if (this.openObjectCallback) {\n this.openObjectCallback(itemId);\n // returns void\n }\n };\n\n #referencesLazyLoadCallbackHandler =\n (ref: \"references-to\" | \"referenced-by\") =>\n async (treeItemId: string): Promise<TreeViewItemModel[]> => {\n if (this.loadReferencesCallback) {\n const to = ref === \"references-to\";\n const referencesLazyChildren = await this.loadReferencesCallback(\n treeItemId,\n to\n );\n const treeLazyChildren = convertReferenceDataToTreeViewData(\n referencesLazyChildren\n );\n return new Promise(resolve => {\n resolve(treeLazyChildren);\n });\n }\n return new Promise(resolve => {\n resolve([]);\n });\n };\n\n #selectObjectChangedHandler = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n const newSelectedValue = event.detail as string;\n\n const objectData = this.#objectDataMap.get(newSelectedValue);\n if (objectData) {\n this.selectedObject = objectData;\n }\n };\n\n #selectObjectInputHandler = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n // WA to know if the event was from searching on the input or an item selection.\n // const partValue = (e.target as HTMLElement).getAttribute(\"part\");\n const typedValue = event.detail as string;\n if (this.selectorSourceCallback) {\n this.selectorSourceCallback(typedValue).then(\n selectorCategoryDataArray => {\n // update map\n this.#objectDataMap.clear();\n selectorCategoryDataArray?.forEach(selectorCategoryData => {\n selectorCategoryData.items.forEach(objectData => {\n this.#objectDataMap.set(objectData.description, {\n id: objectData.id,\n typeName: objectData.typeName,\n icon: objectData.icon,\n name: objectData.name,\n description: objectData.description\n });\n });\n });\n\n this.objectsSuggestions = mapSelectorCategoryDataToComboBoxModel(\n selectorCategoryDataArray\n );\n }\n );\n }\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start\">\n <div class=\"header__top field-group\">\n <button\n type=\"button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.header.toggleBar}\n part=\"toggle-bar-button\"\n onClick={this.#hideBarButtonClickedHandler}\n >\n <ch-image\n class=\"icon-md\"\n src={NAVIGATION_ARROW_DOWN_SKY_BLUE}\n containerRef={this.el}\n ></ch-image>\n </button>\n\n <div class=\"field field-inline\">\n <label\n // select object\n class=\"label\"\n part=\"select-object-label\"\n htmlFor=\"object-selector-suggest\"\n >\n {this.#_componentLocale.header.selectObject}\n </label>\n <ch-combo-box-render\n accessibleName={this.#_componentLocale.header.selectObject}\n class=\"combo-box\"\n model={this.objectsSuggestions}\n suggest\n onInput={this.#selectObjectInputHandler}\n onChange={this.#selectObjectChangedHandler}\n value={this.selectedObject?.name}\n part=\"object-selector-suggest\"\n suggestOptions={SUGGEST_OPTIONS}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#selectObjectSuggestEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <button\n type=\"button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.header.openSelectorButton}\n onClick={this.#openSelectorDialogCallbackHandler}\n part=\"open-selector-dialog-button\"\n >\n <ch-image\n class=\"icon-md\"\n src={GEMINI_TOOLS_SHOW_MORE_HORIZONTAL}\n containerRef={this.el}\n ></ch-image>\n </button>\n </div>\n\n <div\n class={{\n \"header__bottom\": true,\n \"header__bottom--hidden\": this.barHidden\n }}\n >\n <div class=\"outer-wrapper\">\n <div class=\"inner-wrapper\">\n <div class=\"inner-wrapper__left\">\n <ch-image\n class=\"icon-md\"\n src={this.selectedObject.icon}\n containerRef={this.el}\n ></ch-image>\n <a\n class=\"text-link\"\n onClick={this.#openObjectCallbackHandler}\n part=\"open-object-text-link\"\n aria-label={\n this.#_componentLocale.main.selectedObjectLink\n }\n >\n {`${this.selectedObject?.name} : ${this.selectedObject?.description}`}\n </a>\n </div>\n {/* <div class=\"inner-wrapper__right\">\n TODO: Add this feature \"Group References by Type\".\n <ch-checkbox\n class=\"checkbox\"\n id=\"references-by-type\"\n part=\"references-type-checkbox\"\n checkedValue=\"referencesByType\"\n caption=\"Group references by type\"\n ></ch-checkbox>\n </div> */}\n </div>\n </div>\n </div>\n </header>\n <div class=\"main\">\n <section class=\"section__referenced-by\">\n <h2 class=\"control-header control-header-with-border control-header__referenced-by heading-5 text-align-center spacing-body-inline\">\n {this.#_componentLocale.main.isReferencedBy}\n </h2>\n\n <div\n // is referenced by\n class=\"main__referenced-by spacing-body-block-start spacing-body-block-end\"\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencedByTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-by-tree\"\n model={this.referencedByTreeData}\n aria-label={\n this.#_componentLocale.main.referencedByTreeAccessible\n }\n lazyLoadTreeItemsCallback={this.#referencesLazyLoadCallbackHandler(\n \"referenced-by\"\n )}\n onSelectedItemsChange={this.#referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.#referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencedByTreeData?.length && (\n <gx-ide-empty-state\n stateTitle={\n this.referencedByTreeData?.length === 0\n ? this.#_componentLocale.main.isReferencedByEmpty\n : this.#_componentLocale.main.isReferencedByError\n }\n ></gx-ide-empty-state>\n )}\n </div>\n </section>\n\n <section class=\"section__references-to\">\n <h2 class=\"control-header control-header-with-border control-header__references-to heading-5 text-align-center spacing-body-inline\">\n {this.#_componentLocale.main.hasReferencesTo}\n </h2>\n\n <div\n // has references to\n class=\"main__references-to spacing-body-block-start spacing-body-block-end\"\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencesToTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-to-tree\"\n model={this.referencesToTreeData}\n aria-label={\n this.#_componentLocale.main.referencesToTreeAccessible\n }\n lazyLoadTreeItemsCallback={this.#referencesLazyLoadCallbackHandler(\n \"references-to\"\n )}\n onSelectedItemsChange={this.#referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.#referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencesToTreeData?.length && (\n <gx-ide-empty-state\n stateTitle={\n this.referencesToTreeData?.length === 0\n ? this.#_componentLocale.main.hasReferencesEmpty\n : this.#_componentLocale.main.hasReferencesToError\n }\n ></gx-ide-empty-state>\n )}\n </div>\n </section>\n </div>\n </section>\n\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type LoadReferencesCallback = (\n id: string,\n to: boolean\n) => Promise<ReferenceData[]>;\n\nexport type ObjectData = {\n id: string;\n typeName: string;\n icon: string;\n name: string;\n description?: string;\n};\n\nexport type OpenObjectCallback = (id: string) => Promise<void>;\n\nexport type OpenSelectorDialogCallback = () => Promise<ObjectData | undefined>;\n\nexport type ReferenceData = ObjectData & {\n hasChildren: boolean;\n items?: ReferenceData[];\n};\n\nexport type SelectReferenceCallback = (id: string) => Promise<void>;\n\nexport type SelectorCategoryData = {\n name: string;\n items: ObjectData[];\n};\n\nexport type SelectorSourceCallback = (\n prefix: string\n) => Promise<SelectorCategoryData[]>;\n\nexport type objectDataMap = Map<string, ObjectData>;\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-references.entry.js","mappings":"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","names":[],"sources":["src/components/references/helpers.ts","src/components/references/references.scss?tag=gx-ide-references&encapsulation=shadow","src/components/references/references.tsx"],"sourcesContent":["/* Tree View */\nimport {\n ComboBoxModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\n\n/* References Types*/\nimport { ObjectData, SelectorCategoryData } from \"./references\";\nimport { ReferenceData } from \"./references\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n\n/**\n * @description This function converts SelectorCategoryData[] SuggestData\n */\n\nconst convertToTreeItem = (item: ReferenceData): TreeViewItemModel => ({\n caption: item.name,\n id: item.id,\n items: (item.items ?? []).map(convertToTreeItem),\n lazy: item.hasChildren && (item.items == null || item.items.length === 0),\n leaf: item.hasChildren === false,\n startImgSrc: item.icon\n});\n\n/**\n * @description This function converts ReferenceData[] data to TreeItemData[]\n */\nexport const convertReferenceDataToTreeViewData = (\n referenceData: ReferenceData[] | undefined\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!referenceData) {\n return treeData;\n }\n\n referenceData.forEach(item => {\n treeData.push(convertToTreeItem(item));\n });\n return treeData;\n};\n\nexport const mapObjectDataToComboBoxItemModel = (\n options: ObjectData[]\n): ComboBoxModel => {\n return options.map(option => {\n return {\n value: option.id,\n caption: option.name,\n startImgSrc: option.icon ?? \"\"\n };\n });\n};\n\nexport const mapSelectorCategoryDataToComboBoxModel = (\n categoryData: SelectorCategoryData[]\n): ComboBoxModel => {\n return categoryData.map((category: SelectorCategoryData) => {\n const mappedGroup: ComboBoxItemModel = {\n value: category.name,\n caption: category.name,\n expandable: true,\n expanded: true,\n items: category.items.map((item: ObjectData) => ({\n value: item.id,\n caption: item.description,\n startImgSrc: item.icon\n }))\n };\n\n return mappedGroup;\n });\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr;\n}\n.section {\n display: contents;\n}\n\n.header {\n /*Top*/\n &__top {\n grid-template-columns: max-content 1fr max-content;\n }\n /*Bottom*/\n &__bottom {\n display: grid;\n grid-template-rows: 1fr;\n transition: var(--mer-timing--fast) grid-template-rows;\n &--hidden {\n grid-template-rows: 0fr;\n }\n\n .outer-wrapper {\n overflow: hidden;\n }\n\n .inner-wrapper {\n padding-top: var(--content-block-spacing);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &__left {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-row-gap);\n }\n }\n }\n}\n\n.main {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n.section__referenced-by,\n.section__references-to {\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n.control-header__referenced-by,\n.control-header__references-to {\n padding-block-start: var(--mer-spacing--md);\n}\n.main__referenced-by,\n.main__references-to {\n grid-auto-rows: max-content;\n overflow: auto;\n}\n.main__referenced-by {\n border-inline-end: var(--section-common-border);\n}\n\n.text-align-center {\n text-align: center;\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport {\n ChComboBoxRenderCustomEvent,\n ComboBoxModel,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport {\n convertReferenceDataToTreeViewData,\n mapSelectorCategoryDataToComboBoxModel\n} from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/pills\",\n \"components/combo-box\",\n \"components/icon\",\n \"components/checkbox\",\n \"components/tree-view\",\n \"utils/spacing\",\n \"utils/layout\",\n \"utils/form\",\n \"utils/typography\"\n];\n\nconst GEMINI_TOOLS_SHOW_MORE_HORIZONTAL = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst NAVIGATION_ARROW_DOWN_SKY_BLUE = getIconPath({\n category: \"navigation\",\n name: \"arrow-down-skyblue\",\n colorType: \"primary\"\n});\n\nconst SUGGEST_OPTIONS = {\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false,\n renderActiveItemIconOnExpand: true\n};\n\n@Component({\n tag: \"gx-ide-references\",\n styleUrl: \"references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/references\"]\n})\nexport class GxIdeReferences {\n #objectDataMap: objectDataMap = new Map();\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/references/shortcuts.json`);\n #_componentLocale: any;\n\n @Element() el: HTMLGxIdeReferencesElement;\n #selectObjectSuggestEl!: HTMLChComboBoxRenderElement;\n\n /**\n * Displays or hides the header-bottom section\n */\n @State() barHidden = false;\n\n /**\n * Objects suggestions that will appear on the suggest\n */\n @State() objectsSuggestions: ComboBoxModel;\n\n @State() referencedByTreeData: TreeViewItemModel[];\n\n @State() referencesToTreeData: TreeViewItemModel[];\n\n /**\n * Callback invoked when a node is expanded in any references panels\n */\n @Prop() readonly loadReferencesCallback?: LoadReferencesCallback;\n\n /**\n * Callback invoked when user wants to open an object\n */\n @Prop() readonly openObjectCallback?: OpenObjectCallback;\n\n /**\n * Callback invoked when user wants to show object selection dialog\n */\n @Prop() readonly openSelectorDialogCallback?: OpenSelectorDialogCallback;\n\n /**\n * Callback invoked when any item from the references panels is selected\n */\n @Prop() readonly selectReferenceCallback?: SelectReferenceCallback;\n\n /**\n * Callback invoked when user writes on object selector input\n */\n @Prop() readonly selectorSourceCallback?: SelectorSourceCallback;\n\n /**\n * Currently selected object\n */\n @Prop({ mutable: true }) selectedObject?: ObjectData;\n\n @Watch(\"selectedObject\")\n selectedObjectChanged(newSelectedObject: ObjectData) {\n if (newSelectedObject?.id) {\n /* update \"is referenced by*/\n this.#loadReferencesHandler(newSelectedObject.id, false);\n /* update \"has references to*/\n this.#loadReferencesHandler(newSelectedObject.id, true);\n }\n }\n\n componentDidLoad() {\n this.#selectObjectSuggestEl.focus();\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#evaluateInitialReferenceData();\n }\n\n /**\n * Evaluates whether to call loadReferencesCallback based on the presence of a selected object.\n */\n #evaluateInitialReferenceData = () => {\n if (this.selectedObject) {\n this.selectedObjectChanged(this.selectedObject);\n }\n };\n\n /**\n * Hides or shows the bar (the bottom section of the header).\n */\n #hideBarButtonClickedHandler = () => {\n this.barHidden = !this.barHidden;\n };\n\n /**\n * Invokes 'loadReferencesCallback' for 'Is Referenced By' and 'Has References To' panels.\n */\n #loadReferencesHandler = async (id: string, to = false) => {\n if (this.loadReferencesCallback) {\n this.loadReferencesCallback(id, to).then(result => {\n if (to) {\n this.referencesToTreeData =\n convertReferenceDataToTreeViewData(result);\n } else {\n this.referencedByTreeData =\n convertReferenceDataToTreeViewData(result);\n }\n });\n }\n };\n\n #openObjectCallbackHandler = () => {\n // Returns an empty Promise\n this.openObjectCallback(this.selectedObject?.id);\n };\n\n /**\n * Fired when user clicks the ch-suggest button (...)\n */\n #openSelectorDialogCallbackHandler = async () => {\n const objectDataResult = await this.openSelectorDialogCallback();\n if (objectDataResult) {\n this.selectedObject = objectDataResult;\n }\n };\n\n #referenceSelectedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n if (this.selectReferenceCallback) {\n const selectedItems: string[] = event.detail.map(item => item.item.id);\n this.selectReferenceCallback(selectedItems[0]);\n // returns void\n }\n };\n\n #referencesItemOpenReferenceCallback = (\n itemOpened: CustomEvent<{ id: string; leaf: boolean; metadata: string }>\n ) => {\n const itemId = itemOpened.detail.id;\n if (this.openObjectCallback) {\n this.openObjectCallback(itemId);\n // returns void\n }\n };\n\n #referencesLazyLoadCallbackHandler =\n (ref: \"references-to\" | \"referenced-by\") =>\n async (treeItemId: string): Promise<TreeViewItemModel[]> => {\n if (this.loadReferencesCallback) {\n const to = ref === \"references-to\";\n const referencesLazyChildren = await this.loadReferencesCallback(\n treeItemId,\n to\n );\n const treeLazyChildren = convertReferenceDataToTreeViewData(\n referencesLazyChildren\n );\n return new Promise(resolve => {\n resolve(treeLazyChildren);\n });\n }\n return new Promise(resolve => {\n resolve([]);\n });\n };\n\n #selectObjectChangedHandler = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n const newSelectedValue = event.detail as string;\n\n const objectData = this.#objectDataMap.get(newSelectedValue);\n if (objectData) {\n this.selectedObject = objectData;\n }\n };\n\n #selectObjectInputHandler = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n // WA to know if the event was from searching on the input or an item selection.\n // const partValue = (e.target as HTMLElement).getAttribute(\"part\");\n const typedValue = event.detail as string;\n if (this.selectorSourceCallback) {\n this.selectorSourceCallback(typedValue).then(\n selectorCategoryDataArray => {\n // update map\n this.#objectDataMap.clear();\n selectorCategoryDataArray?.forEach(selectorCategoryData => {\n selectorCategoryData.items.forEach(objectData => {\n this.#objectDataMap.set(objectData.description, {\n id: objectData.id,\n typeName: objectData.typeName,\n icon: objectData.icon,\n name: objectData.name,\n description: objectData.description\n });\n });\n });\n\n this.objectsSuggestions = mapSelectorCategoryDataToComboBoxModel(\n selectorCategoryDataArray\n );\n }\n );\n }\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start\">\n <div class=\"header__top field-group\">\n <button\n type=\"button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.header.toggleBar}\n part=\"toggle-bar-button\"\n onClick={this.#hideBarButtonClickedHandler}\n >\n <ch-image\n class=\"icon-md\"\n src={NAVIGATION_ARROW_DOWN_SKY_BLUE}\n containerRef={this.el}\n ></ch-image>\n </button>\n\n <div class=\"field field-inline\">\n <label\n // select object\n class=\"label\"\n part=\"select-object-label\"\n htmlFor=\"object-selector-suggest\"\n >\n {this.#_componentLocale.header.selectObject}\n </label>\n <ch-combo-box-render\n accessibleName={this.#_componentLocale.header.selectObject}\n class=\"combo-box\"\n model={this.objectsSuggestions}\n suggest\n onInput={this.#selectObjectInputHandler}\n onChange={this.#selectObjectChangedHandler}\n value={this.selectedObject?.name}\n part=\"object-selector-suggest\"\n suggestOptions={SUGGEST_OPTIONS}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#selectObjectSuggestEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <button\n type=\"button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.header.openSelectorButton}\n onClick={this.#openSelectorDialogCallbackHandler}\n part=\"open-selector-dialog-button\"\n >\n <ch-image\n class=\"icon-md\"\n src={GEMINI_TOOLS_SHOW_MORE_HORIZONTAL}\n containerRef={this.el}\n ></ch-image>\n </button>\n </div>\n\n <div\n class={{\n \"header__bottom\": true,\n \"header__bottom--hidden\": this.barHidden\n }}\n >\n <div class=\"outer-wrapper\">\n <div class=\"inner-wrapper\">\n <div class=\"inner-wrapper__left\">\n <ch-image\n class=\"icon-md\"\n src={this.selectedObject.icon}\n containerRef={this.el}\n ></ch-image>\n <a\n class=\"text-link\"\n onClick={this.#openObjectCallbackHandler}\n part=\"open-object-text-link\"\n aria-label={\n this.#_componentLocale.main.selectedObjectLink\n }\n >\n {`${this.selectedObject?.name} : ${this.selectedObject?.description}`}\n </a>\n </div>\n {/* <div class=\"inner-wrapper__right\">\n TODO: Add this feature \"Group References by Type\".\n <ch-checkbox\n class=\"checkbox\"\n id=\"references-by-type\"\n part=\"references-type-checkbox\"\n checkedValue=\"referencesByType\"\n caption=\"Group references by type\"\n ></ch-checkbox>\n </div> */}\n </div>\n </div>\n </div>\n </header>\n <div class=\"main\">\n <section class=\"section__referenced-by\">\n <h2 class=\"control-header control-header-with-border control-header__referenced-by heading-5 text-align-center spacing-body-inline subtitle-regular-xs\">\n {this.#_componentLocale.main.isReferencedBy}\n </h2>\n\n <div\n // is referenced by\n class=\"main__referenced-by spacing-body-block-start spacing-body-block-end\"\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencedByTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-by-tree\"\n model={this.referencedByTreeData}\n aria-label={\n this.#_componentLocale.main.referencedByTreeAccessible\n }\n lazyLoadTreeItemsCallback={this.#referencesLazyLoadCallbackHandler(\n \"referenced-by\"\n )}\n onSelectedItemsChange={this.#referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.#referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencedByTreeData?.length && (\n <gx-ide-empty-state\n stateTitle={\n this.referencedByTreeData?.length === 0\n ? this.#_componentLocale.main.isReferencedByEmpty\n : this.#_componentLocale.main.isReferencedByError\n }\n ></gx-ide-empty-state>\n )}\n </div>\n </section>\n\n <section class=\"section__references-to\">\n <h2 class=\"control-header control-header-with-border control-header__references-to heading-5 text-align-center spacing-body-inline subtitle-regular-xs\">\n {this.#_componentLocale.main.hasReferencesTo}\n </h2>\n\n <div\n // has references to\n class=\"main__references-to spacing-body-block-start spacing-body-block-end\"\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencesToTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-to-tree\"\n model={this.referencesToTreeData}\n aria-label={\n this.#_componentLocale.main.referencesToTreeAccessible\n }\n lazyLoadTreeItemsCallback={this.#referencesLazyLoadCallbackHandler(\n \"references-to\"\n )}\n onSelectedItemsChange={this.#referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.#referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencesToTreeData?.length && (\n <gx-ide-empty-state\n stateTitle={\n this.referencesToTreeData?.length === 0\n ? this.#_componentLocale.main.hasReferencesEmpty\n : this.#_componentLocale.main.hasReferencesToError\n }\n ></gx-ide-empty-state>\n )}\n </div>\n </section>\n </div>\n </section>\n\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type LoadReferencesCallback = (\n id: string,\n to: boolean\n) => Promise<ReferenceData[]>;\n\nexport type ObjectData = {\n id: string;\n typeName: string;\n icon: string;\n name: string;\n description?: string;\n};\n\nexport type OpenObjectCallback = (id: string) => Promise<void>;\n\nexport type OpenSelectorDialogCallback = () => Promise<ObjectData | undefined>;\n\nexport type ReferenceData = ObjectData & {\n hasChildren: boolean;\n items?: ReferenceData[];\n};\n\nexport type SelectReferenceCallback = (id: string) => Promise<void>;\n\nexport type SelectorCategoryData = {\n name: string;\n items: ObjectData[];\n};\n\nexport type SelectorSourceCallback = (\n prefix: string\n) => Promise<SelectorCategoryData[]>;\n\nexport type objectDataMap = Map<string, ObjectData>;\n"],"version":3}
|
|
@@ -242,7 +242,7 @@ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) ||
|
|
|
242
242
|
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
243
243
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
244
244
|
};
|
|
245
|
-
var _GxIdeSelectKbItems__componentLocale,
|
|
245
|
+
var _GxIdeSelectKbItems__componentLocale, _GxIdeSelectKbItems_chShortcutsEl, _GxIdeSelectKbItems_selectedNodesIds, _GxIdeSelectKbItems_shortcutsSrc, _GxIdeSelectKbItems_updatedModelList, _GxIdeSelectKbItems_viewItemsAsModel, _GxIdeSelectKbItems_treeViewRenderEl, _GxIdeSelectKbItems_cancelHandler, _GxIdeSelectKbItems_checkedItemsChangeHandler, _GxIdeSelectKbItems_confirmHandler, _GxIdeSelectKbItems_contextMenuHandler, _GxIdeSelectKbItems_executeDialogAction, _GxIdeSelectKbItems_patternSearchValueChangedHandler, _GxIdeSelectKbItems_renderActionButtons, _GxIdeSelectKbItems_renderFooter, _GxIdeSelectKbItems_selectedItemsChangeHandler, _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems, _GxIdeSelectKbItems_toggleCheckedNodesInModelItems, _GxIdeSelectKbItems_updateViews, _GxIdeSelectKbItems_viewItemsAsChangedHandler, _GxIdeSelectKbItems_toggleCheckboxesChangedHandler, _GxIdeSelectKbItems_scrollIntoActiveVersionNode;
|
|
246
246
|
const CSS_BUNDLES = [
|
|
247
247
|
"resets/box-sizing",
|
|
248
248
|
"chameleon/scrollbar",
|
|
@@ -265,7 +265,6 @@ const GxIdeSelectKbItems = class {
|
|
|
265
265
|
constructor(hostRef) {
|
|
266
266
|
registerInstance(this, hostRef);
|
|
267
267
|
_GxIdeSelectKbItems__componentLocale.set(this, void 0);
|
|
268
|
-
_GxIdeSelectKbItems_checkedNodesIds.set(this, []);
|
|
269
268
|
_GxIdeSelectKbItems_chShortcutsEl.set(this, void 0);
|
|
270
269
|
_GxIdeSelectKbItems_selectedNodesIds.set(this, []);
|
|
271
270
|
_GxIdeSelectKbItems_shortcutsSrc.set(this, getAssetPath(`./gx-ide-assets/select-kb-items/shortcuts.json`));
|
|
@@ -282,15 +281,15 @@ const GxIdeSelectKbItems = class {
|
|
|
282
281
|
e.detail.forEach(node => {
|
|
283
282
|
node.item.checked && checkedNodesIds.push(node.item.id);
|
|
284
283
|
});
|
|
285
|
-
|
|
286
|
-
__classPrivateFieldSet(this, _GxIdeSelectKbItems_updatedModelList, checkItems(this.itemsList,
|
|
284
|
+
this.checkedNodesIds = checkedNodesIds;
|
|
285
|
+
__classPrivateFieldSet(this, _GxIdeSelectKbItems_updatedModelList, checkItems(this.itemsList, this.checkedNodesIds), "f");
|
|
287
286
|
if (this.checkedChanged) {
|
|
288
|
-
this.checkedChanged(
|
|
287
|
+
this.checkedChanged(this.checkedNodesIds);
|
|
289
288
|
}
|
|
290
289
|
});
|
|
291
290
|
_GxIdeSelectKbItems_confirmHandler.set(this, () => {
|
|
292
291
|
if (this.confirmCallback) {
|
|
293
|
-
this.confirmCallback(
|
|
292
|
+
this.confirmCallback(this.checkedNodesIds);
|
|
294
293
|
}
|
|
295
294
|
});
|
|
296
295
|
_GxIdeSelectKbItems_contextMenuHandler.set(this, async (e) => {
|
|
@@ -320,7 +319,7 @@ const GxIdeSelectKbItems = class {
|
|
|
320
319
|
});
|
|
321
320
|
_GxIdeSelectKbItems_executeDialogAction.set(this, (callback) => {
|
|
322
321
|
return () => {
|
|
323
|
-
callback(
|
|
322
|
+
callback(this.checkedNodesIds, __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"));
|
|
324
323
|
};
|
|
325
324
|
});
|
|
326
325
|
_GxIdeSelectKbItems_patternSearchValueChangedHandler.set(this, (event) => {
|
|
@@ -332,7 +331,8 @@ const GxIdeSelectKbItems = class {
|
|
|
332
331
|
})));
|
|
333
332
|
});
|
|
334
333
|
_GxIdeSelectKbItems_renderFooter.set(this, () => {
|
|
335
|
-
|
|
334
|
+
var _a;
|
|
335
|
+
return (h("footer", { class: "footer control-footer-with-border spacing-body-inline spacing-body-block-end control-footer-space-between" }, __classPrivateFieldGet(this, _GxIdeSelectKbItems_renderActionButtons, "f").call(this), h("div", { class: "buttons-spacer " }, this.cancelCallback && (h("button", { class: "button-secondary", part: "cancel-button", onClick: __classPrivateFieldGet(this, _GxIdeSelectKbItems_cancelHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").footer.cancel)), this.confirmCallback && (h("button", { class: "button-primary", part: "confirm-button", onClick: __classPrivateFieldGet(this, _GxIdeSelectKbItems_confirmHandler, "f"), disabled: this.loading || ((_a = this.checkedNodesIds) === null || _a === void 0 ? void 0 : _a.length) === 0 }, __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").footer.select)))));
|
|
336
336
|
});
|
|
337
337
|
_GxIdeSelectKbItems_selectedItemsChangeHandler.set(this, (e) => {
|
|
338
338
|
const selectedNodesIds = [];
|
|
@@ -367,7 +367,7 @@ const GxIdeSelectKbItems = class {
|
|
|
367
367
|
this.nodesVersionsViewType = selectedViewType;
|
|
368
368
|
if (this.nodesVersionsViewType === "tree") {
|
|
369
369
|
await __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems, "f").call(this, __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"));
|
|
370
|
-
await __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleCheckedNodesInModelItems, "f").call(this,
|
|
370
|
+
await __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleCheckedNodesInModelItems, "f").call(this, this.checkedNodesIds);
|
|
371
371
|
}
|
|
372
372
|
__classPrivateFieldGet(this, _GxIdeSelectKbItems_updateViews, "f").call(this, __classPrivateFieldGet(this, _GxIdeSelectKbItems_updatedModelList, "f"));
|
|
373
373
|
});
|
|
@@ -385,13 +385,14 @@ const GxIdeSelectKbItems = class {
|
|
|
385
385
|
}
|
|
386
386
|
});
|
|
387
387
|
this.activeItemNode = undefined;
|
|
388
|
+
this.checkedNodesIds = [];
|
|
388
389
|
this.renderFooter = false;
|
|
389
390
|
this.nodeListFlattenedTreeModel = [];
|
|
390
391
|
this.loading = true;
|
|
391
392
|
this.nodesVersionsViewType = "tree";
|
|
392
393
|
this.nodeVersionsListTreeModel = [];
|
|
393
394
|
this.searchPatternValue = null;
|
|
394
|
-
this.toggleCheckboxes =
|
|
395
|
+
this.toggleCheckboxes = undefined;
|
|
395
396
|
this.activeItemCallback = undefined;
|
|
396
397
|
this.cancelCallback = undefined;
|
|
397
398
|
this.checkboxType = undefined;
|
|
@@ -401,6 +402,7 @@ const GxIdeSelectKbItems = class {
|
|
|
401
402
|
this.dialogActions = [];
|
|
402
403
|
this.itemContextMenuCallback = undefined;
|
|
403
404
|
this.itemsList = [];
|
|
405
|
+
this.showToggleCheckboxes = true;
|
|
404
406
|
this.multiSelection = false;
|
|
405
407
|
this.showActiveItemLink = false;
|
|
406
408
|
this.selectionChanged = undefined;
|
|
@@ -415,6 +417,7 @@ const GxIdeSelectKbItems = class {
|
|
|
415
417
|
}
|
|
416
418
|
async componentWillLoad() {
|
|
417
419
|
__classPrivateFieldSet(this, _GxIdeSelectKbItems__componentLocale, await Locale.getComponentStrings(this.el), "f");
|
|
420
|
+
this.toggleCheckboxes = this.showToggleCheckboxes;
|
|
418
421
|
__classPrivateFieldSet(this, _GxIdeSelectKbItems_viewItemsAsModel, [
|
|
419
422
|
{ value: VIEW_AS_TREE_ID, caption: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").main.tree },
|
|
420
423
|
{ value: VIEW_AS_LIST_ID, caption: "List" }
|
|
@@ -454,16 +457,17 @@ const GxIdeSelectKbItems = class {
|
|
|
454
457
|
*/
|
|
455
458
|
async updateCheckedItems(checkedItemsIds) {
|
|
456
459
|
// first clear checks
|
|
457
|
-
__classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties(
|
|
460
|
+
__classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties(this.checkedNodesIds, {
|
|
458
461
|
checked: false
|
|
459
462
|
});
|
|
460
463
|
// then select
|
|
461
464
|
__classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties(checkedItemsIds, {
|
|
462
465
|
checked: true
|
|
463
466
|
});
|
|
467
|
+
this.checkedNodesIds = checkedItemsIds;
|
|
464
468
|
}
|
|
465
469
|
render() {
|
|
466
|
-
return (h(Host, { class: { "widget": true, "has-footer": this.renderFooter } }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: __classPrivateFieldGet(this, _GxIdeSelectKbItems_shortcutsSrc, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeSelectKbItems_chShortcutsEl, el, "f")) }), h("section", { class: "section" }, h("header", { part: "header", class: "header control-header field-group spacing-body-block-start spacing-body-inline" }, h("div", { class: "header__first-row" }, h("div", { class: "field field-inline" }, h("label", { class: "label", htmlFor: "view-mode" }, "Select view mode:"), h("ch-radio-group-render", { class: "radio-group dummy-control-block-size", id: "view-mode", model: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsModel, "f"), onChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsChangedHandler, "f"), value: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsModel, "f")[0].value })), this.checkboxType !== "none" && (h("div", { class: "field field-inline" }, h("label", { class: "label", htmlFor: "toggle-checkboxes" }, "Toggle Checkboxes"), h("ch-checkbox", { class: "checkbox dummy-control-block-size", id: "toggle-checkboxes", checkedValue: TOGGLE_CHECKBOXES_CHECKED_VALUE, value: TOGGLE_CHECKBOXES_CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleCheckboxesChangedHandler, "f") })))), h("div", { class: {
|
|
470
|
+
return (h(Host, { class: { "widget": true, "has-footer": this.renderFooter } }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: __classPrivateFieldGet(this, _GxIdeSelectKbItems_shortcutsSrc, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeSelectKbItems_chShortcutsEl, el, "f")) }), h("section", { class: "section" }, h("header", { part: "header", class: "header control-header field-group spacing-body-block-start spacing-body-inline" }, h("div", { class: "header__first-row" }, h("div", { class: "field field-inline" }, h("label", { class: "label", htmlFor: "view-mode" }, "Select view mode:"), h("ch-radio-group-render", { class: "radio-group dummy-control-block-size", id: "view-mode", model: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsModel, "f"), onChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsChangedHandler, "f"), value: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsModel, "f")[0].value })), this.checkboxType !== "none" && this.showToggleCheckboxes && (h("div", { class: "field field-inline" }, h("label", { class: "label", htmlFor: "toggle-checkboxes" }, "Toggle Checkboxes"), h("ch-checkbox", { class: "checkbox dummy-control-block-size", id: "toggle-checkboxes", checkedValue: TOGGLE_CHECKBOXES_CHECKED_VALUE, value: TOGGLE_CHECKBOXES_CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleCheckboxesChangedHandler, "f") })))), h("div", { class: {
|
|
467
471
|
"header__second-row": true,
|
|
468
472
|
"header__second-row--one-row": !this.showActiveItemLink
|
|
469
473
|
} }, h("ch-edit", { class: "input", placeholder: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").header.searchPatternPlaceholder, startImgSrc: SYSTEM_SEARCH_ICON, onInput: __classPrivateFieldGet(this, _GxIdeSelectKbItems_patternSearchValueChangedHandler, "f"), accessibleName: "search pattern" }), this.activeItemNode && this.showActiveItemLink && (h("div", { class: "active-item" }, h("span", { class: "active-item__icon-container" }, h("ch-image", { class: "icon-md active-item__icon", src: this.activeItemNode.iconStart ||
|
|
@@ -479,7 +483,7 @@ const GxIdeSelectKbItems = class {
|
|
|
479
483
|
"itemsList": ["watchNodeListHandler"]
|
|
480
484
|
}; }
|
|
481
485
|
};
|
|
482
|
-
_GxIdeSelectKbItems__componentLocale = new WeakMap(),
|
|
486
|
+
_GxIdeSelectKbItems__componentLocale = new WeakMap(), _GxIdeSelectKbItems_chShortcutsEl = new WeakMap(), _GxIdeSelectKbItems_selectedNodesIds = new WeakMap(), _GxIdeSelectKbItems_shortcutsSrc = new WeakMap(), _GxIdeSelectKbItems_updatedModelList = new WeakMap(), _GxIdeSelectKbItems_viewItemsAsModel = new WeakMap(), _GxIdeSelectKbItems_treeViewRenderEl = new WeakMap(), _GxIdeSelectKbItems_cancelHandler = new WeakMap(), _GxIdeSelectKbItems_checkedItemsChangeHandler = new WeakMap(), _GxIdeSelectKbItems_confirmHandler = new WeakMap(), _GxIdeSelectKbItems_contextMenuHandler = new WeakMap(), _GxIdeSelectKbItems_executeDialogAction = new WeakMap(), _GxIdeSelectKbItems_patternSearchValueChangedHandler = new WeakMap(), _GxIdeSelectKbItems_renderActionButtons = new WeakMap(), _GxIdeSelectKbItems_renderFooter = new WeakMap(), _GxIdeSelectKbItems_selectedItemsChangeHandler = new WeakMap(), _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems = new WeakMap(), _GxIdeSelectKbItems_toggleCheckedNodesInModelItems = new WeakMap(), _GxIdeSelectKbItems_updateViews = new WeakMap(), _GxIdeSelectKbItems_viewItemsAsChangedHandler = new WeakMap(), _GxIdeSelectKbItems_toggleCheckboxesChangedHandler = new WeakMap(), _GxIdeSelectKbItems_scrollIntoActiveVersionNode = new WeakMap();
|
|
483
487
|
GxIdeSelectKbItems.style = selectKbItemsCss;
|
|
484
488
|
|
|
485
489
|
export { GxIdeSelectKbItems as gx_ide_select_kb_items };
|