@genexus/genexus-ide-ui 1.1.34 → 1.1.36
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-140f58fe.js → config-df6ba4e9.js} +2 -2
- package/dist/cjs/config-df6ba4e9.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 +1 -1
- package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-json-import.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-server-selector.cjs.entry.js +5 -3
- 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 +19 -30
- 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 +641 -301
- 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 +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +92 -53
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +111 -36
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +501 -233
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +5 -26
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/helpers-8fb178a2.js +30 -0
- package/dist/cjs/helpers-8fb178a2.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utilities-11683cc0.js → utilities-0e316b39.js} +6 -6
- package/dist/cjs/utilities-0e316b39.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/common/config.js +1 -1
- package/dist/collection/common/config.js.map +1 -1
- package/dist/collection/components/data-type-selector/gx-ide-assets/data-type-selector/langs/data-type-selector.lang.en.json +1 -1
- package/dist/collection/components/plugin-explorer/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.en.json +1 -1
- package/dist/collection/components/plugin-explorer/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.zh.json +1 -1
- package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.en.json +1 -1
- package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.zh.json +1 -1
- package/dist/collection/components/team-dev/bring-changes/bring-changes.css +3 -3
- package/dist/collection/components/team-dev/bring-changes/bring-changes.js +44 -50
- package/dist/collection/components/team-dev/bring-changes/bring-changes.js.map +1 -1
- package/dist/collection/components/team-dev/bring-changes/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.en.json +1 -1
- package/dist/collection/components/team-dev/bring-changes/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.zh.json +1 -1
- package/dist/collection/components/team-dev/common/utilities.js +5 -5
- package/dist/collection/components/team-dev/common/utilities.js.map +1 -1
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +1 -1
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
- package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.en.json +1 -1
- package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +1 -1
- package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.zh.json +1 -1
- package/dist/collection/components/team-dev/history/history.js.map +1 -1
- package/dist/collection/components/team-dev/server-selector/server-selector.js +4 -2
- package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
- package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.en.json +49 -28
- package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +58 -37
- package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.zh.json +49 -28
- package/dist/collection/components/team-dev/update/types.js.map +1 -0
- package/dist/collection/components/team-dev/update/update.css +268 -606
- package/dist/collection/components/team-dev/update/update.js +566 -411
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/collection/components/team-dev/update/utilities/actions-combo-box-model.js +2 -0
- package/dist/collection/components/team-dev/update/utilities/actions-combo-box-model.js.map +1 -0
- package/dist/collection/components/team-dev/update-partial-selection/gx-ide-assets/team-dev-update-partial-selection/langs/team-dev-update-partial-selection.lang.zh.json +11 -11
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +16 -590
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +100 -78
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
- package/dist/collection/components/team-dev/update-to-revision/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.zh.json +5 -5
- package/dist/collection/components/team-dev/update-to-revision/gx-ide-assets/team-dev-update-to-revision/shortcuts.json +3 -3
- package/dist/collection/components/team-dev/update-to-revision/helpers.js +6 -0
- package/dist/collection/components/team-dev/update-to-revision/helpers.js.map +1 -0
- package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +11 -596
- package/dist/collection/components/team-dev/update-to-revision/update-to-revision.js +133 -56
- package/dist/collection/components/team-dev/update-to-revision/update-to-revision.js.map +1 -1
- package/dist/collection/components/team-dev/version-control/commit/commit.css +344 -0
- package/dist/collection/components/team-dev/version-control/commit/commit.js +801 -0
- package/dist/collection/components/team-dev/version-control/commit/commit.js.map +1 -0
- package/dist/collection/components/team-dev/version-control/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +78 -0
- package/dist/collection/components/team-dev/version-control/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +78 -0
- package/dist/collection/components/team-dev/version-control/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +78 -0
- package/dist/collection/components/team-dev/version-control/commit/utilities/categories-to-combo-box.js +7 -0
- package/dist/collection/components/team-dev/version-control/commit/utilities/categories-to-combo-box.js.map +1 -0
- package/dist/collection/components/team-dev/version-control/commit/utilities/changeset-to-combo-box.js +11 -0
- package/dist/collection/components/team-dev/version-control/commit/utilities/changeset-to-combo-box.js.map +1 -0
- package/dist/collection/components/team-dev/version-control/commit/utilities/folders-to-combo-box.js +5 -0
- package/dist/collection/components/team-dev/version-control/commit/utilities/folders-to-combo-box.js.map +1 -0
- package/dist/collection/components/team-dev/version-control/commit/utilities/types-to-combo-box.js +6 -0
- package/dist/collection/components/team-dev/version-control/commit/utilities/types-to-combo-box.js.map +1 -0
- package/dist/collection/components/team-dev/version-control/common/clear-grid-selection.js +37 -0
- package/dist/collection/components/team-dev/version-control/common/clear-grid-selection.js.map +1 -0
- package/dist/collection/components/team-dev/version-control/common/constants.js +70 -0
- package/dist/collection/components/team-dev/version-control/common/constants.js.map +1 -0
- package/dist/collection/components/team-dev/version-control/common/header-renders.js +12 -0
- package/dist/collection/components/team-dev/version-control/common/header-renders.js.map +1 -0
- package/dist/collection/components/team-dev/version-control/common/object-type-to-combo-box.js +6 -0
- package/dist/collection/components/team-dev/version-control/common/object-type-to-combo-box.js.map +1 -0
- package/dist/collection/components/team-dev/version-control/common/tabular-grid-render.js +112 -0
- package/dist/collection/components/team-dev/version-control/common/tabular-grid-render.js.map +1 -0
- package/dist/collection/components/team-dev/version-control/common/types.js +2 -0
- package/dist/collection/components/team-dev/version-control/common/types.js.map +1 -0
- package/dist/components/config.js +1 -1
- package/dist/components/config.js.map +1 -1
- package/dist/components/gx-ide-connect-gx-server.js +1 -1
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-server-selector.js +4 -2
- package/dist/components/gx-ide-server-selector.js.map +1 -1
- package/dist/components/gx-ide-team-dev-bring-changes.js +20 -32
- package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +678 -321
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-history.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +93 -67
- package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js +115 -51
- package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +532 -266
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-ww-files.js +2 -23
- package/dist/components/gx-ide-ww-files.js.map +1 -1
- package/dist/components/helpers2.js +27 -0
- package/dist/components/helpers2.js.map +1 -0
- package/dist/components/utilities.js +5 -5
- package/dist/components/utilities.js.map +1 -1
- package/dist/esm/{config-73a57a22.js → config-9eaeb14b.js} +2 -2
- package/dist/esm/config-9eaeb14b.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +2 -2
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
- package/dist/esm/gx-ide-curl-inspector.entry.js +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +1 -1
- package/dist/esm/gx-ide-json-import.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-server-selector.entry.js +5 -3
- 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 +19 -30
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +642 -302
- 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 +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +92 -53
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +111 -36
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +502 -234
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
- package/dist/esm/gx-ide-ww-attributes.entry.js +1 -1
- package/dist/esm/gx-ide-ww-files.entry.js +3 -24
- package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/helpers-4d080d9f.js +27 -0
- package/dist/esm/helpers-4d080d9f.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utilities-482e01e6.js → utilities-6624d90e.js} +6 -6
- package/dist/esm/utilities-6624d90e.js.map +1 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.en.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.zh.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/data-type-selector/langs/data-type-selector.lang.en.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.en.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/plugin-explorer/langs/plugin-explorer.lang.zh.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.en.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.zh.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.en.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-bring-changes/langs/team-dev-bring-changes.lang.zh.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +68 -29
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +69 -30
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +68 -29
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.en.json +49 -28
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +58 -37
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.zh.json +49 -28
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-partial-selection/langs/team-dev-update-partial-selection.lang.zh.json +11 -11
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.zh.json +5 -5
- package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-to-revision/shortcuts.json +3 -3
- package/dist/genexus-ide-ui/p-08d90282.entry.js +178 -0
- package/dist/genexus-ide-ui/p-08d90282.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-dc1a9bd5.entry.js → p-09a634fc.entry.js} +3 -3
- package/dist/genexus-ide-ui/p-09a634fc.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8c125495.entry.js → p-0ae0616f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-00e51225.entry.js → p-1056dfe7.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-bf176329.entry.js → p-12b563fe.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-54946b5e.entry.js → p-159164d6.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-6945a7ad.entry.js → p-16a88fc3.entry.js} +6 -6
- package/dist/genexus-ide-ui/{p-2c6ab8f4.entry.js → p-1d044bf5.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e1d947d7.entry.js → p-2ce60f4c.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-34447b77.entry.js +603 -0
- package/dist/genexus-ide-ui/p-34447b77.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-38f135a5.entry.js → p-3b955964.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-4da77239.entry.js → p-3dc5d62e.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-42f37527.entry.js +732 -0
- package/dist/genexus-ide-ui/p-42f37527.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-56308ae7.entry.js → p-443fc479.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-68ff4ac9.entry.js → p-4ef96726.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a5b30dc7.entry.js → p-585fac4a.entry.js} +3 -3
- package/dist/genexus-ide-ui/p-585fac4a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e06cfa27.entry.js → p-59908901.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-57b8dd3d.entry.js → p-5a328be1.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3817c664.entry.js → p-646ddf49.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-723d25ae.entry.js +912 -0
- package/dist/genexus-ide-ui/p-723d25ae.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3d7ed559.entry.js → p-730f0cd3.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-4c37ff28.entry.js → p-7836028c.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-f94cb936.entry.js → p-7adb9d1f.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-7f091892.entry.js +222 -0
- package/dist/genexus-ide-ui/p-7f091892.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-44e5e972.js → p-9a03ac9f.js} +2 -2
- package/dist/genexus-ide-ui/{p-44e5e972.js.map → p-9a03ac9f.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-9b1550be.entry.js → p-9ad85231.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-212ca306.entry.js → p-9b8a8487.entry.js} +252 -273
- package/dist/genexus-ide-ui/p-9b8a8487.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2ee77587.js → p-a24571ca.js} +6 -6
- package/dist/genexus-ide-ui/p-a24571ca.js.map +1 -0
- package/dist/genexus-ide-ui/{p-bb0cdfe6.entry.js → p-b5d8589f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-7fe4387b.entry.js → p-be84e15b.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-923744e7.entry.js → p-bee71b20.entry.js} +25 -23
- package/dist/genexus-ide-ui/p-bee71b20.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4dd3af73.entry.js → p-d01bbc7a.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-833ae3bf.entry.js → p-da7df3dc.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-9d1316d4.entry.js → p-e7738191.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-edcd0022.js +27 -0
- package/dist/genexus-ide-ui/p-edcd0022.js.map +1 -0
- package/dist/types/components/team-dev/bring-changes/bring-changes.d.ts +6 -9
- package/dist/types/components/team-dev/common/utilities.d.ts +1 -1
- package/dist/types/components/team-dev/history/history.d.ts +1 -1
- package/dist/types/components/team-dev/update/types.d.ts +1 -0
- package/dist/types/components/team-dev/update/update.d.ts +98 -110
- package/dist/types/components/team-dev/update/utilities/actions-combo-box-model.d.ts +0 -0
- package/dist/types/components/team-dev/update-partial-selection/update-partial-selection.d.ts +8 -25
- package/dist/types/components/team-dev/update-to-revision/helpers.d.ts +1 -0
- package/dist/types/components/team-dev/update-to-revision/update-to-revision.d.ts +8 -25
- package/dist/types/components/team-dev/version-control/commit/commit.d.ts +192 -0
- package/dist/types/components/team-dev/version-control/commit/utilities/categories-to-combo-box.d.ts +3 -0
- package/dist/types/components/team-dev/version-control/commit/utilities/changeset-to-combo-box.d.ts +3 -0
- package/dist/types/components/team-dev/version-control/commit/utilities/folders-to-combo-box.d.ts +3 -0
- package/dist/types/components/team-dev/version-control/commit/utilities/types-to-combo-box.d.ts +3 -0
- package/dist/types/components/team-dev/version-control/common/clear-grid-selection.d.ts +11 -0
- package/dist/types/components/team-dev/version-control/common/constants.d.ts +24 -0
- package/dist/types/components/team-dev/version-control/common/header-renders.d.ts +5 -0
- package/dist/types/components/team-dev/{commit/helpers.d.ts → version-control/common/object-type-to-combo-box.d.ts} +1 -2
- package/dist/types/components/team-dev/version-control/common/tabular-grid-render.d.ts +8 -0
- package/dist/types/components/team-dev/version-control/common/types.d.ts +52 -0
- package/dist/types/components.d.ts +113 -205
- package/package.json +1 -1
- package/dist/cjs/config-140f58fe.js.map +0 -1
- package/dist/cjs/utilities-11683cc0.js.map +0 -1
- package/dist/collection/components/team-dev/commit/commit.css +0 -100
- package/dist/collection/components/team-dev/commit/commit.js +0 -708
- package/dist/collection/components/team-dev/commit/commit.js.map +0 -1
- package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.en.json +0 -39
- package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +0 -39
- package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +0 -39
- package/dist/collection/components/team-dev/commit/helpers.js +0 -10
- package/dist/collection/components/team-dev/commit/helpers.js.map +0 -1
- package/dist/collection/components/team-dev/common/types.js.map +0 -1
- package/dist/esm/config-73a57a22.js.map +0 -1
- package/dist/esm/utilities-482e01e6.js.map +0 -1
- package/dist/genexus-ide-ui/p-0391a478.entry.js +0 -119
- package/dist/genexus-ide-ui/p-0391a478.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-212ca306.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-2ee77587.js.map +0 -1
- package/dist/genexus-ide-ui/p-69da0cd9.entry.js +0 -201
- package/dist/genexus-ide-ui/p-69da0cd9.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8c1ee4d9.entry.js +0 -643
- package/dist/genexus-ide-ui/p-8c1ee4d9.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-923744e7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-952d84f8.entry.js +0 -683
- package/dist/genexus-ide-ui/p-952d84f8.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a5b30dc7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-b2854730.entry.js +0 -641
- package/dist/genexus-ide-ui/p-b2854730.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-dc1a9bd5.entry.js.map +0 -1
- package/dist/types/components/team-dev/commit/commit.d.ts +0 -115
- package/dist/types/components/team-dev/common/types.d.ts +0 -1
- /package/dist/collection/components/team-dev/{common → update}/types.js +0 -0
- /package/dist/genexus-ide-ui/{p-8c125495.entry.js.map → p-0ae0616f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-00e51225.entry.js.map → p-1056dfe7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-bf176329.entry.js.map → p-12b563fe.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-54946b5e.entry.js.map → p-159164d6.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6945a7ad.entry.js.map → p-16a88fc3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2c6ab8f4.entry.js.map → p-1d044bf5.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e1d947d7.entry.js.map → p-2ce60f4c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-38f135a5.entry.js.map → p-3b955964.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4da77239.entry.js.map → p-3dc5d62e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-56308ae7.entry.js.map → p-443fc479.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-68ff4ac9.entry.js.map → p-4ef96726.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e06cfa27.entry.js.map → p-59908901.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-57b8dd3d.entry.js.map → p-5a328be1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3817c664.entry.js.map → p-646ddf49.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3d7ed559.entry.js.map → p-730f0cd3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4c37ff28.entry.js.map → p-7836028c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f94cb936.entry.js.map → p-7adb9d1f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9b1550be.entry.js.map → p-9ad85231.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-bb0cdfe6.entry.js.map → p-b5d8589f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7fe4387b.entry.js.map → p-be84e15b.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4dd3af73.entry.js.map → p-d01bbc7a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-833ae3bf.entry.js.map → p-da7df3dc.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9d1316d4.entry.js.map → p-e7738191.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../../../src/components/team-dev/commit/commit.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Method,\n State,\n Watch\n} from \"@stencil/core\";\n\n// Other Libraries\nimport {\n ChEditCustomEvent,\n ComboBoxModel,\n TabModel,\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\nimport {\n renderObjectStateWithIcon,\n renderObjectTypeWithIcon\n} from \"../common/utilities\";\nimport { ObjectState } from \"../common/types\";\n\n// Custom Imports\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\nimport {\n GxOption,\n ContextMenuInfo,\n ObjectType,\n ItemsCheckedState,\n ItemsCheckedResult\n} from \"../../../common/types\";\n\nimport { formatDate } from \"../../../common/helpers\";\nimport {\n mapGxOptionsToComboBoxItemModel,\n mapObjectTypeToComboBoxItemModel\n} from \"./helpers\";\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"primary\"\n});\n\nconst FILTER_ICON_EMPTY = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-surface\"\n});\n\nconst FILTER_WITH_CONDITIONS_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter-conditions\",\n colorType: \"primary\"\n});\n\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\nconst ALL_OPTION = \"All\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/edit\",\n \"components/tab\",\n \"components/icon\",\n \"components/tabular-grid\",\n \"components/tooltip\",\n \"chameleon/scrollbar\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\"\n];\n@Component({\n tag: \"gx-ide-team-dev-commit\",\n styleUrl: \"commit.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-commit\"]\n})\nexport class GxIdeTeamDevCommit {\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 #loadDataCalledFirstTime = false; // pending commits grid checkboxes, should be checked, after loadData has loaded commits for the first time.\n #renderedFirstTime = false;\n #commitsTabModel: TabModel = [\n { id: \"pending-commits\", name: \"Pending Commits\" },\n { id: \"ignored-objects\", name: \"Ignored Objects\" }\n ];\n\n @Element() el: HTMLGxIdeTeamDevCommitElement;\n\n // filters\n #categoriesEl!: HTMLChComboBoxRenderElement;\n #changeSetEl!: HTMLChComboBoxRenderElement;\n #commitCommentEl!: HTMLChEditElement;\n #foldersEl!: HTMLChComboBoxRenderElement;\n #patternEl!: HTMLChEditElement;\n #typesEl!: HTMLChComboBoxRenderElement;\n // other\n #chGridIgnoredObjectsEl!: HTMLChTabularGridElement;\n #chGridPendingCommitsEl!: HTMLChTabularGridElement;\n\n @State() comment = \"\";\n @State() filterHasConditions = false;\n @State() ignoredObjects: ModifiedObjectData[] = [];\n @State() pendingCommits: ModifiedObjectData[] = [];\n @State() commentInputHasError: boolean = false;\n @State() commitingObjects: boolean = false;\n @State() filtersHidden = true;\n // Combo box models\n @State() folderOptionsModel: ComboBoxModel;\n @State() typeOptionsModel: ComboBoxModel;\n @State() changeSetOptionsModel: ComboBoxModel;\n @State() categoryOptionsModel: ComboBoxModel;\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * Possible values for Categories filter\n */\n @Prop() readonly categories: GxOption[];\n @Watch(\"categories\")\n categoriesChangedHandler(newCategoriesOptions: GxOption[]) {\n mapGxOptionsToComboBoxItemModel(newCategoriesOptions);\n }\n\n /**\n * Possible values for ChangeSet filter\n */\n @Prop() readonly changeSet: GxOption[];\n @Watch(\"changeSet\")\n changeSetChangedHandler(newChangeSetOptions: GxOption[]) {\n this.changeSetOptionsModel =\n mapGxOptionsToComboBoxItemModel(newChangeSetOptions);\n }\n\n /**\n * Callback invoked when user starts the commit process\n */\n @Prop() readonly commitCallback: CommitCallback;\n\n /**\n * Possible values for Folders filter\n */\n @Prop() readonly folders: GxOption[];\n @Watch(\"folders\")\n foldersChangedHandler(newFolderOptions: GxOption[]) {\n this.folderOptionsModel = mapGxOptionsToComboBoxItemModel(newFolderOptions);\n }\n\n /**\n * Callback invoked when user press Recent Comments button.\n */\n @Prop() readonly getRecentCommentCallback: GetRecentComment;\n\n /**\n * Callback invoked when user wants to reload the grid\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked when the user activates the context menu in any grid\n */\n @Prop() readonly objectsContextMenuCallback: ObjectsContextMenuCallback;\n\n /**\n * Callback invoked when user check/uncheck any item from the 'Pending to Commit' grid\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * Callback invoked when the user selects rows from the grid\n */\n @Prop() readonly selectCallback: CommitSelectCallback;\n\n /**\n * Possible values for Type filter\n */\n @Prop() readonly types: ObjectType[];\n @Watch(\"types\")\n typesChangedHandler(newTypesOptions: ObjectType[]) {\n this.typeOptionsModel = mapObjectTypeToComboBoxItemModel(newTypesOptions);\n }\n\n /**\n * Emitted once after the component fully loads and the first render occurs\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n async componentDidLoad() {\n await this.#loadData();\n this.#loadDataCalledFirstTime = true;\n this.componentDidLoadEvent.emit(true);\n this.#commitCommentEl.focus();\n }\n\n async componentDidRender() {\n if (!this.#renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this.#componentLocale.componentName\n );\n this.#renderedFirstTime = true;\n }\n\n if (this.#loadDataCalledFirstTime) {\n // call this method only once\n await this.#markAllPendingCommitsRows();\n // attach \"rowMarkingChanged\" after rows have been checked for the first time.\n this.#chGridPendingCommitsEl.addEventListener(\n \"rowMarkingChanged\",\n this.#pendingCommitsRowMarkingChangedHandler\n );\n this.#loadDataCalledFirstTime = false;\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#initializeComboBoxModels();\n }\n\n #initializeComboBoxModels = () => {\n this.foldersChangedHandler(this.folders);\n this.typesChangedHandler(this.types);\n this.changeSetChangedHandler(this.changeSet);\n this.categoriesChangedHandler(this.categories);\n };\n\n /**\n * Method used by the Host to force a data refresh in the grids\n */\n @Method()\n async reload(): Promise<void> {\n this.#loadData();\n }\n\n #commitCallbackHandler = async () => {\n const comment = this.#commitCommentEl.value;\n if (!comment.length) {\n // A comment is required to commit.\n this.commentInputHasError = true;\n return;\n }\n\n this.commitingObjects = true;\n this.commentInputHasError = false;\n const pendingCommitsCheckedIds =\n await this.#chGridPendingCommitsEl.getMarkedRows();\n\n await this.commitCallback(pendingCommitsCheckedIds, comment);\n this.commitingObjects = false;\n };\n\n #evaluateFilterConditions = () => {\n // TODO: This should update\n if (\n this.#patternEl.value !== \"\" ||\n this.#changeSetEl.value !== ALL_OPTION ||\n this.#typesEl.value !== ALL_OPTION ||\n this.#foldersEl.value !== ALL_OPTION ||\n this.#categoriesEl.value !== ALL_OPTION\n ) {\n this.filterHasConditions = true;\n } else {\n this.filterHasConditions = false;\n }\n };\n\n #getRecentCommentHandler = async () => {\n if (this.getRecentCommentCallback) {\n const response = await this.getRecentCommentCallback();\n if (response) {\n this.#commitCommentEl.value = response;\n }\n }\n };\n\n #gridOnSelectionChangedCallbackHandler =\n (grid: CommitSourceType) =>\n async (ev: CustomEvent<TabularGridSelectionChangedEvent>) => {\n if (this.selectCallback) {\n await this.selectCallback(grid, ev.detail.rowsId);\n }\n };\n\n #handleColumnSortChanged = (e: CustomEvent) => {\n const { columnId, sortDirection } = e.detail;\n\n const aux = this.pendingCommits;\n aux.sort((a: any, b: any) => {\n if (a[columnId] < b[columnId]) {\n return sortDirection === \"asc\" ? -1 : 1;\n }\n if (a[columnId] > b[columnId]) {\n return sortDirection === \"asc\" ? 1 : -1;\n }\n return 0;\n });\n\n this.pendingCommits = [...aux];\n };\n\n #loadData = async () => {\n this.loading = true;\n const filtersData: FiltersData = {\n pattern: this.#patternEl.value,\n changeSet: this.#changeSetEl.value,\n folder: this.#foldersEl.value,\n category: this.#categoriesEl.value,\n type: this.#typesEl.value\n };\n\n this.#evaluateFilterConditions();\n\n await this.loadCallback(filtersData).then(async ({ pending, ignored }) => {\n this.pendingCommits = [...pending];\n this.ignoredObjects = [...ignored];\n });\n this.loading = false;\n this.#updateTabModel();\n };\n\n #markAllPendingCommitsRows = async () => {\n await this.#chGridPendingCommitsEl.markAllRows();\n };\n\n #objectsOnContextMenuCallbackHandler =\n (grid: CommitSourceType) =>\n async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n ev.preventDefault();\n ev.stopPropagation();\n let selection: string[] = [];\n if (grid === \"commit\") {\n selection = ev.detail.selectedRowsId;\n } else if (grid === \"ignored\") {\n selection = await this.#chGridIgnoredObjectsEl.getSelectedRows();\n }\n if (this.objectsContextMenuCallback) {\n await this.objectsContextMenuCallback(grid, {\n selection: selection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n };\n\n #pendingCommitsRowMarkingChangedHandler = async (\n e: CustomEvent<TabularGridMarkingChangedEvent>\n ): Promise<void> => {\n // remove \"rowMarkingChanged\" until checkboxes have been added/removed on #togglePendingCommitsCheckboxes, to prevent loops.\n this.#chGridPendingCommitsEl.removeEventListener(\n \"rowMarkingChanged\",\n this.#pendingCommitsRowMarkingChangedHandler\n );\n if (this.#chGridPendingCommitsEl) {\n const addedRowsIds = e.detail.addedRowsId;\n const removedRowsId = e.detail.removedRowsId;\n\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.#revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.#togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n this.#chGridPendingCommitsEl.addEventListener(\n \"rowMarkingChanged\",\n this.#pendingCommitsRowMarkingChangedHandler\n );\n }\n };\n\n #renderTabularGridColumnSet = (\n withCheckboxes: boolean = false\n ): HTMLChTabularGridColumnsetElement => {\n return (\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n {withCheckboxes && (\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnType=\"rich\"\n richRowSelector\n richRowSelectorMode=\"mark\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n )}\n <ch-tabular-grid-column\n columnId=\"name\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Name\"\n settingable={false}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"type\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Type\"\n settingable={false}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"description\"\n class=\"tabular-grid-column\"\n columnName=\"Description\"\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"modifiedOn\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Modified On\"\n settingable={false}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"module\"\n class=\"tabular-grid-column\"\n columnName=\"Module\"\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"localState\"\n class=\"tabular-grid-column\"\n columnName=\"Local State\"\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"lastSynchronized\"\n class=\"tabular-grid-column\"\n columnName=\"Last Synchronized\"\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n );\n };\n\n #renderTabularGridCommonCells = (object: ModifiedObjectData) => {\n return [\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {object.name}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectTypeWithIcon(object.type)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-description\">\n {object.description}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(object.modifiedOn)}`}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {object.module}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectStateWithIcon(object.localState)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(object.lastSynchronized)}`}\n </ch-tabular-grid-cell>\n ];\n };\n\n #renderIgnoredObjectsGrid = (): Element => {\n const tabularGridEmpty =\n this.ignoredObjects?.length === 0 || !this.ignoredObjects;\n return (\n <ch-tabular-grid\n // ignored objects grid render\n class={{\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n rowSelectionMode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridIgnoredObjectsEl = el)\n }\n allowColumnReorder={false}\n part=\"ch-grid-pending-commits\"\n onRowContextMenu={this.#objectsOnContextMenuCallbackHandler(\"ignored\")}\n onSelectionChanged={this.#gridOnSelectionChangedCallbackHandler(\n \"ignored\"\n )}\n >\n {this.commitingObjects && (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n description={this.#componentLocale.loader.description}\n show\n ></gx-ide-loader>\n )}\n\n {this.#renderTabularGridColumnSet()}\n {this.ignoredObjects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.ignoredObjects.map((obj: ModifiedObjectData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n selected\n class=\"tabular-grid-row\"\n >\n {this.#renderTabularGridCommonCells(obj)}\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateIconSrc={FILTER_ICON_EMPTY}\n stateTitle={this.#componentLocale.emptyIgnoredObjects}\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 #renderPendingCommitsGrid = (): Element => {\n const withCheckboxes = true;\n const tabularGridEmpty =\n this.pendingCommits?.length === 0 || !this.pendingCommits;\n\n if (this.loading) {\n return (\n <div class=\"tabular-grid\">\n <gx-ide-loader\n loaderTitle={this.#componentLocale.objectsLoader.title}\n description={this.#componentLocale.objectsLoader.description}\n show\n ></gx-ide-loader>\n </div>\n );\n }\n return (\n <ch-tabular-grid\n // pending commits grid render\n class={{\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n rowSelectionMode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridPendingCommitsEl = el)\n }\n allowColumnReorder={false}\n part=\"ch-grid-pending-commits\"\n onRowContextMenu={this.#objectsOnContextMenuCallbackHandler(\"commit\")}\n onSelectionChanged={this.#gridOnSelectionChangedCallbackHandler(\n \"commit\"\n )}\n >\n {this.commitingObjects && (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n description={this.#componentLocale.loader.description}\n show\n ></gx-ide-loader>\n )}\n\n {this.#renderTabularGridColumnSet(withCheckboxes)}\n\n {this.pendingCommits.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.pendingCommits.map((obj: ModifiedObjectData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector\n class=\"tabular-grid-cell\"\n ></ch-tabular-grid-cell>\n {this.#renderTabularGridCommonCells(obj)}\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateIconSrc={FILTER_ICON_EMPTY}\n stateTitle={this.#componentLocale.emptyPendingCommitsObjects}\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 #revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.#chGridPendingCommitsEl) {\n for (const rowId of addedRowsIds) {\n await this.#chGridPendingCommitsEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.#chGridPendingCommitsEl.markRow(rowId, true);\n }\n }\n };\n\n #togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.#chGridPendingCommitsEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.#chGridPendingCommitsEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.#chGridPendingCommitsEl.markRow(rowId, false);\n }\n }\n };\n\n #updateTabModel = () => {\n this.#commitsTabModel = [\n {\n id: \"pending-commits\",\n name: `${this.#componentLocale.tabs.pendingCommits} (${\n this.pendingCommits.length\n })`\n },\n {\n id: \"ignored-objects\",\n name: `${this.#componentLocale.tabs.ignoredObjects} (${\n this.ignoredObjects.length\n })`\n }\n ];\n };\n\n #commentInputHandler = async (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n const comment = event.detail as string;\n if (comment.length && this.commentInputHasError) {\n // remove error style and tooltip\n this.commentInputHasError = false;\n }\n };\n\n #toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n #onTabActivated = (evt: CustomEvent) => {\n evt.stopImmediatePropagation();\n };\n\n render() {\n const filterIcon = this.filterHasConditions\n ? FILTER_WITH_CONDITIONS_ICON\n : FILTER_ICON;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header class=\"header spacing-body\">\n <div class=\"header__first-row field-group\">\n <div class=\"buttons-spacer\">\n <div\n // pattern\n class=\"field field-inline field-comment\"\n >\n <label class=\"label\" htmlFor=\"pattern-form-text\">\n {this.#componentLocale.header.commentLabel}\n </label>\n <ch-edit\n // commit comment\n id=\"comment\"\n class={{\n \"input\": true,\n \"commit-input\": true,\n \"scrollable\": true,\n \"input-error\": this.commentInputHasError\n }}\n placeholder={\n this.#componentLocale.header.commentPlaceholder\n }\n onInput={this.#commentInputHandler}\n value={this.comment}\n ref={(el: HTMLChEditElement) =>\n (this.#commitCommentEl = el as HTMLChEditElement)\n }\n part=\"comment\"\n ></ch-edit>\n </div>\n <button\n id=\"filter-toggle-button\"\n class=\"button-teritary button-icon-only\"\n aria-label={this.#componentLocale.header.filterAriaLabel}\n aria-expanded={this.filtersHidden ? \"false\" : \"true\"}\n aria-controls=\"filters-container\"\n onClick={this.#toggleFiltersHandler}\n title={this.#componentLocale.header.filterAriaLabel}\n >\n <ch-image class=\"icon-md\" src={filterIcon}></ch-image>\n </button>\n\n <button\n class=\"button-teritary button-icon-only\"\n aria-label={this.#componentLocale.header.reloadAriaLabel}\n title={this.#componentLocale.header.reloadAriaLabel}\n onClick={this.#loadData}\n part={this.#componentLocale.header.reloadAriaLabel}\n >\n <ch-image class=\"icon-md\" src={RESET_ICON}></ch-image>\n </button>\n </div>\n {this.commentInputHasError && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={\n this.#commitCommentEl as unknown as HTMLButtonElement\n }\n blockAlign=\"outside-end\"\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.#componentLocale.header.commentEmptyError}\n </ch-tooltip>\n )}\n\n <div class=\"buttons-spacer\">\n <button\n type=\"button\"\n class=\"button-secondary recent-comments-btn\"\n part=\"button button-location\"\n onClick={this.#getRecentCommentHandler}\n aria-label={this.#componentLocale.header.recentCommentsButton}\n disabled={this.commitingObjects}\n >\n {this.#componentLocale.header.recentCommentsButton}\n </button>\n </div>\n </div>\n\n <div\n id=\"filters-container\"\n aria-labelledby=\"filter-toggle-button\"\n class={{\n \"filters-container-visible\": !this.filtersHidden,\n \"filters-container\": true\n }}\n inert={this.filtersHidden}\n hidden={this.filtersHidden}\n >\n <div>\n <div slot=\"filter\" class=\"filter field-group\">\n <div\n // pattern\n class=\"field field-block field-pattern\"\n >\n <label class=\"label\" htmlFor=\"pattern-form-text\">\n {this.#componentLocale.filtersMenu.patternLabel}\n </label>\n <ch-edit\n id=\"pattern-form-text\"\n class=\"input\"\n value=\"\"\n ref={(el: HTMLChEditElement) =>\n (this.#patternEl = el as HTMLChEditElement)\n }\n debounce={config.inputDebounce}\n onInput={this.#loadData}\n part=\"pattern-form-text\"\n ></ch-edit>\n </div>\n\n <div\n // folder\n class=\"field field-block field-folder\"\n >\n <label class=\"label\" htmlFor=\"folder-combo\">\n {this.#componentLocale.filtersMenu.folderLabel}\n </label>\n <ch-combo-box-render\n id=\"folder-combo\"\n class=\"combo-box\"\n value={this.folders[0].id}\n model={this.folderOptionsModel}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#foldersEl = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#loadData}\n part=\"folder-combo\"\n ></ch-combo-box-render>\n </div>\n\n <div\n // type\n class=\"field field-block field-type\"\n >\n <label class=\"label\" htmlFor=\"type-combo\">\n {this.#componentLocale.filtersMenu.typeLabel}\n </label>\n <ch-combo-box-render\n id=\"type-combo\"\n class=\"combo-box\"\n value={this.types[0].id}\n model={this.typeOptionsModel}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typesEl = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#loadData}\n part=\"type-combo\"\n ></ch-combo-box-render>\n </div>\n\n <div\n // changeset\n class=\"field field-block field-changeset\"\n >\n <label class=\"label\" htmlFor=\"changeset-combo\">\n {this.#componentLocale.filtersMenu.changesetLabel}\n </label>\n <ch-combo-box-render\n id=\"changeset-combo\"\n class=\"combo-box\"\n value={this.changeSet[0].id}\n model={this.changeSetOptionsModel}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#changeSetEl = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#loadData}\n part=\"changeset-combo\"\n ></ch-combo-box-render>\n </div>\n\n <div\n // category\n class=\"field field-block field-category\"\n >\n <label class=\"label\" htmlFor=\"category-combo\">\n {this.#componentLocale.filtersMenu.categoryLabel}\n </label>\n <ch-combo-box-render\n id=\"category-combo\"\n class=\"combo-box\"\n value={this.categories[0].id}\n model={this.categoryOptionsModel}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#categoriesEl = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#loadData}\n part=\"category-combo\"\n ></ch-combo-box-render>\n </div>\n </div>\n </div>\n </div>\n </header>\n\n <ch-tab-render\n class=\"tab scrollable\"\n tabListPosition=\"block-start\"\n model={this.#commitsTabModel}\n selectedId=\"pending-commits\"\n showTabListEnd\n overflow=\"auto auto\"\n contain=\"size\"\n onSelectedItemChange={this.#onTabActivated}\n >\n <div\n class=\"ch-tab-slot\"\n slot=\"pending-commits\"\n part=\"pending-commits\"\n >\n {this.#renderPendingCommitsGrid()}\n </div>\n <div\n class=\"ch-tab-slot\"\n slot=\"ignored-objects\"\n part=\"ignored-objects\"\n >\n {this.#renderIgnoredObjectsGrid()}\n </div>\n </ch-tab-render>\n\n <footer class=\"control-footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <button\n class=\"button-primary\"\n onClick={this.#commitCallbackHandler}\n part=\"commit-button\"\n disabled={this.commitingObjects}\n >\n {this.#componentLocale.footer.commitButton}\n </button>\n </footer>\n </section>\n </Host>\n );\n }\n}\nexport type CommitCallback = (\n selection: string[],\n commitCommentEl: string\n) => Promise<boolean>;\n\nexport type CommitData = {\n pending: ModifiedObjectData[];\n ignored: ModifiedObjectData[];\n};\n\nexport type CommitSelectCallback = (\n grid: CommitSourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type CommitSourceType = \"commit\" | \"ignored\";\n\nexport type FiltersData = {\n pattern: string;\n changeSet: string;\n type: string;\n folder: string;\n category: string;\n};\n\nexport type GetRecentComment = () => Promise<string | undefined>;\n\nexport type ItemCheckedCallback = (\n checkedItemIds: string[]\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type LoadCallback = (filters: FiltersData) => Promise<CommitData>;\n\nexport type ModifiedObjectData = {\n id: string;\n name: string;\n iconType: string;\n state: ObjectState;\n type: ObjectType;\n description: string;\n modifiedOn: Date;\n module: string;\n localState: ObjectState;\n lastSynchronized: Date;\n user: string;\n};\n\nexport type ObjectsContextMenuCallback = (\n grid: CommitSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n"]}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"componentName": "Team Dev Commit",
|
|
3
|
-
"header": {
|
|
4
|
-
"commentLabel": "Comment",
|
|
5
|
-
"commentEmptyError": "A description is required to commit",
|
|
6
|
-
"commentPlaceholder": "Describe this commit changes...",
|
|
7
|
-
"recentCommentsButton": "Recent Comments",
|
|
8
|
-
"filter": "Filter",
|
|
9
|
-
"filterAriaLabel": "Toggle filters",
|
|
10
|
-
"reloadAriaLabel": "Reload"
|
|
11
|
-
},
|
|
12
|
-
"filtersMenu": {
|
|
13
|
-
"patternLabel": "Pattern:",
|
|
14
|
-
"changesetLabel": "Changeset:",
|
|
15
|
-
"typeLabel": "Type:",
|
|
16
|
-
"folderLabel": "Folder:",
|
|
17
|
-
"categoryLabel": "Category:"
|
|
18
|
-
},
|
|
19
|
-
"tabs": {
|
|
20
|
-
"pendingCommits": "Pending Commits",
|
|
21
|
-
"ignoredObjects": "Ignored Objects"
|
|
22
|
-
},
|
|
23
|
-
"tabSlottedButtons": {
|
|
24
|
-
"reset": "Reset"
|
|
25
|
-
},
|
|
26
|
-
"loader": {
|
|
27
|
-
"title": "Commiting",
|
|
28
|
-
"description": "Hang on please..."
|
|
29
|
-
},
|
|
30
|
-
"footer": {
|
|
31
|
-
"commitButton": "Commit"
|
|
32
|
-
},
|
|
33
|
-
"emptyIgnoredObjects": "There are no ignored objects to show",
|
|
34
|
-
"emptyPendingCommitsObjects": "There are no objects pending to commit",
|
|
35
|
-
"objectsLoader": {
|
|
36
|
-
"title": "Loading Objects",
|
|
37
|
-
"description": "Hang on please..."
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"componentName": "チーム開発のコミット",
|
|
3
|
-
"header": {
|
|
4
|
-
"commentLabel": "コメント",
|
|
5
|
-
"commentEmptyError": "A description is required to commit",
|
|
6
|
-
"commentPlaceholder": "このコミットに含まれている変更を表示...",
|
|
7
|
-
"recentCommentsButton": "最近のコメント",
|
|
8
|
-
"filter": "フィルター",
|
|
9
|
-
"filterAriaLabel": "Toggle filters",
|
|
10
|
-
"reloadAriaLabel": "再読み込み"
|
|
11
|
-
},
|
|
12
|
-
"filtersMenu": {
|
|
13
|
-
"patternLabel": "パターン:",
|
|
14
|
-
"changesetLabel": "チェンジセット:",
|
|
15
|
-
"typeLabel": "タイプ:",
|
|
16
|
-
"folderLabel": "フォルダ:",
|
|
17
|
-
"categoryLabel": "カテゴリ:"
|
|
18
|
-
},
|
|
19
|
-
"tabs": {
|
|
20
|
-
"pendingCommits": "保留中のコミット",
|
|
21
|
-
"ignoredObjects": "無視されたオブジェクト"
|
|
22
|
-
},
|
|
23
|
-
"tabSlottedButtons": {
|
|
24
|
-
"reset": "Reset"
|
|
25
|
-
},
|
|
26
|
-
"loader": {
|
|
27
|
-
"title": "Commiting",
|
|
28
|
-
"description": "しばらくお待ちください..."
|
|
29
|
-
},
|
|
30
|
-
"footer": {
|
|
31
|
-
"commitButton": "コミット"
|
|
32
|
-
},
|
|
33
|
-
"emptyIgnoredObjects": "There are no ignored objects to show",
|
|
34
|
-
"emptyPendingCommitsObjects": "There are no objects pending to commit",
|
|
35
|
-
"objectsLoader": {
|
|
36
|
-
"title": "Loading Objects",
|
|
37
|
-
"description": "Hang on please..."
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"componentName": "Team Dev Commit",
|
|
3
|
-
"header": {
|
|
4
|
-
"commentLabel": "Comment",
|
|
5
|
-
"commentEmptyError": "A description is required to commit",
|
|
6
|
-
"commentPlaceholder": "Describe this commit changes...",
|
|
7
|
-
"recentCommentsButton": "Recent Comments",
|
|
8
|
-
"filter": "Filter",
|
|
9
|
-
"filterAriaLabel": "Toggle filters",
|
|
10
|
-
"reloadAriaLabel": "Reload"
|
|
11
|
-
},
|
|
12
|
-
"filtersMenu": {
|
|
13
|
-
"patternLabel": "Pattern:",
|
|
14
|
-
"changesetLabel": "Changeset:",
|
|
15
|
-
"typeLabel": "Type:",
|
|
16
|
-
"folderLabel": "Folder:",
|
|
17
|
-
"categoryLabel": "Category:"
|
|
18
|
-
},
|
|
19
|
-
"tabs": {
|
|
20
|
-
"pendingCommits": "Pending Commits",
|
|
21
|
-
"ignoredObjects": "Ignored Objects"
|
|
22
|
-
},
|
|
23
|
-
"tabSlottedButtons": {
|
|
24
|
-
"reset": "Reset"
|
|
25
|
-
},
|
|
26
|
-
"loader": {
|
|
27
|
-
"title": "Commiting",
|
|
28
|
-
"description": "Hang on please..."
|
|
29
|
-
},
|
|
30
|
-
"footer": {
|
|
31
|
-
"commitButton": "Commit"
|
|
32
|
-
},
|
|
33
|
-
"emptyIgnoredObjects": "There are no ignored objects to show",
|
|
34
|
-
"emptyPendingCommitsObjects": "There are no objects pending to commit",
|
|
35
|
-
"objectsLoader": {
|
|
36
|
-
"title": "Loading Objects",
|
|
37
|
-
"description": "Hang on please..."
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const mapObjectTypeToComboBoxItemModel = (objectTypeModel) => objectTypeModel.map(objectType => ({
|
|
2
|
-
value: objectType.id,
|
|
3
|
-
caption: objectType.name,
|
|
4
|
-
startImgSrc: objectType.icon
|
|
5
|
-
}));
|
|
6
|
-
export const mapGxOptionsToComboBoxItemModel = (categoryModel) => categoryModel.map(category => ({
|
|
7
|
-
value: category.id,
|
|
8
|
-
caption: category.label || category.name || ""
|
|
9
|
-
}));
|
|
10
|
-
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/components/team-dev/commit/helpers.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,eAA6B,EACd,EAAE,CACjB,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,KAAK,EAAE,UAAU,CAAC,EAAE;IACpB,OAAO,EAAE,UAAU,CAAC,IAAI;IACxB,WAAW,EAAE,UAAU,CAAC,IAAI;CAC7B,CAAC,CAAC,CAAC;AAEN,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,aAAyB,EACV,EAAE,CACjB,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,KAAK,EAAE,QAAQ,CAAC,EAAE;IAClB,OAAO,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE;CAC/C,CAAC,CAAC,CAAC","sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { ObjectType, GxOption } from \"../../../common/types\";\n\nexport const mapObjectTypeToComboBoxItemModel = (\n objectTypeModel: ObjectType[]\n): ComboBoxModel =>\n objectTypeModel.map(objectType => ({\n value: objectType.id,\n caption: objectType.name,\n startImgSrc: objectType.icon\n }));\n\nexport const mapGxOptionsToComboBoxItemModel = (\n categoryModel: GxOption[]\n): ComboBoxModel =>\n categoryModel.map(category => ({\n value: category.id,\n caption: category.label || category.name || \"\"\n }));\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/team-dev/common/types.ts"],"names":[],"mappings":"","sourcesContent":["export type ObjectState = \"Inserted\" | \"Modified\" | \"Deleted\" | \"Conflicted\";\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"config-73a57a22.js","mappings":"AAEA;MACa,MAAM,GAAG;;IAEpB,OAAO,EAAE,IAAI;IACb,UAAU,EAAE;QACV,MAAM,EAAE;YACN,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,OAAO;SACnB;KACF;IACD,cAAc,EAAE;QACd,aAAa,EAAE,IAAI;KACpB;IACD,WAAW,EAAE;QACX,OAAO,EAAE;YACP,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,aAAa;YACzB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,oBAAoB;YAC5B,YAAY,EAAE,oBAAoB;YAClC,WAAW,EAAE,OAAO;YACpB,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,OAAO;SAClB;KACF;IACD,MAAM,EAAE;;QAEN,OAAO,EAAE,IAAI;KACd;IACD,eAAe,EAAE;QACf,UAAU,EAAE,eAAiC;QAC7C,WAAW,EAAE,cAAgC;QAC7C,KAAK,EAAE,GAAG;KACX;;IAED,aAAa,EAAE,GAAG;IAClB,eAAe,EAAE;QACf,WAAW,EAAE,oBAAoB;QACjC,SAAS,EAAE,gBAAgB;KAC5B;IACD,cAAc,EAAE;QACd,WAAW,EAAE,WAAW;QACxB,UAAU,EAAE,aAAa;KAC1B;;;;;","names":[],"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: \"250px\",\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"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"utilities-482e01e6.js","mappings":";;;AAAA;AAMA,MAAM,aAAa,GAAG,WAAW,CAAC;IAChC,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,WAAW,CAAC;IAC9B,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,WAAW,CAAC;IAC/B,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,OAAO;CACnB,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,WAAW,CAAC;IAC/B,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;MAca,yBAAyB,GAAG,CACvC,WAAwB;IAExB,IAAI,IAAY,CAAC;IACjB,QAAQ,WAAW;QACjB,KAAK,UAAU;YACb,IAAI,GAAG,aAAa,CAAC;YACrB,MAAM;QACR,KAAK,UAAU;YACb,IAAI,GAAG,WAAW,CAAC;YACnB,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;KACT;IACD,QACE,YAAM,KAAK,EAAC,0BAA0B;QACpC,gBAAU,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,IAAI,GAAa;QAC/C,GAAG,WAAW,EAAE,CACZ,EACP;AACJ,EAAE;AAEF;;;;;;MAMa,wBAAwB,GAAG,CACtC,UAAsB;;IAGtB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAE7B,QACE,YAAM,KAAK,EAAC,0BAA0B;QACpC,gBAAU,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,IAAI,GAAa;QAC/C,GAAG,UAAU,CAAC,IAAI,EAAE,CAChB,EACP;AACJ;;;;","names":[],"sources":["src/components/team-dev/common/utilities.tsx"],"sourcesContent":["// Stencil\nimport { h, JSX } from \"@stencil/core\";\nimport { getIconPath } from \"@genexus/mercury\";\nimport { ObjectState } from \"./types\";\nimport { ObjectType } from \"../../../components\";\n\nconst INSERTED_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"success\"\n});\nconst EDITED_ICON = getIconPath({\n category: \"system\",\n name: \"edit\",\n colorType: \"warning\"\n});\nconst DELETED_ICON = getIconPath({\n category: \"system\",\n name: \"substract\",\n colorType: \"error\"\n});\nconst WARNING_ICON = getIconPath({\n category: \"system\",\n name: \"warning\",\n colorType: \"warning\"\n});\n\n/**\n * Renders a visual indicator (icon and label) for a given object state.\n *\n * This helper function maps a fixed set of object states to corresponding icons\n *\n * Supported states:\n * - \"inserted\": Displays a green \"add\" icon.\n * - \"modified\": Displays a yellow \"edit\" icon.\n * - \"deleted\": Displays a red \"subtract\" icon.\n * - \"conflicted\": Displays a yellow \"warning\" icon.\n *\n * @param {ObjectState} objectState - The current state of the object.\n * @returns {HTMLChImageElement} A span element containing the corresponding icon and state label.\n */\nexport const renderObjectStateWithIcon = (\n objectState: ObjectState\n): HTMLChImageElement => {\n let icon: string;\n switch (objectState) {\n case \"Inserted\":\n icon = INSERTED_ICON;\n break;\n case \"Modified\":\n icon = EDITED_ICON;\n break;\n case \"Deleted\":\n icon = DELETED_ICON;\n break;\n case \"Conflicted\":\n icon = WARNING_ICON;\n break;\n }\n return (\n <span class=\"custom-icon-text-wrapper\">\n <ch-image class=\"icon-md\" src={icon}></ch-image>\n {`${objectState}`}\n </span>\n );\n};\n\n/**\n * Renders a GeneXus object type as a span element containing its icon and name.\n *\n * @param {ObjectType} objectType - The GeneXus object type to render, including its `icon` and `name` properties.\n * @returns {JSX.Element} A span element with the object's icon and label.\n */\nexport const renderObjectTypeWithIcon = (\n objectType: ObjectType\n): JSX.Element => {\n // bring changes\n const icon = objectType.icon;\n\n return (\n <span class=\"custom-icon-text-wrapper\">\n <ch-image class=\"icon-md\" src={icon}></ch-image>\n {`${objectType.name}`}\n </span>\n );\n};\n"],"version":3}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { r as e, c as r, g as t, h as a, H as o, a as i } from "./p-97107ecc.js";
|
|
2
|
-
|
|
3
|
-
import { L as s } from "./p-311eedf3.js";
|
|
4
|
-
|
|
5
|
-
import { c as l } from "./p-44e5e972.js";
|
|
6
|
-
|
|
7
|
-
const n = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.pill-tag{padding:1px 4px;border-radius:2px;min-inline-size:40px;text-align:center;margin-inline-end:10px;font-size:11px}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block}.revision-number{display:flex;align-items:center;gap:var(--gx-ide-grid-row-gap)}.revision-number>:nth-child(2){width:auto !important}.actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--gx-ide-grid-row-gap)}";
|
|
8
|
-
|
|
9
|
-
const g = class {
|
|
10
|
-
constructor(a) {
|
|
11
|
-
e(this, a);
|
|
12
|
-
this.componentDidLoadEvent = r(this, "componentDidLoadEvent", 7);
|
|
13
|
-
this.componentDidRenderFirstTime = r(this, "componentDidRenderFirstTime", 7);
|
|
14
|
-
this.renderedFirstTime = false;
|
|
15
|
-
this.shortcutsSrc = t(`./gx-ide-assets/team-dev-update-to-revision/shortcuts.json`);
|
|
16
|
-
// 9.LOCAL METHODS //
|
|
17
|
-
this.setInitialCheckedRadio = () => {
|
|
18
|
-
if (this.currentRevision === undefined) {
|
|
19
|
-
this.updateToLatestEl.checked = true;
|
|
20
|
-
} else {
|
|
21
|
-
this.updateToRevisionEl.checked = true;
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
this.confirm = () => {
|
|
25
|
-
let e = undefined;
|
|
26
|
-
if (this.updateToRevisionEl.checked) {
|
|
27
|
-
e = this.revisionNumberEl.value;
|
|
28
|
-
}
|
|
29
|
-
this.confirmCallback(e);
|
|
30
|
-
};
|
|
31
|
-
this.cancel = () => {
|
|
32
|
-
this.cancelCallback();
|
|
33
|
-
};
|
|
34
|
-
this.updateToRevisionOnFocusHandler = () => {
|
|
35
|
-
this.updateToRevisionEl.checked = true;
|
|
36
|
-
};
|
|
37
|
-
this.displayTitle = false;
|
|
38
|
-
this.cancelCallback = undefined;
|
|
39
|
-
this.confirmCallback = undefined;
|
|
40
|
-
this.currentRevision = undefined;
|
|
41
|
-
}
|
|
42
|
-
// 6.COMPONENT LIFECYCLE EVENTS //
|
|
43
|
-
async componentWillLoad() {
|
|
44
|
-
this._componentLocale = await s.getComponentStrings(this.el);
|
|
45
|
-
}
|
|
46
|
-
componentDidLoad() {
|
|
47
|
-
this.componentDidLoadEvent.emit(true);
|
|
48
|
-
this.setInitialCheckedRadio();
|
|
49
|
-
this.revisionNumberEl.focus();
|
|
50
|
-
}
|
|
51
|
-
componentDidRender() {
|
|
52
|
-
if (!this.renderedFirstTime) {
|
|
53
|
-
this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
|
|
54
|
-
this.renderedFirstTime = true;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
// 7.LISTENERS //
|
|
58
|
-
// 8.PUBLIC METHODS API //
|
|
59
|
-
/**
|
|
60
|
-
* Validate necessary data input
|
|
61
|
-
*/
|
|
62
|
-
async validate() {
|
|
63
|
-
const e = true;
|
|
64
|
-
return e;
|
|
65
|
-
}
|
|
66
|
-
// 10.RENDER() FUNCTION //
|
|
67
|
-
render() {
|
|
68
|
-
return a(o, {
|
|
69
|
-
class: "gx-ide-component"
|
|
70
|
-
}, a("div", {
|
|
71
|
-
class: "gx-ide-main-wrapper"
|
|
72
|
-
}, a("gx-ide-container", {
|
|
73
|
-
slimmerFooter: l.gxIdeContainer.slimmerFooter,
|
|
74
|
-
containerTitle: this.displayTitle ? this._componentLocale.componentName : null
|
|
75
|
-
}, a("gxg-form-radio-group", null, a("gxg-form-radio", {
|
|
76
|
-
label: this._componentLocale.options.updateToLatest,
|
|
77
|
-
value: "updateToLatest",
|
|
78
|
-
ref: e => this.updateToLatestEl = e,
|
|
79
|
-
part: "radio-to-latest"
|
|
80
|
-
}), a("div", {
|
|
81
|
-
class: "revision-number"
|
|
82
|
-
}, a("gxg-form-radio", {
|
|
83
|
-
label: this._componentLocale.options.updateToRevision,
|
|
84
|
-
value: "updateToRevision",
|
|
85
|
-
ref: e => this.updateToRevisionEl = e,
|
|
86
|
-
part: "radio-to-revision"
|
|
87
|
-
}), a("gxg-form-text", {
|
|
88
|
-
ref: e => this.revisionNumberEl = e,
|
|
89
|
-
onFocus: this.updateToRevisionOnFocusHandler,
|
|
90
|
-
value: this.currentRevision,
|
|
91
|
-
part: "revision-number"
|
|
92
|
-
}))), a("gxg-button", {
|
|
93
|
-
id: "button-cancel",
|
|
94
|
-
type: "outlined",
|
|
95
|
-
onClick: this.cancel,
|
|
96
|
-
part: "cancel",
|
|
97
|
-
slot: "footer-end"
|
|
98
|
-
}, this._componentLocale.footer.btnCancel), a("gxg-button", {
|
|
99
|
-
id: "button-ok",
|
|
100
|
-
type: "primary-text-only",
|
|
101
|
-
onClick: this.confirm,
|
|
102
|
-
part: "update",
|
|
103
|
-
slot: "footer-end"
|
|
104
|
-
}, this._componentLocale.footer.btnUpdate))), a("gxg-shortcuts", {
|
|
105
|
-
src: this.shortcutsSrc
|
|
106
|
-
}));
|
|
107
|
-
}
|
|
108
|
-
static get assetsDirs() {
|
|
109
|
-
return [ "gx-ide-assets/team-dev-update-to-revision" ];
|
|
110
|
-
}
|
|
111
|
-
get el() {
|
|
112
|
-
return i(this);
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
g.style = n;
|
|
117
|
-
|
|
118
|
-
export { g as gx_ide_team_dev_update_to_revision };
|
|
119
|
-
//# sourceMappingURL=p-0391a478.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["updateToRevisionCss","GxIdeTeamDevUpdateToRevision","this","renderedFirstTime","shortcutsSrc","getAssetPath","setInitialCheckedRadio","currentRevision","undefined","updateToLatestEl","checked","updateToRevisionEl","confirm","revision","revisionNumberEl","value","confirmCallback","cancel","cancelCallback","updateToRevisionOnFocusHandler","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidLoad","componentDidLoadEvent","emit","focus","componentDidRender","componentDidRenderFirstTime","componentName","validate","isValid","render","h","Host","class","slimmerFooter","config","gxIdeContainer","containerTitle","displayTitle","label","options","updateToLatest","ref","part","updateToRevision","onFocus","id","type","onClick","slot","footer","btnCancel","btnUpdate","src"],"sources":["src/components/team-dev/update-to-revision/update-to-revision.scss?tag=gx-ide-team-dev-update-to-revision&encapsulation=shadow","src/components/team-dev/update-to-revision/update-to-revision.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n\n.revision-number {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-row-gap);\n > :nth-child(2) {\n width: auto !important;\n }\n}\n\n/* Objects Table */\n.actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: var(--gx-ide-grid-row-gap);\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Method,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\n\n@Component({\n tag: \"gx-ide-team-dev-update-to-revision\",\n styleUrl: \"update-to-revision.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-update-to-revision\"]\n})\nexport class GxIdeTeamDevUpdateToRevision {\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE EVENTS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/team-dev-update-to-revision/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevUpdateToRevisionElement;\n\n /* References needed to collect data */\n private revisionNumberEl!: HTMLGxgFormTextElement;\n private updateToRevisionEl!: HTMLGxgFormRadioElement;\n private updateToLatestEl!: HTMLGxgFormRadioElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * This is a function provided by the developer for execute when cancel button is pressed.\n */\n @Prop() readonly cancelCallback!: cancelCallbackFn;\n\n /**\n * This is a function provided by the developer and is invoked when the action confirm is executed passing the selected objects of the grid\n */\n @Prop() readonly confirmCallback!: confirmCallbackFn;\n\n /**\n * Set an initial value for the review\n */\n @Prop() readonly currentRevision: string | undefined;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.componentDidLoadEvent.emit(true);\n this.setInitialCheckedRadio();\n this.revisionNumberEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n // 9.LOCAL METHODS //\n\n private setInitialCheckedRadio = () => {\n if (this.currentRevision === undefined) {\n this.updateToLatestEl.checked = true;\n } else {\n this.updateToRevisionEl.checked = true;\n }\n };\n\n private confirm = (): void => {\n let revision = undefined;\n if (this.updateToRevisionEl.checked) {\n revision = this.revisionNumberEl.value;\n }\n this.confirmCallback(revision);\n };\n\n private cancel = (): void => {\n this.cancelCallback();\n };\n\n private updateToRevisionOnFocusHandler = () => {\n this.updateToRevisionEl.checked = true;\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n <gxg-form-radio-group>\n <gxg-form-radio\n label={this._componentLocale.options.updateToLatest}\n value=\"updateToLatest\"\n ref={(el: HTMLGxgFormRadioElement) =>\n (this.updateToLatestEl = el as HTMLGxgFormRadioElement)\n }\n part=\"radio-to-latest\"\n ></gxg-form-radio>\n <div class=\"revision-number\">\n <gxg-form-radio\n label={this._componentLocale.options.updateToRevision}\n value=\"updateToRevision\"\n ref={(el: HTMLGxgFormRadioElement) =>\n (this.updateToRevisionEl = el as HTMLGxgFormRadioElement)\n }\n part=\"radio-to-revision\"\n ></gxg-form-radio>\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.revisionNumberEl = el as HTMLGxgFormTextElement)\n }\n onFocus={this.updateToRevisionOnFocusHandler}\n value={this.currentRevision}\n part=\"revision-number\"\n ></gxg-form-text>\n </div>\n </gxg-form-radio-group>\n <gxg-button\n id=\"button-cancel\"\n type=\"outlined\"\n onClick={this.cancel}\n part=\"cancel\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n <gxg-button\n id=\"button-ok\"\n type=\"primary-text-only\"\n onClick={this.confirm}\n part=\"update\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnUpdate}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts src={this.shortcutsSrc}></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport type addCallbackFn = () => Promise<ObjectData[]>;\nexport type cancelCallbackFn = () => Promise<void>;\nexport type confirmCallbackFn = (revision: string | undefined) => Promise<void>;\n\nexport interface ObjectData {\n id: string;\n typeIcon: string;\n name: string;\n type: string;\n description: string;\n modifiedOn: Date;\n}\n"],"mappings":";;;;;;AAAA,MAAMA,IAAsB;;MCuBfC,IAA4B;;;;;IAsB/BC,KAAAC,oBAAoB;IACpBD,KAAAE,eAAeC,EACrB;;QAoFMH,KAAAI,yBAAyB;MAC/B,IAAIJ,KAAKK,oBAAoBC,WAAW;QACtCN,KAAKO,iBAAiBC,UAAU;aAC3B;QACLR,KAAKS,mBAAmBD,UAAU;;;IAI9BR,KAAAU,UAAU;MAChB,IAAIC,IAAWL;MACf,IAAIN,KAAKS,mBAAmBD,SAAS;QACnCG,IAAWX,KAAKY,iBAAiBC;;MAEnCb,KAAKc,gBAAgBH;AAAS;IAGxBX,KAAAe,SAAS;MACff,KAAKgB;AAAgB;IAGfhB,KAAAiB,iCAAiC;MACvCjB,KAAKS,mBAAmBD,UAAU;AAAI;wBAtFR;;;;;;EA+BhC,uBAAMU;IACJlB,KAAKmB,yBAAyBC,EAAOC,oBAAoBrB,KAAKsB;;EAGhE,gBAAAC;IACEvB,KAAKwB,sBAAsBC,KAAK;IAChCzB,KAAKI;IACLJ,KAAKY,iBAAiBc;;EAGxB,kBAAAC;IACE,KAAK3B,KAAKC,mBAAmB;MAC3BD,KAAK4B,4BAA4BH,KAC/BzB,KAAKmB,iBAAiBU;MAExB7B,KAAKC,oBAAoB;;;;;;;;EAY7B,cAAM6B;IACJ,MAAMC,IAAU;IAChB,OAAOA;;;EA+BT,MAAAC;IACE,OACEC,EAACC,GAAI;MAACC,OAAM;OACVF,EAAA;MAAKE,OAAM;OACTF,EAAA;MACEG,eAAeC,EAAOC,eAAeF;MACrCG,gBACEvC,KAAKwC,eAAexC,KAAKmB,iBAAiBU,gBAAgB;OAG5DI,EAAA,8BACEA,EAAA;MACEQ,OAAOzC,KAAKmB,iBAAiBuB,QAAQC;MACrC9B,OAAM;MACN+B,KAAMtB,KACHtB,KAAKO,mBAAmBe;MAE3BuB,MAAK;QAEPZ,EAAA;MAAKE,OAAM;OACTF,EAAA;MACEQ,OAAOzC,KAAKmB,iBAAiBuB,QAAQI;MACrCjC,OAAM;MACN+B,KAAMtB,KACHtB,KAAKS,qBAAqBa;MAE7BuB,MAAK;QAEPZ,EAAA;MACEW,KAAMtB,KACHtB,KAAKY,mBAAmBU;MAE3ByB,SAAS/C,KAAKiB;MACdJ,OAAOb,KAAKK;MACZwC,MAAK;UAIXZ,EAAA;MACEe,IAAG;MACHC,MAAK;MACLC,SAASlD,KAAKe;MACd8B,MAAK;MACLM,MAAK;OAEJnD,KAAKmB,iBAAiBiC,OAAOC,YAEhCpB,EAAA;MACEe,IAAG;MACHC,MAAK;MACLC,SAASlD,KAAKU;MACdmC,MAAK;MACLM,MAAK;OAEJnD,KAAKmB,iBAAiBiC,OAAOE,cAIpCrB,EAAA;MAAesB,KAAKvD,KAAKE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["mapOptionsToComboBoxItemModel","options","map","option","value","id","caption","label","startImgSrc","_a","iconName","escapeRegExp","string","replace","hiChar","text","search","escapedSearch","parts","split","RegExp","part","i","toLowerCase","h","key","class","wwFilesCss","CSS_BUNDLES","CLEAR_ICON","getIconPath","category","name","colorType","FILTER_ICON","INFO_ICON","ACCORDION_FILTER_ID","FILTER_AFTER_DATE_TIME","FILTER_AFTER_LAST_BUILD","FILTER_AFTER_IMPORT","CHECKBOX_CHECKED_VALUE","CHECKBOX_UNCHECKED_VALUE","GxIdeWWFiles","_GxIdeWWFiles_componentLocale","set","this","_GxIdeWWFiles_ACCORDION_MODEL","_GxIdeWWFiles_nameValue","_GxIdeWWFiles_moduleValue","_GxIdeWWFiles_searchContentsValue","_GxIdeWWFiles_categoryValue","_GxIdeWWFiles_allDescendants","_GxIdeWWFiles_userValue","_GxIdeWWFiles_selectedObjectsIds","_GxIdeWWFiles_chGridEl","_GxIdeWWFiles_filterModuleEl","_GxIdeWWFiles_setFilterDefaultValues","__classPrivateFieldSet","Object","assign","defaultModule","defaultCategory","categoriesComboBoxModel","length","afterValue","filterAfterComboBoxModel","dateTimeValue","undefined","_GxIdeWWFiles_allDescendantsCheckboxHandler","event","detail","__classPrivateFieldGet","_GxIdeWWFiles_getObjects","call","_GxIdeWWFiles_handleSelectionChanged","ev","rowsId","selectionChangeCallback","_GxIdeWWFiles_handleRowDoubleClicked","_GxIdeWWFiles_openSelectionCallbackHandler","_GxIdeWWFiles_handleRowContextMenu","preventDefault","stopPropagation","contextMenuCallback","selection","selectedRowsId","clientX","clientY","_GxIdeWWFiles_attachGridListeners","addEventListener","_GxIdeWWFiles_categoryInputHandler","async","_GxIdeWWFiles_clearDateTimeValue","_GxIdeWWFiles_dateTimeInputHandler","_GxIdeWWFiles_deleteSelectionCallbackHandler","deleteSelectionCallback","_GxIdeWWFiles_deselectAll","selectAllRows","_GxIdeWWFiles_evaluateModifiedDates","objectModifiedDate","filterSelectedModifiedDate","filterSelectedModifiedDateAsDate","Date","_GxIdeWWFiles_formatDate","_GxIdeWWFiles_filterAfterTypeCallbackHandler","date","formatDate","_GxIdeWWFiles_setLoadingState","parentId","filtersValues","searchContents","parent","allDescendants","modifiedAfter","showModified","modifiedBy","modifiedDate","loadCallback","then","items","objects","isLoading","_GxIdeWWFiles_renderHeader","htmlFor","filter","onInput","_GxIdeWWFiles_nameInputHandler","debounce","config","inputDebounce","disabled","moduleFolder","labelPosition","defaultValue","selectEntityCallback","selectModuleCallback","ref","el","onValueChanged","_GxIdeWWFiles_moduleValueChangedHandler","model","slot","showSearchContents","content","_GxIdeWWFiles_searchContentsInputHandler","categories","checkedValue","unCheckedValue","modified","_GxIdeWWFiles_showModifiedCheckboxHandler","after","user","_GxIdeWWFiles_userInputHandler","hide","dateTime","src","actionElement","blockAlign","inlineAlign","delay","tooltipSettings","dateTimeTooltip","type","onClick","_GxIdeWWFiles_renderObjects","gridIsEmpty","loading","empty","rowSelectionMode","columnName","columnNameHidden","settingable","size","tabularGrid","colSize","maxContent","tableHead","module","gridColumnsVisibility","description","auto","lastUser","importDate","lastBuildDate","object","rowid","icon","loaderTitle","loader","title","show","isAnimated","stateIconSrc","stateTitle","emptyState","_GxIdeWWFiles_newFileCallbackHandler","newFileCallback","openSelectionCallback","_GxIdeWWFiles_selectAll","dateTimeValueChanged","categoriesChanged","newCategories","componentWillLoad","Locale","getComponentStrings","accordionCaption","expanded","componentDidLoad","disconnectedCallback","removeEventListener","keyDownHandler","eventInfo","document","activeElement","reload","error","console","fallbackError","render","Host","objCount","matching","footer","btnSelectAll","btnNew"],"sources":["src/components/ww-files/helpers.tsx","src/components/ww-files/ww-files.scss?tag=gx-ide-ww-files&encapsulation=shadow","src/components/ww-files/ww-files.tsx"],"sourcesContent":["import { h } from \"@stencil/core\";\n\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { GxOption } from \"../..\";\n\nexport const mapOptionsToComboBoxItemModel = (\n options: GxOption[]\n): ComboBoxModel => {\n return options.map(option => {\n return {\n value: option.id,\n caption: option.label,\n startImgSrc: option.iconName ?? \"\"\n };\n });\n};\n\nconst escapeRegExp = (string: string) => {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n};\n\nexport const hiChar = (text: string, search: string): Element[] | string => {\n if (!search) {\n return text;\n }\n const escapedSearch = escapeRegExp(search);\n const parts = text.split(new RegExp(`(${escapedSearch})`, \"gi\"));\n return parts.map((part, i) =>\n part.toLowerCase() === search.toLowerCase() ? (\n <span key={i} class=\"hiChar\">\n {part}\n </span>\n ) : (\n part\n )\n );\n};\n","@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n container-type: inline-size;\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - - -\n// Header\n// - - - - - - - - - - - -\n\n.header {\n grid-template-areas:\n \"name module-folder\"\n \"advanced-filter advanced-filter\";\n grid-template-columns: 1fr 1fr;\n grid-auto-rows: max-content max-content;\n}\n.name {\n grid-area: name;\n}\n.module-folder {\n grid-area: module-folder;\n}\n.advanced-filter {\n grid-area: advanced-filter;\n}\n\n// Advanced Filter\n.advanced-filter {\n &__container {\n display: grid;\n grid-auto-rows: max-content;\n }\n &__first-row {\n grid-template-columns: 1fr 1fr;\n }\n &__second-row {\n grid-template-columns: 1fr 1fr 1fr;\n }\n .all-descendants__modified {\n display: flex;\n flex-direction: row;\n align-items: center;\n block-size: 32px;\n gap: 16px;\n align-self: self-end;\n }\n}\n// date/time\n.field-date {\n grid-template-areas:\n \"label-date-time label-date-time\"\n \"input-date-time icon-clear-date-time\";\n grid-template-columns: 1fr max-content;\n column-gap: var(--mer-spacing--2xs);\n}\n.label-date-time {\n // WA: There is no official way to use an icon (ch-image) within a label\n display: flex;\n align-items: center;\n gap: 6px;\n .icon-md {\n // WA: Icon looks so small that it is not recognizable\n --mer-icon__box--md: 16.8px;\n }\n grid-area: label-date-time;\n}\n.input-date-time {\n block-size: 31.98px; // WA: ch-edit of type \"date\" block-size is a little bit larger than regular ch-edit block-size. It should compute to 31.98px at the time of writting.\n grid-area: input-date-time;\n}\n.icon-clear-date-time {\n grid-area: icon-clear-date-time;\n}\n\n// - - - - - - - - - - - -\n// Grid\n// - - - - - - - - - - - -\n\n.tabular-grid {\n overflow: auto;\n inline-size: 100%;\n border-inline-end: var(--section-common-border);\n}\n.tabular-grid.empty::part(main),\n.tabular-grid.loading::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\nch-tabular-grid-rowset-empty {\n position: relative;\n}\n.main__files-container {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: var(--mer-spacing--xs);\n position: relative;\n z-index: 1;\n}\n\n@include hiChar;\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 4\n )\n);\n.tabular-grid-cell-description {\n min-inline-size: max-content !important; // TODO: See how to remove the !important\n}\n\n@include hiChar();\n\n// - - - - - - - - - - - -\n// Responsive\n// - - - - - - - - - - - -\n\n// @container (max-width: 992px) {\n// .main__files-container {\n// grid-template-columns: repeat(3, 1fr);\n// }\n// }\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n Listen,\n Watch\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n TabularGridRowContextMenuEvent\n} from \"@genexus/chameleon-controls-library\";\n\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport { GxOption } from \"../../common/types\";\nimport { EntityData, ContextMenuInfo } from \"../../common/types\";\nimport { config } from \"../../common/config\";\nimport { mapOptionsToComboBoxItemModel, hiChar } from \"./helpers\";\nimport {\n AccordionModel,\n ComboBoxModel\n} from \"@genexus/chameleon-controls-library\";\nimport { formatDate } from \"../../common/helpers\";\nimport { GxIdeEntitySelectorCustomEvent } from \"../..\";\n\ninterface TabularGridWithSelection extends HTMLChTabularGridElement {\n selectAllRows: (select?: boolean) => Promise<void>;\n}\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/accordion\",\n \"components/edit\",\n \"components/icon\",\n \"components/tooltip\",\n \"components/tabular-grid\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\"\n];\n\nconst CLEAR_ICON = getIconPath({\n category: \"system\",\n name: \"close\",\n colorType: \"neutral\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-elevation\"\n});\n\nconst ACCORDION_FILTER_ID = \"advanced-filter\";\nconst FILTER_AFTER_DATE_TIME = \"afterDateTime\";\nconst FILTER_AFTER_LAST_BUILD = \"afterLastBuild\";\nconst FILTER_AFTER_IMPORT = \"afterImport\";\n\nconst CHECKBOX_CHECKED_VALUE = \"checked\";\nconst CHECKBOX_UNCHECKED_VALUE = \"unchecked\";\n\n@Component({\n tag: \"gx-ide-ww-files\",\n styleUrl: \"ww-files.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ww-files\"]\n})\nexport class GxIdeWWFiles {\n #componentLocale: any;\n #ACCORDION_MODEL: AccordionModel = [];\n\n // Filter Values\n #nameValue: string;\n #moduleValue: EntityData;\n // Advanced Filter Values\n #searchContentsValue: string;\n #categoryValue: string;\n #allDescendants: CheckboxState;\n #userValue: string;\n // Other\n #selectedObjectsIds: string[] = [];\n\n @Element() el: HTMLGxIdeWwFilesElement;\n #chGridEl!: HTMLChTabularGridElement;\n #filterModuleEl!: HTMLGxIdeEntitySelectorElement;\n\n /**\n * The \"After\" control value. Controls the visibility of the \"Date/Time\" control.\n */\n @State() afterValue: string;\n\n /**\n * The \"Category\" options as combo box model\n */\n @State() categoriesComboBoxModel: ComboBoxModel = [];\n\n /**\n * Value of the Date/Time control\n */\n @State() dateTimeValue: string;\n @Watch(\"dateTimeValue\")\n dateTimeValueChanged() {\n this.#getObjects();\n }\n\n /**\n * A loader that is shown when the filter changes and the server has to retrieve new data.\n */\n @State() isLoading: boolean = true;\n\n /**\n * The options for the \"After\" combo-box\n */\n @State() filterAfterComboBoxModel: ComboBoxModel;\n\n /**\n * For show or hide the filters relative to modifiers\n */\n @State() showModified: CheckboxState = CHECKBOX_CHECKED_VALUE;\n\n /**\n * The files rendered in the table\n */\n @State() objects: ObjectData[] = [];\n\n /**\n * The categories render in the filter category selector\n */\n @Prop() readonly categories!: GxOption[];\n @Watch(\"categories\")\n categoriesChanged(newCategories: GxOption[]) {\n this.categoriesComboBoxModel = mapOptionsToComboBoxItemModel(newCategories);\n }\n\n /**\n * This is a function provided by the developer for show the context menu of the selected files.\n */\n @Prop() readonly contextMenuCallback!: ContextMenuCallback;\n\n /**\n * The default value for the category filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * This is a function provided by the developer for delete the selected files.\n */\n @Prop() readonly deleteSelectionCallback!: DeleteSelectionCallback;\n\n /**\n * Controls the visibility of the tabular grid cell columns, and respective cells.\n */\n @Prop() readonly gridColumnsVisibility: GridColumnsVisibility = {\n description: true,\n importDate: true,\n lastBuildDate: true,\n lastUser: true,\n modifiedDate: true\n };\n\n /**\n * This is a function provided by the developer that return a list of files to populate the table of files.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n *\n */\n @Prop() readonly newFileCallback!: NewFileCallback;\n\n /**\n * This is a function provided by the developer to expand the data of files that is double-clicked or entered.\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback!: SelectModuleCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of files that is double-clicked or entered.\n */\n @Prop() readonly selectionChangeCallback!: SelectionChangeCallback;\n\n /**\n * Controls whether to show the Search contents field in the advanced filter section (Not available at the time of writting, since the server is not handling this feature yet.)\n */\n @Prop() readonly showSearchContents = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n // initialize combo-box models∂\n this.categoriesChanged(this.categories);\n\n // initialize \"After\" combo-box options\n this.filterAfterComboBoxModel = [\n {\n caption: this.#componentLocale.filter[FILTER_AFTER_DATE_TIME],\n value: FILTER_AFTER_DATE_TIME\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER_LAST_BUILD],\n value: FILTER_AFTER_LAST_BUILD\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER_IMPORT],\n value: FILTER_AFTER_IMPORT\n }\n ];\n\n // initialize accordion model with proper configuration\n this.#ACCORDION_MODEL = [\n {\n id: ACCORDION_FILTER_ID,\n caption: this.#componentLocale.filter.accordionCaption,\n expanded: false\n }\n ];\n\n this.#setFilterDefaultValues();\n }\n #setFilterDefaultValues = () => {\n this.#nameValue = \"\";\n this.#moduleValue = { ...this.defaultModule };\n this.#searchContentsValue = \"\";\n\n this.#categoryValue =\n this.defaultCategory ||\n (this.categoriesComboBoxModel && this.categoriesComboBoxModel.length > 0\n ? this.categoriesComboBoxModel[0].value\n : \"\");\n\n this.#allDescendants = CHECKBOX_UNCHECKED_VALUE;\n\n this.afterValue =\n this.filterAfterComboBoxModel && this.filterAfterComboBoxModel.length > 0\n ? this.filterAfterComboBoxModel[0].value\n : FILTER_AFTER_DATE_TIME;\n\n this.#userValue = \"\";\n this.dateTimeValue = undefined;\n };\n\n componentDidLoad() {\n this.#attachGridListeners();\n this.#getObjects();\n }\n\n disconnectedCallback() {\n // Clean up event listeners to prevent memory leaks\n if (this.#chGridEl) {\n this.#chGridEl.removeEventListener(\"selectionChanged\", this.#handleSelectionChanged);\n this.#chGridEl.removeEventListener(\"rowDoubleClicked\", this.#handleRowDoubleClicked);\n this.#chGridEl.removeEventListener(\"rowContextMenu\", this.#handleRowContextMenu);\n }\n }\n\n @Listen(\"keydown\", { passive: true })\n keyDownHandler(eventInfo: KeyboardEvent) {\n if (document.activeElement === this.el) {\n switch (eventInfo.key) {\n case \"Enter\":\n eventInfo.preventDefault();\n this.#openSelectionCallbackHandler();\n break;\n case \"Delete\":\n eventInfo.preventDefault();\n this.#deleteSelectionCallbackHandler();\n break;\n case \"Escape\":\n eventInfo.preventDefault();\n this.#deselectAll();\n break;\n }\n }\n }\n\n /**\n * Reloads the view, refreshing the filters and the table of files.\n */\n @Method()\n async reload(): Promise<void> {\n try {\n if (this.#componentLocale && this.filterAfterComboBoxModel) {\n this.#setFilterDefaultValues();\n this.#getObjects();\n }\n } catch (error) {\n console.error(\"Error in reload method:\");\n // Fallback: try only getObjects if setFilterDefaultValues fails\n try {\n this.#getObjects();\n } catch (fallbackError) {\n console.error(\"Fallback also failed:\");\n }\n }\n }\n\n #allDescendantsCheckboxHandler = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.#allDescendants =\n event.detail === CHECKBOX_CHECKED_VALUE\n ? CHECKBOX_CHECKED_VALUE\n : CHECKBOX_UNCHECKED_VALUE;\n this.#getObjects();\n };\n\n #handleSelectionChanged = (ev: CustomEvent<{ rowsId: string[] }>): void => {\n this.#selectedObjectsIds = ev.detail.rowsId;\n this.selectionChangeCallback(this.#selectedObjectsIds);\n };\n\n #handleRowDoubleClicked = (): void => {\n this.#openSelectionCallbackHandler();\n };\n\n #handleRowContextMenu = (ev: CustomEvent<TabularGridRowContextMenuEvent>): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.contextMenuCallback({\n selection: ev.detail.selectedRowsId,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n };\n\n #attachGridListeners = (): void => {\n this.#chGridEl.addEventListener(\"selectionChanged\", this.#handleSelectionChanged);\n this.#chGridEl.addEventListener(\"rowDoubleClicked\", this.#handleRowDoubleClicked);\n this.#chGridEl.addEventListener(\"rowContextMenu\", this.#handleRowContextMenu);\n };\n\n #categoryInputHandler = async (event: CustomEvent<string> | InputEvent) => {\n this.#categoryValue = event.detail as string;\n this.#getObjects();\n };\n\n #clearDateTimeValue = () => {\n this.dateTimeValue = undefined;\n };\n\n #dateTimeInputHandler = (event: CustomEvent<any> | InputEvent) => {\n this.dateTimeValue = event.detail;\n this.#getObjects();\n };\n\n #deleteSelectionCallbackHandler = (): void => {\n this.deleteSelectionCallback(this.#selectedObjectsIds);\n };\n\n #deselectAll = (): void => {\n if (\n this.#chGridEl &&\n typeof (this.#chGridEl as TabularGridWithSelection).selectAllRows === \"function\"\n ) {\n (this.#chGridEl as TabularGridWithSelection).selectAllRows(false);\n }\n };\n\n #evaluateModifiedDates = (\n objectModifiedDate: Date,\n filterSelectedModifiedDate: string\n ) => {\n const filterSelectedModifiedDateAsDate = new Date(\n filterSelectedModifiedDate\n );\n if (filterSelectedModifiedDateAsDate >= objectModifiedDate) {\n // Object modifed date matches with filter date, or was modified after that date.\n // Highlight to show that it matches.\n return <span class=\"hiChar\">{this.#formatDate(objectModifiedDate)}</span>;\n } else {\n return this.#formatDate(objectModifiedDate);\n }\n };\n\n #filterAfterTypeCallbackHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.afterValue = event.detail as string;\n this.#getObjects();\n };\n\n #formatDate = (date: Date): string => {\n return formatDate(date, \"date-time-short\");\n };\n\n #getObjects = () => {\n this.#setLoadingState();\n\n const parentId =\n this.#filterModuleEl && this.#filterModuleEl.value\n ? this.#filterModuleEl.value.id\n : this.defaultModule\n ? this.defaultModule.id\n : \"\";\n\n const filtersValues: ObjectFiltersData = {\n name: this.#nameValue,\n searchContents: this.#searchContentsValue,\n category: this.#categoryValue,\n parent: parentId,\n allDescendants: this.#allDescendants === CHECKBOX_CHECKED_VALUE,\n modifiedAfter: this.showModified ? this.afterValue : undefined,\n modifiedBy: this.showModified ? this.#userValue : undefined,\n modifiedDate: this.showModified ? new Date(this.dateTimeValue) : undefined\n };\n\n this.loadCallback(filtersValues).then((items: ObjectData[]) => {\n this.objects = items;\n this.#selectedObjectsIds = [];\n\n if (this.#chGridEl) {\n this.#deselectAll();\n }\n\n this.isLoading = false;\n });\n };\n\n #renderHeader = (): Element[] => {\n return [\n <div\n // Name\n class=\"field field-block field-name\"\n >\n <label class=\"label\" htmlFor=\"name\">\n {this.#componentLocale.filter.name}\n </label>\n <ch-edit\n id=\"name\"\n class=\"input\"\n value={this.#nameValue}\n onInput={this.#nameInputHandler}\n part=\"filter-files\"\n debounce={config.inputDebounce}\n disabled={this.isLoading}\n ></ch-edit>\n </div>,\n\n <div\n // Module\n class=\"field field-block field-module-folder\"\n >\n <label class=\"label\" htmlFor=\"module-folder\">\n {this.#componentLocale.filter.moduleFolder}\n </label>\n <gx-ide-entity-selector\n part=\"filter-module-folder\"\n id=\"module/folder\"\n labelPosition=\"none\"\n value={this.#moduleValue}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#filterModuleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n onValueChanged={this.#moduleValueChangedHandler}\n disabled={this.isLoading}\n ></gx-ide-entity-selector>\n </div>,\n\n <ch-accordion-render\n class=\"accordion-outlined advanced-filter\"\n model={this.#ACCORDION_MODEL}\n >\n <div\n slot={ACCORDION_FILTER_ID}\n class=\"spacing-body field-group advanced-filter__container\"\n >\n {this.showSearchContents && (\n <div\n // Search contents\n class=\"field field-block field-search-contents\"\n >\n <label class=\"label\" htmlFor=\"filter-content\">\n {this.#componentLocale.filter.content}\n </label>\n <ch-edit\n id=\"filter-content\"\n class=\"input\"\n onInput={this.#searchContentsInputHandler}\n part=\"filter-content\"\n ></ch-edit>\n </div>\n )}\n\n <div class=\"field-group advanced-filter__first-row\">\n <div\n // Category\n class=\"field field-block field-category\"\n >\n <label class=\"label\" htmlFor=\"filter-category\">\n {this.#componentLocale.filter.category}\n </label>\n <ch-combo-box-render\n id=\"filter-category\"\n class=\"combo-box disabled\"\n value={this.#categoryValue}\n disabled={!this.categories || this.isLoading}\n model={this.categoriesComboBoxModel}\n part=\"filter-category\"\n onInput={this.#categoryInputHandler}\n ></ch-combo-box-render>\n </div>\n\n <div\n // All descendants / Modified\n class=\"all-descendants__modified field field-inline\"\n >\n <ch-checkbox\n // All descendants\n class=\"checkbox\"\n caption={this.#componentLocale.filter.allDescendants}\n checkedValue={CHECKBOX_CHECKED_VALUE}\n unCheckedValue={CHECKBOX_UNCHECKED_VALUE}\n value={this.#allDescendants}\n onInput={this.#allDescendantsCheckboxHandler}\n part=\"filter-all-descendants\"\n disabled={this.isLoading}\n ></ch-checkbox>\n\n <ch-checkbox\n // Modified\n class=\"checkbox align-center\"\n caption={this.#componentLocale.filter.modified}\n checkedValue={CHECKBOX_CHECKED_VALUE}\n unCheckedValue={CHECKBOX_UNCHECKED_VALUE}\n value={this.showModified}\n onInput={this.#showModifiedCheckboxHandler}\n part=\"filter-modified\"\n ></ch-checkbox>\n </div>\n </div>\n\n {this.showModified === CHECKBOX_CHECKED_VALUE && (\n <div class=\"field-group advanced-filter__second-row\">\n <div\n // After\n class=\"field field-block field-after\"\n >\n <label class=\"label\" htmlFor=\"filter-after-type\">\n {this.#componentLocale.filter.after}\n </label>\n <ch-combo-box-render\n id=\"filter-after-type\"\n class=\"combo-box\"\n value={this.afterValue}\n model={this.filterAfterComboBoxModel}\n onInput={this.#filterAfterTypeCallbackHandler}\n part=\"filter-after-type\"\n disabled={this.isLoading}\n ></ch-combo-box-render>\n </div>\n\n <div\n // User\n class=\"field field-block field-user\"\n >\n <label class=\"label\" htmlFor=\"filter-user\">\n {this.#componentLocale.filter.user}\n </label>\n <ch-edit\n id=\"filter-user\"\n class=\"input\"\n value={this.#userValue}\n onInput={this.#userInputHandler}\n part=\"filter-user\"\n debounce={config.inputDebounce}\n disabled={this.isLoading}\n ></ch-edit>\n </div>\n\n {this.afterValue === FILTER_AFTER_DATE_TIME && (\n <div\n // Date/Time\n class={{\n \"field field-block field-date\": true,\n \"hide\": this.afterValue !== FILTER_AFTER_DATE_TIME\n }}\n >\n <label\n class=\"label label-date-time\"\n htmlFor=\"filter-date-time\"\n >\n {this.#componentLocale.filter.dateTime}\n <ch-image\n class=\"icon-md icon-clear-date-time\"\n src={INFO_ICON}\n ></ch-image>\n <ch-tooltip\n class=\"tooltip\"\n actionElement={null}\n blockAlign=\"outside-start\"\n inlineAlign=\"inside-start\"\n delay={config.tooltipSettings.delay}\n >\n {this.#componentLocale.filter.dateTimeTooltip}\n </ch-tooltip>\n </label>\n\n <ch-edit\n id=\"filter-date-time\"\n type=\"datetime-local\"\n class=\"input input-date-time\"\n value={this.dateTimeValue}\n onInput={this.#dateTimeInputHandler}\n part=\"filter-date-time\"\n disabled={this.isLoading}\n ></ch-edit>\n\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#clearDateTimeValue}\n disabled={this.isLoading}\n >\n <ch-image class=\"icon-md\" src={CLEAR_ICON} type=\"mask\" />\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </ch-accordion-render>\n ];\n };\n\n #renderObjects = (): Element => {\n const gridIsEmpty = !this.objects.length;\n\n return (\n <ch-tabular-grid\n ref={(el: HTMLChTabularGridElement) => (this.#chGridEl = el)}\n class={{\n \"tabular-grid\": true,\n \"loading\": this.isLoading,\n \"empty\": this.objects.length === 0\n }}\n rowSelectionMode=\"multiple\"\n part=\"ch-grid-files\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnName=\"\"\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.name}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.module}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n\n {this.gridColumnsVisibility.description && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.description}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n {this.gridColumnsVisibility.modifiedDate && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.modifiedDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n {this.gridColumnsVisibility.lastUser && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.lastUser}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n {this.gridColumnsVisibility.importDate && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.importDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n {this.gridColumnsVisibility.lastBuildDate && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.lastBuildDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n </ch-tabular-grid-columnset>\n\n {!gridIsEmpty ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects?.map((object: ObjectData) => (\n <ch-tabular-grid-row rowid={object.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={object.icon}></ch-image>\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n object.name.toLowerCase(),\n this.#nameValue.toLowerCase()\n )}\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(object.parent, this.#moduleValue.name)}\n </ch-tabular-grid-cell>\n\n {this.gridColumnsVisibility.description && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-description\">\n {object.description}\n </ch-tabular-grid-cell>\n )}\n\n {this.gridColumnsVisibility.modifiedDate && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#evaluateModifiedDates(\n object.modifiedDate,\n this.dateTimeValue\n )}\n </ch-tabular-grid-cell>\n )}\n\n {this.gridColumnsVisibility.lastUser && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(object.lastUser?.toLowerCase(), this.#userValue)}\n </ch-tabular-grid-cell>\n )}\n\n {this.gridColumnsVisibility.importDate && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n object.importDate\n ? this.#formatDate(object.importDate)\n : \"\",\n this.#nameValue\n )}\n </ch-tabular-grid-cell>\n )}\n\n {this.gridColumnsVisibility.lastBuildDate && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n object.lastBuildDate\n ? this.#formatDate(object.lastBuildDate)\n : \"\",\n this.#nameValue\n )}\n </ch-tabular-grid-cell>\n )}\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n {this.isLoading ? (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n description={this.#componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <gx-ide-empty-state\n isAnimated={true}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n ></gx-ide-empty-state>\n )}\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #moduleValueChangedHandler = (\n event: GxIdeEntitySelectorCustomEvent<EntityData>\n ) => {\n this.#moduleValue = event.detail;\n this.#getObjects();\n };\n\n #nameInputHandler = (event: CustomEvent<any> | InputEvent) => {\n this.#nameValue = event.detail;\n this.#getObjects();\n };\n\n #newFileCallbackHandler = (): void => {\n this.newFileCallback();\n };\n\n #openSelectionCallbackHandler = (): void => {\n this.openSelectionCallback(this.#selectedObjectsIds);\n };\n\n #searchContentsInputHandler = (event: CustomEvent<any> | InputEvent) => {\n this.#searchContentsValue = event.detail;\n this.#getObjects();\n };\n\n #setLoadingState = () => {\n // Only clear if no objects or first load\n if (!this.objects || this.objects.length === 0) {\n this.objects = [];\n }\n this.isLoading = true;\n };\n\n #userInputHandler = (event: CustomEvent<any> | InputEvent) => {\n this.#userValue = event.detail;\n this.#getObjects();\n };\n\n #showModifiedCheckboxHandler = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.showModified = event.detail;\n };\n\n #selectAll = (): void => {\n if (\n this.#chGridEl &&\n typeof (this.#chGridEl as TabularGridWithSelection).selectAllRows === \"function\"\n ) {\n (this.#chGridEl as TabularGridWithSelection).selectAllRows();\n }\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start field-group\">\n {this.#renderHeader()}\n </header>\n\n {this.#renderObjects()}\n\n <footer class=\"control-footer-with-border control-footer-space-between spacing-body\">\n <p\n // matching objects\n class=\"text-body\"\n part=\"objects-matching\"\n >\n {`${this.objects?.length} ${\n this.#componentLocale.objCount.matching\n }`}\n </p>\n\n <div class=\"buttons-spacer\">\n <button\n // select all button\n id=\"button-select-all\"\n class=\"button-secondary\"\n onClick={this.#selectAll}\n part=\"button button--select-all\"\n disabled={this.isLoading}\n >\n {this.#componentLocale.footer.btnSelectAll}\n </button>\n\n <button\n // new file button\n id=\"button-new-file\"\n class=\"button-primary button-icon-and-text\"\n onClick={this.#newFileCallbackHandler}\n part=\"button button--new-file\"\n disabled={this.isLoading}\n >\n {this.#componentLocale.footer.btnNew}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type SelectionChangeCallback = (ids: string[]) => Promise<void>;\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\nexport type DeleteSelectionCallback = (ids: string[]) => Promise<void>;\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n// export type ContextMenuCallback = (ids: string[]) => Promise<void>;\nexport type ContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport type NewFileCallback = () => Promise<void>;\nexport type LoadCallback = (\n filters: ObjectFiltersData\n) => Promise<ObjectData[]>;\n\nexport interface ObjectFiltersData {\n name?: string;\n searchContents?: string;\n category?: string;\n parent?: string;\n allDescendants?: boolean;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n}\nexport interface ObjectData {\n id: string;\n icon: string;\n name: string;\n description: string;\n parent: string;\n modifiedDate?: Date;\n lastUser?: string;\n importDate?: Date;\n lastBuildDate: Date;\n}\n\nexport type GridColumnsVisibility = {\n description: boolean;\n importDate: boolean;\n lastBuildDate: boolean;\n lastUser: boolean;\n modifiedDate: boolean;\n};\n\ntype CheckboxState =\n | typeof CHECKBOX_CHECKED_VALUE\n | typeof CHECKBOX_UNCHECKED_VALUE;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["INSERTED_ICON","getIconPath","category","name","colorType","EDITED_ICON","DELETED_ICON","WARNING_ICON","renderObjectStateWithIcon","objectState","icon","h","class","src","renderObjectTypeWithIcon","objectType"],"sources":["src/components/team-dev/common/utilities.tsx"],"sourcesContent":["// Stencil\nimport { h, JSX } from \"@stencil/core\";\nimport { getIconPath } from \"@genexus/mercury\";\nimport { ObjectState } from \"./types\";\nimport { ObjectType } from \"../../../components\";\n\nconst INSERTED_ICON = getIconPath({\n category: \"system\",\n name: \"add\",\n colorType: \"success\"\n});\nconst EDITED_ICON = getIconPath({\n category: \"system\",\n name: \"edit\",\n colorType: \"warning\"\n});\nconst DELETED_ICON = getIconPath({\n category: \"system\",\n name: \"substract\",\n colorType: \"error\"\n});\nconst WARNING_ICON = getIconPath({\n category: \"system\",\n name: \"warning\",\n colorType: \"warning\"\n});\n\n/**\n * Renders a visual indicator (icon and label) for a given object state.\n *\n * This helper function maps a fixed set of object states to corresponding icons\n *\n * Supported states:\n * - \"inserted\": Displays a green \"add\" icon.\n * - \"modified\": Displays a yellow \"edit\" icon.\n * - \"deleted\": Displays a red \"subtract\" icon.\n * - \"conflicted\": Displays a yellow \"warning\" icon.\n *\n * @param {ObjectState} objectState - The current state of the object.\n * @returns {HTMLChImageElement} A span element containing the corresponding icon and state label.\n */\nexport const renderObjectStateWithIcon = (\n objectState: ObjectState\n): HTMLChImageElement => {\n let icon: string;\n switch (objectState) {\n case \"Inserted\":\n icon = INSERTED_ICON;\n break;\n case \"Modified\":\n icon = EDITED_ICON;\n break;\n case \"Deleted\":\n icon = DELETED_ICON;\n break;\n case \"Conflicted\":\n icon = WARNING_ICON;\n break;\n }\n return (\n <span class=\"custom-icon-text-wrapper\">\n <ch-image class=\"icon-md\" src={icon}></ch-image>\n {`${objectState}`}\n </span>\n );\n};\n\n/**\n * Renders a GeneXus object type as a span element containing its icon and name.\n *\n * @param {ObjectType} objectType - The GeneXus object type to render, including its `icon` and `name` properties.\n * @returns {JSX.Element} A span element with the object's icon and label.\n */\nexport const renderObjectTypeWithIcon = (\n objectType: ObjectType\n): JSX.Element => {\n // bring changes\n const icon = objectType.icon;\n\n return (\n <span class=\"custom-icon-text-wrapper\">\n <ch-image class=\"icon-md\" src={icon}></ch-image>\n {`${objectType.name}`}\n </span>\n );\n};\n"],"mappings":";;;;;AAMA,MAAMA,IAAgBC,EAAY;EAChCC,UAAU;EACVC,MAAM;EACNC,WAAW;;;AAEb,MAAMC,IAAcJ,EAAY;EAC9BC,UAAU;EACVC,MAAM;EACNC,WAAW;;;AAEb,MAAME,IAAeL,EAAY;EAC/BC,UAAU;EACVC,MAAM;EACNC,WAAW;;;AAEb,MAAMG,IAAeN,EAAY;EAC/BC,UAAU;EACVC,MAAM;EACNC,WAAW;;;;;;;;;;;;;;;;UAiBAI,4BACXC;EAEA,IAAIC;EACJ,QAAQD;GACN,KAAK;IACHC,IAAOV;IACP;;GACF,KAAK;IACHU,IAAOL;IACP;;GACF,KAAK;IACHK,IAAOJ;IACP;;GACF,KAAK;IACHI,IAAOH;IACP;;EAEJ,OACEI,EAAA;IAAMC,OAAM;KACVD,EAAA;IAAUC,OAAM;IAAUC,KAAKH;MAC9B,GAAGD;AACC;;;;;;;UAUEK,2BACXC;;EAGA,MAAML,IAAOK,EAAWL;EAExB,OACEC,EAAA;IAAMC,OAAM;KACVD,EAAA;IAAUC,OAAM;IAAUC,KAAKH;MAC9B,GAAGK,EAAWZ;AACV"}
|