@genexus/genexus-ide-ui 1.1.58 → 1.1.59
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/{config-df6ba4e9.js → config-3bb95f39.js} +3 -2
- package/dist/cjs/config-3bb95f39.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +2 -2
- 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 +2 -2
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +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-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-list-selector_2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-name-picker.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-version.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-plugin-explorer.cjs.entry.js +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-server-selector.cjs.entry.js +160 -75
- 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-team-dev-bring-changes.cjs.entry.js +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +2 -2
- 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.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-test.cjs.entry.js +14 -65
- package/dist/cjs/gx-ide-test.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{tabular-grid-render-7cf3815d.js → tabular-grid-render-ce935a84.js} +2 -2
- package/dist/cjs/{tabular-grid-render-7cf3815d.js.map → tabular-grid-render-ce935a84.js.map} +1 -1
- package/dist/collection/common/config.js +2 -1
- package/dist/collection/common/config.js.map +1 -1
- package/dist/collection/components/_helpers/card/card.css +24 -0
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +24 -0
- package/dist/collection/components/_helpers/list-selector/list-selector.css +24 -0
- package/dist/collection/components/_test/test.css +610 -0
- package/dist/collection/components/_test/test.js +10 -64
- package/dist/collection/components/_test/test.js.map +1 -1
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +24 -0
- package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +24 -0
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +24 -0
- package/dist/collection/components/bpm/import-files/bpm-import-files.css +24 -0
- package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +24 -0
- package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +24 -0
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +24 -0
- package/dist/collection/components/deployment-tool/deployment-tool.css +24 -0
- package/dist/collection/components/file-uploader/file-uploader.css +24 -0
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +24 -0
- package/dist/collection/components/modules/edit-module-server/edit-module-server.css +24 -0
- package/dist/collection/components/modules/manage-module-references/manage-module-references.css +24 -0
- package/dist/collection/components/references/references.css +24 -0
- package/dist/collection/components/team-dev/bring-changes/bring-changes.css +13 -13
- package/dist/collection/components/team-dev/history/history.css +13 -0
- package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +24 -0
- package/dist/collection/components/team-dev/server-selector/gx-ide-assets/server-selector/langs/server-selector.lang.en.json +7 -0
- package/dist/collection/components/team-dev/server-selector/gx-ide-assets/server-selector/langs/server-selector.lang.ja.json +7 -0
- package/dist/collection/components/team-dev/server-selector/gx-ide-assets/server-selector/langs/server-selector.lang.zh.json +7 -0
- package/dist/collection/components/team-dev/server-selector/server-selector.css +82 -18
- package/dist/collection/components/team-dev/server-selector/server-selector.js +229 -86
- package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
- package/dist/collection/components/team-dev/update/update.css +13 -0
- package/dist/collection/components/team-dev/version-control/commit/commit.css +13 -0
- package/dist/collection/components/wf-settings/wf-settings.css +24 -0
- package/dist/collection/components/ww-images/ww-images.css +24 -0
- package/dist/components/bpm-objects-selector.js +1 -1
- package/dist/components/bpm-objects-selector.js.map +1 -1
- package/dist/components/config.js +2 -1
- package/dist/components/config.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-timer-duration.js +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
- package/dist/components/gx-ide-card.js +1 -1
- package/dist/components/gx-ide-card.js.map +1 -1
- package/dist/components/gx-ide-deployment-tool.js +1 -1
- package/dist/components/gx-ide-deployment-tool.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-manage-module-references.js +1 -1
- package/dist/components/gx-ide-manage-module-references.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-server-selector.js +167 -78
- package/dist/components/gx-ide-server-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-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.js +1 -1
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-test.js +13 -65
- 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-images.js +1 -1
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/list-selector.js +1 -1
- package/dist/components/list-selector.js.map +1 -1
- package/dist/esm/{config-9eaeb14b.js → config-5a775b7a.js} +3 -2
- package/dist/esm/config-5a775b7a.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +2 -2
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
- package/dist/esm/gx-ide-card.entry.js +1 -1
- package/dist/esm/gx-ide-card.entry.js.map +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
- package/dist/esm/gx-ide-curl-inspector.entry.js +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +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-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-list-selector_2.entry.js +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-name-picker.entry.js +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +1 -1
- package/dist/esm/gx-ide-new-version.entry.js +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-plugin-explorer.entry.js +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-server-selector.entry.js +160 -75
- 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-team-dev-bring-changes.entry.js +3 -3
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +3 -3
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-history.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +2 -2
- 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.entry.js +3 -3
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-test.entry.js +14 -65
- package/dist/esm/gx-ide-test.entry.js.map +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js +2 -2
- package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-attributes.entry.js +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +2 -2
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{tabular-grid-render-11f0a55c.js → tabular-grid-render-137bd3dd.js} +2 -2
- package/dist/esm/{tabular-grid-render-11f0a55c.js.map → tabular-grid-render-137bd3dd.js.map} +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/server-selector/langs/server-selector.lang.en.json +7 -0
- package/dist/genexus-ide-ui/gx-ide-assets/server-selector/langs/server-selector.lang.ja.json +7 -0
- package/dist/genexus-ide-ui/gx-ide-assets/server-selector/langs/server-selector.lang.zh.json +7 -0
- package/dist/genexus-ide-ui/{p-bd280758.entry.js → p-086de552.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-61ce9a9f.entry.js → p-0910af1b.entry.js} +71 -71
- package/dist/genexus-ide-ui/{p-d0584c71.entry.js → p-1107bf84.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3673759a.entry.js → p-13ca0217.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-156fa688.entry.js +59 -0
- package/dist/genexus-ide-ui/p-156fa688.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3013895f.entry.js → p-1671c731.entry.js} +6 -6
- package/dist/genexus-ide-ui/{p-6a1431f7.entry.js → p-2c0f10bf.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-cc5feb47.entry.js → p-2d70b76d.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-fb66e72a.entry.js → p-2d989eb1.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ce9ca2dd.entry.js → p-300fcfa1.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-41e1c129.entry.js → p-349f1622.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ea79f745.entry.js → p-408eac22.entry.js} +24 -24
- package/dist/genexus-ide-ui/{p-22814dfd.entry.js → p-4c9cddc5.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-f8967408.entry.js → p-5308144e.entry.js} +11 -11
- package/dist/genexus-ide-ui/{p-0bb54667.entry.js → p-57c318ba.entry.js} +9 -9
- package/dist/genexus-ide-ui/{p-d0c43abd.entry.js → p-5b8ef529.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-c2ac7757.entry.js → p-6d3a4648.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-86b9dc50.entry.js → p-6eb0d883.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-6e8c3be5.entry.js → p-74c46daf.entry.js} +33 -33
- package/dist/genexus-ide-ui/{p-2fabcb06.entry.js → p-7d779463.entry.js} +12 -12
- package/dist/genexus-ide-ui/{p-6749f088.entry.js → p-85cf50c5.entry.js} +3 -3
- package/dist/genexus-ide-ui/p-91497934.entry.js +542 -0
- package/dist/genexus-ide-ui/p-91497934.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-7f689bcf.entry.js → p-93e79d19.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-46c9eb6a.entry.js → p-94cb4746.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-52ee29d3.entry.js → p-95f8ff9f.entry.js} +4 -4
- package/dist/genexus-ide-ui/p-95f8ff9f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3f6709b6.entry.js → p-9adbe860.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-95736f92.entry.js → p-9ffa7afd.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e00a8dfd.entry.js → p-a105f903.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-66c5217f.js → p-a4b820e5.js} +37 -37
- package/dist/genexus-ide-ui/{p-327f1020.entry.js → p-ad5f63da.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-369e9936.entry.js → p-b0d1b217.entry.js} +85 -85
- package/dist/genexus-ide-ui/{p-f89807b5.entry.js → p-b1bf5be8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-11f37427.entry.js → p-b7ae21bd.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-9a03ac9f.js → p-c5196b3b.js} +3 -2
- package/dist/genexus-ide-ui/p-c5196b3b.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c71e91f2.entry.js → p-d243ee33.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-c1196cb0.entry.js → p-d41d52f6.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3942c139.entry.js → p-d71cf7d9.entry.js} +21 -21
- package/dist/genexus-ide-ui/{p-146f22d0.entry.js → p-d7c133da.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-0da40329.entry.js → p-e8e7f960.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-dcb0849a.entry.js → p-ecba7aa4.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-3265f4c1.entry.js → p-f03930f9.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-87c7e303.entry.js → p-f5734cc7.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-78b1aa91.entry.js → p-f9bde776.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-2a74c476.entry.js → p-fff8902d.entry.js} +192 -192
- package/dist/types/common/config.d.ts +1 -0
- package/dist/types/components/_test/test.d.ts +0 -1
- package/dist/types/components/team-dev/server-selector/server-selector.d.ts +19 -10
- package/dist/types/components.d.ts +32 -8
- package/package.json +1 -1
- package/dist/cjs/config-df6ba4e9.js.map +0 -1
- package/dist/esm/config-9eaeb14b.js.map +0 -1
- package/dist/genexus-ide-ui/p-0d2fb794.entry.js +0 -446
- package/dist/genexus-ide-ui/p-0d2fb794.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-3b808c6f.entry.js +0 -100
- package/dist/genexus-ide-ui/p-3b808c6f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-52ee29d3.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9a03ac9f.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-bd280758.entry.js.map → p-086de552.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-61ce9a9f.entry.js.map → p-0910af1b.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d0584c71.entry.js.map → p-1107bf84.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3673759a.entry.js.map → p-13ca0217.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3013895f.entry.js.map → p-1671c731.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6a1431f7.entry.js.map → p-2c0f10bf.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-cc5feb47.entry.js.map → p-2d70b76d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fb66e72a.entry.js.map → p-2d989eb1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ce9ca2dd.entry.js.map → p-300fcfa1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-41e1c129.entry.js.map → p-349f1622.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ea79f745.entry.js.map → p-408eac22.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-22814dfd.entry.js.map → p-4c9cddc5.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f8967408.entry.js.map → p-5308144e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0bb54667.entry.js.map → p-57c318ba.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d0c43abd.entry.js.map → p-5b8ef529.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c2ac7757.entry.js.map → p-6d3a4648.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-86b9dc50.entry.js.map → p-6eb0d883.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6e8c3be5.entry.js.map → p-74c46daf.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2fabcb06.entry.js.map → p-7d779463.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6749f088.entry.js.map → p-85cf50c5.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7f689bcf.entry.js.map → p-93e79d19.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-46c9eb6a.entry.js.map → p-94cb4746.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3f6709b6.entry.js.map → p-9adbe860.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-95736f92.entry.js.map → p-9ffa7afd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e00a8dfd.entry.js.map → p-a105f903.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-66c5217f.js.map → p-a4b820e5.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-327f1020.entry.js.map → p-ad5f63da.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-369e9936.entry.js.map → p-b0d1b217.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f89807b5.entry.js.map → p-b1bf5be8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-11f37427.entry.js.map → p-b7ae21bd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c71e91f2.entry.js.map → p-d243ee33.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c1196cb0.entry.js.map → p-d41d52f6.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3942c139.entry.js.map → p-d71cf7d9.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-146f22d0.entry.js.map → p-d7c133da.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0da40329.entry.js.map → p-e8e7f960.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-dcb0849a.entry.js.map → p-ecba7aa4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3265f4c1.entry.js.map → p-f03930f9.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-87c7e303.entry.js.map → p-f5734cc7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-78b1aa91.entry.js.map → p-f9bde776.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2a74c476.entry.js.map → p-fff8902d.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["serverSelectorCss","CSS_BUNDLES","INFO_ICON","getIconPath","category","name","colorType","LOCK_ICON","LANGUAGE_ICON","GxIdeServerSelector","_GxIdeServerSelector_chSearchIcon","set","this","_GxIdeServerSelector_versionsSelect","value","caption","_GxIdeServerSelector__componentLocale","_GxIdeServerSelector_chGridRecentlyUsedServersEl","_GxIdeServerSelector_chGridConnectedServersEl","_GxIdeServerSelector_previousSelectedRowId","_GxIdeServerSelector_selectedRowId","_GxIdeServerSelector_serverUrlEL","_GxIdeServerSelector_serverFriendlyNameEL","_GxIdeServerSelector_cancelHandler","cancelCallback","_GxIdeServerSelector_confirmHandler","async","formSubmitResult","selectedConnectionType","selectServerCallback","uri","selectedServerUri","selectedServerName","serverUrlInputValue","serverNameInputValue","validatableControls","validateControls","_GxIdeServerSelector_evaluateTooltipRender","controlReference","_b","_a","get","id","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeServerSelector_initializeValidatableControls","__classPrivateFieldGet","forEach","validatableControl","reference","undefined","_GxIdeServerSelector_filterValueChangedHandler","event","filterValue","detail","toLowerCase","filteredConnectedServersData","connectedServersData","filter","item","serverName","includes","_GxIdeServerSelector_inputHandler","field","enableConfirmButton","controlId","clearControlError","_GxIdeServerSelector_enableConfirmButton","call","length","_GxIdeServerSelector_onConnectedServersRowDoubleClickHandler","_GxIdeServerSelector_selectConnectedServersHandler","_GxIdeServerSelector_onRecentlyUsedRowDoubleClickHandler","_GxIdeServerSelector_selectRecentlyUsedServersHandler","_GxIdeServerSelector_handleServerSelection","recentlyUsedServersData","serversData","otherGridEl","isFirstSelection","__classPrivateFieldSet","rowId","selectedServer","find","server","serverUrl","userName","gxServerUsername","selectRow","_GxIdeServerSelector_connectionTypeChangedHandler","_GxIdeServerSelector_sortTabularGridColumnCallback","e","sortTabularGridColumn","_GxIdeServerSelector_renderTabularGridColumnSet","hideColumnName","columnId","columnName","settingable","columnNameHidden","size","tabularGrid","colSize","maxContent","resizable","sortable","onColumnSortChanged","auto","_GxIdeServerSelector_renderTooltip","text","_GxIdeServerSelector_renderTabularGridCommonCells","_GxIdeServerSelector_renderIcon","accessLevel","isConnected","_GxIdeServerSelector_renderRecentlyUsedServersGrid","rowSelectionMode","ref","el","allowColumnReorder","onRowClicked","onRowDoubleClicked","map","rowid","stateIconSrc","stateTitle","emptyConnectedServers","isAnimated","_GxIdeServerSelector_renderConnectedServersGrid","icon","src","_GxIdeServerSelector_renderFooter","isSelectionMode","onClick","footer","cancel","disabled","confirm","Map","componentWillLoad","Locale","getComponentStrings","componentDidRender","render","connectionTypeClass","recentlyUsedEmptyClass","Host","model","header","title","onChange","startImgSrc","onInput","placeholder","placeholders","searchServers","accessibleName","type","htmlFor","recentlyUsed","allServers","labels","maxLength"],"sources":["src/components/team-dev/server-selector/server-selector.scss?tag=gx-ide-server-selector&encapsulation=shadow","src/components/team-dev/server-selector/server-selector.tsx"],"sourcesContent":["@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 max-content 1fr max-content;\n row-gap: var(--mer-spacing--md);\n overflow: auto;\n}\n\n:host(.new-connection) {\n grid-template-rows: max-content 1fr;\n}\n\n:host(.recently-used-empty) {\n grid-template-rows: max-content 1fr;\n}\n\n.section {\n display: contents;\n}\n\n// General\n\n.tabular-grid {\n border-radius: var(--mer-border__radius--sm);\n overflow: hidden;\n overflow: auto;\n border-inline: 1px solid var(--grid-cell__border-color);\n}\n\n.tabular-grid-rowset-empty {\n border-block-end: 1px solid var(--grid-cell__border-color);\n overflow: hidden;\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 2,\n 3,\n 4\n )\n);\n\n.text-neutral-gray-400,\n.tabular-grid-cell.text-neutral-gray-400 {\n // WA: colors for text should be defined in Mercury\n color: var(--mer-color__neutral-gray--400);\n}\n// Header\n\n.search-server {\n inline-size: 50%;\n}\n\n// Recently Used\n\n.tabular-grid-recently-used .tabular-grid-column::part(bar) {\n --grid-cell__padding-block: 0;\n --grid-cell__padding-inline: 0;\n}\n\n.tabular-grid.tabular-grid-recently-used {\n border-block-end: 1px solid var(--grid-cell__border-color);\n max-block-size: 100px;\n}\n\n// All Servers\n\n.tabular-grid-all-servers {\n overflow: auto;\n}\n\n.field-block-all-servers {\n overflow: auto;\n}\n\n.tabular-grid-all-servers {\n border-block: 1px solid var(--grid-cell__border-color);\n}\n\n.tabular-grid-all-servers .tabular-grid-column:first-child::part(bar) {\n --grid-common__gap: 0;\n}\n\n// WA: .tabular-grid-wrapper and .border-patch is a WA. See details on Asana task:\n// https://app.asana.com/1/10206720691358/project/1207081021030105/task/1211391456974726?focus=true\n.tabular-grid-wrapper {\n position: relative;\n overflow: auto;\n}\n.border-patch {\n --tabular-grid-border-radius: 4px;\n position: absolute;\n top: 0;\n inline-size: calc(100% - var(--tabular-grid-border-radius) * 2);\n inset-inline-start: var(--tabular-grid-border-radius);\n block-size: 2px;\n background-color: var(--items-container__bg-color);\n z-index: 9999;\n border-block-start: 1px solid var(--mer-border-color__on-surface);\n}\n\n.tooltip {\n position: absolute;\n}\n","// Stencil\nimport { Component, Element, h, Host, Prop, State } from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport {\n ChEditCustomEvent,\n TabularGridColumnSortChangedEvent,\n TabularGridRowClickedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\nimport { JSX } from \"@stencil/core/internal\";\nimport { config } from \"../../../common/config\";\nimport {\n clearControlError,\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\n\nimport sortTabularGridColumn from \"../../../common/chameleon/tabular-grid-column-sort\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/tooltip\",\n \"chameleon/scrollbar\",\n \"components/tabular-grid\"\n];\n\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-surface\"\n});\n\nconst LOCK_ICON = getIconPath({\n category: \"system\",\n name: \"lock\",\n colorType: \"on-surface\"\n});\n\nconst LANGUAGE_ICON = getIconPath({\n category: \"system\",\n name: \"language\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-server-selector\",\n styleUrl: \"server-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/server-selector\"]\n})\nexport class GxIdeServerSelector {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"select\", caption: \"Select a server from the list below\" },\n { value: \"new\", caption: \"Enter a server URL manually\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n\n #chGridRecentlyUsedServersEl: HTMLChTabularGridElement;\n #chGridConnectedServersEl: HTMLChTabularGridElement;\n #previousSelectedRowId: string | undefined;\n #selectedRowId: string | undefined;\n #serverUrlEL: HTMLChEditElement;\n #serverFriendlyNameEL: HTMLChEditElement;\n\n @Element() el: HTMLGxIdeServerSelectorElement;\n\n /**\n * State to enable/disable confirm button.\n */\n @State() enableConfirmButton: boolean = false;\n\n /**\n * State to track if this is the first selection made by the user.\n */\n @State() isFirstSelection: boolean = true;\n\n /**\n * The current server URL input value.\n */\n @State() serverUrlInputValue: string = \"\";\n\n /**\n * The current server URL input value.\n */\n @State() serverNameInputValue: string = \"\";\n\n /**\n * The selected server URI.\n */\n @State() selectedServerUri: string | undefined;\n\n /**\n * The selected server name.\n */\n @State() selectedServerName: string | undefined = \"None\";\n\n /**\n * The user name of the selected server.\n */\n @State() userName: string;\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * Servers filtered\n */\n @State() filteredConnectedServersData: ConnectedGXServerData[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The selected connection type\n */\n @State() selectedConnectionType: ConnectionOption = \"select\";\n\n /**\n * The list of connected GX servers.\n */\n @Prop({ mutable: true }) connectedServersData: ConnectedGXServerData[] = [];\n\n /**\n * The list of recently used servers.\n */\n @Prop() readonly recentlyUsedServersData: ConnectedGXServerData[] = [];\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Confirm' button is pressed and the Select Server option is checked.\n */\n @Prop() readonly selectServerCallback!: (\n authenticationSessionOrigin: AuthenticationSessionOrigin,\n connectionOption: ConnectionOption\n ) => Promise<FormSubmitResult>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.selectedServerUri = this.connectedServersData[0]?.serverUrl;\n this.userName = this.connectedServersData[0]?.gxServerUsername;\n\n this.filteredConnectedServersData = this.connectedServersData;\n }\n\n componentDidRender() {\n if (\n this.selectedConnectionType === \"new\" &&\n this.#serverUrlEL &&\n this.#serverFriendlyNameEL\n ) {\n this.#initializeValidatableControls();\n }\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #confirmHandler = async (): Promise<void> => {\n let formSubmitResult: FormSubmitResult;\n if (this.selectedConnectionType === \"select\") {\n formSubmitResult = await this.selectServerCallback(\n {\n uri: this.selectedServerUri,\n name: this.selectedServerName\n },\n this.selectedConnectionType\n );\n } else {\n formSubmitResult = await this.selectServerCallback(\n {\n uri: this.serverUrlInputValue,\n name: this.serverNameInputValue\n },\n this.selectedConnectionType\n );\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n }\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#serverUrlEL,\n this.#serverFriendlyNameEL\n ];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.filteredConnectedServersData = this.connectedServersData.filter(item =>\n item.serverName.toLowerCase().includes(this.filterValue)\n );\n };\n\n #inputHandler = (\n event: ChEditCustomEvent<string> | InputEvent,\n field: \"serverUrlInputValue\" | \"serverNameInputValue\"\n ) => {\n this.enableConfirmButton = false;\n this[field] = event.detail as string;\n\n const controlId =\n field === \"serverUrlInputValue\" ? \"server-url\" : \"server-name\";\n clearControlError(this.validatableControls, controlId);\n this.#enableConfirmButton();\n };\n\n #enableConfirmButton = () => {\n if (\n this.serverUrlInputValue &&\n this.serverUrlInputValue.length > 0 &&\n this.serverNameInputValue &&\n this.serverNameInputValue.length > 0\n ) {\n this.enableConfirmButton = true;\n } else {\n this.enableConfirmButton = false;\n }\n };\n\n #onConnectedServersRowDoubleClickHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) => {\n this.#selectConnectedServersHandler(event);\n this.#confirmHandler();\n };\n\n #onRecentlyUsedRowDoubleClickHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) => {\n this.#selectRecentlyUsedServersHandler(event);\n this.#confirmHandler();\n };\n\n #selectConnectedServersHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) =>\n this.#handleServerSelection(\n event,\n this.connectedServersData,\n this.#chGridRecentlyUsedServersEl\n );\n\n #selectRecentlyUsedServersHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) =>\n this.#handleServerSelection(\n event,\n this.recentlyUsedServersData,\n this.#chGridConnectedServersEl\n );\n\n #handleServerSelection = async (\n event: CustomEvent<TabularGridRowClickedEvent>,\n serversData: ConnectedGXServerData[],\n otherGridEl: HTMLChTabularGridElement\n ): Promise<void> => {\n if (!this.isFirstSelection) {\n this.#previousSelectedRowId = this.#selectedRowId;\n }\n this.#selectedRowId = event.detail.rowId;\n if (this.#selectedRowId === undefined) {\n this.enableConfirmButton = false;\n this.selectedServerUri = undefined;\n this.selectedServerName = undefined;\n return;\n } else {\n const selectedServer = serversData.find(\n server => server.id === this.#selectedRowId\n );\n this.enableConfirmButton = true;\n this.selectedServerName = selectedServer?.serverName;\n this.selectedServerUri = selectedServer?.serverUrl;\n this.userName = selectedServer?.gxServerUsername || \"\";\n this.isFirstSelection = false;\n await otherGridEl?.selectRow(this.#previousSelectedRowId, false);\n }\n };\n\n #connectionTypeChangedHandler = (event: CustomEvent<string>) => {\n this.selectedConnectionType = event.detail as ConnectionOption;\n if (this.selectedConnectionType === \"new\") {\n this.enableConfirmButton = false;\n this.serverUrlInputValue = \"\";\n }\n this.selectedServerName = \"None\";\n };\n\n #sortTabularGridColumnCallback = (\n e: CustomEvent<TabularGridColumnSortChangedEvent>\n ) => {\n this.filteredConnectedServersData = [\n ...sortTabularGridColumn(\n e,\n this.filteredConnectedServersData,\n \"string\",\n undefined\n )\n ];\n };\n\n #renderTabularGridColumnSet = (\n hideColumnName: boolean = false\n ): HTMLChTabularGridColumnsetElement => {\n return (\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnId=\"icon\"\n class=\"tabular-grid-column tabular-grid-column-icon\"\n columnName=\"Icon\"\n settingable={false}\n columnNameHidden={true}\n size={config.tabularGrid.colSize.maxContent}\n resizable={false}\n sortable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"serverName\"\n class=\"tabular-grid-column\"\n columnName=\"Server Name\"\n settingable={false}\n columnNameHidden={hideColumnName}\n size={config.tabularGrid.colSize.serverName}\n resizable={false}\n sortable={!hideColumnName}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"serverUrl\"\n class=\"tabular-grid-column\"\n columnName=\"Server Url\"\n settingable={false}\n columnNameHidden={hideColumnName}\n size={config.tabularGrid.colSize.auto}\n resizable={false}\n sortable={!hideColumnName}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"userName\"\n class=\"tabular-grid-column\"\n columnName=\"Username\"\n settingable={false}\n columnNameHidden={hideColumnName}\n size={config.tabularGrid.colSize.userName}\n resizable={false}\n sortable={!hideColumnName}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"status\"\n class=\"tabular-grid-column\"\n columnName=\"Status\"\n settingable={false}\n columnNameHidden={hideColumnName}\n size={config.tabularGrid.colSize.maxContent}\n resizable={false}\n sortable={false}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n );\n };\n\n #renderTooltip = (text: string): JSX.Element | null => {\n return text !== \"\" ? (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={null}\n blockAlign=\"outside-end\"\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {text}\n </ch-tooltip>\n ) : null;\n };\n\n #renderTabularGridCommonCells = (server: ConnectedGXServerData) => {\n return [\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#renderIcon(server.accessLevel)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-server-name\">\n {server.serverName}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-server-url\">\n {server.serverUrl}\n {this.#renderTooltip(server.serverUrl)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {server.gxServerUsername}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell text-neutral-gray-400 body-italic-s\">\n {server.isConnected && \"Connected\"}\n </ch-tabular-grid-cell>\n ];\n };\n\n #renderRecentlyUsedServersGrid = (hideColumnName: boolean): Element => {\n return (\n <ch-tabular-grid\n class={\"tabular-grid-recently-used tabular-grid\"}\n rowSelectionMode=\"single\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridRecentlyUsedServersEl = el)\n }\n allowColumnReorder={false}\n onRowClicked={this.#selectRecentlyUsedServersHandler}\n onRowDoubleClicked={this.#onRecentlyUsedRowDoubleClickHandler}\n id=\"recently-used-servers\"\n >\n {this.#renderTabularGridColumnSet(hideColumnName)}\n {this.recentlyUsedServersData.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.recentlyUsedServersData.map(\n (server: ConnectedGXServerData) => (\n <ch-tabular-grid-row rowid={server.id} class=\"tabular-grid-row\">\n {this.#renderTabularGridCommonCells(server)}\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 stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyConnectedServers}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #renderConnectedServersGrid = (): Element => {\n return (\n <div class=\"tabular-grid-wrapper\">\n <div class=\"border-patch\"></div>\n <ch-tabular-grid\n class={\"tabular-grid tabular-grid-all-servers\"}\n rowSelectionMode=\"single\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridConnectedServersEl = el)\n }\n allowColumnReorder={false}\n onRowClicked={this.#selectConnectedServersHandler}\n onRowDoubleClicked={this.#onConnectedServersRowDoubleClickHandler}\n id=\"all-servers\"\n >\n {this.#renderTabularGridColumnSet()}\n {this.filteredConnectedServersData.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.filteredConnectedServersData.map(\n (server: ConnectedGXServerData) => (\n <ch-tabular-grid-row\n rowid={server.id}\n class=\"tabular-grid-row\"\n >\n {this.#renderTabularGridCommonCells(server)}\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 class=\"tabular-grid-rowset-empty\">\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyConnectedServers}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n </div>\n );\n };\n\n #renderIcon = (accessLevel: string): JSX.Element => {\n const icon = accessLevel === \"private\" ? LOCK_ICON : LANGUAGE_ICON;\n return <ch-image class=\"icon-md\" src={icon}></ch-image>;\n };\n\n #renderFooter = () => {\n const isSelectionMode = this.selectedConnectionType === \"select\";\n return (\n <footer\n class={{\n \"control-footer-with-border\": true,\n \"control-footer-space-between\":\n this.selectedConnectionType === \"select\",\n \"space-between\": isSelectionMode,\n \"spacing-body-inline\": true,\n \"spacing-body-block\": true\n }}\n >\n {isSelectionMode && (\n <p class=\"body-italic-m\">Selected: {this.selectedServerName}</p>\n )}\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // confirm button\n class=\"button-primary\"\n onClick={this.enableConfirmButton && this.#confirmHandler}\n disabled={!this.enableConfirmButton}\n >\n {this.#_componentLocale.footer.confirm}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n const connectionTypeClass =\n this.selectedConnectionType === \"new\" && \"new-connection\";\n const recentlyUsedEmptyClass =\n this.recentlyUsedServersData.length === 0 && \"recently-used-empty\";\n return (\n <Host\n class={`widget elevation-1 ${connectionTypeClass} ${recentlyUsedEmptyClass}`}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <main class=\"section\">\n <header class=\"header spacing-body-block-start spacing-body-inline\">\n <div class=\"field-group\">\n <label class=\"body-regular-m text-neutral-gray-400\">\n {this.#_componentLocale.header.title}\n </label>\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#connectionTypeChangedHandler}\n value={this.#versionsSelect[0].value}\n ></ch-radio-group-render>\n\n {this.selectedConnectionType === \"select\" && (\n <ch-edit\n class=\"input search-server\"\n id=\"server-name-search\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={\n this.#_componentLocale.placeholders.searchServers\n }\n accessibleName=\"search server\"\n type=\"search\"\n ></ch-edit>\n )}\n </div>\n </header>\n {this.selectedConnectionType === \"select\" && [\n this.recentlyUsedServersData.length > 0 && (\n <div class=\"field field-block spacing-body-inline\">\n <label class=\"label\" htmlFor=\"recently-used-servers\">\n {this.#_componentLocale.recentlyUsed.title}\n </label>\n {this.#renderRecentlyUsedServersGrid(true)}\n </div>\n ),\n <div class=\"field field-block field-block-all-servers spacing-body-inline\">\n <label class=\"label\" htmlFor=\"all-servers\">\n {this.#_componentLocale.allServers.title}\n </label>\n {this.#renderConnectedServersGrid()}\n </div>\n ]}\n\n {this.selectedConnectionType === \"new\" && (\n <section class=\"spacing-body-inline\">\n <div class=\"layout layout--cols-2\">\n <div class=\"field field-block layout__panel\">\n <label class=\"label\" htmlFor=\"server-url\">\n {this.#_componentLocale.labels.serverUrl}\n </label>\n <ch-edit\n // server url\n class=\"input\"\n id=\"server-url\"\n value={this.serverUrlInputValue}\n onInput={event =>\n this.#inputHandler(event, \"serverUrlInputValue\")\n }\n placeholder={this.#_componentLocale.placeholders.serverUrl}\n ref={el => (this.#serverUrlEL = el as HTMLChEditElement)}\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#serverUrlEL)}\n </div>\n\n <div class=\"field field-block layout__panel\">\n <label class=\"label\" htmlFor=\"server-name\">\n {this.#_componentLocale.labels.serverName}\n </label>\n <ch-edit\n // server friendly name\n class=\"input\"\n id=\"server-name\"\n value={this.serverNameInputValue}\n onInput={event =>\n this.#inputHandler(event, \"serverNameInputValue\")\n }\n placeholder={this.#_componentLocale.placeholders.serverName}\n maxLength={18}\n ref={el =>\n (this.#serverFriendlyNameEL = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#serverFriendlyNameEL)}\n </div>\n </div>\n </section>\n )}\n\n {this.#renderFooter()}\n </main>\n </Host>\n );\n }\n}\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n};\n\nexport type ConnectionOption = \"select\" | \"new\";\n\nexport type ServerAccessLevel = \"public\" | \"private\";\n\nexport type AuthenticationSessionOrigin = {\n uri: string;\n name: string;\n};\n\nexport type ConnectedGXServerData = {\n id: string;\n serverUrl: string;\n accessLevel: ServerAccessLevel;\n masterSessionUsername: string;\n serverName?: string;\n gxServerUsername: string;\n isConnected: boolean;\n};\n\nexport type NewServerConnectionData = {\n serverUrl: string;\n serverName: string;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,MAAMA,IAAoB;;;;;;;;;;;;;;;;;ACyB1B,MAAMC,IAA8B,EAClC,qBACA,oBACA,gBACA,oBACA,iBACA,sBACA,uBACA;;AAGF,MAAMC,IAAYC,EAAY;EAC5BC,UAAU;EACVC,MAAM;EACNC,WAAW;;;AAGb,MAAMC,IAAYJ,EAAY;EAC5BC,UAAU;EACVC,MAAM;EACNC,WAAW;;;AAGb,MAAME,IAAgBL,EAAY;EAChCC,UAAU;EACVC,MAAM;EACNC,WAAW;;;MASAG,IAAmB;;;IAC9BC,EAAAC,IAAAC,MAAgBT,EAAY;MAC1BC,UAAU;MACVC,MAAM;MACNC,WAAW;;IAGbO,EAAAF,IAAAC,MAAyC,EACvC;MAAEE,OAAO;MAAUC,SAAS;OAC5B;MAAED,OAAO;MAAOC,SAAS;;IAK3BC,EAAAL,IAAAC,WAAA;IAEAK,EAAAN,IAAAC,WAAA;IACAM,EAAAP,IAAAC,WAAA;IACAO,EAAAR,IAAAC,WAAA;IACAQ,EAAAT,IAAAC,WAAA;IACAS,EAAAV,IAAAC,WAAA;IACAU,EAAAX,IAAAC,WAAA;IAiGAW,EAAAZ,IAAAC,OAAiB;MACfA,KAAKY;AAAgB;IAGvBC,EAAAd,IAAAC,OAAkBc;MAChB,IAAIC;MACJ,IAAIf,KAAKgB,2BAA2B,UAAU;QAC5CD,UAAyBf,KAAKiB,qBAC5B;UACEC,KAAKlB,KAAKmB;UACV1B,MAAMO,KAAKoB;WAEbpB,KAAKgB;aAEF;QACLD,UAAyBf,KAAKiB,qBAC5B;UACEC,KAAKlB,KAAKqB;UACV5B,MAAMO,KAAKsB;WAEbtB,KAAKgB;QAEPhB,KAAKuB,sBAAsBC,EACzBT,GACAf,KAAKuB;;;;;QAOXE,EAAA1B,IAAAC,OACE0B;;MAEA,SAAAC,KAAAC,IAAA5B,KAAKuB,yBAAmB,QAAAK,WAAA,aAAAA,EAAEC,IAAIH,MAAgB,QAAhBA,WAAgB,aAAhBA,EAAkBI,SAAG,QAAAH,WAAA,aAAAA,EAAEI,eACrDC,IAAAhC,KAAKuB,oBAAoBM,IAAIH,EAAiBI,SAAG,QAAAE,WAAA,aAAAA,EAAEC,YACjDC,EAAA;QACEC,OAAM;QACNC,eAAeV;QACfW,YAAYC,EAAOC,gBAAgBF;QACnCG,aAAaF,EAAOC,gBAAgBC;QACpCC,OAAOH,EAAOC,gBAAgBE;SAE7BzC,KAAKuB,oBAAoBM,IAAIH,EAAiBI,IAAIG;AAEtD;IAEHS,EAAA3C,IAAAC,OAAiC;;MAE/B,MAAMuB,IAAqC,EACzCoB,EAAA3C,MAAIS,GAAA,MACJkC,EAAA3C,MAAIU,GAAA;MAENa,EAAoBqB,SAAQC;QAC1B,IAAIA,EAAmBf,IAAI;UACzB9B,KAAKuB,oBAAoBxB,IAAI8C,EAAmBf,IAAI;YAClDgB,WAAWD;YACXd,UAAU;YACVE,SAASc;;;;AAGb;IAGJC,EAAAjD,IAAAC,OACEiD;MAEAjD,KAAKkD,cAAeD,EAAME,OAAkBC;MAC5CpD,KAAKqD,+BAA+BrD,KAAKsD,qBAAqBC,QAAOC,KACnEA,EAAKC,WAAWL,cAAcM,SAAS1D,KAAKkD;AAC7C;IAGHS,EAAA5D,IAAAC,OAAgB,CACdiD,GACAW;MAEA5D,KAAK6D,sBAAsB;MAC3B7D,KAAK4D,KAASX,EAAME;MAEpB,MAAMW,IACJF,MAAU,wBAAwB,eAAe;MACnDG,EAAkB/D,KAAKuB,qBAAqBuC;MAC5CnB,EAAA3C,MAAIgE,GAAA,KAAqBC,KAAzBjE;AAA2B;IAG7BgE,EAAAjE,IAAAC,OAAuB;MACrB,IACEA,KAAKqB,uBACLrB,KAAKqB,oBAAoB6C,SAAS,KAClClE,KAAKsB,wBACLtB,KAAKsB,qBAAqB4C,SAAS,GACnC;QACAlE,KAAK6D,sBAAsB;aACtB;QACL7D,KAAK6D,sBAAsB;;;IAI/BM,EAAApE,IAAAC,OACEiD;MAEAN,EAAA3C,MAAIoE,GAAA,KAA+BH,KAAnCjE,MAAoCiD;MACpCN,EAAA3C,MAAIa,GAAA,KAAgBoD,KAApBjE;AAAsB;IAGxBqE,EAAAtE,IAAAC,OACEiD;MAEAN,EAAA3C,MAAIsE,GAAA,KAAkCL,KAAtCjE,MAAuCiD;MACvCN,EAAA3C,MAAIa,GAAA,KAAgBoD,KAApBjE;AAAsB;IAGxBoE,EAAArE,IAAAC,OACEiD,KAEAN,EAAA3C,MAAIuE,GAAA,KAAuBN,KAA3BjE,MACEiD,GACAjD,KAAKsD,sBACLX,EAAA3C,MAAIK,GAAA;IAGRiE,EAAAvE,IAAAC,OACEiD,KAEAN,EAAA3C,MAAIuE,GAAA,KAAuBN,KAA3BjE,MACEiD,GACAjD,KAAKwE,yBACL7B,EAAA3C,MAAIM,GAAA;IAGRiE,EAAAxE,IAAAC,OAAyBc,OACvBmC,GACAwB,GACAC;MAEA,KAAK1E,KAAK2E,kBAAkB;QAC1BC,EAAA5E,MAAIO,GAA0BoC,EAAA3C,MAAIQ,GAAA,MAAe;;MAEnDoE,EAAA5E,MAAIQ,GAAkByC,EAAME,OAAO0B,OAAK;MACxC,IAAIlC,EAAA3C,MAAIQ,GAAA,SAAoBuC,WAAW;QACrC/C,KAAK6D,sBAAsB;QAC3B7D,KAAKmB,oBAAoB4B;QACzB/C,KAAKoB,qBAAqB2B;QAC1B;aACK;QACL,MAAM+B,IAAiBL,EAAYM,MACjCC,KAAUA,EAAOlD,OAAOa,EAAA3C,MAAIQ,GAAA;QAE9BR,KAAK6D,sBAAsB;QAC3B7D,KAAKoB,qBAAqB0D,MAAc,QAAdA,WAAc,aAAdA,EAAgBrB;QAC1CzD,KAAKmB,oBAAoB2D,MAAc,QAAdA,WAAc,aAAdA,EAAgBG;QACzCjF,KAAKkF,YAAWJ,MAAc,QAAdA,WAAc,aAAdA,EAAgBK,qBAAoB;QACpDnF,KAAK2E,mBAAmB;eAClBD,MAAW,QAAXA,WAAW,aAAXA,EAAaU,UAAUzC,EAAA3C,MAAIO,GAAA,MAAyB;;;IAI9D8E,EAAAtF,IAAAC,OAAiCiD;MAC/BjD,KAAKgB,yBAAyBiC,EAAME;MACpC,IAAInD,KAAKgB,2BAA2B,OAAO;QACzChB,KAAK6D,sBAAsB;QAC3B7D,KAAKqB,sBAAsB;;MAE7BrB,KAAKoB,qBAAqB;AAAM;IAGlCkE,EAAAvF,IAAAC,OACEuF;MAEAvF,KAAKqD,+BAA+B,KAC/BmC,EACDD,GACAvF,KAAKqD,8BACL,UACAN;AAEH;IAGH0C,EAAA1F,IAAAC,OAA8B,CAC5B0F,IAA0B,UAGxBxD,EAAA;MAA2BC,OAAM;OAC/BD,EAAA;MACEyD,UAAS;MACTxD,OAAM;MACNyD,YAAW;MACXC,aAAa;MACbC,kBAAkB;MAClBC,MAAMzD,EAAO0D,YAAYC,QAAQC;MACjCC,WAAW;MACXC,UAAU;QAEZlE,EAAA;MACEyD,UAAS;MACTxD,OAAM;MACNyD,YAAW;MACXC,aAAa;MACbC,kBAAkBJ;MAClBK,MAAMzD,EAAO0D,YAAYC,QAAQxC;MACjC0C,WAAW;MACXC,WAAWV;MACXW,qBAAqB1D,EAAA3C,MAAIsF,GAAA;QAE3BpD,EAAA;MACEyD,UAAS;MACTxD,OAAM;MACNyD,YAAW;MACXC,aAAa;MACbC,kBAAkBJ;MAClBK,MAAMzD,EAAO0D,YAAYC,QAAQK;MACjCH,WAAW;MACXC,WAAWV;MACXW,qBAAqB1D,EAAA3C,MAAIsF,GAAA;QAE3BpD,EAAA;MACEyD,UAAS;MACTxD,OAAM;MACNyD,YAAW;MACXC,aAAa;MACbC,kBAAkBJ;MAClBK,MAAMzD,EAAO0D,YAAYC,QAAQf;MACjCiB,WAAW;MACXC,WAAWV;MACXW,qBAAqB1D,EAAA3C,MAAIsF,GAAA;QAE3BpD,EAAA;MACEyD,UAAS;MACTxD,OAAM;MACNyD,YAAW;MACXC,aAAa;MACbC,kBAAkBJ;MAClBK,MAAMzD,EAAO0D,YAAYC,QAAQC;MACjCC,WAAW;MACXC,UAAU;;IAMlBG,EAAAxG,IAAAC,OAAkBwG,KACTA,MAAS,KACdtE,EAAA;MACEC,OAAM;MACNC,eAAe;MACfC,YAAW;MACXG,aAAaF,EAAOC,gBAAgBC;MACpCC,OAAOH,EAAOC,gBAAgBE;OAE7B+D,KAED;IAGNC,EAAA1G,IAAAC,OAAiCgF,KACxB,EACL9C,EAAA;MAAsBC,OAAM;OACzBQ,EAAA3C,MAAI0G,GAAA,KAAYzC,KAAhBjE,MAAiBgF,EAAO2B,eAE3BzE,EAAA;MAAsBC,OAAM;OACzB6C,EAAOvB,aAEVvB,EAAA;MAAsBC,OAAM;OACzB6C,EAAOC,WACPtC,EAAA3C,MAAIuG,GAAA,KAAetC,KAAnBjE,MAAoBgF,EAAOC,aAE9B/C,EAAA;MAAsBC,OAAM;OACzB6C,EAAOG,mBAEVjD,EAAA;MAAsBC,OAAM;OACzB6C,EAAO4B,eAAe;IAK7BC,EAAA9G,IAAAC,OAAkC0F,KAE9BxD,EAAA;MACEC,OAAO;MACP2E,kBAAiB;MACjBC,KAAMC,KACHpC,EAAA5E,MAAIK,GAAgC2G,GAAE;MAEzCC,oBAAoB;MACpBC,cAAcvE,EAAA3C,MAAIsE,GAAA;MAClB6C,oBAAoBxE,EAAA3C,MAAIqE,GAAA;MACxBvC,IAAG;OAEFa,EAAA3C,MAAIyF,GAAA,KAA4BxB,KAAhCjE,MAAiC0F,IACjC1F,KAAKwE,wBAAwBN,SAAS,IACrChC,EAAA;MAAwBC,OAAM;OAC3BnC,KAAKwE,wBAAwB4C,KAC3BpC,KACC9C,EAAA;MAAqBmF,OAAOrC,EAAOlD;MAAIK,OAAM;OAC1CQ,EAAA3C,MAAIyG,GAAA,KAA8BxC,KAAlCjE,MAAmCgF,SAM5C9C,EAAA;MAAwBC,OAAM;OAC5BD,EAAA,sCACEA,EAAA;MACEoF,cAAchI;MACdiI,YAAY5E,EAAA3C,MAAII,GAAA,KAAmBoH;MACnCC,YAAY;;IAS1BC,EAAA3H,IAAAC,OAA8B,MAE1BkC,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAKC,OAAM;QACXD,EAAA;MACEC,OAAO;MACP2E,kBAAiB;MACjBC,KAAMC,KACHpC,EAAA5E,MAAIM,GAA6B0G,GAAE;MAEtCC,oBAAoB;MACpBC,cAAcvE,EAAA3C,MAAIoE,GAAA;MAClB+C,oBAAoBxE,EAAA3C,MAAImE,GAAA;MACxBrC,IAAG;OAEFa,EAAA3C,MAAIyF,GAAA,KAA4BxB,KAAhCjE,OACAA,KAAKqD,6BAA6Ba,SAAS,IAC1ChC,EAAA;MAAwBC,OAAM;OAC3BnC,KAAKqD,6BAA6B+D,KAChCpC,KACC9C,EAAA;MACEmF,OAAOrC,EAAOlD;MACdK,OAAM;OAELQ,EAAA3C,MAAIyG,GAAA,KAA8BxC,KAAlCjE,MAAmCgF,SAM5C9C,EAAA;MAAwBC,OAAM;OAC5BD,EAAA;MAA8BC,OAAM;OAClCD,EAAA;MACEoF,cAAchI;MACdiI,YAAY5E,EAAA3C,MAAII,GAAA,KAAmBoH;MACnCC,YAAY;;IAU5Bf,EAAA3G,IAAAC,OAAe2G;MACb,MAAMgB,IAAOhB,MAAgB,YAAYhH,IAAYC;MACrD,OAAOsC,EAAA;QAAUC,OAAM;QAAUyF,KAAKD;;AAAiB;IAGzDE,EAAA9H,IAAAC,OAAgB;MACd,MAAM8H,IAAkB9H,KAAKgB,2BAA2B;MACxD,OACEkB,EAAA;QACEC,OAAO;UACL,8BAA8B;UAC9B,gCACEnC,KAAKgB,2BAA2B;UAClC,iBAAiB8G;UACjB,uBAAuB;UACvB,sBAAsB;;SAGvBA,KACC5F,EAAA;QAAGC,OAAM;SAAe,cAAYnC,KAAKoB,qBAE3Cc,EAAA;QAAKC,OAAM;SACTD,EAAA;;QAEEC,OAAM;QACN4F,SAASpF,EAAA3C,MAAIW,GAAA;SAEZgC,EAAA3C,MAAII,GAAA,KAAmB4H,OAAOC,SAGjC/F,EAAA;;QAEEC,OAAM;QACN4F,SAAS/H,KAAK6D,uBAAuBlB,EAAA3C,MAAIa,GAAA;QACzCqH,WAAWlI,KAAK6D;SAEflB,EAAA3C,MAAII,GAAA,KAAmB4H,OAAOG;AAG5B;+BA1e2B;4BAKH;+BAKE;gCAKC;;8BAUU;;uBAUnB;wCAKkC;+BAElC,IAAIC;kCAKiB;gCAKqB;mCAKL;;;;EAepE,uBAAMC;;IACJzD,EAAA5E,MAAII,SAA2BkI,EAAOC,oBAAoBvI,KAAKgH,KAAG;IAClEhH,KAAKmB,qBAAoBS,IAAA5B,KAAKsD,qBAAqB,QAAE,QAAA1B,WAAA,aAAAA,EAAEqD;IACvDjF,KAAKkF,YAAWvD,IAAA3B,KAAKsD,qBAAqB,QAAE,QAAA3B,WAAA,aAAAA,EAAEwD;IAE9CnF,KAAKqD,+BAA+BrD,KAAKsD;;EAG3C,kBAAAkF;IACE,IACExI,KAAKgB,2BAA2B,SAChC2B,EAAA3C,MAAIS,GAAA,QACJkC,EAAA3C,MAAIU,GAAA,MACJ;MACAiC,EAAA3C,MAAI0C,GAAA,KAA+BuB,KAAnCjE;;;EAwZJ,MAAAyI;IACE,MAAMC,IACJ1I,KAAKgB,2BAA2B,SAAS;IAC3C,MAAM2H,IACJ3I,KAAKwE,wBAAwBN,WAAW,KAAK;IAC/C,OACEhC,EAAC0G,GAAI;MACHzG,OAAO,sBAAsBuG,KAAuBC;OAEpDzG,EAAA;MAAU2G,OAAOxJ;QACjB6C,EAAA;MAAMC,OAAM;OACVD,EAAA;MAAQC,OAAM;OACZD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;OACVQ,EAAA3C,MAAII,GAAA,KAAmB0I,OAAOC,QAEjC7G,EAAA;MACEC,OAAM;MACN0G,OAAOlG,EAAA3C,MAAIC,GAAA;MACX+I,UAAUrG,EAAA3C,MAAIqF,GAAA;MACdnF,OAAOyC,EAAA3C,MAAIC,GAAA,KAAiB,GAAGC;QAGhCF,KAAKgB,2BAA2B,YAC/BkB,EAAA;MACEC,OAAM;MACNL,IAAG;MACHmH,aAAatG,EAAA3C,MAAIF,GAAA;MACjBoJ,SAASvG,EAAA3C,MAAIgD,GAAA;MACbmG,aACExG,EAAA3C,MAAII,GAAA,KAAmBgJ,aAAaC;MAEtCC,gBAAe;MACfC,MAAK;UAKZvJ,KAAKgB,2BAA2B,YAAY,EAC3ChB,KAAKwE,wBAAwBN,SAAS,KACpChC,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQqH,SAAQ;OAC1B7G,EAAA3C,MAAII,GAAA,KAAmBqJ,aAAaV,QAEtCpG,EAAA3C,MAAI6G,GAAA,KAA+B5C,KAAnCjE,MAAoC,QAGzCkC,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQqH,SAAQ;OAC1B7G,EAAA3C,MAAII,GAAA,KAAmBsJ,WAAWX,QAEpCpG,EAAA3C,MAAI0H,GAAA,KAA4BzD,KAAhCjE,UAIJA,KAAKgB,2BAA2B,SAC/BkB,EAAA;MAASC,OAAM;OACbD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQqH,SAAQ;OAC1B7G,EAAA3C,MAAII,GAAA,KAAmBuJ,OAAO1E,YAEjC/C,EAAA;;MAEEC,OAAM;MACNL,IAAG;MACH5B,OAAOF,KAAKqB;MACZ6H,SAASjG,KACPN,EAAA3C,MAAI2D,GAAA,KAAcM,KAAlBjE,MAAmBiD,GAAO;MAE5BkG,aAAaxG,EAAA3C,MAAII,GAAA,KAAmBgJ,aAAanE;MACjD8B,KAAKC,KAAOpC,EAAA5E,MAAIS,GAAgBuG,GAAuB;QAExDrE,EAAA3C,MAAIyB,GAAA,KAAuBwC,KAA3BjE,MAA4B2C,EAAA3C,MAAIS,GAAA,QAGnCyB,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQqH,SAAQ;OAC1B7G,EAAA3C,MAAII,GAAA,KAAmBuJ,OAAOlG,aAEjCvB,EAAA;;MAEEC,OAAM;MACNL,IAAG;MACH5B,OAAOF,KAAKsB;MACZ4H,SAASjG,KACPN,EAAA3C,MAAI2D,GAAA,KAAcM,KAAlBjE,MAAmBiD,GAAO;MAE5BkG,aAAaxG,EAAA3C,MAAII,GAAA,KAAmBgJ,aAAa3F;MACjDmG,WAAW;MACX7C,KAAKC,KACFpC,EAAA5E,MAAIU,GAAyBsG,GAAuB;QAGxDrE,EAAA3C,MAAIyB,GAAA,KAAuBwC,KAA3BjE,MAA4B2C,EAAA3C,MAAIU,GAAA,UAMxCiC,EAAA3C,MAAI6H,GAAA,KAAc5D,KAAlBjE"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { r as t, h as e, H as n } from "./p-9b9ccd0c.js";
|
|
2
|
-
|
|
3
|
-
const i = ":host {\n display: block;\n}\n\nsection {\n border-top: 1px solid #ccc;\n margin-top: 300px;\n container-name: section;\n container-type: inline-size;\n}\n\ngxg-combo-box {\n opacity: 1;\n}\n\n@container section (width < 400px) {\n gxg-combo-box {\n opacity: 0.5;\n }\n}";
|
|
4
|
-
|
|
5
|
-
var o = undefined && undefined.__classPrivateFieldGet || function(t, e, n, i) {
|
|
6
|
-
if (n === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
|
|
7
|
-
if (typeof e === "function" ? t !== e || !i : !e.has(t)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
8
|
-
return n === "m" ? i : n === "a" ? i.call(t) : i ? i.value : e.get(t);
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
var a = undefined && undefined.__classPrivateFieldSet || function(t, e, n, i, o) {
|
|
12
|
-
if (i === "m") throw new TypeError("Private method is not writable");
|
|
13
|
-
if (i === "a" && !o) throw new TypeError("Private accessor was defined without a setter");
|
|
14
|
-
if (typeof e === "function" ? t !== e || !o : !e.has(t)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
15
|
-
return i === "a" ? o.call(t, n) : o ? o.value = n : e.set(t, n), n;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
var r, s, c, d, p;
|
|
19
|
-
|
|
20
|
-
const l = [ "resets/box-sizing",
|
|
21
|
-
// "utils/form",
|
|
22
|
-
// "utils/layout",
|
|
23
|
-
// "utils/typography",
|
|
24
|
-
"components/button",
|
|
25
|
-
// "components/checkbox",
|
|
26
|
-
"components/list-box" ];
|
|
27
|
-
|
|
28
|
-
const h = class {
|
|
29
|
-
constructor(e) {
|
|
30
|
-
t(this, e);
|
|
31
|
-
/* THIS IS A COMPONENT FOR TESTING PURPOSES. DO WHATEVER YOU WANT.*/ r.set(this, void 0);
|
|
32
|
-
s.set(this, [ {
|
|
33
|
-
id: "id-1-1",
|
|
34
|
-
caption: "Item 1-1",
|
|
35
|
-
type: "actionable"
|
|
36
|
-
}, {
|
|
37
|
-
id: "id-1-2",
|
|
38
|
-
caption: "Item 1-2",
|
|
39
|
-
type: "actionable"
|
|
40
|
-
}, {
|
|
41
|
-
id: "id-1-3",
|
|
42
|
-
caption: "Item 1-3",
|
|
43
|
-
type: "actionable"
|
|
44
|
-
} ]);
|
|
45
|
-
c.set(this, [ {
|
|
46
|
-
id: "id-2-1",
|
|
47
|
-
caption: "Item 2-1",
|
|
48
|
-
type: "actionable"
|
|
49
|
-
}, {
|
|
50
|
-
id: "id-2-2",
|
|
51
|
-
caption: "Item 2-2",
|
|
52
|
-
type: "actionable"
|
|
53
|
-
}, {
|
|
54
|
-
id: "id-2-3",
|
|
55
|
-
caption: "Item 2-3",
|
|
56
|
-
type: "actionable"
|
|
57
|
-
} ]);
|
|
58
|
-
d.set(this, (() => {
|
|
59
|
-
o(this, r, "f").model = [];
|
|
60
|
-
o(this, r, "f").model = o(this, s, "f");
|
|
61
|
-
}));
|
|
62
|
-
p.set(this, (() => {
|
|
63
|
-
o(this, r, "f").model = [];
|
|
64
|
-
o(this, r, "f").model = o(this, c, "f");
|
|
65
|
-
}));
|
|
66
|
-
this.name = undefined;
|
|
67
|
-
this.filterOn = true;
|
|
68
|
-
}
|
|
69
|
-
// 4.PUBLIC PROPERTY API | WATCH'S //
|
|
70
|
-
// 5.EVENTS (EMIT) //
|
|
71
|
-
componentWillLoad() {}
|
|
72
|
-
// 6.COMPONENT LIFECYCLE METHODS //
|
|
73
|
-
// 7.LISTENERS //
|
|
74
|
-
// 8.PUBLIC METHODS API //
|
|
75
|
-
// 9.LOCAL METHODS //
|
|
76
|
-
// 10.RENDER() FUNCTION //
|
|
77
|
-
render() {
|
|
78
|
-
return e(n, null, e("ch-theme", {
|
|
79
|
-
model: l
|
|
80
|
-
}), e("ch-action-list-render", {
|
|
81
|
-
class: "list-box",
|
|
82
|
-
selection: "single",
|
|
83
|
-
model: o(this, s, "f"),
|
|
84
|
-
ref: t => a(this, r, t, "f")
|
|
85
|
-
}), e("button", {
|
|
86
|
-
class: "button-primary",
|
|
87
|
-
onClick: o(this, d, "f")
|
|
88
|
-
}, "set model one"), e("button", {
|
|
89
|
-
class: "button-primary",
|
|
90
|
-
onClick: o(this, p, "f")
|
|
91
|
-
}, "set model two"));
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
r = new WeakMap, s = new WeakMap, c = new WeakMap, d = new WeakMap, p = new WeakMap;
|
|
96
|
-
|
|
97
|
-
h.style = i;
|
|
98
|
-
|
|
99
|
-
export { h as gx_ide_test };
|
|
100
|
-
//# sourceMappingURL=p-3b808c6f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["testCss","CSS_BUNDLES","GxIdeTest","_GxIdeTest_listBoxRef","set","this","_GxIdeTest_actionListModelOne","id","caption","type","_GxIdeTest_actionListModelTwo","_GxIdeTest_modelOneButtonHandler","__classPrivateFieldGet","model","_GxIdeTest_modelTwoButtonHandler","componentWillLoad","render","h","Host","class","selection","ref","el","__classPrivateFieldSet","onClick"],"sources":["src/components/_test/test.scss?tag=gx-ide-test&encapsulation=shadow","src/components/_test/test.tsx"],"sourcesContent":[":host {\n display: block;\n}\nsection {\n border-top: 1px solid #ccc;\n margin-top: 300px;\n container-name: section;\n container-type: inline-size;\n}\ngxg-combo-box {\n opacity: 1;\n}\n@container section (width < 400px) {\n gxg-combo-box {\n opacity: 0.5;\n }\n}\n","/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, State } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n \"components/button\",\n // \"components/checkbox\",\n \"components/list-box\"\n];\n\n@Component({\n tag: \"gx-ide-test\",\n styleUrl: \"test.scss\",\n shadow: true\n})\nexport class GxIdeTest {\n /* THIS IS A COMPONENT FOR TESTING PURPOSES. DO WHATEVER YOU WANT.*/\n #listBoxRef!: HTMLChActionListRenderElement;\n #actionListModelOne: ActionListItemModel[] = [\n {\n id: \"id-1-1\",\n caption: \"Item 1-1\",\n type: \"actionable\"\n },\n {\n id: \"id-1-2\",\n caption: \"Item 1-2\",\n type: \"actionable\"\n },\n {\n id: \"id-1-3\",\n caption: \"Item 1-3\",\n type: \"actionable\"\n }\n ];\n\n #actionListModelTwo: ActionListItemModel[] = [\n {\n id: \"id-2-1\",\n caption: \"Item 2-1\",\n type: \"actionable\"\n },\n {\n id: \"id-2-2\",\n caption: \"Item 2-2\",\n type: \"actionable\"\n },\n {\n id: \"id-2-3\",\n caption: \"Item 2-3\",\n type: \"actionable\"\n }\n ];\n\n #modelOneButtonHandler = () => {\n this.#listBoxRef.model = [];\n this.#listBoxRef.model = this.#actionListModelOne;\n };\n\n #modelTwoButtonHandler = () => {\n this.#listBoxRef.model = [];\n this.#listBoxRef.model = this.#actionListModelTwo;\n };\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component name\n */\n @Prop() readonly name: string;\n\n // 2. REFERENCE TO ELEMENTS //\n\n // 3.STATE() VARIABLES //\n\n @State() filterOn: boolean = true;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n // 5.EVENTS (EMIT) //\n\n componentWillLoad() {}\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <ch-action-list-render\n class=\"list-box\"\n selection=\"single\"\n model={this.#actionListModelOne}\n ref={(el: HTMLChActionListRenderElement) =>\n (this.#listBoxRef = el as HTMLChActionListRenderElement)\n }\n ></ch-action-list-render>\n <button class=\"button-primary\" onClick={this.#modelOneButtonHandler}>\n set model one\n </button>\n <button class=\"button-primary\" onClick={this.#modelTwoButtonHandler}>\n set model two\n </button>\n </Host>\n );\n }\n}\n"],"mappings":";;AAAA,MAAMA,IAAU;;;;;;;;;;;;;;;;;ACMhB,MAAMC,IAA8B,EAClC;;;;AAIA;;AAEA;;MAQWC,IAAS;;;4EAEpBC,EAAAC,IAAAC,WAAA;IACAC,EAAAF,IAAAC,MAA6C,EAC3C;MACEE,IAAI;MACJC,SAAS;MACTC,MAAM;OAER;MACEF,IAAI;MACJC,SAAS;MACTC,MAAM;OAER;MACEF,IAAI;MACJC,SAAS;MACTC,MAAM;;IAIVC,EAAAN,IAAAC,MAA6C,EAC3C;MACEE,IAAI;MACJC,SAAS;MACTC,MAAM;OAER;MACEF,IAAI;MACJC,SAAS;MACTC,MAAM;OAER;MACEF,IAAI;MACJC,SAAS;MACTC,MAAM;;IAIVE,EAAAP,IAAAC,OAAyB;MACvBO,EAAAP,MAAIF,GAAA,KAAaU,QAAQ;MACzBD,EAAAP,MAAIF,GAAA,KAAaU,QAAQD,EAAAP,MAAIC,GAAA;AAAoB;IAGnDQ,EAAAV,IAAAC,OAAyB;MACvBO,EAAAP,MAAIF,GAAA,KAAaU,QAAQ;MACzBD,EAAAP,MAAIF,GAAA,KAAaU,QAAQD,EAAAP,MAAIK,GAAA;AAAoB;;oBActB;;;;EAM7B,iBAAAK,IAAiB;;;;;;EAYjB,MAAAC;IACE,OACEC,EAACC,GAAI,MACHD,EAAA;MAAUJ,OAAOZ;QAEjBgB,EAAA;MACEE,OAAM;MACNC,WAAU;MACVP,OAAOD,EAAAP,MAAIC,GAAA;MACXe,KAAMC,KACHC,EAAAlB,MAAIF,GAAemB,GAAmC;QAG3DL,EAAA;MAAQE,OAAM;MAAiBK,SAASZ,EAAAP,MAAIM,GAAA;OAAuB,kBAGnEM,EAAA;MAAQE,OAAM;MAAiBK,SAASZ,EAAAP,MAAIS,GAAA;OAAuB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["bringChangesCss","CSS_BUNDLES","COMBO_BOX_ALL_VALUE","DETAIL_LABEL_CLASSES","ADD_ICON","getIconPath","category","name","colorType","EDITED_ICON","FILTER_ICON","SEARCH_ICON","SUBSTRACT_ICON","WARNING_ICON","ERROR_ICON","GxIdeTeamDevBringChanges","_GxIdeTeamDevBringChanges_componentLocale","set","this","_GxIdeTeamDevBringChanges_commitLabel","_GxIdeTeamDevBringChanges_comboBoxStatesModel","_GxIdeTeamDevBringChanges_checkedObjectsIdsArray","_GxIdeTeamDevBringChanges_formatComments","commitInformation","length","comment","mergedComment","map","commit","i","isLast","afterCommentBreakline","id","_GxIdeTeamDevBringChanges_mergeCheckedClickedHandler","async","merging","newobjectsStatesMap","Map","objectsStatesMap","__classPrivateFieldGet","forEach","checkedObjectId","operationType","mergeObjectsCallback","_GxIdeTeamDevBringChanges_mergeSingleObject","objectId","_GxIdeTeamDevBringChanges_renderActionCellContent","actionTaken","icon","caption","iconColor","objects","actions","delete","insert","modify","h","class","type","src","style","backgroundColor","_GxIdeTeamDevBringChanges_renderCommitsNumbers","onlyNumbers","_a","_b","loading","_GxIdeTeamDevBringChanges_renderFormatedDate","date","dateObject","Date","lang","navigator","languages","language","toLocaleDateString","toLocaleTimeString","hour","minute","hour12","_GxIdeTeamDevBringChanges_renderObjectStateWithIcon","objectType","states","reverting","classes","revertPillAsButton","onClick","call","statesForButton","_GxIdeTeamDevBringChanges_renderObjectsRows","objectsFiltered","commitObject","marked","markedObjectsSet","has","alreadyMerged","alreadyMergedObjectsIdsArray","find","errorOrWarningMessage","commitObjectsMessagesMap","get","state","MESSAGE_ICON","key","rowid","ref","el","setAttribute","size","renderObjectTypeWithIcon","description","_GxIdeTeamDevBringChanges_rowContextMenuHandler","ev","preventDefault","selectedRowsIds","tabularGridEl","getSelectedRows","contextMenuCallback","selection","clientX","detail","clientY","_GxIdeTeamDevBringChanges_rowMarkingChangedHandler","event","newobjectsMarkedSet","Set","markedRowsIds","rowsId","checkedObjectsIgnoringAlreadyMerged","filter","markedObjectId","includes","__classPrivateFieldSet","add","atLeastOneObjectIsChecked","objectCurrentState","markedRowIndex","findIndex","splice","_GxIdeTeamDevBringChanges_searchInputHandler","searchValue","toLowerCase","_GxIdeTeamDevBringChanges_updateFilteredObjects","_GxIdeTeamDevBringChanges_stateChangedHandler","stateFilterValue","filteredObjects","commitObjects","object","objectState","includesName","includesType","includesDescription","_GxIdeTeamDevBringChanges_sortTabularGridColumnCallback","e","columnId","objectProperty","dateType","COLUMNS_IDS","sortTabularGridColumn","objectsStatesMapChanged","newCommitObjectsStateMap","someObjectIsMerging","entries","commitObjectsChanged","newCommitObjects","componentWillLoad","Locale","getComponentStrings","commmits","commmit","all","value","warning","error","reverted","merged","updateObjectState","newState","message","checkedObject","push","markRow","render","enableRichRowSelector","disableControls","Host","model","commitDetail","revertChangesDetail","bringChangesDetail","genexusServer","href","target","knowledgeBase","currentVersion","mergeFromVersion","title","ids","from","to","htmlFor","comments","multiline","readonly","hideFilters","disabled","startImgSrc","placeholder","searchPlaceholder","onInput","statePlaceholder","revertSelected","mergeSelected","keyboardNavigationMode","rowSelectionMode","onRowMarkingChanged","onRowContextMenu","columnName","columnType","richRowSelector","richRowSelectorMode","settingable","sortable","onColumnSortChanged","config","tabularGrid","colSize","action","status","isAnimated","stateIconSrc","stateTitle","cancelLabel","loader","loaderTitle","show"],"sources":["src/components/team-dev/bring-changes/bring-changes.scss?tag=gx-ide-team-dev-bring-changes&encapsulation=shadow","src/components/team-dev/bring-changes/bring-changes.tsx"],"sourcesContent":["@import \"../common/styles.scss\";\n@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n:host {\n --pill-border-radius: 12px;\n --pill-padding-inline: 8px;\n --pill-padding-block: 2px;\n --pill-font-size: var(--font-size-body-s);\n\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content max-content 1fr;\n}\n$header-item-common-inline-padding: 24px;\n$header-item-common-separator-border: 1px solid\n var(--mer-border-color__on-elevation--01);\n\n%header-item-common-inline-sizes {\n max-inline-size: 250px;\n min-inline-size: 180px;\n}\n%header-item-common {\n padding-inline: $header-item-common-inline-padding;\n border-inline-end: $header-item-common-separator-border;\n @extend %header-item-common-inline-sizes;\n}\n%header-item-common-start {\n padding-inline-end: $header-item-common-inline-padding;\n border-inline-end: $header-item-common-separator-border;\n}\n%header-item-common-end {\n padding-inline-start: $header-item-common-inline-padding;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n display: grid;\n gap: 24px;\n}\n\n// header detail\n.header__detail {\n display: grid;\n grid-template-areas:\n \"detail-title detail-title detail-title detail-title\"\n \"detail-commit-name detail-commit-name detail-commit-name detail-commit-name\"\n \"detail-genexus-server detail-knowledge-base detail-current-version detail-merge-from-version\";\n row-gap: 16px;\n // grid-auto-columns: max-content;\n // grid-template-columns: max-content auto auto auto;\n grid-template-columns: minmax(250px, 350px) repeat(3, minmax(180px, 250px));\n}\n.detail__label {\n color: var(--mer-color__neutral-gray--400);\n}\n.detail__title {\n grid-area: detail-title;\n}\n.detail__commit-name {\n grid-area: detail-commit-name;\n}\n.detail__genexus-server {\n grid-area: detail-genexus-server;\n @extend %header-item-common-start;\n\n > a {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n }\n}\n.detail__link {\n align-items: start;\n color: var(--mer-text__primary);\n text-decoration: underline;\n &:hover {\n color: var(--mer-text__primary--hover);\n }\n &:active {\n color: var(--mer-text__primary--active);\n }\n}\n.detail__knowledge-base {\n grid-area: detail-knowledge-base;\n @extend %header-item-common;\n}\n.detail__current-version {\n grid-area: detail-current-version;\n @extend %header-item-common;\n}\n.detail__merge-from-version {\n grid-area: detail-merge-from-version;\n @extend %header-item-common-end;\n}\n\n// header information\n.header__information {\n display: grid;\n row-gap: 10px;\n grid-template-areas:\n \"information-title information-title\"\n \"information-col-1 information-col-2\";\n grid-template-columns: max-content 1fr;\n grid-template-rows: max-content 64px;\n}\n.information__title {\n grid-area: information-title;\n}\n.information__col-1 {\n grid-area: information-col-1;\n display: flex;\n gap: 24px;\n @extend %header-item-common-start;\n}\n.information__col-2 {\n display: grid;\n grid-area: information-col-2;\n @extend %header-item-common-end;\n}\n\n// filter / controls-container\n.controls-container {\n display: grid;\n margin-block-start: 24px;\n}\n.filter {\n grid-template-columns: 232px 186px 1fr;\n gap: 12px;\n}\n.button-merge-checked {\n margin-inline-start: auto;\n}\n\n// main\n.main {\n position: relative;\n display: grid;\n overflow: auto;\n}\n.loader {\n position: relative;\n inline-size: 100%;\n block-size: 100%;\n inset-block-start: 0;\n}\n.tabular-grid {\n border-radius: 4px;\n overflow: hidden;\n}\n\n.empty-state {\n block-size: 100%;\n}\n.loader {\n --elevation-background-color: var(--mer-surface__elevation--01);\n}\n\n.warning-error-description {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px;\n max-inline-size: 800px;\n line-height: 1.5; // WA. Line height looks too tight.\n}\n.warning-error-icon {\n flex-shrink: 0;\n}\n\n.tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\n// - - - - - - - - - - - - - -\n// WA (WORK AROUNDS)\n// - - - - - - - - - - - - - -\n\n.input-comments-container {\n position: relative;\n}\n// ch-edit for comments WA's\n// Figma design for this component displays the textarea witout border, and with a little more line-height.\n// The following styles are a temporary WA that should be brouhgt to Mercury DS.\n.input-comments {\n --control__border-color: transparent;\n padding-block: 0 !important;\n padding-inline: 0 !important;\n --line-height-tight: 1.4;\n block-size: 100%;\n background-color: var(--mer-surface);\n transition:\n var(--mer-timing--super-fast) block-size,\n var(--mer-timing--super-fast) background-color,\n var(--mer-timing--super-fast) padding-block,\n var(--mer-timing--super-fast) padding-inline;\n}\n.input-comments:focus {\n position: absolute;\n block-size: 200px;\n inline-size: 100%;\n z-index: 99;\n background-color: var(--mer-surface__elevation--01);\n padding-block: var(--control__padding-block) !important;\n padding-inline: var(--control__padding-inline) !important;\n}\n\nch-tabular-grid-cell.tabular-grid-cell::part(actions-icon) {\n background-size: contain; //force icon fit container\n margin-inline-end: 0;\n --icon-path: var(--icon__gemini-tools_show-more-vertical_neutral--enabled);\n cursor: pointer;\n &:hover {\n --icon-path: var(--icon__gemini-tools_show-more-vertical_neutral--hover);\n }\n &:active {\n --icon-path: var(--icon__gemini-tools_show-more-vertical_neutral--active);\n }\n}\n\n.tabular-grid-row-actions::part(main),\n.property-grid-row-actions::part(main) {\n // gap not required since buttons are tertiary.\n // extra space perceived.\n gap: 0 !important;\n}\n\n.tabular-grid-row-actions {\n // Butons are center by default, but design dictates start alignemnt\n > button {\n justify-content: start;\n }\n}\n\n// These static type of pills do not exist on Mercury yet.\n// They should be defined on Mercury. The actual pills on Mercury\n// are combo-boxes. Not what we need for this case.\n\n.pill {\n --pill-background-color: transparent;\n --pill-color: transparent;\n --pill-border-color: transparent;\n\n background-color: var(--pill-background-color);\n color: var(--pill-color);\n border: 1px solid var(--pill-border-color);\n inline-size: 100%;\n padding: var(--pill-padding-block) var(--pill-padding-inline);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--pill-border-radius);\n position: relative;\n font-weight: var(--font-weight-semi-bold);\n\n &--to-merge,\n &--to-revert {\n --pill-background-color: var(--mer-color__tinted-primary--8);\n --pill-color: var(--mer-border-color__primary);\n --pill-border-color: var(--mer-color__tinted-primary--50);\n }\n &--to-merge-marked {\n --pill-background-color: var();\n --pill-color: var(--mer-border-color__primary);\n --pill-border-color: var();\n }\n &--pending {\n --pill-background-color: var(--mer-color__tinted-primary--8);\n --pill-color: var(--mer-border-color__primary);\n --pill-border-color: var(--mer-color__tinted-primary--50);\n }\n &--warning {\n --pill-background-color: var(--mer-color__tinted-yellow--5);\n --pill-color: var(--mer-border-color__warning);\n --pill-border-color: var(--mer-color__tinted-yellow--60);\n }\n &--error {\n --pill-background-color: var(--mer-color__tinted-red--5);\n --pill-color: var(--mer-border-color__error);\n --pill-border-color: var(--mer-color__tinted-red--60);\n }\n &--merged,\n &--reverted {\n --pill-background-color: var(--mer-color__tinted-green--5);\n --pill-color: var(--mer-border-color__success);\n --pill-border-color: var(--mer-color__tinted-green--60);\n }\n &--transitioning {\n // used to hide the text, before updating the caption (smooth transtion)\n --pill-color: transparent;\n }\n}\n.merging-spinner-caption {\n display: flex;\n align-items: center;\n gap: 6px;\n $size: 14px;\n --status-circle-color: transparent;\n --status-circle-size: $size;\n --status-circle-inset-inline-start: 14px;\n --pill-color: var(--mer-border-color__primary);\n &::before {\n display: inline-block;\n content: \"\";\n\n @include spinner(\n $size,\n var(--mer-color__primary--300),\n var(--mer-color__tinted-primary--50)\n );\n }\n}\n.tabular-grid .button-secondary {\n --control__padding-block: var(--pill-padding-block);\n --control__padding-inline: var(--pill-padding-inline);\n font-size: inherit;\n font-weight: inherit;\n /* font-size: var(--pill-font-size); */\n}\n\n.tabular-grid .tabular-grid-cell--for-pill {\n --grid-cell__padding-block: 4px;\n align-items: center;\n justify-content: center;\n\n // --grid-cell__padding-inline: 0;\n}\n\n.tabular-grid.disabled-custom-selector .tabular-grid-cell::part(selector-label),\n.tabular-grid.disabled-custom-selector .tabular-grid-column::part(bar-selector),\n.tabular-grid.disabled-custom-selector .tabular-grid-cell::part(actions-icon) {\n pointer-events: none;\n opacity: 0.5;\n}\n.tabular-grid-column--settings-custom-selector,\n.tabular-grid-cell--settings-custom-selector {\n --grid-cell__padding-inline: 0;\n --grid-cell__padding-block: 0;\n}\n.tabular-grid-cell::part(actions-icon) {\n padding-block: 6px;\n}\nch-tabular-grid-cell.tabular-grid-cell::part(actions-icon) {\n block-size: 100%;\n display: block;\n background-size: 14px;\n padding-inline: 16px;\n}\n\n.tabular-grid-cell.no-checkbox-custom-selector::part(selector-label) {\n visibility: hidden;\n}\n\n.tabular-grid-row-actions::part(window) {\n background-color: var(--mer-surface__elevation--02) !important;\n}\n\n.tabular-grid-row .tabular-grid-cell:nth-child(3) {\n min-inline-size: 400px;\n}\n\n// - - - - - - - - - - - - - -\n// END OF WA\n// - - - - - - - - - - - - - -\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n JSX,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../../common/locale\";\nimport {\n ChEditCustomEvent,\n TabularGridMarkingChangedEvent,\n TabularGridColumnSortChangedEvent,\n TabularGridRowContextMenuEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { ObjectType } from \"../../../components\";\n\nimport { config } from \"../../../common/config\";\n\nimport { ContextMenuCallback } from \"../../../components\";\n\nimport { renderObjectTypeWithIcon } from \"../common/utilities\";\n\nimport { COLUMNS_IDS } from \"../version-control/common/tabular-grid-render\";\nimport sortTabularGridColumn, {\n type SortTabularGridColumnDataType\n} from \"../../../common/chameleon/tabular-grid-column-sort\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tabular-grid\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst COMBO_BOX_ALL_VALUE = \"all\";\n\nconst DETAIL_LABEL_CLASSES = \"detail__label body-semi-bold-s\";\n\nconst ADD_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"on-elevation\"\n});\nconst EDITED_ICON = getIconPath({\n category: \"system\",\n name: \"edit\",\n colorType: \"on-elevation\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-elevation\"\n});\nconst SUBSTRACT_ICON = getIconPath({\n category: \"system\",\n name: \"substract\",\n colorType: \"on-elevation\"\n});\nconst WARNING_ICON = getIconPath({\n category: \"system\",\n name: \"warning\",\n colorType: \"warning\"\n});\nconst ERROR_ICON = getIconPath({\n category: \"system\",\n name: \"error\",\n colorType: \"error\"\n});\n\n@Component({\n tag: \"gx-ide-team-dev-bring-changes\",\n styleUrl: \"bring-changes.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-bring-changes\"]\n})\nexport class GxIdeTeamDevBringChanges {\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 #commitLabel: string;\n #comboBoxStatesModel: { caption: string; value: ObjectStateForFilter }[];\n #checkedObjectsIdsArray: string[] = [];\n\n @Element() el: HTMLGxIdeTeamDevBringChangesElement;\n\n private tabularGridEl!: HTMLChTabularGridElement;\n\n /**\n * An array that holds the id's of the objects that have been merged already.\n */\n @State() alreadyMergedObjectsIdsArray: string[] = [];\n\n /**\n * It hols a boolean indicating if at least one object from the tabular-grid is checked, for merging.\n */\n @State() atLeastOneObjectIsChecked: boolean = false;\n\n /**\n * True while commitObjects hasn't been loaded or is empty. Used to display a loader.\n */\n @State() loading: boolean = true;\n\n /**\n * It hols a boolean indicating if at least one object from the tabular-grid is checked, for merging.\n */\n @State() objectsFiltered: CommitObject[] = [];\n\n /**\n * The current search filter value\n */\n @State() searchValue: string = \"\";\n\n /**\n * The current state filter value\n */\n @State() stateFilterValue: ObjectStateForFilter = COMBO_BOX_ALL_VALUE;\n\n /**\n * A set that stores the marked state of each object cell. This is necessary because filtering the grid * causes marked cells to lose their state.\n */\n @State() markedObjectsSet: Set<string> = new Set<string>();\n\n /**\n * A map that holds the current commit objects states (\"pending\" | \"warning\" | \"error\" | \"merged\" | \"reverted\")\n */\n @State() objectsStatesMap: Map<string, ObjectState> = new Map();\n @Watch(\"objectsStatesMap\")\n objectsStatesMapChanged(newCommitObjectsStateMap: Map<string, ObjectState>) {\n const someObjectIsMerging = [...newCommitObjectsStateMap.entries()].find(\n ([, state]) => state === \"merging\" || state === \"reverting\"\n );\n\n if (!someObjectIsMerging) {\n this.merging = false;\n }\n }\n\n /**\n * A map that holds object messages, if any, for objects that could not be merged (these objects are in a \"warning\" or \"error\" state)\n */\n @State() commitObjectsMessagesMap: Map<string, string> = new Map();\n\n /**\n * Set to true when objects are being mered. This helps disabling controls until all objects are done.\n */\n @State() merging: boolean = false;\n\n /**\n * Detail about the commit\n */\n @Prop() readonly commitDetail: CommitDetail;\n\n /**\n * Commit information\n */\n @Prop() readonly commitInformation: CommitInformation[] = [];\n\n /**\n * Array of commit\n */\n @Prop() readonly commitObjects: CommitObject[] = [];\n @Watch(\"commitObjects\")\n commitObjectsChanged(newCommitObjects: CommitObject[]) {\n if (newCommitObjects.length) {\n // This is the first and only objects asignment\n this.loading = false;\n\n // All commit objects begin as \"pending to merge\"\n newCommitObjects.forEach(commitObject => {\n this.objectsStatesMap.set(\n commitObject.id,\n this.operationType === \"revert\" ? \"to-revert\" : \"to-merge\"\n );\n });\n\n this.objectsFiltered = this.commitObjects;\n }\n }\n\n /**\n * Determines whether the filters are rendered or not.\n */\n @Prop() readonly hideFilters: boolean = false;\n\n /**\n * The type of operation to perform: \"merge\" or \"revert\".\n */\n @Prop() readonly operationType: OperationType = \"merge\";\n\n /**\n * The callback that is triggered when the user wants to merge more than one commit.\n */\n @Prop() readonly mergeObjectsCallback!: MergeObjectsCallback;\n\n /**\n * If true, the \"Action\" column will display a button instead of a pill, only when the action is\n */\n @Prop() readonly revertPillAsButton: boolean = false;\n\n /**\n * Invoked when user activates the context menu on th grid.\n */\n @Prop() readonly contextMenuCallback!: ContextMenuCallback;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#commitLabel =\n this.commitInformation.length > 1\n ? this.#componentLocale.commmits\n : this.#componentLocale.commmit;\n\n // Initiate \"states\" combo box filter\n this.#comboBoxStatesModel = [\n {\n caption: this.#componentLocale.states.all,\n value: COMBO_BOX_ALL_VALUE\n },\n {\n caption:\n this.operationType === \"revert\"\n ? this.#componentLocale.states[\"to-revert\"]\n : this.#componentLocale.states[\"to-merge\"],\n value: this.operationType === \"revert\" ? \"to-revert\" : \"to-merge\"\n },\n {\n caption: this.#componentLocale.states.warning,\n value: \"warning\"\n },\n {\n caption: this.#componentLocale.states.error,\n value: \"error\"\n },\n {\n caption:\n this.operationType === \"revert\"\n ? this.#componentLocale.states.reverted\n : this.#componentLocale.states.merged,\n value: this.operationType === \"revert\" ? \"reverted\" : \"merged\"\n }\n ];\n\n if (this.commitObjects?.length) {\n // if commitObjects already set...\n this.commitObjectsChanged(this.commitObjects);\n }\n }\n\n #formatComments = (): string => {\n if (this.commitInformation.length === 1) {\n // return comment without revison number\n return this.commitInformation[0].comment;\n }\n\n // return comments with revison number\n let mergedComment = \"\";\n this.commitInformation.map((commit, i) => {\n const isLast = i === this.commitInformation.length - 1;\n const afterCommentBreakline = isLast ? \"\" : \"\\n\\n\";\n mergedComment += `Commit ${commit.id}:\\n${commit.comment}${afterCommentBreakline}`;\n });\n\n return mergedComment;\n };\n\n #mergeCheckedClickedHandler = async () => {\n this.merging = true;\n const newobjectsStatesMap = new Map(this.objectsStatesMap);\n this.#checkedObjectsIdsArray.forEach(checkedObjectId => {\n newobjectsStatesMap.set(\n checkedObjectId,\n this.operationType === \"revert\" ? \"reverting\" : \"merging\"\n );\n });\n\n this.objectsStatesMap = newobjectsStatesMap;\n await this.mergeObjectsCallback(this.#checkedObjectsIdsArray);\n };\n\n #mergeSingleObject: (objectId: string) => () => void =\n objectId => async () => {\n this.merging = true;\n const newobjectsStatesMap = new Map(this.objectsStatesMap);\n newobjectsStatesMap.set(\n objectId,\n this.operationType === \"revert\" ? \"reverting\" : \"merging\"\n );\n this.objectsStatesMap = newobjectsStatesMap;\n await this.mergeObjectsCallback([objectId]);\n };\n\n #renderActionCellContent = (\n actionTaken: ObjectActionTaken\n ): JSX.Element[] => {\n let icon: string;\n let caption: string;\n let iconColor: string;\n\n if (actionTaken === \"Deleted\") {\n icon = SUBSTRACT_ICON;\n caption = this.#componentLocale.objects.actions.delete;\n iconColor = \"--mer-icon__error\";\n } else if (actionTaken === \"Inserted\") {\n icon = ADD_ICON;\n caption = this.#componentLocale.objects.actions.insert;\n iconColor = \"--mer-icon__success\";\n } else {\n // modified\n icon = EDITED_ICON;\n caption = this.#componentLocale.objects.actions.modify;\n iconColor = \"--mer-icon__warning\";\n }\n\n return (\n <span class=\"custom-icon-text-wrapper\">\n <ch-image\n type=\"mask\"\n class=\"icon-md\"\n src={icon}\n style={{ backgroundColor: `var(${iconColor})` }}\n ></ch-image>\n {`${caption}`}\n </span>\n );\n };\n\n #renderCommitsNumbers = (onlyNumbers: boolean = false): string => {\n if (this.commitInformation?.length > 1) {\n // more than one commit\n return onlyNumbers\n ? `${this.commitInformation[0].id} ... ${\n this.commitInformation[this.commitInformation.length - 1].id\n }`\n : `${this.#commitLabel} ${this.commitInformation[0].id} ... ${\n this.commitInformation[this.commitInformation.length - 1].id\n }`;\n } else if (this.commitInformation?.length === 1) {\n // just one commit\n return onlyNumbers\n ? this.commitInformation[0].id\n : `${this.#commitLabel} ${this.commitInformation[0].id}`;\n } else {\n // Probably commits have not been loaded yet (loading state)\n return onlyNumbers\n ? `${this.#componentLocale.loading}`\n : `${this.#commitLabel} ${this.#componentLocale.loading}`;\n }\n };\n\n #renderFormatedDate = (date: Date): string => {\n const dateObject = new Date(date);\n const lang = navigator.languages?.[0] || navigator.language;\n\n return `${dateObject.toLocaleDateString(\n lang\n )} ${dateObject.toLocaleTimeString(lang, {\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: false\n })}`;\n };\n\n #renderObjectStateWithIcon = (\n objectType: ObjectState,\n objectId: string\n ): JSX.Element[] => {\n if (objectType === \"merging\" || objectType === \"reverting\") {\n return (\n <span class=\"merging-spinner-caption\">\n {this.operationType === \"revert\"\n ? this.#componentLocale.states.reverting\n : this.#componentLocale.states.merging}\n </span>\n );\n }\n const classes = `pill pill--${objectType}`;\n if (\n this.revertPillAsButton &&\n (objectType === \"to-merge\" ||\n objectType === \"to-merge-marked\" ||\n objectType === \"to-revert\")\n ) {\n return (\n <button\n class={{ [classes]: true, \"button-secondary\": true }}\n onClick={this.#mergeSingleObject(objectId)}\n >\n {this.#componentLocale.statesForButton[objectType]}\n </button>\n );\n } else {\n return (\n <span class={classes}>{this.#componentLocale.states[objectType]}</span>\n );\n }\n };\n\n #renderObjectsRows = (): JSX.Element[] => {\n return this.objectsFiltered.map(commitObject => {\n const marked = this.markedObjectsSet.has(commitObject.id);\n\n const alreadyMerged = this.alreadyMergedObjectsIdsArray.find(\n checkedObjectId => checkedObjectId === commitObject.id\n );\n const errorOrWarningMessage = this.commitObjectsMessagesMap.get(\n commitObject.id\n );\n const state = this.objectsStatesMap.get(commitObject.id);\n\n let MESSAGE_ICON;\n if (state === \"error\") {\n MESSAGE_ICON = ERROR_ICON;\n } else if (state === \"warning\") {\n MESSAGE_ICON = WARNING_ICON;\n }\n\n return (\n <ch-tabular-grid-row\n class=\"tabular-grid-row\"\n key={commitObject.id}\n rowid={commitObject.id}\n ref={(el: HTMLElement) =>\n marked && el?.setAttribute(\"marked\", \"true\")\n }\n >\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector=\"true\"\n class={{\n \"tabular-grid-cell\": true,\n \"no-checkbox-custom-selector\": alreadyMerged\n }}\n size=\"max-content\"\n >\n {commitObject.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectTypeWithIcon(commitObject.type)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {commitObject.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#renderActionCellContent(commitObject.actionTaken)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell--for-pill\">\n {this.#renderObjectStateWithIcon(\n this.objectsStatesMap.get(commitObject.id),\n commitObject.id\n )}\n </ch-tabular-grid-cell>\n {errorOrWarningMessage && (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty\n class={{ \"tabular-grid-rowset-empty\": true, [state]: true }}\n >\n <p class=\"warning-error-description\">\n <ch-image\n class=\"icon-md warning-error-icon\"\n src={MESSAGE_ICON}\n ></ch-image>\n {errorOrWarningMessage}\n </p>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid-row>\n );\n });\n };\n\n #rowContextMenuHandler = async (\n ev: CustomEvent<TabularGridRowContextMenuEvent>\n ) => {\n ev.preventDefault();\n const selectedRowsIds = await this.tabularGridEl.getSelectedRows();\n\n await this.contextMenuCallback({\n selection: selectedRowsIds,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n };\n\n #rowMarkingChangedHandler = (\n event: CustomEvent<TabularGridMarkingChangedEvent>\n ) => {\n const newobjectsMarkedSet = new Set<string>();\n const newobjectsStatesMap = new Map(this.objectsStatesMap);\n const markedRowsIds = event.detail.rowsId;\n const checkedObjectsIgnoringAlreadyMerged = markedRowsIds.filter(\n markedObjectId =>\n !this.alreadyMergedObjectsIdsArray.includes(markedObjectId)\n );\n this.#checkedObjectsIdsArray = [...checkedObjectsIgnoringAlreadyMerged];\n\n // Update markedObjectsSet\n this.#checkedObjectsIdsArray.forEach(checkedObjectId => {\n newobjectsMarkedSet.add(checkedObjectId);\n });\n this.markedObjectsSet = newobjectsMarkedSet;\n\n this.atLeastOneObjectIsChecked = markedRowsIds.length > 0;\n\n newobjectsStatesMap.forEach(objectId => {\n const objectCurrentState = this.objectsStatesMap.get(objectId);\n if (\n objectCurrentState !== \"to-merge\" &&\n objectCurrentState !== \"to-merge-marked\"\n ) {\n return;\n }\n\n const markedRowIndex = markedRowsIds.findIndex(id => id === objectId);\n if (markedRowIndex !== -1) {\n newobjectsStatesMap.set(objectId, \"to-merge-marked\");\n markedRowsIds.splice(markedRowIndex, 1);\n markedRowsIds;\n } else {\n newobjectsStatesMap.set(objectId, \"to-merge\");\n }\n });\n\n this.objectsStatesMap = newobjectsStatesMap;\n };\n\n #searchInputHandler = (event: ChEditCustomEvent<string> | InputEvent) => {\n this.searchValue = (event.detail as string).toLowerCase();\n this.#updateFilteredObjects();\n };\n\n #stateChangedHandler = (event: CustomEvent<string> | InputEvent) => {\n this.stateFilterValue = event.detail as ObjectStateForFilter;\n this.#updateFilteredObjects();\n };\n\n #updateFilteredObjects = () => {\n let filteredObjects = [...this.commitObjects];\n\n // filter by state (ch-combo-box-render) ...\n if (this.stateFilterValue !== \"all\") {\n filteredObjects = filteredObjects.filter(object => {\n const objectState = this.objectsStatesMap.get(object.id);\n return objectState === this.stateFilterValue;\n });\n }\n\n // and filter by value (ch-edit) as well\n filteredObjects = filteredObjects.filter(object => {\n const includesName = object.name.toLowerCase().includes(this.searchValue);\n\n const includesType = object.type.name\n .toLowerCase()\n .includes(this.searchValue);\n\n const includesDescription = object.description\n .toLowerCase()\n .includes(this.searchValue);\n\n if (includesName || includesType || includesDescription) {\n return true;\n }\n return false;\n });\n\n this.objectsFiltered = filteredObjects;\n };\n\n /**\n * It allows the host updating an object state, by providing the object id.\n * @param objectId The ID of the object to update.\n * @param newState The new state to set on the object.\n * @param message Optional message explaining the change.\n *\n * @example\n * bringChanges.updateObjectState('obj-24', \"merging\", null);\n * bringChanges.updateObjectState('obj-27', \"error\", \"The server did not respond.\");\n */\n @Method()\n async updateObjectState(\n objectId: string,\n newState: ObjectState,\n message: string\n ) {\n // update object state\n const newobjectsStatesMap = new Map(this.objectsStatesMap);\n newobjectsStatesMap.set(objectId, newState);\n this.objectsStatesMap = newobjectsStatesMap;\n\n // add message if state is \"warning\" or \"error\"\n if (message?.length > 0) {\n this.commitObjectsMessagesMap.set(objectId, message);\n }\n\n if (newState === \"merged\" || newState === \"reverted\") {\n // remove from checked\n this.#checkedObjectsIdsArray = this.#checkedObjectsIdsArray.filter(\n checkedObject => checkedObject !== objectId\n );\n\n // add to \"already merged\". This will hide the checkbox\n this.alreadyMergedObjectsIdsArray.push(objectId);\n\n // unmark checkbox:\n this.tabularGridEl.markRow(objectId, false);\n\n // remove message if any\n this.commitObjectsMessagesMap.delete(objectId);\n }\n }\n\n #sortTabularGridColumnCallback = (\n e: CustomEvent<TabularGridColumnSortChangedEvent>\n ) => {\n const columnId = e.detail.columnId;\n\n let objectProperty;\n let dateType: SortTabularGridColumnDataType = \"string\";\n if (columnId === COLUMNS_IDS.type) {\n objectProperty = \"name\"; // the type name\n dateType = \"object\";\n }\n\n this.objectsFiltered = [\n ...sortTabularGridColumn(\n e,\n this.objectsFiltered,\n dateType,\n objectProperty\n )\n ];\n };\n\n render() {\n const enableRichRowSelector =\n this.alreadyMergedObjectsIdsArray.length !== this.commitObjects.length;\n\n const disableControls = this.merging || this.loading;\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header class=\"header spacing-body-inline spacing-body-block-start\">\n <div\n // header details\n class=\"header__detail\"\n >\n <p class=\"detail__title subtitle-semi-bold-xs\">\n {this.operationType === \"revert\"\n ? this.#componentLocale.commitDetail.revertChangesDetail\n : this.#componentLocale.commitDetail.bringChangesDetail}\n </p>\n <p class=\"detail__commit-name subtitle-semi-bold-s\">\n {this.#renderCommitsNumbers()}\n </p>\n <div\n // genexus server\n class=\"detail__genexus-server field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitDetail.genexusServer}\n </span>\n <a\n class=\"detail__link body-regular-s\"\n href={this.commitDetail.genexusServer}\n target=\"_blank\"\n >\n {this.commitDetail.genexusServer}\n </a>\n </div>\n\n <div\n // knowledge base\n class=\"detail__knowledge-base field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitDetail.knowledgeBase}\n </span>\n <p class=\"body-regular-s\">{this.commitDetail.knowledgeBase}</p>\n </div>\n\n <div\n // current version\n class=\"detail__current-version field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitDetail.currentVersion}\n </span>\n <a class=\"body-regular-s\">{this.commitDetail.currentVersion}</a>\n </div>\n {this.operationType === \"merge\" && (\n <div\n // merge from version\n class=\"detail__merge-from-version field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitDetail.mergeFromVersion}\n </span>\n <p class=\"body-regular-s\">\n {this.commitDetail.mergeFromVersion}\n </p>\n </div>\n )}\n </div>\n <div\n // header information\n class=\"header__information\"\n >\n <p class=\"information__title subtitle-semi-bold-xs\">\n {this.#componentLocale.commitInformation.title}\n </p>\n <div\n // header information (col-1)\n class=\"information__col-1\"\n >\n <div\n // IDs\n class=\"field field-block\"\n >\n <span class={DETAIL_LABEL_CLASSES}>\n {this.commitInformation.length === 1\n ? this.#componentLocale.commitInformation.id\n : this.#componentLocale.commitInformation.ids}\n </span>\n <p class=\"body-regular-s\">\n {this.#renderCommitsNumbers(true)}\n </p>\n </div>\n {this.commitInformation.length === 1 ? (\n <div class=\"field field-block\">\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitInformation.date}\n </span>\n <p class=\"body-regular-s\">\n {this.#renderFormatedDate(this.commitInformation[0].date)}\n </p>\n </div>\n ) : (\n [\n <div class=\"field field-block\">\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitInformation.from}\n </span>\n <p class=\"body-regular-s\">\n {this.#renderFormatedDate(\n this.commitInformation[0].date\n )}\n </p>\n </div>,\n <div class=\"field field-block\">\n <span class={DETAIL_LABEL_CLASSES}>\n {this.#componentLocale.commitInformation.to}\n </span>\n <p class=\"body-regular-s\">\n {this.#renderFormatedDate(\n this.commitInformation[\n this.commitInformation.length - 1\n ].date\n )}\n </p>\n </div>\n ]\n )}\n </div>\n\n <div\n // header information (col-2)\n class=\"information__col-2\"\n >\n <div\n // To\n class=\"field field-block\"\n >\n <label class={DETAIL_LABEL_CLASSES} htmlFor=\"commit-comments\">\n {this.commitInformation.length > 1\n ? this.#componentLocale.commitInformation.comments\n : this.#componentLocale.commitInformation.comment}\n </label>\n <div class=\"input-comments-container\">\n <ch-edit\n id=\"commit-comments\"\n class=\"input scrollable input-comments body-regular-s\"\n type=\"text\"\n multiline\n readonly\n value={this.#formatComments()}\n ></ch-edit>\n </div>\n </div>\n </div>\n </div>\n </header>\n <div\n class={{\n \"controls-container\": true,\n \"filter\": !this.hideFilters,\n \"spacing-body-inline\": true\n }}\n >\n {!this.hideFilters && [\n <ch-edit\n class=\"input\"\n disabled={disableControls}\n startImgSrc={SEARCH_ICON}\n placeholder={this.#componentLocale.filter.searchPlaceholder}\n type=\"search\"\n onInput={this.#searchInputHandler}\n ></ch-edit>,\n <ch-combo-box-render\n class=\"combo-box\"\n disabled={disableControls}\n model={this.#comboBoxStatesModel}\n value={this.stateFilterValue}\n onInput={this.#stateChangedHandler}\n placeholder={this.#componentLocale.filter.statePlaceholder}\n ></ch-combo-box-render>\n ]}\n\n <button\n class=\"button-primary button-merge-checked\"\n disabled={!this.atLeastOneObjectIsChecked || disableControls}\n onClick={this.#mergeCheckedClickedHandler}\n >\n {this.operationType === \"revert\"\n ? this.#componentLocale.filter.revertSelected\n : this.#componentLocale.filter.mergeSelected}\n </button>\n </div>\n <div class=\"main spacing-body\">\n {this.commitObjects.length ? (\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"objects-tabular-grid\": true,\n \"disabled-custom-selector\": this.merging,\n \"empty-result\": this.objectsFiltered.length === 0\n }}\n keyboardNavigationMode=\"focus\"\n rowSelectionMode=\"multiple\"\n onRowMarkingChanged={this.#rowMarkingChangedHandler}\n onRowContextMenu={this.#rowContextMenuHandler}\n ref={(el: HTMLChTabularGridElement) =>\n (this.tabularGridEl = el as HTMLChTabularGridElement)\n }\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMNS_IDS.name}\n columnName={this.#componentLocale.objects.name}\n columnType=\"rich\"\n richRowSelector={enableRichRowSelector}\n richRowSelectorMode=\"mark\"\n settingable={false}\n sortable={true}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n size=\"max-content\"\n />\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMNS_IDS.type}\n columnName={this.#componentLocale.objects.type}\n settingable={false}\n sortable={true}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n size=\"max-content\"\n />\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMNS_IDS.description}\n columnName={this.#componentLocale.objects.description}\n settingable={false}\n sortable={true}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n size={config.tabularGrid.colSize.description}\n />\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMNS_IDS.action}\n columnName={this.#componentLocale.objects.action}\n settingable={false}\n sortable={false}\n size=\"max-content\"\n />\n <ch-tabular-grid-column\n // size of this column should the enough for the largest pill, and no more.\n // this prevents layout shifts when pills state changes.\n class=\"tabular-grid-column\"\n columnId={COLUMNS_IDS.status}\n columnName={this.#componentLocale.objects.status}\n settingable={false}\n sortable={false}\n size=\"100px\"\n />\n </ch-tabular-grid-columnset>\n {this.#renderObjectsRows()}\n\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objectsFiltered.length === 0 && (\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n class=\"empty-state\"\n isAnimated\n stateIconSrc={FILTER_ICON}\n stateTitle=\"No object matched your filter\"\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n )}\n </ch-tabular-grid-rowset>\n </ch-tabular-grid>\n ) : (\n <gx-ide-loader\n cancelLabel={this.#componentLocale.loader.cancelLabel}\n loaderTitle={this.#componentLocale.loader.title}\n description={this.#componentLocale.loader.description}\n show\n class=\"loader\"\n ></gx-ide-loader>\n )}\n </div>\n </section>\n </Host>\n );\n }\n}\n\nexport type OperationType = \"merge\" | \"revert\";\n\nexport type CommitDetail = {\n genexusServer: string;\n knowledgeBase: string;\n currentVersion: string;\n mergeFromVersion: string;\n};\n\nexport type CommitInformation = {\n id: string;\n comment: string;\n date: Date;\n};\n\nexport type CommitObject = {\n id: string;\n date: Date;\n name: string;\n type: ObjectType;\n description: string;\n actionTaken: ObjectActionTaken;\n};\n\nexport type ObjectActionTaken =\n | \"Inserted\"\n | \"Deleted\"\n | \"Modified\"\n | \"Unchanged\"\n | \"Unknown\";\n\nexport type ObjectState =\n | \"to-merge\"\n | \"to-merge-marked\"\n | \"to-revert\"\n | \"merging\"\n | \"pending\"\n | \"warning\"\n | \"error\"\n | \"merged\"\n | \"reverted\"\n | \"reverting\";\n\ntype ObjectStateForFilter =\n | Extract<\n ObjectState,\n \"to-merge\" | \"to-revert\" | \"warning\" | \"error\" | \"merged\" | \"reverted\"\n >\n | \"all\";\n\nexport type MergeObjectsCallback = (objectsIds: string[]) => Promise<void>;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["config","tooltip","gxgMessage","common","type","textAlign","padding","maxWidth","minHeight","gxIdeContainer","slimmerFooter","tabularGrid","colSize","minContent","maxContent","auto","commonDouble","description","serverName","userName","loader","timeout","tooltipSettings","blockAlign","inlineAlign","delay","inputDebounce","headingsClasses","cardRegular","cardSmall","utilityClasses","opacityZero","exactMatch"],"sources":["src/common/config.ts"],"sourcesContent":["import { ChPopoverAlign } from \"@genexus/chameleon-controls-library\";\n\n/* The purpose of config is to provide a simple way to change options/settings that are generally applied on all the components*/\nexport const config = {\n // tooltip is a property that exists on some gemini controls. When set to true, it will display the error/warning/success message (if any) by using a tooltip, instead of displaying the message under the control. The tooltip prevents changes on the component total height, which is desired.\n tooltip: true,\n gxgMessage: {\n common: {\n type: \"text-regular\",\n textAlign: \"center\",\n padding: \"m\",\n maxWidth: \"250px\",\n minHeight: \"300px\"\n }\n },\n gxIdeContainer: {\n slimmerFooter: true\n },\n tabularGrid: {\n colSize: {\n minContent: \"min-content\",\n maxContent: \"max-content\",\n auto: \"auto\",\n common: \"minmax(100px, 1fr)\",\n commonDouble: \"minmax(150px, 2fr)\",\n description: \"minmax(300px, 1fr)\",\n serverName: \"150px\",\n userName: \"150px\"\n }\n },\n loader: {\n /* The amount of milliseconds the loader will display, before abort because of timeout*/\n timeout: 4000\n },\n tooltipSettings: {\n blockAlign: \"outside-start\" as ChPopoverAlign,\n inlineAlign: \"inside-start\" as ChPopoverAlign,\n delay: 200\n },\n /* The amount of milliseconds for any control that supports debounce */\n inputDebounce: 500,\n headingsClasses: {\n cardRegular: \"subtitle-regular-s\",\n cardSmall: \"body-regular-m\"\n },\n utilityClasses: {\n opacityZero: \"opacity-0\",\n exactMatch: \"exact-match\"\n }\n};\n\n/* - - - - - - - - - - - - - - - - \nch-tree-view-render\n- - - - - - - - - - - - - - - - */\nexport const getImagePathTreeViewCallback = (imageSrc: string) =>\n `./assets/icons/${imageSrc}.svg#enabled`;\n"],"mappings":";MAGaA,IAAS;;EAEpBC,SAAS;EACTC,YAAY;IACVC,QAAQ;MACNC,MAAM;MACNC,WAAW;MACXC,SAAS;MACTC,UAAU;MACVC,WAAW;;;EAGfC,gBAAgB;IACdC,eAAe;;EAEjBC,aAAa;IACXC,SAAS;MACPC,YAAY;MACZC,YAAY;MACZC,MAAM;MACNZ,QAAQ;MACRa,cAAc;MACdC,aAAa;MACbC,YAAY;MACZC,UAAU;;;EAGdC,QAAQ;;IAENC,SAAS;;EAEXC,iBAAiB;IACfC,YAAY;IACZC,aAAa;IACbC,OAAO;;;EAGTC,eAAe;EACfC,iBAAiB;IACfC,aAAa;IACbC,WAAW;;EAEbC,gBAAgB;IACdC,aAAa;IACbC,YAAY"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|