@genexus/genexus-ide-ui 1.0.1 → 1.0.3
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/assets-manager-64c42a1e.js +14669 -0
- package/dist/cjs/assets-manager-64c42a1e.js.map +1 -0
- package/dist/cjs/{common-a9c44141.js → common-d21da2fc.js} +2 -2
- package/dist/cjs/{common-a9c44141.js.map → common-d21da2fc.js.map} +1 -1
- package/dist/cjs/{config-8246d533.js → config-7499aff7.js} +21 -1
- package/dist/cjs/config-7499aff7.js.map +1 -0
- package/dist/cjs/constants-96a42315.js.map +1 -1
- package/dist/cjs/genexus-ide-ui.cjs.js +2 -2
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +6 -7
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-card.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +5 -5
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +6 -6
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +24 -9
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +4 -5
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js +11 -50
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +80 -53
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-loader.cjs.entry.js +32 -47
- package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +24 -5
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +24 -5
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +6 -7
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +6 -6
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +208 -218
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js +120 -70
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +6 -6
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +132 -125
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-switch-panel.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-switcher.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +7 -8
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +4 -5
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +6 -7
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-template.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-top-bar.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +7 -8
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/{helpers-cef3dd1f.js → helpers-be14ea67.js} +34 -5
- package/dist/cjs/helpers-be14ea67.js.map +1 -0
- package/dist/cjs/{index-13ec56b2.js → index-b87e3ee0.js} +10 -4
- package/dist/cjs/index-b87e3ee0.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{render-combo-items-7cf25644.js → render-combo-items-9d83241b.js} +2 -2
- package/dist/cjs/{render-combo-items-7cf25644.js.map → render-combo-items-9d83241b.js.map} +1 -1
- package/dist/cjs/{render-list-item-859d6b85.js → render-list-item-353de5ee.js} +2 -2
- package/dist/cjs/{render-list-item-859d6b85.js.map → render-list-item-353de5ee.js.map} +1 -1
- package/dist/cjs/{render-suggest-5159c128.js → render-suggest-cd69493a.js} +2 -2
- package/dist/cjs/{render-suggest-5159c128.js.map → render-suggest-cd69493a.js.map} +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/common/config.js +20 -0
- package/dist/collection/common/config.js.map +1 -1
- package/dist/collection/common/constants.js.map +1 -1
- package/dist/collection/common/helpers.js +31 -3
- package/dist/collection/common/helpers.js.map +1 -1
- package/dist/collection/common/types.js.map +1 -1
- package/dist/collection/components/_helpers/card/card.css +68 -0
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +598 -16
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +17 -111
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -1
- package/dist/collection/components/_helpers/entity-selector/entity-selector.css +21 -386
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js +95 -128
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
- package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +6 -0
- package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.zh.json +0 -0
- package/dist/collection/components/_helpers/ide-loader/ide-loader.css +23 -38
- package/dist/collection/components/_helpers/ide-loader/ide-loader.js +68 -125
- package/dist/collection/components/_helpers/ide-loader/ide-loader.js.map +1 -1
- package/dist/collection/components/_helpers/list-selector/list-selector.css +68 -0
- package/dist/collection/components/_starting-template/template.css +68 -0
- package/dist/collection/components/ai-assistant/ai-assistant.css +68 -0
- package/dist/collection/components/ai-assistant/ai-message.css +2 -2
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +68 -0
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +1 -2
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
- package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +68 -0
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +68 -0
- package/dist/collection/components/bpm/import-files/bpm-import-files.css +68 -0
- package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +68 -0
- package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +68 -0
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +68 -0
- package/dist/collection/components/connect-gx-server/connect-gx-server.css +68 -0
- package/dist/collection/components/connect-gx-server/connect-gx-server.js +1 -1
- package/dist/collection/components/connect-gx-server/connect-gx-server.js.map +1 -1
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +68 -0
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +1 -1
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/dashboard-home/dashboard-home.css +68 -0
- package/dist/collection/components/dashboard-home/dashboard-home.js +21 -6
- package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
- package/dist/collection/components/data-selector/data-selector.css +68 -0
- package/dist/collection/components/data-selector/data-selector.js +1 -2
- package/dist/collection/components/data-selector/data-selector.js.map +1 -1
- package/dist/collection/components/design-import/design-import.css +68 -0
- package/dist/collection/components/design-import/design-import.js +1 -1
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +68 -0
- package/dist/collection/components/kb-manager-export/helpers.js.map +1 -1
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +68 -0
- package/dist/collection/components/kb-manager-export/kb-manager-export.js +3 -3
- package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
- package/dist/collection/components/kb-manager-import/kb-manager-import.css +77 -0
- package/dist/collection/components/modules/edit-module-server/edit-module-server.css +68 -0
- package/dist/collection/components/modules/manage-module-references/manage-module-references.css +68 -0
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js +21 -2
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +21 -2
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +68 -0
- package/dist/collection/components/new-environment/new-environment.css +68 -0
- package/dist/collection/components/new-environment/new-environment.js +1 -1
- package/dist/collection/components/new-environment/new-environment.js.map +1 -1
- package/dist/collection/components/new-kb/new-kb.css +68 -0
- package/dist/collection/components/new-kb/new-kb.js +1 -1
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/new-object/new-object.css +68 -0
- package/dist/collection/components/new-object/new-object.js +2 -2
- package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +4 -2
- package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +5 -2
- package/dist/collection/components/object-selector/gx-ide-assets/object-selector/shortcuts.json +2 -2
- package/dist/collection/components/object-selector/helpers.js +13 -0
- package/dist/collection/components/object-selector/helpers.js.map +1 -0
- package/dist/collection/components/object-selector/object-selector.css +119 -50
- package/dist/collection/components/object-selector/object-selector.js +299 -375
- package/dist/collection/components/object-selector/object-selector.js.map +1 -1
- package/dist/collection/components/references/references.css +68 -0
- package/dist/collection/components/share-kb/share-kb.css +68 -0
- package/dist/collection/components/share-kb/share-kb.js +1 -1
- package/dist/collection/components/share-kb/share-kb.js.map +1 -1
- package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.en.json +14 -4
- package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.ja.json +15 -5
- package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.en.json +13 -3
- package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.ja.json +15 -5
- package/dist/collection/components/start-page/recent-news.css +96 -42
- package/dist/collection/components/start-page/recent-news.js +142 -73
- package/dist/collection/components/start-page/recent-news.js.map +1 -1
- package/dist/collection/components/start-page/start-page.css +146 -29
- package/dist/collection/components/start-page/start-page.js +185 -171
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/collection/components/team-dev/commit/commit.css +68 -0
- package/dist/collection/components/team-dev/commit/commit.js +2 -3
- package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
- package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +68 -0
- package/dist/collection/components/team-dev/update/update.css +68 -0
- package/dist/collection/components/team-dev/update/update.js +1 -2
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +68 -0
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -2
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
- package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +68 -0
- package/dist/collection/components/wf-settings/wf-settings.css +68 -0
- package/dist/collection/components/ww-images/ww-images.css +70 -2
- package/dist/collection/components/ww-images/ww-images.js +3 -4
- package/dist/collection/components/ww-images/ww-images.js.map +1 -1
- package/dist/components/ai-message.js +1 -1
- package/dist/components/ai-message.js.map +1 -1
- package/dist/components/assets-manager.js +14667 -0
- package/dist/components/assets-manager.js.map +1 -0
- package/dist/components/bpm-objects-selector.js +1 -1
- package/dist/components/bpm-objects-selector.js.map +1 -1
- package/dist/components/config.js +20 -0
- package/dist/components/config.js.map +1 -1
- package/dist/components/constants.js.map +1 -1
- package/dist/components/entity-selector.js +82 -57
- package/dist/components/entity-selector.js.map +1 -1
- package/dist/components/gx-ide-ai-assistant.js +1 -1
- package/dist/components/gx-ide-ai-assistant.js.map +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js +2 -3
- package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
- package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
- package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-files.js +1 -1
- package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
- package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
- package/dist/components/gx-ide-card.js +1 -1
- package/dist/components/gx-ide-card.js.map +1 -1
- package/dist/components/gx-ide-connect-gx-server.js +2 -2
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +2 -2
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +25 -16
- package/dist/components/gx-ide-dashboard-home.js.map +1 -1
- package/dist/components/gx-ide-data-selector.js +2 -3
- package/dist/components/gx-ide-data-selector.js.map +1 -1
- package/dist/components/gx-ide-design-import.js +1 -1
- package/dist/components/gx-ide-design-import.js.map +1 -1
- package/dist/components/gx-ide-edit-module-server.js +1 -1
- package/dist/components/gx-ide-edit-module-server.js.map +1 -1
- package/dist/components/gx-ide-empty-state2.js +13 -63
- package/dist/components/gx-ide-empty-state2.js.map +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js +1 -1
- package/dist/components/gx-ide-gam-installation-settings.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-kb-manager-import.js +1 -1
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references-v2.js +22 -3
- package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references.js +22 -3
- package/dist/components/gx-ide-manage-module-references.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +2 -3
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +2 -2
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-new-object.js +1 -1
- package/dist/components/gx-ide-new-object.js.map +1 -1
- package/dist/components/gx-ide-object-selector.js +224 -243
- package/dist/components/gx-ide-object-selector.js.map +1 -1
- package/dist/components/gx-ide-references.js +1 -1
- package/dist/components/gx-ide-references.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +2 -2
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +150 -133
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +4 -5
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
- package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +2 -3
- package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +3 -4
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-template.js +1 -1
- package/dist/components/gx-ide-template.js.map +1 -1
- package/dist/components/gx-ide-wf-settings.js +1 -1
- package/dist/components/gx-ide-wf-settings.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +4 -5
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/helpers.js +32 -4
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ide-loader.js +36 -56
- package/dist/components/ide-loader.js.map +1 -1
- package/dist/components/list-selector.js +1 -1
- package/dist/components/list-selector.js.map +1 -1
- package/dist/components/recent-news.js +133 -73
- package/dist/components/recent-news.js.map +1 -1
- package/dist/esm/assets-manager-120996e9.js +14667 -0
- package/dist/esm/assets-manager-120996e9.js.map +1 -0
- package/dist/esm/{common-8826f536.js → common-31ac2b05.js} +2 -2
- package/dist/esm/{common-8826f536.js.map → common-31ac2b05.js.map} +1 -1
- package/dist/esm/{config-a492e15e.js → config-6cfbb06f.js} +21 -1
- package/dist/esm/config-6cfbb06f.js.map +1 -0
- package/dist/esm/constants-f9193da7.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +3 -3
- package/dist/esm/gx-ide-ai-assistant.entry.js +2 -2
- package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +3 -3
- package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +6 -7
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js +3 -3
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +3 -3
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +4 -4
- package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +3 -3
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +4 -4
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +3 -3
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
- package/dist/esm/gx-ide-card.entry.js +2 -2
- package/dist/esm/gx-ide-card.entry.js.map +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +4 -4
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-container_2.entry.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +4 -4
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +24 -9
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +4 -5
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +4 -4
- package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-directory-selector.entry.js +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js +2 -2
- package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js +11 -50
- package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +80 -53
- package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js +3 -3
- package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +3 -3
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +4 -4
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js +2 -2
- package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-loader.entry.js +32 -47
- package/dist/esm/gx-ide-loader.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +24 -5
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +24 -5
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +5 -6
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +5 -5
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +3 -3
- package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +208 -218
- package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-recent-news.entry.js +120 -70
- package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +4 -4
- package/dist/esm/gx-ide-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +5 -5
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +132 -125
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
- package/dist/esm/gx-ide-switch-panel.entry.js +1 -1
- package/dist/esm/gx-ide-switcher.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +7 -8
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +4 -4
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +4 -5
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +3 -3
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +6 -7
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-template.entry.js +3 -3
- package/dist/esm/gx-ide-template.entry.js.map +1 -1
- package/dist/esm/gx-ide-test.entry.js +1 -1
- package/dist/esm/gx-ide-top-bar.entry.js +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js +3 -3
- package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +7 -8
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/{helpers-0a23ab69.js → helpers-05c62775.js} +34 -6
- package/dist/esm/helpers-05c62775.js.map +1 -0
- package/dist/esm/{index-2f305780.js → index-27c691bc.js} +10 -4
- package/dist/esm/index-27c691bc.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{render-combo-items-42fe0712.js → render-combo-items-b5465c1d.js} +2 -2
- package/dist/esm/{render-combo-items-42fe0712.js.map → render-combo-items-b5465c1d.js.map} +1 -1
- package/dist/esm/{render-list-item-ae730365.js → render-list-item-06286d62.js} +2 -2
- package/dist/esm/{render-list-item-ae730365.js.map → render-list-item-06286d62.js.map} +1 -1
- package/dist/esm/{render-suggest-90759f0b.js → render-suggest-3543434c.js} +2 -2
- package/dist/esm/{render-suggest-90759f0b.js.map → render-suggest-3543434c.js.map} +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +3 -3
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +6 -0
- package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.ja.json +0 -0
- package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.zh.json +0 -0
- package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +4 -2
- package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +5 -2
- package/dist/genexus-ide-ui/gx-ide-assets/object-selector/shortcuts.json +2 -2
- package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.en.json +14 -4
- package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.ja.json +15 -5
- package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.en.json +13 -3
- package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.ja.json +15 -5
- package/dist/genexus-ide-ui/{p-4f0b6507.entry.js → p-032bdefc.entry.js} +5 -5
- package/dist/genexus-ide-ui/p-032bdefc.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-7fe1ceb9.entry.js → p-03a88768.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-853dacf5.entry.js → p-04421676.entry.js} +6 -6
- package/dist/genexus-ide-ui/p-04421676.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-309544a8.js → p-07b9c2d4.js} +2 -2
- package/dist/genexus-ide-ui/{p-fc6040c7.entry.js → p-09cc20b1.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-df7151fa.entry.js → p-0ac125fc.entry.js} +24 -26
- package/dist/genexus-ide-ui/p-0ac125fc.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c585f865.entry.js → p-0bb18689.entry.js} +156 -158
- package/dist/genexus-ide-ui/p-0bb18689.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-dc02927a.entry.js → p-0be068bf.entry.js} +14 -16
- package/dist/genexus-ide-ui/p-0be068bf.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-13feb5cf.js.map +1 -1
- package/dist/genexus-ide-ui/{p-9265eb8d.js → p-14e6ef41.js} +52 -24
- package/dist/genexus-ide-ui/p-14e6ef41.js.map +1 -0
- package/dist/genexus-ide-ui/{p-52037fb7.entry.js → p-19789aa2.entry.js} +6 -6
- package/dist/genexus-ide-ui/p-19789aa2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-cad2b413.entry.js → p-27fcaad7.entry.js} +35 -35
- package/dist/genexus-ide-ui/{p-8be06716.entry.js → p-2fd83e6c.entry.js} +27 -27
- package/dist/genexus-ide-ui/{p-6b1fe886.entry.js → p-33c1ddd9.entry.js} +18 -21
- package/dist/genexus-ide-ui/p-33c1ddd9.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8dfde4d9.entry.js → p-38f61bea.entry.js} +7 -7
- package/dist/genexus-ide-ui/{p-1cbf3ae4.entry.js → p-3b5b6908.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-947149d1.entry.js → p-3e48e2f6.entry.js} +14 -14
- package/dist/genexus-ide-ui/{p-df2e4696.entry.js → p-54ee665f.entry.js} +112 -91
- package/dist/genexus-ide-ui/p-54ee665f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-caa3c8b1.entry.js → p-638befbe.entry.js} +20 -20
- package/dist/genexus-ide-ui/p-638befbe.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c3fbfe7b.entry.js → p-68810397.entry.js} +7 -7
- package/dist/genexus-ide-ui/{p-03c0d269.entry.js → p-69a83248.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-c6f0f199.entry.js → p-69edc29c.entry.js} +17 -19
- package/dist/genexus-ide-ui/p-69edc29c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-357b287c.entry.js → p-6da8bf60.entry.js} +14 -14
- package/dist/genexus-ide-ui/p-6df9fab1.js +14666 -0
- package/dist/genexus-ide-ui/p-6df9fab1.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fc55b26e.entry.js → p-7ac25fc3.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-f744e80f.entry.js → p-7b8e41dd.entry.js} +20 -20
- package/dist/genexus-ide-ui/{p-9c1b4eb9.js → p-8cf892b5.js} +23 -3
- package/dist/genexus-ide-ui/p-8cf892b5.js.map +1 -0
- package/dist/genexus-ide-ui/{p-06cb63b5.entry.js → p-8da18e59.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-14d3afaf.entry.js → p-929dd336.entry.js} +39 -22
- package/dist/genexus-ide-ui/p-929dd336.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4dbaf435.entry.js → p-980f96c5.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-b01eccc2.entry.js → p-a04d556d.entry.js} +40 -40
- package/dist/genexus-ide-ui/{p-fa07dd86.entry.js → p-a3daa189.entry.js} +23 -23
- package/dist/genexus-ide-ui/p-a587e7ca.entry.js +155 -0
- package/dist/genexus-ide-ui/p-a587e7ca.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c147291f.js → p-aaed592c.js} +12 -5
- package/dist/genexus-ide-ui/p-aaed592c.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a5c15051.entry.js → p-ad92d701.entry.js} +61 -61
- package/dist/genexus-ide-ui/{p-0b854804.js → p-af836892.js} +9 -9
- package/dist/genexus-ide-ui/{p-0c8c6cc3.entry.js → p-b3baa3d2.entry.js} +9 -9
- package/dist/genexus-ide-ui/p-b3baa3d2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-b7384b06.entry.js +507 -0
- package/dist/genexus-ide-ui/p-b7384b06.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c8f4d24c.entry.js → p-bb1d0ab8.entry.js} +6 -6
- package/dist/genexus-ide-ui/p-bbb30314.entry.js +228 -0
- package/dist/genexus-ide-ui/p-bbb30314.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ca73836a.entry.js → p-c64a4398.entry.js} +17 -17
- package/dist/genexus-ide-ui/{p-c6cf40ab.entry.js → p-c79243c8.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-cb0e11db.entry.js +73 -0
- package/dist/genexus-ide-ui/p-cb0e11db.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ff934271.entry.js → p-cd7100fa.entry.js} +24 -26
- package/dist/genexus-ide-ui/p-cd7100fa.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-7e2ea144.entry.js → p-d178da38.entry.js} +18 -18
- package/dist/genexus-ide-ui/{p-97fba685.entry.js → p-d541640a.entry.js} +6 -6
- package/dist/genexus-ide-ui/{p-6b5adc13.entry.js → p-d9f7d2c3.entry.js} +44 -44
- package/dist/genexus-ide-ui/{p-9e5fa97a.entry.js → p-dbfddffd.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ce59fefc.entry.js → p-e4db9c34.entry.js} +11 -13
- package/dist/genexus-ide-ui/p-e4db9c34.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5bf67436.js → p-e8bdf9dc.js} +2 -2
- package/dist/genexus-ide-ui/{p-3ce32466.entry.js → p-eb52d685.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-01885db6.entry.js → p-edc4f1dc.entry.js} +5 -5
- package/dist/genexus-ide-ui/p-f220c75a.entry.js +40 -0
- package/dist/genexus-ide-ui/p-f220c75a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-61e2d60e.entry.js → p-f5c02654.entry.js} +35 -35
- package/dist/genexus-ide-ui/{p-328fc42f.entry.js → p-f69df17d.entry.js} +108 -87
- package/dist/genexus-ide-ui/p-f69df17d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-13c68ced.js → p-f831f30b.js} +2 -2
- package/dist/genexus-ide-ui/p-f924f02a.entry.js +211 -0
- package/dist/genexus-ide-ui/p-f924f02a.entry.js.map +1 -0
- package/dist/types/common/config.d.ts +19 -0
- package/dist/types/common/constants.d.ts +5 -4
- package/dist/types/common/helpers.d.ts +9 -0
- package/dist/types/common/types.d.ts +1 -3
- package/dist/types/components/_helpers/empty-state/gx-ide-empty-state.d.ts +4 -22
- package/dist/types/components/_helpers/entity-selector/entity-selector.d.ts +15 -29
- package/dist/types/components/_helpers/ide-loader/ide-loader.d.ts +11 -28
- package/dist/types/components/dashboard-home/dashboard-home.d.ts +1 -0
- package/dist/types/components/kb-manager-export/helpers.d.ts +2 -1
- package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +1 -5
- package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +1 -0
- package/dist/types/components/modules/manage-module-references-v2/manage-module-references-v2.d.ts +1 -0
- package/dist/types/components/object-selector/helpers.d.ts +4 -0
- package/dist/types/components/object-selector/object-selector.d.ts +28 -82
- package/dist/types/components/start-page/recent-news.d.ts +16 -12
- package/dist/types/components/start-page/start-page.d.ts +42 -18
- package/dist/types/components.d.ts +51 -154
- package/package.json +5 -5
- package/dist/cjs/config-8246d533.js.map +0 -1
- package/dist/cjs/form-validation-40aa8527.js +0 -24
- package/dist/cjs/form-validation-40aa8527.js.map +0 -1
- package/dist/cjs/grid-99bca82a.js +0 -16
- package/dist/cjs/grid-99bca82a.js.map +0 -1
- package/dist/cjs/helpers-cef3dd1f.js.map +0 -1
- package/dist/cjs/index-13ec56b2.js.map +0 -1
- package/dist/collection/common/form-validation.js +0 -19
- package/dist/collection/common/form-validation.js.map +0 -1
- package/dist/collection/common/grid.js +0 -11
- package/dist/collection/common/grid.js.map +0 -1
- package/dist/collection/common/interfaces.js +0 -4
- package/dist/collection/common/interfaces.js.map +0 -1
- package/dist/components/form-validation.js +0 -22
- package/dist/components/form-validation.js.map +0 -1
- package/dist/components/grid.js +0 -14
- package/dist/components/grid.js.map +0 -1
- package/dist/esm/config-a492e15e.js.map +0 -1
- package/dist/esm/form-validation-9367af5a.js +0 -22
- package/dist/esm/form-validation-9367af5a.js.map +0 -1
- package/dist/esm/grid-55fe9537.js +0 -14
- package/dist/esm/grid-55fe9537.js.map +0 -1
- package/dist/esm/helpers-0a23ab69.js.map +0 -1
- package/dist/esm/index-2f305780.js.map +0 -1
- package/dist/genexus-ide-ui/p-00095d68.js +0 -20
- package/dist/genexus-ide-ui/p-00095d68.js.map +0 -1
- package/dist/genexus-ide-ui/p-0c8c6cc3.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-14d3afaf.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-328fc42f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-41326e89.entry.js +0 -184
- package/dist/genexus-ide-ui/p-41326e89.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4c52f542.entry.js +0 -97
- package/dist/genexus-ide-ui/p-4c52f542.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4f0b6507.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-52037fb7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6b1fe886.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6d9841c4.entry.js +0 -94
- package/dist/genexus-ide-ui/p-6d9841c4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6ecf34b8.entry.js +0 -493
- package/dist/genexus-ide-ui/p-6ecf34b8.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-720702e4.js +0 -13
- package/dist/genexus-ide-ui/p-720702e4.js.map +0 -1
- package/dist/genexus-ide-ui/p-853dacf5.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9265eb8d.js.map +0 -1
- package/dist/genexus-ide-ui/p-9c1b4eb9.js.map +0 -1
- package/dist/genexus-ide-ui/p-c147291f.js.map +0 -1
- package/dist/genexus-ide-ui/p-c585f865.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-c6f0f199.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-caa3c8b1.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ce59fefc.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-dc02927a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-df2e4696.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-df7151fa.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f66a086d.entry.js +0 -146
- package/dist/genexus-ide-ui/p-f66a086d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f9cd47ba.entry.js +0 -121
- package/dist/genexus-ide-ui/p-f9cd47ba.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ff934271.entry.js.map +0 -1
- package/dist/types/common/form-validation.d.ts +0 -2
- package/dist/types/common/grid.d.ts +0 -10
- /package/dist/{types/common/interfaces.d.ts → collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.ja.json} +0 -0
- /package/dist/genexus-ide-ui/{p-7fe1ceb9.entry.js.map → p-03a88768.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-309544a8.js.map → p-07b9c2d4.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fc6040c7.entry.js.map → p-09cc20b1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-cad2b413.entry.js.map → p-27fcaad7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8be06716.entry.js.map → p-2fd83e6c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8dfde4d9.entry.js.map → p-38f61bea.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1cbf3ae4.entry.js.map → p-3b5b6908.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-947149d1.entry.js.map → p-3e48e2f6.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c3fbfe7b.entry.js.map → p-68810397.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-03c0d269.entry.js.map → p-69a83248.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-357b287c.entry.js.map → p-6da8bf60.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fc55b26e.entry.js.map → p-7ac25fc3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f744e80f.entry.js.map → p-7b8e41dd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-06cb63b5.entry.js.map → p-8da18e59.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4dbaf435.entry.js.map → p-980f96c5.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b01eccc2.entry.js.map → p-a04d556d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fa07dd86.entry.js.map → p-a3daa189.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a5c15051.entry.js.map → p-ad92d701.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0b854804.js.map → p-af836892.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c8f4d24c.entry.js.map → p-bb1d0ab8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ca73836a.entry.js.map → p-c64a4398.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c6cf40ab.entry.js.map → p-c79243c8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7e2ea144.entry.js.map → p-d178da38.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-97fba685.entry.js.map → p-d541640a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6b5adc13.entry.js.map → p-d9f7d2c3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9e5fa97a.entry.js.map → p-dbfddffd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-5bf67436.js.map → p-e8bdf9dc.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3ce32466.entry.js.map → p-eb52d685.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-01885db6.entry.js.map → p-edc4f1dc.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-61e2d60e.entry.js.map → p-f5c02654.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-13c68ced.js.map → p-f831f30b.js.map} +0 -0
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
const formSubmitValidation = (o, n) => {
|
|
2
|
-
var r;
|
|
3
|
-
(r = o.fieldErrors) === null || r === void 0 ? void 0 : r.forEach((o => {
|
|
4
|
-
const r = o.key;
|
|
5
|
-
const s = o.message;
|
|
6
|
-
const e = o.hasError;
|
|
7
|
-
const t = n[`${r}El`];
|
|
8
|
-
if (t && e && s.trim()) {
|
|
9
|
-
console.log("hasError");
|
|
10
|
-
t.validationStatus = "error";
|
|
11
|
-
t.validationMessage = s;
|
|
12
|
-
} else if (t && !e) {
|
|
13
|
-
t.validationStatus = "indeterminate";
|
|
14
|
-
t.validationMessage = null;
|
|
15
|
-
}
|
|
16
|
-
}));
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export { formSubmitValidation as f };
|
|
20
|
-
//# sourceMappingURL=p-00095d68.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["formSubmitValidation","result","ref","_a","fieldErrors","forEach","element","key","message","hasError","reference","trim","console","log","validationStatus","validationMessage"],"sources":["src/common/form-validation.ts"],"sourcesContent":["import { FormSubmitResult, ConnectionResultData } from \"../common/types\";\nimport { FormComponent } from \"@genexus/gemini/dist/types/common/interfaces\";\n\nexport const formSubmitValidation = (\n result: FormSubmitResult | ConnectionResultData,\n ref: any\n) => {\n result.fieldErrors?.forEach(element => {\n const key = element.key;\n const message = element.message;\n const hasError = element.hasError;\n\n const reference: FormComponent = ref[`${key}El`];\n if (reference && hasError && message.trim()) {\n console.log(\"hasError\");\n reference.validationStatus = \"error\";\n reference.validationMessage = message;\n } else if (reference && !hasError) {\n reference.validationStatus = \"indeterminate\";\n reference.validationMessage = null;\n }\n });\n};\n"],"mappings":"MAGaA,uBAAuB,CAClCC,GACAC;;GAEAC,IAAAF,EAAOG,iBAAW,QAAAD,WAAA,aAAAA,EAAEE,SAAQC;IAC1B,MAAMC,IAAMD,EAAQC;IACpB,MAAMC,IAAUF,EAAQE;IACxB,MAAMC,IAAWH,EAAQG;IAEzB,MAAMC,IAA2BR,EAAI,GAAGK;IACxC,IAAIG,KAAaD,KAAYD,EAAQG,QAAQ;MAC3CC,QAAQC,IAAI;MACZH,EAAUI,mBAAmB;MAC7BJ,EAAUK,oBAAoBP;WACzB,IAAIE,MAAcD,GAAU;MACjCC,EAAUI,mBAAmB;MAC7BJ,EAAUK,oBAAoB;;;AAEhC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["KB_PROPERTY","KB_OBJECT","getPropertyIcon","typeId","kbPropertiesTypes","propertyType","find","id","icon","undefined","convertObjectTypeToTreeItem","objectType","caption","name","startImgSrc","leaf","parts","expanded","items","convertObjectToTreeItem","object","objectTypes","get","metadata","findObjectInTree","actualTreeState","objectTreeItemInfo","objectExists","objectTypeIndex","objectTypeTreeItemIndex","findIndex","objectTypeTreeItem","objectFound","_a","objectTreeItem","findPropertyInTree","property","updatedTreeData","found","node","convertPropertyToTreeItem","updateTreeModelWithObjects","objects","forEach","push","objectAsTreeItem","convertKbPropertiesDataToTreeItemData","properties","propertyAlreadyExists","propertyTreeItem","unshift","clearKbPropertiesFromTree","kBPropertiesData","length","kBPropertiesDataIds","map","treeModelWithoutKbProperties","filter","item","includes","kbManagerExportCss","CSS_BUNDLES","GxIdeKbManagerExport","this","checkedPropertiesIds","renderedFirstTime","flattenedObjectTypes","Map","evaluateObjects","noObjects","treeModel","optionsCallbackHandler","optionsCallback","addKBPropertiesCallbackHandler","async","e","checked","detail","value","addKbPropertiesIsChecked","addKBPropertiesCallback","newTreeModel","objectsWithoutProperties","addObjectsCallbackHandler","addObjectsCallback","updateObjects","addReferencesCallbackHandler","addReferencesCallback","checkedObjectsIds","objectsTreeCheckedItemsChangedHandler","event","allItemsWithCheckbox","values","exportCallbackHandler","exportCallback","exportingIsInProcess","exportAllChecked","exportAllCheckboxEl","fileName","fileNameEl","checkedKbPropertiesIds","checkedObjectIds","then","cancelCallbackHandler","cancelCallback","cancelled","clearButtonHandler","objectsTreeEl","updateAllItemsProperties","exportAllChangedHandler","exportAllIsChecked","evaluateTreeViewFilters","evaluateContentToDisplay","renderMessage","h","model","dragDisabled","dropDisabled","toggleCheckboxes","checkbox","filterType","onCheckedItemsChange","ref","el","class","nothingToDisplay","textAlign","config","gxgMessage","common","padding","type","maxWidth","part","_componentLocale","main","noObjectsToDisplay","onClick","beginByADdingSomeObjects","exportAllMessage","clearButtonDisabledConditions","checkedItems","loaderCancelCallbackHandler","onClickCancelCallbackHandler","watchTreeModelHandler","newState","watchExportingIsInProcessHandler","isExporting","loader","loaderEl","show","watchObjectTypesHandler","flattenObjectTypes","componentWillLoad","Locale","getComponentStrings","componentDidLoadEvent","emit","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","componentName","set","render","Host","noContentPadding","noHeadingPadding","headingPaddingTop","containerTitle","displayTitle","slimmerFooter","gxIdeContainer","slot","label","header","exportFileName","iconPosition","reduced","disabled","exportButton","cancelButton","optionsButton","addKnowledgeBaseDescription","onChange","exportAll","footer","clearButton","referencesButton","addButton","cancelLabel","container","loaderTitle","title"],"sources":["src/components/kb-manager-export/helpers.ts","src/components/kb-manager-export/kb-manager-export.scss?tag=gx-ide-kb-manager-export&encapsulation=shadow","src/components/kb-manager-export/kb-manager-export.tsx"],"sourcesContent":["// /* Tree View */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport {\n ObjectData,\n ObjectType,\n KBPropertyData,\n KBPropertyType\n} from \"./kb-manager-export\";\nexport const KB_PROPERTY = \"property\";\nexport const KB_OBJECT = \"object\";\n\n/*\nINDEX:\n1. getObjectIcon\n2. convertObjectTypeToTreeItem\n3. convertObjectToTreeItem\n4. getObjectType\n5. findObjectInTree\n6. findPropertyInTree\n7. convertPropertyToTreeItem\n8. updateTreeModelWithObjects\n9. convertKbPropertiesDataToTreeItemData\n10. clearKbPropertiesFromTree\n*/\n\n/* 1.2 getIcon (for properties)*/\nconst getPropertyIcon = (\n typeId: string,\n kbPropertiesTypes: KBPropertyType[]\n): string => {\n // The object icon has to be retrieved from the ObjetTypes array, by matching the ObjectData typeId with the ObjectType id.\n const propertyType = kbPropertiesTypes.find(\n propertyType => propertyType.id === typeId\n );\n if (propertyType) {\n return propertyType.icon;\n } else {\n return undefined;\n }\n};\n\n/* 2. convertObjectTypeToTreeItem*/\nconst convertObjectTypeToTreeItem = (\n objectType: ObjectType\n): TreeViewItemModel => ({\n caption: objectType.name,\n id: objectType.id,\n startImgSrc: objectType.icon,\n leaf: false,\n parts: \"object-type tree-view-item\",\n expanded: true,\n items: []\n});\n\n/* 3. convertObjectToTreeItem*/\nconst convertObjectToTreeItem = (\n object: ObjectData,\n objectTypes: Map<string, ObjectType>\n): TreeViewItemModel => ({\n caption: object.name,\n id: object.id,\n startImgSrc: objectTypes.get(object.typeId).icon,\n parts: \"object tree-view-item\",\n metadata: KB_OBJECT,\n leaf: true\n});\n\n/* 5. findObjectInTree*/\nconst findObjectInTree = (\n object: ObjectData,\n actualTreeState: TreeViewItemModel[]\n): ObjectTreeInfo => {\n const objectTreeItemInfo = {\n objectExists: false,\n objectTypeIndex: -1\n };\n if (actualTreeState) {\n const objectTypeTreeItemIndex = actualTreeState.findIndex(\n objectTypeTreeItem => {\n return objectTypeTreeItem.id === object.typeId;\n }\n );\n if (objectTypeTreeItemIndex !== -1) {\n objectTreeItemInfo.objectTypeIndex = objectTypeTreeItemIndex;\n // objectType exists as a node in the actual tree.\n // Now try to find the object\n const objectFound = actualTreeState[objectTypeTreeItemIndex].items?.find(\n objectTreeItem => {\n return objectTreeItem.id === object.id;\n }\n );\n if (objectFound) {\n objectTreeItemInfo.objectExists = true;\n }\n }\n }\n return objectTreeItemInfo;\n};\n\n/* 6. findPropertyInTree */\nconst findPropertyInTree = (\n property: KBPropertyData,\n updatedTreeData: TreeViewItemModel[]\n): boolean => {\n const found = updatedTreeData.find(node => {\n return node.id === property.id;\n });\n if (found) {\n return true;\n }\n return false;\n};\n\n/* 7. convertPropertyToTreeItem */\nconst convertPropertyToTreeItem = (\n property: KBPropertyData,\n kbPropertiesTypes: KBPropertyType[]\n): TreeViewItemModel => ({\n caption: property.name,\n id: property.id,\n startImgSrc: getPropertyIcon(property.typeId, kbPropertiesTypes),\n parts: \"property tree-view-item\",\n metadata: KB_PROPERTY,\n leaf: true\n});\n\n/* 8. updateTreeModelWithObjects*/\nexport const updateTreeModelWithObjects = (\n objects: ObjectData[] | undefined,\n objectTypes: Map<string, ObjectType>,\n actualTreeState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n const updatedTreeData: TreeViewItemModel[] = [...actualTreeState];\n if (!objects) {\n // nothing to do\n return updatedTreeData;\n }\n objects.forEach(object => {\n // objects that already exists in the actual actualTreeState should not be added.\n // We can find the object in the actual actualTreeState.\n const objectTreeItemInfo: ObjectTreeInfo = findObjectInTree(\n object,\n updatedTreeData\n );\n if (!objectTreeItemInfo.objectExists) {\n // object does not exists in actualTreeState\n // if the objectType tree node exists, insert inside.\n // if the objectType tree node does not exists, create object type node first.\n if (objectTreeItemInfo.objectTypeIndex === -1) {\n const objectType: ObjectType = objectTypes.get(object.typeId);\n if (objectType !== undefined) {\n const objectTypeTreeItem = convertObjectTypeToTreeItem(objectType);\n objectTreeItemInfo.objectTypeIndex =\n updatedTreeData.push(objectTypeTreeItem) - 1;\n }\n }\n const objectAsTreeItem: TreeViewItemModel = convertObjectToTreeItem(\n object,\n objectTypes\n );\n // insert object in tree (under the object type tree node)\n updatedTreeData[objectTreeItemInfo.objectTypeIndex].items.push(\n objectAsTreeItem\n );\n }\n });\n return updatedTreeData;\n};\n\n/* 9. convertKbPropertiesDataToTreeItemData*/\nexport const convertKbPropertiesDataToTreeItemData = (\n properties: KBPropertyData[],\n kbPropertiesTypes: KBPropertyType[],\n actualTreeState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n const updatedTreeData: TreeViewItemModel[] = [...actualTreeState];\n if (!properties) {\n // nothing to do\n return updatedTreeData;\n }\n properties.forEach(property => {\n // properties have no parent node, and they should be added at the beginning of the tree\n const propertyAlreadyExists = findPropertyInTree(property, updatedTreeData);\n if (!propertyAlreadyExists) {\n const propertyTreeItem = convertPropertyToTreeItem(\n property,\n kbPropertiesTypes\n );\n updatedTreeData.unshift(propertyTreeItem);\n }\n });\n return updatedTreeData;\n};\n\ntype ObjectTreeInfo = {\n objectExists: boolean;\n objectTypeIndex: number;\n};\n\n/* 10. clearKbPropertiesFromTree*/\nexport const clearKbPropertiesFromTree = (\n kBPropertiesData: KBPropertyData[],\n actualTreeState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n if (!(actualTreeState.length > 0)) {\n // nothing to do.\n return [];\n }\n const kBPropertiesDataIds: string[] = kBPropertiesData.map(property => {\n return property.id;\n });\n\n const treeModelWithoutKbProperties: TreeViewItemModel[] =\n actualTreeState.filter(item => {\n return !kBPropertiesDataIds.includes(item.id);\n });\n\n return treeModelWithoutKbProperties;\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n/*general*/\n.tree-view-container {\n display: flex;\n}\n\n/*Header*/\n.header {\n &__top {\n border-top: 1px solid var(--gx-ide-container-border-color);\n //border-bottom: 1px solid var(--gx-ide-container-border-color);\n display: grid;\n padding: var(--gx-ide-container__padding) var(--gx-ide-container__padding) 0\n var(--gx-ide-container__padding);\n gap: var(--gx-ide-grid-column-gap);\n grid-template-columns: 1fr auto;\n grid-template-areas: \"select-directory export-cancel-buttons-group options-btn\";\n\n .select-directory {\n grid-area: select-directory;\n }\n .export-cancel-buttons-group {\n grid-area: export-cancel-buttons-group;\n }\n .options-btn {\n grid-area: options-btn;\n }\n }\n &__bottom {\n .checkboxes-wrapper {\n padding: var(--gx-ide-grid-column-gap);\n display: flex;\n flex-wrap: wrap;\n gap: var(--gx-ide-grid-column-gap);\n\n .add-checkbox {\n display: flex;\n }\n }\n }\n}\n\n/*Main*/\n.tree-container {\n block-size: 100%;\n padding: var(--tree-container-padding);\n &--empty {\n align-items: center;\n justify-content: center;\n }\n @include gx-ide-message(\"tall\");\n}\n\ngxg-text {\n block-size: 100%;\n}\n\n// @keyframes toggleTreeObjectsVisibility {\n// 0% {\n// opacity: 1;\n// }\n// 100% {\n// opacity: 0;\n// }\n// }\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n State,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* Tree View */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport {\n TextAlign,\n TextPadding,\n TextType\n} from \"@genexus/gemini/dist/types/components/text/text\";\nimport { CheckboxInfo } from \"@genexus/gemini/dist/types/components/form-checkbox/form-checkbox\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport {\n updateTreeModelWithObjects,\n convertKbPropertiesDataToTreeItemData,\n clearKbPropertiesFromTree\n} from \"./helpers\";\n\nimport { KB_PROPERTY, KB_OBJECT } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\"\n];\n@Component({\n tag: \"gx-ide-kb-manager-export\",\n styleUrl: \"kb-manager-export.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-export\"]\n})\nexport class GxIdeKbManagerExport {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private checkedPropertiesIds: string[] = [];\n private renderedFirstTime = false;\n private flattenedObjectTypes: Map<string, ObjectType> = new Map();\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeKbManagerExportElement;\n\n private fileNameEl!: HTMLGxgFormTextElement;\n private exportAllCheckboxEl!: HTMLGxgFormCheckboxElement;\n private objectsTreeEl!: HTMLChTreeViewRenderElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private kBPropertiesData!: KBPropertyData[];\n\n // 3.STATE() VARIABLES //\n\n @State() exportAllIsChecked = false;\n @State() addKbPropertiesIsChecked = false;\n @State() checkedObjectsIds: string[] = [];\n @State() noObjects: boolean;\n\n @State() treeModel: TreeViewItemModel[] = [];\n @Watch(\"treeModel\")\n watchTreeModelHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !!(newState.length === 0 || !newState);\n }\n\n @State() exportingIsInProcess = false;\n @Watch(\"exportingIsInProcess\")\n watchExportingIsInProcessHandler(isExporting: boolean) {\n if (isExporting && this.loader) {\n this.loaderEl.show = true;\n } else if (!isExporting && this.loader) {\n this.loaderEl.show = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * It allows defining the default Export File Name\n */\n @Prop() readonly fileName: string;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Array with the possible types of KB properties\n */\n @Prop() readonly kbPropertiesTypes: KBPropertyType[];\n\n /**\n * Array of possible object types\n */\n @Prop() readonly objectTypes: ObjectType[];\n @Watch(\"objectTypes\")\n watchObjectTypesHandler(newState: ObjectType[]) {\n this.flattenObjectTypes(newState);\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly exportFileDirectoryCallback: ExportFileDirectoryCallback;\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n /**\n * Callback invoked when the user wants to include KB properties.\n */\n @Prop() readonly addKBPropertiesCallback: KBPropertiesCallback;\n\n /**\n *Callback invoked when the user wants to add all the references for the selected objects.\n *@param itemIds:string[] The selected item ids\n *@returns : Returns an object with the items and its references\n */\n @Prop() readonly addReferencesCallback: AddReferencesCallback;\n\n /**\n * Callback invoked when the user wants to add objects.\n */\n @Prop() readonly addObjectsCallback: AddObjectsCallback;\n\n /**\n *Callback invoked when the user wants to initiate the export process.\n *@param fileName:string\n *@param itemIds:string[] The selected item ids\n *@returns : It returns a boolean indicating whether the process was successful\n */\n @Prop() readonly exportCallback: ExportCallback;\n\n /**\n * Callback invoked when the user wants to cancel the export process.\n * @returns It returns a boolean indicating whether the process could be canceled or not.\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n this.evaluateObjects();\n this.flattenObjectTypes(this.objectTypes);\n }\n\n componentDidLoad() {\n this.fileNameEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateObjects = () => {\n this.noObjects = !!(this.treeModel?.length === 0 || !this.treeModel);\n };\n\n private optionsCallbackHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback();\n // returns Promise<void>\n }\n };\n\n private addKBPropertiesCallbackHandler = async (e: CustomEvent) => {\n const checked = e.detail.value;\n this.addKbPropertiesIsChecked = checked;\n if (checked && this.addKBPropertiesCallback) {\n this.kBPropertiesData = await this.addKBPropertiesCallback();\n if (this.kBPropertiesData.length === 0) {\n // nothing to do\n } else {\n // 'convertObjectDataToTreeItemData' can be used for converting KBPropertiesData as well, because the two types share the same properties\n const newTreeModel = convertKbPropertiesDataToTreeItemData(\n this.kBPropertiesData,\n this.kbPropertiesTypes,\n this.treeModel\n );\n this.treeModel = newTreeModel;\n }\n } else if (!checked) {\n // previous properties (if any) should be removed\n const objectsWithoutProperties = clearKbPropertiesFromTree(\n this.kBPropertiesData,\n this.treeModel\n );\n this.treeModel = objectsWithoutProperties;\n }\n };\n\n private addObjectsCallbackHandler = async () => {\n if (this.addObjectsCallback) {\n const objects: ObjectData[] = await this.addObjectsCallback();\n this.updateObjects(objects);\n }\n };\n\n private addReferencesCallbackHandler = async () => {\n if (this.addReferencesCallback) {\n const objects: ObjectData[] = await this.addReferencesCallback(\n this.checkedObjectsIds\n );\n this.updateObjects(objects);\n }\n };\n\n /*\n * Used to update objects. Objects are updated when calling the 'addObjectsCallback' or 'addReferencesCallback'\n */\n private updateObjects = (objects: ObjectData[]) => {\n if (objects.length) {\n const newTreeModel = updateTreeModelWithObjects(\n objects,\n this.flattenedObjectTypes,\n this.treeModel\n );\n this.treeModel = newTreeModel;\n }\n };\n\n /*\n * Update checked objects 'checkedObjectsArray' array. Used for the 'addReferencesCallback'\n */\n private objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n // filter 'checked objects' and 'checked properties' ids\n const checkedObjectsIds: string[] = [];\n const checkedPropertiesIds: string[] = [];\n const allItemsWithCheckbox = [...event.detail.values()];\n allItemsWithCheckbox.forEach(node => {\n if (node.item.checked && node.item.metadata === KB_OBJECT) {\n checkedObjectsIds.push(node.item.id);\n } else if (node.item.checked && node.item.metadata === KB_PROPERTY) {\n checkedPropertiesIds.push(node.item.id);\n }\n });\n this.checkedObjectsIds = checkedObjectsIds;\n this.checkedPropertiesIds = checkedPropertiesIds;\n };\n\n private exportCallbackHandler = async () => {\n if (this.exportCallback) {\n this.exportingIsInProcess = true;\n const exportAllChecked = this.exportAllCheckboxEl.checked;\n const fileName: string = this.fileNameEl.value;\n const checkedKbPropertiesIds = this.addKbPropertiesIsChecked\n ? this.checkedPropertiesIds\n : [];\n const checkedObjectIds = exportAllChecked\n ? undefined\n : this.checkedObjectsIds;\n this.exportCallback(\n fileName,\n checkedKbPropertiesIds,\n checkedObjectIds\n ).then(() => {\n this.exportingIsInProcess = false;\n });\n // returns Promise<boolean> but no procedure was detailed on the spec.\n }\n };\n\n private cancelCallbackHandler = async () => {\n if (this.cancelCallback) {\n const cancelled = await this.cancelCallback();\n if (cancelled) {\n this.exportingIsInProcess = false;\n }\n }\n };\n\n private clearButtonHandler = () => {\n /* revisar*/\n this.objectsTreeEl.updateAllItemsProperties({ checked: false });\n };\n\n private exportAllChangedHandler = (event: CustomEvent<CheckboxInfo>) => {\n this.exportAllIsChecked = event.detail.value;\n };\n\n private flattenObjectTypes(newState: ObjectType[]) {\n newState.forEach(objectType => {\n this.flattenedObjectTypes.set(objectType.id, objectType);\n });\n }\n\n private evaluateTreeViewFilters = (): string => {\n if (this.addKbPropertiesIsChecked && this.exportAllIsChecked) {\n // only show properties\n return KB_PROPERTY;\n } else if (!this.addKbPropertiesIsChecked && !this.exportAllIsChecked) {\n // only show objects\n return KB_OBJECT;\n }\n return \"none\"; // Applies if !this.addKbPropertiesIsChecked && this.exportAllIsChecked\n };\n\n private evaluateContentToDisplay = () => {\n // Nothing to display on the tree-view\n if (this.noObjects) {\n return this.renderMessage(true);\n }\n\n // The tree should be empty, because all filters are being applied.\n // Display a message to prevent a white screen.\n if (!this.addKbPropertiesIsChecked && this.exportAllIsChecked) {\n return this.renderMessage(false);\n }\n\n return (\n <ch-tree-view-render\n model={this.treeModel}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n checked={true}\n checkbox={true}\n filter={this.evaluateTreeViewFilters()}\n filterType={\n this.addKbPropertiesIsChecked && !this.exportAllIsChecked\n ? \"none\"\n : \"metadata\"\n }\n onCheckedItemsChange={this.objectsTreeCheckedItemsChangedHandler}\n ref={el => (this.objectsTreeEl = el as HTMLChTreeViewRenderElement)}\n show-lines=\"last\"\n class=\"tree-view\"\n ></ch-tree-view-render>\n );\n };\n\n private renderMessage = (nothingToDisplay: boolean) => {\n return (\n <gxg-text\n textAlign={config.gxgMessage.common.textAlign as TextAlign}\n padding={config.gxgMessage.common.textAlign as TextPadding}\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n class=\"gx-ide-message gx-ide-message--short\"\n part=\"referenced-by-empty-status-message\"\n >\n {nothingToDisplay ? (\n [\n <span>{this._componentLocale.main.noObjectsToDisplay}</span>,\n <gxg-text\n type=\"text-link-no-line\"\n textAlign=\"center\"\n onClick={this.addObjectsCallbackHandler}\n >\n {this._componentLocale.main.beginByADdingSomeObjects}\n </gxg-text>\n ]\n ) : (\n <span>{this._componentLocale.main.exportAllMessage}</span>\n )}\n </gxg-text>\n );\n };\n\n private clearButtonDisabledConditions = (): boolean => {\n const checkedItems = this.treeModel.filter(item => {\n return item.checked;\n });\n return checkedItems.length === 0;\n };\n\n private loaderCancelCallbackHandler = async () => {\n this.cancelCallbackHandler();\n };\n\n private onClickCancelCallbackHandler = async () => {\n this.cancelCallbackHandler();\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noHeadingPadding\n headingPaddingTop\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <header slot=\"header\" class=\"header\">\n {/* header top */}\n <div class=\"header__top\">\n {/* export file name*/}\n <gxg-form-text\n class={{ \"select-file-input\": true }}\n value={this.fileName}\n part=\"xpz-file\"\n label={this._componentLocale.header.exportFileName}\n ref={el => (this.fileNameEl = el as HTMLGxgFormTextElement)}\n icon=\"gemini-tools/file\"\n iconPosition=\"start\"\n ></gxg-form-text>\n {/* export button / cancel button*/}\n <gxg-buttons-container\n reduced\n class=\"export-cancel-buttons-group\"\n >\n <gxg-button\n id=\"export-kb-btn\"\n part=\"export-btn\"\n onClick={this.exportCallbackHandler}\n disabled={this.noObjects}\n >\n {this._componentLocale.header.exportButton}\n </gxg-button>\n <gxg-button\n id=\"cancel-kb-export-btn\"\n part=\"cancel-button\"\n onClick={this.onClickCancelCallbackHandler}\n disabled={!this.exportingIsInProcess || this.noObjects}\n >\n {this._componentLocale.header.cancelButton}\n </gxg-button>\n </gxg-buttons-container>\n {/* settings/options button*/}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/settings\"\n part=\"select-kb-btn\"\n class={{ \"options-btn\": true }}\n onClick={this.optionsCallbackHandler}\n >\n {this._componentLocale.header.optionsButton}\n </gxg-button>\n </div>\n {/* header bottom */}\n <div class=\"header__bottom\">\n <div class={{ \"checkboxes-wrapper\": true }}>\n {/* checkboxes */}\n <gxg-form-checkbox\n label={\n this._componentLocale.main.addKnowledgeBaseDescription\n }\n onChange={this.addKBPropertiesCallbackHandler}\n part=\"add-kb-checkbox\"\n ></gxg-form-checkbox>\n <gxg-form-checkbox\n label={this._componentLocale.main.exportAll}\n part=\"export-all-checkbox\"\n ref={el =>\n (this.exportAllCheckboxEl =\n el as HTMLGxgFormCheckboxElement)\n }\n onChange={this.exportAllChangedHandler}\n ></gxg-form-checkbox>\n </div>\n </div>\n </header>\n\n {/* main */}\n\n <div\n class={{\n \"tree-container\": true,\n \"tree-container--empty\":\n this.noObjects ||\n (!this.noObjects &&\n this.exportAllIsChecked &&\n !this.addKbPropertiesIsChecked)\n // \"tree-container--export-all\": this.exportAllIsChecked\n }}\n >\n {this.evaluateContentToDisplay()}\n </div>\n\n {/* footer */}\n {/* clear 'button' */}\n <gxg-text\n type=\"button-like\"\n part=\"export-button\"\n slot=\"footer-start\"\n onClick={this.clearButtonHandler}\n disabled={this.clearButtonDisabledConditions()}\n >\n {this._componentLocale.footer.clearButton}\n </gxg-text>\n {/* references button */}\n <gxg-button\n onClick={this.addReferencesCallbackHandler}\n type=\"outlined-text-icon\"\n icon=\"general/references\"\n part=\"export-button\"\n class={{ \"cancel-btn\": true }}\n disabled={this.exportAllIsChecked}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.referencesButton}\n </gxg-button>\n {/* add button */}\n <gxg-button\n type=\"primary-text-icon\"\n icon=\"menus/new-object\"\n part=\"export-button\"\n class={{ \"cancel-btn\": true }}\n onClick={this.addObjectsCallbackHandler}\n disabled={this.exportAllIsChecked}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.addButton}\n </gxg-button>\n </gx-ide-container>\n </div>\n {this.loader && false ? (\n <gxg-ide-loader\n cancelLabel={this._componentLocale.loader.cancelLabel}\n container={this.el}\n loaderTitle={this._componentLocale.loader.title}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n cancelCallback={this.loaderCancelCallbackHandler}\n ></gxg-ide-loader>\n ) : null}\n </Host>\n );\n }\n}\n\n/* Kb Property*/\nexport type KBPropertiesCallback = () => Promise<KBPropertyData[]>;\nexport type KBPropertyData = {\n typeId: string;\n id: string;\n name: string;\n};\nexport type KBPropertyType = {\n id: string;\n icon: string;\n};\n\n/* Objects */\nexport type ObjectData = {\n typeId: string;\n id: string;\n name: string;\n};\nexport type ObjectType = {\n id: string;\n name: string;\n icon: string;\n};\n\n/* Callbacks*/\nexport type ExportFileDirectoryCallback = () => Promise<string>;\n\nexport type OptionsCallback = () => Promise<void>;\n\nexport type AddObjectsCallback = () => Promise<ObjectData[]>;\n\nexport type ExportCallback = (\n fileName: string,\n checkedKbPropertiesIds: string[],\n checkedObjectIds: string[]\n) => Promise<boolean>;\n\nexport type AddReferencesCallback = (\n objectIds: string[]\n) => Promise<ObjectData[]>;\n\nexport type CancelCallback = () => Promise<boolean>;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["dashboardHomeCss","mapStatusToIcons","new","modified","conflicted","unmodified","mapStatusToLocale","GxIdeDashboardHome","this","renderedFirstTime","evaluateLoader","recentObjects","undefined","loaderEl","container","recentObjectsContainerEl","show","handleKbNameChange","async","updatedTitle","updatedKbName","detail","renameKBCallback","response","then","result","success","kb","name","editValidation","kbNameEl","handleEnvNameChange","renameEnvironmentCallback","envNameEl","value","environment","handleDescriptionChange","editDescriptionCallback","openObject","id","openObjectCallback","el","validationStatus","validationMessage","errorMessage","renderProjectContent","projectDescription","h","class","innerHTML","enableEditDescription","type","icon","onClick","_componentLocale","edit","recentObjectsHandler","newRecentObjects","componentWillLoad","Locale","getComponentStrings","componentDidLoad","componentDidRender","componentDidRenderFirstTime","emit","componentName","renderFrontEndTitle","frontEnd","length","frontEndLang","frontEndLangs","renderKbDates","created","lastBuild","padding","formatDate","render","Host","enableEditKBName","fluid","onValueChanged","focusType","debounce","ref","version","currentVersion","enableEditEnvironmentName","cardType","cardTitle","_b","_a","map","obj","color","style","backEnd","dataStore","editableTitle","project","title","noPaddingTop","_c","stateIcon","stateTitle","emptyState","stateDescription","description","_d","statusLocale","status","statusDescription","background","actionable","typeIcon","italic","modificationDate","loaderTitle","loader"],"sources":["src/components/dashboard-home/dashboard-home.scss?tag=gx-ide-dashboard-home&encapsulation=shadow","src/components/dashboard-home/dashboard-home.tsx"],"sourcesContent":["@import \"../../../node_modules/@genexus/gemini/dist/gemini/globals/mixins.scss\";\n@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n height: 100%;\n overflow: auto;\n margin: var(--mer-spacing--lg);\n}\n\n// Manage height and overflow\n:host,\n.gx-ide-main-wrapper,\n.grid--basic,\n.project,\n.recent-objects {\n height: 100%;\n overflow: auto;\n}\n\n.gx-ide-main-wrapper {\n container-name: dashboard-main-wrapper;\n container-type: inline-size;\n}\n\n.kb {\n grid-area: kb;\n align-self: center;\n .version-pill {\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n .kb-detail {\n display: flex;\n flex-direction: column;\n align-items: start;\n flex-wrap: wrap;\n margin-block-start: var(--mer-spacing--md);\n gap: var(--mer-spacing--md);\n .display-inline {\n @include line-clamp;\n font-style: italic;\n opacity: 0.5;\n }\n }\n}\n\n.environment {\n grid-area: environment;\n &__environments {\n padding-block-end: var(--gx-ide-grid-column-gap);\n display: flex;\n flex-direction: row;\n gap: var(--gx-ide-grid-column-gap);\n @include gxg-scrollbar;\n overflow-x: auto;\n .environment-card {\n min-width: 180px;\n flex-grow: 1;\n }\n .environment-container {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-cards-vertical-spacing);\n }\n .environment-item {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--2xs);\n }\n }\n}\n.environment-title {\n margin-block-end: var(--mer-spacing--xs);\n display: block;\n}\n\n.project {\n grid-area: project;\n .project-buttons {\n margin-block-start: var(--mer-spacing--md);\n gap: var(--mer-spacing--md);\n }\n .project-description {\n > *:first-child {\n margin-block-start: 0;\n }\n > *:last-child {\n margin-block-end: 0;\n }\n }\n}\n\n.recent-objects {\n grid-area: recent-objects;\n &__container {\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-cards-vertical-spacing);\n }\n &__object {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--gx-ide-cards-horizontal-spacing);\n .obj-name {\n color: var(--gray-06);\n }\n .col {\n display: flex;\n gap: var(--gx-ide-cards-horizontal-spacing);\n }\n }\n &__empty-state {\n height: 100%;\n }\n}\n\n.grid--basic {\n flex-grow: 1;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n gap: var(--mer-spacing--xl);\n grid-template-areas:\n \"kb environment\"\n \"project recent-objects\";\n grid-template-rows: auto 1fr;\n}\n@container (width < 768px) {\n .grid--basic {\n grid-template-rows: auto auto auto;\n grid-template-areas:\n \"kb environment\"\n \"project project\"\n \"recent-objects recent-objects\";\n }\n}\n\ngxg-title-editable {\n width: 100%;\n}\n\ngx-ide-card {\n height: 100%;\n}\n\ngxg-ide-loader::part(loader-wrapper) {\n border: var(--mer-elevation__border-01);\n border-radius: var(--gxg-card-section_border-radius);\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { formatDate } from \"../../common/helpers\";\n\nconst mapStatusToIcons: {\n [key in RecentObjectStatus]: StatusIcons;\n} = {\n \"new\": \"gx-server/new\",\n \"modified\": \"patterns-default-associated/modified\",\n \"conflicted\": \"patterns-default-associated/synchronized\",\n \"unmodified\": null,\n \"not-connected\": null\n};\n\nconst mapStatusToLocale: {\n [key in RecentObjectStatus]: string;\n} = {\n \"new\": \"new\",\n \"modified\": \"modified\",\n \"conflicted\": \"conflicted\",\n \"unmodified\": \"unmodified\",\n \"not-connected\": \"notConnected\"\n};\n\n@Component({\n tag: \"gx-ide-dashboard-home\",\n styleUrl: \"dashboard-home.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/dashboard-home\"]\n})\nexport class GxIdeDashboardHome {\n /*\n INDEX:\n 1.OWN PROPERTIES \n 2.REFERENCE TO ELEMENTS\n 3.STATE() VARIABLES\n 4.PUBLIC PROPERTY API | WATCH'S\n 5.EVENTS (EMIT)\n 6.COMPONENT LIFECYCLE METHODS\n 7.LISTENERS\n 8.PUBLIC METHODS API\n 9.LOCAL METHODS\n 10.RENDER() FUNCTIONS\n 11.RENDER() MAIN FUNCTION\n */\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDashboardHomeElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private kbNameEl!: HTMLGxgTitleEditableElement;\n private envNameEl!: HTMLGxgTitleEditableElement;\n private recentObjectsContainerEl!: HTMLGxgCardElement;\n /* private projectDescriptionEl!: HTMLGxgFormTextareaElement;*/\n\n // 3.STATE() VARIABLES //\n\n /**\n * The editing state for the environment name.\n */\n @State() editingEnvName = false;\n\n /**\n * The editing state for the project details.\n */\n @State() editingProjectDescription = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The KB basic properties.\n */\n @Prop() readonly kb: KBData;\n\n /**\n * This allows the kb to be editable by the user.\n */\n @Prop() readonly enableEditKBName: boolean = false;\n\n /**\n * Information of the current environment.\n */\n @Prop() readonly environment: EnvironmentData;\n\n /**\n * This allows the environment name to be editable by the user.\n */\n @Prop() readonly enableEditEnvironmentName: boolean = false;\n\n /**\n * Project Detail description.\n */\n @Prop() readonly projectDescription: string;\n\n /**\n * This allows the project description to be modified by the user.\n */\n @Prop() readonly enableEditDescription: boolean = false;\n\n /**\n * Recently edited objects.\n */\n @Prop() readonly recentObjects: recentObjectData[];\n @Watch(\"recentObjects\")\n recentObjectsHandler(newRecentObjects: recentObjectData[]) {\n if (newRecentObjects) {\n this.loaderEl.show = false;\n }\n }\n\n /**\n * Callback invoked when user tries to rename the KB.\n * Receives the new name as a parameter\n * and returns a promise with the result of the operation.\n */\n @Prop() readonly renameKBCallback: (name: string) => Promise<EditResult>;\n\n /**\n * Callback invoked when user tries to rename the KB environment.\n * Receives the new name as a parameter\n * and returns a promise with the result of the operation.\n */\n @Prop() readonly renameEnvironmentCallback: (\n name: string\n ) => Promise<EditResult>;\n\n /**\n * Callback invoked when user tries to edit the Project Description.\n * The edition is resolved by the host.\n */\n @Prop() readonly editDescriptionCallback: () => Promise<void>;\n\n /**\n * Callback invoked when user tries to open one of the listed Recent Objects\n * Receives the internal ID of the object\n */\n @Prop() readonly openObjectCallback: (id: string) => Promise<void>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.evaluateLoader();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateLoader = () => {\n if (this.recentObjects === undefined) {\n this.loaderEl.container = this.recentObjectsContainerEl;\n this.loaderEl.show = true;\n }\n };\n\n // Kb Name\n\n private handleKbNameChange = async (updatedTitle: CustomEvent<string>) => {\n const updatedKbName = updatedTitle.detail;\n if (this.renameKBCallback) {\n const response = this.renameKBCallback(updatedKbName);\n response.then((result: EditResult) => {\n if (result.success) {\n this.kb.name = updatedKbName;\n }\n this.editValidation(result, this.kbNameEl);\n });\n }\n };\n\n // Environment Name\n private handleEnvNameChange = async () => {\n if (this.renameEnvironmentCallback) {\n const response = this.renameEnvironmentCallback(this.envNameEl.value);\n response.then((result: EditResult) => {\n if (result.success) {\n this.environment.name = this.envNameEl.value;\n }\n this.editValidation(result, this.envNameEl);\n });\n }\n };\n\n private handleDescriptionChange = async () => {\n if (this.editDescriptionCallback) {\n await this.editDescriptionCallback();\n }\n };\n\n // Recent Objects\n\n private openObject = (id: string) => {\n this.openObjectCallback(id);\n };\n\n // Validation\n\n private editValidation = (\n result: EditResult,\n el: HTMLGxgTitleEditableElement\n ) => {\n if (!result.success) {\n el.validationStatus = \"error\";\n el.validationMessage = result.errorMessage;\n } else {\n el.validationStatus = \"indeterminate\";\n el.validationMessage = \"\";\n }\n };\n\n // 10.RENDER() FUNCTIONS //\n\n private renderProjectContent = (): Element => {\n return this.projectDescription ? (\n <div class=\"project-description\" innerHTML={this.projectDescription}>\n {this.enableEditDescription ? (\n <gxg-button\n type=\"secondary-text-icon\"\n icon=\"gemini-tools/edit\"\n onClick={this.handleDescriptionChange}\n >\n {this._componentLocale.edit}\n </gxg-button>\n ) : null}\n </div>\n ) : null;\n };\n\n private renderFrontEndTitle() {\n return this.environment.frontEnd.length <= 1\n ? this._componentLocale.environment.frontEndLang\n : this._componentLocale.environment.frontEndLangs;\n }\n\n private renderKbDates() {\n return this.kb.created || this.kb.lastBuild ? (\n <gxg-text class=\"display-inline\" type=\"text-gray\" padding=\"s\">\n {\n /* created*/\n this.kb.created\n ? `${this._componentLocale.created}: ${formatDate(\n this.kb.created,\n \"date-time-short\"\n )}`\n : null\n }\n {this.kb.created && this.kb.lastBuild ? \" - \" : null}\n {\n /* last build date */\n this.kb.lastBuild\n ? `${this._componentLocale.lastBuild}: ${formatDate(\n this.kb.lastBuild,\n \"date-time-short\"\n )}`\n : null\n }\n </gxg-text>\n ) : null;\n }\n\n // 11.RENDER() MAIN FUNCTION //\n\n render() {\n return (\n <Host>\n <div class=\"gx-ide-main-wrapper\">\n <div class=\"grid grid--basic\">\n <div class=\"kb gxi-overflow-auto\">\n <gxg-title-editable\n value={this.kb.name}\n disable-edition={!this.enableEditKBName}\n click-to-edit={true}\n fluid\n onValueChanged={this.handleKbNameChange}\n focusType=\"text\"\n debounce\n ref={el => (this.kbNameEl = el as HTMLGxgTitleEditableElement)}\n ></gxg-title-editable>\n <div class=\"align-center kb-detail\">\n <gxg-pill id=\"pill\" type=\"static\" icon=\"objects/procedure\">\n {this._componentLocale.version}: {this.kb.currentVersion}\n </gxg-pill>\n\n {this.renderKbDates()}\n </div>\n </div>\n\n <div class=\"environment\">\n <gxg-title-editable\n class=\"environment-title\"\n value={this.environment.name}\n disable-edition={!this.enableEditEnvironmentName}\n click-to-edit={true}\n title-type=\"h3\"\n ref={el => (this.envNameEl = el as HTMLGxgTitleEditableElement)}\n onValueChanged={this.handleEnvNameChange}\n focusType=\"text\"\n debounce\n ></gxg-title-editable>\n <div class=\"environment__environments\">\n <gxg-card\n cardType=\"mini\"\n class=\"environment-card\"\n cardTitle={this.renderFrontEndTitle()}\n >\n <div class=\"environment-container\">\n {this.environment?.frontEnd?.map(\n (obj: EnvironmentItemData) => (\n <div class=\"environment-item\">\n <gxg-icon\n type={obj.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {obj.name}\n </div>\n )\n )}\n </div>\n </gxg-card>\n <gxg-card\n cardType=\"mini\"\n class=\"environment-card\"\n cardTitle={this._componentLocale.environment.backEnd}\n >\n <div class=\"environment-container\">\n <div class=\"environment-item\">\n <gxg-icon\n type={this.environment.backEnd.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {this.environment.backEnd.name}\n </div>\n </div>\n </gxg-card>\n\n <gxg-card\n cardType=\"mini\"\n class=\"environment-card\"\n cardTitle={this._componentLocale.environment.dataStore}\n >\n <div class=\"environment-container\">\n <div class=\"environment-item\">\n <gxg-icon\n type={this.environment.dataStore.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {this.environment.dataStore.name}\n </div>\n </div>\n </gxg-card>\n </div>\n </div>\n\n <gxg-card\n editableTitle={false}\n cardTitle={this._componentLocale.project.title}\n class=\"project\"\n >\n {/* <gxg-tabs height=\"auto\" minWidth=\"100%\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.description}\n tab=\"description\"\n is-selected\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.lookFeel}\n tab=\"lookFeel\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.architecture}\n tab=\"architecture\"\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab noPadding tab=\"description\" flexContainer>\n {this.renderProjectContent()}\n </gxg-tab>\n <gxg-tab noPadding tab=\"lookFeel\" flexContainer></gxg-tab>\n <gxg-tab noPadding tab=\"architecture\" flexContainer></gxg-tab>\n </gxg-tabs> */}\n {this.renderProjectContent()}\n </gxg-card>\n\n <gxg-card\n editableTitle={false}\n cardTitle={this._componentLocale.recentObjects.title}\n class=\"recent-objects\"\n cardType=\"section\"\n noPaddingTop\n ref={el =>\n (this.recentObjectsContainerEl = el as HTMLGxgCardElement)\n }\n >\n <div class=\"recent-objects__container\">\n {this.recentObjects?.length === 0 ? (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIcon=\"mercury/folder\"\n stateTitle={\n this._componentLocale.recentObjects.emptyState.title\n }\n stateDescription={\n this._componentLocale.recentObjects.emptyState.description\n }\n ></gx-ide-empty-state>\n ) : (\n this.recentObjects?.map((obj: recentObjectData) => {\n const statusLocale = mapStatusToLocale[obj.status];\n const statusDescription =\n this._componentLocale.recentObjects.status[statusLocale];\n return (\n <gxg-card\n background=\"gray-01\"\n padding=\"m\"\n cardType=\"article\"\n class=\"recent-objects__card\"\n actionable\n onClick={() => this.openObject(obj.id)}\n >\n <div class=\"recent-objects__object\">\n <div class=\"col col-left\">\n <gxg-icon\n type={obj.typeIcon}\n color=\"auto\"\n ></gxg-icon>\n <gxg-text type=\"text-regular\" class=\"obj-name\">\n {obj.name}\n </gxg-text>\n </div>\n <div class=\"col col-right\">\n <gxg-text italic>\n {statusDescription}\n {obj.status === \"modified\"\n ? formatDate(obj.modificationDate, \"date\")\n : null}\n </gxg-text>\n {obj.status !== \"unmodified\" &&\n obj.status !== \"not-connected\" ? (\n <gxg-icon\n type={mapStatusToIcons[obj.status]}\n color=\"auto\"\n ></gxg-icon>\n ) : null}\n </div>\n </div>\n </gxg-card>\n );\n })\n )}\n </div>\n </gxg-card>\n </div>\n </div>\n <gxg-ide-loader\n loaderTitle={this._componentLocale.loader.title}\n description={this._componentLocale.loader.description}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n name: string;\n currentVersion: string;\n created: Date;\n lastBuild?: Date;\n};\n\nexport type EnvironmentData = {\n name: string;\n frontEnd: EnvironmentItemData[];\n backEnd: EnvironmentItemData;\n dataStore: EnvironmentItemData;\n};\n\nexport type EnvironmentItemData = {\n icon: string;\n name: string;\n};\n\nexport type recentObjectData = {\n id: string;\n typeIcon: string;\n name: string;\n modificationDate: Date;\n status: RecentObjectStatus;\n};\n\nexport type RecentObjectStatus =\n | \"new\"\n | \"modified\"\n | \"conflicted\"\n | \"unmodified\"\n | \"not-connected\";\n\nexport type StatusIcons =\n // toDo: Add proper icons!!\n | \"gx-server/new\"\n | \"patterns-default-associated/modified\"\n | \"patterns-default-associated/synchronized\"\n | \"gx-server/delete\";\n\nexport type EditResult = {\n success: boolean;\n errorMessage: string;\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["manageModuleReferencesCss","CSS_BUNDLES","GxManageModuleReferencesV2","this","renderedFirstTime","onProgress","message","progress","state","data","selectedModuleAction","Object","assign","progressValue","progressState","handleModuleChange","event","selectedModuleId","detail","rowsId","selectedModule","modulesMap","get","moduleActionHandler","module","actionCompleted","closeProgressBar","executeActionCallbackHandler","async","executeActionCallback","moduleSelectedVersionId","id","selectedVersion","moduleSelectedVersionAction","action","selectedServerId","serverSelectedCallbackHandler","showModuleMenu","e","serverContextMenuCallback","buttonBoundingClientRect","target","getBoundingClientRect","selection","clientX","x","clientY","y","searchModulesFilterHandler","searchModulesFilterValue","trim","toLowerCase","getFilteredServerModules","serverModulesExtended","filter","nameMatch","name","includes","descriptionMatch","description","actionMatch","selectedButtonFilter","filtered","renderGridOrEmptyState","filteredServerModules","length","renderModulesVersionsGrid","renderEmptyStateModules","h","rowSelectionMode","part","class","onSelectionChanged","settingable","size","map","rowid","key","selected","type","color","moduleVersionIconColor","disabled","fit","onClick","stateIcon","stateTitle","_componentLocale","modules","noModulesFilter","moduleId","foundModule","find","moduleAction","moduleCurrentVersion","currentVersion","renderVersionIcon","renderVersionName","renderVersionWarningMessage","warningMessage","renderInstalledVersion","caption","cssClass","modulesInformation","moduleProperties","installed","notInstalled","moduleVersionsValueChangedHandler","selectedVersionId","value","updateSelectedModuleVersion","moduleVersionsItemChangedHandler","moduleSelectedVersion","versions","version","updatedSelectedModule","updatedModuleIndex","findIndex","renderModuleVersions","label","availableVersions","labelPosition","centerLabel","onValueChanged","loadingServer","item","onItemSelected","selectedButtonChangedHandler","serverItemSelectedHandler","serverId","serverValueChangedHandler","reloadServer","reload","serverSelectedCallback","serverModules","clear","modulesSelectedVersionMap","forEach","extendedModuleData","push","set","progressBarCloseHandler","setTimeout","Map","loadingServerHandler","loading","loaderEl","show","componentDidRender","componentDidRenderFirstTime","emit","componentName","componentWillLoad","Locale","getComponentStrings","el","componentDidLoad","servers","render","Host","model","noContentPadding","noAboveFooterPadding","noBorderAboveFooter","containerTitle","displayTitle","selectServer","disableFilter","showServerCommands","icon","searchModules","reduced","fullWidth","onSelectedButtonChanged","buttonsContainer","browse","updates","ref","serversDetail","renderModuleDataProperties","properties","emptyState","title","stateDescription","slot","stateType","noBorder","progressBar","defaultCaption","active","closeType","closedCallback","loaderTitle","container","borderRadius","abortTime"],"sources":["src/components/modules/manage-module-references-v2/manage-module-references.scss?tag=gx-ide-manage-module-references-v2&encapsulation=shadow","src/components/modules/manage-module-references-v2/manage-module-references-v2.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n/*--- General ---*/\np,\nul {\n font-size: var(--font-size-lg);\n margin: 0;\n}\np {\n line-height: 1.6em;\n}\n/*--- Header ---*/\n.header {\n align-items: center;\n grid-template-columns: 1fr auto;\n grid-template-rows: 1fr;\n}\n.main {\n display: grid;\n //grid-template-columns: 1fr 2fr 1fr;\n grid-template-columns: 1fr 1fr;\n grid-template-rows: 1fr;\n height: 100%;\n overflow: auto;\n}\nch-grid-columnset {\n display: none;\n}\nch-grid-row[selected] {\n gxg-icon[data-action=\"install\"] {\n //WA to improve visibility\n filter: brightness(2);\n }\n}\n.grid-cell-module {\n &__info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--mer-spacing--3xs);\n }\n &__name {\n font-weight: var(--mer-font__weight--bold);\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n }\n &__name,\n &__description {\n line-height: 1.55em;\n }\n &__description {\n padding-inline-start: 36px;\n }\n}\n\n/*--- Servers Container ---*/\n.grid-container {\n height: 100%;\n overflow: auto;\n gx-ide-empty-state {\n height: 100%;\n }\n}\n.servers-container {\n display: none;\n height: 100%;\n &__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--gxg-list-box-main__padding) var(--gxg-list-box-main__padding)\n 0 var(--gxg-list-box-main__padding);\n\n gxg-button {\n width: 100%;\n }\n }\n}\n\n/*--- Modules (Header) ---*/\n.modules {\n &__header {\n padding: var(--gxg-list-box-main__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__combo-container {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__server-commands {\n display: flex;\n gap: var(--mer-spacing--xs);\n }\n &__combo {\n gxg-combo-box {\n flex: 1;\n }\n display: flex;\n flex-direction: row;\n gap: var(--mer-spacing--xs);\n }\n &__container {\n border-inline-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n }\n &__main {\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n\n &-header {\n display: flex;\n padding: var(--mer-spacing--xs);\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n }\n}\n\n/*--- Module Info ---*/\n.module-info {\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n\n &__title {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n }\n\n &__name {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n --ds-icon-size-box--regular: 24px;\n --ds-icon-size--regular: 24px;\n font-weight: var(--mer-font__weight--bold);\n }\n\n &__header {\n padding: var(--gx-ide-container__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n\n &__action-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--mer-spacing--xs);\n &:before {\n content: \"\";\n width: var(--mer-spacing--xs);\n height: var(--mer-spacing--xs);\n border-radius: 50%;\n display: block;\n background-color: var(--mer-icon__primary--disabled);\n }\n &--installed:before {\n background-color: var(--mer-icon__primary);\n }\n &--uninstallable:before {\n background-color: var(--mer-icon__warning);\n }\n }\n\n &__warning-message {\n margin-block-start: var(--mer-spacing--2xs);\n background-color: var(--mer-color__tinted-yellow--5);\n color: var(--mer-text__on-elevation);\n border: var(--mer-border__width--sm) solid var(--mer-border-color__warning);\n border-radius: var(--mer-border__radius--sm);\n padding: var(--mer-spacing--xs) var(--mer-spacing--md);\n }\n\n &__divider {\n width: calc(100% - var(--gx-ide-container__padding) * 4);\n padding: 0 var(--gx-ide-container__padding);\n margin: 0 auto;\n border: 0;\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n &__properties {\n display: flex;\n flex-direction: column;\n padding: var(--gx-ide-container__padding);\n gap: var(--mer-spacing--xs);\n overflow: auto;\n }\n}\n\n.md-property {\n display: grid;\n gap: var(--mer-spacing--xs);\n\n &--inline {\n grid-template-columns: auto 1fr;\n }\n &--block {\n }\n &__key {\n font-weight: var(--font-weight-bold);\n max-width: 150px;\n }\n &__value {\n font-size: var(--mer-font__size--2xs);\n }\n &__key,\n &__value {\n > * {\n display: inline-block;\n }\n }\n &__list {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n > ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--2xs);\n margin-inline-start: var(--mer-spacing--xs);\n\n li {\n position: relative;\n padding-inline-start: 12px;\n line-height: var(--ds-base-font-line-height--comfortable);\n &::before {\n content: \"\";\n position: absolute;\n left: 0;\n top: 7px;\n display: inline-block;\n width: var(--mer-spacing--2xs);\n height: var(--mer-spacing--2xs);\n background-color: var(--mer-text__on-surface);\n }\n }\n }\n }\n}\n\n.md-property,\n.md-property__list {\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n padding-block-end: var(--mer-spacing--xs);\n\n &:last-child {\n border-block-end: 0;\n padding-block-end: 0;\n }\n}\n\ngxg-ide-loader {\n border-radius: var(--mer-border__radius--md);\n}\n\n.button-wrapper {\n display: grid;\n align-items: center;\n justify-content: center;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n EventEmitter,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color } from \"@genexus/gemini\";\nimport { topStateBarType } from \"@genexus/gemini\";\nimport { TabularGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport {\n ModuleServerData,\n ModuleData,\n ModuleActionType,\n ModuleFilterType,\n ExtendedModuleData\n} from \"../types\";\nimport { renderModuleDataProperties } from \"../../../common/common\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-manage-module-references-v2\",\n styleUrl: \"manage-module-references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/manage-module-references-v2\"]\n})\nexport class GxManageModuleReferencesV2 {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeManageModuleReferencesV2Element;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private serversDetail!: HTMLDivElement;\n\n // 3.STATE() VARIABLES //\n\n // Filtering modules\n @State() searchModulesFilterValue: string = \"\";\n @State() selectedButtonFilter: ModuleFilterType = \"browse\";\n @State() serverModules: ModuleData[] = [];\n @State() serverModulesExtended: ExtendedModuleData[] = [];\n @State() filteredServerModules: ExtendedModuleData[] = [];\n @State() modulesMap: Map<string, ExtendedModuleData> = new Map();\n\n @State() selectedModule: ExtendedModuleData;\n @State() selectedServerId: string;\n @State() selectedModuleAction: ActionInfo = {\n message: \"\",\n progress: 0,\n state: \"in-progress\"\n };\n @State() modulesSelectedVersionMap: Map<string, string> = new Map();\n @State() actionCompleted = true;\n @State() closeProgressBar = true;\n @State() progressValue: number = 0;\n @State() progressState: topStateBarType = \"in-progress\";\n @State() loadingServer = false;\n @Watch(\"loadingServer\")\n loadingServerHandler(loading: boolean) {\n if (loading) {\n this.loaderEl.show = true;\n } else {\n this.loaderEl.show = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * List of module servers currently cataloged\n */\n @Prop() readonly servers: ModuleServerData[] = [];\n\n /**\n * Callback invoked when a server is selected. Returns the set of modules available on that server.\n */\n @Prop() readonly serverSelectedCallback: ServerSelectedCallback;\n\n /**\n * Callback invoked when the user wants to execute the action corresponding to a selected module. When the action begins to be executed, the component must be able to show the progress of the action. For this, the onProgress parameter is available, which is in turn a callback used by the host to notify the progress by text message and percentage.\n */\n @Prop() readonly executeActionCallback: ExecuteActionCallback;\n\n /**\n * Callback invoked when an element is right clicked on servers list\n */\n @Prop() readonly serverContextMenuCallback: ServerContextMenuCallback;\n\n /**\n * Allows you to hide the button (...) that executes serverContextMenuCallback, if we do not implement the commands in a first version\n */\n @Prop() readonly showServerCommands: boolean = false;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n async componentDidLoad() {\n await this.serverSelectedCallbackHandler(this.servers[0].id, false);\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * Callback invoked to get the progress when module is performing an action\n */\n private onProgress = (\n message: string,\n progress: number,\n state: topStateBarType\n ): void => {\n const data = { message, progress, state };\n this.selectedModuleAction = { ...data };\n this.progressValue = this.selectedModuleAction.progress;\n this.progressState = this.selectedModuleAction.state;\n };\n\n /**\n * Used for changing the selected module\n */\n private handleModuleChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n const selectedModuleId = event.detail.rowsId[0];\n this.selectedModule = this.modulesMap.get(selectedModuleId);\n };\n\n private moduleActionHandler = (module: ModuleData) => () => {\n this.actionCompleted = false;\n this.closeProgressBar = false;\n this.executeActionCallbackHandler(module);\n };\n\n /**\n * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback\n */\n private executeActionCallbackHandler = async (module: ModuleData) => {\n if (this.executeActionCallback) {\n this.actionCompleted = false;\n const moduleSelectedVersionId = this.modulesMap.get(module.id)\n .selectedVersion.id;\n const moduleSelectedVersionAction = this.modulesMap.get(module.id)\n .selectedVersion.action;\n const actionCompleted = await this.executeActionCallback(\n this.selectedServerId,\n module.id,\n moduleSelectedVersionId,\n moduleSelectedVersionAction,\n this.onProgress\n );\n if (actionCompleted) {\n this.serverSelectedCallbackHandler(this.selectedServerId, false);\n }\n this.actionCompleted = true;\n }\n };\n\n private showModuleMenu = async (e: MouseEvent) => {\n if (this.serverContextMenuCallback) {\n const buttonBoundingClientRect = (\n e.target as HTMLElement\n ).getBoundingClientRect();\n await this.serverContextMenuCallback({\n selection: [this.selectedServerId],\n clientX: buttonBoundingClientRect.x,\n clientY: buttonBoundingClientRect.y\n });\n }\n };\n\n private searchModulesFilterHandler = (e: CustomEvent<string>) => {\n this.searchModulesFilterValue = e.detail.trim().toLowerCase();\n };\n\n private getFilteredServerModules = (): ExtendedModuleData[] => {\n return this.serverModulesExtended.filter(module => {\n // Filter conditions\n const nameMatch = module.selectedVersion.name\n .toLowerCase()\n .includes(this.searchModulesFilterValue);\n const descriptionMatch = module.selectedVersion.description\n .toLowerCase()\n .includes(this.searchModulesFilterValue);\n let actionMatch;\n if (this.selectedButtonFilter === \"browse\") {\n // If browse is selected, display all\n actionMatch = true;\n } else if (this.selectedButtonFilter === \"installed\") {\n actionMatch = !!(\n module.selectedVersion.action === \"update\" ||\n module.selectedVersion.action === \"restore\"\n );\n } else if (this.selectedButtonFilter === \"updates\") {\n actionMatch = !!(module.selectedVersion.action === \"update\");\n }\n\n const filtered = (nameMatch || descriptionMatch) && actionMatch;\n return filtered;\n });\n };\n\n // 9.LOCAL METHODS > RENDERS //\n private renderGridOrEmptyState = () => {\n this.filteredServerModules = this.getFilteredServerModules();\n if (this.filteredServerModules.length > 0) {\n return this.renderModulesVersionsGrid();\n } else {\n return this.renderEmptyStateModules();\n }\n };\n\n private renderModulesVersionsGrid = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"tabular-grid servers-detail no-border\"\n onSelectionChanged={this.handleModuleChange}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n size=\"min-content\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.filteredServerModules.map((module: ExtendedModuleData) => (\n <ch-tabular-grid-row\n rowid={module.id}\n key={module.id}\n selected={\n this.selectedModule && this.selectedModule.id === module.id\n }\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"grid-cell-module__info tabular-grid-cell\">\n <span class=\"grid-cell-module__name\">\n <gxg-icon\n type=\"objects/module\"\n data-action={module.selectedVersion.action}\n color={this.moduleVersionIconColor(module.id)}\n size=\"small\"\n ></gxg-icon>\n {module.selectedVersion.name}\n </span>\n <span class=\"grid-cell-module__description\">\n {module.selectedVersion.description}\n </span>\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.selectedModule && this.selectedModule.id === module.id ? (\n <div class=\"button-wrapper\">\n <gxg-button\n disabled={\n !this.actionCompleted ||\n module.selectedVersion.action === \"incompatible\" ||\n module.selectedVersion.action === \"not-installable\"\n }\n fit\n part=\"module-action\"\n onClick={this.moduleActionHandler(module)}\n >\n {module.selectedVersion.action}\n </gxg-button>\n </div>\n ) : null}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderEmptyStateModules = () => {\n return (\n <gx-ide-empty-state\n stateIcon=\"mercury/filters\"\n stateTitle={this._componentLocale.modules.noModulesFilter}\n ></gx-ide-empty-state>\n );\n };\n\n private moduleVersionIconColor = (moduleId: string): Color => {\n const foundModule = this.serverModulesExtended.find(module => {\n return module.id === moduleId;\n });\n if (foundModule) {\n const moduleAction = foundModule.selectedVersion.action;\n const moduleCurrentVersion = foundModule.currentVersion;\n if (\n moduleAction === \"not-installable\" ||\n moduleAction === \"incompatible\"\n ) {\n return \"warning\";\n } else if (!moduleCurrentVersion) {\n return \"mercury-primary-disabled\";\n } else {\n return \"mercury-primary\";\n }\n }\n\n return \"mercury-primary\";\n };\n\n private renderVersionIcon = () => {\n return (\n <gxg-icon\n type=\"objects/module\"\n color={this.moduleVersionIconColor(this.selectedModule.id)}\n ></gxg-icon>\n );\n };\n\n /* module details/information renders*/\n private renderVersionName = () => {\n return (\n <gxg-title part=\"module-info__name\" type=\"title-05\">\n <div class=\"module-info__name\">\n {this.selectedModule.selectedVersion.name}\n </div>\n </gxg-title>\n );\n };\n\n private renderVersionWarningMessage = () => {\n const warningMessage = this.selectedModule.selectedVersion.warningMessage;\n if (warningMessage) {\n return <p class=\"module-info__warning-message\">{warningMessage}</p>;\n }\n };\n\n private renderInstalledVersion = () => {\n const currentVersion = this.selectedModule.currentVersion;\n let caption;\n let cssClass = \"module-info__action-container\";\n if (currentVersion) {\n caption = `${this._componentLocale.modulesInformation.moduleProperties.installed}: ${currentVersion}`;\n cssClass += ` module-info__action-container--installed`;\n } else {\n caption =\n this._componentLocale.modulesInformation.moduleProperties.notInstalled;\n }\n return (\n <div class={cssClass}>\n <gxg-text part=\"module-info__action\">{caption}</gxg-text>\n </div>\n );\n };\n\n // Update selected version\n private moduleVersionsValueChangedHandler = (e: CustomEvent<any>) => {\n const selectedVersionId = e.detail.value;\n this.updateSelectedModuleVersion(selectedVersionId);\n };\n private moduleVersionsItemChangedHandler = (e: CustomEvent<any>) => {\n const selectedVersionId = e.detail.value;\n this.updateSelectedModuleVersion(selectedVersionId);\n };\n private updateSelectedModuleVersion = (selectedVersionId: string) => {\n const moduleSelectedVersion = this.selectedModule.versions.find(version => {\n return version.id === selectedVersionId;\n });\n if (moduleSelectedVersion) {\n const updatedSelectedModule = {\n ...this.selectedModule,\n selectedVersion: moduleSelectedVersion\n };\n this.selectedModule = updatedSelectedModule;\n\n // update module selected in modules array as well\n const updatedModuleIndex = this.serverModulesExtended.findIndex(\n module => module.id === updatedSelectedModule.id\n );\n if (updatedModuleIndex !== -1) {\n // Update the object with new information\n this.serverModulesExtended[updatedModuleIndex] = {\n ...this.serverModulesExtended[updatedModuleIndex],\n ...updatedSelectedModule\n };\n }\n }\n };\n\n private renderModuleVersions = () => {\n return (\n <div part=\"available-versions\">\n <gxg-combo-box\n id=\"versions-combo-box\"\n disable-filter\n value=\"\"\n part=\"module-versions\"\n display-validation-styles\n display-validation-message\n label={\n this._componentLocale.modulesInformation.moduleProperties\n .availableVersions\n }\n labelPosition=\"start\"\n centerLabel\n onValueChanged={this.moduleVersionsValueChangedHandler}\n disabled={this.loadingServer || !this.actionCompleted}\n >\n {this.selectedModule.versions.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.moduleVersionsItemChangedHandler}\n >\n {item.id}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n </div>\n );\n };\n\n private selectedButtonChangedHandler = (e: CustomEvent<string>) => {\n this.selectedButtonFilter = e.detail as ModuleFilterType;\n };\n\n // Update server selected\n private serverItemSelectedHandler = (\n e: CustomEvent<{\n el: HTMLGxgComboBoxItemElement;\n index: number;\n value: any;\n icon?: string;\n }>\n ) => {\n const serverId = e.detail.value;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n private serverValueChangedHandler = (e: CustomEvent<any>) => {\n const serverId = e.detail;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n\n private reloadServer = () => {\n this.serverSelectedCallbackHandler(this.selectedServerId, true);\n };\n /**\n * Change the server selected value in response to callbackServerSelected callback\n */\n private serverSelectedCallbackHandler = async (\n serverId: any,\n reload: boolean\n ) => {\n if (this.serverSelectedCallback) {\n this.loadingServer = true;\n\n // clear\n this.serverModules = [];\n this.serverModulesExtended = [];\n this.filteredServerModules = [];\n this.modulesMap.clear();\n this.modulesSelectedVersionMap.clear();\n\n this.serverModules = await this.serverSelectedCallback(serverId, reload);\n // Save modules on Map as well to get information about modules faster\n this.serverModules.forEach(module => {\n const extendedModuleData = {\n ...module,\n selectedVersion: module.versions[0]\n };\n // When the server retrieves the modules, the selected module is by default the first one.\n this.serverModulesExtended.push(extendedModuleData);\n // Save modules on a map as well, for faster retrieval.\n this.modulesMap.set(module.id, extendedModuleData);\n });\n this.selectedServerId = serverId;\n this.loadingServer = false;\n }\n };\n\n private progressBarCloseHandler = () => {\n setTimeout(() => {\n this.actionCompleted = true;\n this.closeProgressBar = true;\n // reset\n this.progressValue = 0;\n this.progressState = \"in-progress\";\n }, 400);\n // delay to force the footer line disappear after the top-state-bar has been closed.\n };\n\n // 11.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host\n class={{\n \"gx-ide-component\": true\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noAboveFooterPadding\n noBorderAboveFooter={this.closeProgressBar}\n part=\"servers\"\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {/* Servers*/}\n <main class=\"main\">\n <div class=\"modules__container\">\n <header class=\"modules__header\">\n <div class=\"modules__combo-container\">\n <gxg-label>\n {this._componentLocale.modules.selectServer}\n </gxg-label>\n <div class=\"modules__combo\">\n <gxg-combo-box\n disabled={this.loadingServer || !this.actionCompleted}\n disableFilter\n onValueChanged={this.serverValueChangedHandler}\n >\n {this.servers.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.serverItemSelectedHandler}\n >\n {item.name}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n {this.showServerCommands ? (\n <span class=\"modules__server-commands\">\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.showModuleMenu}\n ></gxg-button>\n </span>\n ) : null}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.reloadServer}\n ></gxg-button>\n </div>\n </div>\n </header>\n\n <div class=\"modules__main\">\n <div class=\"modules__main-header\">\n <gxg-form-text\n label={this._componentLocale.modules.searchModules}\n labelPosition=\"above\"\n centerLabel={false}\n onValueChanged={this.searchModulesFilterHandler}\n disabled={this.loadingServer || !this.actionCompleted}\n ></gxg-form-text>\n <gxg-buttons-container\n reduced\n fullWidth\n class=\"modules__browser\"\n onSelectedButtonChanged={\n this.selectedButtonChangedHandler\n }\n >\n <gxg-button\n id=\"browse\"\n selected\n disabled={this.loadingServer || !this.actionCompleted}\n >\n {this._componentLocale.modules.buttonsContainer.browse}\n </gxg-button>\n <gxg-button\n id=\"installed\"\n disabled={this.loadingServer || !this.actionCompleted}\n >\n {\n this._componentLocale.modules.buttonsContainer\n .installed\n }\n </gxg-button>\n <gxg-button\n id=\"updates\"\n disabled={this.loadingServer || !this.actionCompleted}\n >\n {this._componentLocale.modules.buttonsContainer.updates}\n </gxg-button>\n </gxg-buttons-container>\n </div>\n {/* modules grid*/}\n <div\n class=\"grid-container\"\n ref={el => (this.serversDetail = el as HTMLDivElement)}\n >\n {this.renderGridOrEmptyState()}\n </div>\n </div>\n </div>\n\n {/* Module version information*/}\n {this.selectedModule ? (\n <div class=\"module-info\">\n <header class=\"module-info__header\">\n <div class=\"module-info__title\">\n {this.renderVersionIcon()}\n {this.renderVersionName()}\n </div>\n {this.renderInstalledVersion()}\n {this.renderModuleVersions()}\n {this.renderVersionWarningMessage()}\n </header>\n <div class=\"module-info__properties gxg-scrollbar\">\n {renderModuleDataProperties(\n this.selectedModule.selectedVersion.properties\n )}\n </div>\n </div>\n ) : (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIcon=\"objects/module\"\n stateTitle={\n this._componentLocale.modulesInformation.emptyState.title\n }\n stateDescription={\n this._componentLocale.modulesInformation.emptyState\n .description\n }\n ></gx-ide-empty-state>\n )}\n </main>\n {/* Top State Bar*/}\n <gxg-top-state-bar\n slot=\"footer-above\"\n part=\"progress-bar\"\n stateType={this.progressState}\n noBorder\n caption={\n this.selectedModuleAction.message ||\n this._componentLocale.progressBar.defaultCaption\n }\n progress={this.progressValue}\n active={!this.actionCompleted || !this.closeProgressBar}\n closeType=\"not-progress\"\n closedCallback={this.progressBarCloseHandler}\n ></gxg-top-state-bar>\n </gx-ide-container>\n </div>\n <gxg-ide-loader\n loaderTitle={this._componentLocale.servers.loading}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n container={this.serversDetail}\n borderRadius=\"0 0 0 8px\"\n abortTime={60000}\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n\nexport type ExecuteActionCallback = (\n serverId: string,\n moduleId: string,\n moduleVersionId: string,\n action: ModuleActionType,\n onProgress: (\n message: string,\n progress: number,\n state: topStateBarType\n ) => void\n) => Promise<boolean>;\n\nexport type ServerSelectedCallback = (\n id: string,\n reload: boolean\n) => Promise<ModuleData[]>;\n\nexport type ServerContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport interface ActionInfo {\n message: string;\n progress: number;\n state: topStateBarType;\n}\n"],"mappings":";;;;;;AAAA,MAAMA,IAA4B;;AC6BlC,MAAMC,IAA8B,EAClC;;;;;;;AAOA;;MASWC,IAA0B;;;;IAO7BC,KAAAC,oBAAoB;;;;;;eA2GpBD,KAAAE,aAAa,CACnBC,GACAC,GACAC;MAEA,MAAMC,IAAO;QAAEH;QAASC;QAAUC;;MAClCL,KAAKO,uBAAoBC,OAAAC,OAAA,IAAQH;MACjCN,KAAKU,gBAAgBV,KAAKO,qBAAqBH;MAC/CJ,KAAKW,gBAAgBX,KAAKO,qBAAqBF;AAAK;;;eAM9CL,KAAAY,qBACNC;MAEA,MAAMC,IAAmBD,EAAME,OAAOC,OAAO;MAC7ChB,KAAKiB,iBAAiBjB,KAAKkB,WAAWC,IAAIL;AAAiB;IAGrDd,KAAAoB,sBAAuBC,KAAuB;MACpDrB,KAAKsB,kBAAkB;MACvBtB,KAAKuB,mBAAmB;MACxBvB,KAAKwB,6BAA6BH;AAAO;;;;IAMnCrB,KAAAwB,+BAA+BC,MAAOJ;MAC5C,IAAIrB,KAAK0B,uBAAuB;QAC9B1B,KAAKsB,kBAAkB;QACvB,MAAMK,IAA0B3B,KAAKkB,WAAWC,IAAIE,EAAOO,IACxDC,gBAAgBD;QACnB,MAAME,IAA8B9B,KAAKkB,WAAWC,IAAIE,EAAOO,IAC5DC,gBAAgBE;QACnB,MAAMT,UAAwBtB,KAAK0B,sBACjC1B,KAAKgC,kBACLX,EAAOO,IACPD,GACAG,GACA9B,KAAKE;QAEP,IAAIoB,GAAiB;UACnBtB,KAAKiC,8BAA8BjC,KAAKgC,kBAAkB;;QAE5DhC,KAAKsB,kBAAkB;;;IAInBtB,KAAAkC,iBAAiBT,MAAOU;MAC9B,IAAInC,KAAKoC,2BAA2B;QAClC,MAAMC,IACJF,EAAEG,OACFC;cACIvC,KAAKoC,0BAA0B;UACnCI,WAAW,EAACxC,KAAKgC;UACjBS,SAASJ,EAAyBK;UAClCC,SAASN,EAAyBO;;;;IAKhC5C,KAAA6C,6BAA8BV;MACpCnC,KAAK8C,2BAA2BX,EAAEpB,OAAOgC,OAAOC;AAAa;IAGvDhD,KAAAiD,2BAA2B,MAC1BjD,KAAKkD,sBAAsBC,QAAO9B;;MAEvC,MAAM+B,IAAY/B,EAAOQ,gBAAgBwB,KACtCL,cACAM,SAAStD,KAAK8C;MACjB,MAAMS,IAAmBlC,EAAOQ,gBAAgB2B,YAC7CR,cACAM,SAAStD,KAAK8C;MACjB,IAAIW;MACJ,IAAIzD,KAAK0D,yBAAyB,UAAU;;QAE1CD,IAAc;aACT,IAAIzD,KAAK0D,yBAAyB,aAAa;QACpDD,OACEpC,EAAOQ,gBAAgBE,WAAW,YAClCV,EAAOQ,gBAAgBE,WAAW;aAE/B,IAAI/B,KAAK0D,yBAAyB,WAAW;QAClDD,OAAiBpC,EAAOQ,gBAAgBE,WAAW;;MAGrD,MAAM4B,KAAYP,KAAaG,MAAqBE;MACpD,OAAOE;AAAQ;;QAKX3D,KAAA4D,yBAAyB;MAC/B5D,KAAK6D,wBAAwB7D,KAAKiD;MAClC,IAAIjD,KAAK6D,sBAAsBC,SAAS,GAAG;QACzC,OAAO9D,KAAK+D;aACP;QACL,OAAO/D,KAAKgE;;;IAIRhE,KAAA+D,4BAA4B,MAEhCE,EAAA;MACEC,kBAAiB;MACjBC,MAAK;MACLC,OAAM;MACNC,oBAAoBrE,KAAKY;OAEzBqD,EAAA;MAA2BG,OAAM;OAC/BH,EAAA;MACEK,aAAa;MACbF,OAAM;QAERH,EAAA;MACEK,aAAa;MACbC,MAAK;MACLH,OAAM;SAITpE,KAAK6D,sBAAsBW,KAAKnD,KAC/B4C,EAAA;MACEQ,OAAOpD,EAAOO;MACd8C,KAAKrD,EAAOO;MACZ+C,UACE3E,KAAKiB,kBAAkBjB,KAAKiB,eAAeW,OAAOP,EAAOO;MAE3DwC,OAAM;OAENH,EAAA;MAAsBG,OAAM;OAC1BH,EAAA;MAAMG,OAAM;OACVH,EAAA;MACEW,MAAK;MAAgB,eACRvD,EAAOQ,gBAAgBE;MACpC8C,OAAO7E,KAAK8E,uBAAuBzD,EAAOO;MAC1C2C,MAAK;QAENlD,EAAOQ,gBAAgBwB,OAE1BY,EAAA;MAAMG,OAAM;OACT/C,EAAOQ,gBAAgB2B,eAI5BS,EAAA;MAAsBG,OAAM;OACzBpE,KAAKiB,kBAAkBjB,KAAKiB,eAAeW,OAAOP,EAAOO,KACxDqC,EAAA;MAAKG,OAAM;OACTH,EAAA;MACEc,WACG/E,KAAKsB,mBACND,EAAOQ,gBAAgBE,WAAW,kBAClCV,EAAOQ,gBAAgBE,WAAW;MAEpCiD,KAAG;MACHb,MAAK;MACLc,SAASjF,KAAKoB,oBAAoBC;OAEjCA,EAAOQ,gBAAgBE,WAG1B;IAQR/B,KAAAgE,0BAA0B,MAE9BC,EAAA;MACEiB,WAAU;MACVC,YAAYnF,KAAKoF,iBAAiBC,QAAQC;;IAKxCtF,KAAA8E,yBAA0BS;MAChC,MAAMC,IAAcxF,KAAKkD,sBAAsBuC,MAAKpE,KAC3CA,EAAOO,OAAO2D;MAEvB,IAAIC,GAAa;QACf,MAAME,IAAeF,EAAY3D,gBAAgBE;QACjD,MAAM4D,IAAuBH,EAAYI;QACzC,IACEF,MAAiB,qBACjBA,MAAiB,gBACjB;UACA,OAAO;eACF,KAAKC,GAAsB;UAChC,OAAO;eACF;UACL,OAAO;;;MAIX,OAAO;AAAiB;IAGlB3F,KAAA6F,oBAAoB,MAExB5B,EAAA;MACEW,MAAK;MACLC,OAAO7E,KAAK8E,uBAAuB9E,KAAKiB,eAAeW;;+CAMrD5B,KAAA8F,oBAAoB,MAExB7B,EAAA;MAAWE,MAAK;MAAoBS,MAAK;OACvCX,EAAA;MAAKG,OAAM;OACRpE,KAAKiB,eAAeY,gBAAgBwB;IAMrCrD,KAAA+F,8BAA8B;MACpC,MAAMC,IAAiBhG,KAAKiB,eAAeY,gBAAgBmE;MAC3D,IAAIA,GAAgB;QAClB,OAAO/B,EAAA;UAAGG,OAAM;WAAgC4B;;;IAI5ChG,KAAAiG,yBAAyB;MAC/B,MAAML,IAAiB5F,KAAKiB,eAAe2E;MAC3C,IAAIM;MACJ,IAAIC,IAAW;MACf,IAAIP,GAAgB;QAClBM,IAAU,GAAGlG,KAAKoF,iBAAiBgB,mBAAmBC,iBAAiBC,cAAcV;QACrFO,KAAY;aACP;QACLD,IACElG,KAAKoF,iBAAiBgB,mBAAmBC,iBAAiBE;;MAE9D,OACEtC,EAAA;QAAKG,OAAO+B;SACVlC,EAAA;QAAUE,MAAK;SAAuB+B;AAClC;;QAKFlG,KAAAwG,oCAAqCrE;MAC3C,MAAMsE,IAAoBtE,EAAEpB,OAAO2F;MACnC1G,KAAK2G,4BAA4BF;AAAkB;IAE7CzG,KAAA4G,mCAAoCzE;MAC1C,MAAMsE,IAAoBtE,EAAEpB,OAAO2F;MACnC1G,KAAK2G,4BAA4BF;AAAkB;IAE7CzG,KAAA2G,8BAA+BF;MACrC,MAAMI,IAAwB7G,KAAKiB,eAAe6F,SAASrB,MAAKsB,KACvDA,EAAQnF,OAAO6E;MAExB,IAAII,GAAuB;QACzB,MAAMG,IAAqBxG,OAAAC,OAAAD,OAAAC,OAAA,IACtBT,KAAKiB,iBAAc;UACtBY,iBAAiBgF;;QAEnB7G,KAAKiB,iBAAiB+F;;gBAGtB,MAAMC,IAAqBjH,KAAKkD,sBAAsBgE,WACpD7F,KAAUA,EAAOO,OAAOoF,EAAsBpF;QAEhD,IAAIqF,OAAwB,GAAG;;UAE7BjH,KAAKkD,sBAAsB+D,KAAmBzG,OAAAC,OAAAD,OAAAC,OAAA,IACzCT,KAAKkD,sBAAsB+D,KAC3BD;;;;IAMHhH,KAAAmH,uBAAuB,MAE3BlD,EAAA;MAAKE,MAAK;OACRF,EAAA;MACErC,IAAG;MAAoB;MAEvB8E,OAAM;MACNvC,MAAK;MAAiB;MAAA;MAGtBiD,OACEpH,KAAKoF,iBAAiBgB,mBAAmBC,iBACtCgB;MAELC,eAAc;MACdC,aAAW;MACXC,gBAAgBxH,KAAKwG;MACrBzB,UAAU/E,KAAKyH,kBAAkBzH,KAAKsB;OAErCtB,KAAKiB,eAAe6F,SAAStC,KAAIkD,KAChCzD,EAAA;MACEyC,OAAOgB,EAAK9F;MACZ+F,gBAAgB3H,KAAK4G;OAEpBc,EAAK9F;IAQV5B,KAAA4H,+BAAgCzF;MACtCnC,KAAK0D,uBAAuBvB,EAAEpB;AAA0B;;QAIlDf,KAAA6H,4BACN1F;MAOA,MAAM2F,IAAW3F,EAAEpB,OAAO2F;MAC1B1G,KAAKiC,8BAA8B6F,GAAU;AAAM;IAE7C9H,KAAA+H,4BAA6B5F;MACnC,MAAM2F,IAAW3F,EAAEpB;MACnBf,KAAKiC,8BAA8B6F,GAAU;AAAM;IAG7C9H,KAAAgI,eAAe;MACrBhI,KAAKiC,8BAA8BjC,KAAKgC,kBAAkB;AAAK;;;eAKzDhC,KAAAiC,gCAAgCR,OACtCqG,GACAG;MAEA,IAAIjI,KAAKkI,wBAAwB;QAC/BlI,KAAKyH,gBAAgB;;gBAGrBzH,KAAKmI,gBAAgB;QACrBnI,KAAKkD,wBAAwB;QAC7BlD,KAAK6D,wBAAwB;QAC7B7D,KAAKkB,WAAWkH;QAChBpI,KAAKqI,0BAA0BD;QAE/BpI,KAAKmI,sBAAsBnI,KAAKkI,uBAAuBJ,GAAUG;;gBAEjEjI,KAAKmI,cAAcG,SAAQjH;UACzB,MAAMkH,IAAkB/H,OAAAC,OAAAD,OAAAC,OAAA,IACnBY,IAAM;YACTQ,iBAAiBR,EAAOyF,SAAS;;;oBAGnC9G,KAAKkD,sBAAsBsF,KAAKD;;oBAEhCvI,KAAKkB,WAAWuH,IAAIpH,EAAOO,IAAI2G;AAAmB;QAEpDvI,KAAKgC,mBAAmB8F;QACxB9H,KAAKyH,gBAAgB;;;IAIjBzH,KAAA0I,0BAA0B;MAChCC,YAAW;QACT3I,KAAKsB,kBAAkB;QACvBtB,KAAKuB,mBAAmB;;gBAExBvB,KAAKU,gBAAgB;QACrBV,KAAKW,gBAAgB;AAAa,UACjC;0FAAI;;oCA5dmC;gCACM;yBACX;iCACgB;iCACA;sBACA,IAAIiI;;;gCAIf;MAC1CzI,SAAS;MACTC,UAAU;MACVC,OAAO;;qCAEiD,IAAIuI;2BACnC;4BACC;yBACK;yBACS;yBACjB;wBAeO;mBAKe;;;;8BAoBA;;EAtC/C,oBAAAC,CAAqBC;IACnB,IAAIA,GAAS;MACX9I,KAAK+I,SAASC,OAAO;WAChB;MACLhJ,KAAK+I,SAASC,OAAO;;;;EA6CzB,kBAAAC;IACE,KAAKjJ,KAAKC,mBAAmB;MAC3BD,KAAKkJ,4BAA4BC,KAC/BnJ,KAAKoF,iBAAiBgE;MAExBpJ,KAAKC,oBAAoB;;;EAI7B,uBAAMoJ;IACJrJ,KAAKoF,yBAAyBkE,EAAOC,oBAAoBvJ,KAAKwJ;;EAGhE,sBAAMC;UACEzJ,KAAKiC,8BAA8BjC,KAAK0J,QAAQ,GAAG9H,IAAI;;;EA8Y/D,MAAA+H;IACE,OACE1F,EAAC2F,GAAI;MACHxF,OAAO;QACL,oBAAoB;;OAGtBH,EAAA;MAAU4F,OAAO/J;QACjBmE,EAAA;MAAKG,OAAM;OACTH,EAAA;MACE6F,kBAAgB;MAChBC,sBAAoB;MACpBC,qBAAqBhK,KAAKuB;MAC1B4C,MAAK;MACL8F,gBACEjK,KAAKkK,eAAelK,KAAKoF,iBAAiBgE,gBAAgB;OAI5DnF,EAAA;MAAMG,OAAM;OACVH,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAQG,OAAM;OACZH,EAAA;MAAKG,OAAM;OACTH,EAAA,mBACGjE,KAAKoF,iBAAiBC,QAAQ8E,eAEjClG,EAAA;MAAKG,OAAM;OACTH,EAAA;MACEc,UAAU/E,KAAKyH,kBAAkBzH,KAAKsB;MACtC8I,eAAa;MACb5C,gBAAgBxH,KAAK+H;OAEpB/H,KAAK0J,QAAQlF,KAAIkD,KAChBzD,EAAA;MACEyC,OAAOgB,EAAK9F;MACZ+F,gBAAgB3H,KAAK6H;OAEpBH,EAAKrE,UAIXrD,KAAKqK,qBACJpG,EAAA;MAAMG,OAAM;OACVH,EAAA;MACEW,MAAK;MACL0F,MAAK;MACLrF,SAASjF,KAAKkC;UAGhB,MACJ+B,EAAA;MACEW,MAAK;MACL0F,MAAK;MACLrF,SAASjF,KAAKgI;WAMtB/D,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAKG,OAAM;OACTH,EAAA;MACEmD,OAAOpH,KAAKoF,iBAAiBC,QAAQkF;MACrCjD,eAAc;MACdC,aAAa;MACbC,gBAAgBxH,KAAK6C;MACrBkC,UAAU/E,KAAKyH,kBAAkBzH,KAAKsB;QAExC2C,EAAA;MACEuG,SAAO;MACPC,WAAS;MACTrG,OAAM;MACNsG,yBACE1K,KAAK4H;OAGP3D,EAAA;MACErC,IAAG;MACH+C,UAAQ;MACRI,UAAU/E,KAAKyH,kBAAkBzH,KAAKsB;OAErCtB,KAAKoF,iBAAiBC,QAAQsF,iBAAiBC,SAElD3G,EAAA;MACErC,IAAG;MACHmD,UAAU/E,KAAKyH,kBAAkBzH,KAAKsB;OAGpCtB,KAAKoF,iBAAiBC,QAAQsF,iBAC3BrE,YAGPrC,EAAA;MACErC,IAAG;MACHmD,UAAU/E,KAAKyH,kBAAkBzH,KAAKsB;OAErCtB,KAAKoF,iBAAiBC,QAAQsF,iBAAiBE,YAKtD5G,EAAA;MACEG,OAAM;MACN0G,KAAKtB,KAAOxJ,KAAK+K,gBAAgBvB;OAEhCxJ,KAAK4D,6BAMX5D,KAAKiB,iBACJgD,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAQG,OAAM;OACZH,EAAA;MAAKG,OAAM;OACRpE,KAAK6F,qBACL7F,KAAK8F,sBAEP9F,KAAKiG,0BACLjG,KAAKmH,wBACLnH,KAAK+F,gCAER9B,EAAA;MAAKG,OAAM;OACR4G,EACChL,KAAKiB,eAAeY,gBAAgBoJ,gBAK1ChH,EAAA;MACEG,OAAM;MACNc,WAAU;MACVC,YACEnF,KAAKoF,iBAAiBgB,mBAAmB8E,WAAWC;MAEtDC,kBACEpL,KAAKoF,iBAAiBgB,mBAAmB8E,WACtC1H;SAMXS,EAAA;MACEoH,MAAK;MACLlH,MAAK;MACLmH,WAAWtL,KAAKW;MAChB4K,UAAQ;MACRrF,SACElG,KAAKO,qBAAqBJ,WAC1BH,KAAKoF,iBAAiBoG,YAAYC;MAEpCrL,UAAUJ,KAAKU;MACfgL,SAAS1L,KAAKsB,oBAAoBtB,KAAKuB;MACvCoK,WAAU;MACVC,gBAAgB5L,KAAK0I;UAI3BzE,EAAA;MACE4H,aAAa7L,KAAKoF,iBAAiBsE,QAAQZ;MAC3CgC,KAAKtB,KAAOxJ,KAAK+I,WAAWS;MAC5BsC,WAAW9L,KAAK+K;MAChBgB,cAAa;MACbC,WAAW"}
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import { r as e, c as t, h as r, H as o, g as a } from "./p-c147291f.js";
|
|
2
|
-
|
|
3
|
-
import { L as i } from "./p-74d59062.js";
|
|
4
|
-
|
|
5
|
-
import { f as s } from "./p-9265eb8d.js";
|
|
6
|
-
|
|
7
|
-
const l = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}:host{display:block;box-shadow:none;height:100%;overflow:auto;opacity:0;transition:var(--gx-ide-show-component-delay) opacity}:host(.rendered){opacity:1}gxg-tabs{background-color:transparent;box-shadow:none;height:100% !important;overflow:auto}.kbs-empty-state{height:100%}.layout{height:100%;overflow:auto}.layout gxg-card{height:100%;overflow:auto}.kbs-container,.news-container{display:flex;flex-direction:column;gap:var(--gx-ide-articles-gap)}.news-container p:first-child{margin-top:0}.news-container p:last-child{margin-bottom:0}gxg-card.section{border-bottom:2px solid var(--gray-00)}";
|
|
8
|
-
|
|
9
|
-
const n = class {
|
|
10
|
-
constructor(o) {
|
|
11
|
-
e(this, o);
|
|
12
|
-
this.componentDidRenderFirstTime = t(this, "componentDidRenderFirstTime", 7);
|
|
13
|
-
this.getNewsCallbackRecentNews = async () => new Promise((async e => {
|
|
14
|
-
if (this.getNewsCallback) {
|
|
15
|
-
const t = await this.getNewsCallback();
|
|
16
|
-
e(t);
|
|
17
|
-
}
|
|
18
|
-
}));
|
|
19
|
-
// 7.LISTENERS //
|
|
20
|
-
// 8.PUBLIC METHODS API //
|
|
21
|
-
// 9.LOCAL METHODS //
|
|
22
|
-
this.kbClickHandler = async e => {
|
|
23
|
-
const t = e.target.id;
|
|
24
|
-
if (this.openKbCallback) {
|
|
25
|
-
await this.openKbCallback(t);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
this.searchKbsInputHandler = e => {
|
|
29
|
-
this.kbsFilterValue = e.detail.toLowerCase();
|
|
30
|
-
};
|
|
31
|
-
// private NewsClickHandler = async (e: MouseEvent) => {
|
|
32
|
-
// const newsId = (e.target as HTMLElement).id;
|
|
33
|
-
// if (this.openNewsCallback) {
|
|
34
|
-
// await this.openNewsCallback(newsId);
|
|
35
|
-
// }
|
|
36
|
-
// };
|
|
37
|
-
// 9.LOCAL METHODS -> RENDERS //
|
|
38
|
-
// private renderNews = (news: NewsData): HTMLGxgCardElement | null => {
|
|
39
|
-
// if (news.id && news.title) {
|
|
40
|
-
// return (
|
|
41
|
-
// <gxg-card
|
|
42
|
-
// id={news.id}
|
|
43
|
-
// key={news.id}
|
|
44
|
-
// cardType="article"
|
|
45
|
-
// cardTitle={news.title}
|
|
46
|
-
// icon="gx-test/test-results"
|
|
47
|
-
// iconColor="auto"
|
|
48
|
-
// actionable
|
|
49
|
-
// onClick={this.NewsClickHandler}
|
|
50
|
-
// titleSemibold
|
|
51
|
-
// noHeaderBorder
|
|
52
|
-
// >
|
|
53
|
-
// {news.body ? <p>{news.body}</p> : null}
|
|
54
|
-
// </gxg-card>
|
|
55
|
-
// );
|
|
56
|
-
// }
|
|
57
|
-
// return null;
|
|
58
|
-
// };
|
|
59
|
-
// 9.LOCAL METHODS -> RENDERS //
|
|
60
|
-
this.renderKb = e => {
|
|
61
|
-
if (e.id && e.name && e.name.toLowerCase().includes(this.kbsFilterValue)) {
|
|
62
|
-
const t = s(e.lastOpenedDate, "pretty");
|
|
63
|
-
const o = t ? `${this._componentLocale.recentKbs.lastOpened} ${t}` : null;
|
|
64
|
-
return r("gxg-card", {
|
|
65
|
-
id: e.id,
|
|
66
|
-
key: e.id,
|
|
67
|
-
cardType: "article",
|
|
68
|
-
cardTitle: e.name,
|
|
69
|
-
icon: "general/knowledge-base",
|
|
70
|
-
iconColor: "auto",
|
|
71
|
-
cardSubtitle: o,
|
|
72
|
-
actionable: true,
|
|
73
|
-
filterValue: this.kbsFilterValue,
|
|
74
|
-
onClick: this.kbClickHandler
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
return null;
|
|
78
|
-
};
|
|
79
|
-
this.renderHomeTabContent = () => {
|
|
80
|
-
var e, t;
|
|
81
|
-
return r("div", {
|
|
82
|
-
class: "layout layout--two-cols"
|
|
83
|
-
}, r("gxg-card", {
|
|
84
|
-
class: "section",
|
|
85
|
-
cardTitle: this._componentLocale.recentKbs.title,
|
|
86
|
-
displayHeaderSlot: true
|
|
87
|
-
}, ((e = this.kbs) === null || e === void 0 ? void 0 : e.length) > 0 ? [ r("div", {
|
|
88
|
-
class: "kbs-container"
|
|
89
|
-
}, (t = this.kbs) === null || t === void 0 ? void 0 : t.map((e => this.renderKb(e)))), r("gxg-form-text", {
|
|
90
|
-
slot: "header",
|
|
91
|
-
placeholder: "Search KBs by name",
|
|
92
|
-
onInput: this.searchKbsInputHandler
|
|
93
|
-
}) ] : r("gx-ide-empty-state", {
|
|
94
|
-
class: "kbs-empty-state",
|
|
95
|
-
stateIcon: "mercury/folder",
|
|
96
|
-
stateTitle: " You haven't created any Knowledge Base",
|
|
97
|
-
stateDescription: "Once you have created your first knowledge base it will appear on this \n window."
|
|
98
|
-
})), r("gx-ide-recent-news", {
|
|
99
|
-
class: "section",
|
|
100
|
-
getNewsCallback: this.getNewsCallbackRecentNews,
|
|
101
|
-
openNewsCallback: this.openNewsCallback
|
|
102
|
-
}));
|
|
103
|
-
};
|
|
104
|
-
this.kbsFilterValue = "";
|
|
105
|
-
this.renderedFirstTime = false;
|
|
106
|
-
this.news = undefined;
|
|
107
|
-
this.kbs = undefined;
|
|
108
|
-
this.openKbCallback = undefined;
|
|
109
|
-
this.getNewsCallback = undefined;
|
|
110
|
-
this.openNewsCallback = undefined;
|
|
111
|
-
}
|
|
112
|
-
// 6.COMPONENT LIFECYCLE METHODS //
|
|
113
|
-
async componentWillLoad() {
|
|
114
|
-
this._componentLocale = await i.getComponentStrings(this.el);
|
|
115
|
-
}
|
|
116
|
-
componentDidRender() {
|
|
117
|
-
if (!this.renderedFirstTime) {
|
|
118
|
-
this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
|
|
119
|
-
this.renderedFirstTime = true;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
// private renderTabs = (): HTMLGxgTabsElement => {
|
|
123
|
-
// return (
|
|
124
|
-
// <gxg-tabs height="auto" minWidth="100%" no-border>
|
|
125
|
-
// <gxg-tab-bar slot="tab-bar-container" displayBorder>
|
|
126
|
-
// <gxg-tab-button
|
|
127
|
-
// slot="tab-bar"
|
|
128
|
-
// tab-label={this._componentLocale.tabs.home}
|
|
129
|
-
// tab="home"
|
|
130
|
-
// is-selected
|
|
131
|
-
// ></gxg-tab-button>
|
|
132
|
-
// <gxg-tab-button
|
|
133
|
-
// slot="tab-bar"
|
|
134
|
-
// tab-label={this._componentLocale.tabs.learn}
|
|
135
|
-
// tab="learn"
|
|
136
|
-
// disabled
|
|
137
|
-
// ></gxg-tab-button>
|
|
138
|
-
// <gxg-tab-button
|
|
139
|
-
// slot="tab-bar"
|
|
140
|
-
// tab-label={this._componentLocale.tabs.samples}
|
|
141
|
-
// tab="samples"
|
|
142
|
-
// disabled
|
|
143
|
-
// ></gxg-tab-button>
|
|
144
|
-
// <gxg-tab-button
|
|
145
|
-
// slot="tab-bar"
|
|
146
|
-
// tab-label={this._componentLocale.tabs.marketplace}
|
|
147
|
-
// tab="marketplace"
|
|
148
|
-
// disabled
|
|
149
|
-
// ></gxg-tab-button>
|
|
150
|
-
// <gxg-tab-button
|
|
151
|
-
// slot="tab-bar"
|
|
152
|
-
// tab-label={this._componentLocale.tabs.updates}
|
|
153
|
-
// tab="updates"
|
|
154
|
-
// disabled
|
|
155
|
-
// ></gxg-tab-button>
|
|
156
|
-
// </gxg-tab-bar>
|
|
157
|
-
// <gxg-tab tab="home">{this.renderHomeTabContent()}</gxg-tab>
|
|
158
|
-
// <gxg-tab tab="learn"></gxg-tab>
|
|
159
|
-
// <gxg-tab tab="samples"></gxg-tab>
|
|
160
|
-
// <gxg-tab tab="marketplace"></gxg-tab>
|
|
161
|
-
// <gxg-tab tab="updates"></gxg-tab>
|
|
162
|
-
// </gxg-tabs>
|
|
163
|
-
// );
|
|
164
|
-
// };
|
|
165
|
-
// 10.RENDER() FUNCTION //
|
|
166
|
-
render() {
|
|
167
|
-
return r(o, {
|
|
168
|
-
class: {
|
|
169
|
-
rendered: this.renderedFirstTime
|
|
170
|
-
}
|
|
171
|
-
}, this.renderHomeTabContent());
|
|
172
|
-
}
|
|
173
|
-
static get assetsDirs() {
|
|
174
|
-
return [ "gx-ide-assets/start-page" ];
|
|
175
|
-
}
|
|
176
|
-
get el() {
|
|
177
|
-
return a(this);
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
n.style = l;
|
|
182
|
-
|
|
183
|
-
export { n as gx_ide_start_page };
|
|
184
|
-
//# sourceMappingURL=p-41326e89.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["startPageCss","GxIdeStartPage","this","getNewsCallbackRecentNews","async","Promise","resolve","getNewsCallback","newsResult","kbClickHandler","e","kbId","target","id","openKbCallback","searchKbsInputHandler","kbsFilterValue","detail","toLowerCase","renderKb","kb","name","includes","formattedDate","formatDate","lastOpenedDate","subtitle","_componentLocale","recentKbs","lastOpened","h","key","cardType","cardTitle","icon","iconColor","cardSubtitle","actionable","filterValue","onClick","renderHomeTabContent","class","title","displayHeaderSlot","_a","kbs","length","_b","map","slot","placeholder","onInput","stateIcon","stateTitle","stateDescription","openNewsCallback","componentWillLoad","Locale","getComponentStrings","el","componentDidRender","renderedFirstTime","componentDidRenderFirstTime","emit","componentName","render","Host","rendered"],"sources":["src/components/start-page/start-page.scss?tag=gx-ide-start-page&encapsulation=shadow","src/components/start-page/start-page.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n box-shadow: none;\n height: 100%;\n overflow: auto;\n opacity: 0;\n transition: var(--gx-ide-show-component-delay) opacity;\n}\n:host(.rendered) {\n opacity: 1;\n}\ngxg-tabs {\n background-color: transparent;\n box-shadow: none;\n height: 100% !important;\n overflow: auto;\n}\n.kbs-empty-state {\n height: 100%;\n}\n.layout {\n height: 100%;\n overflow: auto;\n gxg-card {\n height: 100%;\n overflow: auto;\n }\n}\n.kbs-container,\n.news-container {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-articles-gap);\n}\n.news-container {\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n}\ngxg-card.section {\n border-bottom: 2px solid var(--gray-00);\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { formatDate } from \"../../common/helpers\";\n\n@Component({\n tag: \"gx-ide-start-page\",\n styleUrl: \"start-page.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/start-page\"]\n})\nexport class GxIdeStartPage {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeStartPageElement;\n // private recentNewsEl!: HTMLGxgCardElement;\n\n // 3.STATE() VARIABLES //\n\n /*\n * The filter value to search for kbs\n */\n @State() kbsFilterValue = \"\";\n\n /**\n * True if the component has been rendered for the first time.\n */\n @State() renderedFirstTime = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * A temporary array of news for testing purposes\n */\n @Prop() readonly news: NewsData[];\n\n /**\n * Ann array of the user's KB's\n */\n @Prop() readonly kbs: RecentKBData[];\n\n /**\n * Callback invoked to open a knowledge base when the user clicks on a KB card.\n */\n @Prop() readonly openKbCallback: OpenKbCallback;\n\n /**\n * Callback invoked to load the news feed (right panel \"Recent News\").\n */\n @Prop() readonly getNewsCallback: GetNewsCallback;\n\n /**\n * Callback invoked to open a news article.\n */\n @Prop() readonly openNewsCallback: OpenNewsCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n private getNewsCallbackRecentNews = async (): Promise<NewsData[]> => {\n return new Promise(async resolve => {\n if (this.getNewsCallback) {\n const newsResult = await this.getNewsCallback();\n resolve(newsResult);\n }\n });\n };\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private kbClickHandler = async (e: MouseEvent) => {\n const kbId = (e.target as HTMLElement).id;\n if (this.openKbCallback) {\n await this.openKbCallback(kbId);\n }\n };\n\n private searchKbsInputHandler = (e: CustomEvent<string>) => {\n this.kbsFilterValue = e.detail.toLowerCase();\n };\n\n // private NewsClickHandler = async (e: MouseEvent) => {\n // const newsId = (e.target as HTMLElement).id;\n // if (this.openNewsCallback) {\n // await this.openNewsCallback(newsId);\n // }\n // };\n\n // 9.LOCAL METHODS -> RENDERS //\n\n // private renderNews = (news: NewsData): HTMLGxgCardElement | null => {\n // if (news.id && news.title) {\n // return (\n // <gxg-card\n // id={news.id}\n // key={news.id}\n // cardType=\"article\"\n // cardTitle={news.title}\n // icon=\"gx-test/test-results\"\n // iconColor=\"auto\"\n // actionable\n // onClick={this.NewsClickHandler}\n // titleSemibold\n // noHeaderBorder\n // >\n // {news.body ? <p>{news.body}</p> : null}\n // </gxg-card>\n // );\n // }\n // return null;\n // };\n\n // 9.LOCAL METHODS -> RENDERS //\n\n private renderKb = (kb: RecentKBData): HTMLGxgCardElement | null => {\n if (\n kb.id &&\n kb.name &&\n kb.name.toLowerCase().includes(this.kbsFilterValue)\n ) {\n const formattedDate = formatDate(kb.lastOpenedDate, \"pretty\");\n const subtitle = formattedDate\n ? `${this._componentLocale.recentKbs.lastOpened} ${formattedDate}`\n : null;\n return (\n <gxg-card\n id={kb.id}\n key={kb.id}\n cardType=\"article\"\n cardTitle={kb.name}\n icon=\"general/knowledge-base\"\n iconColor=\"auto\"\n cardSubtitle={subtitle}\n actionable\n filterValue={this.kbsFilterValue}\n onClick={this.kbClickHandler}\n ></gxg-card>\n );\n }\n return null;\n };\n\n private renderHomeTabContent = (): HTMLElement => {\n return (\n <div class=\"layout layout--two-cols\">\n <gxg-card\n class=\"section\"\n cardTitle={this._componentLocale.recentKbs.title}\n displayHeaderSlot\n >\n {this.kbs?.length > 0 ? (\n [\n <div class=\"kbs-container\">\n {this.kbs?.map(kb => {\n return this.renderKb(kb);\n })}\n </div>,\n <gxg-form-text\n slot=\"header\"\n placeholder=\"Search KBs by name\"\n onInput={this.searchKbsInputHandler as any}\n ></gxg-form-text>\n ]\n ) : (\n <gx-ide-empty-state\n class=\"kbs-empty-state\"\n stateIcon=\"mercury/folder\"\n stateTitle=\" You haven't created any Knowledge Base\"\n stateDescription=\"Once you have created your first knowledge base it will appear on this \n window.\"\n ></gx-ide-empty-state>\n )}\n </gxg-card>\n <gx-ide-recent-news\n class=\"section\"\n getNewsCallback={this.getNewsCallbackRecentNews}\n openNewsCallback={this.openNewsCallback}\n ></gx-ide-recent-news>\n </div>\n );\n };\n\n // private renderTabs = (): HTMLGxgTabsElement => {\n // return (\n // <gxg-tabs height=\"auto\" minWidth=\"100%\" no-border>\n // <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n // <gxg-tab-button\n // slot=\"tab-bar\"\n // tab-label={this._componentLocale.tabs.home}\n // tab=\"home\"\n // is-selected\n // ></gxg-tab-button>\n // <gxg-tab-button\n // slot=\"tab-bar\"\n // tab-label={this._componentLocale.tabs.learn}\n // tab=\"learn\"\n // disabled\n // ></gxg-tab-button>\n // <gxg-tab-button\n // slot=\"tab-bar\"\n // tab-label={this._componentLocale.tabs.samples}\n // tab=\"samples\"\n // disabled\n // ></gxg-tab-button>\n // <gxg-tab-button\n // slot=\"tab-bar\"\n // tab-label={this._componentLocale.tabs.marketplace}\n // tab=\"marketplace\"\n // disabled\n // ></gxg-tab-button>\n // <gxg-tab-button\n // slot=\"tab-bar\"\n // tab-label={this._componentLocale.tabs.updates}\n // tab=\"updates\"\n // disabled\n // ></gxg-tab-button>\n // </gxg-tab-bar>\n // <gxg-tab tab=\"home\">{this.renderHomeTabContent()}</gxg-tab>\n // <gxg-tab tab=\"learn\"></gxg-tab>\n // <gxg-tab tab=\"samples\"></gxg-tab>\n // <gxg-tab tab=\"marketplace\"></gxg-tab>\n // <gxg-tab tab=\"updates\"></gxg-tab>\n // </gxg-tabs>\n // );\n // };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class={{ rendered: this.renderedFirstTime }}>\n {/* this.renderTabs()*/}\n {this.renderHomeTabContent()}\n </Host>\n );\n }\n}\n\nexport type OpenKbCallback = (id: string) => Promise<void>;\nexport type GetNewsCallback = () => Promise<NewsData[]>;\nexport type OpenNewsCallback = (id: string) => Promise<void>;\n\nexport type RecentKBData = {\n id: string;\n name: string;\n lastOpenedDate?: Date;\n};\nexport type NewsData = {\n id: string;\n title: string;\n body: string;\n};\n"],"mappings":";;;;;;AAAA,MAAMA,IAAe;;MCsBRC,IAAc;;;;IA+EjBC,KAAAC,4BAA4BC,YAC3B,IAAIC,SAAQD,MAAME;MACvB,IAAIJ,KAAKK,iBAAiB;QACxB,MAAMC,UAAmBN,KAAKK;QAC9BD,EAAQE;;;;;;QAoBNN,KAAAO,iBAAiBL,MAAOM;MAC9B,MAAMC,IAAQD,EAAEE,OAAuBC;MACvC,IAAIX,KAAKY,gBAAgB;cACjBZ,KAAKY,eAAeH;;;IAItBT,KAAAa,wBAAyBL;MAC/BR,KAAKc,iBAAiBN,EAAEO,OAAOC;AAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAoCtChB,KAAAiB,WAAYC;MAClB,IACEA,EAAGP,MACHO,EAAGC,QACHD,EAAGC,KAAKH,cAAcI,SAASpB,KAAKc,iBACpC;QACA,MAAMO,IAAgBC,EAAWJ,EAAGK,gBAAgB;QACpD,MAAMC,IAAWH,IACb,GAAGrB,KAAKyB,iBAAiBC,UAAUC,cAAcN,MACjD;QACJ,OACEO,EAAA;UACEjB,IAAIO,EAAGP;UACPkB,KAAKX,EAAGP;UACRmB,UAAS;UACTC,WAAWb,EAAGC;UACda,MAAK;UACLC,WAAU;UACVC,cAAcV;UACdW,YAAU;UACVC,aAAapC,KAAKc;UAClBuB,SAASrC,KAAKO;;;MAIpB,OAAO;AAAI;IAGLP,KAAAsC,uBAAuB;;MAC7B,OACEV,EAAA;QAAKW,OAAM;SACTX,EAAA;QACEW,OAAM;QACNR,WAAW/B,KAAKyB,iBAAiBC,UAAUc;QAC3CC,mBAAiB;WAEhBC,IAAA1C,KAAK2C,SAAG,QAAAD,WAAA,aAAAA,EAAEE,UAAS,IAAC,EAEjBhB,EAAA;QAAKW,OAAM;UACRM,IAAA7C,KAAK2C,SAAG,QAAAE,WAAA,aAAAA,EAAEC,KAAI5B,KACNlB,KAAKiB,SAASC,OAGzBU,EAAA;QACEmB,MAAK;QACLC,aAAY;QACZC,SAASjD,KAAKa;aAIlBe,EAAA;QACEW,OAAM;QACNW,WAAU;QACVC,YAAW;QACXC,kBAAiB;WAKvBxB,EAAA;QACEW,OAAM;QACNlC,iBAAiBL,KAAKC;QACtBoD,kBAAkBrD,KAAKqD;;AAErB;0BAnLgB;6BAKG;;;;;;;;EAsC7B,uBAAMC;IACJtD,KAAKyB,yBAAyB8B,EAAOC,oBAAoBxD,KAAKyD;;EAYhE,kBAAAC;IACE,KAAK1D,KAAK2D,mBAAmB;MAC3B3D,KAAK4D,4BAA4BC,KAC/B7D,KAAKyB,iBAAiBqC;MAExB9D,KAAK2D,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwK7B,MAAAI;IACE,OACEnC,EAACoC,GAAI;MAACzB,OAAO;QAAE0B,UAAUjE,KAAK2D;;OAE3B3D,KAAKsC"}
|