@genexus/genexus-ide-ui 1.1.4 → 1.1.5
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/MERCURY_ASSETS-972bf7f4.js +9 -0
- package/dist/cjs/MERCURY_ASSETS-972bf7f4.js.map +1 -0
- package/dist/cjs/code-render-0e9837c4.js +86 -0
- package/dist/cjs/code-render-0e9837c4.js.map +1 -0
- package/dist/cjs/{common-72f91a78.js → common-090e6d3a.js} +28 -12
- package/dist/cjs/common-090e6d3a.js.map +1 -0
- package/dist/cjs/{form-validation-178cf461.js → form-validation-ffe2b957.js} +7 -3
- package/dist/cjs/form-validation-ffe2b957.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +9 -15
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +4 -5
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +8 -10
- 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 +3 -5
- 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 +2 -3
- 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 +2 -3
- 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 +13 -16
- 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 +2 -3
- 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 +239 -0
- package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +18 -23
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js +1 -2
- 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 +9 -14
- 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 +5 -7
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +6 -8
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +6 -8
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +6 -8
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +16 -20
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +27 -36
- package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -2
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +6 -9
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-file-item.cjs.entry.js +5 -6
- package/dist/cjs/gx-ide-file-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +62 -48
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +7 -8
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +10 -14
- 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 +18 -10
- 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 +7 -8
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +4 -7
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +14 -19
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +34 -39
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +6 -9
- 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 +10 -12
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +8 -13
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +21 -27
- package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +202 -98
- package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +10 -17
- 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 +3 -4
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +6 -10
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +2 -3
- 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 +6 -8
- package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +9 -13
- 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 +3 -3
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +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 -5
- 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 -11
- 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 +11 -18
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +19 -22
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +20 -9
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/{helpers-30f109a4.js → helpers-e5a13fa5.js} +6 -6
- package/dist/cjs/helpers-e5a13fa5.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{locale-ff30a5f3.js → locale-36b93b1b.js} +4 -4
- package/dist/cjs/locale-36b93b1b.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/common/common.js +23 -13
- package/dist/collection/common/common.js.map +1 -1
- package/dist/collection/common/form-validation.js +7 -4
- package/dist/collection/common/form-validation.js.map +1 -1
- package/dist/collection/common/helpers.js +9 -10
- package/dist/collection/common/helpers.js.map +1 -1
- 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 +1 -2
- package/dist/collection/components/_helpers/container/container.js.map +1 -1
- package/dist/collection/components/_helpers/directory-selector/directory-selector.js +1 -2
- package/dist/collection/components/_helpers/directory-selector/directory-selector.js.map +1 -1
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js +2 -4
- 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 +8 -14
- package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +1 -0
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +2 -3
- 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 +2 -4
- 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 +1 -2
- 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 +1 -2
- 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 +7 -9
- package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js +1 -2
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js.map +1 -1
- package/dist/collection/components/chat/chat-container/chat-container.css +118 -0
- package/dist/collection/components/chat/chat-container/chat-container.js +218 -0
- package/dist/collection/components/chat/chat-container/chat-container.js.map +1 -0
- package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.en.json +9 -0
- package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.ja.json +9 -0
- package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.zh.json +9 -0
- package/dist/collection/components/chat/chat-welcome/chat-welcome.css +109 -0
- package/dist/collection/components/chat/chat-welcome/chat-welcome.js +228 -0
- package/dist/collection/components/chat/chat-welcome/chat-welcome.js.map +1 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.js +3 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.js.map +1 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.tsx +31 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg +21 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar.svg +11 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/header-illustration.svg +24 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +10 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +10 -0
- package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +10 -0
- package/dist/collection/components/chat/code-render.js +65 -0
- package/dist/collection/components/chat/code-render.js.map +1 -0
- package/dist/collection/components/current-user-info/current-user-info.js +2 -3
- package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
- package/dist/collection/components/dashboard-home/dashboard-home.js +2 -3
- package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
- package/dist/collection/components/data-selector/data-selector.css +1 -0
- package/dist/collection/components/data-selector/data-selector.js +2 -3
- package/dist/collection/components/data-selector/data-selector.js.map +1 -1
- package/dist/collection/components/data-type-selector/data-type-selector.js +3 -4
- package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
- package/dist/collection/components/deployment-tool/deployment-tool.js +11 -18
- package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
- package/dist/collection/components/deployment-tool/helpers.js +4 -1
- package/dist/collection/components/deployment-tool/helpers.js.map +1 -1
- package/dist/collection/components/design-import/design-import.js +18 -26
- 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 +59 -44
- package/dist/collection/components/file-uploader/file-uploader.js.map +1 -1
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +1 -2
- 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 +4 -7
- 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 +1 -2
- 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 +13 -4
- 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 +3 -6
- package/dist/collection/components/navigation-report/navigation-report.js.map +1 -1
- package/dist/collection/components/new-environment/new-environment.js +10 -15
- package/dist/collection/components/new-environment/new-environment.js.map +1 -1
- package/dist/collection/components/new-kb/new-kb.js +28 -32
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/new-object/new-object.js +5 -8
- 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.css +1 -0
- package/dist/collection/components/object-selector/object-selector.js +4 -5
- package/dist/collection/components/object-selector/object-selector.js.map +1 -1
- package/dist/collection/components/open-api-import/open-api-import.js +4 -8
- package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
- package/dist/collection/components/references/helpers.js +9 -13
- package/dist/collection/components/references/helpers.js.map +1 -1
- package/dist/collection/components/references/references.js +9 -11
- package/dist/collection/components/references/references.js.map +1 -1
- package/dist/collection/components/select-kb-items/helpers.js +5 -10
- package/dist/collection/components/select-kb-items/helpers.js.map +1 -1
- package/dist/collection/components/select-kb-items/select-kb-items.js +1 -2
- 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 +1 -2
- 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 +1 -2
- package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
- package/dist/collection/components/splash/splash.js +2 -3
- package/dist/collection/components/splash/splash.js.map +1 -1
- package/dist/collection/components/start-page/start-page.js +3 -6
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/collection/components/team-dev/commit/commit.css +1 -0
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +16 -21
- 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 +4 -8
- 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 +2 -5
- package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
- package/dist/collection/components/team-dev/update/update.css +2 -0
- package/dist/collection/components/team-dev/update/update.js +1 -2
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.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 +5 -7
- package/dist/collection/components/welcome-page/welcome-page.js.map +1 -1
- package/dist/collection/components/ww-attributes/helpers.js +1 -2
- package/dist/collection/components/ww-attributes/helpers.js.map +1 -1
- package/dist/collection/components/ww-attributes/ww-attributes.css +1 -0
- package/dist/collection/components/ww-attributes/ww-attributes.js +6 -11
- package/dist/collection/components/ww-attributes/ww-attributes.js.map +1 -1
- package/dist/collection/components/ww-files/helpers.js +1 -2
- package/dist/collection/components/ww-files/helpers.js.map +1 -1
- package/dist/collection/components/ww-files/ww-files.css +1 -0
- package/dist/collection/components/ww-files/ww-files.js +16 -18
- package/dist/collection/components/ww-files/ww-files.js.map +1 -1
- package/dist/collection/components/ww-images/ww-images.css +1 -0
- package/dist/collection/components/ww-images/ww-images.js +16 -5
- package/dist/collection/components/ww-images/ww-images.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/showcase/chat-container/callbacks.js +105 -90
- package/dist/collection/showcase/chat-container/callbacks.js.map +1 -1
- package/dist/collection/showcase/chat-container/chat.showcase.js +145 -10
- package/dist/collection/showcase/chat-container/chat.showcase.js.map +1 -1
- package/dist/collection/testing/locale.e2e.js +4 -3
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/MERCURY_ASSETS.js +5 -1
- package/dist/components/MERCURY_ASSETS.js.map +1 -1
- package/dist/components/ai-message.js +1 -2
- package/dist/components/ai-message.js.map +1 -1
- package/dist/components/chat-container.js +70 -7
- package/dist/components/chat-container.js.map +1 -1
- package/dist/components/chat-welcome.js +146 -0
- package/dist/components/chat-welcome.js.map +1 -0
- package/dist/components/code-render.js +68 -41
- package/dist/components/code-render.js.map +1 -1
- package/dist/components/common.js +27 -11
- package/dist/components/common.js.map +1 -1
- package/dist/components/container.js +1 -2
- package/dist/components/container.js.map +1 -1
- package/dist/components/entity-selector.js +3 -6
- package/dist/components/entity-selector.js.map +1 -1
- package/dist/components/file-item.js +1 -2
- package/dist/components/file-item.js.map +1 -1
- package/dist/components/form-validation.js +6 -2
- package/dist/components/form-validation.js.map +1 -1
- package/dist/components/gx-ide-ai-assistant.js +8 -14
- package/dist/components/gx-ide-ai-assistant.js.map +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js +4 -6
- package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js +2 -4
- package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-files.js +1 -2
- package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
- package/dist/components/gx-ide-bpm-sync-gam-roles.js +1 -2
- package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-task-documents.js +9 -12
- package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js +1 -2
- package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
- package/dist/components/gx-ide-chat-welcome.d.ts +11 -0
- package/dist/components/gx-ide-chat-welcome.js +8 -0
- package/dist/components/gx-ide-chat-welcome.js.map +1 -0
- package/dist/components/gx-ide-connect-gx-server.js +16 -21
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +5 -10
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-current-user-info.js +3 -5
- package/dist/components/gx-ide-current-user-info.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +3 -5
- package/dist/components/gx-ide-dashboard-home.js.map +1 -1
- package/dist/components/gx-ide-data-selector.js +4 -6
- package/dist/components/gx-ide-data-selector.js.map +1 -1
- package/dist/components/gx-ide-data-type-selector.js +4 -6
- package/dist/components/gx-ide-data-type-selector.js.map +1 -1
- package/dist/components/gx-ide-deployment-tool.js +15 -19
- package/dist/components/gx-ide-deployment-tool.js.map +1 -1
- package/dist/components/gx-ide-design-import.js +20 -29
- package/dist/components/gx-ide-design-import.js.map +1 -1
- package/dist/components/gx-ide-directory-selector.js +1 -2
- package/dist/components/gx-ide-directory-selector.js.map +1 -1
- package/dist/components/gx-ide-edit-module-server.js +1 -2
- package/dist/components/gx-ide-edit-module-server.js.map +1 -1
- package/dist/components/gx-ide-file-uploader.js +60 -46
- package/dist/components/gx-ide-file-uploader.js.map +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js +1 -2
- package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-export.js +1 -2
- package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-import.js +5 -9
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references-v2.js +14 -6
- package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references.js +3 -4
- package/dist/components/gx-ide-manage-module-references.js.map +1 -1
- package/dist/components/gx-ide-navigation-report.js +3 -6
- package/dist/components/gx-ide-navigation-report.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +10 -15
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +29 -34
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-new-object.js +5 -8
- 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 +6 -8
- package/dist/components/gx-ide-object-selector.js.map +1 -1
- package/dist/components/gx-ide-open-api-import.js +5 -10
- package/dist/components/gx-ide-open-api-import.js.map +1 -1
- package/dist/components/gx-ide-references.js +18 -24
- package/dist/components/gx-ide-references.js.map +1 -1
- package/dist/components/gx-ide-sc-chat-container.js +215 -100
- package/dist/components/gx-ide-sc-chat-container.js.map +1 -1
- package/dist/components/gx-ide-select-kb-items.js +7 -14
- package/dist/components/gx-ide-select-kb-items.js.map +1 -1
- package/dist/components/gx-ide-select-user-team.js +2 -3
- package/dist/components/gx-ide-select-user-team.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +3 -7
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-sign-in-team.js +1 -2
- package/dist/components/gx-ide-sign-in-team.js.map +1 -1
- package/dist/components/gx-ide-splash.js +3 -5
- package/dist/components/gx-ide-splash.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +4 -8
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +1 -1
- package/dist/components/gx-ide-team-dev-commit.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 -3
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-welcome-page.js +6 -9
- package/dist/components/gx-ide-welcome-page.js.map +1 -1
- package/dist/components/gx-ide-ww-attributes.js +9 -16
- package/dist/components/gx-ide-ww-attributes.js.map +1 -1
- package/dist/components/gx-ide-ww-files.js +18 -21
- package/dist/components/gx-ide-ww-files.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +17 -6
- 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.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/MERCURY_ASSETS-039222dd.js +7 -0
- package/dist/esm/MERCURY_ASSETS-039222dd.js.map +1 -0
- package/dist/esm/code-render-f3afd300.js +83 -0
- package/dist/esm/code-render-f3afd300.js.map +1 -0
- package/dist/esm/{common-ccb4504a.js → common-719c4daf.js} +28 -12
- package/dist/esm/common-719c4daf.js.map +1 -0
- package/dist/esm/{form-validation-cd0215c6.js → form-validation-71dca8c6.js} +7 -3
- package/dist/esm/form-validation-71dca8c6.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-about.entry.js +1 -1
- package/dist/esm/gx-ide-ai-assistant.entry.js +9 -15
- package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +3 -4
- package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +5 -7
- 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 +3 -5
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +2 -3
- 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 +2 -3
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-task-documents.entry.js +10 -13
- package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +2 -3
- 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 +234 -0
- package/dist/esm/gx-ide-chat-container_2.entry.js.map +1 -0
- package/dist/esm/gx-ide-connect-gx-server.entry.js +18 -23
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-container_2.entry.js +1 -2
- package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +7 -12
- 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 -6
- package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +5 -7
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +5 -7
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-type-selector.entry.js +5 -7
- package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-deployment-tool.entry.js +16 -20
- package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +21 -30
- package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-directory-selector.entry.js +1 -2
- package/dist/esm/gx-ide-directory-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js +2 -3
- package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +4 -7
- package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-file-item.entry.js +1 -2
- package/dist/esm/gx-ide-file-item.entry.js.map +1 -1
- package/dist/esm/gx-ide-file-uploader.entry.js +61 -47
- package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js +2 -3
- package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +2 -3
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +6 -10
- 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 +16 -8
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +5 -6
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-navigation-report.entry.js +4 -7
- package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +14 -19
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +33 -38
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +6 -9
- 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 +8 -10
- package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-open-api-import.entry.js +6 -11
- package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +19 -25
- package/dist/esm/gx-ide-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-sc-chat-container.entry.js +203 -99
- package/dist/esm/gx-ide-sc-chat-container.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-kb-items.entry.js +8 -15
- package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js +3 -4
- package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +5 -9
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js +2 -3
- 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 +5 -7
- package/dist/esm/gx-ide-splash.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +5 -9
- 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 +3 -3
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +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 -5
- 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 +7 -10
- 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 +10 -17
- package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js +19 -22
- package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +20 -9
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/{helpers-10479d69.js → helpers-5f1c9a32.js} +6 -6
- package/dist/esm/helpers-5f1c9a32.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{locale-e5107fad.js → locale-643afe17.js} +4 -4
- package/dist/esm/locale-643afe17.js.map +1 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.en.json +9 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.ja.json +9 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.zh.json +9 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/helpers.tsx +31 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg +21 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/ai-avatar.svg +11 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/header-illustration.svg +24 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +10 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +10 -0
- package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +10 -0
- package/dist/genexus-ide-ui/index.esm.js +2 -2
- package/dist/genexus-ide-ui/index.esm.js.map +1 -1
- package/dist/genexus-ide-ui/{p-d8379699.entry.js → p-02fc47cd.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-530c32aa.entry.js → p-032b4a81.entry.js} +25 -30
- package/dist/genexus-ide-ui/p-032b4a81.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-eea944d4.entry.js → p-0d83a34d.entry.js} +63 -69
- package/dist/genexus-ide-ui/p-0d83a34d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fcecdafa.entry.js → p-0e53f1ef.entry.js} +161 -163
- package/dist/genexus-ide-ui/p-0e53f1ef.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a1d73ca3.entry.js → p-11dccb8f.entry.js} +19 -20
- package/dist/genexus-ide-ui/p-11dccb8f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fecc50e4.entry.js → p-29575656.entry.js} +85 -96
- package/dist/genexus-ide-ui/p-29575656.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-14165308.entry.js → p-2be58a7a.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-fdf41406.entry.js → p-2dbf722d.entry.js} +77 -85
- package/dist/genexus-ide-ui/p-2dbf722d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-31beae9e.entry.js → p-2e90a13a.entry.js} +2 -3
- package/dist/genexus-ide-ui/p-2e90a13a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ba7d1472.entry.js → p-353810b8.entry.js} +99 -104
- package/dist/genexus-ide-ui/p-353810b8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b58fb87b.entry.js → p-39c527ff.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-3edbf07d.js +109 -0
- package/dist/genexus-ide-ui/p-3edbf07d.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ef5dfd35.entry.js → p-41a4364d.entry.js} +2 -4
- package/dist/genexus-ide-ui/{p-ef5dfd35.entry.js.map → p-41a4364d.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-68969051.entry.js → p-45d2fa91.entry.js} +11 -12
- package/dist/genexus-ide-ui/p-45d2fa91.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5687fdb7.entry.js → p-460db3ff.entry.js} +11 -13
- package/dist/genexus-ide-ui/{p-5687fdb7.entry.js.map → p-460db3ff.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-9a609b51.js → p-48f5911b.js} +50 -33
- package/dist/genexus-ide-ui/p-48f5911b.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4b38fffc.entry.js → p-4d929210.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-de7f0c1f.entry.js → p-501c7b1f.entry.js} +19 -22
- package/dist/genexus-ide-ui/p-501c7b1f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c747afac.entry.js → p-50eaa96d.entry.js} +99 -111
- package/dist/genexus-ide-ui/p-50eaa96d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-51601b85.js +145 -0
- package/dist/genexus-ide-ui/p-51601b85.js.map +1 -0
- package/dist/genexus-ide-ui/{p-289c3290.js → p-549b8f0c.js} +16 -15
- package/dist/{esm/form-validation-cd0215c6.js.map → genexus-ide-ui/p-549b8f0c.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-007173ef.entry.js → p-5a42428d.entry.js} +16 -19
- package/dist/genexus-ide-ui/p-5a42428d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ded7444c.entry.js → p-5da3e999.entry.js} +16 -17
- package/dist/genexus-ide-ui/p-5da3e999.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1072bf33.entry.js → p-5e05f830.entry.js} +32 -38
- package/dist/genexus-ide-ui/p-5e05f830.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fe490103.entry.js → p-6168d48c.entry.js} +165 -174
- package/dist/genexus-ide-ui/p-6168d48c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-76c3fc51.entry.js → p-66d9269a.entry.js} +17 -22
- package/dist/genexus-ide-ui/p-66d9269a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-45996535.entry.js → p-6dc05a27.entry.js} +3 -4
- package/dist/genexus-ide-ui/p-6dc05a27.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f51adb3d.entry.js → p-75e1aa31.entry.js} +5 -6
- package/dist/genexus-ide-ui/p-75e1aa31.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e502c2fd.entry.js → p-7782e1b8.entry.js} +56 -61
- package/dist/genexus-ide-ui/p-7782e1b8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1bc2613e.entry.js → p-7cedb0f0.entry.js} +66 -69
- package/dist/genexus-ide-ui/p-7cedb0f0.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-311eedf3.js → p-857866f8.js} +8 -9
- package/dist/genexus-ide-ui/p-857866f8.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f722955f.entry.js → p-8636a0bd.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d095a37c.entry.js → p-8b046b4b.entry.js} +9 -10
- package/dist/genexus-ide-ui/p-8b046b4b.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4b79c3ab.entry.js → p-8f1f4126.entry.js} +10 -12
- package/dist/genexus-ide-ui/p-8f1f4126.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b2928645.entry.js → p-95f831a8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-c91af626.entry.js → p-970d16ca.entry.js} +15 -15
- package/dist/genexus-ide-ui/{p-c91af626.entry.js.map → p-970d16ca.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-35f9ebbc.entry.js → p-9a39e49c.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e24902a0.entry.js → p-9a9ee1ee.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-bbf88f43.entry.js → p-9b238bf7.entry.js} +173 -180
- package/dist/genexus-ide-ui/p-9b238bf7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-edf889d2.entry.js → p-9c690c36.entry.js} +13 -16
- package/dist/genexus-ide-ui/p-9c690c36.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4c717aa7.entry.js → p-a6029d9a.entry.js} +117 -131
- package/dist/genexus-ide-ui/p-a6029d9a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-833c3585.entry.js → p-a86a8692.entry.js} +33 -39
- package/dist/genexus-ide-ui/p-a86a8692.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f7421997.entry.js → p-a8cc41e4.entry.js} +58 -61
- package/dist/genexus-ide-ui/p-a8cc41e4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-767e0f6d.entry.js → p-ac0438d6.entry.js} +11 -12
- package/dist/genexus-ide-ui/p-ac0438d6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-56331289.entry.js → p-b1833747.entry.js} +38 -45
- package/dist/genexus-ide-ui/p-b1833747.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6b957e82.entry.js → p-b211bca8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-84618917.entry.js → p-be794132.entry.js} +229 -236
- package/dist/genexus-ide-ui/p-be794132.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-961bb2cc.entry.js → p-bfd9066c.entry.js} +8 -8
- package/dist/genexus-ide-ui/p-bfd9066c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a47d71eb.entry.js → p-c30b2104.entry.js} +9 -11
- package/dist/genexus-ide-ui/p-c30b2104.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fa18a70c.entry.js → p-c5cca204.entry.js} +17 -20
- package/dist/genexus-ide-ui/p-c5cca204.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-cdf8b082.entry.js +338 -0
- package/dist/genexus-ide-ui/p-cdf8b082.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6d2174ed.entry.js → p-d1cc4724.entry.js} +17 -12
- package/dist/genexus-ide-ui/p-d1cc4724.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1dd7be84.entry.js → p-daa29451.entry.js} +14 -17
- package/dist/genexus-ide-ui/p-daa29451.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-67762237.entry.js → p-db4750ff.entry.js} +139 -148
- package/dist/genexus-ide-ui/p-db4750ff.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3085add2.entry.js → p-db4f756a.entry.js} +176 -188
- package/dist/genexus-ide-ui/p-db4f756a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-05b04291.entry.js → p-e1d75f00.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-05b04291.entry.js.map → p-e1d75f00.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-f49bb305.entry.js → p-e26e05c7.entry.js} +12 -18
- package/dist/genexus-ide-ui/p-e26e05c7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2b3938b4.entry.js → p-e37e95e7.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-4cbc8a8b.entry.js → p-e5571f49.entry.js} +26 -28
- package/dist/genexus-ide-ui/p-e5571f49.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-eb51429c.entry.js +317 -0
- package/dist/genexus-ide-ui/p-eb51429c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-29a026bb.entry.js → p-ec01c70c.entry.js} +15 -18
- package/dist/genexus-ide-ui/p-ec01c70c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5ac47c69.js → p-ede7bd20.js} +6885 -6346
- package/dist/genexus-ide-ui/p-ede7bd20.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e7fb3ee3.entry.js → p-f2bd9044.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-50f304fe.entry.js → p-f315c6e0.entry.js} +12 -14
- package/dist/genexus-ide-ui/{p-50f304fe.entry.js.map → p-f315c6e0.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-0550fd5f.entry.js → p-f52bcdac.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-b1851e6b.entry.js → p-f5879a41.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-b1851e6b.entry.js.map → p-f5879a41.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-f3f35e5c.entry.js → p-f5a48b33.entry.js} +6 -9
- package/dist/genexus-ide-ui/p-f5a48b33.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-04c6bd23.entry.js → p-f6ceb01a.entry.js} +28 -29
- package/dist/genexus-ide-ui/p-f6ceb01a.entry.js.map +1 -0
- package/dist/types/common/common.d.ts +1 -1
- package/dist/types/components/{_helpers → chat}/chat-container/chat-container.d.ts +13 -2
- package/dist/types/components/chat/chat-welcome/chat-welcome.d.ts +39 -0
- package/dist/types/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.d.ts +1 -0
- package/dist/types/components/{_helpers/chat-container → chat}/code-render.d.ts +1 -1
- package/dist/types/components.d.ts +73 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/showcase/chat-container/callbacks.d.ts +1 -1
- package/dist/types/showcase/chat-container/chat.showcase.d.ts +15 -0
- package/package.json +5 -5
- package/dist/cjs/MERCURY_ASSETS-6bbcc011.js +0 -5
- package/dist/cjs/MERCURY_ASSETS-6bbcc011.js.map +0 -1
- package/dist/cjs/assets-manager-7227a74b.js +0 -7
- package/dist/cjs/assets-manager-7227a74b.js.map +0 -1
- package/dist/cjs/code-render-db7cb770.js +0 -59
- package/dist/cjs/code-render-db7cb770.js.map +0 -1
- package/dist/cjs/common-72f91a78.js.map +0 -1
- package/dist/cjs/form-validation-178cf461.js.map +0 -1
- package/dist/cjs/gx-ide-chat-container.cjs.entry.js +0 -62
- package/dist/cjs/gx-ide-chat-container.cjs.entry.js.map +0 -1
- package/dist/cjs/helpers-30f109a4.js.map +0 -1
- package/dist/cjs/locale-ff30a5f3.js.map +0 -1
- package/dist/collection/components/_helpers/chat-container/chat-container.css +0 -204
- package/dist/collection/components/_helpers/chat-container/chat-container.js +0 -137
- package/dist/collection/components/_helpers/chat-container/chat-container.js.map +0 -1
- package/dist/collection/components/_helpers/chat-container/code-render.js +0 -46
- package/dist/collection/components/_helpers/chat-container/code-render.js.map +0 -1
- package/dist/components/assets-manager.js +0 -5
- package/dist/components/assets-manager.js.map +0 -1
- package/dist/esm/MERCURY_ASSETS-bbdf7018.js +0 -3
- package/dist/esm/MERCURY_ASSETS-bbdf7018.js.map +0 -1
- package/dist/esm/assets-manager-0d129105.js +0 -5
- package/dist/esm/assets-manager-0d129105.js.map +0 -1
- package/dist/esm/code-render-6cbb0e63.js +0 -56
- package/dist/esm/code-render-6cbb0e63.js.map +0 -1
- package/dist/esm/common-ccb4504a.js.map +0 -1
- package/dist/esm/gx-ide-chat-container.entry.js +0 -58
- package/dist/esm/gx-ide-chat-container.entry.js.map +0 -1
- package/dist/esm/helpers-10479d69.js.map +0 -1
- package/dist/esm/locale-e5107fad.js.map +0 -1
- package/dist/genexus-ide-ui/p-007173ef.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-04c6bd23.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1072bf33.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1a74d49a.entry.js +0 -231
- package/dist/genexus-ide-ui/p-1a74d49a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1bc2613e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1dd7be84.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-289c3290.js.map +0 -1
- package/dist/genexus-ide-ui/p-29a026bb.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-3085add2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-311eedf3.js.map +0 -1
- package/dist/genexus-ide-ui/p-31beae9e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-45996535.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4b79c3ab.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4c717aa7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4cbc8a8b.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-530c32aa.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-56331289.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5ac47c69.js.map +0 -1
- package/dist/genexus-ide-ui/p-67762237.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-68969051.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6d2174ed.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6e4208d8.js +0 -9
- package/dist/genexus-ide-ui/p-6e4208d8.js.map +0 -1
- package/dist/genexus-ide-ui/p-767e0f6d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-76c3fc51.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-833c3585.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-84618917.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-961bb2cc.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9a609b51.js.map +0 -1
- package/dist/genexus-ide-ui/p-9ddea83b.js +0 -146
- package/dist/genexus-ide-ui/p-9ddea83b.js.map +0 -1
- package/dist/genexus-ide-ui/p-a1d73ca3.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a47d71eb.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ba7d1472.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bbf88f43.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-be8a59fd.js +0 -107
- package/dist/genexus-ide-ui/p-be8a59fd.js.map +0 -1
- package/dist/genexus-ide-ui/p-c747afac.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-d095a37c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-db9c3b37.entry.js +0 -85
- package/dist/genexus-ide-ui/p-db9c3b37.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-de7f0c1f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ded7444c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e502c2fd.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-edf889d2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-eea944d4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f3f35e5c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f49bb305.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f51adb3d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f7421997.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fa18a70c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fcecdafa.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fdf41406.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fe490103.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-fecc50e4.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-d8379699.entry.js.map → p-02fc47cd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-14165308.entry.js.map → p-2be58a7a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b58fb87b.entry.js.map → p-39c527ff.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4b38fffc.entry.js.map → p-4d929210.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f722955f.entry.js.map → p-8636a0bd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b2928645.entry.js.map → p-95f831a8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-35f9ebbc.entry.js.map → p-9a39e49c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e24902a0.entry.js.map → p-9a9ee1ee.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6b957e82.entry.js.map → p-b211bca8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2b3938b4.entry.js.map → p-e37e95e7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e7fb3ee3.entry.js.map → p-f2bd9044.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0550fd5f.entry.js.map → p-f52bcdac.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/components/team-dev/update/update.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color as GxgIconColor } from \"@genexus/gemini/dist/types/components/icon/icon\";\nimport {\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\n\nimport {\n ObjectState,\n ObjectType,\n ContextMenuInfo,\n ItemsCheckedState,\n ItemsCheckedResult,\n ResultState\n} from \"../../../common/types\";\nimport { renderComboItems } from \"../../../common/render-combo-items\";\nimport { formatDate } from \"../../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-team-dev-update\",\n styleUrl: \"update.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-update\"]\n})\nexport class GxIdeTeamDevUpdate {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private loadDataCalledFirstTime = false; // pending for update grid checkboxes, should be checked, after loadData has loaded objects for the first time.\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevUpdateElement;\n\n /* References needed to collect data */\n // private optionKbPropertiesEl!: HTMLGxgFormCheckboxElement;\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterTypeEl!: HTMLGxgComboBoxElement;\n private chGridPendingForUpdateEl!: HTMLChGridElement;\n private chGridIgnoredObjectsEl!: HTMLChGridElement;\n private chGridResultsEl!: HTMLChGridElement;\n private gxgTabButtonResultsEl!: HTMLGxgTabButtonElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * If the design data is loading or not, for disabled actions\n */\n @State() isLoading = false;\n\n /**\n * For show or hide advanced filters\n */\n @State() objectScopeText = \"all\";\n\n /**\n * The tab that is currently open\n */\n @State() openTab: \"pending\" | \"ignored\" | \"results\" = \"pending\";\n\n /**\n * For show or hide advanced filters\n */\n @State() revisionScopeText: string = undefined;\n\n /**\n * For show or hide advanced filters\n */\n @State() showFilter = false;\n\n /**\n * The data loaded for populate the grids\n */\n @State() updateData: UpdateData = {\n pendingForUpdate: [],\n ignoredObjects: []\n };\n\n /**\n * The data receive after user update\n */\n @State() updateResultData: UpdateResultData[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * This is a function provided by the developer that init the process of import a design.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * This is a function provided by the developer that return the information of an Image System type of data.\n */\n @Prop() readonly gridContextMenuCallback!: GridContextMenuCallback;\n\n /**\n * This is a function provided by the developer that return the list of types of data loaded from file or url.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer to call when the user makes a partial selection from button Change of Scope group.\n */\n @Prop() readonly objectsScopeCallback!: () => Promise<\"all\" | \"partial\">;\n\n /**\n * This is a function provided by the developer to call when the user clicked in server url of Update From group.\n */\n @Prop() readonly openServerCallback!: () => Promise<void>;\n\n /**\n * This is a function provided by the developer that return the information of a Font type of data.\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * This is a function provided by the developer to call when the user wants to select the revision to work on.\n */\n @Prop() readonly revisionScopeCallback!: () => Promise<string | undefined>;\n\n /**\n * Callback that should be invoked when the user activates the context menu on any of the grids. It receives the internal IDs of the selected elements and in which grid the event occurred. It should prevent the default browser context menu from appearing\n */\n @Prop() readonly objectsContextMenuCallback!: ObjectsContextMenuCallback;\n\n /**\n * Callback that should be invoked when the user selects rows from the grids\n */\n @Prop() readonly selectCallback: UpdateSelectCallback;\n\n /**\n * Possibly values for the filter type\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * This is a function provided by the developer that return the information of a Design System type of data.\n */\n @Prop() readonly updateCallback!: UpdateCallback;\n\n /**\n * Information to show in the container of group 'Update From'\n */\n @Prop() readonly updateFrom: UpdateFromData;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n async componentDidLoad() {\n await this.loadData();\n this.filterPatternEl.focus();\n }\n\n async componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n\n if (this.loadDataCalledFirstTime) {\n // call this method only once\n await this.markAllPendingToUpdateRows();\n // attach \"rowMarkingChanged\" after rows have been checked for the first time.\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n this.loadDataCalledFirstTime = false;\n }\n }\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * The method used by the host to instruct the component to force a data reload in the grids.\n */\n @Method()\n async reload() {\n this.loadData();\n }\n\n // 9.LOCAL METHODS //\n\n private onRowContextMenuHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n if (this.objectsContextMenuCallback) {\n ev.preventDefault();\n ev.stopPropagation();\n let selection: string[] = [];\n if (grid === \"pending\") {\n selection = await this.chGridPendingForUpdateEl.getSelectedRows();\n } else if (grid === \"ignored\") {\n selection = await this.chGridIgnoredObjectsEl.getSelectedRows();\n } else if (grid === \"results\") {\n selection = await this.chGridResultsEl.getSelectedRows();\n }\n await this.objectsContextMenuCallback(grid, {\n selection: selection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n };\n\n private markAllPendingToUpdateRows = () => {\n this.chGridPendingForUpdateEl.markAllRows();\n };\n\n private gridOnSelectionChangedCallbackHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridSelectionChangedEvent>) => {\n if (this.selectCallback) {\n await this.selectCallback(grid, ev.detail.rowsId);\n }\n };\n\n private genexusServerUrlHandler = () => {\n if (this.updateFrom?.serverUrl) {\n window.open(this.updateFrom.serverUrl);\n }\n };\n\n private renderOptions = (): Element => {\n return (\n <div class=\"options-wrapper\">\n {/* genexus server*/}\n <gx-ide-container\n part=\"options-update-from\"\n containerTitle={this._componentLocale.options.updateFrom}\n titleType=\"secondary\"\n contentBorderEnd\n noContentPadding\n >\n <gx-ide-list-selector\n type=\"single-selection\"\n listName=\"commit-recent-messages\"\n readonly\n noListBorder\n >\n {/* genexus server*/}\n <gx-ide-list-selector-item\n icon=\"window-tools/genexus-cloud\"\n itemId=\"genexus-server\"\n itemValue={undefined}\n class=\"genexus-server\"\n onClick={this.genexusServerUrlHandler}\n >\n {`${this._componentLocale.options.updateFrom}:`}\n <gxg-text type=\"text-link\">\n {this.updateFrom ? this.updateFrom.serverUrl : \"\"}\n </gxg-text>\n </gx-ide-list-selector-item>\n\n {/* knowledge base*/}\n <gx-ide-list-selector-item\n icon=\"general/knowledge-base\"\n itemId=\"knowledge-base\"\n itemValue={`${this._componentLocale.options.knowledgeBase}: ${\n this.updateFrom ? this.updateFrom.kbName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* version */}\n <gx-ide-list-selector-item\n icon=\"general/version\"\n itemId=\"version\"\n itemValue={`${this._componentLocale.options.version}: ${\n this.updateFrom ? this.updateFrom.versionName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* last full update */}\n <gx-ide-list-selector-item\n icon=\"window-tools/last-changes-view\"\n itemId=\"last-full-update\"\n itemValue={`${\n this._componentLocale.options.lastFullUpdate\n }:${formatDate(this.updateFrom.lastFullUpdate)}`}\n ></gx-ide-list-selector-item>\n </gx-ide-list-selector>\n </gx-ide-container>\n\n {/* scope*/}\n <gx-ide-container\n part=\"options-scope\"\n containerTitle={this._componentLocale.options.scope}\n titleType=\"secondary\"\n >\n <div class=\"scope\">\n {/* Objects*/}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.objects}:\n </gxg-label>\n <span\n class={{\n bold: this.objectScopeText === \"partial\",\n value: true\n }}\n >\n {\n this._componentLocale.options.scopeData.objects[\n this.objectScopeText.toLocaleLowerCase()\n ]\n }\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.objectsScope}\n part=\"gxg-button gxg-button--scope-objects-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Revision */}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.revision}:\n </gxg-label>\n <span\n class={{\n bold: this.revisionScopeText !== undefined,\n value: true\n }}\n >\n {this.revisionScopeText === undefined\n ? this._componentLocale.options.scopeData.revision.latest\n : this.revisionScopeText}\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.revisionScope}\n part=\"gxg-button gxg-button--scope-revision-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Kb Properties */}\n <div class=\"row\">\n <gxg-form-checkbox\n label={this._componentLocale.options.kbProperties}\n class=\"align-center\"\n part=\"option-kb-properties\"\n ></gxg-form-checkbox>\n </div>\n </div>\n </gx-ide-container>\n </div>\n );\n };\n\n private renderFilter = (): Element => {\n return (\n <div\n class={{\n \"filter-row\": true\n }}\n >\n {/* pattern*/}\n <gxg-form-text\n label-position=\"start\"\n centerLabel\n label={this._componentLocale.filter.pattern}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n part=\"filter-pattern\"\n onInput={this.loadData}\n class=\"combo\"\n ></gxg-form-text>\n\n {/* type */}\n <gxg-combo-box\n label-position=\"start\"\n centerLabel\n disable-filter\n label={this._componentLocale.filter.type}\n disabled={!this.types}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterTypeEl = el as HTMLGxgComboBoxElement)\n }\n onValueChanged={this.loadData}\n part=\"filter-type\"\n value={this.types[0].id}\n class=\"combo\"\n >\n {renderComboItems(this.types)}\n </gxg-combo-box>\n\n {/* load data */}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.loadData}\n part=\"gxg-button gxg-button--reload\"\n class=\"button\"\n ></gxg-button>\n </div>\n );\n };\n\n private renderData = (): Element => {\n return (\n <gx-ide-container\n part=\"data-container\"\n noContentPadding\n class=\"gxi-overflow-auto\"\n displayBorderTop\n >\n <gxg-tabs id=\"dataTabs\" part=\"data-tabs\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.pendingForUpdate}\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n isSelected={true}\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.ignoredObjects}\n tab=\"ignoredObjects\"\n key=\"ignoredObjects\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.results}\n tab=\"results\"\n key=\"results\"\n ref={(el: HTMLGxgTabButtonElement) =>\n (this.gxgTabButtonResultsEl = el)\n }\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n noPadding\n isSelected={true}\n >\n {this.renderPendingForUpdate()}\n </gxg-tab>\n <gxg-tab tab=\"ignoredObjects\" key=\"ignoredObjects\" noPadding>\n {this.renderIgnoredObjects()}\n </gxg-tab>\n <gxg-tab tab=\"results\" key=\"results\" noPadding>\n {this.renderResults()}\n </gxg-tab>\n </gxg-tabs>\n </gx-ide-container>\n );\n };\n\n private renderPendingForUpdate = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-pending-update\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridPendingForUpdateEl = el)\n }\n part=\"ch-tabular-grid-pending-for-updates\"\n onRowContextMenu={this.onRowContextMenuHandler(\"pending\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"pending\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"rich\"\n richRowSelector\n richRowSelectorMode=\"mark\"\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\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 columnName={this._componentLocale.tableHead.type}\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 columnName={this._componentLocale.tableHead.description}\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.modifiedOn}\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 columnName={this._componentLocale.tableHead.status}\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 columnName={this._componentLocale.tableHead.action}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.pendingForUpdate.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector\n class=\"tabular-grid-cell\"\n ></ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\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.type}\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-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.status}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.action}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIgnoredObjects = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridIgnoredObjectsEl = el)\n }\n part=\"ch-grid-ignored-objects\"\n onRowContextMenu={this.onRowContextMenuHandler(\"ignored\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"ignored\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size=\"min-content\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.ignoredObjects.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></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.type}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderResults = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-results\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) => (this.chGridResultsEl = el)}\n part=\"ch-tabular-grid-results\"\n onRowContextMenu={this.onRowContextMenuHandler(\"results\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"results\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"tree\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.notes}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateResultData.map((obj: UpdateResultData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconResult(obj.result)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\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.type}\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-cell class=\"tabular-grid-cell\">\n {obj.notes}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-rowset>\n {obj.messages.map(msg => {\n let msgType;\n switch (msg.type) {\n case \"info\":\n msgType = \"text-alert-info\";\n break;\n case \"success\":\n msgType = \"text-alert-success\";\n break;\n case \"warning\":\n msgType = \"text-alert-warning\";\n break;\n case \"error\":\n msgType = \"text-alert-error\";\n break;\n }\n return (\n <ch-tabular-grid-rowset-empty>\n <gxg-text type={msgType as any}>{msg.text}</gxg-text>\n </ch-tabular-grid-rowset-empty>\n );\n })}\n </ch-tabular-grid-rowset>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIconState = (state: ObjectState): Element => {\n let type: string;\n\n switch (state) {\n case \"modified\":\n type = \"gx-server/changes-commit-pending\";\n break;\n case \"inserted\":\n type = \"gx-server/new\";\n break;\n case \"deleted\":\n type = \"gx-server/delete\";\n break;\n case \"conflicted\":\n type = \"gx-server/conflict\";\n break;\n }\n return <ch-image class=\"icon-md\" src={type}></ch-image>;\n };\n\n private renderIconResult = (result: ResultState): Element => {\n let type: string;\n let color: GxgIconColor;\n switch (result) {\n case \"info\":\n type = \"gemini-tools/notice\";\n color = \"primary-active\";\n break;\n case \"success\":\n type = \"gemini-tools/success\";\n color = \"success\";\n break;\n case \"warning\":\n type = \"gemini-tools/warning\";\n color = \"warning\";\n break;\n case \"error\":\n type = \"gemini-tools/error\";\n color = \"error\";\n break;\n }\n return <gxg-icon type={type} color={color}></gxg-icon>;\n };\n\n private loadData = async (): Promise<void> => {\n const filters: FiltersData = {\n pattern: this.showFilter ? this.filterPatternEl.value : null,\n type: this.showFilter ? this.filterTypeEl.value : null\n };\n // this.updateData = null;\n this.isLoading = true;\n this.updateData = await this.loadCallback(filters);\n this.isLoading = false;\n if (!this.loadDataCalledFirstTime) {\n /* this allows checking the pending commits checkboxes on first load*/\n this.loadDataCalledFirstTime = true;\n }\n };\n\n private update = async (): Promise<void> => {\n if (this.updateCallback) {\n const pendingForUpdateMarked =\n await this.chGridPendingForUpdateEl.getMarkedRows();\n this.updateCallback(pendingForUpdateMarked).then(\n (updateResultData: UpdateResultData[]) => {\n this.updateResultData = updateResultData;\n this.gxgTabButtonResultsEl.tabButtonClick();\n }\n );\n }\n };\n\n private objectsScope = (): void => {\n if (this.objectsScopeCallback) {\n this.objectsScopeCallback().then(objectData => {\n if (objectData) {\n this.objectScopeText = objectData;\n }\n });\n }\n };\n\n private revisionScope = (): void => {\n if (this.revisionScopeCallback) {\n this.revisionScopeCallback().then(revisionData => {\n this.revisionScopeText = revisionData;\n });\n }\n };\n\n private pendingForUpdatesRowMarkingChangedHandler = async (\n e: CustomEvent<TabularGridMarkingChangedEvent>\n ): Promise<void> => {\n // remove \"rowMarkingChanged\" until checkboxes have been added/removed on togglePendingCommitsCheckboxes, to prevent loops.\n this.chGridPendingForUpdateEl.removeEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n if (this.chGridPendingForUpdateEl) {\n const addedRowsIds = e.detail.addedRowsId;\n const removedRowsId = e.detail.removedRowsId;\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n };\n\n private togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.chGridPendingForUpdateEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n }\n };\n\n private revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.chGridPendingForUpdateEl) {\n for (const rowId of addedRowsIds) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n displayBorderTop\n noContentPadding\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {this.renderOptions()}\n {this.renderFilter()}\n {this.renderData()}\n\n <gxg-button\n id=\"button-update\"\n type=\"primary-text-only\"\n onClick={this.update}\n part=\"gxg-button gxg-button--update\"\n disabled={this.isLoading}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnUpdate}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadCallback = (filters: FiltersData) => Promise<UpdateData>;\n\nexport type UpdateCallback = (\n selection: string[]\n) => Promise<UpdateResultData[]>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type UpdateSelectCallback = (\n grid: UpdateSourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type UpdateSourceType = \"pending\" | \"ignored\" | \"results\";\n\nexport type GridContextMenuCallback = (\n selection: string[],\n grid: \"update\" | \"ignored\" | \"results\"\n) => Promise<void>;\n\nexport type ObjectsContextMenuCallback = (\n source: UpdateSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ConfirmCallback = (data: any) => Promise<boolean>;\n\nexport interface UpdateFromData {\n serverUrl: string;\n kbName: string;\n versionName: string;\n lastFullUpdate: Date;\n}\nexport interface FiltersData {\n pattern: string;\n type: string;\n}\nexport interface UpdateData {\n pendingForUpdate: ModifiedObject[];\n ignoredObjects: ModifiedObject[];\n}\nexport interface ModifiedObject {\n id: string;\n typeIcon: string;\n state?: ObjectState;\n name: string;\n type: string;\n description?: string;\n modifiedOn?: Date;\n status?: string;\n action?: string;\n}\nexport interface UpdateResultData {\n id: string;\n result: ResultState;\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: string;\n description: string;\n notes: string;\n messages: MessageData[];\n}\n\nexport interface MessageData {\n type: \"info\" | \"success\" | \"warning\" | \"error\";\n text: string;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/components/team-dev/update/update.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color as GxgIconColor } from \"@genexus/gemini/dist/types/components/icon/icon\";\nimport {\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\n\nimport {\n ObjectState,\n ObjectType,\n ContextMenuInfo,\n ItemsCheckedState,\n ItemsCheckedResult,\n ResultState\n} from \"../../../common/types\";\nimport { renderComboItems } from \"../../../common/render-combo-items\";\nimport { formatDate } from \"../../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-team-dev-update\",\n styleUrl: \"update.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-update\"]\n})\nexport class GxIdeTeamDevUpdate {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private loadDataCalledFirstTime = false; // pending for update grid checkboxes, should be checked, after loadData has loaded objects for the first time.\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevUpdateElement;\n\n /* References needed to collect data */\n // private optionKbPropertiesEl!: HTMLGxgFormCheckboxElement;\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterTypeEl!: HTMLGxgComboBoxElement;\n private chGridPendingForUpdateEl!: HTMLChGridElement;\n private chGridIgnoredObjectsEl!: HTMLChGridElement;\n private chGridResultsEl!: HTMLChGridElement;\n private gxgTabButtonResultsEl!: HTMLGxgTabButtonElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * If the design data is loading or not, for disabled actions\n */\n @State() isLoading = false;\n\n /**\n * For show or hide advanced filters\n */\n @State() objectScopeText = \"all\";\n\n /**\n * The tab that is currently open\n */\n @State() openTab: \"pending\" | \"ignored\" | \"results\" = \"pending\";\n\n /**\n * For show or hide advanced filters\n */\n @State() revisionScopeText: string = undefined;\n\n /**\n * For show or hide advanced filters\n */\n @State() showFilter = false;\n\n /**\n * The data loaded for populate the grids\n */\n @State() updateData: UpdateData = {\n pendingForUpdate: [],\n ignoredObjects: []\n };\n\n /**\n * The data receive after user update\n */\n @State() updateResultData: UpdateResultData[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * This is a function provided by the developer that init the process of import a design.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * This is a function provided by the developer that return the information of an Image System type of data.\n */\n @Prop() readonly gridContextMenuCallback!: GridContextMenuCallback;\n\n /**\n * This is a function provided by the developer that return the list of types of data loaded from file or url.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer to call when the user makes a partial selection from button Change of Scope group.\n */\n @Prop() readonly objectsScopeCallback!: () => Promise<\"all\" | \"partial\">;\n\n /**\n * This is a function provided by the developer to call when the user clicked in server url of Update From group.\n */\n @Prop() readonly openServerCallback!: () => Promise<void>;\n\n /**\n * This is a function provided by the developer that return the information of a Font type of data.\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * This is a function provided by the developer to call when the user wants to select the revision to work on.\n */\n @Prop() readonly revisionScopeCallback!: () => Promise<string | undefined>;\n\n /**\n * Callback that should be invoked when the user activates the context menu on any of the grids. It receives the internal IDs of the selected elements and in which grid the event occurred. It should prevent the default browser context menu from appearing\n */\n @Prop() readonly objectsContextMenuCallback!: ObjectsContextMenuCallback;\n\n /**\n * Callback that should be invoked when the user selects rows from the grids\n */\n @Prop() readonly selectCallback: UpdateSelectCallback;\n\n /**\n * Possibly values for the filter type\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * This is a function provided by the developer that return the information of a Design System type of data.\n */\n @Prop() readonly updateCallback!: UpdateCallback;\n\n /**\n * Information to show in the container of group 'Update From'\n */\n @Prop() readonly updateFrom: UpdateFromData;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n async componentDidLoad() {\n await this.loadData();\n this.filterPatternEl.focus();\n }\n\n async componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n\n if (this.loadDataCalledFirstTime) {\n // call this method only once\n await this.markAllPendingToUpdateRows();\n // attach \"rowMarkingChanged\" after rows have been checked for the first time.\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n this.loadDataCalledFirstTime = false;\n }\n }\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * The method used by the host to instruct the component to force a data reload in the grids.\n */\n @Method()\n async reload() {\n this.loadData();\n }\n\n // 9.LOCAL METHODS //\n\n private onRowContextMenuHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n if (this.objectsContextMenuCallback) {\n ev.preventDefault();\n ev.stopPropagation();\n let selection: string[] = [];\n if (grid === \"pending\") {\n selection = await this.chGridPendingForUpdateEl.getSelectedRows();\n } else if (grid === \"ignored\") {\n selection = await this.chGridIgnoredObjectsEl.getSelectedRows();\n } else if (grid === \"results\") {\n selection = await this.chGridResultsEl.getSelectedRows();\n }\n await this.objectsContextMenuCallback(grid, {\n selection: selection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n };\n\n private markAllPendingToUpdateRows = () => {\n this.chGridPendingForUpdateEl.markAllRows();\n };\n\n private gridOnSelectionChangedCallbackHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridSelectionChangedEvent>) => {\n if (this.selectCallback) {\n await this.selectCallback(grid, ev.detail.rowsId);\n }\n };\n\n private genexusServerUrlHandler = () => {\n if (this.updateFrom?.serverUrl) {\n window.open(this.updateFrom.serverUrl);\n }\n };\n\n private renderOptions = (): Element => {\n return (\n <div class=\"options-wrapper\">\n {/* genexus server*/}\n <gx-ide-container\n part=\"options-update-from\"\n containerTitle={this._componentLocale.options.updateFrom}\n titleType=\"secondary\"\n contentBorderEnd\n noContentPadding\n >\n <gx-ide-list-selector\n type=\"single-selection\"\n listName=\"commit-recent-messages\"\n readonly\n noListBorder\n >\n {/* genexus server*/}\n <gx-ide-list-selector-item\n icon=\"window-tools/genexus-cloud\"\n itemId=\"genexus-server\"\n itemValue={undefined}\n class=\"genexus-server\"\n onClick={this.genexusServerUrlHandler}\n >\n {`${this._componentLocale.options.updateFrom}:`}\n <gxg-text type=\"text-link\">\n {this.updateFrom ? this.updateFrom.serverUrl : \"\"}\n </gxg-text>\n </gx-ide-list-selector-item>\n\n {/* knowledge base*/}\n <gx-ide-list-selector-item\n icon=\"general/knowledge-base\"\n itemId=\"knowledge-base\"\n itemValue={`${this._componentLocale.options.knowledgeBase}: ${\n this.updateFrom ? this.updateFrom.kbName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* version */}\n <gx-ide-list-selector-item\n icon=\"general/version\"\n itemId=\"version\"\n itemValue={`${this._componentLocale.options.version}: ${\n this.updateFrom ? this.updateFrom.versionName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* last full update */}\n <gx-ide-list-selector-item\n icon=\"window-tools/last-changes-view\"\n itemId=\"last-full-update\"\n itemValue={`${\n this._componentLocale.options.lastFullUpdate\n }:${formatDate(this.updateFrom.lastFullUpdate)}`}\n ></gx-ide-list-selector-item>\n </gx-ide-list-selector>\n </gx-ide-container>\n\n {/* scope*/}\n <gx-ide-container\n part=\"options-scope\"\n containerTitle={this._componentLocale.options.scope}\n titleType=\"secondary\"\n >\n <div class=\"scope\">\n {/* Objects*/}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.objects}:\n </gxg-label>\n <span\n class={{\n bold: this.objectScopeText === \"partial\",\n value: true\n }}\n >\n {\n this._componentLocale.options.scopeData.objects[\n this.objectScopeText.toLocaleLowerCase()\n ]\n }\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.objectsScope}\n part=\"gxg-button gxg-button--scope-objects-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Revision */}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.revision}:\n </gxg-label>\n <span\n class={{\n bold: this.revisionScopeText !== undefined,\n value: true\n }}\n >\n {this.revisionScopeText === undefined\n ? this._componentLocale.options.scopeData.revision.latest\n : this.revisionScopeText}\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.revisionScope}\n part=\"gxg-button gxg-button--scope-revision-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Kb Properties */}\n <div class=\"row\">\n <gxg-form-checkbox\n label={this._componentLocale.options.kbProperties}\n class=\"align-center\"\n part=\"option-kb-properties\"\n ></gxg-form-checkbox>\n </div>\n </div>\n </gx-ide-container>\n </div>\n );\n };\n\n private renderFilter = (): Element => {\n return (\n <div\n class={{\n \"filter-row\": true\n }}\n >\n {/* pattern*/}\n <gxg-form-text\n label-position=\"start\"\n centerLabel\n label={this._componentLocale.filter.pattern}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n part=\"filter-pattern\"\n onInput={this.loadData}\n class=\"combo\"\n ></gxg-form-text>\n\n {/* type */}\n <gxg-combo-box\n label-position=\"start\"\n centerLabel\n disable-filter\n label={this._componentLocale.filter.type}\n disabled={!this.types}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterTypeEl = el as HTMLGxgComboBoxElement)\n }\n onValueChanged={this.loadData}\n part=\"filter-type\"\n value={this.types[0].id}\n class=\"combo\"\n >\n {renderComboItems(this.types)}\n </gxg-combo-box>\n\n {/* load data */}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.loadData}\n part=\"gxg-button gxg-button--reload\"\n class=\"button\"\n ></gxg-button>\n </div>\n );\n };\n\n private renderData = (): Element => {\n return (\n <gx-ide-container\n part=\"data-container\"\n noContentPadding\n class=\"gxi-overflow-auto\"\n displayBorderTop\n >\n <gxg-tabs id=\"dataTabs\" part=\"data-tabs\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.pendingForUpdate}\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n isSelected={true}\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.ignoredObjects}\n tab=\"ignoredObjects\"\n key=\"ignoredObjects\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.results}\n tab=\"results\"\n key=\"results\"\n ref={(el: HTMLGxgTabButtonElement) =>\n (this.gxgTabButtonResultsEl = el)\n }\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n noPadding\n isSelected={true}\n >\n {this.renderPendingForUpdate()}\n </gxg-tab>\n <gxg-tab tab=\"ignoredObjects\" key=\"ignoredObjects\" noPadding>\n {this.renderIgnoredObjects()}\n </gxg-tab>\n <gxg-tab tab=\"results\" key=\"results\" noPadding>\n {this.renderResults()}\n </gxg-tab>\n </gxg-tabs>\n </gx-ide-container>\n );\n };\n\n private renderPendingForUpdate = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-pending-update\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridPendingForUpdateEl = el)\n }\n part=\"ch-tabular-grid-pending-for-updates\"\n onRowContextMenu={this.onRowContextMenuHandler(\"pending\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"pending\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"rich\"\n richRowSelector\n richRowSelectorMode=\"mark\"\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\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 columnName={this._componentLocale.tableHead.type}\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 columnName={this._componentLocale.tableHead.description}\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.modifiedOn}\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 columnName={this._componentLocale.tableHead.status}\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 columnName={this._componentLocale.tableHead.action}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.pendingForUpdate.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector\n class=\"tabular-grid-cell\"\n ></ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\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.type}\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-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.status}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.action}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIgnoredObjects = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridIgnoredObjectsEl = el)\n }\n part=\"ch-grid-ignored-objects\"\n onRowContextMenu={this.onRowContextMenuHandler(\"ignored\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"ignored\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size=\"min-content\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.ignoredObjects.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></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.type}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderResults = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-results\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) => (this.chGridResultsEl = el)}\n part=\"ch-tabular-grid-results\"\n onRowContextMenu={this.onRowContextMenuHandler(\"results\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"results\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"tree\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.notes}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateResultData.map((obj: UpdateResultData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconResult(obj.result)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\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.type}\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-cell class=\"tabular-grid-cell\">\n {obj.notes}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-rowset>\n {obj.messages.map(msg => {\n let msgType;\n switch (msg.type) {\n case \"info\":\n msgType = \"text-alert-info\";\n break;\n case \"success\":\n msgType = \"text-alert-success\";\n break;\n case \"warning\":\n msgType = \"text-alert-warning\";\n break;\n case \"error\":\n msgType = \"text-alert-error\";\n break;\n }\n return (\n <ch-tabular-grid-rowset-empty>\n <gxg-text type={msgType as any}>{msg.text}</gxg-text>\n </ch-tabular-grid-rowset-empty>\n );\n })}\n </ch-tabular-grid-rowset>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIconState = (state: ObjectState): Element => {\n let type: string;\n\n switch (state) {\n case \"modified\":\n type = \"gx-server/changes-commit-pending\";\n break;\n case \"inserted\":\n type = \"gx-server/new\";\n break;\n case \"deleted\":\n type = \"gx-server/delete\";\n break;\n case \"conflicted\":\n type = \"gx-server/conflict\";\n break;\n }\n return <ch-image class=\"icon-md\" src={type}></ch-image>;\n };\n\n private renderIconResult = (result: ResultState): Element => {\n let type: string;\n let color: GxgIconColor;\n switch (result) {\n case \"info\":\n type = \"gemini-tools/notice\";\n color = \"primary-active\";\n break;\n case \"success\":\n type = \"gemini-tools/success\";\n color = \"success\";\n break;\n case \"warning\":\n type = \"gemini-tools/warning\";\n color = \"warning\";\n break;\n case \"error\":\n type = \"gemini-tools/error\";\n color = \"error\";\n break;\n }\n return <gxg-icon type={type} color={color}></gxg-icon>;\n };\n\n private loadData = async (): Promise<void> => {\n const filters: FiltersData = {\n pattern: this.showFilter ? this.filterPatternEl.value : null,\n type: this.showFilter ? this.filterTypeEl.value : null\n };\n // this.updateData = null;\n this.isLoading = true;\n this.updateData = await this.loadCallback(filters);\n this.isLoading = false;\n if (!this.loadDataCalledFirstTime) {\n /* this allows checking the pending commits checkboxes on first load*/\n this.loadDataCalledFirstTime = true;\n }\n };\n\n private update = async (): Promise<void> => {\n if (this.updateCallback) {\n const pendingForUpdateMarked =\n await this.chGridPendingForUpdateEl.getMarkedRows();\n this.updateCallback(pendingForUpdateMarked).then(\n (updateResultData: UpdateResultData[]) => {\n this.updateResultData = updateResultData;\n this.gxgTabButtonResultsEl.tabButtonClick();\n }\n );\n }\n };\n\n private objectsScope = (): void => {\n if (this.objectsScopeCallback) {\n this.objectsScopeCallback().then(objectData => {\n if (objectData) {\n this.objectScopeText = objectData;\n }\n });\n }\n };\n\n private revisionScope = (): void => {\n if (this.revisionScopeCallback) {\n this.revisionScopeCallback().then(revisionData => {\n this.revisionScopeText = revisionData;\n });\n }\n };\n\n private pendingForUpdatesRowMarkingChangedHandler = async (\n e: CustomEvent<TabularGridMarkingChangedEvent>\n ): Promise<void> => {\n // remove \"rowMarkingChanged\" until checkboxes have been added/removed on togglePendingCommitsCheckboxes, to prevent loops.\n this.chGridPendingForUpdateEl.removeEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n if (this.chGridPendingForUpdateEl) {\n const addedRowsIds = e.detail.addedRowsId;\n const removedRowsId = e.detail.removedRowsId;\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n };\n\n private togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.chGridPendingForUpdateEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n }\n };\n\n private revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.chGridPendingForUpdateEl) {\n for (const rowId of addedRowsIds) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n displayBorderTop\n noContentPadding\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {this.renderOptions()}\n {this.renderFilter()}\n {this.renderData()}\n\n <gxg-button\n id=\"button-update\"\n type=\"primary-text-only\"\n onClick={this.update}\n part=\"gxg-button gxg-button--update\"\n disabled={this.isLoading}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnUpdate}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadCallback = (filters: FiltersData) => Promise<UpdateData>;\n\nexport type UpdateCallback = (\n selection: string[]\n) => Promise<UpdateResultData[]>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type UpdateSelectCallback = (\n grid: UpdateSourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type UpdateSourceType = \"pending\" | \"ignored\" | \"results\";\n\nexport type GridContextMenuCallback = (\n selection: string[],\n grid: \"update\" | \"ignored\" | \"results\"\n) => Promise<void>;\n\nexport type ObjectsContextMenuCallback = (\n source: UpdateSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ConfirmCallback = (data: any) => Promise<boolean>;\n\nexport interface UpdateFromData {\n serverUrl: string;\n kbName: string;\n versionName: string;\n lastFullUpdate: Date;\n}\nexport interface FiltersData {\n pattern: string;\n type: string;\n}\nexport interface UpdateData {\n pendingForUpdate: ModifiedObject[];\n ignoredObjects: ModifiedObject[];\n}\nexport interface ModifiedObject {\n id: string;\n typeIcon: string;\n state?: ObjectState;\n name: string;\n type: string;\n description?: string;\n modifiedOn?: Date;\n status?: string;\n action?: string;\n}\nexport interface UpdateResultData {\n id: string;\n result: ResultState;\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: string;\n description: string;\n notes: string;\n messages: MessageData[];\n}\n\nexport interface MessageData {\n type: \"info\" | \"success\" | \"warning\" | \"error\";\n text: string;\n}\n"]}
|
package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js
CHANGED
|
@@ -23,7 +23,7 @@ export class GxIdeTeamDevUpdatePartialSelection {
|
|
|
23
23
|
};
|
|
24
24
|
this.getObjectsHandler = () => {
|
|
25
25
|
this.addCallback().then((items) => {
|
|
26
|
-
if (
|
|
26
|
+
if (items?.length > 0) {
|
|
27
27
|
this.selection = [...this.selection, ...items];
|
|
28
28
|
this.selectedObjectsIds = [];
|
|
29
29
|
}
|
package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-partial-selection.js","sourceRoot":"","sources":["../../../../src/components/team-dev/update-partial-selection/update-partial-selection.tsx"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,OAAO,EACP,KAAK,EAEL,KAAK,EACL,MAAM,EACN,YAAY,EACb,MAAM,eAAe,CAAC;AAGvB,oBAAoB;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,uBAAuB;IACvB,yBAAyB;IACzB,qBAAqB;IACrB,yBAAyB;CAC1B,CAAC;AAOF,MAAM,OAAO,kCAAkC;;QAOrC,sBAAiB,GAAG,KAAK,CAAC;QAC1B,iBAAY,GAAG,YAAY,CACjC,kEAAkE,CACnE,CAAC;QAwFF,qBAAqB;QAEb,kBAAa,GAAG,GAAY,EAAE;YACpC,OAAO,CACL,uBACE,KAAK,EAAC,cAAc,wBACD,UAAU,EAC7B,GAAG,EAAE,CAAC,EAAe,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EAC9C,IAAI,EAAC,iBAAiB;gBAEtB,iCAA2B,KAAK,EAAC,yBAAyB;oBACxD,8BACE,UAAU,EAAC,EAAE,EACb,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,KAAK,EACf,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAC3C,KAAK,EAAC,qBAAqB,GACH;oBAC1B,8BACE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAChD,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EACrC,KAAK,EAAC,qBAAqB,GACH;oBAC1B,8BACE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAChD,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EACrC,KAAK,EAAC,qBAAqB,GACH;oBAC1B,8BACE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,WAAW,EACvD,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EACrC,KAAK,EAAC,qBAAqB,GACH;oBAC1B,8BACE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,EACtD,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EACrC,KAAK,EAAC,qBAAqB,GACH,CACA;gBAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAe,EAAE,EAAE,CAAC,CACvC,2BACE,KAAK,EAAE,GAAG,CAAC,EAAE,EACb,GAAG,EAAE,GAAG,CAAC,EAAE,EACX,KAAK,EAAC,kBAAkB;oBAExB,4BAAsB,KAAK,EAAC,mBAAmB;wBAC7C,gBAAU,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAC,SAAS,GAAY,CACnC;oBACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,IAAI,CACY;oBACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,IAAI,CACY;oBACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,CAAC,WAAW,CACK;oBACvB,4BAAsB,KAAK,EAAC,mBAAmB,IAC5C,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAC1B,CACH,CACvB,CAAC,CACc,CACnB,CAAC;QACJ,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAS,EAAE;YACrC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,KAAmB,EAAE,EAAE;gBAC9C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,IAAG,CAAC,EAAE;oBACrB,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,iCAA4B,GAAG,GAAS,EAAE;YAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CACpC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CACnD,CAAC;YACF,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC/B,CAAC,CAAC;QAEM,mBAAc,GAAG,GAAS,EAAE;YAClC,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,MAAM,UAAU,GAAa,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAC3B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;aAClC;QACH,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAS,EAAE;YACjC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAS,EAAE;YACpC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAS,EAAE;YACjC,qBAAqB;YACrB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,EAAO,EAAQ,EAAE;gBACnE,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;kCAvLsC,EAAE;4BAOV,KAAK;;;;yBAoBc,EAAE;;IAcrD,kCAAkC;IAElC,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,gBAAgB,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CACnC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CACpC,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;IACH,CAAC;IAED,iBAAiB;IAEjB,0BAA0B;IAE1B;;OAEG;IAEH,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IAiHD,0BAA0B;IAE1B,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAC,kBAAkB;YAC5B,gBAAU,KAAK,EAAE,WAAW,GAAa;YACzC,WAAK,KAAK,EAAC,qBAAqB;gBAC9B,wBACE,gBAAgB,QAChB,YAAY,QACZ,cAAc,EACZ,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAEhE,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,aAAa;oBAElD,WAAK,KAAK,EAAC,aAAa;wBAEtB,kBACE,EAAE,EAAC,YAAY,EACf,IAAI,EAAC,UAAU,EACf,IAAI,EAAC,kBAAkB,EACvB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,IAAI,EAAC,KAAK,IAET,IAAI,CAAC,gBAAgB,CAAC,YAAY,CACxB;wBAGb,kBACE,EAAE,EAAC,eAAe,EAClB,IAAI,EAAC,qBAAqB,EAC1B,OAAO,EAAE,IAAI,CAAC,4BAA4B,EAC1C,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,IAE9C,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CACpC,CACT;oBAEL,IAAI,CAAC,aAAa,EAAE;oBAGrB,kBACE,EAAE,EAAC,cAAc,EACjB,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EACtC,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,cAAc,EACnB,IAAI,EAAC,qBAAqB,IAEzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAC/B;oBAGb,kBACE,EAAE,EAAC,eAAe,EAClB,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,YAAY,IAEhB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAC5B;oBAGb,kBACE,EAAE,EAAC,WAAW,EACd,IAAI,EAAC,mBAAmB,EACxB,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,IAAI,EAAC,SAAS,EACd,IAAI,EAAC,YAAY,IAEhB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAC7B,CACI,CACf;YACN,qBAAe,GAAG,EAAE,IAAI,CAAC,YAAY,GAAkB,CAClD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n@Component({\n tag: \"gx-ide-team-dev-update-partial-selection\",\n styleUrl: \"update-partial-selection.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-update-partial-selection\"]\n})\nexport class GxIdeTeamDevUpdatePartialSelection {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/team-dev-update-partial-selection/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevUpdatePartialSelectionElement;\n\n /* References needed to collect data */\n private chGridEl!: HTMLElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIds: string[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * This is a function provided by the developer that return a list of new objects to populate the table of objects.\n */\n @Prop() readonly addCallback!: AddCallback;\n\n /**\n * This is a function provided by the developer for execute when cancel button is pressed.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * This is a function provided by the developer and is invoked when the action confirm is executed passing the selected objects of the grid\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * The categories render in the filter category selector\n */\n @Prop({ mutable: true }) selection: ObjectData[] = [];\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.listenChanges();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n // 9.LOCAL METHODS //\n\n private renderObjects = (): Element => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLElement) => (this.chGridEl = el)}\n part=\"ch-grid-objects\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnName=\"\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.minContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.modifiedOn}\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.selection.map((obj: ObjectData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></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.type}\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-cell class=\"tabular-grid-cell\">\n {`${obj.modifiedOn.toISOString().slice(0, 10)}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private getObjectsHandler = (): void => {\n this.addCallback().then((items: ObjectData[]) => {\n if (items?.length > 0) {\n this.selection = [...this.selection, ...items];\n this.selectedObjectsIds = [];\n }\n });\n };\n\n private removeSelectedObjectsHandler = (): void => {\n this.selection = this.selection.filter(\n item => !this.selectedObjectsIds.includes(item.id)\n );\n this.selectedObjectsIds = [];\n };\n\n private confirmHandler = (): void => {\n if (this.confirmCallback) {\n const allRowsIds: string[] = [];\n this.selection.forEach(row => {\n allRowsIds.push(row.id);\n });\n this.confirmCallback(allRowsIds);\n }\n };\n\n private cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n private removeAllHandler = (): void => {\n this.selection = [];\n };\n\n private listenChanges = (): void => {\n // for grid selection\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n });\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noContentGap\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"top-actions\">\n {/* add button*/}\n <gxg-button\n id=\"button-add\"\n type=\"outlined\"\n icon=\"gemini-tools/add\"\n onClick={this.getObjectsHandler}\n part=\"add\"\n >\n {this._componentLocale.btnAddObject}\n </gxg-button>\n\n {/* remove button*/}\n <gxg-button\n id=\"button-remove\"\n type=\"secondary-text-only\"\n onClick={this.removeSelectedObjectsHandler}\n part=\"remove\"\n disabled={!(this.selectedObjectsIds.length > 0)}\n >\n {this._componentLocale.btnRemoveSelectedObjects}\n </gxg-button>\n </div>\n\n {this.renderObjects()}\n\n {/* remove all button*/}\n <gxg-button\n id=\"button-clear\"\n onClick={this.removeAllHandler}\n disabled={!(this.selection.length > 0)}\n part=\"clear\"\n slot=\"footer-start\"\n type=\"secondary-text-only\"\n >\n {this._componentLocale.footer.btnRemoveAll}\n </gxg-button>\n\n {/* cancel button*/}\n <gxg-button\n id=\"button-cancel\"\n type=\"outlined\"\n onClick={this.cancelHandler}\n part=\"cancel\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n\n {/* confirm button*/}\n <gxg-button\n id=\"button-ok\"\n type=\"primary-text-only\"\n onClick={this.confirmHandler}\n part=\"confirm\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts src={this.shortcutsSrc}></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport type AddCallback = () => Promise<ObjectData[]>;\nexport type CancelCallback = () => Promise<void>;\nexport type ConfirmCallback = (ids: string[]) => Promise<void>;\n\nexport interface ObjectData {\n id: string;\n typeIcon: string;\n name: string;\n type: string;\n description: string;\n modifiedOn: Date;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"update-partial-selection.js","sourceRoot":"","sources":["../../../../src/components/team-dev/update-partial-selection/update-partial-selection.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n@Component({\n tag: \"gx-ide-team-dev-update-partial-selection\",\n styleUrl: \"update-partial-selection.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-update-partial-selection\"]\n})\nexport class GxIdeTeamDevUpdatePartialSelection {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/team-dev-update-partial-selection/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevUpdatePartialSelectionElement;\n\n /* References needed to collect data */\n private chGridEl!: HTMLElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIds: string[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * This is a function provided by the developer that return a list of new objects to populate the table of objects.\n */\n @Prop() readonly addCallback!: AddCallback;\n\n /**\n * This is a function provided by the developer for execute when cancel button is pressed.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * This is a function provided by the developer and is invoked when the action confirm is executed passing the selected objects of the grid\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * The categories render in the filter category selector\n */\n @Prop({ mutable: true }) selection: ObjectData[] = [];\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.listenChanges();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n // 9.LOCAL METHODS //\n\n private renderObjects = (): Element => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLElement) => (this.chGridEl = el)}\n part=\"ch-grid-objects\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnName=\"\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.minContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.modifiedOn}\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.selection.map((obj: ObjectData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></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.type}\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-cell class=\"tabular-grid-cell\">\n {`${obj.modifiedOn.toISOString().slice(0, 10)}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private getObjectsHandler = (): void => {\n this.addCallback().then((items: ObjectData[]) => {\n if (items?.length > 0) {\n this.selection = [...this.selection, ...items];\n this.selectedObjectsIds = [];\n }\n });\n };\n\n private removeSelectedObjectsHandler = (): void => {\n this.selection = this.selection.filter(\n item => !this.selectedObjectsIds.includes(item.id)\n );\n this.selectedObjectsIds = [];\n };\n\n private confirmHandler = (): void => {\n if (this.confirmCallback) {\n const allRowsIds: string[] = [];\n this.selection.forEach(row => {\n allRowsIds.push(row.id);\n });\n this.confirmCallback(allRowsIds);\n }\n };\n\n private cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n private removeAllHandler = (): void => {\n this.selection = [];\n };\n\n private listenChanges = (): void => {\n // for grid selection\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n });\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noContentGap\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"top-actions\">\n {/* add button*/}\n <gxg-button\n id=\"button-add\"\n type=\"outlined\"\n icon=\"gemini-tools/add\"\n onClick={this.getObjectsHandler}\n part=\"add\"\n >\n {this._componentLocale.btnAddObject}\n </gxg-button>\n\n {/* remove button*/}\n <gxg-button\n id=\"button-remove\"\n type=\"secondary-text-only\"\n onClick={this.removeSelectedObjectsHandler}\n part=\"remove\"\n disabled={!(this.selectedObjectsIds.length > 0)}\n >\n {this._componentLocale.btnRemoveSelectedObjects}\n </gxg-button>\n </div>\n\n {this.renderObjects()}\n\n {/* remove all button*/}\n <gxg-button\n id=\"button-clear\"\n onClick={this.removeAllHandler}\n disabled={!(this.selection.length > 0)}\n part=\"clear\"\n slot=\"footer-start\"\n type=\"secondary-text-only\"\n >\n {this._componentLocale.footer.btnRemoveAll}\n </gxg-button>\n\n {/* cancel button*/}\n <gxg-button\n id=\"button-cancel\"\n type=\"outlined\"\n onClick={this.cancelHandler}\n part=\"cancel\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n\n {/* confirm button*/}\n <gxg-button\n id=\"button-ok\"\n type=\"primary-text-only\"\n onClick={this.confirmHandler}\n part=\"confirm\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts src={this.shortcutsSrc}></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport type AddCallback = () => Promise<ObjectData[]>;\nexport type CancelCallback = () => Promise<void>;\nexport type ConfirmCallback = (ids: string[]) => Promise<void>;\n\nexport interface ObjectData {\n id: string;\n typeIcon: string;\n name: string;\n type: string;\n description: string;\n modifiedOn: Date;\n}\n"]}
|
|
@@ -152,14 +152,12 @@ export class GxIdeWelcomePage {
|
|
|
152
152
|
});
|
|
153
153
|
_GxIdeWelcomePage_renderSlides.set(this, () => {
|
|
154
154
|
__classPrivateFieldSet(this, _GxIdeWelcomePage_slidesElements, this.slides.map((slide, index) => {
|
|
155
|
-
var _a, _b;
|
|
156
155
|
const isLastSlide = index === this.slides.length - 1;
|
|
157
|
-
return (h("section", { class: "slide__wrapper", ref: (el) => (__classPrivateFieldGet(this, _GxIdeWelcomePage_slidesElementsRef, "f")[index] = el) }, h("div", { class: "slide__illustration", role: "img", "aria-label": __classPrivateFieldGet(this, _GxIdeWelcomePage_componentLocale, "f").copyright.illustrationAriaLabel }, h("img", { class: "slide__illustration-img", src: slide.illustration.url, alt: slide.illustration.alt })), h("section", { class: "slide__copy" }, h("div", { class: "slide__copy-container" }, h("header", { class: "slide__copy-header" }, h("img", { src: ICON_NEXT, alt: "GeneXus Next isologotype" }), h("h2", { class: "slide__copy-title" }, slide.title)), h("div", { class: "slide__copy-description" },
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
}), ((_b = slide.listItems) === null || _b === void 0 ? void 0 : _b.length) && (h("ul", { class: "slide__list" }, slide.listItems.map(item => {
|
|
156
|
+
return (h("section", { class: "slide__wrapper", ref: (el) => (__classPrivateFieldGet(this, _GxIdeWelcomePage_slidesElementsRef, "f")[index] = el) }, h("div", { class: "slide__illustration", role: "img", "aria-label": __classPrivateFieldGet(this, _GxIdeWelcomePage_componentLocale, "f").copyright.illustrationAriaLabel }, h("img", { class: "slide__illustration-img", src: slide.illustration.url, alt: slide.illustration.alt })), h("section", { class: "slide__copy" }, h("div", { class: "slide__copy-container" }, h("header", { class: "slide__copy-header" }, h("img", { src: ICON_NEXT, alt: "GeneXus Next isologotype" }), h("h2", { class: "slide__copy-title" }, slide.title)), h("div", { class: "slide__copy-description" }, slide.description?.map(paragraph => {
|
|
157
|
+
return (h("p", null, slide.descriptionAsChunks
|
|
158
|
+
? __classPrivateFieldGet(this, _GxIdeWelcomePage_splitWords, "f").call(this, paragraph)
|
|
159
|
+
: paragraph));
|
|
160
|
+
}), slide.listItems?.length && (h("ul", { class: "slide__list" }, slide.listItems.map(item => {
|
|
163
161
|
return (h("li", { class: "slide__list-item" }, h("strong", { class: "slide__list-item-title" }, item.title), " ", item.description));
|
|
164
162
|
})))), isLastSlide && (h("button", { class: "button-primary start-button", onClick: __classPrivateFieldGet(this, _GxIdeWelcomePage_closeSlider, "f") }, __classPrivateFieldGet(this, _GxIdeWelcomePage_componentLocale, "f").startButtonCaption))))));
|
|
165
163
|
}), "f");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome-page.js","sourceRoot":"","sources":["../../../src/components/welcome-page/welcome-page.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\n\nconst ACTIVE_SLIDE_SELECTOR = \"active\";\nconst ARROW_LEFT_KEY = \"ArrowLeft\";\nconst ARROW_RIGHT_KEY = \"ArrowRight\";\nconst ESCAPE_KEY = \"Escape\";\nconst SLIDE_FADE_DURATION = 300;\nconst SLIDE_WORD_SELECTOR = \".slide__word\";\nconst SLIDE_WORD_SELECTOR_TIMEOUT = 70;\nconst SLIDE_WORD_SELECTOR_VISIBLE = \"slide__word--visible\";\n\n// icons\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst CLOSE_ICON = getIconPath({\n category: \"system\",\n name: \"close\",\n colorType: \"on-elevation\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"components/icon\",\n \"components/button\"\n];\n\n@Component({\n tag: \"gx-ide-welcome-page\",\n styleUrl: \"welcome-page.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/welcome-page\"]\n})\nexport class GxIdeWelcomePage {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n #slidesDescriptionAsChunksAlreadyDisplayed: Map<number, boolean> = new Map();\n #slidesElements: HTMLElement[] = [];\n #slidesElementsRef: HTMLElement[] = [];\n // #slidesDescriptionAsChunksAlreadyDisplayed is used to know if the description of a slide\n // that is set to be displayed as chunks, has already been displayed. Used to not display\n // as chunks after the first time.\n #slideTimeOutId: NodeJS.Timeout;\n\n @Element() el: HTMLGxIdeWelcomePageElement;\n\n /**\n * The current active slide index from 'slides' Prop. It does not considers the very first slide \"Copyright\".\n */\n @State() activeSlideIndex: number = 0;\n\n /**\n * When true the slider will be visible. Used to display and hide the slide with a smooth transition.\n */\n @State() displaySlider: boolean = false;\n\n /**\n * True if the very first slide is visible (The copyright slide)\n */\n @State() copyrightsVisible: boolean = true;\n\n /**\n * True if the user has reached the last slide. Used to hide/disable the navigation.\n */\n @State() lastSlideReached: boolean = false;\n\n /**\n * When true the slider will be visible. Used to display and hide the slider with a smooth transition.\n */\n @State() sliderVisible: boolean = false;\n\n /**\n * True if a slide is transitioning, false otherwise. Used to disable the navigation arrows while transitioning.\n */\n @State() slideTransitioning: boolean = false;\n\n /**\n * True if the user has changed slides by clicking on the navigation dots, or by using the keyboard arrows. This is used to know evaluate the slide transition setTimeOut. If the user has navigated, automatic slide transition should be turned off.\n */\n @State() userHasChangedSlide: boolean = false;\n\n /**\n * The transition type between the slides. \"static\" requires the user to navigate by clicking the navigation dots. \"auto\" will transition automatically after a calculated amount of time.\n */\n @Prop() readonly transitionType: TransitionType = \"auto\";\n\n /**\n * The estimated amount of words per minute that the user requires to read a slide. This value is used to return the time each slide is freezed before transitioning to the next one. Only evaluated when transitionType is set to \"auto\".\n */\n @Prop() readonly wordsPerMinute: number = 250;\n\n /**\n * Callback invoked when the user closes the slider by pressing the close button.\n */\n @Prop() readonly closeCallback!: CloseCallback;\n\n /**\n * An array of slides, with the information that each slide requires. This slides appear after the first slide (Copyrights) that is defined inside the component.\n */\n @Prop() readonly slides: SlideInfo[] = [];\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#renderSlides();\n }\n\n componentDidLoad() {\n this.#slidesElementsRef[this.activeSlideIndex].classList.add(\n ACTIVE_SLIDE_SELECTOR\n );\n this.sliderVisible = true;\n this.#initiateSlidesTransition();\n }\n\n #closeSlider = () => {\n this.sliderVisible = false;\n setTimeout(() => {\n // wait until the slide disappears, then remove.\n this.el.remove();\n this.closeCallback();\n document.removeEventListener(\"keydown\", this.#keyboardEventHandler);\n }, SLIDE_FADE_DURATION);\n };\n\n #initiateSlidesTransition = () => {\n this.#slideTimeOut();\n // listen to keydown events to navigate the slides with the arrows\n document.addEventListener(\"keydown\", this.#keyboardEventHandler);\n };\n\n #displayWords = (wordsNodeList: NodeListOf<HTMLElement>) => {\n wordsNodeList.forEach((word, index) => {\n setTimeout(() => {\n word.classList.add(SLIDE_WORD_SELECTOR_VISIBLE);\n }, index * SLIDE_WORD_SELECTOR_TIMEOUT);\n });\n };\n\n #dotClickedHandler = (event: MouseEvent) => {\n this.userHasChangedSlide = true;\n const itemClicked = event.currentTarget as HTMLElement;\n const index = parseInt(itemClicked.getAttribute(\"data-index\"), 10);\n this.#updateActiveSlide(index);\n };\n\n #keyboardEventHandler = (event: KeyboardEvent) => {\n this.userHasChangedSlide = true;\n const goToPrevSlide =\n event.key === ARROW_LEFT_KEY &&\n !this.slideTransitioning &&\n !this.lastSlideReached &&\n this.activeSlideIndex !== 0;\n\n const goToNextSlide =\n event.key === ARROW_RIGHT_KEY &&\n !this.slideTransitioning &&\n !this.lastSlideReached;\n\n const closeSlider =\n event.key === ESCAPE_KEY ||\n (event.key === ARROW_RIGHT_KEY &&\n !this.slideTransitioning &&\n this.lastSlideReached);\n\n if (goToNextSlide) {\n this.#nextSlideHandler();\n } else if (goToPrevSlide) {\n this.#prevSlideHandler();\n } else if (closeSlider) {\n this.#closeSlider();\n }\n };\n\n #nextSlideHandler = () => {\n const newIndex = this.activeSlideIndex + 1;\n this.#updateActiveSlide(newIndex);\n };\n\n #prevSlideHandler = () => {\n const newIndex = this.activeSlideIndex - 1;\n this.#updateActiveSlide(newIndex);\n };\n\n #slideTimeOut = () => {\n // Clear any existing timeout\n if (this.#slideTimeOutId) {\n clearTimeout(this.#slideTimeOutId);\n }\n\n const autoChangeSlide =\n this.transitionType === \"auto\" &&\n !this.lastSlideReached &&\n !this.userHasChangedSlide;\n\n if (!autoChangeSlide) {\n return;\n }\n\n let itemsWordsCount = 0;\n if (this.slides[this.activeSlideIndex].listItems) {\n const itemsWords = this.slides[this.activeSlideIndex].listItems.map(\n item => {\n return item.title + item.description;\n }\n );\n if (itemsWords.length) {\n const mergedItemsWords = itemsWords.join(\"\");\n itemsWordsCount = mergedItemsWords.split(\" \").length;\n }\n }\n\n const mergedDescription =\n this.slides[this.activeSlideIndex].description.join(\"\");\n const words = mergedDescription.split(\" \").length;\n const timeBeforeNextSlide: number = this.#secondsToRead(\n words + itemsWordsCount\n );\n\n // Set a fresh timeout\n if (timeBeforeNextSlide) {\n this.#slideTimeOutId = setTimeout(() => {\n this.#nextSlideHandler();\n }, timeBeforeNextSlide);\n }\n };\n\n #secondsToRead = (\n wordsCount: number,\n wordsPerMinute = this.wordsPerMinute\n ): number => {\n const minutes = wordsCount / wordsPerMinute;\n const milliseconds = minutes * 60000; // Convert minutes to milliseconds\n return milliseconds;\n };\n\n #renderSlides = () => {\n this.#slidesElements = this.slides.map((slide, index) => {\n const isLastSlide = index === this.slides.length - 1;\n return (\n <section\n class=\"slide__wrapper\"\n ref={(el: HTMLElement) =>\n (this.#slidesElementsRef[index] = el as HTMLElement)\n }\n >\n <div\n class=\"slide__illustration\"\n role=\"img\"\n aria-label={this.#componentLocale.copyright.illustrationAriaLabel}\n >\n <img\n class=\"slide__illustration-img\"\n src={slide.illustration.url}\n alt={slide.illustration.alt}\n />\n </div>\n <section class=\"slide__copy\">\n <div class=\"slide__copy-container\">\n <header class=\"slide__copy-header\">\n <img src={ICON_NEXT} alt=\"GeneXus Next isologotype\" />\n <h2 class=\"slide__copy-title\">{slide.title}</h2>\n </header>\n <div class=\"slide__copy-description\">\n {slide.description?.map(paragraph => {\n return (\n <p>\n {slide.descriptionAsChunks\n ? this.#splitWords(paragraph)\n : paragraph}\n </p>\n );\n })}\n {slide.listItems?.length && (\n <ul class=\"slide__list\">\n {slide.listItems.map(item => {\n return (\n <li class=\"slide__list-item\">\n <strong class=\"slide__list-item-title\">\n {item.title}\n </strong>{\" \"}\n {item.description}\n </li>\n );\n })}\n </ul>\n )}\n </div>\n {isLastSlide && (\n <button\n class=\"button-primary start-button\"\n onClick={this.#closeSlider}\n >\n {this.#componentLocale.startButtonCaption}\n </button>\n )}\n </div>\n </section>\n </section>\n );\n });\n };\n\n #splitWords = (paragraph: string): HTMLSpanElement[] => {\n return paragraph.split(\" \").map(word => {\n // keep the space after {word} !\n return <span class=\"slide__word\">{word} </span>;\n });\n };\n\n #updateActiveSlide = (newSlideIndex: number) => {\n this.slideTransitioning = true;\n\n // unset current active slide\n const activeSlide = this.#slidesElementsRef[this.activeSlideIndex];\n activeSlide.classList.remove(ACTIVE_SLIDE_SELECTOR);\n\n const nextSlideReference = this.#slidesElementsRef[newSlideIndex];\n const displayDescriptionAsChunks =\n this.slides[newSlideIndex].descriptionAsChunks;\n const descriptionAsChunksDisplayedAlready =\n this.#slidesDescriptionAsChunksAlreadyDisplayed.get(newSlideIndex);\n let wordsCount;\n let wordsNodeList: NodeListOf<HTMLElement>;\n let slideTimeOut = 0;\n if (displayDescriptionAsChunks) {\n wordsNodeList = nextSlideReference.querySelectorAll(SLIDE_WORD_SELECTOR);\n wordsCount = wordsNodeList.length;\n slideTimeOut = wordsCount * SLIDE_WORD_SELECTOR_TIMEOUT;\n }\n\n this.lastSlideReached = newSlideIndex === this.slides.length - 1;\n\n // set new slide as active after fade out\n setTimeout(() => {\n nextSlideReference.classList.add(ACTIVE_SLIDE_SELECTOR);\n\n if (displayDescriptionAsChunks && !descriptionAsChunksDisplayedAlready) {\n this.#slidesDescriptionAsChunksAlreadyDisplayed.set(\n newSlideIndex,\n true\n );\n this.#displayWords(wordsNodeList);\n setTimeout(() => {\n this.slideTransitioning = false;\n }, slideTimeOut);\n } else {\n this.slideTransitioning = false;\n }\n }, SLIDE_FADE_DURATION);\n\n // update active slide index\n this.activeSlideIndex = newSlideIndex;\n this.#slideTimeOut(); // this has to be after this.#updateActiveSlide.\n };\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div\n class={{\n \"main\": true,\n \"main--visible\": this.sliderVisible,\n \"main--border-glow\": this.lastSlideReached\n }}\n style={{ \"--slide-fade-duration\": `${SLIDE_FADE_DURATION}ms` }}\n >\n <section class=\"slide\">\n <header class=\"slide__header\">\n <button\n class=\"button-tertiary button-icon-only close-icon\"\n aria-label=\"close presentation\"\n onClick={this.#closeSlider}\n >\n <ch-image class=\"icon-md\" src={CLOSE_ICON}></ch-image>\n </button>\n </header>\n <div class=\"slide__container\">{this.#slidesElements}</div>\n <footer\n // slide common footer\n class={{\n slide__footer: true\n }}\n >\n <div\n class={{\n \"slide__footer-wrapper\": true\n }}\n >\n <ul class=\"slide__dots\" aria-label=\"Slide indicators\">\n {this.slides.map((_, index) => {\n return (\n <li\n class={{\n \"slide__dot\": true,\n \"slide__dot-inactive\": this.slideTransitioning,\n [ACTIVE_SLIDE_SELECTOR]:\n index === this.activeSlideIndex\n }}\n data-index={index}\n onClick={\n !this.slideTransitioning && this.#dotClickedHandler\n }\n ></li>\n );\n })}\n </ul>\n </div>\n </footer>\n </section>\n </div>\n </Host>\n );\n }\n}\n\nexport type SlideInfo = {\n illustration: {\n url: string;\n alt: string;\n };\n title: string;\n description?: string[];\n descriptionAsChunks?: boolean;\n listItems?: Array<{\n title: string;\n description: string;\n }>;\n};\n\nexport type CloseCallback = () => Promise<void>;\nexport type TransitionType = \"static\" | \"auto\";\n"]}
|
|
1
|
+
{"version":3,"file":"welcome-page.js","sourceRoot":"","sources":["../../../src/components/welcome-page/welcome-page.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\n\nconst ACTIVE_SLIDE_SELECTOR = \"active\";\nconst ARROW_LEFT_KEY = \"ArrowLeft\";\nconst ARROW_RIGHT_KEY = \"ArrowRight\";\nconst ESCAPE_KEY = \"Escape\";\nconst SLIDE_FADE_DURATION = 300;\nconst SLIDE_WORD_SELECTOR = \".slide__word\";\nconst SLIDE_WORD_SELECTOR_TIMEOUT = 70;\nconst SLIDE_WORD_SELECTOR_VISIBLE = \"slide__word--visible\";\n\n// icons\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst CLOSE_ICON = getIconPath({\n category: \"system\",\n name: \"close\",\n colorType: \"on-elevation\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"components/icon\",\n \"components/button\"\n];\n\n@Component({\n tag: \"gx-ide-welcome-page\",\n styleUrl: \"welcome-page.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/welcome-page\"]\n})\nexport class GxIdeWelcomePage {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n #slidesDescriptionAsChunksAlreadyDisplayed: Map<number, boolean> = new Map();\n #slidesElements: HTMLElement[] = [];\n #slidesElementsRef: HTMLElement[] = [];\n // #slidesDescriptionAsChunksAlreadyDisplayed is used to know if the description of a slide\n // that is set to be displayed as chunks, has already been displayed. Used to not display\n // as chunks after the first time.\n #slideTimeOutId: NodeJS.Timeout;\n\n @Element() el: HTMLGxIdeWelcomePageElement;\n\n /**\n * The current active slide index from 'slides' Prop. It does not considers the very first slide \"Copyright\".\n */\n @State() activeSlideIndex: number = 0;\n\n /**\n * When true the slider will be visible. Used to display and hide the slide with a smooth transition.\n */\n @State() displaySlider: boolean = false;\n\n /**\n * True if the very first slide is visible (The copyright slide)\n */\n @State() copyrightsVisible: boolean = true;\n\n /**\n * True if the user has reached the last slide. Used to hide/disable the navigation.\n */\n @State() lastSlideReached: boolean = false;\n\n /**\n * When true the slider will be visible. Used to display and hide the slider with a smooth transition.\n */\n @State() sliderVisible: boolean = false;\n\n /**\n * True if a slide is transitioning, false otherwise. Used to disable the navigation arrows while transitioning.\n */\n @State() slideTransitioning: boolean = false;\n\n /**\n * True if the user has changed slides by clicking on the navigation dots, or by using the keyboard arrows. This is used to know evaluate the slide transition setTimeOut. If the user has navigated, automatic slide transition should be turned off.\n */\n @State() userHasChangedSlide: boolean = false;\n\n /**\n * The transition type between the slides. \"static\" requires the user to navigate by clicking the navigation dots. \"auto\" will transition automatically after a calculated amount of time.\n */\n @Prop() readonly transitionType: TransitionType = \"auto\";\n\n /**\n * The estimated amount of words per minute that the user requires to read a slide. This value is used to return the time each slide is freezed before transitioning to the next one. Only evaluated when transitionType is set to \"auto\".\n */\n @Prop() readonly wordsPerMinute: number = 250;\n\n /**\n * Callback invoked when the user closes the slider by pressing the close button.\n */\n @Prop() readonly closeCallback!: CloseCallback;\n\n /**\n * An array of slides, with the information that each slide requires. This slides appear after the first slide (Copyrights) that is defined inside the component.\n */\n @Prop() readonly slides: SlideInfo[] = [];\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#renderSlides();\n }\n\n componentDidLoad() {\n this.#slidesElementsRef[this.activeSlideIndex].classList.add(\n ACTIVE_SLIDE_SELECTOR\n );\n this.sliderVisible = true;\n this.#initiateSlidesTransition();\n }\n\n #closeSlider = () => {\n this.sliderVisible = false;\n setTimeout(() => {\n // wait until the slide disappears, then remove.\n this.el.remove();\n this.closeCallback();\n document.removeEventListener(\"keydown\", this.#keyboardEventHandler);\n }, SLIDE_FADE_DURATION);\n };\n\n #initiateSlidesTransition = () => {\n this.#slideTimeOut();\n // listen to keydown events to navigate the slides with the arrows\n document.addEventListener(\"keydown\", this.#keyboardEventHandler);\n };\n\n #displayWords = (wordsNodeList: NodeListOf<HTMLElement>) => {\n wordsNodeList.forEach((word, index) => {\n setTimeout(() => {\n word.classList.add(SLIDE_WORD_SELECTOR_VISIBLE);\n }, index * SLIDE_WORD_SELECTOR_TIMEOUT);\n });\n };\n\n #dotClickedHandler = (event: MouseEvent) => {\n this.userHasChangedSlide = true;\n const itemClicked = event.currentTarget as HTMLElement;\n const index = parseInt(itemClicked.getAttribute(\"data-index\"), 10);\n this.#updateActiveSlide(index);\n };\n\n #keyboardEventHandler = (event: KeyboardEvent) => {\n this.userHasChangedSlide = true;\n const goToPrevSlide =\n event.key === ARROW_LEFT_KEY &&\n !this.slideTransitioning &&\n !this.lastSlideReached &&\n this.activeSlideIndex !== 0;\n\n const goToNextSlide =\n event.key === ARROW_RIGHT_KEY &&\n !this.slideTransitioning &&\n !this.lastSlideReached;\n\n const closeSlider =\n event.key === ESCAPE_KEY ||\n (event.key === ARROW_RIGHT_KEY &&\n !this.slideTransitioning &&\n this.lastSlideReached);\n\n if (goToNextSlide) {\n this.#nextSlideHandler();\n } else if (goToPrevSlide) {\n this.#prevSlideHandler();\n } else if (closeSlider) {\n this.#closeSlider();\n }\n };\n\n #nextSlideHandler = () => {\n const newIndex = this.activeSlideIndex + 1;\n this.#updateActiveSlide(newIndex);\n };\n\n #prevSlideHandler = () => {\n const newIndex = this.activeSlideIndex - 1;\n this.#updateActiveSlide(newIndex);\n };\n\n #slideTimeOut = () => {\n // Clear any existing timeout\n if (this.#slideTimeOutId) {\n clearTimeout(this.#slideTimeOutId);\n }\n\n const autoChangeSlide =\n this.transitionType === \"auto\" &&\n !this.lastSlideReached &&\n !this.userHasChangedSlide;\n\n if (!autoChangeSlide) {\n return;\n }\n\n let itemsWordsCount = 0;\n if (this.slides[this.activeSlideIndex].listItems) {\n const itemsWords = this.slides[this.activeSlideIndex].listItems.map(\n item => {\n return item.title + item.description;\n }\n );\n if (itemsWords.length) {\n const mergedItemsWords = itemsWords.join(\"\");\n itemsWordsCount = mergedItemsWords.split(\" \").length;\n }\n }\n\n const mergedDescription =\n this.slides[this.activeSlideIndex].description.join(\"\");\n const words = mergedDescription.split(\" \").length;\n const timeBeforeNextSlide: number = this.#secondsToRead(\n words + itemsWordsCount\n );\n\n // Set a fresh timeout\n if (timeBeforeNextSlide) {\n this.#slideTimeOutId = setTimeout(() => {\n this.#nextSlideHandler();\n }, timeBeforeNextSlide);\n }\n };\n\n #secondsToRead = (\n wordsCount: number,\n wordsPerMinute = this.wordsPerMinute\n ): number => {\n const minutes = wordsCount / wordsPerMinute;\n const milliseconds = minutes * 60000; // Convert minutes to milliseconds\n return milliseconds;\n };\n\n #renderSlides = () => {\n this.#slidesElements = this.slides.map((slide, index) => {\n const isLastSlide = index === this.slides.length - 1;\n return (\n <section\n class=\"slide__wrapper\"\n ref={(el: HTMLElement) =>\n (this.#slidesElementsRef[index] = el as HTMLElement)\n }\n >\n <div\n class=\"slide__illustration\"\n role=\"img\"\n aria-label={this.#componentLocale.copyright.illustrationAriaLabel}\n >\n <img\n class=\"slide__illustration-img\"\n src={slide.illustration.url}\n alt={slide.illustration.alt}\n />\n </div>\n <section class=\"slide__copy\">\n <div class=\"slide__copy-container\">\n <header class=\"slide__copy-header\">\n <img src={ICON_NEXT} alt=\"GeneXus Next isologotype\" />\n <h2 class=\"slide__copy-title\">{slide.title}</h2>\n </header>\n <div class=\"slide__copy-description\">\n {slide.description?.map(paragraph => {\n return (\n <p>\n {slide.descriptionAsChunks\n ? this.#splitWords(paragraph)\n : paragraph}\n </p>\n );\n })}\n {slide.listItems?.length && (\n <ul class=\"slide__list\">\n {slide.listItems.map(item => {\n return (\n <li class=\"slide__list-item\">\n <strong class=\"slide__list-item-title\">\n {item.title}\n </strong>{\" \"}\n {item.description}\n </li>\n );\n })}\n </ul>\n )}\n </div>\n {isLastSlide && (\n <button\n class=\"button-primary start-button\"\n onClick={this.#closeSlider}\n >\n {this.#componentLocale.startButtonCaption}\n </button>\n )}\n </div>\n </section>\n </section>\n );\n });\n };\n\n #splitWords = (paragraph: string): HTMLSpanElement[] => {\n return paragraph.split(\" \").map(word => {\n // keep the space after {word} !\n return <span class=\"slide__word\">{word} </span>;\n });\n };\n\n #updateActiveSlide = (newSlideIndex: number) => {\n this.slideTransitioning = true;\n\n // unset current active slide\n const activeSlide = this.#slidesElementsRef[this.activeSlideIndex];\n activeSlide.classList.remove(ACTIVE_SLIDE_SELECTOR);\n\n const nextSlideReference = this.#slidesElementsRef[newSlideIndex];\n const displayDescriptionAsChunks =\n this.slides[newSlideIndex].descriptionAsChunks;\n const descriptionAsChunksDisplayedAlready =\n this.#slidesDescriptionAsChunksAlreadyDisplayed.get(newSlideIndex);\n let wordsCount;\n let wordsNodeList: NodeListOf<HTMLElement>;\n let slideTimeOut = 0;\n if (displayDescriptionAsChunks) {\n wordsNodeList = nextSlideReference.querySelectorAll(SLIDE_WORD_SELECTOR);\n wordsCount = wordsNodeList.length;\n slideTimeOut = wordsCount * SLIDE_WORD_SELECTOR_TIMEOUT;\n }\n\n this.lastSlideReached = newSlideIndex === this.slides.length - 1;\n\n // set new slide as active after fade out\n setTimeout(() => {\n nextSlideReference.classList.add(ACTIVE_SLIDE_SELECTOR);\n\n if (displayDescriptionAsChunks && !descriptionAsChunksDisplayedAlready) {\n this.#slidesDescriptionAsChunksAlreadyDisplayed.set(\n newSlideIndex,\n true\n );\n this.#displayWords(wordsNodeList);\n setTimeout(() => {\n this.slideTransitioning = false;\n }, slideTimeOut);\n } else {\n this.slideTransitioning = false;\n }\n }, SLIDE_FADE_DURATION);\n\n // update active slide index\n this.activeSlideIndex = newSlideIndex;\n this.#slideTimeOut(); // this has to be after this.#updateActiveSlide.\n };\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div\n class={{\n \"main\": true,\n \"main--visible\": this.sliderVisible,\n \"main--border-glow\": this.lastSlideReached\n }}\n style={{ \"--slide-fade-duration\": `${SLIDE_FADE_DURATION}ms` }}\n >\n <section class=\"slide\">\n <header class=\"slide__header\">\n <button\n class=\"button-tertiary button-icon-only close-icon\"\n aria-label=\"close presentation\"\n onClick={this.#closeSlider}\n >\n <ch-image class=\"icon-md\" src={CLOSE_ICON}></ch-image>\n </button>\n </header>\n <div class=\"slide__container\">{this.#slidesElements}</div>\n <footer\n // slide common footer\n class={{\n slide__footer: true\n }}\n >\n <div\n class={{\n \"slide__footer-wrapper\": true\n }}\n >\n <ul class=\"slide__dots\" aria-label=\"Slide indicators\">\n {this.slides.map((_, index) => {\n return (\n <li\n class={{\n \"slide__dot\": true,\n \"slide__dot-inactive\": this.slideTransitioning,\n [ACTIVE_SLIDE_SELECTOR]:\n index === this.activeSlideIndex\n }}\n data-index={index}\n onClick={\n !this.slideTransitioning && this.#dotClickedHandler\n }\n ></li>\n );\n })}\n </ul>\n </div>\n </footer>\n </section>\n </div>\n </Host>\n );\n }\n}\n\nexport type SlideInfo = {\n illustration: {\n url: string;\n alt: string;\n };\n title: string;\n description?: string[];\n descriptionAsChunks?: boolean;\n listItems?: Array<{\n title: string;\n description: string;\n }>;\n};\n\nexport type CloseCallback = () => Promise<void>;\nexport type TransitionType = \"static\" | \"auto\";\n"]}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
export const mapOptionsToComboBoxItemModel = (options) => {
|
|
2
2
|
return options.map(option => {
|
|
3
|
-
var _a;
|
|
4
3
|
return {
|
|
5
4
|
value: option.id,
|
|
6
5
|
caption: option.label,
|
|
7
|
-
startImgSrc:
|
|
6
|
+
startImgSrc: option.iconName ?? ""
|
|
8
7
|
};
|
|
9
8
|
});
|
|
10
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/ww-attributes/helpers.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,OAAmB,EACJ,EAAE;IACjB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/ww-attributes/helpers.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,OAAmB,EACJ,EAAE;IACjB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC1B,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,EAAE;YAChB,OAAO,EAAE,MAAM,CAAC,KAAK;YACrB,WAAW,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;SACnC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { GxOption } from \"../..\";\n\nexport const mapOptionsToComboBoxItemModel = (\n options: GxOption[]\n): ComboBoxModel => {\n return options.map(option => {\n return {\n value: option.id,\n caption: option.label,\n startImgSrc: option.iconName ?? \"\"\n };\n });\n};\n"]}
|