@genexus/genexus-ide-ui 1.1.5 → 1.1.6
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/{code-render-0e9837c4.js → code-render-55d37767.js} +3 -3
- package/dist/cjs/code-render-55d37767.js.map +1 -0
- package/dist/cjs/{form-validation-ffe2b957.js → form-validation-178cf461.js} +3 -7
- package/dist/cjs/form-validation-178cf461.js.map +1 -0
- package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +15 -9
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +4 -3
- 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 +1 -1
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +5 -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 +3 -2
- 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 +1 -1
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +3 -2
- package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +11 -9
- package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +3 -2
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +23 -18
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js +2 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +10 -6
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +5 -4
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +5 -4
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +20 -16
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +28 -20
- package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +2 -1
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +3 -2
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +5 -3
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +45 -60
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +3 -2
- 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 +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +8 -5
- 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 +1 -1
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +5 -14
- 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 +3 -3
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +7 -4
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +18 -13
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +35 -31
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +9 -6
- package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-version.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +7 -6
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +9 -5
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +23 -18
- package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +13 -7
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +7 -4
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +3 -2
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-splash.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +7 -4
- 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-team-dev-commit.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +8 -6
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +14 -8
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +21 -18
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +7 -18
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/{helpers-e5a13fa5.js → helpers-30f109a4.js} +6 -6
- package/dist/cjs/helpers-30f109a4.js.map +1 -0
- package/dist/cjs/index.cjs.js +7 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{locale-36b93b1b.js → locale-ff30a5f3.js} +4 -4
- package/dist/cjs/locale-ff30a5f3.js.map +1 -0
- package/dist/collection/common/common.js +7 -4
- package/dist/collection/common/common.js.map +1 -1
- package/dist/collection/common/form-validation.js +4 -7
- package/dist/collection/common/form-validation.js.map +1 -1
- package/dist/collection/common/helpers.js +10 -9
- package/dist/collection/common/helpers.js.map +1 -1
- package/dist/collection/common/images/ai-avatar.svg +11 -0
- package/dist/collection/common/locale.js +3 -3
- package/dist/collection/common/locale.js.map +1 -1
- package/dist/collection/common/render-suggest.js +1 -1
- package/dist/collection/common/render-suggest.js.map +1 -1
- package/dist/collection/components/_helpers/container/container.js +2 -1
- package/dist/collection/components/_helpers/container/container.js.map +1 -1
- package/dist/collection/components/_helpers/directory-selector/directory-selector.js +2 -1
- package/dist/collection/components/_helpers/directory-selector/directory-selector.js.map +1 -1
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js +4 -2
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
- package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
- package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
- package/dist/collection/components/ai-assistant/ai-assistant.js +14 -8
- package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +3 -2
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js +4 -2
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js.map +1 -1
- package/dist/collection/components/bpm/import-files/bpm-import-files.js +2 -1
- package/dist/collection/components/bpm/import-files/bpm-import-files.js.map +1 -1
- package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js +2 -1
- package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js.map +1 -1
- package/dist/collection/components/bpm/task-documents/helpers.js +1 -1
- package/dist/collection/components/bpm/task-documents/helpers.js.map +1 -1
- package/dist/collection/components/bpm/task-documents/task-documents.js +9 -7
- package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js +2 -1
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js.map +1 -1
- package/dist/collection/components/chat/code-render.js +2 -2
- package/dist/collection/components/chat/code-render.js.map +1 -1
- package/dist/collection/components/current-user-info/current-user-info.js +3 -2
- package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
- package/dist/collection/components/dashboard-home/dashboard-home.js +3 -2
- package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
- package/dist/collection/components/data-selector/data-selector.js +3 -2
- package/dist/collection/components/data-selector/data-selector.js.map +1 -1
- package/dist/collection/components/data-type-selector/data-type-selector.js +4 -3
- package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
- package/dist/collection/components/deployment-tool/deployment-tool.js +18 -11
- package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
- package/dist/collection/components/deployment-tool/helpers.js +1 -4
- package/dist/collection/components/deployment-tool/helpers.js.map +1 -1
- package/dist/collection/components/design-import/design-import.js +26 -18
- package/dist/collection/components/design-import/design-import.js.map +1 -1
- package/dist/collection/components/design-import/helpers.js +1 -1
- package/dist/collection/components/design-import/helpers.js.map +1 -1
- package/dist/collection/components/file-uploader/file-uploader.js +44 -59
- package/dist/collection/components/file-uploader/file-uploader.js.map +1 -1
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +2 -1
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +7 -4
- package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
- package/dist/collection/components/modules/edit-module-server/edit-module-server.js +2 -1
- package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js +2 -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 +4 -13
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
- package/dist/collection/components/navigation-report/navigation-report.js +6 -3
- package/dist/collection/components/navigation-report/navigation-report.js.map +1 -1
- package/dist/collection/components/new-environment/new-environment.js +15 -10
- package/dist/collection/components/new-environment/new-environment.js.map +1 -1
- package/dist/collection/components/new-kb/new-kb.js +32 -28
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/new-object/new-object.js +8 -5
- package/dist/collection/components/new-object/new-object.js.map +1 -1
- package/dist/collection/components/new-version/new-version.js +2 -2
- package/dist/collection/components/new-version/new-version.js.map +1 -1
- package/dist/collection/components/object-selector/object-selector.js +5 -4
- package/dist/collection/components/object-selector/object-selector.js.map +1 -1
- package/dist/collection/components/open-api-import/open-api-import.js +8 -4
- package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
- package/dist/collection/components/references/helpers.js +13 -9
- package/dist/collection/components/references/helpers.js.map +1 -1
- package/dist/collection/components/references/references.js +11 -9
- package/dist/collection/components/references/references.js.map +1 -1
- package/dist/collection/components/select-kb-items/helpers.js +10 -5
- package/dist/collection/components/select-kb-items/helpers.js.map +1 -1
- package/dist/collection/components/select-kb-items/select-kb-items.js +2 -1
- package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
- package/dist/collection/components/select-user-team/helpers.js +1 -1
- package/dist/collection/components/select-user-team/helpers.js.map +1 -1
- package/dist/collection/components/select-user-team/select-user-team.js +2 -1
- package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
- package/dist/collection/components/sign-in-team/sign-in-team.js +2 -1
- package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
- package/dist/collection/components/splash/splash.js +3 -2
- package/dist/collection/components/splash/splash.js.map +1 -1
- package/dist/collection/components/start-page/start-page.js +6 -3
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +21 -16
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +8 -4
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/team-dev/share-kb/share-kb.js +5 -2
- package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
- package/dist/collection/components/team-dev/update/update.js +2 -1
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -1
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
- package/dist/collection/components/welcome-page/welcome-page.js +7 -5
- package/dist/collection/components/welcome-page/welcome-page.js.map +1 -1
- package/dist/collection/components/ww-attributes/helpers.js +2 -1
- package/dist/collection/components/ww-attributes/helpers.js.map +1 -1
- package/dist/collection/components/ww-attributes/ww-attributes.js +11 -6
- package/dist/collection/components/ww-attributes/ww-attributes.js.map +1 -1
- package/dist/collection/components/ww-files/helpers.js +2 -1
- package/dist/collection/components/ww-files/helpers.js.map +1 -1
- package/dist/collection/components/ww-files/ww-files.js +18 -16
- package/dist/collection/components/ww-files/ww-files.js.map +1 -1
- package/dist/collection/components/ww-images/ww-images.js +5 -16
- package/dist/collection/components/ww-images/ww-images.js.map +1 -1
- package/dist/collection/index.js +4 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/testing/locale.e2e.js +3 -3
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/code-render.js +2 -2
- package/dist/components/code-render.js.map +1 -1
- package/dist/components/container.js +2 -1
- package/dist/components/container.js.map +1 -1
- package/dist/components/entity-selector.js +4 -2
- package/dist/components/entity-selector.js.map +1 -1
- package/dist/components/form-validation.js +2 -6
- package/dist/components/form-validation.js.map +1 -1
- package/dist/components/gx-ide-ai-assistant.js +14 -8
- package/dist/components/gx-ide-ai-assistant.js.map +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js +3 -2
- package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js +4 -2
- package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-files.js +2 -1
- package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
- package/dist/components/gx-ide-bpm-sync-gam-roles.js +2 -1
- package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-task-documents.js +10 -8
- package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js +2 -1
- package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
- package/dist/components/gx-ide-connect-gx-server.js +21 -16
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +8 -4
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-current-user-info.js +3 -2
- package/dist/components/gx-ide-current-user-info.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +3 -2
- package/dist/components/gx-ide-dashboard-home.js.map +1 -1
- package/dist/components/gx-ide-data-selector.js +3 -2
- package/dist/components/gx-ide-data-selector.js.map +1 -1
- package/dist/components/gx-ide-data-type-selector.js +4 -3
- package/dist/components/gx-ide-data-type-selector.js.map +1 -1
- package/dist/components/gx-ide-deployment-tool.js +19 -15
- package/dist/components/gx-ide-deployment-tool.js.map +1 -1
- package/dist/components/gx-ide-design-import.js +27 -19
- package/dist/components/gx-ide-design-import.js.map +1 -1
- package/dist/components/gx-ide-directory-selector.js +2 -1
- package/dist/components/gx-ide-directory-selector.js.map +1 -1
- package/dist/components/gx-ide-edit-module-server.js +2 -1
- package/dist/components/gx-ide-edit-module-server.js.map +1 -1
- package/dist/components/gx-ide-file-uploader.js +44 -59
- package/dist/components/gx-ide-file-uploader.js.map +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js +2 -1
- package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-import.js +7 -4
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references-v2.js +4 -13
- package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references.js +2 -2
- package/dist/components/gx-ide-manage-module-references.js.map +1 -1
- package/dist/components/gx-ide-navigation-report.js +6 -3
- package/dist/components/gx-ide-navigation-report.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +15 -10
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +32 -28
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-new-object.js +8 -5
- package/dist/components/gx-ide-new-object.js.map +1 -1
- package/dist/components/gx-ide-new-version.js +2 -2
- package/dist/components/gx-ide-new-version.js.map +1 -1
- package/dist/components/gx-ide-object-selector.js +5 -4
- package/dist/components/gx-ide-object-selector.js.map +1 -1
- package/dist/components/gx-ide-open-api-import.js +8 -4
- package/dist/components/gx-ide-open-api-import.js.map +1 -1
- package/dist/components/gx-ide-references.js +22 -17
- package/dist/components/gx-ide-references.js.map +1 -1
- package/dist/components/gx-ide-select-kb-items.js +12 -6
- package/dist/components/gx-ide-select-kb-items.js.map +1 -1
- package/dist/components/gx-ide-select-user-team.js +3 -2
- package/dist/components/gx-ide-select-user-team.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +5 -2
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-sign-in-team.js +2 -1
- package/dist/components/gx-ide-sign-in-team.js.map +1 -1
- package/dist/components/gx-ide-splash.js +3 -2
- package/dist/components/gx-ide-splash.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +6 -3
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +2 -1
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-welcome-page.js +7 -5
- package/dist/components/gx-ide-welcome-page.js.map +1 -1
- package/dist/components/gx-ide-ww-attributes.js +13 -7
- package/dist/components/gx-ide-ww-attributes.js.map +1 -1
- package/dist/components/gx-ide-ww-files.js +20 -17
- package/dist/components/gx-ide-ww-files.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +5 -16
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/helpers.js +5 -5
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/index.js +6 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/list-selector-item.js +1 -1
- package/dist/components/list-selector-item.js.map +1 -1
- package/dist/components/locale.js +3 -3
- package/dist/components/locale.js.map +1 -1
- package/dist/esm/{code-render-f3afd300.js → code-render-53b3b0bd.js} +3 -3
- package/dist/esm/code-render-53b3b0bd.js.map +1 -0
- package/dist/esm/{form-validation-71dca8c6.js → form-validation-cd0215c6.js} +3 -7
- package/dist/{genexus-ide-ui/p-549b8f0c.js.map → esm/form-validation-cd0215c6.js.map} +1 -1
- package/dist/esm/gx-ide-about.entry.js +1 -1
- package/dist/esm/gx-ide-ai-assistant.entry.js +15 -9
- package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +4 -3
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +5 -3
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +3 -2
- package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +3 -2
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-task-documents.entry.js +11 -9
- package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +3 -2
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
- package/dist/esm/gx-ide-card.entry.js +1 -1
- package/dist/esm/gx-ide-chat-container_2.entry.js +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +23 -18
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-container_2.entry.js +2 -1
- package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +10 -6
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-current-user-info.entry.js +4 -3
- package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +5 -4
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +4 -3
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-type-selector.entry.js +5 -4
- package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-deployment-tool.entry.js +20 -16
- package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +28 -20
- package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-directory-selector.entry.js +2 -1
- package/dist/esm/gx-ide-directory-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js +3 -2
- package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +5 -3
- package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-file-uploader.entry.js +45 -60
- package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js +3 -2
- package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +8 -5
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +5 -14
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +3 -3
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-navigation-report.entry.js +7 -4
- package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +18 -13
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +35 -31
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +9 -6
- package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-version.entry.js +3 -3
- package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +7 -6
- package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-open-api-import.entry.js +9 -5
- package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +23 -18
- package/dist/esm/gx-ide-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-sc-chat-container.entry.js +1 -1
- package/dist/esm/gx-ide-select-kb-items.entry.js +13 -7
- package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js +4 -3
- package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +7 -4
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js +3 -2
- package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in.entry.js +1 -1
- package/dist/esm/gx-ide-splash.entry.js +4 -3
- package/dist/esm/gx-ide-splash.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +7 -4
- 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-team-dev-commit.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +4 -3
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-template.entry.js +1 -1
- package/dist/esm/gx-ide-welcome-page.entry.js +8 -6
- package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
- package/dist/esm/gx-ide-ww-attributes.entry.js +14 -8
- package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js +21 -18
- package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +7 -18
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/{helpers-5f1c9a32.js → helpers-10479d69.js} +6 -6
- package/dist/esm/helpers-10479d69.js.map +1 -0
- package/dist/esm/index.js +7 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{locale-643afe17.js → locale-e5107fad.js} +4 -4
- package/dist/esm/locale-e5107fad.js.map +1 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/index.esm.js +7 -1
- package/dist/genexus-ide-ui/index.esm.js.map +1 -1
- package/dist/genexus-ide-ui/{p-11dccb8f.entry.js → p-01d96378.entry.js} +16 -17
- package/dist/genexus-ide-ui/p-01d96378.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-75e1aa31.entry.js → p-036d005d.entry.js} +5 -4
- package/dist/genexus-ide-ui/p-036d005d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f5a48b33.entry.js → p-04205aa4.entry.js} +6 -5
- package/dist/genexus-ide-ui/p-04205aa4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f6ceb01a.entry.js → p-04c6bd23.entry.js} +29 -28
- package/dist/genexus-ide-ui/p-04c6bd23.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f52bcdac.entry.js → p-0550fd5f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e1d75f00.entry.js → p-05b04291.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e1d75f00.entry.js.map → p-05b04291.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-bfd9066c.entry.js → p-0bdf34f2.entry.js} +4 -6
- package/dist/genexus-ide-ui/p-0bdf34f2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2be58a7a.entry.js → p-14165308.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-7cedb0f0.entry.js → p-1bc2613e.entry.js} +69 -66
- package/dist/genexus-ide-ui/p-1bc2613e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c5cca204.entry.js → p-1c7ea1cb.entry.js} +11 -10
- package/dist/genexus-ide-ui/p-1c7ea1cb.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-daa29451.entry.js → p-1dd7be84.entry.js} +17 -14
- package/dist/genexus-ide-ui/p-1dd7be84.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-549b8f0c.js → p-289c3290.js} +15 -16
- package/dist/genexus-ide-ui/p-289c3290.js.map +1 -0
- package/dist/genexus-ide-ui/{p-032b4a81.entry.js → p-29c69938.entry.js} +22 -19
- package/dist/genexus-ide-ui/p-29c69938.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-db4f756a.entry.js → p-3085add2.entry.js} +188 -176
- package/dist/genexus-ide-ui/p-3085add2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-857866f8.js → p-311eedf3.js} +9 -8
- package/dist/genexus-ide-ui/p-311eedf3.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2e90a13a.entry.js → p-31beae9e.entry.js} +3 -2
- package/dist/genexus-ide-ui/p-31beae9e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9a39e49c.entry.js → p-35f9ebbc.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-db4750ff.entry.js → p-385c9544.entry.js} +147 -138
- package/dist/genexus-ide-ui/p-385c9544.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8f1f4126.entry.js → p-3da8db15.entry.js} +9 -9
- package/dist/genexus-ide-ui/p-3da8db15.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b1833747.entry.js → p-4538dea5.entry.js} +31 -26
- package/dist/genexus-ide-ui/p-4538dea5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6dc05a27.entry.js → p-45996535.entry.js} +4 -3
- package/dist/genexus-ide-ui/p-45996535.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a6029d9a.entry.js → p-48062d23.entry.js} +128 -116
- package/dist/genexus-ide-ui/p-48062d23.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4d929210.entry.js → p-4b38fffc.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d1cc4724.entry.js → p-4d0ba4f6.entry.js} +8 -15
- package/dist/genexus-ide-ui/p-4d0ba4f6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-66d9269a.entry.js → p-4e943649.entry.js} +19 -16
- package/dist/genexus-ide-ui/p-4e943649.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ec01c70c.entry.js → p-67e0b419.entry.js} +7 -6
- package/dist/genexus-ide-ui/p-67e0b419.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-45d2fa91.entry.js → p-68969051.entry.js} +12 -11
- package/dist/genexus-ide-ui/p-68969051.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9b238bf7.entry.js → p-690942cb.entry.js} +178 -173
- package/dist/genexus-ide-ui/p-690942cb.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b211bca8.entry.js → p-6b957e82.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-be794132.entry.js → p-6f898249.entry.js} +233 -228
- package/dist/genexus-ide-ui/p-6f898249.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-29575656.entry.js → p-704499e5.entry.js} +116 -107
- package/dist/genexus-ide-ui/p-704499e5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ac0438d6.entry.js → p-767e0f6d.entry.js} +12 -11
- package/dist/genexus-ide-ui/p-767e0f6d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6168d48c.entry.js → p-7abe2214.entry.js} +167 -160
- package/dist/genexus-ide-ui/p-7abe2214.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-50eaa96d.entry.js → p-7d8812b0.entry.js} +99 -89
- package/dist/genexus-ide-ui/p-7d8812b0.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9c690c36.entry.js → p-88c81f18.entry.js} +13 -12
- package/dist/genexus-ide-ui/p-88c81f18.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5e05f830.entry.js → p-8cb937b7.entry.js} +35 -31
- package/dist/genexus-ide-ui/p-8cb937b7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-9ddea83b.js +146 -0
- package/dist/genexus-ide-ui/p-9ddea83b.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2dbf722d.entry.js → p-9fa1200f.entry.js} +75 -69
- package/dist/genexus-ide-ui/p-9fa1200f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-0e53f1ef.entry.js → p-a1415a9c.entry.js} +161 -159
- package/dist/genexus-ide-ui/p-a1415a9c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c30b2104.entry.js → p-a47d71eb.entry.js} +11 -9
- package/dist/genexus-ide-ui/p-a47d71eb.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f315c6e0.entry.js → p-aab809c4.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-f5879a41.entry.js → p-b1851e6b.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-f5879a41.entry.js.map → p-b1851e6b.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-95f831a8.entry.js → p-b2928645.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-39c527ff.entry.js → p-b58fb87b.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a86a8692.entry.js → p-c38ce0bf.entry.js} +36 -32
- package/dist/genexus-ide-ui/p-c38ce0bf.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3edbf07d.js → p-c5178973.js} +3 -3
- package/dist/genexus-ide-ui/{p-3edbf07d.js.map → p-c5178973.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-0d83a34d.entry.js → p-c7badbf1.entry.js} +66 -62
- package/dist/genexus-ide-ui/p-c7badbf1.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-970d16ca.entry.js → p-c91af626.entry.js} +15 -15
- package/dist/genexus-ide-ui/{p-970d16ca.entry.js.map → p-c91af626.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-8b046b4b.entry.js → p-d095a37c.entry.js} +10 -9
- package/dist/genexus-ide-ui/p-d095a37c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e37e95e7.entry.js → p-d2107cb2.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-353810b8.entry.js → p-d3767a7d.entry.js} +104 -99
- package/dist/genexus-ide-ui/p-d3767a7d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-02fc47cd.entry.js → p-d8379699.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-cdf8b082.entry.js → p-da473001.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-501c7b1f.entry.js → p-de7f0c1f.entry.js} +22 -19
- package/dist/genexus-ide-ui/p-de7f0c1f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5da3e999.entry.js → p-ded7444c.entry.js} +17 -16
- package/dist/genexus-ide-ui/p-ded7444c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9a9ee1ee.entry.js → p-e24902a0.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-5a42428d.entry.js → p-e28e6bc4.entry.js} +15 -14
- package/dist/genexus-ide-ui/p-e28e6bc4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-7782e1b8.entry.js → p-e502c2fd.entry.js} +61 -56
- package/dist/genexus-ide-ui/p-e502c2fd.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f2bd9044.entry.js → p-e7fb3ee3.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e5571f49.entry.js → p-eb9e760d.entry.js} +18 -18
- package/dist/genexus-ide-ui/p-eb9e760d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-eb51429c.entry.js → p-ec0809a7.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-460db3ff.entry.js → p-ecba870e.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-e26e05c7.entry.js → p-f49bb305.entry.js} +18 -12
- package/dist/genexus-ide-ui/p-f49bb305.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8636a0bd.entry.js → p-f722955f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a8cc41e4.entry.js → p-f7421997.entry.js} +61 -58
- package/dist/genexus-ide-ui/p-f7421997.entry.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/package.json +3 -3
- package/dist/cjs/code-render-0e9837c4.js.map +0 -1
- package/dist/cjs/form-validation-ffe2b957.js.map +0 -1
- package/dist/cjs/helpers-e5a13fa5.js.map +0 -1
- package/dist/cjs/locale-36b93b1b.js.map +0 -1
- package/dist/esm/code-render-f3afd300.js.map +0 -1
- package/dist/esm/form-validation-71dca8c6.js.map +0 -1
- package/dist/esm/helpers-5f1c9a32.js.map +0 -1
- package/dist/esm/locale-643afe17.js.map +0 -1
- package/dist/genexus-ide-ui/p-032b4a81.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-0d83a34d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-0e53f1ef.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-11dccb8f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-29575656.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-2dbf722d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-2e90a13a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-353810b8.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-45d2fa91.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-501c7b1f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-50eaa96d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-51601b85.js +0 -145
- package/dist/genexus-ide-ui/p-51601b85.js.map +0 -1
- package/dist/genexus-ide-ui/p-5a42428d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5da3e999.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5e05f830.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6168d48c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-66d9269a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6dc05a27.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-75e1aa31.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-7782e1b8.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-7cedb0f0.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-857866f8.js.map +0 -1
- package/dist/genexus-ide-ui/p-8b046b4b.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8f1f4126.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9b238bf7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9c690c36.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a6029d9a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a86a8692.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a8cc41e4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ac0438d6.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-b1833747.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-be794132.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bfd9066c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-c30b2104.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-c5cca204.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-d1cc4724.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-daa29451.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-db4750ff.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-db4f756a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e26e05c7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e5571f49.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ec01c70c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f5a48b33.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f6ceb01a.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-f52bcdac.entry.js.map → p-0550fd5f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2be58a7a.entry.js.map → p-14165308.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9a39e49c.entry.js.map → p-35f9ebbc.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4d929210.entry.js.map → p-4b38fffc.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b211bca8.entry.js.map → p-6b957e82.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f315c6e0.entry.js.map → p-aab809c4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-95f831a8.entry.js.map → p-b2928645.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-39c527ff.entry.js.map → p-b58fb87b.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e37e95e7.entry.js.map → p-d2107cb2.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-02fc47cd.entry.js.map → p-d8379699.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-cdf8b082.entry.js.map → p-da473001.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9a9ee1ee.entry.js.map → p-e24902a0.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f2bd9044.entry.js.map → p-e7fb3ee3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-eb51429c.entry.js.map → p-ec0809a7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-460db3ff.entry.js.map → p-ecba870e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8636a0bd.entry.js.map → p-f722955f.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-data-selector.js","mappings":"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","names":["GxIdeDataSelector"],"sources":["src/components/data-selector/data-selector.scss?tag=gx-ide-data-selector&encapsulation=shadow","src/components/data-selector/data-selector.tsx"],"sourcesContent":["@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\"; // for the tabular-grid-cell-layout mixin\n\n:host {\n display: grid;\n grid-template-rows: max-content 1fr max-content;\n overflow: auto;\n block-size: 100%;\n}\n\n.section {\n display: contents;\n}\n\n.header__field-group {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n\n.tabular-grid {\n contain: size;\n}\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".data\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 2,\n 3,\n 4\n )\n);\n\nch-tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\nch-tabular-grid-rowset-empty {\n // to make the loader be positioned relative to 'ch-tabular-grid-rowset-empty'\n position: relative;\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\n\nimport { Locale } from \"../../common/locale\";\n\nimport { config } from \"../../common/config\";\nimport { EntityData } from \"../../common/types\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { TabularGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\n\n// Best performance bundle\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/edit\",\n \"components/tabular-grid\",\n \"components/icon\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\n\n@Component({\n tag: \"gx-ide-data-selector\",\n styleUrl: \"data-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/data-selector\"]\n})\nexport class GxIdeDataSelector {\n #firstGridObjectId: string; // used to select the first item after \"loadItemsCallback\"\n #loadItemsCallbackJustCalled: boolean = false; // used to select the first item after \"loadItemsCallback\"\n\n #componentLocale: any;\n #animateEmptyState: boolean = false;\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/data-selector/shortcuts.json`);\n /* References needed to collect data */\n #filterPatternEl!: HTMLChEditElement;\n #filterObjectEl!: HTMLGxIdeEntitySelectorElement;\n #chShortcutsEl: HTMLChShortcutsElement;\n #chTabularGridObjectsEl: HTMLChTabularGridElement;\n\n @Element() el: HTMLGxIdeDataSelectorElement;\n\n /**\n * True if loadItemsCallback has been called and has not been resolved yet.\n */\n @State() loading: boolean = true;\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ItemData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when the user presses the 'OK' button\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Callback invoked when user presses the edit button. Receives the first\n * selected element id as a parameter.\n */\n @Prop() readonly editCallback: EditCallback;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadItemsCallback!: LoadItemsCallback;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newVariableCallback: NewVariableCallback;\n\n /**\n * Callback invoked when the action is executed in the Object filter. It returns\n * the information of the selected object (id and name) or 'undefined' if it was\n * canceled.\n */\n @Prop() readonly selectObjectCallback: SelectObjectCallback;\n\n /**\n * Single if multiple object selection is not allowed. Default is multiple\n */\n @Prop() readonly selectionType: \"single\" | \"multiple\" = \"multiple\";\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n connectedCallback() {\n this.#refreshUIWithNewConfiguration();\n }\n\n componentDidLoad() {\n this.#filterPatternEl.focus();\n }\n\n componentDidRender() {\n this.#evaluateFirstRowSelection();\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n /**\n * After items have been loaded and rendered, the first row should be selected.\n */\n #evaluateFirstRowSelection = () => {\n if (this.#loadItemsCallbackJustCalled) {\n this.#chTabularGridObjectsEl.selectRow(this.#firstGridObjectId);\n }\n this.#loadItemsCallbackJustCalled = false;\n };\n\n #chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.#confirmCallbackHandler(e);\n }\n };\n\n #confirmCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.confirmCallback(this.selectedObjectsIds);\n };\n\n #editCallbackHandler = async (e: MouseEvent): Promise<void> => {\n e.stopPropagation();\n if (this.selectedObjectsIds[0]) {\n const result = await this.editCallback(this.selectedObjectsIds[0]);\n if (result) {\n this.#refreshUIWithNewConfiguration();\n }\n }\n };\n\n #hostKeyPressHandler = (e: KeyboardEvent) => {\n // TODO : revise why this is necessary\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n #objectsSelectionChangedHandler = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n this.selectedObjectsIds = event.detail.rowsId;\n };\n\n #newVariableCallbackHandler = async () => {\n const response = await this.newVariableCallback();\n if (response) {\n this.#refreshUIWithNewConfiguration();\n }\n };\n #refreshUIWithNewConfiguration = (): void => {\n this.objects = [];\n const filters: FiltersData = {\n pattern: this.#filterPatternEl?.value,\n object: this.#filterObjectEl?.value?.id\n };\n this.loading = true;\n this.loadItemsCallback(filters).then((items: ItemData[]) => {\n if (items.length) {\n this.objects = this.#sortObjectsByName(items);\n this.#firstGridObjectId = this.objects[0].id;\n this.#loadItemsCallbackJustCalled = true;\n }\n this.selectedObjectsIds = [];\n this.loading = false;\n });\n };\n\n #renderFilter = (): Element[] => {\n return [\n <div class=\"header__field-group field-group\">\n <div class=\"field field-block pattern-field\">\n <label class=\"label\" htmlFor=\"filter-pattern\">\n {this.#componentLocale.filter.pattern}\n </label>\n <ch-edit\n autoFocus\n id=\"filter-pattern\"\n name=\"filter-pattern\"\n class=\"input pattern-input\"\n part=\"filter-pattern\"\n debounce={config.inputDebounce}\n onInput={this.#refreshUIWithNewConfiguration}\n ref={(el: HTMLChEditElement) =>\n (this.#filterPatternEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n <gx-ide-entity-selector\n id=\"object-selector\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectObjectCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#filterObjectEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"entity\"\n onValueChanged={this.#refreshUIWithNewConfiguration}\n ></gx-ide-entity-selector>\n </div>\n ];\n };\n\n #renderObjects = (): Element => {\n const gridIsEmpty = !this.objects.length;\n const displayLoader = this.loader && this.loading;\n if (!gridIsEmpty || displayLoader) {\n this.#animateEmptyState = true; // improve performance if is first render\n }\n return (\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"empty-result\": this.objects.length === 0,\n \"data\": true\n }}\n rowSelectionMode={this.selectionType}\n onKeyDown={this.#chGridKeyDownHandler}\n part=\"ch-grid-objects\"\n onSelectionChanged={\n this.objects.length ? this.#objectsSelectionChangedHandler : undefined\n }\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chTabularGridObjectsEl = el as HTMLChTabularGridElement)\n }\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.dataType}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {!gridIsEmpty ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: ItemData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n onDblClick={this.#confirmCallbackHandler}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image\n src={\n obj.type === \"attribute\"\n ? \"objects/attribute\"\n : \"objects-parts/variables\"\n }\n class=\"icon-md\"\n ></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.dataType}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n {displayLoader ? (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n show\n ></gx-ide-loader>\n ) : (\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n ></gx-ide-empty-state>\n )}\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #renderEditButtons = (): JSX.Element | null => {\n if (!this.editCallback && !this.newVariableCallback) {\n return null;\n }\n\n const newVariableButtonEnabled = this.newVariableCallback && !this.loading;\n const editButtonEnabled =\n this.editCallback && !this.loading && this.selectedObjectsIds.length;\n\n return (\n <div class=\"buttons-spacer\">\n {this.newVariableCallback ? (\n <button\n // New Variable Button\n class=\"button-secondary\"\n disabled={!newVariableButtonEnabled}\n part=\"button button-new\"\n type=\"button\"\n onClick={this.#newVariableCallbackHandler}\n >\n {this.#componentLocale.footer.btnNew}\n </button>\n ) : (\n []\n )}\n {this.editCallback ? (\n <button\n // Edit Button\n class=\"button-secondary\"\n disabled={!editButtonEnabled}\n part=\"button button-edit\"\n type=\"button\"\n onClick={editButtonEnabled && this.#editCallbackHandler}\n >\n {this.#componentLocale.footer.btnEdit}\n </button>\n ) : (\n []\n )}\n </div>\n );\n };\n\n #sortObjectsByName = (objects: ItemData[]): ItemData[] =>\n // TODO (make this a common helper function\n // and use it in other dialog grids that\n // require filter by name).\n objects.sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n });\n\n render() {\n const okButtonEnabled = !this.loading;\n const footerJustifySpaceBetween: boolean =\n !!this.newVariableCallback || !!this.editCallback;\n\n return (\n <Host onKeyPress={this.#hostKeyPressHandler} class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-block-start spacing-body-inline\">\n {this.#renderFilter()}\n </header>\n {this.#renderObjects()}\n <footer\n class={{\n \"footer\": true,\n \"control-footer-with-border\": true,\n \"control-footer-space-between\": footerJustifySpaceBetween,\n \"spacing-body-inline\": true,\n \"spacing-body-block-end\": true\n }}\n >\n {this.#renderEditButtons()}\n <div class=\"buttons-spacer\">\n <button\n // Cancel Button\n class=\"button-secondary\"\n part=\"button button-cancel\"\n type=\"button\"\n onClick={this.cancelCallback}\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n <button\n // Confirm Button\n class=\"button-primary\"\n part=\"button button-ok\"\n disabled={!okButtonEnabled}\n type=\"button\"\n onClick={okButtonEnabled && this.#confirmCallbackHandler}\n >\n {this.#componentLocale.footer.btnConfirm}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type NewVariableCallback = () => Promise<boolean> | undefined;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectObjectCallback = () => Promise<EntityData | undefined>;\n\nexport type EditCallback = (id: string) => Promise<boolean> | undefined;\n\nexport type ConfirmCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadItemsCallback = (filters: FiltersData) => Promise<ItemData[]>;\n\nexport type FiltersData = {\n pattern?: string;\n object?: string;\n};\n\nexport type ItemData = {\n type: ItemType;\n id: string;\n name: string;\n dataType: string;\n description: string;\n};\n\nexport type ItemType = \"variable\" | \"attribute\";\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-data-selector.js","mappings":";;;;;;;;AAAA,MAAM,eAAe,GAAG,+mBAA+mB;;;;;;;;;;;;;;;;;;;ACoBvoB;AACA,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,mBAAmB;IACnB,iBAAiB;IACjB,yBAAyB;IACzB,iBAAiB;IACjB,YAAY;IACZ,cAAc;IACd,eAAe;IACf,qBAAqB;CACtB,CAAC;AAEF,MAAM,WAAW,GAAG,WAAW,CAAC;IAC9B,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,cAAc;CAC1B,CAAC,CAAC;MAQUA,mBAAiB;;;;;QAC5B,uDAA2B;QAC3B,yDAAwC,KAAK,EAAC;QAE9C,qDAAsB;QACtB,+CAA8B,KAAK,EAAC;QACpC,0CAAgB,YAAY,CAAC,8CAA8C,CAAC,EAAC;;QAE7E,qDAAqC;QACrC,oDAAiD;QACjD,mDAAuC;QACvC,4DAAkD;;;;QAgHlD,uDAA6B;YAC3B,IAAI,uBAAA,IAAI,sDAA6B,EAAE;gBACrC,uBAAA,IAAI,iDAAwB,CAAC,SAAS,CAAC,uBAAA,IAAI,4CAAmB,CAAC,CAAC;aACjE;YACD,uBAAA,IAAI,kDAAgC,KAAK,MAAA,CAAC;SAC3C,EAAC;QAEF,kDAAwB,CAAC,CAAgB;YACvC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;gBACrB,uBAAA,IAAI,iDAAwB,MAA5B,IAAI,EAAyB,CAAC,CAAC,CAAC;aACjC;SACF,EAAC;QAEF,oDAA0B,CAAC,CAA6B;YACtD,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC/C,EAAC;QAEF,iDAAuB,OAAO,CAAa;YACzC,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnE,IAAI,MAAM,EAAE;oBACV,uBAAA,IAAI,wDAA+B,MAAnC,IAAI,CAAiC,CAAC;iBACvC;aACF;SACF,EAAC;QAEF,iDAAuB,CAAC,CAAgB;;;YAGtC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;gBACrB,CAAC,CAAC,eAAe,EAAE,CAAC;aACrB;SACF,EAAC;QAEF,4DAAkC,CAChC,KAAoD;YAEpD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;SAC/C,EAAC;QAEF,wDAA8B;YAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAClD,IAAI,QAAQ,EAAE;gBACZ,uBAAA,IAAI,wDAA+B,MAAnC,IAAI,CAAiC,CAAC;aACvC;SACF,EAAC;QACF,2DAAiC;;YAC/B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,MAAM,OAAO,GAAgB;gBAC3B,OAAO,EAAE,MAAA,uBAAA,IAAI,0CAAiB,0CAAE,KAAK;gBACrC,MAAM,EAAE,MAAA,MAAA,uBAAA,IAAI,yCAAgB,0CAAE,KAAK,0CAAE,EAAE;aACxC,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAiB;gBACrD,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChB,IAAI,CAAC,OAAO,GAAG,uBAAA,IAAI,4CAAmB,MAAvB,IAAI,EAAoB,KAAK,CAAC,CAAC;oBAC9C,uBAAA,IAAI,wCAAsB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAA,CAAC;oBAC7C,uBAAA,IAAI,kDAAgC,IAAI,MAAA,CAAC;iBAC1C;gBACD,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB,CAAC,CAAC;SACJ,EAAC;QAEF,0CAAgB;YACd,OAAO;gBACL,WAAK,KAAK,EAAC,iCAAiC,IAC1C,WAAK,KAAK,EAAC,iCAAiC,IAC1C,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,gBAAgB,IAC1C,uBAAA,IAAI,0CAAiB,CAAC,MAAM,CAAC,OAAO,CAC/B,EACR,eACE,SAAS,QACT,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAC,qBAAqB,EAC3B,IAAI,EAAC,gBAAgB,EACrB,QAAQ,EAAE,MAAM,CAAC,aAAa,EAC9B,OAAO,EAAE,uBAAA,IAAI,wDAA+B,EAC5C,GAAG,EAAE,CAAC,EAAqB,MACxB,uBAAA,IAAI,sCAAoB,EAAuB,MAAA,CAAC,GAE1C,CACP,EACN,8BACE,EAAE,EAAC,iBAAiB,EACpB,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,YAAY,EAAE,IAAI,CAAC,aAAa,EAChC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAC/C,GAAG,EAAE,CAAC,EAAkC,MACrC,uBAAA,IAAI,qCAAmB,EAAoC,MAAA,CAAC,EAE/D,KAAK,EAAC,QAAQ,EACd,cAAc,EAAE,uBAAA,IAAI,wDAA+B,GAC3B,CACtB;aACP,CAAC;SACH,EAAC;QAEF,2CAAiB;YACf,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACzC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC;YAClD,IAAI,CAAC,WAAW,IAAI,aAAa,EAAE;gBACjC,uBAAA,IAAI,wCAAsB,IAAI,MAAA,CAAC;aAChC;YACD,QACE,uBACE,KAAK,EAAE;oBACL,cAAc,EAAE,IAAI;oBACpB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;oBACzC,MAAM,EAAE,IAAI;iBACb,EACD,gBAAgB,EAAE,IAAI,CAAC,aAAa,EACpC,SAAS,EAAE,uBAAA,IAAI,+CAAsB,EACrC,IAAI,EAAC,iBAAiB,EACtB,kBAAkB,EAChB,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,uBAAA,IAAI,yDAAgC,GAAG,SAAS,EAExE,GAAG,EAAE,CAAC,EAA4B,MAC/B,uBAAA,IAAI,6CAA2B,EAA8B,MAAA,CAAC,IAGjE,iCAA2B,KAAK,EAAC,yBAAyB,IACxD,sDACuB,MAAM,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAC3C,KAAK,EAAC,qBAAqB,GACH,EAC1B,6CACe,uBAAA,IAAI,0CAAiB,CAAC,SAAS,CAAC,IAAI,0BAC5B,MAAM,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EACvC,KAAK,EAAC,qBAAqB,GACH,EAC1B,6CACe,uBAAA,IAAI,0CAAiB,CAAC,SAAS,CAAC,QAAQ,0BAChC,MAAM,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EACvC,KAAK,EAAC,qBAAqB,GACH,EAC1B,6CACe,uBAAA,IAAI,0CAAiB,CAAC,SAAS,CAAC,WAAW,0BACnC,MAAM,EAC3B,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EACvC,KAAK,EAAC,qBAAqB,GACH,CACA,EAE3B,CAAC,WAAW,IACX,8BAAwB,KAAK,EAAC,qBAAqB,IAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAa,MAC9B,2BACE,KAAK,EAAE,GAAG,CAAC,EAAE,EACb,UAAU,EAAE,uBAAA,IAAI,iDAAwB,EACxC,KAAK,EAAC,kBAAkB,IAExB,4BAAsB,KAAK,EAAC,mBAAmB,IAC7C,gBACE,GAAG,EACD,GAAG,CAAC,IAAI,KAAK,WAAW;sBACpB,mBAAmB;sBACnB,yBAAyB,EAE/B,KAAK,EAAC,SAAS,GACL,CACS,EACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,IAAI,CACY,EACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,QAAQ,CACQ,EACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,WAAW,CACK,CACH,CACvB,CAAC,CACqB,KAEzB,8BAAwB,KAAK,EAAC,qBAAqB,IACjD,wCACG,aAAa,IACZ,qBACE,WAAW,EAAE,uBAAA,IAAI,0CAAiB,CAAC,MAAM,CAAC,KAAK,EAC/C,IAAI,SACW,KAEjB,0BACE,UAAU,EAAE,uBAAA,IAAI,4CAAmB,EACnC,YAAY,EAAE,WAAW,EACzB,UAAU,EAAE,uBAAA,IAAI,0CAAiB,CAAC,UAAU,CAAC,KAAK,GAC9B,CACvB,CAC4B,CACR,CAC1B,CACe,EAClB;SACH,EAAC;QAEF,+CAAqB;YACnB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBACnD,OAAO,IAAI,CAAC;aACb;YAED,MAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC3E,MAAM,iBAAiB,GACrB,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAEvE,QACE,WAAK,KAAK,EAAC,gBAAgB,IACxB,IAAI,CAAC,mBAAmB,IACvB;;gBAEE,KAAK,EAAC,kBAAkB,EACxB,QAAQ,EAAE,CAAC,wBAAwB,EACnC,IAAI,EAAC,mBAAmB,EACxB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,uBAAA,IAAI,qDAA4B;eAExC,uBAAA,IAAI,0CAAiB,CAAC,MAAM,CAAC,MAAM,CAC7B,KAET,EAAE,CACH,EACA,IAAI,CAAC,YAAY,IAChB;;gBAEE,KAAK,EAAC,kBAAkB,EACxB,QAAQ,EAAE,CAAC,iBAAiB,EAC5B,IAAI,EAAC,oBAAoB,EACzB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,iBAAiB,IAAI,uBAAA,IAAI,8CAAqB;eAEtD,uBAAA,IAAI,0CAAiB,CAAC,MAAM,CAAC,OAAO,CAC9B,KAET,EAAE,CACH,CACG,EACN;SACH,EAAC;QAEF,+CAAqB,CAAC,OAAmB;;;;QAIvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAChC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,KAAK,GAAG,KAAK,EAAE;gBACjB,OAAO,CAAC,CAAC,CAAC;aACX;YACD,IAAI,KAAK,GAAG,KAAK,EAAE;gBACjB,OAAO,CAAC,CAAC;aACV;YACD,OAAO,CAAC,CAAC;SACV,CAAC,EAAC;uBAhXuB,IAAI;uBAKD,EAAE;kCAKO,EAAE;;;;4BAoBV,KAAK;;;sBAgBX,KAAK;;;6BAiByB,UAAU;;IAElE,MAAM,iBAAiB;QACrB,uBAAA,IAAI,sCAAoB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;KACnE;IAED,iBAAiB;QACf,uBAAA,IAAI,wDAA+B,MAAnC,IAAI,CAAiC,CAAC;KACvC;IAED,gBAAgB;QACd,uBAAA,IAAI,0CAAiB,CAAC,KAAK,EAAE,CAAC;KAC/B;IAED,kBAAkB;QAChB,uBAAA,IAAI,oDAA2B,MAA/B,IAAI,CAA6B,CAAC;KACnC;;;;IAMD,MAAM,gBAAgB,CAAC,gBAAyB;QAC9C,IAAI,gBAAgB,EAAE;YACpB,uBAAA,IAAI,wCAAe,CAAC,OAAO,GAAG,IAAI,CAAC;SACpC;aAAM;YACL,uBAAA,IAAI,wCAAe,CAAC,OAAO,GAAG,KAAK,CAAC;SACrC;KACF;;;;IAMD,MAAM,QAAQ;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,OAAO,OAAO,CAAC;KAChB;IA8QD,MAAM;QACJ,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QACtC,MAAM,yBAAyB,GAC7B,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAEpD,QACE,EAAC,IAAI,IAAC,UAAU,EAAE,uBAAA,IAAI,8CAAqB,EAAE,KAAK,EAAC,QAAQ,IACzD,gBAAU,KAAK,EAAE,WAAW,GAAa,EACzC,oBACE,GAAG,EAAE,uBAAA,IAAI,uCAAc,EACvB,GAAG,EAAE,CAAC,EAA0B,MAC7B,uBAAA,IAAI,oCAAkB,EAA4B,MAAA,CAAC,GAExC,EAEhB,eAAS,KAAK,EAAC,SAAS,IACtB,cAAQ,KAAK,EAAC,gFAAgF,IAC3F,uBAAA,IAAI,uCAAc,MAAlB,IAAI,CAAgB,CACd,EACR,uBAAA,IAAI,wCAAe,MAAnB,IAAI,CAAiB,EACtB,cACE,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI;gBACd,4BAA4B,EAAE,IAAI;gBAClC,8BAA8B,EAAE,yBAAyB;gBACzD,qBAAqB,EAAE,IAAI;gBAC3B,wBAAwB,EAAE,IAAI;aAC/B,IAEA,uBAAA,IAAI,4CAAmB,MAAvB,IAAI,CAAqB,EAC1B,WAAK,KAAK,EAAC,gBAAgB,IACzB;;YAEE,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,sBAAsB,EAC3B,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,cAAc;WAE3B,uBAAA,IAAI,0CAAiB,CAAC,MAAM,CAAC,SAAS,CAChC,EACT;;YAEE,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,kBAAkB,EACvB,QAAQ,EAAE,CAAC,eAAe,EAC1B,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,eAAe,IAAI,uBAAA,IAAI,iDAAwB;WAEvD,uBAAA,IAAI,0CAAiB,CAAC,MAAM,CAAC,UAAU,CACjC,CACL,CACC,CACD,CACL,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["GxIdeDataSelector"],"sources":["src/components/data-selector/data-selector.scss?tag=gx-ide-data-selector&encapsulation=shadow","src/components/data-selector/data-selector.tsx"],"sourcesContent":["@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\"; // for the tabular-grid-cell-layout mixin\n\n:host {\n display: grid;\n grid-template-rows: max-content 1fr max-content;\n overflow: auto;\n block-size: 100%;\n}\n\n.section {\n display: contents;\n}\n\n.header__field-group {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n\n.tabular-grid {\n contain: size;\n}\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".data\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 2,\n 3,\n 4\n )\n);\n\nch-tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\nch-tabular-grid-rowset-empty {\n // to make the loader be positioned relative to 'ch-tabular-grid-rowset-empty'\n position: relative;\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\n\nimport { Locale } from \"../../common/locale\";\n\nimport { config } from \"../../common/config\";\nimport { EntityData } from \"../../common/types\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { TabularGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\n\n// Best performance bundle\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/edit\",\n \"components/tabular-grid\",\n \"components/icon\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\n\n@Component({\n tag: \"gx-ide-data-selector\",\n styleUrl: \"data-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/data-selector\"]\n})\nexport class GxIdeDataSelector {\n #firstGridObjectId: string; // used to select the first item after \"loadItemsCallback\"\n #loadItemsCallbackJustCalled: boolean = false; // used to select the first item after \"loadItemsCallback\"\n\n #componentLocale: any;\n #animateEmptyState: boolean = false;\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/data-selector/shortcuts.json`);\n /* References needed to collect data */\n #filterPatternEl!: HTMLChEditElement;\n #filterObjectEl!: HTMLGxIdeEntitySelectorElement;\n #chShortcutsEl: HTMLChShortcutsElement;\n #chTabularGridObjectsEl: HTMLChTabularGridElement;\n\n @Element() el: HTMLGxIdeDataSelectorElement;\n\n /**\n * True if loadItemsCallback has been called and has not been resolved yet.\n */\n @State() loading: boolean = true;\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ItemData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when the user presses the 'OK' button\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Callback invoked when user presses the edit button. Receives the first\n * selected element id as a parameter.\n */\n @Prop() readonly editCallback: EditCallback;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadItemsCallback!: LoadItemsCallback;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newVariableCallback: NewVariableCallback;\n\n /**\n * Callback invoked when the action is executed in the Object filter. It returns\n * the information of the selected object (id and name) or 'undefined' if it was\n * canceled.\n */\n @Prop() readonly selectObjectCallback: SelectObjectCallback;\n\n /**\n * Single if multiple object selection is not allowed. Default is multiple\n */\n @Prop() readonly selectionType: \"single\" | \"multiple\" = \"multiple\";\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n connectedCallback() {\n this.#refreshUIWithNewConfiguration();\n }\n\n componentDidLoad() {\n this.#filterPatternEl.focus();\n }\n\n componentDidRender() {\n this.#evaluateFirstRowSelection();\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n /**\n * After items have been loaded and rendered, the first row should be selected.\n */\n #evaluateFirstRowSelection = () => {\n if (this.#loadItemsCallbackJustCalled) {\n this.#chTabularGridObjectsEl.selectRow(this.#firstGridObjectId);\n }\n this.#loadItemsCallbackJustCalled = false;\n };\n\n #chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.#confirmCallbackHandler(e);\n }\n };\n\n #confirmCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.confirmCallback(this.selectedObjectsIds);\n };\n\n #editCallbackHandler = async (e: MouseEvent): Promise<void> => {\n e.stopPropagation();\n if (this.selectedObjectsIds[0]) {\n const result = await this.editCallback(this.selectedObjectsIds[0]);\n if (result) {\n this.#refreshUIWithNewConfiguration();\n }\n }\n };\n\n #hostKeyPressHandler = (e: KeyboardEvent) => {\n // TODO : revise why this is necessary\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n #objectsSelectionChangedHandler = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n this.selectedObjectsIds = event.detail.rowsId;\n };\n\n #newVariableCallbackHandler = async () => {\n const response = await this.newVariableCallback();\n if (response) {\n this.#refreshUIWithNewConfiguration();\n }\n };\n #refreshUIWithNewConfiguration = (): void => {\n this.objects = [];\n const filters: FiltersData = {\n pattern: this.#filterPatternEl?.value,\n object: this.#filterObjectEl?.value?.id\n };\n this.loading = true;\n this.loadItemsCallback(filters).then((items: ItemData[]) => {\n if (items.length) {\n this.objects = this.#sortObjectsByName(items);\n this.#firstGridObjectId = this.objects[0].id;\n this.#loadItemsCallbackJustCalled = true;\n }\n this.selectedObjectsIds = [];\n this.loading = false;\n });\n };\n\n #renderFilter = (): Element[] => {\n return [\n <div class=\"header__field-group field-group\">\n <div class=\"field field-block pattern-field\">\n <label class=\"label\" htmlFor=\"filter-pattern\">\n {this.#componentLocale.filter.pattern}\n </label>\n <ch-edit\n autoFocus\n id=\"filter-pattern\"\n name=\"filter-pattern\"\n class=\"input pattern-input\"\n part=\"filter-pattern\"\n debounce={config.inputDebounce}\n onInput={this.#refreshUIWithNewConfiguration}\n ref={(el: HTMLChEditElement) =>\n (this.#filterPatternEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n <gx-ide-entity-selector\n id=\"object-selector\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectObjectCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#filterObjectEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"entity\"\n onValueChanged={this.#refreshUIWithNewConfiguration}\n ></gx-ide-entity-selector>\n </div>\n ];\n };\n\n #renderObjects = (): Element => {\n const gridIsEmpty = !this.objects.length;\n const displayLoader = this.loader && this.loading;\n if (!gridIsEmpty || displayLoader) {\n this.#animateEmptyState = true; // improve performance if is first render\n }\n return (\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"empty-result\": this.objects.length === 0,\n \"data\": true\n }}\n rowSelectionMode={this.selectionType}\n onKeyDown={this.#chGridKeyDownHandler}\n part=\"ch-grid-objects\"\n onSelectionChanged={\n this.objects.length ? this.#objectsSelectionChangedHandler : undefined\n }\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chTabularGridObjectsEl = el as HTMLChTabularGridElement)\n }\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.dataType}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {!gridIsEmpty ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: ItemData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n onDblClick={this.#confirmCallbackHandler}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image\n src={\n obj.type === \"attribute\"\n ? \"objects/attribute\"\n : \"objects-parts/variables\"\n }\n class=\"icon-md\"\n ></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.dataType}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n {displayLoader ? (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n show\n ></gx-ide-loader>\n ) : (\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n ></gx-ide-empty-state>\n )}\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #renderEditButtons = (): JSX.Element | null => {\n if (!this.editCallback && !this.newVariableCallback) {\n return null;\n }\n\n const newVariableButtonEnabled = this.newVariableCallback && !this.loading;\n const editButtonEnabled =\n this.editCallback && !this.loading && this.selectedObjectsIds.length;\n\n return (\n <div class=\"buttons-spacer\">\n {this.newVariableCallback ? (\n <button\n // New Variable Button\n class=\"button-secondary\"\n disabled={!newVariableButtonEnabled}\n part=\"button button-new\"\n type=\"button\"\n onClick={this.#newVariableCallbackHandler}\n >\n {this.#componentLocale.footer.btnNew}\n </button>\n ) : (\n []\n )}\n {this.editCallback ? (\n <button\n // Edit Button\n class=\"button-secondary\"\n disabled={!editButtonEnabled}\n part=\"button button-edit\"\n type=\"button\"\n onClick={editButtonEnabled && this.#editCallbackHandler}\n >\n {this.#componentLocale.footer.btnEdit}\n </button>\n ) : (\n []\n )}\n </div>\n );\n };\n\n #sortObjectsByName = (objects: ItemData[]): ItemData[] =>\n // TODO (make this a common helper function\n // and use it in other dialog grids that\n // require filter by name).\n objects.sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n });\n\n render() {\n const okButtonEnabled = !this.loading;\n const footerJustifySpaceBetween: boolean =\n !!this.newVariableCallback || !!this.editCallback;\n\n return (\n <Host onKeyPress={this.#hostKeyPressHandler} class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-block-start spacing-body-inline\">\n {this.#renderFilter()}\n </header>\n {this.#renderObjects()}\n <footer\n class={{\n \"footer\": true,\n \"control-footer-with-border\": true,\n \"control-footer-space-between\": footerJustifySpaceBetween,\n \"spacing-body-inline\": true,\n \"spacing-body-block-end\": true\n }}\n >\n {this.#renderEditButtons()}\n <div class=\"buttons-spacer\">\n <button\n // Cancel Button\n class=\"button-secondary\"\n part=\"button button-cancel\"\n type=\"button\"\n onClick={this.cancelCallback}\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n <button\n // Confirm Button\n class=\"button-primary\"\n part=\"button button-ok\"\n disabled={!okButtonEnabled}\n type=\"button\"\n onClick={okButtonEnabled && this.#confirmCallbackHandler}\n >\n {this.#componentLocale.footer.btnConfirm}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type NewVariableCallback = () => Promise<boolean> | undefined;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectObjectCallback = () => Promise<EntityData | undefined>;\n\nexport type EditCallback = (id: string) => Promise<boolean> | undefined;\n\nexport type ConfirmCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadItemsCallback = (filters: FiltersData) => Promise<ItemData[]>;\n\nexport type FiltersData = {\n pattern?: string;\n object?: string;\n};\n\nexport type ItemData = {\n type: ItemType;\n id: string;\n name: string;\n dataType: string;\n description: string;\n};\n\nexport type ItemType = \"variable\" | \"attribute\";\n"],"version":3}
|
|
@@ -88,7 +88,8 @@ const GxIdeKbManagerImport = /*@__PURE__*/ proxyCustomElement(class GxIdeKbManag
|
|
|
88
88
|
_GxIdeKbManagerImport_showAll.set(this, false);
|
|
89
89
|
_GxIdeKbManagerImport_categoriesActionListItemGroupMap.set(this, new Map());
|
|
90
90
|
_GxIdeKbManagerImport_handleSelectionChange.set(this, (event) => {
|
|
91
|
-
|
|
91
|
+
var _a;
|
|
92
|
+
const eventType = (_a = event.detail[0]) === null || _a === void 0 ? void 0 : _a.item.type;
|
|
92
93
|
if (eventType === "actionable") {
|
|
93
94
|
const name = event.detail[0].item.caption;
|
|
94
95
|
const itemAdditionalBase = event.detail[0].item.additionalInformation["stretch-start"].center[0];
|
|
@@ -117,7 +118,7 @@ const GxIdeKbManagerImport = /*@__PURE__*/ proxyCustomElement(class GxIdeKbManag
|
|
|
117
118
|
else if (type === "group" &&
|
|
118
119
|
__classPrivateFieldGet(this, _GxIdeKbManagerImport_categoriesActionListItemGroupMap, "f").has(name)) {
|
|
119
120
|
const group = __classPrivateFieldGet(this, _GxIdeKbManagerImport_categoriesActionListItemGroupMap, "f").get(name);
|
|
120
|
-
const groupUpdated = {
|
|
121
|
+
const groupUpdated = Object.assign(Object.assign({}, group), { expanded: group.expanded });
|
|
121
122
|
__classPrivateFieldGet(this, _GxIdeKbManagerImport_categoriesActionListItemGroupMap, "f").set(name, groupUpdated);
|
|
122
123
|
}
|
|
123
124
|
});
|
|
@@ -186,7 +187,7 @@ const GxIdeKbManagerImport = /*@__PURE__*/ proxyCustomElement(class GxIdeKbManag
|
|
|
186
187
|
this.recentlyUsed = [];
|
|
187
188
|
}
|
|
188
189
|
categoriesChanged(newCategories) {
|
|
189
|
-
if (!newCategories
|
|
190
|
+
if (!(newCategories === null || newCategories === void 0 ? void 0 : newCategories.length)) {
|
|
190
191
|
return;
|
|
191
192
|
}
|
|
192
193
|
__classPrivateFieldGet(this, _GxIdeKbManagerImport_categoriesActionListItemGroupMap, "f").clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-data-type-selector.js","mappings":"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","names":[],"sources":["src/components/data-type-selector/helpers.ts","src/components/data-type-selector/data-type-selector.scss?tag=gx-ide-data-type-selector&encapsulation=shadow","src/components/data-type-selector/data-type-selector.tsx"],"sourcesContent":["import { DataTypeCategoryData, DataTypeData } from \"./data-type-selector\";\nimport {\n ActionListItemGroup,\n ActionListModel\n} from \"@genexus/chameleon-controls-library/dist/types/components/action-list/types\";\n\nexport const mapCategoryToListItemGroup = (\n category: DataTypeCategoryData\n): ActionListItemGroup => {\n const categoryGroup: ActionListItemGroup = {\n caption: category.name,\n id: category.name,\n type: \"group\",\n expanded: true,\n expandable: true,\n items: category.types.map(type => {\n return {\n caption: type.name,\n id: type.name,\n additionalInformation: {\n \"stretch-start\": {\n center: [{ imgSrc: type.icon }]\n }\n },\n type: \"actionable\"\n };\n })\n };\n return categoryGroup;\n};\n\nexport const mapDataTypesToList = (\n dataTypes: DataTypeData[]\n): ActionListModel => {\n return dataTypes.map((dataType, index) => {\n return {\n caption: dataType.name,\n id: dataType.name,\n additionalInformation: {\n \"stretch-start\": {\n center: [{ imgSrc: dataType.icon || undefined }]\n }\n },\n type: \"actionable\",\n order: index\n };\n });\n};\n",":host {\n position: relative;\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: 1fr max-content;\n\n // WA: Prevent a custom css rule on genexus-web from overriding --control__border-width value.\n // TDOO: remove this when the custom style is removed from genexus-web.\n // custom stlye is: .gx-struct-editor .tabular-grid-cell {\n // --control__border-width: 0;\n // }\n\n --control__border-width: var(--mer-border__width--sm);\n --control__border-radius: var(--mer-border__radius--sm);\n}\n\n.main {\n display: contents;\n}\n\n.selected-category {\n margin: 0;\n text-transform: capitalize;\n margin-inline-start: var(\n --mer-spacing--md\n ); // TODO: Create a semantic class in Mercury for this case.\n white-space: nowrap;\n}\n\n.footer {\n overflow: auto;\n}\n","// Stencil\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ActionListItemType,\n ActionListModel\n} from \"@genexus/chameleon-controls-library\";\nimport {\n ActionListItemAdditionalBase,\n ActionListItemGroup\n} from \"@genexus/chameleon-controls-library/dist/types/components/action-list/types\";\n// Gx Ide Ui\nimport { Locale } from \"../../common/locale\";\nimport { mapCategoryToListItemGroup, mapDataTypesToList } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"components/list-box\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst ALL_CATEGORY_ID = \"all\";\nconst RECENTLY_USED_CATEGORY_ID = \"recenttly-used\";\n\nconst CLOCK_ICON = getIconPath({\n category: \"system\",\n name: \"time\",\n colorType: \"primary\"\n});\n\n@Component({\n tag: \"gx-ide-data-type-selector\",\n styleUrl: \"data-type-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/data-type-selector\"]\n})\nexport class GxIdeKbManagerImport {\n #_componentLocale: any;\n #showAll: boolean = false;\n #categoriesActionListItemGroupMap: Map<string, ActionListItemGroup> = new Map<\n string,\n ActionListItemGroup\n >();\n\n @Element() el: HTMLGxIdeDataTypeSelectorElement;\n\n @State() categoriesListBoxModel: ActionListItemModel[] = [];\n @State() selectedCategory: string;\n @State() statusInfo: StatusInfo[] = [];\n @State() recentlyUsedActionListModel: ActionListModel = [];\n @State() loading: boolean = true;\n\n /**\n * All possible types and its category\n */\n @Prop() readonly categories: DataTypeCategoryData[] = undefined;\n @Watch(\"categories\")\n categoriesChanged(newCategories: DataTypeCategoryData[]) {\n if (!newCategories?.length) {\n return;\n }\n this.#categoriesActionListItemGroupMap.clear();\n newCategories.forEach(category => {\n const categoryListBoxModel = mapCategoryToListItemGroup(category);\n this.#categoriesActionListItemGroupMap.set(\n category.name,\n categoryListBoxModel\n );\n });\n this.loading = false;\n this.#showAllObjects();\n }\n\n /**\n * Callback invoked when user select an item type\n */\n @Prop() readonly dataTypeSelectedCallback: DataTypeSelectedCallback;\n\n /**\n * All recently used types list\n */\n @Prop() readonly recentlyUsed: DataTypeData[] = [];\n @Watch(\"recentlyUsed\")\n recentlyUsedChanged(newRecentlyUsed: DataTypeData[]) {\n this.recentlyUsedActionListModel = null;\n this.recentlyUsedActionListModel = mapDataTypesToList(newRecentlyUsed);\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n // initialize models\n this.recentlyUsed.length && this.recentlyUsedChanged(this.recentlyUsed);\n }\n\n #handleSelectionChange = (\n event: CustomEvent<ActionListItemModelExtended[]>\n ) => {\n const eventType = event.detail[0]?.item.type;\n if (eventType === \"actionable\") {\n const name = event.detail[0].item.caption;\n\n const itemAdditionalBase = event.detail[0].item.additionalInformation[\n \"stretch-start\"\n ].center[0] as ActionListItemAdditionalBase;\n const icon = itemAdditionalBase.imgSrc;\n\n this.dataTypeSelectedCallback({\n name: name,\n icon: icon\n });\n\n this.#updateListBoxModelState(event.detail[0].item.caption, \"actionable\");\n } else if (eventType === \"group\") {\n this.#updateListBoxModelState(event.detail[0].item.caption, \"group\");\n }\n };\n\n #updateListBoxModelState = (name: string, type: ActionListItemType) => {\n if (this.selectedCategory === RECENTLY_USED_CATEGORY_ID) {\n this.recentlyUsedActionListModel.forEach(item => {\n // clear selected\n (item as ActionListItemActionable).selected = false;\n });\n const selectedItemIndex = this.recentlyUsed.findIndex(\n item => item.name === name\n );\n if (selectedItemIndex !== -1) {\n (\n this.recentlyUsedActionListModel[\n selectedItemIndex\n ] as ActionListItemActionable\n ).selected = true;\n }\n } else if (\n type === \"group\" &&\n this.#categoriesActionListItemGroupMap.has(name)\n ) {\n const group = this.#categoriesActionListItemGroupMap.get(\n name\n ) as ActionListItemGroup;\n const groupUpdated = { ...group, expanded: group.expanded };\n this.#categoriesActionListItemGroupMap.set(name, groupUpdated);\n }\n };\n\n #showAllObjects = () => {\n if (!this.#showAll) {\n const allCategoriesActionListModel: ActionListItemModel[] = [];\n let counter = 1;\n const mapLength = this.#categoriesActionListItemGroupMap.size;\n for (const key of this.#categoriesActionListItemGroupMap.keys()) {\n allCategoriesActionListModel.push(\n this.#categoriesActionListItemGroupMap.get(key)\n );\n if (counter !== mapLength) {\n allCategoriesActionListModel.push({ type: \"separator\" });\n }\n counter++;\n }\n this.categoriesListBoxModel = allCategoriesActionListModel;\n this.#showAll = true;\n this.selectedCategory = ALL_CATEGORY_ID;\n }\n };\n\n #showRecentlyObjects = () => {\n this.#showAll = false;\n this.categoriesListBoxModel = this.recentlyUsedActionListModel;\n this.selectedCategory = RECENTLY_USED_CATEGORY_ID;\n };\n\n private selectedCategoryHandler = (e: MouseEvent) => {\n this.selectedCategory = (e.currentTarget as HTMLButtonElement).dataset.name;\n const newSelectedCategory = [\n this.#categoriesActionListItemGroupMap.get(this.selectedCategory)\n ];\n this.categoriesListBoxModel = newSelectedCategory;\n this.#showAll = false;\n };\n\n #renderFooter = () => {\n const recentlyUsedBtnClass =\n this.selectedCategory === RECENTLY_USED_CATEGORY_ID\n ? \"button-secondary\"\n : \"button-tertiary\";\n const allBtnClass =\n this.selectedCategory === ALL_CATEGORY_ID\n ? \"button-secondary\"\n : \"button-tertiary\";\n let selectedCategoryDescription = this.selectedCategory;\n if (this.selectedCategory === RECENTLY_USED_CATEGORY_ID) {\n selectedCategoryDescription =\n this.#_componentLocale.fixedTypes.recentlyUsed;\n } else if (this.selectedCategory === ALL_CATEGORY_ID) {\n selectedCategoryDescription = this.#_componentLocale.fixedTypes.all;\n } else {\n selectedCategoryDescription = this.selectedCategory;\n }\n\n return (\n <footer\n class=\"footer control-footer control-footer-start spacing-body-inline spacing-body-block scrollable\n \"\n >\n <div class=\"buttons-spacer\">\n {this.recentlyUsed && this.recentlyUsed.length > 0 && (\n <button\n class={`button-icon-only ${recentlyUsedBtnClass}`}\n aria-label={`${this.#_componentLocale.select} ${\n this.#_componentLocale.fixedTypes.recentlyUsed\n }`}\n title={`${this.#_componentLocale.select} ${\n this.#_componentLocale.fixedTypes.recentlyUsed\n }`}\n onClick={this.#showRecentlyObjects}\n >\n <ch-image class=\"icon-md\" src={CLOCK_ICON}></ch-image>\n </button>\n )}\n <button\n class={`button-icon-only ${allBtnClass}`}\n onClick={this.#showAllObjects}\n aria-label={`${this.#_componentLocale.select} ${\n this.#_componentLocale.fixedTypes.all\n }`}\n title={`${this.#_componentLocale.select} ${\n this.#_componentLocale.fixedTypes.all\n }`}\n >\n [*]\n </button>\n {this.categories.map(category => {\n const buttonClass =\n category.name === this.selectedCategory\n ? \"button-secondary\"\n : \"button-tertiary\";\n\n return (\n <button\n class={`button-icon-only ${buttonClass}`}\n aria-label={category.name}\n title={category.name}\n onClick={this.selectedCategoryHandler}\n data-name={category.name}\n >\n <ch-image class=\"icon-md\" src={category.icon}></ch-image>\n </button>\n );\n })}\n </div>\n <p class=\"body-regular-s selected-category\">\n {selectedCategoryDescription}\n </p>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <section class=\"main\">\n <ch-action-list-render\n class=\"list-box\"\n model={this.categoriesListBoxModel}\n selection=\"single\"\n onSelectedItemsChange={this.#handleSelectionChange}\n ></ch-action-list-render>\n {this.#renderFooter()}\n </section>\n )}\n </Host>\n );\n }\n}\n\ntype StatusInfo = {\n [key: string]: {\n display: boolean;\n };\n};\n\nexport type DataTypeCategoryData = {\n name: string;\n icon: string;\n types: DataTypeData[];\n};\nexport type DataTypeData = {\n name: string;\n icon: string;\n};\n\nexport type DataTypeSelectedCallback = (data: {\n name: string;\n icon: string;\n}) => Promise<void>;\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-data-type-selector.js","mappings":"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","names":[],"sources":["src/components/data-type-selector/helpers.ts","src/components/data-type-selector/data-type-selector.scss?tag=gx-ide-data-type-selector&encapsulation=shadow","src/components/data-type-selector/data-type-selector.tsx"],"sourcesContent":["import { DataTypeCategoryData, DataTypeData } from \"./data-type-selector\";\nimport {\n ActionListItemGroup,\n ActionListModel\n} from \"@genexus/chameleon-controls-library/dist/types/components/action-list/types\";\n\nexport const mapCategoryToListItemGroup = (\n category: DataTypeCategoryData\n): ActionListItemGroup => {\n const categoryGroup: ActionListItemGroup = {\n caption: category.name,\n id: category.name,\n type: \"group\",\n expanded: true,\n expandable: true,\n items: category.types.map(type => {\n return {\n caption: type.name,\n id: type.name,\n additionalInformation: {\n \"stretch-start\": {\n center: [{ imgSrc: type.icon }]\n }\n },\n type: \"actionable\"\n };\n })\n };\n return categoryGroup;\n};\n\nexport const mapDataTypesToList = (\n dataTypes: DataTypeData[]\n): ActionListModel => {\n return dataTypes.map((dataType, index) => {\n return {\n caption: dataType.name,\n id: dataType.name,\n additionalInformation: {\n \"stretch-start\": {\n center: [{ imgSrc: dataType.icon || undefined }]\n }\n },\n type: \"actionable\",\n order: index\n };\n });\n};\n",":host {\n position: relative;\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: 1fr max-content;\n\n // WA: Prevent a custom css rule on genexus-web from overriding --control__border-width value.\n // TDOO: remove this when the custom style is removed from genexus-web.\n // custom stlye is: .gx-struct-editor .tabular-grid-cell {\n // --control__border-width: 0;\n // }\n\n --control__border-width: var(--mer-border__width--sm);\n --control__border-radius: var(--mer-border__radius--sm);\n}\n\n.main {\n display: contents;\n}\n\n.selected-category {\n margin: 0;\n text-transform: capitalize;\n margin-inline-start: var(\n --mer-spacing--md\n ); // TODO: Create a semantic class in Mercury for this case.\n white-space: nowrap;\n}\n\n.footer {\n overflow: auto;\n}\n","// Stencil\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ActionListItemType,\n ActionListModel\n} from \"@genexus/chameleon-controls-library\";\nimport {\n ActionListItemAdditionalBase,\n ActionListItemGroup\n} from \"@genexus/chameleon-controls-library/dist/types/components/action-list/types\";\n// Gx Ide Ui\nimport { Locale } from \"../../common/locale\";\nimport { mapCategoryToListItemGroup, mapDataTypesToList } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"components/list-box\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst ALL_CATEGORY_ID = \"all\";\nconst RECENTLY_USED_CATEGORY_ID = \"recenttly-used\";\n\nconst CLOCK_ICON = getIconPath({\n category: \"system\",\n name: \"time\",\n colorType: \"primary\"\n});\n\n@Component({\n tag: \"gx-ide-data-type-selector\",\n styleUrl: \"data-type-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/data-type-selector\"]\n})\nexport class GxIdeKbManagerImport {\n #_componentLocale: any;\n #showAll: boolean = false;\n #categoriesActionListItemGroupMap: Map<string, ActionListItemGroup> = new Map<\n string,\n ActionListItemGroup\n >();\n\n @Element() el: HTMLGxIdeDataTypeSelectorElement;\n\n @State() categoriesListBoxModel: ActionListItemModel[] = [];\n @State() selectedCategory: string;\n @State() statusInfo: StatusInfo[] = [];\n @State() recentlyUsedActionListModel: ActionListModel = [];\n @State() loading: boolean = true;\n\n /**\n * All possible types and its category\n */\n @Prop() readonly categories: DataTypeCategoryData[] = undefined;\n @Watch(\"categories\")\n categoriesChanged(newCategories: DataTypeCategoryData[]) {\n if (!newCategories?.length) {\n return;\n }\n this.#categoriesActionListItemGroupMap.clear();\n newCategories.forEach(category => {\n const categoryListBoxModel = mapCategoryToListItemGroup(category);\n this.#categoriesActionListItemGroupMap.set(\n category.name,\n categoryListBoxModel\n );\n });\n this.loading = false;\n this.#showAllObjects();\n }\n\n /**\n * Callback invoked when user select an item type\n */\n @Prop() readonly dataTypeSelectedCallback: DataTypeSelectedCallback;\n\n /**\n * All recently used types list\n */\n @Prop() readonly recentlyUsed: DataTypeData[] = [];\n @Watch(\"recentlyUsed\")\n recentlyUsedChanged(newRecentlyUsed: DataTypeData[]) {\n this.recentlyUsedActionListModel = null;\n this.recentlyUsedActionListModel = mapDataTypesToList(newRecentlyUsed);\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n // initialize models\n this.recentlyUsed.length && this.recentlyUsedChanged(this.recentlyUsed);\n }\n\n #handleSelectionChange = (\n event: CustomEvent<ActionListItemModelExtended[]>\n ) => {\n const eventType = event.detail[0]?.item.type;\n if (eventType === \"actionable\") {\n const name = event.detail[0].item.caption;\n\n const itemAdditionalBase = event.detail[0].item.additionalInformation[\n \"stretch-start\"\n ].center[0] as ActionListItemAdditionalBase;\n const icon = itemAdditionalBase.imgSrc;\n\n this.dataTypeSelectedCallback({\n name: name,\n icon: icon\n });\n\n this.#updateListBoxModelState(event.detail[0].item.caption, \"actionable\");\n } else if (eventType === \"group\") {\n this.#updateListBoxModelState(event.detail[0].item.caption, \"group\");\n }\n };\n\n #updateListBoxModelState = (name: string, type: ActionListItemType) => {\n if (this.selectedCategory === RECENTLY_USED_CATEGORY_ID) {\n this.recentlyUsedActionListModel.forEach(item => {\n // clear selected\n (item as ActionListItemActionable).selected = false;\n });\n const selectedItemIndex = this.recentlyUsed.findIndex(\n item => item.name === name\n );\n if (selectedItemIndex !== -1) {\n (\n this.recentlyUsedActionListModel[\n selectedItemIndex\n ] as ActionListItemActionable\n ).selected = true;\n }\n } else if (\n type === \"group\" &&\n this.#categoriesActionListItemGroupMap.has(name)\n ) {\n const group = this.#categoriesActionListItemGroupMap.get(\n name\n ) as ActionListItemGroup;\n const groupUpdated = { ...group, expanded: group.expanded };\n this.#categoriesActionListItemGroupMap.set(name, groupUpdated);\n }\n };\n\n #showAllObjects = () => {\n if (!this.#showAll) {\n const allCategoriesActionListModel: ActionListItemModel[] = [];\n let counter = 1;\n const mapLength = this.#categoriesActionListItemGroupMap.size;\n for (const key of this.#categoriesActionListItemGroupMap.keys()) {\n allCategoriesActionListModel.push(\n this.#categoriesActionListItemGroupMap.get(key)\n );\n if (counter !== mapLength) {\n allCategoriesActionListModel.push({ type: \"separator\" });\n }\n counter++;\n }\n this.categoriesListBoxModel = allCategoriesActionListModel;\n this.#showAll = true;\n this.selectedCategory = ALL_CATEGORY_ID;\n }\n };\n\n #showRecentlyObjects = () => {\n this.#showAll = false;\n this.categoriesListBoxModel = this.recentlyUsedActionListModel;\n this.selectedCategory = RECENTLY_USED_CATEGORY_ID;\n };\n\n private selectedCategoryHandler = (e: MouseEvent) => {\n this.selectedCategory = (e.currentTarget as HTMLButtonElement).dataset.name;\n const newSelectedCategory = [\n this.#categoriesActionListItemGroupMap.get(this.selectedCategory)\n ];\n this.categoriesListBoxModel = newSelectedCategory;\n this.#showAll = false;\n };\n\n #renderFooter = () => {\n const recentlyUsedBtnClass =\n this.selectedCategory === RECENTLY_USED_CATEGORY_ID\n ? \"button-secondary\"\n : \"button-tertiary\";\n const allBtnClass =\n this.selectedCategory === ALL_CATEGORY_ID\n ? \"button-secondary\"\n : \"button-tertiary\";\n let selectedCategoryDescription = this.selectedCategory;\n if (this.selectedCategory === RECENTLY_USED_CATEGORY_ID) {\n selectedCategoryDescription =\n this.#_componentLocale.fixedTypes.recentlyUsed;\n } else if (this.selectedCategory === ALL_CATEGORY_ID) {\n selectedCategoryDescription = this.#_componentLocale.fixedTypes.all;\n } else {\n selectedCategoryDescription = this.selectedCategory;\n }\n\n return (\n <footer\n class=\"footer control-footer control-footer-start spacing-body-inline spacing-body-block scrollable\n \"\n >\n <div class=\"buttons-spacer\">\n {this.recentlyUsed && this.recentlyUsed.length > 0 && (\n <button\n class={`button-icon-only ${recentlyUsedBtnClass}`}\n aria-label={`${this.#_componentLocale.select} ${\n this.#_componentLocale.fixedTypes.recentlyUsed\n }`}\n title={`${this.#_componentLocale.select} ${\n this.#_componentLocale.fixedTypes.recentlyUsed\n }`}\n onClick={this.#showRecentlyObjects}\n >\n <ch-image class=\"icon-md\" src={CLOCK_ICON}></ch-image>\n </button>\n )}\n <button\n class={`button-icon-only ${allBtnClass}`}\n onClick={this.#showAllObjects}\n aria-label={`${this.#_componentLocale.select} ${\n this.#_componentLocale.fixedTypes.all\n }`}\n title={`${this.#_componentLocale.select} ${\n this.#_componentLocale.fixedTypes.all\n }`}\n >\n [*]\n </button>\n {this.categories.map(category => {\n const buttonClass =\n category.name === this.selectedCategory\n ? \"button-secondary\"\n : \"button-tertiary\";\n\n return (\n <button\n class={`button-icon-only ${buttonClass}`}\n aria-label={category.name}\n title={category.name}\n onClick={this.selectedCategoryHandler}\n data-name={category.name}\n >\n <ch-image class=\"icon-md\" src={category.icon}></ch-image>\n </button>\n );\n })}\n </div>\n <p class=\"body-regular-s selected-category\">\n {selectedCategoryDescription}\n </p>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <section class=\"main\">\n <ch-action-list-render\n class=\"list-box\"\n model={this.categoriesListBoxModel}\n selection=\"single\"\n onSelectedItemsChange={this.#handleSelectionChange}\n ></ch-action-list-render>\n {this.#renderFooter()}\n </section>\n )}\n </Host>\n );\n }\n}\n\ntype StatusInfo = {\n [key: string]: {\n display: boolean;\n };\n};\n\nexport type DataTypeCategoryData = {\n name: string;\n icon: string;\n types: DataTypeData[];\n};\nexport type DataTypeData = {\n name: string;\n icon: string;\n};\n\nexport type DataTypeSelectedCallback = (data: {\n name: string;\n icon: string;\n}) => Promise<void>;\n"],"version":3}
|
|
@@ -40,10 +40,7 @@ const createArrayOfItems = (objectItems, objectTypes) => {
|
|
|
40
40
|
// Filter objects that match the current type id
|
|
41
41
|
const items = objectItems.filter(object => object.type === type.id);
|
|
42
42
|
// Return a new object type with the 'items' property
|
|
43
|
-
return {
|
|
44
|
-
...type,
|
|
45
|
-
items: items
|
|
46
|
-
};
|
|
43
|
+
return Object.assign(Object.assign({}, type), { items: items });
|
|
47
44
|
});
|
|
48
45
|
const treeView = convertObjectTypeDataToTreeView(objectTypesWithItems);
|
|
49
46
|
return treeView;
|
|
@@ -104,7 +101,8 @@ const GxIdeDeploymentTool$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeDeploy
|
|
|
104
101
|
_GxIdeDeploymentTool_deploymentUnitsEl.set(this, void 0);
|
|
105
102
|
_GxIdeDeploymentTool_displayNameEl.set(this, void 0);
|
|
106
103
|
_GxIdeDeploymentTool_evaluateObjects.set(this, () => {
|
|
107
|
-
|
|
104
|
+
var _a;
|
|
105
|
+
this.noObjects = !!(((_a = this.treeModel) === null || _a === void 0 ? void 0 : _a.length) === 0 || !this.treeModel);
|
|
108
106
|
});
|
|
109
107
|
_GxIdeDeploymentTool_handleGetDeploymentUnitObjectsCallback.set(this, async (ev) => {
|
|
110
108
|
await __classPrivateFieldGet(this, _GxIdeDeploymentTool_loadDeploymentUnits, "f").call(this, ev.detail);
|
|
@@ -164,11 +162,12 @@ const GxIdeDeploymentTool$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeDeploy
|
|
|
164
162
|
}
|
|
165
163
|
});
|
|
166
164
|
_GxIdeDeploymentTool_deployCallbackHandler.set(this, async () => {
|
|
165
|
+
var _a, _b, _c;
|
|
167
166
|
const data = {
|
|
168
167
|
targetId: __classPrivateFieldGet(this, _GxIdeDeploymentTool_targetTypesEl, "f").value,
|
|
169
|
-
applicationServerId: __classPrivateFieldGet(this, _GxIdeDeploymentTool_applicationServerEl, "f")
|
|
170
|
-
displayName: __classPrivateFieldGet(this, _GxIdeDeploymentTool_displayNameEl, "f")
|
|
171
|
-
generatorId: __classPrivateFieldGet(this, _GxIdeDeploymentTool_generatorEl, "f")
|
|
168
|
+
applicationServerId: (_a = __classPrivateFieldGet(this, _GxIdeDeploymentTool_applicationServerEl, "f")) === null || _a === void 0 ? void 0 : _a.value,
|
|
169
|
+
displayName: (_b = __classPrivateFieldGet(this, _GxIdeDeploymentTool_displayNameEl, "f")) === null || _b === void 0 ? void 0 : _b.value,
|
|
170
|
+
generatorId: (_c = __classPrivateFieldGet(this, _GxIdeDeploymentTool_generatorEl, "f")) === null || _c === void 0 ? void 0 : _c.value,
|
|
172
171
|
onlyPackage: __classPrivateFieldGet(this, _GxIdeDeploymentTool_onlyPackageCheckboxEl, "f")
|
|
173
172
|
? __classPrivateFieldGet(this, _GxIdeDeploymentTool_onlyPackageCheckboxEl, "f").value === "true"
|
|
174
173
|
: undefined,
|
|
@@ -205,11 +204,12 @@ const GxIdeDeploymentTool$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeDeploy
|
|
|
205
204
|
}));
|
|
206
205
|
});
|
|
207
206
|
_GxIdeDeploymentTool_renderComboSelector.set(this, (properties, withField = false) => {
|
|
207
|
+
var _a;
|
|
208
208
|
const controlId = properties.label.replace(/ /g, "-").toLowerCase();
|
|
209
209
|
const labelClasses = `label ${controlId}`;
|
|
210
210
|
const labelAndComboBox = [
|
|
211
211
|
h("label", { class: labelClasses, htmlFor: controlId }, properties.label),
|
|
212
|
-
h("ch-combo-box-render", { class: "combo-box", value: properties.value ? properties.value : properties.baseModel[0]
|
|
212
|
+
h("ch-combo-box-render", { class: "combo-box", value: properties.value ? properties.value : (_a = properties.baseModel[0]) === null || _a === void 0 ? void 0 : _a.id, model: __classPrivateFieldGet(this, _GxIdeDeploymentTool_getComboModel, "f").call(this, properties.baseModel), id: controlId, ref: properties.refCallback, onInput: properties.onInputCallback })
|
|
213
213
|
];
|
|
214
214
|
return withField ? (h("div", { class: "field field-inline" }, labelAndComboBox)) : (labelAndComboBox);
|
|
215
215
|
});
|
|
@@ -226,9 +226,10 @@ const GxIdeDeploymentTool$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeDeploy
|
|
|
226
226
|
}, true), h("button", { class: "button-primary", onClick: __classPrivateFieldGet(this, _GxIdeDeploymentTool_addObjectsCallbackHandler, "f") }, __classPrivateFieldGet(this, _GxIdeDeploymentTool_componentLocale, "f").main.addButton)));
|
|
227
227
|
});
|
|
228
228
|
_GxIdeDeploymentTool_renderApplicationServerSelector.set(this, () => {
|
|
229
|
+
var _a;
|
|
229
230
|
return __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderComboSelector, "f").call(this, {
|
|
230
231
|
id: "application-servers",
|
|
231
|
-
baseModel: this.selectedDeployTargetData
|
|
232
|
+
baseModel: (_a = this.selectedDeployTargetData) === null || _a === void 0 ? void 0 : _a.applicationServers,
|
|
232
233
|
label: __classPrivateFieldGet(this, _GxIdeDeploymentTool_componentLocale, "f").main.applicationServer,
|
|
233
234
|
refCallback: (el) => {
|
|
234
235
|
__classPrivateFieldSet(this, _GxIdeDeploymentTool_applicationServerEl, el, "f");
|
|
@@ -236,9 +237,10 @@ const GxIdeDeploymentTool$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeDeploy
|
|
|
236
237
|
});
|
|
237
238
|
});
|
|
238
239
|
_GxIdeDeploymentTool_renderGeneratorSelector.set(this, () => {
|
|
240
|
+
var _a;
|
|
239
241
|
return __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderComboSelector, "f").call(this, {
|
|
240
242
|
id: "generator",
|
|
241
|
-
baseModel: this.selectedDeployTargetData
|
|
243
|
+
baseModel: (_a = this.selectedDeployTargetData) === null || _a === void 0 ? void 0 : _a.generators,
|
|
242
244
|
label: __classPrivateFieldGet(this, _GxIdeDeploymentTool_componentLocale, "f").main.generator,
|
|
243
245
|
refCallback: (el) => {
|
|
244
246
|
__classPrivateFieldSet(this, _GxIdeDeploymentTool_generatorEl, el, "f");
|
|
@@ -246,6 +248,7 @@ const GxIdeDeploymentTool$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeDeploy
|
|
|
246
248
|
});
|
|
247
249
|
});
|
|
248
250
|
_GxIdeDeploymentTool_renderTargetSelector.set(this, () => {
|
|
251
|
+
var _a;
|
|
249
252
|
return [
|
|
250
253
|
__classPrivateFieldGet(this, _GxIdeDeploymentTool_renderComboSelector, "f").call(this, {
|
|
251
254
|
id: "targetTypes",
|
|
@@ -256,7 +259,7 @@ const GxIdeDeploymentTool$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeDeploy
|
|
|
256
259
|
},
|
|
257
260
|
onInputCallback: __classPrivateFieldGet(this, _GxIdeDeploymentTool_handleTargetTypesChange, "f")
|
|
258
261
|
}),
|
|
259
|
-
h("div", { class: "target-types-button-checkbox-wrapper buttons-spacer" }, h("button", { class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet(this, _GxIdeDeploymentTool_optionsCallbackHandler, "f") }, h("ch-image", { class: "icon-md", src: "system/settings/primary" })), h("ch-checkbox", { disabled: !this.selectedDeployTargetData
|
|
262
|
+
h("div", { class: "target-types-button-checkbox-wrapper buttons-spacer" }, h("button", { class: "button-tertiary button-icon-only", onClick: __classPrivateFieldGet(this, _GxIdeDeploymentTool_optionsCallbackHandler, "f") }, h("ch-image", { class: "icon-md", src: "system/settings/primary" })), h("ch-checkbox", { disabled: !((_a = this.selectedDeployTargetData) === null || _a === void 0 ? void 0 : _a.canCreatePackage), class: "checkbox", caption: __classPrivateFieldGet(this, _GxIdeDeploymentTool_componentLocale, "f").main.onlyPackageLabel, part: "only-package-checkbox", checkedValue: "true", value: "false", ref: (el) => (__classPrivateFieldSet(this, _GxIdeDeploymentTool_onlyPackageCheckboxEl, el, "f")) }))
|
|
260
263
|
];
|
|
261
264
|
});
|
|
262
265
|
_GxIdeDeploymentTool_renderDisplayNameInput.set(this, () => {
|
|
@@ -315,11 +318,12 @@ const GxIdeDeploymentTool$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeDeploy
|
|
|
315
318
|
}
|
|
316
319
|
}
|
|
317
320
|
render() {
|
|
318
|
-
|
|
321
|
+
var _a, _b, _c, _d, _e, _f;
|
|
322
|
+
return (h(Host, { class: "widget spacing-body" }, h("ch-theme", { model: CSS_BUNDLES }), __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderHeader, "f").call(this), h("div", { class: "container-wrapper" }, __classPrivateFieldGet(this, _GxIdeDeploymentTool_evaluateContentToDisplay, "f").call(this)), h("div", { class: "deploy-properties" }, __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderTargetSelector, "f").call(this), ((_b = (_a = this.selectedDeployTargetData) === null || _a === void 0 ? void 0 : _a.applicationServers) === null || _b === void 0 ? void 0 : _b.length) > 0
|
|
319
323
|
? __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderApplicationServerSelector, "f").call(this)
|
|
320
|
-
: [], this.selectedDeployTargetData
|
|
324
|
+
: [], ((_d = (_c = this.selectedDeployTargetData) === null || _c === void 0 ? void 0 : _c.generators) === null || _d === void 0 ? void 0 : _d.length) > 0
|
|
321
325
|
? __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderGeneratorSelector, "f").call(this)
|
|
322
|
-
: [], h("p", { class: "body-italic-s target-type__description" }, this.selectedDeployTargetData
|
|
326
|
+
: [], h("p", { class: "body-italic-s target-type__description" }, (_e = this.selectedDeployTargetData) === null || _e === void 0 ? void 0 : _e.description), ((_f = this.selectedDeployTargetData) === null || _f === void 0 ? void 0 : _f.canDefineDisplayName)
|
|
323
327
|
? __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderDisplayNameInput, "f").call(this)
|
|
324
328
|
: []), __classPrivateFieldGet(this, _GxIdeDeploymentTool_renderFooter, "f").call(this)));
|
|
325
329
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-deployment-tool.js","mappings":"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","names":["GxIdeDeploymentTool"],"sources":["src/components/deployment-tool/helpers.ts","src/components/deployment-tool/deployment-tool.scss?tag=gx-ide-deployment-tool&encapsulation=shadow","src/components/deployment-tool/deployment-tool.tsx"],"sourcesContent":["import { TreeViewItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/tree-view/types\";\nimport { TypedObjectData, ObjectTypeData } from \"./deployment-tool\";\n\nconst KB_OBJECT_TYPE = \"type\";\nexport const KB_OBJECT = \"object\";\n\nconst convertObjectDataToTreeItem = (\n objectTypeIcon: string,\n objectItems: TypedObjectData[]\n) => {\n return objectItems.map(objectItem => ({\n id: objectItem.id,\n caption: objectItem.name,\n startImgSrc: objectTypeIcon,\n expanded: true,\n leaf: true,\n metadata: KB_OBJECT\n }));\n};\n\nexport const convertObjectTypeDataToTreeView = (\n objectTypeData: ObjectTypeDataWithItems[]\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!objectTypeData) {\n return treeData;\n }\n\n for (const objectType of objectTypeData) {\n if (objectType.items.length > 0) {\n treeData.push({\n id: objectType.id,\n caption: objectType.name,\n startImgSrc: objectType.icon,\n expanded: true,\n leaf: false,\n metadata: KB_OBJECT_TYPE,\n items: convertObjectDataToTreeItem(objectType.icon, objectType.items)\n });\n }\n }\n\n return treeData;\n};\n\nexport const createArrayOfItems = (\n objectItems: TypedObjectData[],\n objectTypes: ObjectTypeData[]\n) => {\n // The resulting array with 'items' property added to each type\n const objectTypesWithItems: ObjectTypeDataWithItems[] = objectTypes.map(\n type => {\n // Filter objects that match the current type id\n const items = objectItems.filter(object => object.type === type.id);\n\n // Return a new object type with the 'items' property\n\n return {\n ...type,\n items: items\n };\n }\n );\n const treeView = convertObjectTypeDataToTreeView(objectTypesWithItems);\n return treeView;\n};\n\nexport type ObjectTypeDataWithItems = {\n id: string;\n name: string;\n icon: string;\n items: TypedObjectData[];\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.header {\n display: grid;\n padding: var(--gxg-container--padding);\n gap: var(--gx-ide-grid-column-gap);\n grid-template-columns: 1fr auto;\n :nth-child(2) {\n align-self: self-end;\n }\n margin-block-end: var(--gx-ide-grid-row-gap);\n}\n\n// deploy properties\n.deploy-properties {\n display: grid;\n grid-auto-rows: max-content;\n grid-template-columns: max-content 1fr max-content;\n grid-template-areas:\n \"target-types__label target-types__combo-box target-types__button-checkbox-container\"\n \"application-server__label application-server__combo-box .\"\n \". target-type__description .\"\n \"display-name__label display-name__combo-box .\";\n align-items: center;\n column-gap: var(--field__column-gap);\n row-gap: var(--field-group__row-gap);\n border-block-start: var(--section-common-border);\n padding-block-start: var(--mer-spacing--md);\n}\n\n.label.target-types {\n grid-area: target-types__label;\n}\n#target-types {\n grid-area: target-types__combo-box;\n}\n.target-types-button-checkbox-wrapper {\n grid-area: target-types__button-checkbox-container;\n}\n\n.label.application-server {\n grid-area: application-server__label;\n}\n#application-server {\n grid-area: application-server__combo-box;\n}\n\n.target-type__description {\n grid-area: target-type__description;\n}\n\n.label.display-name {\n grid-area: display-name__label;\n}\n#display-name {\n grid-area: display-name__combo-box;\n}\n\n.footer {\n margin-block-start: var(--gx-ide-grid-row-gap);\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n State,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n\n// Other Libraries\nimport {\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library/dist/types/components/tree-view/types\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nimport { createArrayOfItems } from \"./helpers\";\n\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\nimport { KB_OBJECT } from \"./helpers\";\nimport {\n ComboBoxItemModel,\n ComboBoxModel\n} from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { ChComboBoxRenderCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport { ObjectBaseData } 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/tree-view\",\n \"components/combo-box\",\n \"components/icon\",\n \"utils/spacing\"\n];\n\n@Component({\n tag: \"gx-ide-deployment-tool\",\n styleUrl: \"deployment-tool.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/deployment-tool\"]\n})\nexport class GxIdeDeploymentTool {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n #renderedFirstTime = false;\n #flattenedObjectTypeData: Map<string, ObjectTypeData> = new Map();\n #currentDeploymentUnitId: string | undefined;\n\n @Element() el: HTMLGxIdeDeploymentToolElement;\n #onlyPackageCheckboxEl!: HTMLChCheckboxElement;\n #targetTypesEl!: HTMLChComboBoxRenderElement;\n #applicationServerEl!: HTMLChComboBoxRenderElement;\n #generatorEl!: HTMLChComboBoxRenderElement;\n #deploymentUnitsEl!: HTMLChComboBoxRenderElement;\n #displayNameEl!: HTMLChEditElement;\n\n @State() checkedObjectsIds: string[] = [];\n @State() noObjects: boolean;\n @State() selectedDeployTargetData: DeployTargetData = null;\n @State() addedObjects: TypedObjectData[] = [];\n @State() allObjectTypes: ObjectTypeData[];\n @State() treeModel: TreeViewItemModel[] = [];\n @State() allowDeploy: boolean = true;\n @Watch(\"treeModel\")\n watchTreeModelHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !!(newState.length === 0 || !newState);\n }\n\n /**\n * Available deployment units list\n */\n @Prop() readonly deploymentUnits: ObjectBaseData[];\n\n /**\n * Available target types list\n */\n @Prop() readonly targetTypes: DeployTargetData[];\n\n /**\n * Defines id for new deployment unit option\n */\n @Prop() readonly newDeploymentUnitId: string;\n\n /**\n * Array of possible object types\n */\n @Prop() readonly objectTypes: ObjectTypeData[];\n @Watch(\"objectTypes\")\n watchObjectTypesHandler(newState: ObjectTypeData[]) {\n this.#flattenObjectTypes(newState);\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop()\n readonly getDeploymentUnitObjectsCallback: GetDeploymentUnitObjectsCallback;\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 user wants to start deploy process\n */\n @Prop() readonly deployCallback: DeployCallback;\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 create a deployment unit.\n */\n @Prop() readonly createDeploymentUnitCallback: CreateDeploymentUnitCallback;\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 async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.selectedDeployTargetData = this.targetTypes[0];\n this.allObjectTypes = [...this.objectTypes];\n this.#evaluateObjects();\n this.#flattenObjectTypes(this.allObjectTypes);\n if (this.deploymentUnits.length > 0) {\n this.#loadDeploymentUnits(this.deploymentUnits[0].id);\n\n if (this.targetTypes.length > 0 && this.optionsCallback) {\n this.optionsCallback(\n this.deploymentUnits[0].id,\n this.targetTypes[0].id\n );\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 #evaluateObjects = () => {\n this.noObjects = !!(this.treeModel?.length === 0 || !this.treeModel);\n };\n\n #handleGetDeploymentUnitObjectsCallback = async (ev: any) => {\n await this.#loadDeploymentUnits(ev.detail);\n this.#optionsCallbackHandler();\n };\n\n #loadDeploymentUnits = async (id: string) => {\n if (id === this.newDeploymentUnitId) {\n await this.#handleCreateDeploymentUnit();\n return;\n }\n\n this.#currentDeploymentUnitId = id;\n\n const objectData = await this.getDeploymentUnitObjectsCallback(id);\n this.addedObjects = [...objectData];\n this.treeModel = createArrayOfItems(this.addedObjects, this.allObjectTypes);\n };\n\n #handleCreateDeploymentUnit = async () => {\n if (this.createDeploymentUnitCallback) {\n const deploymentUnitData = await this.createDeploymentUnitCallback();\n if (!deploymentUnitData) {\n return;\n }\n\n // Update deployment units:\n this.deploymentUnits.unshift(deploymentUnitData);\n\n // Update combo:\n const comboModelItem = this.#getComboModel([deploymentUnitData]);\n this.#deploymentUnitsEl.model = comboModelItem.concat(\n this.#deploymentUnitsEl.model\n );\n this.#deploymentUnitsEl.value = deploymentUnitData.id;\n\n // Trigger selection callback:\n await this.#loadDeploymentUnits(deploymentUnitData.id);\n }\n };\n\n #optionsCallbackHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback(\n this.#deploymentUnitsEl.value,\n this.#targetTypesEl.value\n );\n }\n };\n\n #addNewTypesToModel = () => {\n const allTypes: ObjectTypeData[] = [...this.allObjectTypes];\n\n this.addedObjects.forEach(addedObject => {\n const matchingType = this.allObjectTypes.find(\n objectType => objectType.id === addedObject.type\n );\n\n if (!matchingType) {\n allTypes.push({\n id: addedObject.type,\n name: addedObject.type,\n icon: \"\"\n });\n }\n });\n this.allObjectTypes = [...allTypes];\n };\n\n #addObjectsCallbackHandler = async () => {\n if (this.addObjectsCallback) {\n const objects: TypedObjectData[] = await this.addObjectsCallback();\n this.addedObjects = [...objects, ...this.addedObjects];\n\n this.#addNewTypesToModel();\n this.treeModel = createArrayOfItems(\n this.addedObjects,\n this.allObjectTypes\n );\n }\n };\n\n #deployCallbackHandler = async () => {\n const data: DeployData = {\n targetId: this.#targetTypesEl.value,\n applicationServerId: this.#applicationServerEl?.value,\n displayName: this.#displayNameEl?.value,\n generatorId: this.#generatorEl?.value,\n onlyPackage: this.#onlyPackageCheckboxEl\n ? this.#onlyPackageCheckboxEl.value === \"true\"\n : undefined,\n objects: this.checkedObjectsIds\n };\n\n if (this.deployCallback) {\n this.allowDeploy = false;\n await this.deployCallback(data);\n this.allowDeploy = true;\n }\n };\n\n #handleTargetTypesChange = (ev: any) => {\n const selectedId = ev.detail;\n\n this.selectedDeployTargetData =\n this.targetTypes.find(targetType => targetType.id === selectedId) || null;\n\n this.#optionsCallbackHandler();\n };\n\n #flattenObjectTypes(newState: ObjectTypeData[]) {\n newState.forEach(objectType => {\n this.#flattenedObjectTypeData.set(objectType.id, objectType);\n });\n }\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const allItemsWithCheckbox = [...event.detail.values()];\n\n this.checkedObjectsIds = allItemsWithCheckbox\n .filter(\n checkedItem =>\n checkedItem.item.checked && checkedItem.item.metadata === KB_OBJECT\n )\n .map(checkedItem => checkedItem.item.id);\n };\n\n #evaluateContentToDisplay = () => {\n if (this.noObjects) {\n return (\n <gx-ide-empty-state\n isAnimated={false}\n stateTitle={this.#componentLocale.main.noObjectsToDisplay}\n key=\"no-objects-empty-state\"\n stateIconSrc=\"objects/object\"\n ></gx-ide-empty-state>\n );\n }\n\n return (\n <ch-tree-view-render\n class=\"tree-view\"\n model={this.treeModel}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n showLines=\"last\"\n checked={true}\n checkbox={true}\n onCheckedItemsChange={this.#objectsTreeCheckedItemsChangedHandler}\n />\n );\n };\n\n #getComboModel = (baseCollection: ObjectBaseData[]): ComboBoxModel => {\n return baseCollection.map(\n obj =>\n ({\n caption: obj.name,\n value: obj.id\n } as ComboBoxItemModel)\n );\n };\n\n #renderComboSelector = (\n properties: ComboSelectorProperties,\n withField: boolean = false\n ) => {\n const controlId = properties.label.replace(/ /g, \"-\").toLowerCase();\n const labelClasses = `label ${controlId}`;\n const labelAndComboBox = [\n <label class={labelClasses} htmlFor={controlId}>\n {properties.label}\n </label>,\n <ch-combo-box-render\n class=\"combo-box\"\n value={\n properties.value ? properties.value : properties.baseModel[0]?.id\n }\n model={this.#getComboModel(properties.baseModel)}\n id={controlId}\n ref={properties.refCallback}\n onInput={properties.onInputCallback}\n />\n ];\n return withField ? (\n <div class=\"field field-inline\">{labelAndComboBox}</div>\n ) : (\n labelAndComboBox\n );\n };\n\n #renderHeader = () => {\n return (\n <div slot=\"header\" class=\"header control-header-with-border\">\n {this.#renderComboSelector(\n {\n id: \"deploymentUnits\",\n baseModel: this.deploymentUnits,\n label: this.#componentLocale.header.objectsToDeploy,\n value: this.#currentDeploymentUnitId,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#deploymentUnitsEl = el as HTMLChComboBoxRenderElement;\n },\n onInputCallback: this.#handleGetDeploymentUnitObjectsCallback\n },\n true\n )}\n\n <button\n class=\"button-primary\"\n onClick={this.#addObjectsCallbackHandler}\n >\n {this.#componentLocale.main.addButton}\n </button>\n </div>\n );\n };\n\n #renderApplicationServerSelector = () => {\n return this.#renderComboSelector({\n id: \"application-servers\",\n baseModel: this.selectedDeployTargetData?.applicationServers,\n label: this.#componentLocale.main.applicationServer,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#applicationServerEl = el as HTMLChComboBoxRenderElement;\n }\n });\n };\n\n #renderGeneratorSelector = () => {\n return this.#renderComboSelector({\n id: \"generator\",\n baseModel: this.selectedDeployTargetData?.generators,\n label: this.#componentLocale.main.generator,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#generatorEl = el as HTMLChComboBoxRenderElement;\n }\n });\n };\n\n #renderTargetSelector = () => {\n return [\n this.#renderComboSelector({\n id: \"targetTypes\",\n baseModel: this.targetTypes,\n label: this.#componentLocale.main.targetTypes,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#targetTypesEl = el as HTMLChComboBoxRenderElement;\n },\n onInputCallback: this.#handleTargetTypesChange\n }),\n <div class=\"target-types-button-checkbox-wrapper buttons-spacer\">\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#optionsCallbackHandler}\n >\n <ch-image class=\"icon-md\" src=\"system/settings/primary\" />\n </button>\n <ch-checkbox\n disabled={!this.selectedDeployTargetData?.canCreatePackage}\n class=\"checkbox\"\n caption={this.#componentLocale.main.onlyPackageLabel}\n part=\"only-package-checkbox\"\n checkedValue=\"true\"\n value=\"false\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#onlyPackageCheckboxEl = el as HTMLChCheckboxElement)\n }\n />\n </div>\n ];\n };\n\n #renderDisplayNameInput = () => {\n return [\n <label class=\"label display-name\" htmlFor=\"display-name\">\n {this.#componentLocale.main.displayName}\n </label>,\n <ch-edit\n class=\"input\"\n id=\"display-name\"\n ref={(el: HTMLChEditElement) => {\n if (el) {\n this.#displayNameEl = el;\n }\n }}\n />\n ];\n };\n\n #renderFooter = () => {\n return (\n <div slot=\"footer-end\" class=\"footer control-footer-with-border\">\n <button\n class=\"button-primary\"\n onClick={this.#deployCallbackHandler}\n disabled={!this.allowDeploy}\n >\n {this.#componentLocale.main.deployButton}\n </button>\n </div>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget spacing-body\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n {this.#renderHeader()}\n\n <div class=\"container-wrapper\">{this.#evaluateContentToDisplay()}</div>\n <div class=\"deploy-properties\">\n {this.#renderTargetSelector()}\n\n {this.selectedDeployTargetData?.applicationServers?.length > 0\n ? this.#renderApplicationServerSelector()\n : []}\n\n {this.selectedDeployTargetData?.generators?.length > 0\n ? this.#renderGeneratorSelector()\n : []}\n\n <p class=\"body-italic-s target-type__description\">\n {this.selectedDeployTargetData?.description}\n </p>\n\n {this.selectedDeployTargetData?.canDefineDisplayName\n ? this.#renderDisplayNameInput()\n : []}\n </div>\n\n {this.#renderFooter()}\n </Host>\n );\n }\n}\n\ntype ComboSelectorProperties = {\n class?: string;\n id: string;\n baseModel: ObjectBaseData[];\n value?: string;\n label: string;\n refCallback: (el: HTMLChComboBoxRenderElement) => void;\n onInputCallback?: ((event: ChComboBoxRenderCustomEvent<string>) => void) &\n ((event: InputEvent) => void);\n};\n\nexport type AddObjectsCallback = () => Promise<TypedObjectData[]>;\nexport type OptionsCallback = (\n delpoymentUnitId: string,\n targetId: string\n) => Promise<void>;\nexport type GetDeploymentUnitObjectsCallback = (\n id: string\n) => Promise<TypedObjectData[]>;\n\nexport type DeployCallback = (data: DeployData) => Promise<boolean>;\n\nexport type CreateDeploymentUnitCallback = () => Promise<\n ObjectBaseData | undefined\n>;\n\nexport type ObjectTypeData = ObjectBaseData & {\n icon: string;\n};\n\nexport type DeployTargetData = ObjectBaseData & {\n canCreatePackage: boolean;\n canDefineDisplayName: boolean;\n applicationServers: ObjectBaseData[];\n generators: ObjectBaseData[];\n description: string;\n};\n\nexport type TypedObjectData = ObjectBaseData & {\n type: string;\n};\n\nexport type DeployData = {\n targetId: string;\n applicationServerId?: string;\n displayName?: string;\n generatorId?: string;\n onlyPackage: boolean;\n objects: string[];\n};\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-deployment-tool.js","mappings":";;;;AAGA,MAAM,cAAc,GAAG,MAAM,CAAC;AACvB,MAAM,SAAS,GAAG,QAAQ,CAAC;AAElC,MAAM,2BAA2B,GAAG,CAClC,cAAsB,EACtB,WAA8B;IAE9B,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,KAAK;QACpC,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,OAAO,EAAE,UAAU,CAAC,IAAI;QACxB,WAAW,EAAE,cAAc;QAC3B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEK,MAAM,+BAA+B,GAAG,CAC7C,cAAyC;IAEzC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,QAAQ,CAAC;KACjB;IAED,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE;QACvC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,OAAO,EAAE,UAAU,CAAC,IAAI;gBACxB,WAAW,EAAE,UAAU,CAAC,IAAI;gBAC5B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE,2BAA2B,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;aACtE,CAAC,CAAC;SACJ;KACF;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAChC,WAA8B,EAC9B,WAA6B;;IAG7B,MAAM,oBAAoB,GAA8B,WAAW,CAAC,GAAG,CACrE,IAAI;;QAEF,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;;QAIpE,uCACK,IAAI,KACP,KAAK,EAAE,KAAK,IACZ;KACH,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;IACvE,OAAO,QAAQ,CAAC;AAClB,CAAC;;ACjED,MAAM,iBAAiB,GAAG,o8aAAo8a;;;;;;;;;;;;;;;;;;;AC+B99a,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,YAAY;IACZ,cAAc;IACd,kBAAkB;IAClB,mBAAmB;IACnB,qBAAqB;IACrB,iBAAiB;IACjB,sBAAsB;IACtB,sBAAsB;IACtB,iBAAiB;IACjB,eAAe;CAChB,CAAC;MAQWA,qBAAmB;;;;;;;;;;;;QAK9B,uDAAsB;QACtB,iDAAqB,KAAK,EAAC;QAC3B,uDAAwD,IAAI,GAAG,EAAE,EAAC;QAClE,+DAA6C;QAG7C,6DAA+C;QAC/C,qDAA6C;QAC7C,2DAAmD;QACnD,mDAA2C;QAC3C,yDAAiD;QACjD,qDAAmC;QAsGnC,+CAAmB;;YACjB,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,MAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACtE,EAAC;QAEF,sEAA0C,OAAO,EAAO;YACtD,MAAM,uBAAA,IAAI,gDAAqB,MAAzB,IAAI,EAAsB,EAAE,CAAC,MAAM,CAAC,CAAC;YAC3C,uBAAA,IAAI,mDAAwB,MAA5B,IAAI,CAA0B,CAAC;SAChC,EAAC;QAEF,mDAAuB,OAAO,EAAU;YACtC,IAAI,EAAE,KAAK,IAAI,CAAC,mBAAmB,EAAE;gBACnC,MAAM,uBAAA,IAAI,uDAA4B,MAAhC,IAAI,CAA8B,CAAC;gBACzC,OAAO;aACR;YAED,uBAAA,IAAI,gDAA4B,EAAE,MAAA,CAAC;YAEnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SAC7E,EAAC;QAEF,0DAA8B;YAC5B,IAAI,IAAI,CAAC,4BAA4B,EAAE;gBACrC,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBACrE,IAAI,CAAC,kBAAkB,EAAE;oBACvB,OAAO;iBACR;;gBAGD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;;gBAGjD,MAAM,cAAc,GAAG,uBAAA,IAAI,0CAAe,MAAnB,IAAI,EAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACjE,uBAAA,IAAI,8CAAmB,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM,CACnD,uBAAA,IAAI,8CAAmB,CAAC,KAAK,CAC9B,CAAC;gBACF,uBAAA,IAAI,8CAAmB,CAAC,KAAK,GAAG,kBAAkB,CAAC,EAAE,CAAC;;gBAGtD,MAAM,uBAAA,IAAI,gDAAqB,MAAzB,IAAI,EAAsB,kBAAkB,CAAC,EAAE,CAAC,CAAC;aACxD;SACF,EAAC;QAEF,sDAA0B;YACxB,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,CAClB,uBAAA,IAAI,8CAAmB,CAAC,KAAK,EAC7B,uBAAA,IAAI,0CAAe,CAAC,KAAK,CAC1B,CAAC;aACH;SACF,EAAC;QAEF,kDAAsB;YACpB,MAAM,QAAQ,GAAqB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;YAE5D,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW;gBACnC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAC3C,UAAU,IAAI,UAAU,CAAC,EAAE,KAAK,WAAW,CAAC,IAAI,CACjD,CAAC;gBAEF,IAAI,CAAC,YAAY,EAAE;oBACjB,QAAQ,CAAC,IAAI,CAAC;wBACZ,EAAE,EAAE,WAAW,CAAC,IAAI;wBACpB,IAAI,EAAE,WAAW,CAAC,IAAI;wBACtB,IAAI,EAAE,EAAE;qBACT,CAAC,CAAC;iBACJ;aACF,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;SACrC,EAAC;QAEF,yDAA6B;YAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,MAAM,OAAO,GAAsB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACnE,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;gBAEvD,uBAAA,IAAI,+CAAoB,MAAxB,IAAI,CAAsB,CAAC;gBAC3B,IAAI,CAAC,SAAS,GAAG,kBAAkB,CACjC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,CACpB,CAAC;aACH;SACF,EAAC;QAEF,qDAAyB;;YACvB,MAAM,IAAI,GAAe;gBACvB,QAAQ,EAAE,uBAAA,IAAI,0CAAe,CAAC,KAAK;gBACnC,mBAAmB,EAAE,MAAA,uBAAA,IAAI,gDAAqB,0CAAE,KAAK;gBACrD,WAAW,EAAE,MAAA,uBAAA,IAAI,0CAAe,0CAAE,KAAK;gBACvC,WAAW,EAAE,MAAA,uBAAA,IAAI,wCAAa,0CAAE,KAAK;gBACrC,WAAW,EAAE,uBAAA,IAAI,kDAAuB;sBACpC,uBAAA,IAAI,kDAAuB,CAAC,KAAK,KAAK,MAAM;sBAC5C,SAAS;gBACb,OAAO,EAAE,IAAI,CAAC,iBAAiB;aAChC,CAAC;YAEF,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF,EAAC;QAEF,uDAA2B,CAAC,EAAO;YACjC,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC;YAE7B,IAAI,CAAC,wBAAwB;gBAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC;YAE5E,uBAAA,IAAI,mDAAwB,MAA5B,IAAI,CAA0B,CAAC;SAChC,EAAC;QAQF,qEAAyC,CACvC,KAA0D;YAE1D,MAAM,oBAAoB,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAExD,IAAI,CAAC,iBAAiB,GAAG,oBAAoB;iBAC1C,MAAM,CACL,WAAW,IACT,WAAW,CAAC,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CACtE;iBACA,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5C,EAAC;QAEF,wDAA4B;YAC1B,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,QACE,0BACE,UAAU,EAAE,KAAK,EACjB,UAAU,EAAE,uBAAA,IAAI,4CAAiB,CAAC,IAAI,CAAC,kBAAkB,EACzD,GAAG,EAAC,wBAAwB,EAC5B,YAAY,EAAC,gBAAgB,GACT,EACtB;aACH;YAED,QACE,2BACE,KAAK,EAAC,WAAW,EACjB,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,YAAY,EAAE,IAAI,EAClB,YAAY,EAAE,IAAI,EAClB,gBAAgB,EAAE,IAAI,EACtB,SAAS,EAAC,MAAM,EAChB,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,IAAI,EACd,oBAAoB,EAAE,uBAAA,IAAI,kEAAuC,GACjE,EACF;SACH,EAAC;QAEF,6CAAiB,CAAC,cAAgC;YAChD,OAAO,cAAc,CAAC,GAAG,CACvB,GAAG,KACA;gBACC,OAAO,EAAE,GAAG,CAAC,IAAI;gBACjB,KAAK,EAAE,GAAG,CAAC,EAAE;aACQ,CAAA,CAC1B,CAAC;SACH,EAAC;QAEF,mDAAuB,CACrB,UAAmC,EACnC,YAAqB,KAAK;;YAE1B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YACpE,MAAM,YAAY,GAAG,SAAS,SAAS,EAAE,CAAC;YAC1C,MAAM,gBAAgB,GAAG;gBACvB,aAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,IAC3C,UAAU,CAAC,KAAK,CACX;gBACR,2BACE,KAAK,EAAC,WAAW,EACjB,KAAK,EACH,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,MAAA,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,0CAAE,EAAE,EAEnE,KAAK,EAAE,uBAAA,IAAI,0CAAe,MAAnB,IAAI,EAAgB,UAAU,CAAC,SAAS,CAAC,EAChD,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,UAAU,CAAC,WAAW,EAC3B,OAAO,EAAE,UAAU,CAAC,eAAe,GACnC;aACH,CAAC;YACF,OAAO,SAAS,IACd,WAAK,KAAK,EAAC,oBAAoB,IAAE,gBAAgB,CAAO,KAExD,gBAAgB,CACjB,CAAC;SACH,EAAC;QAEF,4CAAgB;YACd,QACE,WAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mCAAmC,IACzD,uBAAA,IAAI,gDAAqB,MAAzB,IAAI,EACH;gBACE,EAAE,EAAE,iBAAiB;gBACrB,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,KAAK,EAAE,uBAAA,IAAI,4CAAiB,CAAC,MAAM,CAAC,eAAe;gBACnD,KAAK,EAAE,uBAAA,IAAI,oDAAyB;gBACpC,WAAW,EAAE,CAAC,EAA+B;oBAC3C,uBAAA,IAAI,0CAAsB,EAAiC,MAAA,CAAC;iBAC7D;gBACD,eAAe,EAAE,uBAAA,IAAI,mEAAwC;aAC9D,EACD,IAAI,CACL,EAED,cACE,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,uBAAA,IAAI,sDAA2B,IAEvC,uBAAA,IAAI,4CAAiB,CAAC,IAAI,CAAC,SAAS,CAC9B,CACL,EACN;SACH,EAAC;QAEF,+DAAmC;;YACjC,OAAO,uBAAA,IAAI,gDAAqB,MAAzB,IAAI,EAAsB;gBAC/B,EAAE,EAAE,qBAAqB;gBACzB,SAAS,EAAE,MAAA,IAAI,CAAC,wBAAwB,0CAAE,kBAAkB;gBAC5D,KAAK,EAAE,uBAAA,IAAI,4CAAiB,CAAC,IAAI,CAAC,iBAAiB;gBACnD,WAAW,EAAE,CAAC,EAA+B;oBAC3C,uBAAA,IAAI,4CAAwB,EAAiC,MAAA,CAAC;iBAC/D;aACF,CAAC,CAAC;SACJ,EAAC;QAEF,uDAA2B;;YACzB,OAAO,uBAAA,IAAI,gDAAqB,MAAzB,IAAI,EAAsB;gBAC/B,EAAE,EAAE,WAAW;gBACf,SAAS,EAAE,MAAA,IAAI,CAAC,wBAAwB,0CAAE,UAAU;gBACpD,KAAK,EAAE,uBAAA,IAAI,4CAAiB,CAAC,IAAI,CAAC,SAAS;gBAC3C,WAAW,EAAE,CAAC,EAA+B;oBAC3C,uBAAA,IAAI,oCAAgB,EAAiC,MAAA,CAAC;iBACvD;aACF,CAAC,CAAC;SACJ,EAAC;QAEF,oDAAwB;;YACtB,OAAO;gBACL,uBAAA,IAAI,gDAAqB,MAAzB,IAAI,EAAsB;oBACxB,EAAE,EAAE,aAAa;oBACjB,SAAS,EAAE,IAAI,CAAC,WAAW;oBAC3B,KAAK,EAAE,uBAAA,IAAI,4CAAiB,CAAC,IAAI,CAAC,WAAW;oBAC7C,WAAW,EAAE,CAAC,EAA+B;wBAC3C,uBAAA,IAAI,sCAAkB,EAAiC,MAAA,CAAC;qBACzD;oBACD,eAAe,EAAE,uBAAA,IAAI,oDAAyB;iBAC/C,CAAC;gBACF,WAAK,KAAK,EAAC,qDAAqD,IAC9D,cACE,KAAK,EAAC,kCAAkC,EACxC,OAAO,EAAE,uBAAA,IAAI,mDAAwB,IAErC,gBAAU,KAAK,EAAC,SAAS,EAAC,GAAG,EAAC,yBAAyB,GAAG,CACnD,EACT,mBACE,QAAQ,EAAE,EAAC,MAAA,IAAI,CAAC,wBAAwB,0CAAE,gBAAgB,CAAA,EAC1D,KAAK,EAAC,UAAU,EAChB,OAAO,EAAE,uBAAA,IAAI,4CAAiB,CAAC,IAAI,CAAC,gBAAgB,EACpD,IAAI,EAAC,uBAAuB,EAC5B,YAAY,EAAC,MAAM,EACnB,KAAK,EAAC,OAAO,EACb,GAAG,EAAE,CAAC,EAAyB,MAC5B,uBAAA,IAAI,8CAA0B,EAA2B,MAAA,CAAC,GAE7D,CACE;aACP,CAAC;SACH,EAAC;QAEF,sDAA0B;YACxB,OAAO;gBACL,aAAO,KAAK,EAAC,oBAAoB,EAAC,OAAO,EAAC,cAAc,IACrD,uBAAA,IAAI,4CAAiB,CAAC,IAAI,CAAC,WAAW,CACjC;gBACR,eACE,KAAK,EAAC,OAAO,EACb,EAAE,EAAC,cAAc,EACjB,GAAG,EAAE,CAAC,EAAqB;wBACzB,IAAI,EAAE,EAAE;4BACN,uBAAA,IAAI,sCAAkB,EAAE,MAAA,CAAC;yBAC1B;qBACF,GACD;aACH,CAAC;SACH,EAAC;QAEF,4CAAgB;YACd,QACE,WAAK,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,mCAAmC,IAC9D,cACE,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,uBAAA,IAAI,kDAAuB,EACpC,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,IAE1B,uBAAA,IAAI,4CAAiB,CAAC,IAAI,CAAC,YAAY,CACjC,CACL,EACN;SACH,EAAC;iCAxZqC,EAAE;;wCAEa,IAAI;4BACf,EAAE;;yBAEH,EAAE;2BACZ,IAAI;;;;;;;;;;;IAEpC,qBAAqB,CAAC,QAA6B;QACjD,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACzD;IAsBD,uBAAuB,CAAC,QAA0B;QAChD,uBAAA,IAAI,+EAAoB,MAAxB,IAAI,EAAqB,QAAQ,CAAC,CAAC;KACpC;IAuCD,MAAM,iBAAiB;QACrB,uBAAA,IAAI,wCAAoB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;QAClE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,uBAAA,IAAI,4CAAiB,MAArB,IAAI,CAAmB,CAAC;QACxB,uBAAA,IAAI,+EAAoB,MAAxB,IAAI,EAAqB,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,uBAAA,IAAI,gDAAqB,MAAzB,IAAI,EAAsB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEtD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE;gBACvD,IAAI,CAAC,eAAe,CAClB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,EAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CACvB,CAAC;aACH;SACF;KACF;IAED,kBAAkB;QAChB,IAAI,CAAC,uBAAA,IAAI,8CAAmB,EAAE;YAC5B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CACnC,uBAAA,IAAI,4CAAiB,CAAC,aAAa,CACpC,CAAC;YACF,uBAAA,IAAI,0CAAsB,IAAI,MAAA,CAAC;SAChC;KACF;IAwTD,MAAM;;QACJ,QACE,EAAC,IAAI,IAAC,KAAK,EAAC,qBAAqB,IAC/B,gBAAU,KAAK,EAAE,WAAW,GAAa,EAExC,uBAAA,IAAI,yCAAc,MAAlB,IAAI,CAAgB,EAErB,WAAK,KAAK,EAAC,mBAAmB,IAAE,uBAAA,IAAI,qDAA0B,MAA9B,IAAI,CAA4B,CAAO,EACvE,WAAK,KAAK,EAAC,mBAAmB,IAC3B,uBAAA,IAAI,iDAAsB,MAA1B,IAAI,CAAwB,EAE5B,CAAA,MAAA,MAAA,IAAI,CAAC,wBAAwB,0CAAE,kBAAkB,0CAAE,MAAM,IAAG,CAAC;cAC1D,uBAAA,IAAI,4DAAiC,MAArC,IAAI,CAAmC;cACvC,EAAE,EAEL,CAAA,MAAA,MAAA,IAAI,CAAC,wBAAwB,0CAAE,UAAU,0CAAE,MAAM,IAAG,CAAC;cAClD,uBAAA,IAAI,oDAAyB,MAA7B,IAAI,CAA2B;cAC/B,EAAE,EAEN,SAAG,KAAK,EAAC,wCAAwC,IAC9C,MAAA,IAAI,CAAC,wBAAwB,0CAAE,WAAW,CACzC,EAEH,CAAA,MAAA,IAAI,CAAC,wBAAwB,0CAAE,oBAAoB;cAChD,uBAAA,IAAI,mDAAwB,MAA5B,IAAI,CAA0B;cAC9B,EAAE,CACF,EAEL,uBAAA,IAAI,yCAAc,MAAlB,IAAI,CAAgB,CAChB,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;s0DApOmB,QAA0B;IAC5C,QAAQ,CAAC,OAAO,CAAC,UAAU;QACzB,uBAAA,IAAI,oDAAyB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;","names":["GxIdeDeploymentTool"],"sources":["src/components/deployment-tool/helpers.ts","src/components/deployment-tool/deployment-tool.scss?tag=gx-ide-deployment-tool&encapsulation=shadow","src/components/deployment-tool/deployment-tool.tsx"],"sourcesContent":["import { TreeViewItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/tree-view/types\";\nimport { TypedObjectData, ObjectTypeData } from \"./deployment-tool\";\n\nconst KB_OBJECT_TYPE = \"type\";\nexport const KB_OBJECT = \"object\";\n\nconst convertObjectDataToTreeItem = (\n objectTypeIcon: string,\n objectItems: TypedObjectData[]\n) => {\n return objectItems.map(objectItem => ({\n id: objectItem.id,\n caption: objectItem.name,\n startImgSrc: objectTypeIcon,\n expanded: true,\n leaf: true,\n metadata: KB_OBJECT\n }));\n};\n\nexport const convertObjectTypeDataToTreeView = (\n objectTypeData: ObjectTypeDataWithItems[]\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!objectTypeData) {\n return treeData;\n }\n\n for (const objectType of objectTypeData) {\n if (objectType.items.length > 0) {\n treeData.push({\n id: objectType.id,\n caption: objectType.name,\n startImgSrc: objectType.icon,\n expanded: true,\n leaf: false,\n metadata: KB_OBJECT_TYPE,\n items: convertObjectDataToTreeItem(objectType.icon, objectType.items)\n });\n }\n }\n\n return treeData;\n};\n\nexport const createArrayOfItems = (\n objectItems: TypedObjectData[],\n objectTypes: ObjectTypeData[]\n) => {\n // The resulting array with 'items' property added to each type\n const objectTypesWithItems: ObjectTypeDataWithItems[] = objectTypes.map(\n type => {\n // Filter objects that match the current type id\n const items = objectItems.filter(object => object.type === type.id);\n\n // Return a new object type with the 'items' property\n\n return {\n ...type,\n items: items\n };\n }\n );\n const treeView = convertObjectTypeDataToTreeView(objectTypesWithItems);\n return treeView;\n};\n\nexport type ObjectTypeDataWithItems = {\n id: string;\n name: string;\n icon: string;\n items: TypedObjectData[];\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.header {\n display: grid;\n padding: var(--gxg-container--padding);\n gap: var(--gx-ide-grid-column-gap);\n grid-template-columns: 1fr auto;\n :nth-child(2) {\n align-self: self-end;\n }\n margin-block-end: var(--gx-ide-grid-row-gap);\n}\n\n// deploy properties\n.deploy-properties {\n display: grid;\n grid-auto-rows: max-content;\n grid-template-columns: max-content 1fr max-content;\n grid-template-areas:\n \"target-types__label target-types__combo-box target-types__button-checkbox-container\"\n \"application-server__label application-server__combo-box .\"\n \". target-type__description .\"\n \"display-name__label display-name__combo-box .\";\n align-items: center;\n column-gap: var(--field__column-gap);\n row-gap: var(--field-group__row-gap);\n border-block-start: var(--section-common-border);\n padding-block-start: var(--mer-spacing--md);\n}\n\n.label.target-types {\n grid-area: target-types__label;\n}\n#target-types {\n grid-area: target-types__combo-box;\n}\n.target-types-button-checkbox-wrapper {\n grid-area: target-types__button-checkbox-container;\n}\n\n.label.application-server {\n grid-area: application-server__label;\n}\n#application-server {\n grid-area: application-server__combo-box;\n}\n\n.target-type__description {\n grid-area: target-type__description;\n}\n\n.label.display-name {\n grid-area: display-name__label;\n}\n#display-name {\n grid-area: display-name__combo-box;\n}\n\n.footer {\n margin-block-start: var(--gx-ide-grid-row-gap);\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n State,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n\n// Other Libraries\nimport {\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library/dist/types/components/tree-view/types\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nimport { createArrayOfItems } from \"./helpers\";\n\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\nimport { KB_OBJECT } from \"./helpers\";\nimport {\n ComboBoxItemModel,\n ComboBoxModel\n} from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { ChComboBoxRenderCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport { ObjectBaseData } 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/tree-view\",\n \"components/combo-box\",\n \"components/icon\",\n \"utils/spacing\"\n];\n\n@Component({\n tag: \"gx-ide-deployment-tool\",\n styleUrl: \"deployment-tool.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/deployment-tool\"]\n})\nexport class GxIdeDeploymentTool {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n #renderedFirstTime = false;\n #flattenedObjectTypeData: Map<string, ObjectTypeData> = new Map();\n #currentDeploymentUnitId: string | undefined;\n\n @Element() el: HTMLGxIdeDeploymentToolElement;\n #onlyPackageCheckboxEl!: HTMLChCheckboxElement;\n #targetTypesEl!: HTMLChComboBoxRenderElement;\n #applicationServerEl!: HTMLChComboBoxRenderElement;\n #generatorEl!: HTMLChComboBoxRenderElement;\n #deploymentUnitsEl!: HTMLChComboBoxRenderElement;\n #displayNameEl!: HTMLChEditElement;\n\n @State() checkedObjectsIds: string[] = [];\n @State() noObjects: boolean;\n @State() selectedDeployTargetData: DeployTargetData = null;\n @State() addedObjects: TypedObjectData[] = [];\n @State() allObjectTypes: ObjectTypeData[];\n @State() treeModel: TreeViewItemModel[] = [];\n @State() allowDeploy: boolean = true;\n @Watch(\"treeModel\")\n watchTreeModelHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !!(newState.length === 0 || !newState);\n }\n\n /**\n * Available deployment units list\n */\n @Prop() readonly deploymentUnits: ObjectBaseData[];\n\n /**\n * Available target types list\n */\n @Prop() readonly targetTypes: DeployTargetData[];\n\n /**\n * Defines id for new deployment unit option\n */\n @Prop() readonly newDeploymentUnitId: string;\n\n /**\n * Array of possible object types\n */\n @Prop() readonly objectTypes: ObjectTypeData[];\n @Watch(\"objectTypes\")\n watchObjectTypesHandler(newState: ObjectTypeData[]) {\n this.#flattenObjectTypes(newState);\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop()\n readonly getDeploymentUnitObjectsCallback: GetDeploymentUnitObjectsCallback;\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 user wants to start deploy process\n */\n @Prop() readonly deployCallback: DeployCallback;\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 create a deployment unit.\n */\n @Prop() readonly createDeploymentUnitCallback: CreateDeploymentUnitCallback;\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 async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.selectedDeployTargetData = this.targetTypes[0];\n this.allObjectTypes = [...this.objectTypes];\n this.#evaluateObjects();\n this.#flattenObjectTypes(this.allObjectTypes);\n if (this.deploymentUnits.length > 0) {\n this.#loadDeploymentUnits(this.deploymentUnits[0].id);\n\n if (this.targetTypes.length > 0 && this.optionsCallback) {\n this.optionsCallback(\n this.deploymentUnits[0].id,\n this.targetTypes[0].id\n );\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 #evaluateObjects = () => {\n this.noObjects = !!(this.treeModel?.length === 0 || !this.treeModel);\n };\n\n #handleGetDeploymentUnitObjectsCallback = async (ev: any) => {\n await this.#loadDeploymentUnits(ev.detail);\n this.#optionsCallbackHandler();\n };\n\n #loadDeploymentUnits = async (id: string) => {\n if (id === this.newDeploymentUnitId) {\n await this.#handleCreateDeploymentUnit();\n return;\n }\n\n this.#currentDeploymentUnitId = id;\n\n const objectData = await this.getDeploymentUnitObjectsCallback(id);\n this.addedObjects = [...objectData];\n this.treeModel = createArrayOfItems(this.addedObjects, this.allObjectTypes);\n };\n\n #handleCreateDeploymentUnit = async () => {\n if (this.createDeploymentUnitCallback) {\n const deploymentUnitData = await this.createDeploymentUnitCallback();\n if (!deploymentUnitData) {\n return;\n }\n\n // Update deployment units:\n this.deploymentUnits.unshift(deploymentUnitData);\n\n // Update combo:\n const comboModelItem = this.#getComboModel([deploymentUnitData]);\n this.#deploymentUnitsEl.model = comboModelItem.concat(\n this.#deploymentUnitsEl.model\n );\n this.#deploymentUnitsEl.value = deploymentUnitData.id;\n\n // Trigger selection callback:\n await this.#loadDeploymentUnits(deploymentUnitData.id);\n }\n };\n\n #optionsCallbackHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback(\n this.#deploymentUnitsEl.value,\n this.#targetTypesEl.value\n );\n }\n };\n\n #addNewTypesToModel = () => {\n const allTypes: ObjectTypeData[] = [...this.allObjectTypes];\n\n this.addedObjects.forEach(addedObject => {\n const matchingType = this.allObjectTypes.find(\n objectType => objectType.id === addedObject.type\n );\n\n if (!matchingType) {\n allTypes.push({\n id: addedObject.type,\n name: addedObject.type,\n icon: \"\"\n });\n }\n });\n this.allObjectTypes = [...allTypes];\n };\n\n #addObjectsCallbackHandler = async () => {\n if (this.addObjectsCallback) {\n const objects: TypedObjectData[] = await this.addObjectsCallback();\n this.addedObjects = [...objects, ...this.addedObjects];\n\n this.#addNewTypesToModel();\n this.treeModel = createArrayOfItems(\n this.addedObjects,\n this.allObjectTypes\n );\n }\n };\n\n #deployCallbackHandler = async () => {\n const data: DeployData = {\n targetId: this.#targetTypesEl.value,\n applicationServerId: this.#applicationServerEl?.value,\n displayName: this.#displayNameEl?.value,\n generatorId: this.#generatorEl?.value,\n onlyPackage: this.#onlyPackageCheckboxEl\n ? this.#onlyPackageCheckboxEl.value === \"true\"\n : undefined,\n objects: this.checkedObjectsIds\n };\n\n if (this.deployCallback) {\n this.allowDeploy = false;\n await this.deployCallback(data);\n this.allowDeploy = true;\n }\n };\n\n #handleTargetTypesChange = (ev: any) => {\n const selectedId = ev.detail;\n\n this.selectedDeployTargetData =\n this.targetTypes.find(targetType => targetType.id === selectedId) || null;\n\n this.#optionsCallbackHandler();\n };\n\n #flattenObjectTypes(newState: ObjectTypeData[]) {\n newState.forEach(objectType => {\n this.#flattenedObjectTypeData.set(objectType.id, objectType);\n });\n }\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const allItemsWithCheckbox = [...event.detail.values()];\n\n this.checkedObjectsIds = allItemsWithCheckbox\n .filter(\n checkedItem =>\n checkedItem.item.checked && checkedItem.item.metadata === KB_OBJECT\n )\n .map(checkedItem => checkedItem.item.id);\n };\n\n #evaluateContentToDisplay = () => {\n if (this.noObjects) {\n return (\n <gx-ide-empty-state\n isAnimated={false}\n stateTitle={this.#componentLocale.main.noObjectsToDisplay}\n key=\"no-objects-empty-state\"\n stateIconSrc=\"objects/object\"\n ></gx-ide-empty-state>\n );\n }\n\n return (\n <ch-tree-view-render\n class=\"tree-view\"\n model={this.treeModel}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n showLines=\"last\"\n checked={true}\n checkbox={true}\n onCheckedItemsChange={this.#objectsTreeCheckedItemsChangedHandler}\n />\n );\n };\n\n #getComboModel = (baseCollection: ObjectBaseData[]): ComboBoxModel => {\n return baseCollection.map(\n obj =>\n ({\n caption: obj.name,\n value: obj.id\n } as ComboBoxItemModel)\n );\n };\n\n #renderComboSelector = (\n properties: ComboSelectorProperties,\n withField: boolean = false\n ) => {\n const controlId = properties.label.replace(/ /g, \"-\").toLowerCase();\n const labelClasses = `label ${controlId}`;\n const labelAndComboBox = [\n <label class={labelClasses} htmlFor={controlId}>\n {properties.label}\n </label>,\n <ch-combo-box-render\n class=\"combo-box\"\n value={\n properties.value ? properties.value : properties.baseModel[0]?.id\n }\n model={this.#getComboModel(properties.baseModel)}\n id={controlId}\n ref={properties.refCallback}\n onInput={properties.onInputCallback}\n />\n ];\n return withField ? (\n <div class=\"field field-inline\">{labelAndComboBox}</div>\n ) : (\n labelAndComboBox\n );\n };\n\n #renderHeader = () => {\n return (\n <div slot=\"header\" class=\"header control-header-with-border\">\n {this.#renderComboSelector(\n {\n id: \"deploymentUnits\",\n baseModel: this.deploymentUnits,\n label: this.#componentLocale.header.objectsToDeploy,\n value: this.#currentDeploymentUnitId,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#deploymentUnitsEl = el as HTMLChComboBoxRenderElement;\n },\n onInputCallback: this.#handleGetDeploymentUnitObjectsCallback\n },\n true\n )}\n\n <button\n class=\"button-primary\"\n onClick={this.#addObjectsCallbackHandler}\n >\n {this.#componentLocale.main.addButton}\n </button>\n </div>\n );\n };\n\n #renderApplicationServerSelector = () => {\n return this.#renderComboSelector({\n id: \"application-servers\",\n baseModel: this.selectedDeployTargetData?.applicationServers,\n label: this.#componentLocale.main.applicationServer,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#applicationServerEl = el as HTMLChComboBoxRenderElement;\n }\n });\n };\n\n #renderGeneratorSelector = () => {\n return this.#renderComboSelector({\n id: \"generator\",\n baseModel: this.selectedDeployTargetData?.generators,\n label: this.#componentLocale.main.generator,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#generatorEl = el as HTMLChComboBoxRenderElement;\n }\n });\n };\n\n #renderTargetSelector = () => {\n return [\n this.#renderComboSelector({\n id: \"targetTypes\",\n baseModel: this.targetTypes,\n label: this.#componentLocale.main.targetTypes,\n refCallback: (el: HTMLChComboBoxRenderElement) => {\n this.#targetTypesEl = el as HTMLChComboBoxRenderElement;\n },\n onInputCallback: this.#handleTargetTypesChange\n }),\n <div class=\"target-types-button-checkbox-wrapper buttons-spacer\">\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#optionsCallbackHandler}\n >\n <ch-image class=\"icon-md\" src=\"system/settings/primary\" />\n </button>\n <ch-checkbox\n disabled={!this.selectedDeployTargetData?.canCreatePackage}\n class=\"checkbox\"\n caption={this.#componentLocale.main.onlyPackageLabel}\n part=\"only-package-checkbox\"\n checkedValue=\"true\"\n value=\"false\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#onlyPackageCheckboxEl = el as HTMLChCheckboxElement)\n }\n />\n </div>\n ];\n };\n\n #renderDisplayNameInput = () => {\n return [\n <label class=\"label display-name\" htmlFor=\"display-name\">\n {this.#componentLocale.main.displayName}\n </label>,\n <ch-edit\n class=\"input\"\n id=\"display-name\"\n ref={(el: HTMLChEditElement) => {\n if (el) {\n this.#displayNameEl = el;\n }\n }}\n />\n ];\n };\n\n #renderFooter = () => {\n return (\n <div slot=\"footer-end\" class=\"footer control-footer-with-border\">\n <button\n class=\"button-primary\"\n onClick={this.#deployCallbackHandler}\n disabled={!this.allowDeploy}\n >\n {this.#componentLocale.main.deployButton}\n </button>\n </div>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget spacing-body\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n {this.#renderHeader()}\n\n <div class=\"container-wrapper\">{this.#evaluateContentToDisplay()}</div>\n <div class=\"deploy-properties\">\n {this.#renderTargetSelector()}\n\n {this.selectedDeployTargetData?.applicationServers?.length > 0\n ? this.#renderApplicationServerSelector()\n : []}\n\n {this.selectedDeployTargetData?.generators?.length > 0\n ? this.#renderGeneratorSelector()\n : []}\n\n <p class=\"body-italic-s target-type__description\">\n {this.selectedDeployTargetData?.description}\n </p>\n\n {this.selectedDeployTargetData?.canDefineDisplayName\n ? this.#renderDisplayNameInput()\n : []}\n </div>\n\n {this.#renderFooter()}\n </Host>\n );\n }\n}\n\ntype ComboSelectorProperties = {\n class?: string;\n id: string;\n baseModel: ObjectBaseData[];\n value?: string;\n label: string;\n refCallback: (el: HTMLChComboBoxRenderElement) => void;\n onInputCallback?: ((event: ChComboBoxRenderCustomEvent<string>) => void) &\n ((event: InputEvent) => void);\n};\n\nexport type AddObjectsCallback = () => Promise<TypedObjectData[]>;\nexport type OptionsCallback = (\n delpoymentUnitId: string,\n targetId: string\n) => Promise<void>;\nexport type GetDeploymentUnitObjectsCallback = (\n id: string\n) => Promise<TypedObjectData[]>;\n\nexport type DeployCallback = (data: DeployData) => Promise<boolean>;\n\nexport type CreateDeploymentUnitCallback = () => Promise<\n ObjectBaseData | undefined\n>;\n\nexport type ObjectTypeData = ObjectBaseData & {\n icon: string;\n};\n\nexport type DeployTargetData = ObjectBaseData & {\n canCreatePackage: boolean;\n canDefineDisplayName: boolean;\n applicationServers: ObjectBaseData[];\n generators: ObjectBaseData[];\n description: string;\n};\n\nexport type TypedObjectData = ObjectBaseData & {\n type: string;\n};\n\nexport type DeployData = {\n targetId: string;\n applicationServerId?: string;\n displayName?: string;\n generatorId?: string;\n onlyPackage: boolean;\n objects: string[];\n};\n"],"version":3}
|