@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
|
@@ -0,0 +1,542 @@
|
|
|
1
|
+
import { r as e, h as t, H as i, a as s } from "./p-9b9ccd0c.js";
|
|
2
|
+
|
|
3
|
+
import { g as r } from "./p-d42e842b.js";
|
|
4
|
+
|
|
5
|
+
import "./p-d4ecd3bb.js";
|
|
6
|
+
|
|
7
|
+
import "lit";
|
|
8
|
+
|
|
9
|
+
import "lit/directives/when.js";
|
|
10
|
+
|
|
11
|
+
import "lit/directives/if-defined.js";
|
|
12
|
+
|
|
13
|
+
import { c as a } from "./p-c5196b3b.js";
|
|
14
|
+
|
|
15
|
+
import { v as l, c as o } from "./p-b32b6b1f.js";
|
|
16
|
+
|
|
17
|
+
import { L as n } from "./p-311eedf3.js";
|
|
18
|
+
|
|
19
|
+
import { s as c } from "./p-02fb496a.js";
|
|
20
|
+
|
|
21
|
+
const d = ".custom-icon-text-wrapper{display:flex;align-items:center;gap:10px}.warning-error-description{display:flex;align-items:center;gap:8px;padding:8px;max-inline-size:800px;line-height:1.5}.warning-error-icon{flex-shrink:0}:host{display:grid;block-size:100%;grid-template-rows:max-content max-content 1fr max-content;row-gap:var(--mer-spacing--md);overflow:auto}:host(.new-connection){grid-template-rows:max-content 1fr}:host(.recently-used-empty){grid-template-rows:max-content 1fr}.section{display:contents}.tabular-grid{border-radius:var(--mer-border__radius--sm);overflow:hidden;overflow:auto;border-inline:1px solid var(--grid-cell__border-color)}.tabular-grid-rowset-empty{border-block-end:1px solid var(--grid-cell__border-color);overflow:hidden}.tabular-grid ch-tabular-grid-cell:is(:nth-child(2),:nth-child(3),:nth-child(4)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-inline-size:0}.text-neutral-gray-400,.tabular-grid-cell.text-neutral-gray-400{color:var(--mer-color__neutral-gray--400)}.search-server{inline-size:50%}.tabular-grid{overflow:auto;border-block:1px solid var(--grid-cell__border-color)}.tabular-grid-all-servers .tabular-grid-column:first-child::part(bar){--grid-common__gap:0}.field-block-all-servers{overflow:auto}.tabular-grid-wrapper{position:relative;overflow:auto}.border-patch{--tabular-grid-border-radius:4px;position:absolute;top:0;inline-size:calc(100% - var(--tabular-grid-border-radius) * 2);inset-inline-start:var(--tabular-grid-border-radius);block-size:2px;background-color:var(--items-container__bg-color);z-index:9999;border-block-start:1px solid var(--mer-border-color__on-surface)}.tooltip{position:absolute}.recently-used-card{border:1px solid var(--grid-cell__border-color);border-radius:var(--mer-border__radius--sm);cursor:pointer}.recently-used-card:hover{background-color:var(--mer-color__tinted-primary--5)}.recently-used-card:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.recently-used-card--selected{background-color:var(--mer-color__tinted-primary--10);border-color:var(--mer-color__tinted-primary--30)}.recently-used-card-content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:8px;gap:2px;overflow:hidden}.recently-used-card-content .text-decoration-line-underline{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-decoration:underline}.delete-server-icon{margin-inline:calc((30.39px - var(--ch-image-size)) / 2)}.tabular-grid ch-tabular-grid-cell:is(:nth-child(5)){--control__border-width:0;--control__border-color:transparent;--control__border-radius:0;padding-block:0;padding-inline:0;padding-block:0;padding-inline:0;--control__padding-inline:var(--grid-cell__padding-inline);display:grid;align-items:stretch;justify-content:stretch;min-inline-size:0}.tabular-grid ch-tabular-grid-cell:is(:nth-child(5)):hover{outline:var(--focus__outline-width) var(--focus__outline-style) var(--control__border-color--hover);outline-offset:var(--focus__outline-offset)}";
|
|
22
|
+
|
|
23
|
+
var h = undefined && undefined.__classPrivateFieldGet || function(e, t, i, s) {
|
|
24
|
+
if (i === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
|
|
25
|
+
if (typeof t === "function" ? e !== t || !s : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
26
|
+
return i === "m" ? s : i === "a" ? s.call(e) : s ? s.value : t.get(e);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
var u = undefined && undefined.__classPrivateFieldSet || function(e, t, i, s, r) {
|
|
30
|
+
if (s === "m") throw new TypeError("Private method is not writable");
|
|
31
|
+
if (s === "a" && !r) throw new TypeError("Private accessor was defined without a setter");
|
|
32
|
+
if (typeof t === "function" ? e !== t || !r : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
33
|
+
return s === "a" ? r.call(e, i) : r ? r.value = i : t.set(e, i), i;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var f, p, b, m, g, v, w, y, _, k, x, M, W, z, C, N, j, I, T, E, S, $, A, D, H, F, L, U, P, R, V, O;
|
|
37
|
+
|
|
38
|
+
const q = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "components/tooltip", "chameleon/scrollbar", "components/tabular-grid" ];
|
|
39
|
+
|
|
40
|
+
const B = r({
|
|
41
|
+
category: "system",
|
|
42
|
+
name: "information",
|
|
43
|
+
colorType: "on-surface"
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
const G = r({
|
|
47
|
+
category: "system",
|
|
48
|
+
name: "lock",
|
|
49
|
+
colorType: "on-surface"
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
const J = r({
|
|
53
|
+
category: "system",
|
|
54
|
+
name: "language",
|
|
55
|
+
colorType: "on-surface"
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
const K = r({
|
|
59
|
+
category: "system",
|
|
60
|
+
name: "delete-outlined",
|
|
61
|
+
colorType: "neutral"
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
const Q = r({
|
|
65
|
+
category: "system",
|
|
66
|
+
name: "error",
|
|
67
|
+
colorType: "error"
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
const X = r({
|
|
71
|
+
category: "system",
|
|
72
|
+
name: "search",
|
|
73
|
+
colorType: "on-surface"
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
const Y = "server-name-";
|
|
77
|
+
|
|
78
|
+
const Z = class {
|
|
79
|
+
constructor(i) {
|
|
80
|
+
e(this, i);
|
|
81
|
+
f.set(this, void 0);
|
|
82
|
+
p.set(this, void 0);
|
|
83
|
+
b.set(this, void 0);
|
|
84
|
+
m.set(this, void 0);
|
|
85
|
+
g.set(this, void 0);
|
|
86
|
+
v.set(this, new Map);
|
|
87
|
+
w.set(this, []);
|
|
88
|
+
y.set(this, (() => {
|
|
89
|
+
this.cancelCallback();
|
|
90
|
+
}));
|
|
91
|
+
_.set(this, (async () => {
|
|
92
|
+
let e;
|
|
93
|
+
if (this.selectedConnectionType === "select") {
|
|
94
|
+
e = await this.selectServerCallback({
|
|
95
|
+
uri: this.selectedServerUri,
|
|
96
|
+
name: this.selectedServerName
|
|
97
|
+
}, this.selectedConnectionType);
|
|
98
|
+
} else {
|
|
99
|
+
e = await this.selectServerCallback({
|
|
100
|
+
uri: this.serverUrlInputValue,
|
|
101
|
+
name: this.serverNameInputValue
|
|
102
|
+
}, this.selectedConnectionType);
|
|
103
|
+
this.validatableControls = l(e, this.validatableControls);
|
|
104
|
+
}
|
|
105
|
+
}));
|
|
106
|
+
// TODO: evaluate if this should be a global helper function.
|
|
107
|
+
// It is used on other dialogs as well.
|
|
108
|
+
k.set(this, (e => {
|
|
109
|
+
var i, s, r;
|
|
110
|
+
return ((s = (i = this.validatableControls) === null || i === void 0 ? void 0 : i.get(e === null || e === void 0 ? void 0 : e.id)) === null || s === void 0 ? void 0 : s.hasError) && ((r = this.validatableControls.get(e.id)) === null || r === void 0 ? void 0 : r.message) && t("ch-tooltip", {
|
|
111
|
+
class: "tooltip",
|
|
112
|
+
actionElement: e,
|
|
113
|
+
blockAlign: a.tooltipSettings.blockAlign,
|
|
114
|
+
inlineAlign: a.tooltipSettings.inlineAlign,
|
|
115
|
+
delay: a.tooltipSettings.delay
|
|
116
|
+
}, this.validatableControls.get(e.id).message);
|
|
117
|
+
}));
|
|
118
|
+
x.set(this, (e => {
|
|
119
|
+
e.forEach((e => {
|
|
120
|
+
if (e.id && !this.validatableControls.has(e.id)) {
|
|
121
|
+
this.validatableControls.set(e.id, {
|
|
122
|
+
reference: e,
|
|
123
|
+
hasError: false,
|
|
124
|
+
message: undefined
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}));
|
|
128
|
+
}));
|
|
129
|
+
M.set(this, (e => {
|
|
130
|
+
this.filterValue = e.detail.toLowerCase();
|
|
131
|
+
this.filteredServersData = this.serversData.filter((e => e.serverName.toLowerCase().includes(this.filterValue)));
|
|
132
|
+
}));
|
|
133
|
+
W.set(this, ((e, t) => {
|
|
134
|
+
this.enableConfirmButton = false;
|
|
135
|
+
this[t] = e.detail;
|
|
136
|
+
const i = t === "serverUrlInputValue" ? "server-url" : "server-name";
|
|
137
|
+
o(this.validatableControls, i);
|
|
138
|
+
h(this, I, "f").call(this);
|
|
139
|
+
}));
|
|
140
|
+
z.set(this, (async e => {
|
|
141
|
+
var t;
|
|
142
|
+
this.selectedRecentlyUsedId = e.id;
|
|
143
|
+
await ((t = h(this, p, "f")) === null || t === void 0 ? void 0 : t.selectRow(e.id));
|
|
144
|
+
await h(this, S, "f").call(this, e.id);
|
|
145
|
+
}));
|
|
146
|
+
C.set(this, (async e => {
|
|
147
|
+
if (e.accessLevel === "private") {
|
|
148
|
+
const t = await this.deleteServerCallback(e);
|
|
149
|
+
if (t) {
|
|
150
|
+
this.selectedServerName = "None";
|
|
151
|
+
this.enableConfirmButton = false;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}));
|
|
155
|
+
N.set(this, (async e => {
|
|
156
|
+
u(this, g, e.detail, "f");
|
|
157
|
+
}));
|
|
158
|
+
j.set(this, (async e => {
|
|
159
|
+
let t = {
|
|
160
|
+
fieldErrors: [],
|
|
161
|
+
success: false
|
|
162
|
+
};
|
|
163
|
+
if (e.serverName !== h(this, g, "f") && e.accessLevel === "private") {
|
|
164
|
+
t = await this.updateServerCallback(Object.assign(Object.assign({}, e), {
|
|
165
|
+
serverName: h(this, g, "f")
|
|
166
|
+
}));
|
|
167
|
+
}
|
|
168
|
+
this.validatableControls = l(t, this.validatableControls);
|
|
169
|
+
if (t.success || e.serverName === h(this, g, "f")) {
|
|
170
|
+
this.selectedServerName = h(this, g, "f");
|
|
171
|
+
o(this.validatableControls, `${Y}${e.id}`);
|
|
172
|
+
}
|
|
173
|
+
}));
|
|
174
|
+
I.set(this, (() => {
|
|
175
|
+
if (this.serverUrlInputValue && this.serverUrlInputValue.length > 0 && this.serverNameInputValue && this.serverNameInputValue.length > 0) {
|
|
176
|
+
this.enableConfirmButton = true;
|
|
177
|
+
} else {
|
|
178
|
+
this.enableConfirmButton = false;
|
|
179
|
+
}
|
|
180
|
+
}));
|
|
181
|
+
T.set(this, (e => {
|
|
182
|
+
h(this, S, "f").call(this, e.id);
|
|
183
|
+
h(this, _, "f").call(this);
|
|
184
|
+
}));
|
|
185
|
+
E.set(this, (e => h(this, S, "f").call(this, e.detail.rowId)));
|
|
186
|
+
S.set(this, (async e => {
|
|
187
|
+
if (e === undefined) {
|
|
188
|
+
this.enableConfirmButton = false;
|
|
189
|
+
this.selectedServerUri = undefined;
|
|
190
|
+
this.selectedServerName = undefined;
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
const t = this.serversData.find((t => t.id === e));
|
|
194
|
+
this.enableConfirmButton = true;
|
|
195
|
+
this.selectedServerName = t === null || t === void 0 ? void 0 : t.serverName;
|
|
196
|
+
this.selectedServerUri = t === null || t === void 0 ? void 0 : t.serverUrl;
|
|
197
|
+
this.userName = (t === null || t === void 0 ? void 0 : t.gxServerUsername) || "";
|
|
198
|
+
this.selectedRecentlyUsedId = t === null || t === void 0 ? void 0 : t.id;
|
|
199
|
+
}));
|
|
200
|
+
$.set(this, (e => {
|
|
201
|
+
this.selectedConnectionType = e.detail;
|
|
202
|
+
if (this.selectedConnectionType === "new") {
|
|
203
|
+
this.enableConfirmButton = false;
|
|
204
|
+
this.serverUrlInputValue = "";
|
|
205
|
+
}
|
|
206
|
+
this.selectedServerName = "None";
|
|
207
|
+
}));
|
|
208
|
+
A.set(this, (e => {
|
|
209
|
+
this.filteredServersData = [ ...c(e, this.filteredServersData, "string", undefined) ];
|
|
210
|
+
}));
|
|
211
|
+
D.set(this, ((e = false) => t("ch-tabular-grid-columnset", {
|
|
212
|
+
class: "tabular-grid-column-set"
|
|
213
|
+
}, t("ch-tabular-grid-column", {
|
|
214
|
+
columnId: "icon",
|
|
215
|
+
class: "tabular-grid-column tabular-grid-column-icon",
|
|
216
|
+
columnName: "Icon",
|
|
217
|
+
settingable: false,
|
|
218
|
+
columnNameHidden: true,
|
|
219
|
+
size: a.tabularGrid.colSize.maxContent,
|
|
220
|
+
resizable: false,
|
|
221
|
+
sortable: false
|
|
222
|
+
}), t("ch-tabular-grid-column", {
|
|
223
|
+
columnId: "serverName",
|
|
224
|
+
class: "tabular-grid-column",
|
|
225
|
+
columnName: "Server Name",
|
|
226
|
+
settingable: false,
|
|
227
|
+
columnNameHidden: e,
|
|
228
|
+
size: a.tabularGrid.colSize.serverName,
|
|
229
|
+
resizable: false,
|
|
230
|
+
sortable: !e,
|
|
231
|
+
onColumnSortChanged: h(this, A, "f")
|
|
232
|
+
}), t("ch-tabular-grid-column", {
|
|
233
|
+
columnId: "serverUrl",
|
|
234
|
+
class: "tabular-grid-column",
|
|
235
|
+
columnName: "Server Url",
|
|
236
|
+
settingable: false,
|
|
237
|
+
columnNameHidden: e,
|
|
238
|
+
size: a.tabularGrid.colSize.auto,
|
|
239
|
+
resizable: false,
|
|
240
|
+
sortable: !e,
|
|
241
|
+
onColumnSortChanged: h(this, A, "f")
|
|
242
|
+
}), t("ch-tabular-grid-column", {
|
|
243
|
+
columnId: "userName",
|
|
244
|
+
class: "tabular-grid-column",
|
|
245
|
+
columnName: "Connected",
|
|
246
|
+
settingable: false,
|
|
247
|
+
columnNameHidden: e,
|
|
248
|
+
size: a.tabularGrid.colSize.userName,
|
|
249
|
+
resizable: false,
|
|
250
|
+
sortable: !e,
|
|
251
|
+
onColumnSortChanged: h(this, A, "f")
|
|
252
|
+
}), t("ch-tabular-grid-column", {
|
|
253
|
+
columnId: "action",
|
|
254
|
+
class: "tabular-grid-column tabular-grid-column-icon",
|
|
255
|
+
columnName: "Action",
|
|
256
|
+
settingable: false,
|
|
257
|
+
columnNameHidden: true,
|
|
258
|
+
size: a.tabularGrid.colSize.maxContent,
|
|
259
|
+
resizable: false,
|
|
260
|
+
sortable: false
|
|
261
|
+
}))));
|
|
262
|
+
H.set(this, (e => e !== "" ? t("ch-tooltip", {
|
|
263
|
+
class: "tooltip",
|
|
264
|
+
actionElement: null,
|
|
265
|
+
blockAlign: "outside-end",
|
|
266
|
+
inlineAlign: a.tooltipSettings.inlineAlign,
|
|
267
|
+
delay: a.tooltipSettings.delayLong
|
|
268
|
+
}, e) : null));
|
|
269
|
+
F.set(this, (e => t("ch-tabular-grid-rowset", {
|
|
270
|
+
class: "tabular-grid-rowset"
|
|
271
|
+
}, t("ch-tabular-grid-rowset-empty", {
|
|
272
|
+
class: "tabular-grid-rowset-empty"
|
|
273
|
+
}, t("p", {
|
|
274
|
+
class: "warning-error-description"
|
|
275
|
+
}, t("ch-image", {
|
|
276
|
+
class: "icon-md warning-error-icon",
|
|
277
|
+
src: Q
|
|
278
|
+
}), e)))));
|
|
279
|
+
L.set(this, (e => [ t("ch-tabular-grid-cell", {
|
|
280
|
+
class: "tabular-grid-cell"
|
|
281
|
+
}, h(this, P, "f").call(this, e.accessLevel)), t("ch-tabular-grid-cell", {
|
|
282
|
+
class: "tabular-grid-cell"
|
|
283
|
+
}, e.accessLevel === "private" ? t("ch-edit", {
|
|
284
|
+
id: `${Y}${e.id}`,
|
|
285
|
+
value: e.serverName,
|
|
286
|
+
onInput: h(this, N, "f"),
|
|
287
|
+
onChange: () => h(this, j, "f").call(this, e),
|
|
288
|
+
maxLength: 18,
|
|
289
|
+
ref: t => {
|
|
290
|
+
const i = `${Y}${e.id}`;
|
|
291
|
+
if (t) {
|
|
292
|
+
h(this, v, "f").set(i, t);
|
|
293
|
+
} else {
|
|
294
|
+
h(this, v, "f").delete(i);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}) : e.serverName), t("ch-tabular-grid-cell", {
|
|
298
|
+
class: "tabular-grid-cell"
|
|
299
|
+
}, e.serverUrl, h(this, H, "f").call(this, e.serverUrl)), t("ch-tabular-grid-cell", {
|
|
300
|
+
class: "tabular-grid-cell"
|
|
301
|
+
}, e.gxServerUsername), t("ch-tabular-grid-cell", {
|
|
302
|
+
class: "tabular-grid-cell",
|
|
303
|
+
onClick: () => h(this, C, "f").call(this, e)
|
|
304
|
+
}, t("button", {
|
|
305
|
+
class: "button-tertiary button-icon-only",
|
|
306
|
+
"aria-label": h(this, f, "f").actions.deleteServer,
|
|
307
|
+
disabled: e.accessLevel === "public"
|
|
308
|
+
}, t("ch-image", {
|
|
309
|
+
disabled: e.accessLevel === "public",
|
|
310
|
+
class: "icon-md delete-server-icon",
|
|
311
|
+
src: K
|
|
312
|
+
}))) ]));
|
|
313
|
+
U.set(this, (() => t("div", {
|
|
314
|
+
class: "tabular-grid-wrapper"
|
|
315
|
+
}, t("div", {
|
|
316
|
+
class: "border-patch"
|
|
317
|
+
}), t("ch-tabular-grid", {
|
|
318
|
+
class: "tabular-grid tabular-grid-all-servers",
|
|
319
|
+
rowSelectionMode: "single",
|
|
320
|
+
ref: e => u(this, p, e, "f"),
|
|
321
|
+
allowColumnReorder: false,
|
|
322
|
+
onRowClicked: h(this, E, "f"),
|
|
323
|
+
id: "all-servers"
|
|
324
|
+
}, h(this, D, "f").call(this), this.filteredServersData.length > 0 ? t("ch-tabular-grid-rowset", {
|
|
325
|
+
class: "tabular-grid-rowset"
|
|
326
|
+
}, this.filteredServersData.map((e => {
|
|
327
|
+
var i, s;
|
|
328
|
+
const r = `${Y}${e.id}`;
|
|
329
|
+
const a = ((i = this.validatableControls.get(r)) === null || i === void 0 ? void 0 : i.hasError) === true;
|
|
330
|
+
const l = (s = this.validatableControls.get(r)) === null || s === void 0 ? void 0 : s.message;
|
|
331
|
+
return t("ch-tabular-grid-row", {
|
|
332
|
+
rowid: e.id,
|
|
333
|
+
class: "tabular-grid-row"
|
|
334
|
+
}, h(this, L, "f").call(this, e), a && h(this, F, "f").call(this, l));
|
|
335
|
+
}))) : t("ch-tabular-grid-rowset", {
|
|
336
|
+
class: "tabular-grid-rowset"
|
|
337
|
+
}, t("ch-tabular-grid-rowset-empty", {
|
|
338
|
+
class: "tabular-grid-rowset-empty"
|
|
339
|
+
}, t("gx-ide-empty-state", {
|
|
340
|
+
stateIconSrc: B,
|
|
341
|
+
stateTitle: h(this, f, "f").emptyConnectedServers,
|
|
342
|
+
isAnimated: true
|
|
343
|
+
})))))));
|
|
344
|
+
P.set(this, (e => {
|
|
345
|
+
const i = e === "private" ? G : J;
|
|
346
|
+
return t("ch-image", {
|
|
347
|
+
class: "icon-md",
|
|
348
|
+
src: i
|
|
349
|
+
});
|
|
350
|
+
}));
|
|
351
|
+
R.set(this, (() => {
|
|
352
|
+
const e = this.selectedConnectionType === "select";
|
|
353
|
+
return t("footer", {
|
|
354
|
+
class: {
|
|
355
|
+
"control-footer-with-border": true,
|
|
356
|
+
"control-footer-space-between": this.selectedConnectionType === "select",
|
|
357
|
+
"space-between": e,
|
|
358
|
+
"spacing-body-inline": true,
|
|
359
|
+
"spacing-body-block": true
|
|
360
|
+
}
|
|
361
|
+
}, e && t("p", {
|
|
362
|
+
class: "body-italic-m"
|
|
363
|
+
}, "Selected: ", this.selectedServerName), t("div", {
|
|
364
|
+
class: "buttons-spacer"
|
|
365
|
+
}, t("button", {
|
|
366
|
+
// cancel button
|
|
367
|
+
class: "button-secondary",
|
|
368
|
+
onClick: h(this, y, "f")
|
|
369
|
+
}, h(this, f, "f").footer.cancel), t("button", {
|
|
370
|
+
// confirm button
|
|
371
|
+
class: "button-primary",
|
|
372
|
+
onClick: this.enableConfirmButton && h(this, _, "f"),
|
|
373
|
+
disabled: !this.enableConfirmButton
|
|
374
|
+
}, h(this, f, "f").footer.confirm)));
|
|
375
|
+
}));
|
|
376
|
+
V.set(this, (() => {
|
|
377
|
+
const e = this.selectedConnectionType === "select" && this.recentlyUsedServersData.length > 0;
|
|
378
|
+
return e && t("div", {
|
|
379
|
+
class: "field field-block spacing-body-inline"
|
|
380
|
+
}, t("label", {
|
|
381
|
+
class: "label",
|
|
382
|
+
htmlFor: "recently-used-servers"
|
|
383
|
+
}, h(this, f, "f").recentlyUsed.title), t("div", {
|
|
384
|
+
class: {
|
|
385
|
+
layout: true,
|
|
386
|
+
"layout--cols-3": this.recentlyUsedServersData.length >= 3,
|
|
387
|
+
"layout--cols-2": this.recentlyUsedServersData.length <= 2
|
|
388
|
+
}
|
|
389
|
+
}, this.recentlyUsedServersData.map((e => t("button", {
|
|
390
|
+
class: {
|
|
391
|
+
layout__panel: true,
|
|
392
|
+
"recently-used-card": true,
|
|
393
|
+
"recently-used-card--selected": this.selectedRecentlyUsedId === e.id
|
|
394
|
+
},
|
|
395
|
+
onClick: () => h(this, z, "f").call(this, e),
|
|
396
|
+
onDblClick: () => h(this, T, "f").call(this, e)
|
|
397
|
+
}, t("div", {
|
|
398
|
+
class: "recently-used-card-content"
|
|
399
|
+
}, t("p", {
|
|
400
|
+
class: "body-regular-s text-neutral-gray-400"
|
|
401
|
+
}, e.serverName), t("p", {
|
|
402
|
+
class: "body-regular-s text-neutral-gray-400 text-decoration-line-underline"
|
|
403
|
+
}, e.serverUrl)), h(this, H, "f").call(this, e.serverUrl))))));
|
|
404
|
+
}));
|
|
405
|
+
O.set(this, (() => t("div", {
|
|
406
|
+
class: "field field-block field-block-all-servers spacing-body-inline"
|
|
407
|
+
}, t("label", {
|
|
408
|
+
class: "label",
|
|
409
|
+
htmlFor: "all-servers"
|
|
410
|
+
}, h(this, f, "f").allServers.title), h(this, U, "f").call(this))));
|
|
411
|
+
this.enableConfirmButton = false;
|
|
412
|
+
this.serverUrlInputValue = "";
|
|
413
|
+
this.serverNameInputValue = "";
|
|
414
|
+
this.selectedServerUri = undefined;
|
|
415
|
+
this.selectedServerName = "None";
|
|
416
|
+
this.userName = undefined;
|
|
417
|
+
this.filterValue = "";
|
|
418
|
+
this.filteredServersData = [];
|
|
419
|
+
this.validatableControls = new Map;
|
|
420
|
+
this.selectedConnectionType = "select";
|
|
421
|
+
this.selectedRecentlyUsedId = undefined;
|
|
422
|
+
this.serversData = [];
|
|
423
|
+
this.recentlyUsedServersData = [];
|
|
424
|
+
this.cancelCallback = undefined;
|
|
425
|
+
this.selectServerCallback = undefined;
|
|
426
|
+
this.deleteServerCallback = undefined;
|
|
427
|
+
this.updateServerCallback = undefined;
|
|
428
|
+
}
|
|
429
|
+
serversDataChanged(e) {
|
|
430
|
+
this.filteredServersData = e;
|
|
431
|
+
}
|
|
432
|
+
async componentWillLoad() {
|
|
433
|
+
var e, t;
|
|
434
|
+
u(this, f, await n.getComponentStrings(this.el), "f");
|
|
435
|
+
u(this, w, [ {
|
|
436
|
+
value: "select",
|
|
437
|
+
caption: h(this, f, "f").captions.selectServer
|
|
438
|
+
}, {
|
|
439
|
+
value: "new",
|
|
440
|
+
caption: h(this, f, "f").captions.addServer
|
|
441
|
+
} ], "f");
|
|
442
|
+
this.selectedServerUri = (e = this.serversData[0]) === null || e === void 0 ? void 0 : e.serverUrl;
|
|
443
|
+
this.userName = (t = this.serversData[0]) === null || t === void 0 ? void 0 : t.gxServerUsername;
|
|
444
|
+
this.filteredServersData = this.serversData;
|
|
445
|
+
}
|
|
446
|
+
componentDidRender() {
|
|
447
|
+
if (this.selectedConnectionType === "new" && h(this, b, "f") && h(this, m, "f")) {
|
|
448
|
+
h(this, x, "f").call(this, [ h(this, b, "f"), h(this, m, "f") ]);
|
|
449
|
+
h(this, v, "f").clear();
|
|
450
|
+
}
|
|
451
|
+
if (this.selectedConnectionType === "select" && h(this, v, "f").size > 0) {
|
|
452
|
+
h(this, x, "f").call(this, [ ...h(this, v, "f").values() ]);
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
render() {
|
|
456
|
+
return t(i, {
|
|
457
|
+
class: {
|
|
458
|
+
"widget elevation-1": true,
|
|
459
|
+
"new-connection": this.selectedConnectionType === "new",
|
|
460
|
+
"recently-used-empty": this.recentlyUsedServersData.length === 0
|
|
461
|
+
}
|
|
462
|
+
}, t("ch-theme", {
|
|
463
|
+
model: q
|
|
464
|
+
}), t("main", {
|
|
465
|
+
class: "section"
|
|
466
|
+
}, t("header", {
|
|
467
|
+
class: "header spacing-body-block-start spacing-body-inline"
|
|
468
|
+
}, t("div", {
|
|
469
|
+
class: "field-group"
|
|
470
|
+
}, t("label", {
|
|
471
|
+
class: "body-regular-m text-neutral-gray-400"
|
|
472
|
+
}, h(this, f, "f").header.title), t("ch-radio-group-render", {
|
|
473
|
+
class: "radio-group",
|
|
474
|
+
model: h(this, w, "f"),
|
|
475
|
+
onChange: h(this, $, "f"),
|
|
476
|
+
value: h(this, w, "f")[0].value
|
|
477
|
+
}), this.selectedConnectionType === "select" && t("ch-edit", {
|
|
478
|
+
class: "input search-server",
|
|
479
|
+
id: "server-name-search",
|
|
480
|
+
startImgSrc: X,
|
|
481
|
+
onInput: h(this, M, "f"),
|
|
482
|
+
placeholder: h(this, f, "f").placeholders.searchServers,
|
|
483
|
+
accessibleName: "search server",
|
|
484
|
+
type: "search"
|
|
485
|
+
}))), this.selectedConnectionType === "select" && [ h(this, V, "f").call(this), h(this, O, "f").call(this) ], this.selectedConnectionType === "new" && t("section", {
|
|
486
|
+
class: "spacing-body-inline"
|
|
487
|
+
}, t("div", {
|
|
488
|
+
class: "layout layout--cols-2"
|
|
489
|
+
}, t("div", {
|
|
490
|
+
class: "field field-block layout__panel"
|
|
491
|
+
}, t("label", {
|
|
492
|
+
class: "label",
|
|
493
|
+
htmlFor: "server-url"
|
|
494
|
+
}, h(this, f, "f").labels.serverUrl), t("ch-edit", {
|
|
495
|
+
// server url
|
|
496
|
+
class: "input",
|
|
497
|
+
id: "server-url",
|
|
498
|
+
value: this.serverUrlInputValue,
|
|
499
|
+
onInput: e => h(this, W, "f").call(this, e, "serverUrlInputValue"),
|
|
500
|
+
placeholder: h(this, f, "f").placeholders.serverUrl,
|
|
501
|
+
ref: e => u(this, b, e, "f")
|
|
502
|
+
}), h(this, k, "f").call(this, h(this, b, "f"))), t("div", {
|
|
503
|
+
class: "field field-block layout__panel"
|
|
504
|
+
}, t("label", {
|
|
505
|
+
class: "label",
|
|
506
|
+
htmlFor: "server-name"
|
|
507
|
+
}, h(this, f, "f").labels.serverName), t("ch-edit", {
|
|
508
|
+
// server friendly name
|
|
509
|
+
class: "input",
|
|
510
|
+
id: "server-name",
|
|
511
|
+
value: this.serverNameInputValue,
|
|
512
|
+
onInput: e => h(this, W, "f").call(this, e, "serverNameInputValue"),
|
|
513
|
+
placeholder: h(this, f, "f").placeholders.serverName,
|
|
514
|
+
maxLength: 18,
|
|
515
|
+
ref: e => u(this, m, e, "f")
|
|
516
|
+
}), h(this, k, "f").call(this, h(this, m, "f"))))), h(this, R, "f").call(this)));
|
|
517
|
+
}
|
|
518
|
+
static get assetsDirs() {
|
|
519
|
+
return [ "gx-ide-assets/server-selector" ];
|
|
520
|
+
}
|
|
521
|
+
get el() {
|
|
522
|
+
return s(this);
|
|
523
|
+
}
|
|
524
|
+
static get watchers() {
|
|
525
|
+
return {
|
|
526
|
+
serversData: [ "serversDataChanged" ]
|
|
527
|
+
};
|
|
528
|
+
}
|
|
529
|
+
};
|
|
530
|
+
|
|
531
|
+
f = new WeakMap, p = new WeakMap, b = new WeakMap, m = new WeakMap, g = new WeakMap,
|
|
532
|
+
v = new WeakMap, w = new WeakMap, y = new WeakMap, _ = new WeakMap, k = new WeakMap,
|
|
533
|
+
x = new WeakMap, M = new WeakMap, W = new WeakMap, z = new WeakMap, C = new WeakMap,
|
|
534
|
+
N = new WeakMap, j = new WeakMap, I = new WeakMap, T = new WeakMap, E = new WeakMap,
|
|
535
|
+
S = new WeakMap, $ = new WeakMap, A = new WeakMap, D = new WeakMap, H = new WeakMap,
|
|
536
|
+
F = new WeakMap, L = new WeakMap, U = new WeakMap, P = new WeakMap, R = new WeakMap,
|
|
537
|
+
V = new WeakMap, O = new WeakMap;
|
|
538
|
+
|
|
539
|
+
Z.style = d;
|
|
540
|
+
|
|
541
|
+
export { Z as gx_ide_server_selector };
|
|
542
|
+
//# sourceMappingURL=p-91497934.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["serverSelectorCss","CSS_BUNDLES","INFO_ICON","getIconPath","category","name","colorType","LOCK_ICON","LANGUAGE_ICON","DELETE_ICON","ERROR_ICON","SEARCH_ICON","SERVER_NAME_PREFIX","GxIdeServerSelector","_GxIdeServerSelector__componentLocale","set","this","_GxIdeServerSelector_chGridAllServersEl","_GxIdeServerSelector_serverUrlEL","_GxIdeServerSelector_serverFriendlyNameEL","_GxIdeServerSelector_updatedServerName","_GxIdeServerSelector_serverNameEditElsMap","Map","_GxIdeServerSelector_versionsSelect","_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","forEach","validatableControl","has","reference","undefined","_GxIdeServerSelector_filterValueChangedHandler","event","filterValue","detail","toLowerCase","filteredServersData","serversData","filter","item","serverName","includes","_GxIdeServerSelector_inputHandler","field","enableConfirmButton","controlId","clearControlError","__classPrivateFieldGet","_GxIdeServerSelector_enableConfirmButton","call","_GxIdeServerSelector_handleRecentlyUsedCardClick","server","selectedRecentlyUsedId","selectRow","_GxIdeServerSelector_handleServerSelection","_GxIdeServerSelector_handleDeleteServer","serverData","accessLevel","result","deleteServerCallback","_GxIdeServerSelector_onServerNameInput","__classPrivateFieldSet","_GxIdeServerSelector_onServerNameChange","fieldErrors","success","updateServerCallback","Object","assign","length","_GxIdeServerSelector_onRecentlyUsedDoubleClickHandler","_GxIdeServerSelector_onServersRowClickHandler","rowId","selectedRowId","selectedServer","find","serverUrl","userName","gxServerUsername","_GxIdeServerSelector_connectionTypeChangedHandler","_GxIdeServerSelector_sortTabularGridColumnCallback","e","sortTabularGridColumn","_GxIdeServerSelector_renderTabularGridColumnSet","hideColumnName","columnId","columnName","settingable","columnNameHidden","size","tabularGrid","colSize","maxContent","resizable","sortable","onColumnSortChanged","auto","_GxIdeServerSelector_renderTooltip","text","delayLong","_GxIdeServerSelector_renderServerNameErrorMessage","errorMsg","src","_GxIdeServerSelector_renderTabularGridCommonCells","_GxIdeServerSelector_renderIcon","value","onInput","onChange","maxLength","ref","el","key","delete","onClick","actions","deleteServer","disabled","_GxIdeServerSelector_renderAllServersGrid","rowSelectionMode","allowColumnReorder","onRowClicked","map","serverNameEditKey","rowid","stateIconSrc","stateTitle","emptyConnectedServers","isAnimated","icon","_GxIdeServerSelector_renderFooter","isSelectionMode","footer","cancel","confirm","_GxIdeServerSelector_renderRecentlyUsed","renderRecentlyUsed","recentlyUsedServersData","htmlFor","recentlyUsed","title","layout","layout__panel","onDblClick","_GxIdeServerSelector_renderAllServers","allServers","serversDataChanged","newValue","componentWillLoad","Locale","getComponentStrings","caption","captions","selectServer","addServer","componentDidRender","clear","values","render","Host","model","header","startImgSrc","placeholder","placeholders","searchServers","accessibleName","type","labels"],"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@import \"../common/styles.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// All Servers\n\n.tabular-grid {\n overflow: auto;\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.field-block-all-servers {\n overflow: auto;\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\n.recently-used-card {\n border: 1px solid var(--grid-cell__border-color);\n border-radius: var(--mer-border__radius--sm);\n cursor: pointer;\n\n &:hover {\n background-color: var(--mer-color__tinted-primary--5);\n }\n\n &:focus-visible {\n @include focus-outline();\n }\n\n &--selected {\n background-color: var(--mer-color__tinted-primary--10);\n border-color: var(--mer-color__tinted-primary--30);\n }\n}\n\n.recently-used-card-content {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n padding: 8px;\n gap: 2px;\n overflow: hidden;\n\n .text-decoration-line-underline {\n @include cell-ellipsis();\n max-width: 100%;\n text-decoration: underline;\n }\n}\n\n// All Severs tabular-grid\n\n.delete-server-icon {\n // WA: Getr and apply the marign inline value on the ch-image,\n // so that the button looks squared. This happens because the\n // button is \"tertiary\", which happens to have no padding-inline.\n // TODO: Investigate a solution that works without a WA.\n $cellBlockSize: 30.39px;\n margin-inline: calc((#{$cellBlockSize} - var(--ch-image-size)) / 2);\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid\",\n $tabular-grid-cell-node-type: \"element\",\n $tabular-grid-affected-columns-nth-list: (\n 5\n )\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, Watch } 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\nconst DELETE_ICON = getIconPath({\n category: \"system\",\n name: \"delete-outlined\",\n colorType: \"neutral\"\n});\n\nconst ERROR_ICON = getIconPath({\n category: \"system\",\n name: \"error\",\n colorType: \"error\"\n});\n\nconst SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\nconst SERVER_NAME_PREFIX = \"server-name-\";\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 #_componentLocale: any;\n\n #chGridAllServersEl: HTMLChTabularGridElement;\n #serverUrlEL: HTMLChEditElement;\n #serverFriendlyNameEL: HTMLChEditElement;\n #updatedServerName: string | undefined;\n #serverNameEditElsMap: Map<string, HTMLChEditElement> = new Map();\n #versionsSelect: RadioGroupItemModel[] = [];\n\n @Element() el: HTMLGxIdeServerSelectorElement;\n\n /**\n * State to enable/disable confirm button.\n */\n @State() enableConfirmButton: boolean = false;\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() filteredServersData: ServerData[] = [];\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 selected recently used server ID\n */\n @State() selectedRecentlyUsedId: string;\n\n /**\n * The list of all GX servers.\n */\n @Prop({ mutable: true }) serversData: ServerData[] = [];\n @Watch(\"serversData\")\n serversDataChanged(newValue: ServerData[]) {\n this.filteredServersData = newValue;\n }\n /**\n * The list of recently used servers.\n */\n @Prop() readonly recentlyUsedServersData: ServerData[] = [];\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 /**\n * Invoked to delete a server\n */\n @Prop() readonly deleteServerCallback!: (\n serverData: ServerData\n ) => Promise<boolean>;\n\n /**\n * Invoked to update a server\n */\n @Prop() readonly updateServerCallback!: (\n serverData: ServerData\n ) => Promise<FormSubmitResult>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n\n this.#versionsSelect = [\n {\n value: \"select\",\n caption: this.#_componentLocale.captions.selectServer\n },\n {\n value: \"new\",\n caption: this.#_componentLocale.captions.addServer\n }\n ];\n\n this.selectedServerUri = this.serversData[0]?.serverUrl;\n this.userName = this.serversData[0]?.gxServerUsername;\n\n this.filteredServersData = this.serversData;\n }\n\n componentDidRender() {\n if (\n this.selectedConnectionType === \"new\" &&\n this.#serverUrlEL &&\n this.#serverFriendlyNameEL\n ) {\n this.#initializeValidatableControls([\n this.#serverUrlEL,\n this.#serverFriendlyNameEL\n ]);\n this.#serverNameEditElsMap.clear();\n }\n\n if (\n this.selectedConnectionType === \"select\" &&\n this.#serverNameEditElsMap.size > 0\n ) {\n this.#initializeValidatableControls([\n ...this.#serverNameEditElsMap.values()\n ]);\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 = (validatableControls: HTMLElement[]) => {\n validatableControls.forEach(validatableControl => {\n if (\n validatableControl.id &&\n !this.validatableControls.has(validatableControl.id)\n ) {\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.filteredServersData = this.serversData.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 #handleRecentlyUsedCardClick = async (server: ServerData) => {\n this.selectedRecentlyUsedId = server.id;\n await this.#chGridAllServersEl?.selectRow(server.id);\n await this.#handleServerSelection(server.id);\n };\n\n #handleDeleteServer = async (serverData: ServerData) => {\n if (serverData.accessLevel === \"private\") {\n const result = await this.deleteServerCallback(serverData);\n if (result) {\n this.selectedServerName = \"None\";\n this.enableConfirmButton = false;\n }\n }\n };\n\n #onServerNameInput = async (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.#updatedServerName = event.detail as string;\n };\n\n #onServerNameChange = async (serverData: ServerData) => {\n let result: FormSubmitResult = {\n fieldErrors: [],\n success: false\n };\n if (\n serverData.serverName !== this.#updatedServerName &&\n serverData.accessLevel === \"private\"\n ) {\n result = await this.updateServerCallback({\n ...serverData,\n serverName: this.#updatedServerName\n });\n }\n\n this.validatableControls = validateControls(\n result,\n this.validatableControls\n );\n\n if (result.success || serverData.serverName === this.#updatedServerName) {\n this.selectedServerName = this.#updatedServerName;\n clearControlError(\n this.validatableControls,\n `${SERVER_NAME_PREFIX}${serverData.id}`\n );\n }\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 #onRecentlyUsedDoubleClickHandler = (serverData: ServerData) => {\n this.#handleServerSelection(serverData.id);\n this.#confirmHandler();\n };\n\n #onServersRowClickHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) => this.#handleServerSelection(event.detail.rowId);\n\n #handleServerSelection = async (selectedRowId: string): Promise<void> => {\n if (selectedRowId === undefined) {\n this.enableConfirmButton = false;\n this.selectedServerUri = undefined;\n this.selectedServerName = undefined;\n return;\n }\n\n const selectedServer = this.serversData.find(\n server => server.id === selectedRowId\n );\n this.enableConfirmButton = true;\n this.selectedServerName = selectedServer?.serverName;\n this.selectedServerUri = selectedServer?.serverUrl;\n this.userName = selectedServer?.gxServerUsername || \"\";\n this.selectedRecentlyUsedId = selectedServer?.id;\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.filteredServersData = [\n ...sortTabularGridColumn(e, this.filteredServersData, \"string\", undefined)\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=\"Connected\"\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=\"action\"\n class=\"tabular-grid-column tabular-grid-column-icon\"\n columnName=\"Action\"\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-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.delayLong}\n >\n {text}\n </ch-tooltip>\n ) : null;\n };\n\n #renderServerNameErrorMessage = (errorMsg: string) => {\n return (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty class=\"tabular-grid-rowset-empty\">\n <p class=\"warning-error-description\">\n <ch-image\n class=\"icon-md warning-error-icon\"\n src={ERROR_ICON}\n ></ch-image>\n {errorMsg}\n </p>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n );\n };\n\n #renderTabularGridCommonCells = (serverData: ServerData) => {\n return [\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#renderIcon(serverData.accessLevel)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {serverData.accessLevel === \"private\" ? (\n <ch-edit\n id={`${SERVER_NAME_PREFIX}${serverData.id}`}\n value={serverData.serverName}\n onInput={this.#onServerNameInput}\n onChange={() => this.#onServerNameChange(serverData)}\n maxLength={18}\n ref={el => {\n const key = `${SERVER_NAME_PREFIX}${serverData.id}`;\n if (el) {\n this.#serverNameEditElsMap.set(key, el as HTMLChEditElement);\n } else {\n this.#serverNameEditElsMap.delete(key);\n }\n }}\n ></ch-edit>\n ) : (\n serverData.serverName\n )}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {serverData.serverUrl}\n {this.#renderTooltip(serverData.serverUrl)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {serverData.gxServerUsername}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell\n class=\"tabular-grid-cell\"\n onClick={() => this.#handleDeleteServer(serverData)}\n >\n <button\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.actions.deleteServer}\n disabled={serverData.accessLevel === \"public\"}\n >\n <ch-image\n disabled={serverData.accessLevel === \"public\"}\n class=\"icon-md delete-server-icon\"\n src={DELETE_ICON}\n ></ch-image>\n </button>\n </ch-tabular-grid-cell>\n ];\n };\n\n #renderAllServersGrid = (): 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.#chGridAllServersEl = el)\n }\n allowColumnReorder={false}\n onRowClicked={this.#onServersRowClickHandler}\n id=\"all-servers\"\n >\n {this.#renderTabularGridColumnSet()}\n {this.filteredServersData.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.filteredServersData.map((serverData: ServerData) => {\n const serverNameEditKey = `${SERVER_NAME_PREFIX}${serverData.id}`;\n const hasError =\n this.validatableControls.get(serverNameEditKey)?.hasError ===\n true;\n const errorMsg =\n this.validatableControls.get(serverNameEditKey)?.message;\n\n return (\n <ch-tabular-grid-row\n rowid={serverData.id}\n class=\"tabular-grid-row\"\n >\n {this.#renderTabularGridCommonCells(serverData)}\n {hasError && this.#renderServerNameErrorMessage(errorMsg)}\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 #renderRecentlyUsed = () => {\n const renderRecentlyUsed =\n this.selectedConnectionType === \"select\" &&\n this.recentlyUsedServersData.length > 0;\n\n return (\n renderRecentlyUsed && (\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 <div\n class={{\n \"layout\": true,\n \"layout--cols-3\": this.recentlyUsedServersData.length >= 3,\n \"layout--cols-2\": this.recentlyUsedServersData.length <= 2\n }}\n >\n {this.recentlyUsedServersData.map((server: ServerData) => (\n <button\n class={{\n \"layout__panel\": true,\n \"recently-used-card\": true,\n \"recently-used-card--selected\":\n this.selectedRecentlyUsedId === server.id\n }}\n onClick={() => this.#handleRecentlyUsedCardClick(server)}\n onDblClick={() =>\n this.#onRecentlyUsedDoubleClickHandler(server)\n }\n >\n <div class=\"recently-used-card-content\">\n <p class=\"body-regular-s text-neutral-gray-400\">\n {server.serverName}\n </p>\n <p class=\"body-regular-s text-neutral-gray-400 text-decoration-line-underline\">\n {server.serverUrl}\n </p>\n </div>\n {this.#renderTooltip(server.serverUrl)}\n </button>\n ))}\n </div>\n </div>\n )\n );\n };\n\n #renderAllServers = () => {\n return (\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.#renderAllServersGrid()}\n </div>\n );\n };\n\n render(): void {\n return (\n <Host\n class={{\n \"widget elevation-1\": true,\n \"new-connection\": this.selectedConnectionType === \"new\",\n \"recently-used-empty\": this.recentlyUsedServersData.length === 0\n }}\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={SEARCH_ICON}\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\n {this.selectedConnectionType === \"select\" && [\n this.#renderRecentlyUsed(),\n this.#renderAllServers()\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 ServerData = {\n id: string;\n serverUrl: string;\n accessLevel: ServerAccessLevel;\n masterSessionUsername: string;\n serverName?: string;\n sessionId?: string;\n gxServerUsername: string;\n isConnected: boolean;\n};\n\nexport type NewServerConnectionData = {\n serverUrl: string;\n serverName: string;\n};\n"],"mappings":"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"}
|