@genexus/genexus-ide-ui 2.1.1 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-about.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
- 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-assign-roles.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
- 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 +1 -1
- 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-import-gxpm.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-comments-viewer.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-comments-viewer.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-json-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-json-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-launchpad-apis_3.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-launchpad-apis_3.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-loader.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-name-picker.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-name-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-version.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-restore-version.cjs.entry.js +5 -4
- package/dist/cjs/gx-ide-restore-version.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in-result.cjs.entry.js +5 -3
- package/dist/cjs/gx-ide-sign-in-result.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-starting-template.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-starting-template.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-preview.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-select-recent-comment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
- 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-to-revision.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-test.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/collection/components/_helpers/comments-viewer/comments-viewer.css +1 -1
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +1 -0
- package/dist/collection/components/_helpers/ide-loader/ide-loader.css +4 -0
- package/dist/collection/components/_helpers/list-selector/list-selector.css +1 -0
- package/dist/collection/components/_starting-template/starting-template.css +4 -0
- package/dist/collection/components/_test/test.css +1 -0
- package/dist/collection/components/about/about.css +4 -0
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +5 -0
- package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +1 -0
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +1 -0
- package/dist/collection/components/bpm/import-files/bpm-import-files.css +1 -0
- package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +1 -0
- package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +1 -0
- package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.css +4 -0
- package/dist/collection/components/bpm/task-documents/task-documents.css +4 -0
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +1 -0
- package/dist/collection/components/curl-inspector/curl-inspector.css +4 -0
- package/dist/collection/components/data-selector/data-selector.css +4 -0
- package/dist/collection/components/data-type-selector/data-type-selector.css +4 -0
- package/dist/collection/components/deployment-tool/deployment-tool.css +1 -0
- package/dist/collection/components/design-import/design-import.css +5 -0
- package/dist/collection/components/details-acknowledgements/details-acknowledgements.css +4 -0
- package/dist/collection/components/file-uploader/file-uploader.css +5 -0
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +5 -0
- package/dist/collection/components/json-import/json-import.css +4 -0
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +4 -0
- package/dist/collection/components/kb-manager-import/kb-manager-import.css +4 -0
- package/dist/collection/components/launchpad/native-apps/launchpad-native-apps.css +4 -0
- package/dist/collection/components/modules/edit-module-server/edit-module-server.css +4 -0
- package/dist/collection/components/name-picker/name-picker.css +4 -0
- package/dist/collection/components/navigation-report/navigation-report.css +4 -0
- package/dist/collection/components/new-environment/new-environment.css +4 -0
- package/dist/collection/components/new-kb/new-kb.css +4 -0
- package/dist/collection/components/new-object/new-object.css +4 -0
- package/dist/collection/components/new-version/new-version.css +4 -0
- package/dist/collection/components/object-selector/object-selector.css +4 -0
- package/dist/collection/components/open-api-import/open-api-import.css +4 -0
- package/dist/collection/components/references/references.css +1 -0
- package/dist/collection/components/restore-version/restore-version.css +7 -14
- package/dist/collection/components/restore-version/restore-version.js +4 -3
- package/dist/collection/components/restore-version/restore-version.js.map +1 -1
- package/dist/collection/components/select-kb-items/select-kb-items.css +4 -0
- package/dist/collection/components/select-user-team/select-user-team.css +4 -0
- package/dist/collection/components/sign-in-result/sign-in-result.css +5 -2
- package/dist/collection/components/sign-in-result/sign-in-result.js +4 -2
- package/dist/collection/components/sign-in-result/sign-in-result.js.map +1 -1
- package/dist/collection/components/splash/splash.css +4 -0
- package/dist/collection/components/start-page/start-page.css +4 -0
- package/dist/collection/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.css +4 -0
- package/dist/collection/components/team-dev/bring-changes/bring-changes.css +4 -0
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.css +4 -0
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +4 -0
- package/dist/collection/components/team-dev/history/history.css +4 -0
- package/dist/collection/components/team-dev/preview/team-dev-preview.css +1 -0
- package/dist/collection/components/team-dev/preview/team-dev-preview.js +1 -1
- package/dist/collection/components/team-dev/preview/team-dev-preview.js.map +1 -1
- package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +5 -0
- package/dist/collection/components/team-dev/server-selector/server-selector.css +4 -0
- package/dist/collection/components/team-dev/share-kb/share-kb.css +4 -0
- package/dist/collection/components/team-dev/update/update.css +4 -0
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +4 -0
- package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +4 -0
- package/dist/collection/components/team-dev/version-control/commit/commit.css +4 -0
- package/dist/collection/components/wf-settings/wf-settings.css +1 -0
- package/dist/collection/components/ww-files/ww-files.css +4 -0
- package/dist/collection/components/ww-images/ww-images.css +4 -0
- package/dist/components/bpm-objects-selector.js +1 -1
- package/dist/components/bpm-objects-selector.js.map +1 -1
- package/dist/components/gx-ide-about.js +1 -1
- package/dist/components/gx-ide-about.js.map +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
- package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
- package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-files.js +1 -1
- package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
- package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
- package/dist/components/gx-ide-bpm-sync-gam-roles.js +1 -1
- package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-task-documents.js +1 -1
- package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
- package/dist/components/gx-ide-comments-viewer.js +1 -1
- package/dist/components/gx-ide-comments-viewer.js.map +1 -1
- package/dist/components/gx-ide-connect-gx-server.js +1 -1
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-curl-inspector.js +1 -1
- package/dist/components/gx-ide-curl-inspector.js.map +1 -1
- package/dist/components/gx-ide-data-selector.js +1 -1
- package/dist/components/gx-ide-data-selector.js.map +1 -1
- package/dist/components/gx-ide-data-type-selector.js +1 -1
- package/dist/components/gx-ide-data-type-selector.js.map +1 -1
- package/dist/components/gx-ide-deployment-tool.js +1 -1
- package/dist/components/gx-ide-deployment-tool.js.map +1 -1
- package/dist/components/gx-ide-design-import.js +1 -1
- package/dist/components/gx-ide-design-import.js.map +1 -1
- package/dist/components/gx-ide-details-acknowledgements.js +1 -1
- package/dist/components/gx-ide-details-acknowledgements.js.map +1 -1
- package/dist/components/gx-ide-edit-module-server.js +1 -1
- package/dist/components/gx-ide-edit-module-server.js.map +1 -1
- package/dist/components/gx-ide-empty-state2.js +1 -1
- package/dist/components/gx-ide-empty-state2.js.map +1 -1
- package/dist/components/gx-ide-file-uploader.js +1 -1
- package/dist/components/gx-ide-file-uploader.js.map +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
- package/dist/components/gx-ide-json-import.js +1 -1
- package/dist/components/gx-ide-json-import.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-export.js +1 -1
- package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-import.js +1 -1
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-name-picker.js +1 -1
- package/dist/components/gx-ide-name-picker.js.map +1 -1
- package/dist/components/gx-ide-navigation-report.js +1 -1
- package/dist/components/gx-ide-navigation-report.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +1 -1
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +1 -1
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-new-object.js +1 -1
- package/dist/components/gx-ide-new-object.js.map +1 -1
- package/dist/components/gx-ide-new-version.js +1 -1
- package/dist/components/gx-ide-new-version.js.map +1 -1
- package/dist/components/gx-ide-object-selector.js +1 -1
- package/dist/components/gx-ide-object-selector.js.map +1 -1
- package/dist/components/gx-ide-open-api-import.js +1 -1
- package/dist/components/gx-ide-open-api-import.js.map +1 -1
- package/dist/components/gx-ide-references.js +1 -1
- package/dist/components/gx-ide-references.js.map +1 -1
- package/dist/components/gx-ide-restore-version.js +5 -4
- package/dist/components/gx-ide-restore-version.js.map +1 -1
- package/dist/components/gx-ide-select-user-team.js +1 -1
- package/dist/components/gx-ide-select-user-team.js.map +1 -1
- package/dist/components/gx-ide-server-selector.js +1 -1
- package/dist/components/gx-ide-server-selector.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +1 -1
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-sign-in-result.js +5 -3
- package/dist/components/gx-ide-sign-in-result.js.map +1 -1
- package/dist/components/gx-ide-splash.js +1 -1
- package/dist/components/gx-ide-splash.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +1 -1
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-starting-template.js +1 -1
- package/dist/components/gx-ide-starting-template.js.map +1 -1
- package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js +1 -1
- package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js.map +1 -1
- package/dist/components/gx-ide-team-dev-bring-changes.js +1 -1
- package/dist/components/gx-ide-team-dev-bring-changes.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-history.js +1 -1
- package/dist/components/gx-ide-team-dev-history.js.map +1 -1
- package/dist/components/gx-ide-team-dev-preview.js +2 -2
- package/dist/components/gx-ide-team-dev-preview.js.map +1 -1
- package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
- package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +1 -1
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-test.js +1 -1
- package/dist/components/gx-ide-test.js.map +1 -1
- package/dist/components/gx-ide-wf-settings.js +1 -1
- package/dist/components/gx-ide-wf-settings.js.map +1 -1
- package/dist/components/gx-ide-ww-files.js +1 -1
- package/dist/components/gx-ide-ww-files.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +1 -1
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/ide-loader.js +1 -1
- package/dist/components/ide-loader.js.map +1 -1
- package/dist/components/launchpad-native-apps.js +1 -1
- package/dist/components/launchpad-native-apps.js.map +1 -1
- package/dist/components/list-selector.js +1 -1
- package/dist/components/list-selector.js.map +1 -1
- package/dist/components/select-kb-items.js +1 -1
- package/dist/components/select-kb-items.js.map +1 -1
- package/dist/esm/gx-ide-about.entry.js +1 -1
- package/dist/esm/gx-ide-about.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
- 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-assign-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
- 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-import-gxpm.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-task-documents.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
- package/dist/esm/gx-ide-comments-viewer.entry.js +1 -1
- package/dist/esm/gx-ide-comments-viewer.entry.js.map +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-curl-inspector.entry.js +1 -1
- package/dist/esm/gx-ide-curl-inspector.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-type-selector.entry.js +1 -1
- package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-deployment-tool.entry.js +1 -1
- package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +1 -1
- package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-details-acknowledgements.entry.js +1 -1
- package/dist/esm/gx-ide-details-acknowledgements.entry.js.map +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
- package/dist/esm/gx-ide-file-uploader.entry.js +1 -1
- package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-json-import.entry.js +1 -1
- package/dist/esm/gx-ide-json-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-launchpad-apis_3.entry.js +1 -1
- package/dist/esm/gx-ide-launchpad-apis_3.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-loader.entry.js +1 -1
- package/dist/esm/gx-ide-loader.entry.js.map +1 -1
- package/dist/esm/gx-ide-name-picker.entry.js +1 -1
- package/dist/esm/gx-ide-name-picker.entry.js.map +1 -1
- package/dist/esm/gx-ide-navigation-report.entry.js +1 -1
- package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +1 -1
- package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-version.entry.js +1 -1
- package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-open-api-import.entry.js +1 -1
- package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +1 -1
- package/dist/esm/gx-ide-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-restore-version.entry.js +5 -4
- package/dist/esm/gx-ide-restore-version.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-kb-items.entry.js +1 -1
- package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-server-selector.entry.js +1 -1
- package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in-result.entry.js +5 -3
- package/dist/esm/gx-ide-sign-in-result.entry.js.map +1 -1
- package/dist/esm/gx-ide-splash.entry.js +1 -1
- package/dist/esm/gx-ide-splash.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +1 -1
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-starting-template.entry.js +1 -1
- package/dist/esm/gx-ide-starting-template.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-history.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-preview.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-preview.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-select-recent-comment.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
- 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-to-revision.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-test.entry.js +1 -1
- package/dist/esm/gx-ide-test.entry.js.map +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/{p-5929f575.entry.js → p-00705e1c.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-00705e1c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-18c3c961.entry.js → p-056955be.entry.js} +17 -17
- package/dist/genexus-ide-ui/p-056955be.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3ff33154.entry.js → p-0620e8f2.entry.js} +33 -33
- package/dist/genexus-ide-ui/p-0620e8f2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4af50a00.entry.js → p-06c31f23.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-06c31f23.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-76fdea52.entry.js → p-0be24413.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-0be24413.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8019e064.entry.js → p-0e4daeb7.entry.js} +11 -11
- package/dist/genexus-ide-ui/p-0e4daeb7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-840c09d2.entry.js → p-123ef674.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-70cd77bc.entry.js → p-217bd2d7.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-217bd2d7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-d6e7a813.entry.js → p-24247ec3.entry.js} +11 -11
- package/dist/genexus-ide-ui/p-24247ec3.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-af2f9983.entry.js → p-2b3f161f.entry.js} +21 -21
- package/dist/genexus-ide-ui/p-2b3f161f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-750eb88a.entry.js → p-34577955.entry.js} +9 -9
- package/dist/genexus-ide-ui/p-34577955.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-bdaae26a.entry.js → p-35c2a2f9.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-35c2a2f9.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ee77b260.entry.js → p-37812762.entry.js} +8 -8
- package/dist/genexus-ide-ui/p-37812762.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-0a7cbbd0.entry.js → p-3bbdad29.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-3bbdad29.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f05a137a.entry.js → p-42860e7e.entry.js} +71 -71
- package/dist/genexus-ide-ui/p-42860e7e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-168d3c83.entry.js → p-4431f46f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-24cf1cd2.entry.js → p-4bafe061.entry.js} +39 -39
- package/dist/genexus-ide-ui/p-4bafe061.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e4116b36.entry.js → p-4d7433e0.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-4d7433e0.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-dcfae3da.entry.js → p-4f58397f.entry.js} +53 -53
- package/dist/genexus-ide-ui/p-4f58397f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2567883a.entry.js → p-508c4bee.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-8cee1076.entry.js → p-55cb0614.entry.js} +14 -14
- package/dist/genexus-ide-ui/p-55cb0614.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6b430ac1.entry.js → p-5727fce7.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-5727fce7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-520c3763.entry.js → p-572fdc25.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-572fdc25.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a50c520c.entry.js → p-5864a82d.entry.js} +18 -18
- package/dist/genexus-ide-ui/p-5864a82d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2a59b523.entry.js → p-60db2f02.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-60db2f02.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-178805d6.entry.js → p-632d3a74.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-632d3a74.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-36462e51.entry.js → p-63abf7e8.entry.js} +41 -41
- package/dist/genexus-ide-ui/p-63abf7e8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-bb5a5c23.entry.js → p-69e7d46b.entry.js} +12 -12
- package/dist/genexus-ide-ui/p-69e7d46b.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1d3da80d.entry.js → p-7b76b0e4.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-7b76b0e4.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-875b8615.entry.js → p-83a7e6fb.entry.js} +6 -6
- package/dist/genexus-ide-ui/p-83a7e6fb.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-dbac8ae2.entry.js → p-886dc9c1.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-79d4490e.entry.js → p-90a50197.entry.js} +58 -58
- package/dist/genexus-ide-ui/p-90a50197.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-49c1d667.entry.js → p-90b2307f.entry.js} +7 -7
- package/dist/genexus-ide-ui/p-90b2307f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-38d3adf1.entry.js → p-944a589f.entry.js} +21 -21
- package/dist/genexus-ide-ui/p-944a589f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ca47bb29.entry.js → p-98820155.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ca47bb29.entry.js.map → p-98820155.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-27786355.entry.js → p-98dbb43d.entry.js} +25 -25
- package/dist/genexus-ide-ui/p-98dbb43d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b167052a.entry.js → p-9a10fa97.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d0e61bdc.entry.js → p-9ca0c042.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-9ca0c042.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c31f9478.entry.js → p-aad714a5.entry.js} +31 -31
- package/dist/genexus-ide-ui/p-aad714a5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f61bde09.entry.js → p-af267991.entry.js} +49 -49
- package/dist/genexus-ide-ui/p-af267991.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-22c0058b.entry.js → p-b5f2603f.entry.js} +11 -11
- package/dist/genexus-ide-ui/p-b5f2603f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-0dfa813a.entry.js → p-b6d59827.entry.js} +16 -16
- package/dist/genexus-ide-ui/p-b6d59827.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-885e5d1c.entry.js → p-c2f2d79f.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-c2f2d79f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-14c82d16.entry.js → p-c3a355c6.entry.js} +48 -48
- package/dist/genexus-ide-ui/p-c3a355c6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-38ae0c55.entry.js → p-ca1b9b8a.entry.js} +11 -10
- package/dist/genexus-ide-ui/p-ca1b9b8a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1356ec09.entry.js → p-cd9e9e2b.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-cd9e9e2b.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fa8cb0d8.entry.js → p-cdd2e79d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-60bbf1b4.entry.js → p-d68412ac.entry.js} +8 -8
- package/dist/genexus-ide-ui/{p-a8465dff.entry.js → p-d761587f.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-a8465dff.entry.js.map → p-d761587f.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-b2966a6b.entry.js → p-d7964c12.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-8735d37c.entry.js → p-dbf9a97d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-14823abe.entry.js → p-e0fb6257.entry.js} +9 -9
- package/dist/genexus-ide-ui/p-e0fb6257.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-734d5fa1.entry.js → p-e32f5b19.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-af3cc463.entry.js → p-e3ff125f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-899ec74e.entry.js → p-e883cd82.entry.js} +35 -35
- package/dist/genexus-ide-ui/p-e883cd82.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e4c250eb.entry.js → p-ebb56b65.entry.js} +23 -23
- package/dist/genexus-ide-ui/p-ebb56b65.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b44a875d.entry.js → p-f1b452fb.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-f1b452fb.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ebfc64a5.entry.js → p-fb5dd0a2.entry.js} +10 -10
- package/dist/genexus-ide-ui/p-fb5dd0a2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-392bdfaa.entry.js → p-fb64e0b1.entry.js} +20 -20
- package/dist/genexus-ide-ui/p-fb64e0b1.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-747fbbd8.entry.js → p-fdaeb19a.entry.js} +2 -2
- package/package.json +1 -1
- package/dist/genexus-ide-ui/p-0a7cbbd0.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-0dfa813a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1356ec09.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-14823abe.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-14c82d16.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-178805d6.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-18c3c961.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1d3da80d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-22c0058b.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-24cf1cd2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-27786355.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-2a59b523.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-36462e51.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-38ae0c55.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-38d3adf1.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-392bdfaa.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-3ff33154.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-49c1d667.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4af50a00.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-520c3763.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5929f575.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6b430ac1.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-70cd77bc.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-750eb88a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-76fdea52.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-79d4490e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8019e064.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-875b8615.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-885e5d1c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-899ec74e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8cee1076.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a50c520c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-af2f9983.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-b44a875d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bb5a5c23.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bdaae26a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-c31f9478.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-d0e61bdc.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-d6e7a813.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-dcfae3da.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e4116b36.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-e4c250eb.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ebfc64a5.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ee77b260.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f05a137a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f61bde09.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-840c09d2.entry.js.map → p-123ef674.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-168d3c83.entry.js.map → p-4431f46f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2567883a.entry.js.map → p-508c4bee.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-dbac8ae2.entry.js.map → p-886dc9c1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b167052a.entry.js.map → p-9a10fa97.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fa8cb0d8.entry.js.map → p-cdd2e79d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-60bbf1b4.entry.js.map → p-d68412ac.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b2966a6b.entry.js.map → p-d7964c12.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8735d37c.entry.js.map → p-dbf9a97d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-734d5fa1.entry.js.map → p-e32f5b19.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-af3cc463.entry.js.map → p-e3ff125f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-747fbbd8.entry.js.map → p-fdaeb19a.entry.js.map} +0 -0
|
@@ -229,7 +229,7 @@ const findFirstActiveNode = (nodes) => {
|
|
|
229
229
|
return findActiveWithPath(nodes);
|
|
230
230
|
};
|
|
231
231
|
|
|
232
|
-
const selectKbItemsCss = ":host{--search-input-max-inline-size:400px;display:grid;block-size:100%}:host(:not(.has-footer)){grid-template-rows:max-content 1fr}:host(.has-footer){grid-template-rows:max-content 1fr max-content}.header.has-active-item{grid-area:header}.section{display:contents}.header__first-row,.header__second-row{display:grid;grid-auto-flow:column}.header__first-row{grid-auto-columns:max-content}.header__second-row{grid-template-columns:minmax(150px, var(--search-input-max-inline-size)) max-content}.header__second-row--one-row{grid-template-columns:minmax(150px, var(--search-input-max-inline-size))}.active-item{background-color:var(--color-accent-surface-elevation-1);border-radius:4px;padding:var(--control-padding-block) var(--control-padding-inline);display:flex;align-items:center;gap:var(--spacing-gap-m)}.active-item__icon-container{display:contents}.active-item__icon{pointer-events:none}.active-item__link{text-decoration:underline;color:var(--color-text-primary-default);cursor:pointer}.active-item__link:hover{color:var(--color-text-primary-hover)}.active-item__link:active{color:var(--color-text-primary-pressed)}.trees{position:relative}";
|
|
232
|
+
const selectKbItemsCss = "button.button-secondary{border-color:var(--color-border-neutral-default)}:host{--search-input-max-inline-size:400px;display:grid;block-size:100%}:host(:not(.has-footer)){grid-template-rows:max-content 1fr}:host(.has-footer){grid-template-rows:max-content 1fr max-content}.header.has-active-item{grid-area:header}.section{display:contents}.header__first-row,.header__second-row{display:grid;grid-auto-flow:column}.header__first-row{grid-auto-columns:max-content}.header__second-row{grid-template-columns:minmax(150px, var(--search-input-max-inline-size)) max-content}.header__second-row--one-row{grid-template-columns:minmax(150px, var(--search-input-max-inline-size))}.active-item{background-color:var(--color-accent-surface-elevation-1);border-radius:4px;padding:var(--control-padding-block) var(--control-padding-inline);display:flex;align-items:center;gap:var(--spacing-gap-m)}.active-item__icon-container{display:contents}.active-item__icon{pointer-events:none}.active-item__link{text-decoration:underline;color:var(--color-text-primary-default);cursor:pointer}.active-item__link:hover{color:var(--color-text-primary-hover)}.active-item__link:active{color:var(--color-text-primary-pressed)}.trees{position:relative}";
|
|
233
233
|
|
|
234
234
|
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
235
235
|
if (kind === "a" && !f)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"select-kb-items.js","mappings":"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","names":[],"sources":["src/components/select-kb-items/helpers.tsx","src/components/select-kb-items/select-kb-items.scss?tag=gx-ide-select-kb-items&encapsulation=shadow","src/components/select-kb-items/select-kb-items.tsx"],"sourcesContent":["import { ItemNode, CheckboxType, ActiveNode } from \"./select-kb-items\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { getIconPath } from \"@genexus/mercury\";\n\nexport const ACTIVE_ITEM_DEFAULT_ICON = getIconPath({\n category: \"system\",\n name: \"check-circle\",\n colorType: \"primary\"\n});\n\nexport const convertItemsNodeListToFlattenedTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListFlattenedTreeViewModel: TreeViewItemModel[] = [];\n\n const processNode = (item: ItemNode) => {\n const startImgSrc =\n item.active && !item.iconStart\n ? ACTIVE_ITEM_DEFAULT_ICON\n : item.iconStart;\n const leaf = !item.nodes?.length;\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const metaData = JSON.stringify({\n versionType: item.type\n });\n itemsListFlattenedTreeViewModel.push({\n caption: item.name,\n checkbox: checkbox,\n checked: item.checked,\n startImgSrc: startImgSrc,\n endImgSrc: item.iconEnd,\n expanded: item.expanded,\n id: item.id.toString(),\n items: null,\n leaf: leaf,\n metadata: metaData,\n parts: item.parts,\n selected: item.selected,\n order: item.order\n });\n\n if (item.nodes) {\n item.nodes.forEach(childNode => processNode(childNode));\n }\n };\n\n itemsList.forEach(item => processNode(item));\n return itemsListFlattenedTreeViewModel;\n};\n\nexport const convertItemsListToTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListTreeViewModel: TreeViewItemModel[] = [];\n itemsList.forEach(item => {\n const startImgSrc =\n item.active && !item.iconStart\n ? ACTIVE_ITEM_DEFAULT_ICON\n : item.iconStart;\n const leaf = !item.nodes?.length;\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const expanded = item.expanded;\n const iconStart = startImgSrc;\n const iconEnd = item.iconEnd;\n const metaData = JSON.stringify({\n versionType: item.type\n });\n const order = parseInt(item.id);\n itemsListTreeViewModel.push({\n caption: item.name,\n checkbox: checkbox,\n checked: item.checked,\n startImgSrc: iconStart,\n endImgSrc: iconEnd,\n expanded: expanded,\n id: item.id.toString(),\n items: !leaf\n ? convertItemsListToTreeViewModel(item.nodes, checkboxType)\n : null,\n leaf: leaf,\n metadata: metaData,\n parts: item.parts,\n order: order,\n selected: item.selected\n });\n });\n\n return itemsListTreeViewModel;\n};\n\nconst findItemNode = (id: string, item: ItemNode): ItemNode | null => {\n if (item.id === id) {\n return item;\n }\n\n if (item.nodes) {\n for (const itemNode of item.nodes) {\n const result = findItemNode(id, itemNode);\n if (result) {\n return result;\n }\n }\n }\n return null;\n};\n\nfunction findItemInArray(itemsNodes: ItemNode[], id: string): ItemNode | null {\n for (const item of itemsNodes) {\n const result = findItemNode(id, item);\n if (result) {\n return result;\n }\n }\n return null;\n}\nconst setAllLeafsCheckedFalse = (itemsList: ItemNode[]): ItemNode[] => {\n const uncheck = (itemNode: ItemNode) => {\n itemNode.checked = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => uncheck(childNode));\n }\n };\n\n itemsList.forEach(item => uncheck(item));\n return itemsList;\n};\n\nexport const unselectAllNodes = (itemsList: ItemNode[]) => {\n const unselect = (itemNode: ItemNode) => {\n itemNode.selected = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => unselect(childNode));\n }\n };\n\n itemsList.forEach(item => unselect(item));\n};\n\nexport const checkItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n setAllLeafsCheckedFalse(itemsList);\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.checked = true;\n }\n });\n\n return itemsList;\n};\n\nexport const expandItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.expanded = true;\n }\n });\n\n return itemsList;\n};\n\nexport const selectItems = (\n itemsList: ItemNode[],\n idsSelected: string[]\n): ItemNode[] => {\n idsSelected.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.selected = true;\n }\n });\n return itemsList;\n};\n\nfunction searchInNode(item: ItemNode, id: string): string[] | null {\n // If the current node is the searched node, we return an empty list (it has no parents in this branch)\n if (item.id === id) {\n return [];\n }\n\n // We traverse each child looking for the target node\n if (item.nodes?.length) {\n for (const node of item.nodes) {\n const parents = searchInNode(node, id);\n if (parents !== null) {\n // If we find it, we include the current node at the beginning of the path and return\n return [item.id, ...parents];\n }\n }\n }\n return null;\n}\n\nexport const searchParentsItems = (\n items: ItemNode[],\n ids: string[]\n): string[] | null => {\n const parents: string[] = [];\n for (const id of ids) {\n for (const rootItem of items) {\n const results = searchInNode(rootItem, id);\n if (results !== null) {\n results.forEach(result => {\n parents.push(result);\n });\n }\n }\n }\n return parents;\n};\n\n/**\n * Recursively searches for the first node with the active=true property\n * @param nodes Array of nodes to search through\n * @returns An object with caption, iconStart, and path to the first active node found, or null if none is found\n */\nexport const findFirstActiveNode = (nodes: ItemNode[]): ActiveNode | null => {\n // Helper function that keeps track of the path during recursion\n const findActiveWithPath = (\n nodeList: ItemNode[],\n currentPath: string[] = []\n ): ActiveNode | null => {\n // Base case: if nodes is undefined or empty\n if (!nodeList || nodeList.length === 0) {\n return null;\n }\n\n // Iterate through each node in the array\n for (const node of nodeList) {\n // Create a new path that includes the current node\n const nodePath = [...currentPath, node.id];\n\n // Check if the current node is active\n if (node.active === true) {\n return {\n caption: node.name,\n iconStart: node.iconStart,\n path: nodePath\n };\n }\n\n // If the node has children, search through them with the updated path\n if (node.nodes && node.nodes.length > 0) {\n const result = findActiveWithPath(node.nodes, nodePath);\n // If we find an active node in this subtree, return it immediately\n if (result !== null) {\n return result;\n }\n }\n }\n\n // No active node found in any of the nodes\n return null;\n };\n\n // Start the search with an empty path\n return findActiveWithPath(nodes);\n};\n",":host {\n --search-input-max-inline-size: 400px;\n display: grid;\n block-size: 100%;\n}\n:host(:not(.has-footer)) {\n grid-template-rows: max-content 1fr;\n}\n:host(.has-footer) {\n grid-template-rows: max-content 1fr max-content;\n}\n\n.header.has-active-item {\n grid-area: header;\n}\n\n.section {\n display: contents;\n}\n\n// header\n.header {\n &__first-row,\n &__second-row {\n display: grid;\n grid-auto-flow: column;\n }\n &__first-row {\n grid-auto-columns: max-content;\n }\n &__second-row {\n grid-template-columns:\n minmax(150px, var(--search-input-max-inline-size))\n max-content;\n\n &--one-row {\n grid-template-columns: minmax(150px, var(--search-input-max-inline-size));\n }\n }\n}\n\n.active-item {\n background-color: var(--color-accent-surface-elevation-1);\n border-radius: 4px;\n padding: var(--control-padding-block) var(--control-padding-inline);\n display: flex;\n align-items: center;\n gap: var(--spacing-gap-m);\n}\n.active-item {\n &__icon-container {\n display: contents;\n }\n &__icon {\n pointer-events: none; // We do not want the icon to change the colors, since the clickable area is the caption only\n }\n &__link {\n text-decoration: underline;\n // TODO: There should be a class in Merucry to apply link styles\n color: var(--color-text-primary-default);\n cursor: pointer;\n &:hover {\n color: var(--color-text-primary-hover);\n }\n &:active {\n color: var(--color-text-primary-pressed);\n }\n }\n}\n\n.trees {\n position: relative;\n}\n","import {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Method\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n\nimport {\n checkItems,\n convertItemsListToTreeViewModel,\n convertItemsNodeListToFlattenedTreeViewModel,\n expandItems,\n searchParentsItems,\n selectItems,\n unselectAllNodes,\n findFirstActiveNode\n} from \"./helpers\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ContextMenuInfo } from \"../../common/types\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nimport { ACTIVE_ITEM_DEFAULT_ICON } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/tooltip\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst SYSTEM_SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\nconst VIEW_AS_TREE_ID: NodesVersionsViewType = \"tree\";\nconst VIEW_AS_LIST_ID: NodesVersionsViewType = \"list\";\n\nconst TOGGLE_CHECKBOXES_CHECKED_VALUE = \"on\";\n\n@Component({\n tag: \"gx-ide-select-kb-items\",\n styleUrl: \"select-kb-items.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-kb-items\"]\n})\nexport class GxIdeSelectKbItems {\n #_componentLocale: any;\n #chShortcutsEl: HTMLChShortcutsElement;\n #selectedNodesIds: string[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/select-kb-items/shortcuts.json`\n );\n #updatedModelList: ItemNode[] = [];\n #viewItemsAsModel: RadioGroupItemModel[];\n #treeViewRenderEl: HTMLChTreeViewRenderElement;\n\n @Element() el: HTMLGxIdeSelectKbItemsElement;\n\n /**\n * Represents the active version node caption and icon (if any)\n */\n @State() activeItemNode: ActiveNode;\n\n /**\n * Represents the selected nodes ids\n */\n @State() checkedNodesIds: string[] = [];\n\n /**\n * If true, the footer will be rendered\n */\n @State() renderFooter: boolean = false;\n\n /**\n * Represents the nodes list model\n */\n @State() nodeListFlattenedTreeModel: TreeViewItemModel[] = [];\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * View type for the nodes.\n */\n @State() nodesVersionsViewType: NodesVersionsViewType = \"tree\";\n\n /**\n * Represents the nodes tree model\n */\n @State() nodeVersionsListTreeModel: TreeViewItemModel[] = [];\n\n /**\n * \"Search Pattern\" input value, used to filter the nodes tree/list.\n */\n @State() searchPatternValue: string = null;\n\n /**\n * It maps to the ch-tree-view-render \"toggleCheckboxes\" property.\n */\n @State() toggleCheckboxes: boolean;\n\n /**\n * Represents the itemLis list model\n */\n @State() itemsList: ItemNode[] = [];\n\n /**\n * Callback emitted when the user clicks on the \"Active item\"\n */\n @Prop() readonly activeItemCallback?: () => Promise<void>;\n\n /**\n * Callback emitted when the 'cancel' button is pressed\n */\n @Prop() readonly cancelCallback?: () => Promise<void>;\n\n /**\n * Defines which nodes of the component have checkboxes.\n */\n @Prop() readonly checkboxType: CheckboxType;\n\n /**\n * Define if a item node is expanded on click interaction. If false item-node will only be expanded on double click.\n */\n @Prop() readonly expandOnClick: boolean = true;\n\n /**\n * Callback emitted when the items checked items change\n */\n @Prop() readonly checkedChanged?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Callback emitted when the 'select' button is pressed\n */\n @Prop() readonly confirmCallback?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback)\n */\n @Prop() readonly dialogActions: DialogAction[] = [];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Callback to load the items list model\n */\n @Prop() readonly loadItemsCallback!: () => Promise<ItemNode[]>;\n\n /**\n * Used to define if the component must show the \"Toggle Checkboxes\" option or not\n */\n @Prop() readonly showToggleCheckboxes: boolean = true;\n\n /**\n * This define if the selection is unique or not\n */\n @Prop() readonly multiSelection?: boolean = false;\n\n /**\n * This define if the checks are unique or not\n */\n @Prop() readonly singleChecks?: boolean = false;\n\n /**\n * Used to define if the component must show the \"Active item\" link or not\n */\n @Prop() readonly showActiveItemLink?: boolean = false;\n\n /**\n * Defines whether to show a loader while loading items\n */\n @Prop() readonly useLoader?: boolean = true;\n\n /**\n * Callback emitted when the items selection change\n */\n @Prop() readonly selectionChanged?: (selectedItem: string[]) => Promise<void>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.toggleCheckboxes = this.showToggleCheckboxes;\n this.#viewItemsAsModel = [\n { value: VIEW_AS_TREE_ID, caption: this.#_componentLocale.main.tree },\n { value: VIEW_AS_LIST_ID, caption: \"List\" }\n ];\n this.renderFooter =\n this.dialogActions.length > 0 ||\n !!this.cancelCallback ||\n !!this.confirmCallback;\n\n this.#loadItems();\n }\n\n @Method()\n async reloadItems() {\n await this.#loadItems();\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Allow to update the selected items\n */\n @Method()\n async updateSelection(selectedItemsIds: string[]) {\n // first clear selected\n this.#treeViewRenderEl.updateItemsProperties(this.#selectedNodesIds, {\n selected: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(selectedItemsIds, {\n selected: true\n });\n }\n\n /**\n * Allow to update the checked items\n */\n @Method()\n async updateCheckedItems(checkedItemsIds: string[]) {\n // first clear checks\n this.#treeViewRenderEl.updateItemsProperties(this.checkedNodesIds, {\n checked: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(checkedItemsIds, {\n checked: true\n });\n this.checkedNodesIds = checkedItemsIds;\n }\n\n async #loadItems() {\n try {\n this.loading = true;\n this.itemsList = await this.loadItemsCallback();\n this.#updateViews(this.itemsList);\n // Check and update activeItem\n this.activeItemNode = findFirstActiveNode(this.itemsList);\n } catch (error) {\n console.error(\"Error loading items:\", error);\n } finally {\n this.loading = false;\n }\n }\n\n #cancelHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #checkedItemsChangeHandler = async (\n e: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n let checkedNodesIds: string[] = [];\n e.detail.forEach(node => {\n if (node.item.checked) {\n checkedNodesIds.push(node.item.id);\n }\n });\n\n if (this.singleChecks) {\n // Detect the last change by comparing previous and new state\n let lastCheckedId: string | null = null;\n // If there are more in the new state, it was a check; if less, it was an uncheck\n if (checkedNodesIds.length > this.checkedNodesIds.length) {\n // Find the newly checked item\n lastCheckedId =\n checkedNodesIds.find(id => !this.checkedNodesIds.includes(id)) ||\n null;\n } else if (checkedNodesIds.length < this.checkedNodesIds.length) {\n // Find the unchecked item (not used in single check, but kept for clarity)\n lastCheckedId =\n this.checkedNodesIds.find(id => !checkedNodesIds.includes(id)) ||\n null;\n }\n\n // Only allow one if multiChecks is false\n if (this.singleChecks && checkedNodesIds.length > 1) {\n // If we detected the last checked, keep it; otherwise, keep the first\n checkedNodesIds = lastCheckedId\n ? [lastCheckedId]\n : [checkedNodesIds[0]];\n // Uncheck the others\n this.#treeViewRenderEl.updateItemsProperties(\n Array.from(e.detail.keys()).filter(id => id !== checkedNodesIds[0]),\n { checked: false }\n );\n }\n }\n\n this.checkedNodesIds = checkedNodesIds;\n this.#updatedModelList = checkItems(this.itemsList, this.checkedNodesIds);\n\n if (this.checkedChanged) {\n this.checkedChanged(this.checkedNodesIds);\n }\n };\n\n #confirmHandler = () => {\n if (this.confirmCallback) {\n this.confirmCallback(this.checkedNodesIds);\n }\n };\n\n #contextMenuHandler = async (\n e: CustomEvent<{\n id: string;\n itemRef: HTMLChTreeViewItemElement;\n metadata: string;\n contextmenuEvent: PointerEvent;\n }>\n ) => {\n if (this.itemContextMenuCallback) {\n let info: ContextMenuInfo;\n const isSelected = this.#selectedNodesIds.find(id => id === e.detail.id);\n if (!this.#selectedNodesIds.length || !isSelected) {\n await this.#treeViewRenderEl.updateItemsProperties(\n this.#selectedNodesIds,\n { selected: false }\n );\n await this.#treeViewRenderEl.updateItemsProperties([e.detail.id], {\n selected: true\n });\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: [e.detail.id]\n };\n } else {\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: this.#selectedNodesIds\n };\n }\n this.itemContextMenuCallback(info);\n }\n };\n\n #executeDialogAction = (\n callback: (checkedNodesIds: string[], selectedNodesIds: string[]) => void\n ) => {\n return () => {\n callback(this.checkedNodesIds, this.#selectedNodesIds);\n };\n };\n\n #patternSearchValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.searchPatternValue = event.detail.toString();\n };\n\n #renderActionButtons = (): HTMLElement[] => {\n return (\n <div>\n {this.dialogActions.map(action => {\n return (\n <button\n class={\"button-tertiary\"}\n part={`button button-${action.name}`}\n onClick={this.#executeDialogAction(action.callback)}\n disabled={this.loading}\n >\n {action.name}\n </button>\n );\n })}\n </div>\n );\n };\n\n #renderFooter = (): HTMLElement => {\n return (\n <footer class=\"footer dialog-footer-with-border spacing-body-inline spacing-body-block-end dialog-footer-space-between\">\n {this.#renderActionButtons()}\n <div class=\"buttons-spacer \">\n {this.cancelCallback && (\n <button\n class={\"button-secondary\"}\n part={\"cancel-button\"}\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n )}\n {this.confirmCallback && (\n <button\n class={\"button-primary\"}\n part={\"confirm-button\"}\n onClick={this.#confirmHandler}\n disabled={this.loading || this.checkedNodesIds?.length === 0}\n >\n {this.#_componentLocale.footer.select}\n </button>\n )}\n </div>\n </footer>\n );\n };\n\n #selectedItemsChangeHandler = (\n e: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n const selectedNodesIds: string[] = [];\n unselectAllNodes(this.itemsList);\n e.detail.forEach(node => {\n selectedNodesIds.push(node.item.id);\n });\n this.#selectedNodesIds = selectedNodesIds;\n if (this.selectionChanged) {\n this.selectionChanged(this.#selectedNodesIds);\n }\n\n this.#updatedModelList = selectItems(this.itemsList, selectedNodesIds);\n };\n\n #toggleAndSelectNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsSelected = selectItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(newItemsSelected, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #toggleCheckedNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(this.itemsList, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #updateViews = (newItemsList: ItemNode[]) => {\n this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n\n this.nodeListFlattenedTreeModel =\n convertItemsNodeListToFlattenedTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n };\n\n #viewItemsAsChangedHandler = async (event: CustomEvent<string>) => {\n const selectedViewType = event.detail as NodesVersionsViewType;\n this.nodesVersionsViewType = selectedViewType;\n if (this.nodesVersionsViewType === \"tree\") {\n await this.#toggleAndSelectNodesInModelItems(this.#selectedNodesIds);\n await this.#toggleCheckedNodesInModelItems(this.checkedNodesIds);\n }\n this.#updateViews(this.#updatedModelList);\n };\n\n #toggleCheckboxesChangedHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n this.toggleCheckboxes = event.detail === TOGGLE_CHECKBOXES_CHECKED_VALUE;\n };\n\n #scrollIntoActiveVersionNode = async () => {\n const doScrollIntoView =\n this.#treeViewRenderEl && this.activeItemNode?.path;\n if (doScrollIntoView) {\n await this.#treeViewRenderEl.scrollIntoVisible(this.activeItemNode.path);\n }\n\n if (this.activeItemCallback) {\n await this.activeItemCallback();\n }\n };\n\n render() {\n return (\n <Host class={{ \"widget\": true, \"has-footer\": this.renderFooter }}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section\">\n <header\n part=\"header\"\n class=\"header dialog-header field-group spacing-body-block-start spacing-body-inline\"\n >\n <div class=\"header__first-row field-group\">\n <div class=\"field field-inline\">\n <span>\n {/*\n WA: this span prevents field-inline applying padding-block-start on the label\n TODO: See how to ignore padding-block-start when using field-inline with a control\n that is not an input, combo-box, etc..\n */}\n <label class=\"label\" htmlFor=\"view-mode\">\n Select view mode:\n </label>\n </span>\n <ch-radio-group-render\n class=\"radio-group dummy-control-block-size\"\n id=\"view-mode\"\n model={this.#viewItemsAsModel}\n onChange={this.#viewItemsAsChangedHandler}\n value={this.#viewItemsAsModel[0].value}\n ></ch-radio-group-render>\n </div>\n\n {this.checkboxType !== \"none\" && this.showToggleCheckboxes && (\n <ch-checkbox\n class=\"checkbox dummy-control-block-size\"\n caption=\"Toggle Checkboxes\"\n id=\"toggle-checkboxes\"\n checkedValue={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n value={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n onInput={this.#toggleCheckboxesChangedHandler}\n ></ch-checkbox>\n )}\n </div>\n\n <div\n class={{\n \"field-group\": true,\n \"header__second-row\": true,\n \"header__second-row--one-row\": !this.showActiveItemLink\n }}\n >\n <ch-edit\n class=\"input\"\n placeholder={\n this.#_componentLocale.header.searchPatternPlaceholder\n }\n startImgSrc={SYSTEM_SEARCH_ICON}\n onInput={this.#patternSearchValueChangedHandler}\n accessibleName=\"search pattern\"\n ></ch-edit>\n {this.activeItemNode && this.showActiveItemLink && (\n <div class=\"active-item\">\n <span\n class=\"active-item__icon-container\"\n // make this span the icon container, to prevent icon state changes when\n // interacting with div.active-item\n >\n <ch-image\n class=\"icon-m active-item__icon\"\n src={\n this.activeItemNode.iconStart ||\n ACTIVE_ITEM_DEFAULT_ICON\n }\n containerRef={null}\n ></ch-image>\n </span>\n {this.#_componentLocale.header.activeItem}\n <button\n class=\"active-item__link\"\n onClick={this.#scrollIntoActiveVersionNode}\n >\n {this.activeItemNode.caption}\n </button>\n </div>\n )}\n </div>\n </header>\n\n <div class=\"spacing-body-inline-start trees\">\n {this.useLoader && this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <ch-tree-view-render\n class=\"tree-view\"\n model={\n this.nodesVersionsViewType === \"tree\"\n ? this.nodeVersionsListTreeModel\n : this.nodeListFlattenedTreeModel\n }\n show-lines={\n this.nodesVersionsViewType === \"tree\" ? \"all\" : \"none\"\n }\n expandableButton={\n this.nodesVersionsViewType === \"tree\" ? \"decorative\" : \"no\"\n }\n onItemContextmenu={this.#contextMenuHandler}\n onCheckedItemsChange={this.#checkedItemsChangeHandler}\n onSelectedItemsChange={this.#selectedItemsChangeHandler}\n expandOnClick={this.expandOnClick}\n multiSelection={this.multiSelection}\n filter={this.searchPatternValue}\n filterType=\"caption\"\n toggleCheckboxes={this.toggleCheckboxes}\n ref={(el: HTMLChTreeViewRenderElement) => {\n this.#treeViewRenderEl = el as HTMLChTreeViewRenderElement;\n }}\n ></ch-tree-view-render>\n )}\n </div>\n {this.renderFooter && this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type CheckboxType = \"none\" | \"all\" | \"leaf\" | \"custom\";\n\nexport type DialogAction = {\n name: string;\n callback: DialogActionCallback;\n};\n\nexport type DialogActionCallback = (...args: any[]) => void;\n\nexport type ItemCommon = {\n icon: string;\n expanded: boolean;\n};\n\nexport type ItemNode = {\n active?: boolean;\n checkbox?: boolean;\n checked?: boolean;\n expanded?: boolean;\n iconStart?: string;\n iconEnd?: string;\n id: string;\n name: string;\n guid?: string;\n nodes?: ItemNode[];\n parts?: string;\n selected?: boolean;\n type?: ItemType;\n order?: number;\n};\n\nexport type ActiveNode = {\n caption: string;\n iconStart?: string;\n path: string[]; // for using the scrollIntoVisible method of the tree-view-render\n};\n\nexport type ItemType = {\n id: string;\n name: string;\n};\n\ntype NodesVersionsViewType = \"tree\" | \"list\";\n"],"version":3}
|
|
1
|
+
{"file":"select-kb-items.js","mappings":"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","names":[],"sources":["src/components/select-kb-items/helpers.tsx","src/components/select-kb-items/select-kb-items.scss?tag=gx-ide-select-kb-items&encapsulation=shadow","src/components/select-kb-items/select-kb-items.tsx"],"sourcesContent":["import { ItemNode, CheckboxType, ActiveNode } from \"./select-kb-items\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { getIconPath } from \"@genexus/mercury\";\n\nexport const ACTIVE_ITEM_DEFAULT_ICON = getIconPath({\n category: \"system\",\n name: \"check-circle\",\n colorType: \"primary\"\n});\n\nexport const convertItemsNodeListToFlattenedTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListFlattenedTreeViewModel: TreeViewItemModel[] = [];\n\n const processNode = (item: ItemNode) => {\n const startImgSrc =\n item.active && !item.iconStart\n ? ACTIVE_ITEM_DEFAULT_ICON\n : item.iconStart;\n const leaf = !item.nodes?.length;\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const metaData = JSON.stringify({\n versionType: item.type\n });\n itemsListFlattenedTreeViewModel.push({\n caption: item.name,\n checkbox: checkbox,\n checked: item.checked,\n startImgSrc: startImgSrc,\n endImgSrc: item.iconEnd,\n expanded: item.expanded,\n id: item.id.toString(),\n items: null,\n leaf: leaf,\n metadata: metaData,\n parts: item.parts,\n selected: item.selected,\n order: item.order\n });\n\n if (item.nodes) {\n item.nodes.forEach(childNode => processNode(childNode));\n }\n };\n\n itemsList.forEach(item => processNode(item));\n return itemsListFlattenedTreeViewModel;\n};\n\nexport const convertItemsListToTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListTreeViewModel: TreeViewItemModel[] = [];\n itemsList.forEach(item => {\n const startImgSrc =\n item.active && !item.iconStart\n ? ACTIVE_ITEM_DEFAULT_ICON\n : item.iconStart;\n const leaf = !item.nodes?.length;\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const expanded = item.expanded;\n const iconStart = startImgSrc;\n const iconEnd = item.iconEnd;\n const metaData = JSON.stringify({\n versionType: item.type\n });\n const order = parseInt(item.id);\n itemsListTreeViewModel.push({\n caption: item.name,\n checkbox: checkbox,\n checked: item.checked,\n startImgSrc: iconStart,\n endImgSrc: iconEnd,\n expanded: expanded,\n id: item.id.toString(),\n items: !leaf\n ? convertItemsListToTreeViewModel(item.nodes, checkboxType)\n : null,\n leaf: leaf,\n metadata: metaData,\n parts: item.parts,\n order: order,\n selected: item.selected\n });\n });\n\n return itemsListTreeViewModel;\n};\n\nconst findItemNode = (id: string, item: ItemNode): ItemNode | null => {\n if (item.id === id) {\n return item;\n }\n\n if (item.nodes) {\n for (const itemNode of item.nodes) {\n const result = findItemNode(id, itemNode);\n if (result) {\n return result;\n }\n }\n }\n return null;\n};\n\nfunction findItemInArray(itemsNodes: ItemNode[], id: string): ItemNode | null {\n for (const item of itemsNodes) {\n const result = findItemNode(id, item);\n if (result) {\n return result;\n }\n }\n return null;\n}\nconst setAllLeafsCheckedFalse = (itemsList: ItemNode[]): ItemNode[] => {\n const uncheck = (itemNode: ItemNode) => {\n itemNode.checked = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => uncheck(childNode));\n }\n };\n\n itemsList.forEach(item => uncheck(item));\n return itemsList;\n};\n\nexport const unselectAllNodes = (itemsList: ItemNode[]) => {\n const unselect = (itemNode: ItemNode) => {\n itemNode.selected = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => unselect(childNode));\n }\n };\n\n itemsList.forEach(item => unselect(item));\n};\n\nexport const checkItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n setAllLeafsCheckedFalse(itemsList);\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.checked = true;\n }\n });\n\n return itemsList;\n};\n\nexport const expandItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.expanded = true;\n }\n });\n\n return itemsList;\n};\n\nexport const selectItems = (\n itemsList: ItemNode[],\n idsSelected: string[]\n): ItemNode[] => {\n idsSelected.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.selected = true;\n }\n });\n return itemsList;\n};\n\nfunction searchInNode(item: ItemNode, id: string): string[] | null {\n // If the current node is the searched node, we return an empty list (it has no parents in this branch)\n if (item.id === id) {\n return [];\n }\n\n // We traverse each child looking for the target node\n if (item.nodes?.length) {\n for (const node of item.nodes) {\n const parents = searchInNode(node, id);\n if (parents !== null) {\n // If we find it, we include the current node at the beginning of the path and return\n return [item.id, ...parents];\n }\n }\n }\n return null;\n}\n\nexport const searchParentsItems = (\n items: ItemNode[],\n ids: string[]\n): string[] | null => {\n const parents: string[] = [];\n for (const id of ids) {\n for (const rootItem of items) {\n const results = searchInNode(rootItem, id);\n if (results !== null) {\n results.forEach(result => {\n parents.push(result);\n });\n }\n }\n }\n return parents;\n};\n\n/**\n * Recursively searches for the first node with the active=true property\n * @param nodes Array of nodes to search through\n * @returns An object with caption, iconStart, and path to the first active node found, or null if none is found\n */\nexport const findFirstActiveNode = (nodes: ItemNode[]): ActiveNode | null => {\n // Helper function that keeps track of the path during recursion\n const findActiveWithPath = (\n nodeList: ItemNode[],\n currentPath: string[] = []\n ): ActiveNode | null => {\n // Base case: if nodes is undefined or empty\n if (!nodeList || nodeList.length === 0) {\n return null;\n }\n\n // Iterate through each node in the array\n for (const node of nodeList) {\n // Create a new path that includes the current node\n const nodePath = [...currentPath, node.id];\n\n // Check if the current node is active\n if (node.active === true) {\n return {\n caption: node.name,\n iconStart: node.iconStart,\n path: nodePath\n };\n }\n\n // If the node has children, search through them with the updated path\n if (node.nodes && node.nodes.length > 0) {\n const result = findActiveWithPath(node.nodes, nodePath);\n // If we find an active node in this subtree, return it immediately\n if (result !== null) {\n return result;\n }\n }\n }\n\n // No active node found in any of the nodes\n return null;\n };\n\n // Start the search with an empty path\n return findActiveWithPath(nodes);\n};\n","@import \"../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n --search-input-max-inline-size: 400px;\n display: grid;\n block-size: 100%;\n}\n:host(:not(.has-footer)) {\n grid-template-rows: max-content 1fr;\n}\n:host(.has-footer) {\n grid-template-rows: max-content 1fr max-content;\n}\n\n.header.has-active-item {\n grid-area: header;\n}\n\n.section {\n display: contents;\n}\n\n// header\n.header {\n &__first-row,\n &__second-row {\n display: grid;\n grid-auto-flow: column;\n }\n &__first-row {\n grid-auto-columns: max-content;\n }\n &__second-row {\n grid-template-columns:\n minmax(150px, var(--search-input-max-inline-size))\n max-content;\n\n &--one-row {\n grid-template-columns: minmax(150px, var(--search-input-max-inline-size));\n }\n }\n}\n\n.active-item {\n background-color: var(--color-accent-surface-elevation-1);\n border-radius: 4px;\n padding: var(--control-padding-block) var(--control-padding-inline);\n display: flex;\n align-items: center;\n gap: var(--spacing-gap-m);\n}\n.active-item {\n &__icon-container {\n display: contents;\n }\n &__icon {\n pointer-events: none; // We do not want the icon to change the colors, since the clickable area is the caption only\n }\n &__link {\n text-decoration: underline;\n // TODO: There should be a class in Merucry to apply link styles\n color: var(--color-text-primary-default);\n cursor: pointer;\n &:hover {\n color: var(--color-text-primary-hover);\n }\n &:active {\n color: var(--color-text-primary-pressed);\n }\n }\n}\n\n.trees {\n position: relative;\n}\n","import {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Method\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n\nimport {\n checkItems,\n convertItemsListToTreeViewModel,\n convertItemsNodeListToFlattenedTreeViewModel,\n expandItems,\n searchParentsItems,\n selectItems,\n unselectAllNodes,\n findFirstActiveNode\n} from \"./helpers\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ContextMenuInfo } from \"../../common/types\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nimport { ACTIVE_ITEM_DEFAULT_ICON } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/tooltip\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst SYSTEM_SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\nconst VIEW_AS_TREE_ID: NodesVersionsViewType = \"tree\";\nconst VIEW_AS_LIST_ID: NodesVersionsViewType = \"list\";\n\nconst TOGGLE_CHECKBOXES_CHECKED_VALUE = \"on\";\n\n@Component({\n tag: \"gx-ide-select-kb-items\",\n styleUrl: \"select-kb-items.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-kb-items\"]\n})\nexport class GxIdeSelectKbItems {\n #_componentLocale: any;\n #chShortcutsEl: HTMLChShortcutsElement;\n #selectedNodesIds: string[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/select-kb-items/shortcuts.json`\n );\n #updatedModelList: ItemNode[] = [];\n #viewItemsAsModel: RadioGroupItemModel[];\n #treeViewRenderEl: HTMLChTreeViewRenderElement;\n\n @Element() el: HTMLGxIdeSelectKbItemsElement;\n\n /**\n * Represents the active version node caption and icon (if any)\n */\n @State() activeItemNode: ActiveNode;\n\n /**\n * Represents the selected nodes ids\n */\n @State() checkedNodesIds: string[] = [];\n\n /**\n * If true, the footer will be rendered\n */\n @State() renderFooter: boolean = false;\n\n /**\n * Represents the nodes list model\n */\n @State() nodeListFlattenedTreeModel: TreeViewItemModel[] = [];\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * View type for the nodes.\n */\n @State() nodesVersionsViewType: NodesVersionsViewType = \"tree\";\n\n /**\n * Represents the nodes tree model\n */\n @State() nodeVersionsListTreeModel: TreeViewItemModel[] = [];\n\n /**\n * \"Search Pattern\" input value, used to filter the nodes tree/list.\n */\n @State() searchPatternValue: string = null;\n\n /**\n * It maps to the ch-tree-view-render \"toggleCheckboxes\" property.\n */\n @State() toggleCheckboxes: boolean;\n\n /**\n * Represents the itemLis list model\n */\n @State() itemsList: ItemNode[] = [];\n\n /**\n * Callback emitted when the user clicks on the \"Active item\"\n */\n @Prop() readonly activeItemCallback?: () => Promise<void>;\n\n /**\n * Callback emitted when the 'cancel' button is pressed\n */\n @Prop() readonly cancelCallback?: () => Promise<void>;\n\n /**\n * Defines which nodes of the component have checkboxes.\n */\n @Prop() readonly checkboxType: CheckboxType;\n\n /**\n * Define if a item node is expanded on click interaction. If false item-node will only be expanded on double click.\n */\n @Prop() readonly expandOnClick: boolean = true;\n\n /**\n * Callback emitted when the items checked items change\n */\n @Prop() readonly checkedChanged?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Callback emitted when the 'select' button is pressed\n */\n @Prop() readonly confirmCallback?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback)\n */\n @Prop() readonly dialogActions: DialogAction[] = [];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Callback to load the items list model\n */\n @Prop() readonly loadItemsCallback!: () => Promise<ItemNode[]>;\n\n /**\n * Used to define if the component must show the \"Toggle Checkboxes\" option or not\n */\n @Prop() readonly showToggleCheckboxes: boolean = true;\n\n /**\n * This define if the selection is unique or not\n */\n @Prop() readonly multiSelection?: boolean = false;\n\n /**\n * This define if the checks are unique or not\n */\n @Prop() readonly singleChecks?: boolean = false;\n\n /**\n * Used to define if the component must show the \"Active item\" link or not\n */\n @Prop() readonly showActiveItemLink?: boolean = false;\n\n /**\n * Defines whether to show a loader while loading items\n */\n @Prop() readonly useLoader?: boolean = true;\n\n /**\n * Callback emitted when the items selection change\n */\n @Prop() readonly selectionChanged?: (selectedItem: string[]) => Promise<void>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.toggleCheckboxes = this.showToggleCheckboxes;\n this.#viewItemsAsModel = [\n { value: VIEW_AS_TREE_ID, caption: this.#_componentLocale.main.tree },\n { value: VIEW_AS_LIST_ID, caption: \"List\" }\n ];\n this.renderFooter =\n this.dialogActions.length > 0 ||\n !!this.cancelCallback ||\n !!this.confirmCallback;\n\n this.#loadItems();\n }\n\n @Method()\n async reloadItems() {\n await this.#loadItems();\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Allow to update the selected items\n */\n @Method()\n async updateSelection(selectedItemsIds: string[]) {\n // first clear selected\n this.#treeViewRenderEl.updateItemsProperties(this.#selectedNodesIds, {\n selected: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(selectedItemsIds, {\n selected: true\n });\n }\n\n /**\n * Allow to update the checked items\n */\n @Method()\n async updateCheckedItems(checkedItemsIds: string[]) {\n // first clear checks\n this.#treeViewRenderEl.updateItemsProperties(this.checkedNodesIds, {\n checked: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(checkedItemsIds, {\n checked: true\n });\n this.checkedNodesIds = checkedItemsIds;\n }\n\n async #loadItems() {\n try {\n this.loading = true;\n this.itemsList = await this.loadItemsCallback();\n this.#updateViews(this.itemsList);\n // Check and update activeItem\n this.activeItemNode = findFirstActiveNode(this.itemsList);\n } catch (error) {\n console.error(\"Error loading items:\", error);\n } finally {\n this.loading = false;\n }\n }\n\n #cancelHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #checkedItemsChangeHandler = async (\n e: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n let checkedNodesIds: string[] = [];\n e.detail.forEach(node => {\n if (node.item.checked) {\n checkedNodesIds.push(node.item.id);\n }\n });\n\n if (this.singleChecks) {\n // Detect the last change by comparing previous and new state\n let lastCheckedId: string | null = null;\n // If there are more in the new state, it was a check; if less, it was an uncheck\n if (checkedNodesIds.length > this.checkedNodesIds.length) {\n // Find the newly checked item\n lastCheckedId =\n checkedNodesIds.find(id => !this.checkedNodesIds.includes(id)) ||\n null;\n } else if (checkedNodesIds.length < this.checkedNodesIds.length) {\n // Find the unchecked item (not used in single check, but kept for clarity)\n lastCheckedId =\n this.checkedNodesIds.find(id => !checkedNodesIds.includes(id)) ||\n null;\n }\n\n // Only allow one if multiChecks is false\n if (this.singleChecks && checkedNodesIds.length > 1) {\n // If we detected the last checked, keep it; otherwise, keep the first\n checkedNodesIds = lastCheckedId\n ? [lastCheckedId]\n : [checkedNodesIds[0]];\n // Uncheck the others\n this.#treeViewRenderEl.updateItemsProperties(\n Array.from(e.detail.keys()).filter(id => id !== checkedNodesIds[0]),\n { checked: false }\n );\n }\n }\n\n this.checkedNodesIds = checkedNodesIds;\n this.#updatedModelList = checkItems(this.itemsList, this.checkedNodesIds);\n\n if (this.checkedChanged) {\n this.checkedChanged(this.checkedNodesIds);\n }\n };\n\n #confirmHandler = () => {\n if (this.confirmCallback) {\n this.confirmCallback(this.checkedNodesIds);\n }\n };\n\n #contextMenuHandler = async (\n e: CustomEvent<{\n id: string;\n itemRef: HTMLChTreeViewItemElement;\n metadata: string;\n contextmenuEvent: PointerEvent;\n }>\n ) => {\n if (this.itemContextMenuCallback) {\n let info: ContextMenuInfo;\n const isSelected = this.#selectedNodesIds.find(id => id === e.detail.id);\n if (!this.#selectedNodesIds.length || !isSelected) {\n await this.#treeViewRenderEl.updateItemsProperties(\n this.#selectedNodesIds,\n { selected: false }\n );\n await this.#treeViewRenderEl.updateItemsProperties([e.detail.id], {\n selected: true\n });\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: [e.detail.id]\n };\n } else {\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: this.#selectedNodesIds\n };\n }\n this.itemContextMenuCallback(info);\n }\n };\n\n #executeDialogAction = (\n callback: (checkedNodesIds: string[], selectedNodesIds: string[]) => void\n ) => {\n return () => {\n callback(this.checkedNodesIds, this.#selectedNodesIds);\n };\n };\n\n #patternSearchValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.searchPatternValue = event.detail.toString();\n };\n\n #renderActionButtons = (): HTMLElement[] => {\n return (\n <div>\n {this.dialogActions.map(action => {\n return (\n <button\n class={\"button-tertiary\"}\n part={`button button-${action.name}`}\n onClick={this.#executeDialogAction(action.callback)}\n disabled={this.loading}\n >\n {action.name}\n </button>\n );\n })}\n </div>\n );\n };\n\n #renderFooter = (): HTMLElement => {\n return (\n <footer class=\"footer dialog-footer-with-border spacing-body-inline spacing-body-block-end dialog-footer-space-between\">\n {this.#renderActionButtons()}\n <div class=\"buttons-spacer \">\n {this.cancelCallback && (\n <button\n class={\"button-secondary\"}\n part={\"cancel-button\"}\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n )}\n {this.confirmCallback && (\n <button\n class={\"button-primary\"}\n part={\"confirm-button\"}\n onClick={this.#confirmHandler}\n disabled={this.loading || this.checkedNodesIds?.length === 0}\n >\n {this.#_componentLocale.footer.select}\n </button>\n )}\n </div>\n </footer>\n );\n };\n\n #selectedItemsChangeHandler = (\n e: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n const selectedNodesIds: string[] = [];\n unselectAllNodes(this.itemsList);\n e.detail.forEach(node => {\n selectedNodesIds.push(node.item.id);\n });\n this.#selectedNodesIds = selectedNodesIds;\n if (this.selectionChanged) {\n this.selectionChanged(this.#selectedNodesIds);\n }\n\n this.#updatedModelList = selectItems(this.itemsList, selectedNodesIds);\n };\n\n #toggleAndSelectNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsSelected = selectItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(newItemsSelected, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #toggleCheckedNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(this.itemsList, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #updateViews = (newItemsList: ItemNode[]) => {\n this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n\n this.nodeListFlattenedTreeModel =\n convertItemsNodeListToFlattenedTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n };\n\n #viewItemsAsChangedHandler = async (event: CustomEvent<string>) => {\n const selectedViewType = event.detail as NodesVersionsViewType;\n this.nodesVersionsViewType = selectedViewType;\n if (this.nodesVersionsViewType === \"tree\") {\n await this.#toggleAndSelectNodesInModelItems(this.#selectedNodesIds);\n await this.#toggleCheckedNodesInModelItems(this.checkedNodesIds);\n }\n this.#updateViews(this.#updatedModelList);\n };\n\n #toggleCheckboxesChangedHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n this.toggleCheckboxes = event.detail === TOGGLE_CHECKBOXES_CHECKED_VALUE;\n };\n\n #scrollIntoActiveVersionNode = async () => {\n const doScrollIntoView =\n this.#treeViewRenderEl && this.activeItemNode?.path;\n if (doScrollIntoView) {\n await this.#treeViewRenderEl.scrollIntoVisible(this.activeItemNode.path);\n }\n\n if (this.activeItemCallback) {\n await this.activeItemCallback();\n }\n };\n\n render() {\n return (\n <Host class={{ \"widget\": true, \"has-footer\": this.renderFooter }}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section\">\n <header\n part=\"header\"\n class=\"header dialog-header field-group spacing-body-block-start spacing-body-inline\"\n >\n <div class=\"header__first-row field-group\">\n <div class=\"field field-inline\">\n <span>\n {/*\n WA: this span prevents field-inline applying padding-block-start on the label\n TODO: See how to ignore padding-block-start when using field-inline with a control\n that is not an input, combo-box, etc..\n */}\n <label class=\"label\" htmlFor=\"view-mode\">\n Select view mode:\n </label>\n </span>\n <ch-radio-group-render\n class=\"radio-group dummy-control-block-size\"\n id=\"view-mode\"\n model={this.#viewItemsAsModel}\n onChange={this.#viewItemsAsChangedHandler}\n value={this.#viewItemsAsModel[0].value}\n ></ch-radio-group-render>\n </div>\n\n {this.checkboxType !== \"none\" && this.showToggleCheckboxes && (\n <ch-checkbox\n class=\"checkbox dummy-control-block-size\"\n caption=\"Toggle Checkboxes\"\n id=\"toggle-checkboxes\"\n checkedValue={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n value={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n onInput={this.#toggleCheckboxesChangedHandler}\n ></ch-checkbox>\n )}\n </div>\n\n <div\n class={{\n \"field-group\": true,\n \"header__second-row\": true,\n \"header__second-row--one-row\": !this.showActiveItemLink\n }}\n >\n <ch-edit\n class=\"input\"\n placeholder={\n this.#_componentLocale.header.searchPatternPlaceholder\n }\n startImgSrc={SYSTEM_SEARCH_ICON}\n onInput={this.#patternSearchValueChangedHandler}\n accessibleName=\"search pattern\"\n ></ch-edit>\n {this.activeItemNode && this.showActiveItemLink && (\n <div class=\"active-item\">\n <span\n class=\"active-item__icon-container\"\n // make this span the icon container, to prevent icon state changes when\n // interacting with div.active-item\n >\n <ch-image\n class=\"icon-m active-item__icon\"\n src={\n this.activeItemNode.iconStart ||\n ACTIVE_ITEM_DEFAULT_ICON\n }\n containerRef={null}\n ></ch-image>\n </span>\n {this.#_componentLocale.header.activeItem}\n <button\n class=\"active-item__link\"\n onClick={this.#scrollIntoActiveVersionNode}\n >\n {this.activeItemNode.caption}\n </button>\n </div>\n )}\n </div>\n </header>\n\n <div class=\"spacing-body-inline-start trees\">\n {this.useLoader && this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <ch-tree-view-render\n class=\"tree-view\"\n model={\n this.nodesVersionsViewType === \"tree\"\n ? this.nodeVersionsListTreeModel\n : this.nodeListFlattenedTreeModel\n }\n show-lines={\n this.nodesVersionsViewType === \"tree\" ? \"all\" : \"none\"\n }\n expandableButton={\n this.nodesVersionsViewType === \"tree\" ? \"decorative\" : \"no\"\n }\n onItemContextmenu={this.#contextMenuHandler}\n onCheckedItemsChange={this.#checkedItemsChangeHandler}\n onSelectedItemsChange={this.#selectedItemsChangeHandler}\n expandOnClick={this.expandOnClick}\n multiSelection={this.multiSelection}\n filter={this.searchPatternValue}\n filterType=\"caption\"\n toggleCheckboxes={this.toggleCheckboxes}\n ref={(el: HTMLChTreeViewRenderElement) => {\n this.#treeViewRenderEl = el as HTMLChTreeViewRenderElement;\n }}\n ></ch-tree-view-render>\n )}\n </div>\n {this.renderFooter && this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type CheckboxType = \"none\" | \"all\" | \"leaf\" | \"custom\";\n\nexport type DialogAction = {\n name: string;\n callback: DialogActionCallback;\n};\n\nexport type DialogActionCallback = (...args: any[]) => void;\n\nexport type ItemCommon = {\n icon: string;\n expanded: boolean;\n};\n\nexport type ItemNode = {\n active?: boolean;\n checkbox?: boolean;\n checked?: boolean;\n expanded?: boolean;\n iconStart?: string;\n iconEnd?: string;\n id: string;\n name: string;\n guid?: string;\n nodes?: ItemNode[];\n parts?: string;\n selected?: boolean;\n type?: ItemType;\n order?: number;\n};\n\nexport type ActiveNode = {\n caption: string;\n iconStart?: string;\n path: string[]; // for using the scrollIntoVisible method of the tree-view-render\n};\n\nexport type ItemType = {\n id: string;\n name: string;\n};\n\ntype NodesVersionsViewType = \"tree\" | \"list\";\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as registerInstance, g as getAssetPath, h, H as Host, a as getElement } from './index-b153bfd0.js';
|
|
2
2
|
import { L as Locale } from './locale-e5107fad.js';
|
|
3
3
|
|
|
4
|
-
const aboutCss = ":host{--spacing-body-block-start:24px;--spacing-body-block-end:24px;--spacing-body-inline-start:16px;--spacing-body-inline-end:16px;display:grid;inline-size:100%;block-size:100%;gap:var(--spacing-gap-xl);overflow:auto;grid-template-rows:max-content 1fr max-content;background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-2));color:var(--color-text-neutral-default);text-align:center}.section{display:contents}.header{display:flex;flex-direction:column;gap:var(--spacing-gap-m)}.main{overflow:auto;display:grid;grid-template-rows:1fr max-content;gap:var(--spacing-gap-xxl)}.logo__container{display:flex;flex-direction:column;gap:var(--spacing-gap-l);align-items:center;margin:unset}.logo__img{inline-size:28px;block-size:28px}.logotype{color:var(--color-text-neutral-default)}.versions__container{overflow:hidden;border:1px solid var(--color-border-surface-on-elevation-1);border-radius:4px;display:grid;grid-template-rows:1fr max-content;inline-size:100%}.versions__container button{justify-self:center;min-inline-size:72px}.versions__container-footer{padding:14px}.versions__list{overflow:auto;list-style:none;margin:0;padding:14px;display:flex;flex-direction:column;gap:var(--spacing-gap-m)}.link-underlined{text-decoration:underline;color:var(--color-text-neutral-default)}.link-underlined:hover{color:var(--color-text-neutral-hover)}.link-underlined:active{color:var(--color-text-neutral-pressed)}.links-container{display:flex;gap:var(--spacing-gap-m)}.footer{display:flex;align-items:center;flex-direction:column;gap:var(--spacing-gap-m);color:var(--color-text-neutral-disabled)}";
|
|
4
|
+
const aboutCss = "button.button-secondary{border-color:var(--color-border-neutral-default)}:host{--spacing-body-block-start:24px;--spacing-body-block-end:24px;--spacing-body-inline-start:16px;--spacing-body-inline-end:16px;display:grid;inline-size:100%;block-size:100%;gap:var(--spacing-gap-xl);overflow:auto;grid-template-rows:max-content 1fr max-content;background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-2));color:var(--color-text-neutral-default);text-align:center}.section{display:contents}.header{display:flex;flex-direction:column;gap:var(--spacing-gap-m)}.main{overflow:auto;display:grid;grid-template-rows:1fr max-content;gap:var(--spacing-gap-xxl)}.logo__container{display:flex;flex-direction:column;gap:var(--spacing-gap-l);align-items:center;margin:unset}.logo__img{inline-size:28px;block-size:28px}.logotype{color:var(--color-text-neutral-default)}.versions__container{overflow:hidden;border:1px solid var(--color-border-surface-on-elevation-1);border-radius:4px;display:grid;grid-template-rows:1fr max-content;inline-size:100%}.versions__container button{justify-self:center;min-inline-size:72px}.versions__container-footer{padding:14px}.versions__list{overflow:auto;list-style:none;margin:0;padding:14px;display:flex;flex-direction:column;gap:var(--spacing-gap-m)}.link-underlined{text-decoration:underline;color:var(--color-text-neutral-default)}.link-underlined:hover{color:var(--color-text-neutral-hover)}.link-underlined:active{color:var(--color-text-neutral-pressed)}.links-container{display:flex;gap:var(--spacing-gap-m)}.footer{display:flex;align-items:center;flex-direction:column;gap:var(--spacing-gap-m);color:var(--color-text-neutral-disabled)}";
|
|
5
5
|
|
|
6
6
|
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
7
7
|
if (kind === "a" && !f)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-about.entry.js","mappings":";;;AAAA,MAAM,QAAQ,GAAG,klDAAklD;;;;;;;;;;;;;;;;;;;ACanmD,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,mBAAmB;IACnB,qBAAqB;CACtB,CAAC;MAQW,UAAU;;;QACrB,8CAAsB;QACtB,+BAAY,YAAY,CAAC,4CAA4C,CAAC,EAAC;QAsCvE,0CAAuB;YACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,UAAU,CAAC;gBACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB,EAAE,IAAI,CAAC,CAAC;;YAGT,SAAS,CAAC,SAAS,CAAC,SAAS,CAC3B,GAAG,IAAI,CAAC,UAAU;EACtB,uBAAA,IAAI,mCAAiB,CAAC,0BAA0B,GAAG,IAAI,CAAC,QAAQ;iBACzD,GAAG,CAAC,OAAO,IAAI,KAAK,OAAO,EAAE,CAAC;iBAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;SACH,EAAC;;wBAvCoC,EAAE;;;;uBAoBZ,KAAK;;IAEjC,MAAM,iBAAiB;QACrB,uBAAA,IAAI,+BAAoB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;KACnE;IAiBD,MAAM;QACJ,MAAM,qBAAqB,GACzB,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAChE,MAAM,oBAAoB,GACxB,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAEhE,QACE,EAAC,IAAI,IAAC,KAAK,EAAC,YAAY,IACtB,gBAAU,KAAK,EAAE,WAAW,GAAa,EACzC,eAAS,KAAK,EAAC,SAAS,IACtB,cAAQ,KAAK,EAAC,QAAQ,IACpB,cAAQ,KAAK,EAAC,iBAAiB,IAC7B,WACE,KAAK,EAAC,WAAW,EACjB,GAAG,EAAE,uBAAA,IAAI,4BAAU,EACnB,GAAG,EAAE,uBAAA,IAAI,mCAAiB,CAAC,OAAO,GAClC,EACF,kBAAY,KAAK,EAAC,2BAA2B,mBAEhC,CACN,EACR,IAAI,CAAC,UAAU,KACd,SAAG,KAAK,EAAC,gBAAgB,IACtB,uBAAA,IAAI,mCAAiB,CAAC,WAAW,EAAE,GAAG,EACvC,gBAAO,IAAI,CAAC,UAAU,CAAQ,CAC5B,CACL,CACM,EACT,WAAK,KAAK,EAAC,MAAM,IACd,IAAI,CAAC,QAAQ,CAAC,MAAM,IACnB,WAAK,KAAK,EAAC,iCAAiC,IAC1C,UAAI,KAAK,EAAC,2BAA2B,IAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO;YACxB,OAAO,UAAI,KAAK,EAAC,gBAAgB,IAAE,OAAO,CAAM,CAAC;SAClD,CAAC,CACC,EACL,WAAK,KAAK,EAAC,4BAA4B,IACrC,cACE,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,uBAAA,IAAI,uCAAqB,EAClC,QAAQ,EAAE,IAAI,CAAC,OAAO,IAErB,IAAI,CAAC,OAAO;cACT,uBAAA,IAAI,mCAAiB,CAAC,MAAM;cAC5B,uBAAA,IAAI,mCAAiB,CAAC,IAAI,CAEvB,CACL,CACF,IACJ,IAAI,EAEP,IAAI,CAAC,eAAe,KACnB,cACE,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,eAAe,IAE5B,uBAAA,IAAI,mCAAiB,CAAC,0BAA0B,CAC1C,CACV,CACG,EAEN,cAAQ,KAAK,EAAC,uBAAuB,IAClC,oBAAoB,KACnB,WAAK,KAAK,EAAC,iBAAiB,EAAC,MAAM,EAAE,CAAC,qBAAqB,IACxD,IAAI,CAAC,qBAAqB,KACzB,cACE,KAAK,EAAC,mCAAmC,EACzC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,qBAAqB,IAElC,uBAAA,IAAI,mCAAiB,CAAC,aAAa,CAC7B,CACV,EAEA,qBAAqB,IAAI,GAAG,EAE5B,IAAI,CAAC,0BAA0B,KAC9B,cACE,KAAK,EAAC,mCAAmC,EACzC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,0BAA0B,IAEvC,uBAAA,IAAI,mCAAiB,CAAC,kBAAkB,CAClC,CACV,CACG,CACP,EACA,uBAAA,IAAI,mCAAiB,CAAC,SAAS,CACzB,CACD,CACL,EACP;KACH;;;;;;;;;","names":[],"sources":["src/components/about/about.scss?tag=gx-ide-about&encapsulation=shadow","src/components/about/about.tsx"],"sourcesContent":["$versionsListPadding: 14px;\n\n:host {\n --spacing-body-block-start: 24px;\n --spacing-body-block-end: 24px;\n --spacing-body-inline-start: 16px;\n --spacing-body-inline-end: 16px;\n\n display: grid;\n inline-size: 100%;\n block-size: 100%;\n gap: var(--spacing-gap-xl);\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n background-color: var(\n --elevation-background-color,\n var(--color-accent-surface-elevation-2)\n );\n color: var(--color-text-neutral-default);\n text-align: center;\n}\n.section {\n // section was addad for semantics, in order to allow a footer tag.\n display: contents;\n}\n\n.header {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-m);\n}\n\n.main {\n overflow: auto;\n display: grid;\n grid-template-rows: 1fr max-content;\n gap: var(--spacing-gap-xxl);\n}\n\n.logo {\n &__container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-l);\n align-items: center;\n margin: unset;\n }\n &__img {\n $logoSize: 28px;\n inline-size: $logoSize;\n block-size: $logoSize;\n }\n}\n.logotype {\n color: var(--color-text-neutral-default);\n}\n\n.versions__container {\n overflow: hidden;\n border: 1px solid var(--color-border-surface-on-elevation-1);\n border-radius: 4px;\n display: grid;\n grid-template-rows: 1fr max-content;\n inline-size: 100%;\n\n button {\n justify-self: center;\n min-inline-size: 72px;\n }\n}\n.versions__container-footer {\n padding: $versionsListPadding;\n}\n\n.versions__list {\n overflow: auto;\n list-style: none;\n margin: 0;\n padding: $versionsListPadding;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-m);\n}\n\n.link-underlined {\n // TODO: Add link helper class in Mercury\n text-decoration: underline;\n color: var(--color-text-neutral-default);\n &:hover {\n color: var(--color-text-neutral-hover);\n }\n &:active {\n color: var(--color-text-neutral-pressed);\n }\n}\n\n.links-container {\n display: flex;\n gap: var(--spacing-gap-m);\n}\n\n.footer {\n // TODO: Add color helper classes in Mercury\n display: flex;\n align-items: center;\n flex-direction: column;\n gap: var(--spacing-gap-m);\n color: var(--color-text-neutral-disabled);\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/elevation\",\n \"components/button\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-about\",\n styleUrl: \"about.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/about\"]\n})\nexport class GxIdeAbout {\n #componentLocale: any;\n #nextLogo = getAssetPath(`./gx-ide-assets/about/images/next-logo.svg`);\n\n @Element() el: HTMLGxIdeAboutElement;\n\n /**\n * The application version to display in the dialog.\n */\n @Prop() readonly appVersion: string;\n\n /**\n * GeneXus Next version, and also related dependencies versions\n */\n @Prop() readonly versions: string[] = [];\n\n /**\n * Callback invoked when the user clicks on \"Details & Acknowledgements\"\n */\n @Prop() readonly detailsCallback: DetailsCallback;\n\n /**\n * Callback invoked when the user clicks on \"Privacy policy\"\n */\n @Prop() readonly privacyPolicyCallback: PrivacyPolicyCallback;\n\n /**\n * Callback invoked when the user clicks on \"Terms and conditions\"\n */\n @Prop() readonly termsAndConditionsCallback: TermsAndConditionsCallback;\n\n /**\n * True when the user copies the versions\n */\n @State() copying: boolean = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #copyVersionsHandler = () => {\n this.copying = true;\n setTimeout(() => {\n this.copying = false;\n }, 1000);\n\n // be cautions with spaces and indentaiton on the following .writeText\n navigator.clipboard.writeText(\n `${this.appVersion}\\n\n${this.#componentLocale.copyVersionsAdditionalText}${this.versions\n .map(version => `- ${version}`)\n .join(\"\\n\")}`\n );\n };\n\n render() {\n const renderPrivacyAndTerms =\n this.privacyPolicyCallback && this.termsAndConditionsCallback;\n const renderPrivacyOrTerms =\n this.privacyPolicyCallback || this.termsAndConditionsCallback;\n\n return (\n <Host class=\"scrollable\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header class=\"header\">\n <figure class=\"logo__container\">\n <img\n class=\"logo__img\"\n src={this.#nextLogo}\n alt={this.#componentLocale.logoAlt}\n />\n <figcaption class=\"body-semi-bold-m logotype\">\n GeneXus Next\n </figcaption>\n </figure>\n {this.appVersion && (\n <p class=\"body-reuglar-m\">\n {this.#componentLocale.nextVersion}{\" \"}\n <span>{this.appVersion}</span>\n </p>\n )}\n </header>\n <div class=\"main\">\n {this.versions.length ? (\n <div class=\"versions__container elevation-1\">\n <ul class=\"versions__list scrollable\">\n {this.versions.map(version => {\n return <li class=\"body-regular-s\">{version}</li>;\n })}\n </ul>\n <div class=\"versions__container-footer\">\n <button\n class=\"button-secondary\"\n type=\"button\"\n onClick={this.#copyVersionsHandler}\n disabled={this.copying}\n >\n {this.copying\n ? this.#componentLocale.copied\n : this.#componentLocale.copy}\n {}\n </button>\n </div>\n </div>\n ) : null}\n\n {this.detailsCallback && (\n <button\n class=\"button-tertiary\"\n type=\"button\"\n onClick={this.detailsCallback}\n >\n {this.#componentLocale.detailsAndAcknowledgmentes}\n </button>\n )}\n </div>\n\n <footer class=\"body-regular-s footer\">\n {renderPrivacyOrTerms && (\n <div class=\"links-container\" hidden={!renderPrivacyAndTerms}>\n {this.privacyPolicyCallback && (\n <button\n class=\"link-underlined caption-regular-m\"\n type=\"button\"\n onClick={this.privacyPolicyCallback}\n >\n {this.#componentLocale.privacyPolicy}\n </button>\n )}\n\n {renderPrivacyAndTerms && \"|\"}\n\n {this.termsAndConditionsCallback && (\n <button\n class=\"link-underlined caption-regular-m\"\n type=\"button\"\n onClick={this.termsAndConditionsCallback}\n >\n {this.#componentLocale.termsAndConditions}\n </button>\n )}\n </div>\n )}\n {this.#componentLocale.copyright}\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type DetailsCallback = () => Promise<void>;\nexport type PrivacyPolicyCallback = () => Promise<void>;\nexport type TermsAndConditionsCallback = () => Promise<void>;\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-about.entry.js","mappings":";;;AAAA,MAAM,QAAQ,GAAG,2pDAA2pD;;;;;;;;;;;;;;;;;;;ACa5qD,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,mBAAmB;IACnB,qBAAqB;CACtB,CAAC;MAQW,UAAU;;;QACrB,8CAAsB;QACtB,+BAAY,YAAY,CAAC,4CAA4C,CAAC,EAAC;QAsCvE,0CAAuB;YACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,UAAU,CAAC;gBACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB,EAAE,IAAI,CAAC,CAAC;;YAGT,SAAS,CAAC,SAAS,CAAC,SAAS,CAC3B,GAAG,IAAI,CAAC,UAAU;EACtB,uBAAA,IAAI,mCAAiB,CAAC,0BAA0B,GAAG,IAAI,CAAC,QAAQ;iBACzD,GAAG,CAAC,OAAO,IAAI,KAAK,OAAO,EAAE,CAAC;iBAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;SACH,EAAC;;wBAvCoC,EAAE;;;;uBAoBZ,KAAK;;IAEjC,MAAM,iBAAiB;QACrB,uBAAA,IAAI,+BAAoB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;KACnE;IAiBD,MAAM;QACJ,MAAM,qBAAqB,GACzB,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAChE,MAAM,oBAAoB,GACxB,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAEhE,QACE,EAAC,IAAI,IAAC,KAAK,EAAC,YAAY,IACtB,gBAAU,KAAK,EAAE,WAAW,GAAa,EACzC,eAAS,KAAK,EAAC,SAAS,IACtB,cAAQ,KAAK,EAAC,QAAQ,IACpB,cAAQ,KAAK,EAAC,iBAAiB,IAC7B,WACE,KAAK,EAAC,WAAW,EACjB,GAAG,EAAE,uBAAA,IAAI,4BAAU,EACnB,GAAG,EAAE,uBAAA,IAAI,mCAAiB,CAAC,OAAO,GAClC,EACF,kBAAY,KAAK,EAAC,2BAA2B,mBAEhC,CACN,EACR,IAAI,CAAC,UAAU,KACd,SAAG,KAAK,EAAC,gBAAgB,IACtB,uBAAA,IAAI,mCAAiB,CAAC,WAAW,EAAE,GAAG,EACvC,gBAAO,IAAI,CAAC,UAAU,CAAQ,CAC5B,CACL,CACM,EACT,WAAK,KAAK,EAAC,MAAM,IACd,IAAI,CAAC,QAAQ,CAAC,MAAM,IACnB,WAAK,KAAK,EAAC,iCAAiC,IAC1C,UAAI,KAAK,EAAC,2BAA2B,IAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO;YACxB,OAAO,UAAI,KAAK,EAAC,gBAAgB,IAAE,OAAO,CAAM,CAAC;SAClD,CAAC,CACC,EACL,WAAK,KAAK,EAAC,4BAA4B,IACrC,cACE,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,uBAAA,IAAI,uCAAqB,EAClC,QAAQ,EAAE,IAAI,CAAC,OAAO,IAErB,IAAI,CAAC,OAAO;cACT,uBAAA,IAAI,mCAAiB,CAAC,MAAM;cAC5B,uBAAA,IAAI,mCAAiB,CAAC,IAAI,CAEvB,CACL,CACF,IACJ,IAAI,EAEP,IAAI,CAAC,eAAe,KACnB,cACE,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,eAAe,IAE5B,uBAAA,IAAI,mCAAiB,CAAC,0BAA0B,CAC1C,CACV,CACG,EAEN,cAAQ,KAAK,EAAC,uBAAuB,IAClC,oBAAoB,KACnB,WAAK,KAAK,EAAC,iBAAiB,EAAC,MAAM,EAAE,CAAC,qBAAqB,IACxD,IAAI,CAAC,qBAAqB,KACzB,cACE,KAAK,EAAC,mCAAmC,EACzC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,qBAAqB,IAElC,uBAAA,IAAI,mCAAiB,CAAC,aAAa,CAC7B,CACV,EAEA,qBAAqB,IAAI,GAAG,EAE5B,IAAI,CAAC,0BAA0B,KAC9B,cACE,KAAK,EAAC,mCAAmC,EACzC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,0BAA0B,IAEvC,uBAAA,IAAI,mCAAiB,CAAC,kBAAkB,CAClC,CACV,CACG,CACP,EACA,uBAAA,IAAI,mCAAiB,CAAC,SAAS,CACzB,CACD,CACL,EACP;KACH;;;;;;;;;","names":[],"sources":["src/components/about/about.scss?tag=gx-ide-about&encapsulation=shadow","src/components/about/about.tsx"],"sourcesContent":["@import \"../../global/temporary-mercury-overrides/_button.scss\";\n\n$versionsListPadding: 14px;\n\n:host {\n --spacing-body-block-start: 24px;\n --spacing-body-block-end: 24px;\n --spacing-body-inline-start: 16px;\n --spacing-body-inline-end: 16px;\n\n display: grid;\n inline-size: 100%;\n block-size: 100%;\n gap: var(--spacing-gap-xl);\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n background-color: var(\n --elevation-background-color,\n var(--color-accent-surface-elevation-2)\n );\n color: var(--color-text-neutral-default);\n text-align: center;\n}\n.section {\n // section was addad for semantics, in order to allow a footer tag.\n display: contents;\n}\n\n.header {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-m);\n}\n\n.main {\n overflow: auto;\n display: grid;\n grid-template-rows: 1fr max-content;\n gap: var(--spacing-gap-xxl);\n}\n\n.logo {\n &__container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-l);\n align-items: center;\n margin: unset;\n }\n &__img {\n $logoSize: 28px;\n inline-size: $logoSize;\n block-size: $logoSize;\n }\n}\n.logotype {\n color: var(--color-text-neutral-default);\n}\n\n.versions__container {\n overflow: hidden;\n border: 1px solid var(--color-border-surface-on-elevation-1);\n border-radius: 4px;\n display: grid;\n grid-template-rows: 1fr max-content;\n inline-size: 100%;\n\n button {\n justify-self: center;\n min-inline-size: 72px;\n }\n}\n.versions__container-footer {\n padding: $versionsListPadding;\n}\n\n.versions__list {\n overflow: auto;\n list-style: none;\n margin: 0;\n padding: $versionsListPadding;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-m);\n}\n\n.link-underlined {\n // TODO: Add link helper class in Mercury\n text-decoration: underline;\n color: var(--color-text-neutral-default);\n &:hover {\n color: var(--color-text-neutral-hover);\n }\n &:active {\n color: var(--color-text-neutral-pressed);\n }\n}\n\n.links-container {\n display: flex;\n gap: var(--spacing-gap-m);\n}\n\n.footer {\n // TODO: Add color helper classes in Mercury\n display: flex;\n align-items: center;\n flex-direction: column;\n gap: var(--spacing-gap-m);\n color: var(--color-text-neutral-disabled);\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/elevation\",\n \"components/button\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-about\",\n styleUrl: \"about.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/about\"]\n})\nexport class GxIdeAbout {\n #componentLocale: any;\n #nextLogo = getAssetPath(`./gx-ide-assets/about/images/next-logo.svg`);\n\n @Element() el: HTMLGxIdeAboutElement;\n\n /**\n * The application version to display in the dialog.\n */\n @Prop() readonly appVersion: string;\n\n /**\n * GeneXus Next version, and also related dependencies versions\n */\n @Prop() readonly versions: string[] = [];\n\n /**\n * Callback invoked when the user clicks on \"Details & Acknowledgements\"\n */\n @Prop() readonly detailsCallback: DetailsCallback;\n\n /**\n * Callback invoked when the user clicks on \"Privacy policy\"\n */\n @Prop() readonly privacyPolicyCallback: PrivacyPolicyCallback;\n\n /**\n * Callback invoked when the user clicks on \"Terms and conditions\"\n */\n @Prop() readonly termsAndConditionsCallback: TermsAndConditionsCallback;\n\n /**\n * True when the user copies the versions\n */\n @State() copying: boolean = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #copyVersionsHandler = () => {\n this.copying = true;\n setTimeout(() => {\n this.copying = false;\n }, 1000);\n\n // be cautions with spaces and indentaiton on the following .writeText\n navigator.clipboard.writeText(\n `${this.appVersion}\\n\n${this.#componentLocale.copyVersionsAdditionalText}${this.versions\n .map(version => `- ${version}`)\n .join(\"\\n\")}`\n );\n };\n\n render() {\n const renderPrivacyAndTerms =\n this.privacyPolicyCallback && this.termsAndConditionsCallback;\n const renderPrivacyOrTerms =\n this.privacyPolicyCallback || this.termsAndConditionsCallback;\n\n return (\n <Host class=\"scrollable\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header class=\"header\">\n <figure class=\"logo__container\">\n <img\n class=\"logo__img\"\n src={this.#nextLogo}\n alt={this.#componentLocale.logoAlt}\n />\n <figcaption class=\"body-semi-bold-m logotype\">\n GeneXus Next\n </figcaption>\n </figure>\n {this.appVersion && (\n <p class=\"body-reuglar-m\">\n {this.#componentLocale.nextVersion}{\" \"}\n <span>{this.appVersion}</span>\n </p>\n )}\n </header>\n <div class=\"main\">\n {this.versions.length ? (\n <div class=\"versions__container elevation-1\">\n <ul class=\"versions__list scrollable\">\n {this.versions.map(version => {\n return <li class=\"body-regular-s\">{version}</li>;\n })}\n </ul>\n <div class=\"versions__container-footer\">\n <button\n class=\"button-secondary\"\n type=\"button\"\n onClick={this.#copyVersionsHandler}\n disabled={this.copying}\n >\n {this.copying\n ? this.#componentLocale.copied\n : this.#componentLocale.copy}\n {}\n </button>\n </div>\n </div>\n ) : null}\n\n {this.detailsCallback && (\n <button\n class=\"button-tertiary\"\n type=\"button\"\n onClick={this.detailsCallback}\n >\n {this.#componentLocale.detailsAndAcknowledgmentes}\n </button>\n )}\n </div>\n\n <footer class=\"body-regular-s footer\">\n {renderPrivacyOrTerms && (\n <div class=\"links-container\" hidden={!renderPrivacyAndTerms}>\n {this.privacyPolicyCallback && (\n <button\n class=\"link-underlined caption-regular-m\"\n type=\"button\"\n onClick={this.privacyPolicyCallback}\n >\n {this.#componentLocale.privacyPolicy}\n </button>\n )}\n\n {renderPrivacyAndTerms && \"|\"}\n\n {this.termsAndConditionsCallback && (\n <button\n class=\"link-underlined caption-regular-m\"\n type=\"button\"\n onClick={this.termsAndConditionsCallback}\n >\n {this.#componentLocale.termsAndConditions}\n </button>\n )}\n </div>\n )}\n {this.#componentLocale.copyright}\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type DetailsCallback = () => Promise<void>;\nexport type PrivacyPolicyCallback = () => Promise<void>;\nexport type TermsAndConditionsCallback = () => Promise<void>;\n"],"version":3}
|
|
@@ -7,7 +7,7 @@ import 'lit/directives/if-defined.js';
|
|
|
7
7
|
import { L as Locale } from './locale-e5107fad.js';
|
|
8
8
|
import { c as config } from './config-5a775b7a.js';
|
|
9
9
|
|
|
10
|
-
const bpmAppDeclarationCss = ":host{display:grid;block-size:100%}.opacity-0{opacity:0}.gxi-hidden{display:none !important}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-style-regular);font-size:var(--font-size-body-m);font-family:var(--font-family-body);height:100%;display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.buttons-container{display:flex;gap:var(--spacing-gap-m)}.giu-static-pill-icon-and-text,.giu-static-pill{background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-1));padding-inline:var(--spacing-padding-m);color:var(--color-text-neutral-default);font-size:var(--font-size-body-s);line-height:var(--line-height-relaxed);font-weight:var(--font-style-regular);border-radius:4px;min-block-size:25px;display:inline-grid;align-items:center;pointer-events:none}.giu-static-pill-icon-and-text{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--spacing-gap-m)}.tab-full-width-buttons::part(tab-list block-start),.tab-full-width-buttons::part(tab-list block-end){grid-auto-columns:1fr}.tab-full-width-buttons::part(tab block-start){justify-content:center}.tree-view::part(item__header){--icon__system_warning_warning--disabled:var(\n --icon__system_warning_warning--enabled\n )}.tabular-grid{--focus-outline-width:1px}:host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content;overflow:auto}.section{display:contents}.header{display:grid;grid-template-columns:1fr max-content}.data-mapping-grid-container,.data-mapping-grid-container .field{overflow:auto;block-size:100%}.tabular-grid-application-declaration{overflow:auto}ch-tabular-grid.empty-result::part(main){overflow:hidden}.pill-tag{min-inline-size:40px;margin-inline-end:8px;padding-block:1px;padding-inline:4px;border-radius:2px;text-align:center;font-size:var(--font-size-body-xs)}.tabular-grid-application-declaration ch-tabular-grid-cell:is(:nth-child(2)){--control-border-width:0;--control-border-color:transparent;--control-border-radius:0;padding-block:0;padding-inline:0;--control-padding-inline:var(--spacing-padding-l);--control-padding-block:6.5px;display:grid;align-items:stretch;justify-content:stretch;min-inline-size:0}.tabular-grid-application-declaration ch-tabular-grid-cell:is(:nth-child(2)):hover{outline:1px solid var(--color-border-primary-focused);outline-offset:calc(var(--size-2) * -1)}.tabular-grid-cell:nth-child(2){padding:0 !important;display:grid;align-items:stretch;justify-content:stretch;--ds-focus-border-width:none}.tabular-grid-cell:nth-child(3){padding:0 !important;align-items:center !important;justify-content:center !important}.tabular-grid{overflow:auto}";
|
|
10
|
+
const bpmAppDeclarationCss = ":host{display:grid;block-size:100%}.opacity-0{opacity:0}.gxi-hidden{display:none !important}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-style-regular);font-size:var(--font-size-body-m);font-family:var(--font-family-body);height:100%;display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.buttons-container{display:flex;gap:var(--spacing-gap-m)}.giu-static-pill-icon-and-text,.giu-static-pill{background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-1));padding-inline:var(--spacing-padding-m);color:var(--color-text-neutral-default);font-size:var(--font-size-body-s);line-height:var(--line-height-relaxed);font-weight:var(--font-style-regular);border-radius:4px;min-block-size:25px;display:inline-grid;align-items:center;pointer-events:none;inline-size:max-content}.giu-static-pill-icon-and-text{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--spacing-gap-m)}.tab-full-width-buttons::part(tab-list block-start),.tab-full-width-buttons::part(tab-list block-end){grid-auto-columns:1fr}.tab-full-width-buttons::part(tab block-start){justify-content:center}.tree-view::part(item__header){--icon__system_warning_warning--disabled:var(\n --icon__system_warning_warning--enabled\n )}.tabular-grid{--focus-outline-width:1px}button.button-secondary{border-color:var(--color-border-neutral-default)}:host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content;overflow:auto}.section{display:contents}.header{display:grid;grid-template-columns:1fr max-content}.data-mapping-grid-container,.data-mapping-grid-container .field{overflow:auto;block-size:100%}.tabular-grid-application-declaration{overflow:auto}ch-tabular-grid.empty-result::part(main){overflow:hidden}.pill-tag{min-inline-size:40px;margin-inline-end:8px;padding-block:1px;padding-inline:4px;border-radius:2px;text-align:center;font-size:var(--font-size-body-xs)}.tabular-grid-application-declaration ch-tabular-grid-cell:is(:nth-child(2)){--control-border-width:0;--control-border-color:transparent;--control-border-radius:0;padding-block:0;padding-inline:0;--control-padding-inline:var(--spacing-padding-l);--control-padding-block:6.5px;display:grid;align-items:stretch;justify-content:stretch;min-inline-size:0}.tabular-grid-application-declaration ch-tabular-grid-cell:is(:nth-child(2)):hover{outline:1px solid var(--color-border-primary-focused);outline-offset:calc(var(--size-2) * -1)}.tabular-grid-cell:nth-child(2){padding:0 !important;display:grid;align-items:stretch;justify-content:stretch;--ds-focus-border-width:none}.tabular-grid-cell:nth-child(3){padding:0 !important;align-items:center !important;justify-content:center !important}.tabular-grid{overflow:auto}";
|
|
11
11
|
|
|
12
12
|
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
13
13
|
if (kind === "a" && !f)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-bpm-app-declaration.entry.js","mappings":"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","names":[],"sources":["src/components/bpm/application-declaration/bpm-app-declaration.scss?tag=gx-ide-bpm-app-declaration&encapsulation=shadow","src/components/bpm/application-declaration/bpm-app-declaration.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n overflow: auto;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n display: grid;\n grid-template-columns: 1fr max-content;\n}\n\n.data-mapping-grid-container,\n.data-mapping-grid-container .field {\n overflow: auto;\n block-size: 100%;\n}\n\n.tabular-grid-application-declaration {\n overflow: auto;\n}\nch-tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\n.pill-tag {\n // base styles for this class defined on \"gx-ide-common.scss\"\n min-inline-size: 40px;\n margin-inline-end: 8px;\n padding-block: 1px;\n padding-inline: 4px;\n border-radius: 2px;\n text-align: center;\n font-size: var(--font-size-body-xs);\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-application-declaration\",\n $tabular-grid-cell-node-type: \"element\",\n $tabular-grid-affected-columns-nth-list: (\n 2\n )\n);\n\n// WA\n.tabular-grid-cell:nth-child(2) {\n padding: 0 !important;\n display: grid;\n align-items: stretch;\n justify-content: stretch;\n --ds-focus-border-width: none;\n}\n.tabular-grid-cell:nth-child(3) {\n padding: 0 !important;\n align-items: center !important;\n justify-content: center !important;\n}\n.tabular-grid {\n overflow: auto;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/combo-box\",\n \"components/icon\",\n \"components/tabular-grid\",\n \"utils/elevation\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\"\n];\n\nconst ADD_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"interactive\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-surface\"\n});\nconst MORE_ICON = getIconPath({\n category: \"system\",\n name: \"more-horizontal\",\n colorType: \"primary\"\n});\n\nconst SUGGEST_OPTIONS = {\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false,\n renderActiveItemIconOnExpand: true\n};\n\n@Component({\n tag: \"gx-ide-bpm-app-declaration\",\n styleUrl: \"bpm-app-declaration.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-app-declaration\"]\n})\nexport class GxIdeBpmAppDeclaration {\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 #animateEmptyState = true;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/bpm-app-declaration/shortcuts.json`\n );\n\n #ACCESS_CAPTION_MAP: Record<DataMappingAccess, string> = {\n // To be defined on componentWillLoad\n in: undefined,\n out: undefined,\n inout: undefined\n };\n\n @Element() el: HTMLGxIdeBpmAppDeclarationElement;\n\n /**\n * The application ComoBoxModel. When the component renders for the first time, it is required\n * to display the application typeIcon. Later, it is required to display the suggested application\n * options with the combo suggest.\n */\n @State() applicationComboBoxModel: ComboBoxModel = [];\n\n /**\n * Current value of the application declaration. Keep in mind that this property will be used by\n * the host to initialize the component, meaning it will assign the current declaration value.\n */\n @Prop({ mutable: true }) application: ApplicationDeclarationData;\n\n /**\n * Callback invoked when user cancels application declaration\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when user confirms application declaration\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when user select one of the options provided by the suggest\n */\n @Prop() readonly getDataMappingCallback: GetDataMappingCallback;\n\n /**\n * Callback invoked to get access to selection application dialog\n */\n @Prop() readonly selectApplicationCallback: SelectApplicationCallback;\n\n /**\n * Callback invoked when user press mapping auto-def button\n */\n @Prop() readonly selectMappingCallback: SelectMappingCallback;\n\n /**\n * Callback invoked to get options for application input suggest\n */\n @Prop() readonly suggestApplicationsCallback: SuggestApplicationsCallback;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#setApplicationData(this.application.application);\n if (this.application.mappings.length === 0) {\n this.#animateEmptyState = false;\n }\n this.#setAccessCaptions();\n }\n\n #setAccessCaptions = () => {\n this.#ACCESS_CAPTION_MAP.in = this.#componentLocale.dataMappings.access.in;\n this.#ACCESS_CAPTION_MAP.out =\n this.#componentLocale.dataMappings.access.out;\n this.#ACCESS_CAPTION_MAP.inout =\n this.#componentLocale.dataMappings.access.inout;\n };\n\n #applicationInputChangedHandler = async (\n event: CustomEvent<string> | InputEvent\n ) => {\n const selectedApplicationName = event.detail as string;\n this.application.mappings = await this.getDataMappingCallback(\n selectedApplicationName\n );\n };\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n #clearApplicationHandler = () => {\n this.application = {\n application: {\n name: \"\",\n typeIcon: \"\"\n },\n mappings: []\n };\n };\n\n #confirmCallbackHandler = () => {\n this.confirmCallback(this.application);\n };\n\n #mapRelevantDataOptionsToComboBoxModel = (\n relevantDataOptions: string[]\n ): ComboBoxModel => {\n return relevantDataOptions.map(optionName => {\n return {\n caption: optionName,\n value: optionName\n };\n });\n };\n\n #mapSuggestedApplicationsToComboBoxModel = (\n suggestedApplicationsNames: string[]\n ): ComboBoxModel => {\n return suggestedApplicationsNames.map(applicationName => {\n return {\n caption: applicationName,\n value: applicationName\n };\n });\n };\n\n #relevantDataInputHandler =\n (mappingIndex: number) =>\n async (event: CustomEvent<string> | InputEvent) => {\n const inputValue = event.detail as string;\n this.application.mappings[mappingIndex].relevantData = inputValue;\n };\n\n #selectApplicationCallbackHandler = async () => {\n const applicationDeclarationData = await this.selectApplicationCallback();\n if (applicationDeclarationData) {\n this.#setApplicationData(applicationDeclarationData.application);\n this.application.mappings = applicationDeclarationData.mappings;\n }\n };\n\n #selectMappingCallbackHandler =\n (parameter: string, mappingIndex: number) => async () => {\n const returnedRelevantData = await this.selectMappingCallback(parameter);\n if (returnedRelevantData) {\n const currentRelevantDataOptions =\n this.application.mappings[mappingIndex].relevantDataOptions;\n\n const indexOfReturnedRelevantData =\n currentRelevantDataOptions.indexOf(returnedRelevantData);\n\n if (indexOfReturnedRelevantData === -1) {\n // returnedRelevantData is a new option. Add to combo-box.\n currentRelevantDataOptions.push(returnedRelevantData);\n }\n // Set as selected\n this.application.mappings[mappingIndex].relevantData =\n returnedRelevantData;\n\n this.#updateApplicationData();\n }\n };\n\n #setApplicationData = (applicationData: ApplicationData) => {\n if (applicationData) {\n const applicationName = applicationData.name;\n this.application.application.name = applicationName;\n this.applicationComboBoxModel = [\n {\n caption: applicationName,\n value: applicationName,\n startImgSrc: applicationData.typeIcon\n }\n ];\n }\n };\n\n #suggestInputHandler = async (event: CustomEvent<string> | InputEvent) => {\n const inputValue = event.detail as string;\n this.application.application.name = inputValue;\n const suggestedApplicationNames: string[] =\n await this.suggestApplicationsCallback(inputValue);\n\n this.applicationComboBoxModel =\n this.#mapSuggestedApplicationsToComboBoxModel(suggestedApplicationNames);\n };\n\n #updateApplicationData = () => {\n this.application = { ...this.application };\n };\n\n // Renders\n\n #renderDataMappingsGrid = (): Element => {\n const applicationDataToDisplay = this.application.mappings.length;\n if (applicationDataToDisplay) {\n // Set as animated for the next time.\n this.#animateEmptyState = true;\n }\n return (\n <div class=\"field-group data-mapping-grid-container\">\n <div class=\"field field-block\">\n <label class=\"spacing-body-inline-start label\">\n {this.#componentLocale.dataMappings.title}\n </label>\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"tabular-grid-application-declaration\": true,\n \"scrollable\": true,\n \"empty-result\": !applicationDataToDisplay\n }}\n part=\"ch-grid-data-mappings\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName={\n this.application.application?.typeIcon ===\n \"objects/transaction\"\n ? this.#componentLocale.dataMappings.firstColName\n : this.#componentLocale.dataMappings.firstColNameParameter\n }\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName={this.#componentLocale.dataMappings.secondColName}\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.application.mappings.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.application.mappings.map(\n (obj: DataMappingData, index) => (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n rowId={`${index}-${obj.parameter}`}\n key={`${index}-${obj.parameter}-grid-row`}\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <span class=\"pill-tag elevation-3\">\n {\n this.#ACCESS_CAPTION_MAP[\n obj.access as DataMappingAccess\n ]\n }\n </span>\n {obj.parameter}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-combo-box-render\n class=\"combo-box\"\n model={this.#mapRelevantDataOptionsToComboBoxModel(\n obj.relevantDataOptions\n )}\n value={obj.relevantData}\n key={`${index}-${obj.parameter}-combo-box`}\n onInput={this.#relevantDataInputHandler(index)}\n ></ch-combo-box-render>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <button\n data-index={index}\n onClick={this.#selectMappingCallbackHandler(\n obj.parameter,\n index\n )}\n class=\"button-tertiary button-icon-only\"\n aria-label={\n this.#componentLocale.buttons.selectMapping\n }\n title={this.#componentLocale.buttons.selectMapping}\n >\n <ch-image class=\"icon-m\" src={ADD_ICON}></ch-image>\n </button>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n stateDescription={\n this.#componentLocale.emptyState.description\n }\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n </div>\n </div>\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header slot=\"header\" class=\"header spacing-body\">\n <ch-combo-box-render\n class=\"combo-box\"\n value={this.application.application.name}\n model={this.applicationComboBoxModel}\n suggestDebounce={config.inputDebounce}\n suggest\n suggestOptions={SUGGEST_OPTIONS}\n onInput={this.#suggestInputHandler}\n onChange={this.#applicationInputChangedHandler}\n ></ch-combo-box-render>\n\n <div class=\"buttons-spacer\">\n <button\n onClick={this.#selectApplicationCallbackHandler}\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#componentLocale.buttons.selectApplication}\n title={this.#componentLocale.buttons.selectApplication}\n >\n <ch-image class=\"icon-m\" src={MORE_ICON}></ch-image>\n </button>\n <button\n onClick={this.#clearApplicationHandler}\n class=\"button-secondary\"\n >\n Clear\n </button>\n </div>\n </header>\n\n {this.#renderDataMappingsGrid()}\n\n <footer class=\"dialog-footer spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n onClick={this.#cancelCallbackHandler}\n >\n {this.#componentLocale.buttons.cancelButton}\n </button>\n <button\n class=\"button-primary\"\n onClick={this.#confirmCallbackHandler}\n >\n {this.#componentLocale.buttons.confirmButton}\n </button>\n </div>\n </footer>\n </section>\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type ApplicationDeclarationData = {\n application?: ApplicationData;\n mappings: DataMappingData[];\n};\nexport type ApplicationData = {\n name: string;\n typeIcon: string;\n};\n\ntype DataMappingAccess = \"in\" | \"out\" | \"inout\";\n\nexport type DataMappingData = {\n parameter: string;\n access: DataMappingAccess;\n relevantDataOptions: string[];\n relevantData?: string;\n};\n\nexport type SuggestApplicationsCallback = (\n prefix: string\n) => Promise<string[] | undefined>;\n\nexport type SelectApplicationCallback = () => Promise<\n ApplicationDeclarationData | undefined\n>;\n\nexport type SelectMappingCallback = (parameter: string) => Promise<string>;\n\nexport type ConfirmCallback = (\n data: ApplicationDeclarationData\n) => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type GetDataMappingCallback = (\n applicationName: string\n) => Promise<DataMappingData[]>;\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-bpm-app-declaration.entry.js","mappings":"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","names":[],"sources":["src/components/bpm/application-declaration/bpm-app-declaration.scss?tag=gx-ide-bpm-app-declaration&encapsulation=shadow","src/components/bpm/application-declaration/bpm-app-declaration.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/temporary-mercury-overrides/_button.scss\";\n@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n overflow: auto;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n display: grid;\n grid-template-columns: 1fr max-content;\n}\n\n.data-mapping-grid-container,\n.data-mapping-grid-container .field {\n overflow: auto;\n block-size: 100%;\n}\n\n.tabular-grid-application-declaration {\n overflow: auto;\n}\nch-tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\n.pill-tag {\n // base styles for this class defined on \"gx-ide-common.scss\"\n min-inline-size: 40px;\n margin-inline-end: 8px;\n padding-block: 1px;\n padding-inline: 4px;\n border-radius: 2px;\n text-align: center;\n font-size: var(--font-size-body-xs);\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-application-declaration\",\n $tabular-grid-cell-node-type: \"element\",\n $tabular-grid-affected-columns-nth-list: (\n 2\n )\n);\n\n// WA\n.tabular-grid-cell:nth-child(2) {\n padding: 0 !important;\n display: grid;\n align-items: stretch;\n justify-content: stretch;\n --ds-focus-border-width: none;\n}\n.tabular-grid-cell:nth-child(3) {\n padding: 0 !important;\n align-items: center !important;\n justify-content: center !important;\n}\n.tabular-grid {\n overflow: auto;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/combo-box\",\n \"components/icon\",\n \"components/tabular-grid\",\n \"utils/elevation\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\"\n];\n\nconst ADD_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"interactive\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-surface\"\n});\nconst MORE_ICON = getIconPath({\n category: \"system\",\n name: \"more-horizontal\",\n colorType: \"primary\"\n});\n\nconst SUGGEST_OPTIONS = {\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false,\n renderActiveItemIconOnExpand: true\n};\n\n@Component({\n tag: \"gx-ide-bpm-app-declaration\",\n styleUrl: \"bpm-app-declaration.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-app-declaration\"]\n})\nexport class GxIdeBpmAppDeclaration {\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 #animateEmptyState = true;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/bpm-app-declaration/shortcuts.json`\n );\n\n #ACCESS_CAPTION_MAP: Record<DataMappingAccess, string> = {\n // To be defined on componentWillLoad\n in: undefined,\n out: undefined,\n inout: undefined\n };\n\n @Element() el: HTMLGxIdeBpmAppDeclarationElement;\n\n /**\n * The application ComoBoxModel. When the component renders for the first time, it is required\n * to display the application typeIcon. Later, it is required to display the suggested application\n * options with the combo suggest.\n */\n @State() applicationComboBoxModel: ComboBoxModel = [];\n\n /**\n * Current value of the application declaration. Keep in mind that this property will be used by\n * the host to initialize the component, meaning it will assign the current declaration value.\n */\n @Prop({ mutable: true }) application: ApplicationDeclarationData;\n\n /**\n * Callback invoked when user cancels application declaration\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when user confirms application declaration\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when user select one of the options provided by the suggest\n */\n @Prop() readonly getDataMappingCallback: GetDataMappingCallback;\n\n /**\n * Callback invoked to get access to selection application dialog\n */\n @Prop() readonly selectApplicationCallback: SelectApplicationCallback;\n\n /**\n * Callback invoked when user press mapping auto-def button\n */\n @Prop() readonly selectMappingCallback: SelectMappingCallback;\n\n /**\n * Callback invoked to get options for application input suggest\n */\n @Prop() readonly suggestApplicationsCallback: SuggestApplicationsCallback;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#setApplicationData(this.application.application);\n if (this.application.mappings.length === 0) {\n this.#animateEmptyState = false;\n }\n this.#setAccessCaptions();\n }\n\n #setAccessCaptions = () => {\n this.#ACCESS_CAPTION_MAP.in = this.#componentLocale.dataMappings.access.in;\n this.#ACCESS_CAPTION_MAP.out =\n this.#componentLocale.dataMappings.access.out;\n this.#ACCESS_CAPTION_MAP.inout =\n this.#componentLocale.dataMappings.access.inout;\n };\n\n #applicationInputChangedHandler = async (\n event: CustomEvent<string> | InputEvent\n ) => {\n const selectedApplicationName = event.detail as string;\n this.application.mappings = await this.getDataMappingCallback(\n selectedApplicationName\n );\n };\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n #clearApplicationHandler = () => {\n this.application = {\n application: {\n name: \"\",\n typeIcon: \"\"\n },\n mappings: []\n };\n };\n\n #confirmCallbackHandler = () => {\n this.confirmCallback(this.application);\n };\n\n #mapRelevantDataOptionsToComboBoxModel = (\n relevantDataOptions: string[]\n ): ComboBoxModel => {\n return relevantDataOptions.map(optionName => {\n return {\n caption: optionName,\n value: optionName\n };\n });\n };\n\n #mapSuggestedApplicationsToComboBoxModel = (\n suggestedApplicationsNames: string[]\n ): ComboBoxModel => {\n return suggestedApplicationsNames.map(applicationName => {\n return {\n caption: applicationName,\n value: applicationName\n };\n });\n };\n\n #relevantDataInputHandler =\n (mappingIndex: number) =>\n async (event: CustomEvent<string> | InputEvent) => {\n const inputValue = event.detail as string;\n this.application.mappings[mappingIndex].relevantData = inputValue;\n };\n\n #selectApplicationCallbackHandler = async () => {\n const applicationDeclarationData = await this.selectApplicationCallback();\n if (applicationDeclarationData) {\n this.#setApplicationData(applicationDeclarationData.application);\n this.application.mappings = applicationDeclarationData.mappings;\n }\n };\n\n #selectMappingCallbackHandler =\n (parameter: string, mappingIndex: number) => async () => {\n const returnedRelevantData = await this.selectMappingCallback(parameter);\n if (returnedRelevantData) {\n const currentRelevantDataOptions =\n this.application.mappings[mappingIndex].relevantDataOptions;\n\n const indexOfReturnedRelevantData =\n currentRelevantDataOptions.indexOf(returnedRelevantData);\n\n if (indexOfReturnedRelevantData === -1) {\n // returnedRelevantData is a new option. Add to combo-box.\n currentRelevantDataOptions.push(returnedRelevantData);\n }\n // Set as selected\n this.application.mappings[mappingIndex].relevantData =\n returnedRelevantData;\n\n this.#updateApplicationData();\n }\n };\n\n #setApplicationData = (applicationData: ApplicationData) => {\n if (applicationData) {\n const applicationName = applicationData.name;\n this.application.application.name = applicationName;\n this.applicationComboBoxModel = [\n {\n caption: applicationName,\n value: applicationName,\n startImgSrc: applicationData.typeIcon\n }\n ];\n }\n };\n\n #suggestInputHandler = async (event: CustomEvent<string> | InputEvent) => {\n const inputValue = event.detail as string;\n this.application.application.name = inputValue;\n const suggestedApplicationNames: string[] =\n await this.suggestApplicationsCallback(inputValue);\n\n this.applicationComboBoxModel =\n this.#mapSuggestedApplicationsToComboBoxModel(suggestedApplicationNames);\n };\n\n #updateApplicationData = () => {\n this.application = { ...this.application };\n };\n\n // Renders\n\n #renderDataMappingsGrid = (): Element => {\n const applicationDataToDisplay = this.application.mappings.length;\n if (applicationDataToDisplay) {\n // Set as animated for the next time.\n this.#animateEmptyState = true;\n }\n return (\n <div class=\"field-group data-mapping-grid-container\">\n <div class=\"field field-block\">\n <label class=\"spacing-body-inline-start label\">\n {this.#componentLocale.dataMappings.title}\n </label>\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"tabular-grid-application-declaration\": true,\n \"scrollable\": true,\n \"empty-result\": !applicationDataToDisplay\n }}\n part=\"ch-grid-data-mappings\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName={\n this.application.application?.typeIcon ===\n \"objects/transaction\"\n ? this.#componentLocale.dataMappings.firstColName\n : this.#componentLocale.dataMappings.firstColNameParameter\n }\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName={this.#componentLocale.dataMappings.secondColName}\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.application.mappings.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.application.mappings.map(\n (obj: DataMappingData, index) => (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n rowId={`${index}-${obj.parameter}`}\n key={`${index}-${obj.parameter}-grid-row`}\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <span class=\"pill-tag elevation-3\">\n {\n this.#ACCESS_CAPTION_MAP[\n obj.access as DataMappingAccess\n ]\n }\n </span>\n {obj.parameter}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-combo-box-render\n class=\"combo-box\"\n model={this.#mapRelevantDataOptionsToComboBoxModel(\n obj.relevantDataOptions\n )}\n value={obj.relevantData}\n key={`${index}-${obj.parameter}-combo-box`}\n onInput={this.#relevantDataInputHandler(index)}\n ></ch-combo-box-render>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <button\n data-index={index}\n onClick={this.#selectMappingCallbackHandler(\n obj.parameter,\n index\n )}\n class=\"button-tertiary button-icon-only\"\n aria-label={\n this.#componentLocale.buttons.selectMapping\n }\n title={this.#componentLocale.buttons.selectMapping}\n >\n <ch-image class=\"icon-m\" src={ADD_ICON}></ch-image>\n </button>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n stateDescription={\n this.#componentLocale.emptyState.description\n }\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n </div>\n </div>\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header slot=\"header\" class=\"header spacing-body\">\n <ch-combo-box-render\n class=\"combo-box\"\n value={this.application.application.name}\n model={this.applicationComboBoxModel}\n suggestDebounce={config.inputDebounce}\n suggest\n suggestOptions={SUGGEST_OPTIONS}\n onInput={this.#suggestInputHandler}\n onChange={this.#applicationInputChangedHandler}\n ></ch-combo-box-render>\n\n <div class=\"buttons-spacer\">\n <button\n onClick={this.#selectApplicationCallbackHandler}\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#componentLocale.buttons.selectApplication}\n title={this.#componentLocale.buttons.selectApplication}\n >\n <ch-image class=\"icon-m\" src={MORE_ICON}></ch-image>\n </button>\n <button\n onClick={this.#clearApplicationHandler}\n class=\"button-secondary\"\n >\n Clear\n </button>\n </div>\n </header>\n\n {this.#renderDataMappingsGrid()}\n\n <footer class=\"dialog-footer spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n onClick={this.#cancelCallbackHandler}\n >\n {this.#componentLocale.buttons.cancelButton}\n </button>\n <button\n class=\"button-primary\"\n onClick={this.#confirmCallbackHandler}\n >\n {this.#componentLocale.buttons.confirmButton}\n </button>\n </div>\n </footer>\n </section>\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type ApplicationDeclarationData = {\n application?: ApplicationData;\n mappings: DataMappingData[];\n};\nexport type ApplicationData = {\n name: string;\n typeIcon: string;\n};\n\ntype DataMappingAccess = \"in\" | \"out\" | \"inout\";\n\nexport type DataMappingData = {\n parameter: string;\n access: DataMappingAccess;\n relevantDataOptions: string[];\n relevantData?: string;\n};\n\nexport type SuggestApplicationsCallback = (\n prefix: string\n) => Promise<string[] | undefined>;\n\nexport type SelectApplicationCallback = () => Promise<\n ApplicationDeclarationData | undefined\n>;\n\nexport type SelectMappingCallback = (parameter: string) => Promise<string>;\n\nexport type ConfirmCallback = (\n data: ApplicationDeclarationData\n) => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type GetDataMappingCallback = (\n applicationName: string\n) => Promise<DataMappingData[]>;\n"],"version":3}
|
|
@@ -2,7 +2,7 @@ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement
|
|
|
2
2
|
import { L as Locale } from './locale-e5107fad.js';
|
|
3
3
|
import { c as config } from './config-5a775b7a.js';
|
|
4
4
|
|
|
5
|
-
const bpmAssignRolesCss = ":host{display:grid;block-size:100%}.opacity-0{opacity:0}.gxi-hidden{display:none !important}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-style-regular);font-size:var(--font-size-body-m);font-family:var(--font-family-body);height:100%;display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.buttons-container{display:flex;gap:var(--spacing-gap-m)}.giu-static-pill-icon-and-text,.giu-static-pill{background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-1));padding-inline:var(--spacing-padding-m);color:var(--color-text-neutral-default);font-size:var(--font-size-body-s);line-height:var(--line-height-relaxed);font-weight:var(--font-style-regular);border-radius:4px;min-block-size:25px;display:inline-grid;align-items:center;pointer-events:none}.giu-static-pill-icon-and-text{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--spacing-gap-m)}.tab-full-width-buttons::part(tab-list block-start),.tab-full-width-buttons::part(tab-list block-end){grid-auto-columns:1fr}.tab-full-width-buttons::part(tab block-start){justify-content:center}.tree-view::part(item__header){--icon__system_warning_warning--disabled:var(\n --icon__system_warning_warning--enabled\n )}.tabular-grid{--focus-outline-width:1px}:host{display:block}.roles__container{display:grid;block-size:100%;box-sizing:border-box;grid-template-columns:1fr 1fr;gap:var(--spacing-gap-l)}.roles__role{display:grid;grid-template-rows:auto 1fr;overflow:auto}.roles__list{display:flex;flex-direction:column;block-size:100%;overflow:auto}.roles__list-header{display:grid;grid-template-rows:auto 1fr;gap:var(--spacing-gap-m)}.roles__list-title{background-color:var(--color-accent-surface-elevation-1);display:flex;align-items:center;justify-content:center}.add-remove-buttons{display:flex;justify-content:space-between}";
|
|
5
|
+
const bpmAssignRolesCss = ":host{display:grid;block-size:100%}.opacity-0{opacity:0}.gxi-hidden{display:none !important}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-style-regular);font-size:var(--font-size-body-m);font-family:var(--font-family-body);height:100%;display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.buttons-container{display:flex;gap:var(--spacing-gap-m)}.giu-static-pill-icon-and-text,.giu-static-pill{background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-1));padding-inline:var(--spacing-padding-m);color:var(--color-text-neutral-default);font-size:var(--font-size-body-s);line-height:var(--line-height-relaxed);font-weight:var(--font-style-regular);border-radius:4px;min-block-size:25px;display:inline-grid;align-items:center;pointer-events:none;inline-size:max-content}.giu-static-pill-icon-and-text{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--spacing-gap-m)}.tab-full-width-buttons::part(tab-list block-start),.tab-full-width-buttons::part(tab-list block-end){grid-auto-columns:1fr}.tab-full-width-buttons::part(tab block-start){justify-content:center}.tree-view::part(item__header){--icon__system_warning_warning--disabled:var(\n --icon__system_warning_warning--enabled\n )}.tabular-grid{--focus-outline-width:1px}:host{display:block}.roles__container{display:grid;block-size:100%;box-sizing:border-box;grid-template-columns:1fr 1fr;gap:var(--spacing-gap-l)}.roles__role{display:grid;grid-template-rows:auto 1fr;overflow:auto}.roles__list{display:flex;flex-direction:column;block-size:100%;overflow:auto}.roles__list-header{display:grid;grid-template-rows:auto 1fr;gap:var(--spacing-gap-m)}.roles__list-title{background-color:var(--color-accent-surface-elevation-1);display:flex;align-items:center;justify-content:center}.add-remove-buttons{display:flex;justify-content:space-between}";
|
|
6
6
|
|
|
7
7
|
const GxIdeBpmAssignRoles = class {
|
|
8
8
|
constructor(hostRef) {
|