@genexus/genexus-ide-ui 1.0.0 → 1.0.2
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/assets-manager-64c42a1e.js +14669 -0
- package/dist/cjs/assets-manager-64c42a1e.js.map +1 -0
- package/dist/cjs/{common-a9c44141.js → common-d21da2fc.js} +2 -2
- package/dist/cjs/{common-a9c44141.js.map → common-d21da2fc.js.map} +1 -1
- package/dist/cjs/{config-8246d533.js → config-7499aff7.js} +21 -1
- package/dist/cjs/config-7499aff7.js.map +1 -0
- package/dist/cjs/constants-96a42315.js.map +1 -1
- package/dist/cjs/genexus-ide-ui.cjs.js +2 -2
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +6 -7
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-card.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +5 -5
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +6 -6
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +24 -9
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +4 -5
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js +11 -50
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +78 -53
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-loader.cjs.entry.js +32 -47
- package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +24 -5
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +24 -5
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +6 -7
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +6 -6
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +208 -218
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js +119 -70
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +6 -6
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +131 -125
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-switch-panel.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-switcher.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +7 -8
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +4 -4
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +4 -5
- 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 +3 -3
- 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 +6 -7
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-template.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-top-bar.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +7 -8
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/{helpers-cef3dd1f.js → helpers-be14ea67.js} +34 -5
- package/dist/cjs/helpers-be14ea67.js.map +1 -0
- package/dist/cjs/{index-13ec56b2.js → index-b87e3ee0.js} +10 -4
- package/dist/cjs/index-b87e3ee0.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{render-combo-items-7cf25644.js → render-combo-items-9d83241b.js} +2 -2
- package/dist/cjs/{render-combo-items-7cf25644.js.map → render-combo-items-9d83241b.js.map} +1 -1
- package/dist/cjs/{render-list-item-859d6b85.js → render-list-item-353de5ee.js} +2 -2
- package/dist/cjs/{render-list-item-859d6b85.js.map → render-list-item-353de5ee.js.map} +1 -1
- package/dist/cjs/{render-suggest-5159c128.js → render-suggest-cd69493a.js} +2 -2
- package/dist/cjs/render-suggest-cd69493a.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/common/config.js +20 -0
- package/dist/collection/common/config.js.map +1 -1
- package/dist/collection/common/constants.js.map +1 -1
- package/dist/collection/common/helpers.js +31 -3
- package/dist/collection/common/helpers.js.map +1 -1
- package/dist/collection/common/render-suggest.js.map +1 -1
- package/dist/collection/common/types.js.map +1 -1
- package/dist/collection/components/_helpers/card/card.css +108 -0
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +638 -16
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +17 -111
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -1
- package/dist/collection/components/_helpers/entity-selector/entity-selector.css +21 -386
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js +90 -142
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
- package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +6 -0
- package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.zh.json +0 -0
- package/dist/collection/components/_helpers/ide-loader/ide-loader.css +23 -38
- package/dist/collection/components/_helpers/ide-loader/ide-loader.js +68 -125
- package/dist/collection/components/_helpers/ide-loader/ide-loader.js.map +1 -1
- package/dist/collection/components/_helpers/list-selector/list-selector.css +108 -0
- package/dist/collection/components/_starting-template/template.css +108 -0
- package/dist/collection/components/ai-assistant/ai-assistant.css +108 -0
- package/dist/collection/components/ai-assistant/ai-message.css +2 -2
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +150 -2
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +1 -2
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
- package/dist/collection/components/bpm/application-declaration/helpers.js.map +1 -1
- package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +108 -0
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +108 -0
- package/dist/collection/components/bpm/import-files/bpm-import-files.css +108 -0
- package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +108 -0
- package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +108 -0
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +108 -0
- package/dist/collection/components/connect-gx-server/connect-gx-server.css +108 -0
- package/dist/collection/components/connect-gx-server/connect-gx-server.js +1 -1
- package/dist/collection/components/connect-gx-server/connect-gx-server.js.map +1 -1
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +108 -0
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +1 -1
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/dashboard-home/dashboard-home.css +108 -0
- package/dist/collection/components/dashboard-home/dashboard-home.js +21 -6
- package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
- package/dist/collection/components/data-selector/data-selector.css +108 -0
- package/dist/collection/components/data-selector/data-selector.js +1 -2
- package/dist/collection/components/data-selector/data-selector.js.map +1 -1
- package/dist/collection/components/design-import/design-import.css +108 -0
- package/dist/collection/components/design-import/design-import.js +1 -1
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +108 -0
- package/dist/collection/components/kb-manager-export/helpers.js.map +1 -1
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +108 -0
- package/dist/collection/components/kb-manager-export/kb-manager-export.js +3 -3
- package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
- package/dist/collection/components/kb-manager-import/kb-manager-import.css +157 -0
- package/dist/collection/components/modules/edit-module-server/edit-module-server.css +108 -0
- package/dist/collection/components/modules/manage-module-references/manage-module-references.css +108 -0
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js +21 -2
- package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +21 -2
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +108 -0
- package/dist/collection/components/new-environment/new-environment.css +108 -0
- package/dist/collection/components/new-environment/new-environment.js +1 -1
- package/dist/collection/components/new-environment/new-environment.js.map +1 -1
- package/dist/collection/components/new-kb/new-kb.css +108 -0
- package/dist/collection/components/new-kb/new-kb.js +1 -1
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/new-object/new-object.css +108 -0
- package/dist/collection/components/new-object/new-object.js +2 -2
- package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +4 -0
- package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +4 -1
- package/dist/collection/components/object-selector/gx-ide-assets/object-selector/shortcuts.json +2 -2
- package/dist/collection/components/object-selector/helpers.js +13 -0
- package/dist/collection/components/object-selector/helpers.js.map +1 -0
- package/dist/collection/components/object-selector/object-selector.css +200 -51
- package/dist/collection/components/object-selector/object-selector.js +299 -375
- package/dist/collection/components/object-selector/object-selector.js.map +1 -1
- package/dist/collection/components/references/helpers.js.map +1 -1
- package/dist/collection/components/references/references.css +108 -0
- package/dist/collection/components/references/references.js.map +1 -1
- package/dist/collection/components/share-kb/share-kb.css +108 -0
- package/dist/collection/components/share-kb/share-kb.js +1 -1
- package/dist/collection/components/share-kb/share-kb.js.map +1 -1
- package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.en.json +14 -4
- package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.ja.json +15 -5
- package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.en.json +13 -3
- package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.ja.json +15 -5
- package/dist/collection/components/start-page/recent-news.css +136 -42
- package/dist/collection/components/start-page/recent-news.js +141 -73
- package/dist/collection/components/start-page/recent-news.js.map +1 -1
- package/dist/collection/components/start-page/start-page.css +186 -29
- package/dist/collection/components/start-page/start-page.js +184 -171
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/collection/components/team-dev/commit/commit.css +149 -1
- package/dist/collection/components/team-dev/commit/commit.js +2 -3
- package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
- package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +108 -0
- package/dist/collection/components/team-dev/update/update.css +150 -2
- package/dist/collection/components/team-dev/update/update.js +1 -2
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +108 -0
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -2
- 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/update-to-revision.css +108 -0
- package/dist/collection/components/wf-settings/wf-settings.css +108 -0
- package/dist/collection/components/ww-images/ww-images.css +151 -3
- package/dist/collection/components/ww-images/ww-images.js +3 -4
- package/dist/collection/components/ww-images/ww-images.js.map +1 -1
- package/dist/components/ai-message.js +1 -1
- package/dist/components/ai-message.js.map +1 -1
- package/dist/components/assets-manager.js +14667 -0
- package/dist/components/assets-manager.js.map +1 -0
- package/dist/components/bpm-objects-selector.js +1 -1
- package/dist/components/bpm-objects-selector.js.map +1 -1
- package/dist/components/config.js +20 -0
- package/dist/components/config.js.map +1 -1
- package/dist/components/constants.js.map +1 -1
- package/dist/components/entity-selector.js +79 -57
- package/dist/components/entity-selector.js.map +1 -1
- package/dist/components/gx-ide-ai-assistant.js +1 -1
- package/dist/components/gx-ide-ai-assistant.js.map +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js +2 -3
- package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
- package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
- package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-files.js +1 -1
- package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
- package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
- package/dist/components/gx-ide-card.js +1 -1
- package/dist/components/gx-ide-card.js.map +1 -1
- package/dist/components/gx-ide-connect-gx-server.js +2 -2
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +2 -2
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +25 -16
- package/dist/components/gx-ide-dashboard-home.js.map +1 -1
- package/dist/components/gx-ide-data-selector.js +2 -3
- package/dist/components/gx-ide-data-selector.js.map +1 -1
- package/dist/components/gx-ide-design-import.js +1 -1
- package/dist/components/gx-ide-design-import.js.map +1 -1
- package/dist/components/gx-ide-edit-module-server.js +1 -1
- package/dist/components/gx-ide-edit-module-server.js.map +1 -1
- package/dist/components/gx-ide-empty-state2.js +13 -63
- package/dist/components/gx-ide-empty-state2.js.map +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js +1 -1
- package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-export.js +1 -1
- package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-import.js +1 -1
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references-v2.js +22 -3
- package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references.js +22 -3
- package/dist/components/gx-ide-manage-module-references.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +2 -3
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +2 -2
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-new-object.js +1 -1
- package/dist/components/gx-ide-new-object.js.map +1 -1
- package/dist/components/gx-ide-object-selector.js +224 -243
- package/dist/components/gx-ide-object-selector.js.map +1 -1
- package/dist/components/gx-ide-references.js +1 -1
- package/dist/components/gx-ide-references.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +2 -2
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +149 -133
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +4 -5
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
- package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-partial-selection.js +2 -3
- package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
- package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +3 -4
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/gx-ide-template.js +1 -1
- package/dist/components/gx-ide-template.js.map +1 -1
- package/dist/components/gx-ide-wf-settings.js +1 -1
- package/dist/components/gx-ide-wf-settings.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +4 -5
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/helpers.js +32 -4
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ide-loader.js +36 -56
- package/dist/components/ide-loader.js.map +1 -1
- package/dist/components/list-selector.js +1 -1
- package/dist/components/list-selector.js.map +1 -1
- package/dist/components/recent-news.js +132 -73
- package/dist/components/recent-news.js.map +1 -1
- package/dist/components/render-suggest.js.map +1 -1
- package/dist/esm/assets-manager-120996e9.js +14667 -0
- package/dist/esm/assets-manager-120996e9.js.map +1 -0
- package/dist/esm/{common-8826f536.js → common-31ac2b05.js} +2 -2
- package/dist/esm/{common-8826f536.js.map → common-31ac2b05.js.map} +1 -1
- package/dist/esm/{config-a492e15e.js → config-6cfbb06f.js} +21 -1
- package/dist/esm/config-6cfbb06f.js.map +1 -0
- package/dist/esm/constants-f9193da7.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +3 -3
- package/dist/esm/gx-ide-ai-assistant.entry.js +2 -2
- package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +3 -3
- package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +6 -7
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js +3 -3
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +3 -3
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +4 -4
- package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +3 -3
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +4 -4
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +3 -3
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
- package/dist/esm/gx-ide-card.entry.js +2 -2
- package/dist/esm/gx-ide-card.entry.js.map +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +4 -4
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-container_2.entry.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +4 -4
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +24 -9
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +4 -5
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +4 -4
- package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-directory-selector.entry.js +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js +2 -2
- package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js +11 -50
- package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +78 -53
- package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js +3 -3
- package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +3 -3
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +4 -4
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js +2 -2
- package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-loader.entry.js +32 -47
- package/dist/esm/gx-ide-loader.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +24 -5
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +24 -5
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +5 -6
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +5 -5
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +3 -3
- package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +208 -218
- package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-recent-news.entry.js +119 -70
- package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +4 -4
- package/dist/esm/gx-ide-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +5 -5
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +131 -125
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
- package/dist/esm/gx-ide-switch-panel.entry.js +1 -1
- package/dist/esm/gx-ide-switcher.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +7 -8
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +4 -4
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +4 -5
- 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 +3 -3
- 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 +6 -7
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-template.entry.js +3 -3
- package/dist/esm/gx-ide-template.entry.js.map +1 -1
- package/dist/esm/gx-ide-test.entry.js +1 -1
- package/dist/esm/gx-ide-top-bar.entry.js +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js +3 -3
- package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +7 -8
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/{helpers-0a23ab69.js → helpers-05c62775.js} +34 -6
- package/dist/esm/helpers-05c62775.js.map +1 -0
- package/dist/esm/{index-2f305780.js → index-27c691bc.js} +10 -4
- package/dist/esm/index-27c691bc.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{render-combo-items-42fe0712.js → render-combo-items-b5465c1d.js} +2 -2
- package/dist/esm/{render-combo-items-42fe0712.js.map → render-combo-items-b5465c1d.js.map} +1 -1
- package/dist/esm/{render-list-item-ae730365.js → render-list-item-06286d62.js} +2 -2
- package/dist/esm/{render-list-item-ae730365.js.map → render-list-item-06286d62.js.map} +1 -1
- package/dist/esm/{render-suggest-90759f0b.js → render-suggest-3543434c.js} +2 -2
- package/dist/esm/render-suggest-3543434c.js.map +1 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +3 -3
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +6 -0
- package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.ja.json +0 -0
- package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.zh.json +0 -0
- package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +4 -0
- package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +4 -1
- package/dist/genexus-ide-ui/gx-ide-assets/object-selector/shortcuts.json +2 -2
- package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.en.json +14 -4
- package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.ja.json +15 -5
- package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.en.json +13 -3
- package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.ja.json +15 -5
- package/dist/genexus-ide-ui/{p-52037fb7.entry.js → p-02c7b423.entry.js} +74 -74
- package/dist/genexus-ide-ui/p-02c7b423.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-7fe1ceb9.entry.js → p-03a88768.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-c0df43ae.entry.js → p-03b4b814.entry.js} +178 -180
- package/dist/genexus-ide-ui/p-03b4b814.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-fa07dd86.entry.js → p-04875060.entry.js} +99 -99
- package/dist/genexus-ide-ui/{p-309544a8.js → p-07b9c2d4.js} +2 -2
- package/dist/genexus-ide-ui/{p-fc6040c7.entry.js → p-09cc20b1.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-328fc42f.entry.js → p-0bddf199.entry.js} +110 -89
- package/dist/genexus-ide-ui/p-0bddf199.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ff934271.entry.js → p-0f7b7541.entry.js} +46 -48
- package/dist/genexus-ide-ui/p-0f7b7541.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-13feb5cf.js.map +1 -1
- package/dist/genexus-ide-ui/{p-9265eb8d.js → p-14e6ef41.js} +52 -24
- package/dist/genexus-ide-ui/p-14e6ef41.js.map +1 -0
- package/dist/genexus-ide-ui/p-15ab148b.entry.js +683 -0
- package/dist/genexus-ide-ui/{p-8be06716.entry.js → p-2073deab.entry.js} +30 -30
- package/dist/genexus-ide-ui/{p-14d3afaf.entry.js → p-2238f5b3.entry.js} +43 -26
- package/dist/genexus-ide-ui/p-2238f5b3.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-947149d1.entry.js → p-28456a97.entry.js} +16 -16
- package/dist/genexus-ide-ui/{p-52d063c4.entry.js → p-33434d7d.entry.js} +170 -172
- package/dist/genexus-ide-ui/p-33434d7d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1cbf3ae4.entry.js → p-3b5b6908.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-caa3c8b1.entry.js → p-43cfd06b.entry.js} +37 -37
- package/dist/genexus-ide-ui/p-43cfd06b.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-44a2f835.entry.js +506 -0
- package/dist/genexus-ide-ui/p-44a2f835.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c8f4d24c.entry.js → p-48723dcd.entry.js} +8 -8
- package/dist/genexus-ide-ui/{p-4f0b6507.entry.js → p-4a0e3c34.entry.js} +74 -74
- package/dist/genexus-ide-ui/p-4a0e3c34.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-df2e4696.entry.js → p-51771269.entry.js} +115 -94
- package/dist/genexus-ide-ui/p-51771269.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-61e2d60e.entry.js → p-51ea74a5.entry.js} +52 -52
- package/dist/genexus-ide-ui/p-537dfb63.entry.js +318 -0
- package/dist/genexus-ide-ui/p-54f34df2.entry.js +154 -0
- package/dist/genexus-ide-ui/p-54f34df2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-06cb63b5.entry.js → p-60b5aa38.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-03c0d269.entry.js → p-69a83248.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-6df9fab1.js +14666 -0
- package/dist/genexus-ide-ui/p-6df9fab1.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6b5adc13.entry.js → p-73a98f20.entry.js} +13 -13
- package/dist/genexus-ide-ui/p-73a98f20.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f744e80f.entry.js → p-73afc989.entry.js} +22 -22
- package/dist/genexus-ide-ui/{p-c3fbfe7b.entry.js → p-77239013.entry.js} +18 -18
- package/dist/genexus-ide-ui/{p-fc55b26e.entry.js → p-7ac25fc3.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-357b287c.entry.js → p-7ca8ed4b.entry.js} +54 -54
- package/dist/genexus-ide-ui/p-8050e61d.entry.js +228 -0
- package/dist/genexus-ide-ui/p-8050e61d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8dfde4d9.entry.js → p-82649b9b.entry.js} +47 -47
- package/dist/genexus-ide-ui/{p-9c1b4eb9.js → p-8cf892b5.js} +23 -3
- package/dist/genexus-ide-ui/p-8cf892b5.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b01eccc2.entry.js → p-8ee27085.entry.js} +4 -4
- package/dist/genexus-ide-ui/{p-cad2b413.entry.js → p-92e46b5d.entry.js} +37 -37
- package/dist/genexus-ide-ui/{p-c6f0f199.entry.js → p-941cdab8.entry.js} +57 -59
- package/dist/genexus-ide-ui/p-941cdab8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-957341c7.entry.js +210 -0
- package/dist/genexus-ide-ui/p-957341c7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9d0b7d59.entry.js → p-969e4799.entry.js} +91 -93
- package/dist/genexus-ide-ui/p-969e4799.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4dbaf435.entry.js → p-a1f28f2b.entry.js} +45 -45
- package/dist/genexus-ide-ui/{p-18235116.entry.js → p-a88e14f8.entry.js} +153 -156
- package/dist/genexus-ide-ui/p-a88e14f8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c147291f.js → p-aaed592c.js} +12 -5
- package/dist/genexus-ide-ui/p-aaed592c.js.map +1 -0
- package/dist/genexus-ide-ui/{p-0b854804.js → p-af836892.js} +9 -9
- package/dist/genexus-ide-ui/{p-ce59fefc.entry.js → p-b984f974.entry.js} +54 -56
- package/dist/genexus-ide-ui/p-b984f974.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c6cf40ab.entry.js → p-c79243c8.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-cb0e11db.entry.js +73 -0
- package/dist/genexus-ide-ui/p-cb0e11db.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-0c8c6cc3.entry.js → p-d0f99e7f.entry.js} +41 -41
- package/dist/genexus-ide-ui/p-d0f99e7f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f9cd47ba.entry.js → p-d40d8792.entry.js} +31 -112
- package/dist/genexus-ide-ui/p-d40d8792.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9e5fa97a.entry.js → p-dbfddffd.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-5bf67436.js → p-e8bdf9dc.js} +2 -2
- package/dist/genexus-ide-ui/p-e8bdf9dc.js.map +1 -0
- package/dist/genexus-ide-ui/{p-853dacf5.entry.js → p-ed72073c.entry.js} +42 -42
- package/dist/genexus-ide-ui/p-ed72073c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-01885db6.entry.js → p-edc4f1dc.entry.js} +5 -5
- package/dist/genexus-ide-ui/{p-7e2ea144.entry.js → p-ee3161f8.entry.js} +28 -28
- package/dist/genexus-ide-ui/{p-3ce32466.entry.js → p-f1f6b028.entry.js} +31 -31
- package/dist/genexus-ide-ui/{p-13c68ced.js → p-f831f30b.js} +2 -2
- package/dist/genexus-ide-ui/{p-97fba685.entry.js → p-f9aafa8f.entry.js} +24 -24
- package/dist/types/common/config.d.ts +19 -0
- package/dist/types/common/constants.d.ts +5 -4
- package/dist/types/common/helpers.d.ts +9 -0
- package/dist/types/common/render-suggest.d.ts +1 -1
- package/dist/types/common/types.d.ts +1 -3
- package/dist/types/components/_helpers/empty-state/gx-ide-empty-state.d.ts +4 -22
- package/dist/types/components/_helpers/entity-selector/entity-selector.d.ts +12 -31
- package/dist/types/components/_helpers/ide-loader/ide-loader.d.ts +11 -28
- package/dist/types/components/bpm/application-declaration/bpm-app-declaration.d.ts +1 -1
- package/dist/types/components/bpm/application-declaration/helpers.d.ts +1 -1
- package/dist/types/components/dashboard-home/dashboard-home.d.ts +1 -0
- package/dist/types/components/kb-manager-export/helpers.d.ts +2 -1
- package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +1 -5
- package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +1 -0
- package/dist/types/components/modules/manage-module-references-v2/manage-module-references-v2.d.ts +1 -0
- package/dist/types/components/object-selector/helpers.d.ts +4 -0
- package/dist/types/components/object-selector/object-selector.d.ts +28 -82
- package/dist/types/components/references/helpers.d.ts +1 -1
- package/dist/types/components/references/references.d.ts +1 -1
- package/dist/types/components/start-page/recent-news.d.ts +16 -12
- package/dist/types/components/start-page/start-page.d.ts +42 -18
- package/dist/types/components.d.ts +47 -158
- package/package.json +5 -5
- package/dist/cjs/config-8246d533.js.map +0 -1
- package/dist/cjs/form-validation-40aa8527.js +0 -24
- package/dist/cjs/form-validation-40aa8527.js.map +0 -1
- package/dist/cjs/grid-99bca82a.js +0 -16
- package/dist/cjs/grid-99bca82a.js.map +0 -1
- package/dist/cjs/helpers-cef3dd1f.js.map +0 -1
- package/dist/cjs/index-13ec56b2.js.map +0 -1
- package/dist/cjs/render-suggest-5159c128.js.map +0 -1
- package/dist/collection/common/form-validation.js +0 -19
- package/dist/collection/common/form-validation.js.map +0 -1
- package/dist/collection/common/grid.js +0 -11
- package/dist/collection/common/grid.js.map +0 -1
- package/dist/collection/common/interfaces.js +0 -4
- package/dist/collection/common/interfaces.js.map +0 -1
- package/dist/components/form-validation.js +0 -22
- package/dist/components/form-validation.js.map +0 -1
- package/dist/components/grid.js +0 -14
- package/dist/components/grid.js.map +0 -1
- package/dist/esm/config-a492e15e.js.map +0 -1
- package/dist/esm/form-validation-9367af5a.js +0 -22
- package/dist/esm/form-validation-9367af5a.js.map +0 -1
- package/dist/esm/grid-55fe9537.js +0 -14
- package/dist/esm/grid-55fe9537.js.map +0 -1
- package/dist/esm/helpers-0a23ab69.js.map +0 -1
- package/dist/esm/index-2f305780.js.map +0 -1
- package/dist/esm/render-suggest-90759f0b.js.map +0 -1
- package/dist/genexus-ide-ui/p-00095d68.js +0 -20
- package/dist/genexus-ide-ui/p-00095d68.js.map +0 -1
- package/dist/genexus-ide-ui/p-0c8c6cc3.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-14d3afaf.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-18235116.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-1aee7705.entry.js +0 -493
- package/dist/genexus-ide-ui/p-1aee7705.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-328fc42f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-41326e89.entry.js +0 -184
- package/dist/genexus-ide-ui/p-41326e89.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4c52f542.entry.js +0 -97
- package/dist/genexus-ide-ui/p-4c52f542.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-4f0b6507.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-52037fb7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-52d063c4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5bf67436.js.map +0 -1
- package/dist/genexus-ide-ui/p-6b5adc13.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6d9841c4.entry.js +0 -94
- package/dist/genexus-ide-ui/p-6d9841c4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-720702e4.js +0 -13
- package/dist/genexus-ide-ui/p-720702e4.js.map +0 -1
- package/dist/genexus-ide-ui/p-853dacf5.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9265eb8d.js.map +0 -1
- package/dist/genexus-ide-ui/p-9c1b4eb9.js.map +0 -1
- package/dist/genexus-ide-ui/p-9d0b7d59.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a5c15051.entry.js +0 -318
- package/dist/genexus-ide-ui/p-c0df43ae.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-c147291f.js.map +0 -1
- package/dist/genexus-ide-ui/p-c6f0f199.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ca73836a.entry.js +0 -683
- package/dist/genexus-ide-ui/p-caa3c8b1.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ce59fefc.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-df2e4696.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f66a086d.entry.js +0 -146
- package/dist/genexus-ide-ui/p-f66a086d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f9cd47ba.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ff934271.entry.js.map +0 -1
- package/dist/types/common/form-validation.d.ts +0 -2
- package/dist/types/common/grid.d.ts +0 -10
- /package/dist/{types/common/interfaces.d.ts → collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.ja.json} +0 -0
- /package/dist/genexus-ide-ui/{p-7fe1ceb9.entry.js.map → p-03a88768.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fa07dd86.entry.js.map → p-04875060.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-309544a8.js.map → p-07b9c2d4.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fc6040c7.entry.js.map → p-09cc20b1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ca73836a.entry.js.map → p-15ab148b.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8be06716.entry.js.map → p-2073deab.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-947149d1.entry.js.map → p-28456a97.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1cbf3ae4.entry.js.map → p-3b5b6908.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c8f4d24c.entry.js.map → p-48723dcd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-61e2d60e.entry.js.map → p-51ea74a5.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a5c15051.entry.js.map → p-537dfb63.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-06cb63b5.entry.js.map → p-60b5aa38.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-03c0d269.entry.js.map → p-69a83248.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f744e80f.entry.js.map → p-73afc989.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c3fbfe7b.entry.js.map → p-77239013.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fc55b26e.entry.js.map → p-7ac25fc3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-357b287c.entry.js.map → p-7ca8ed4b.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8dfde4d9.entry.js.map → p-82649b9b.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b01eccc2.entry.js.map → p-8ee27085.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-cad2b413.entry.js.map → p-92e46b5d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4dbaf435.entry.js.map → p-a1f28f2b.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0b854804.js.map → p-af836892.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c6cf40ab.entry.js.map → p-c79243c8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9e5fa97a.entry.js.map → p-dbfddffd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-01885db6.entry.js.map → p-edc4f1dc.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7e2ea144.entry.js.map → p-ee3161f8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3ce32466.entry.js.map → p-f1f6b028.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-13c68ced.js.map → p-f831f30b.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-97fba685.entry.js.map → p-f9aafa8f.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["newKbCss","GxIdeNewKb","this","renderedFirstTime","selectedFrontEndsIds","shortcutsSrc","getAssetPath","initialSetup","updateSelectedFrontEndsIds","frontEndsEl","getValues","then","frontEndsCheckboxesInfo","forEach","frontEnd","value","push","id","evaluateCreateDataInKbDisabled","e","_a","serverNames","detail","createDataInKbDisabled","_b","selected","evaluateAuthenticationType","selectedOption","authenticationTypes","length","find","item","conditionA","conditionB","userNameVisible","passwordVisible","savePasswordVisible","selectLocationHandler","selectLocationCallback","kbLocation","updateFrontEnds","getFrontEndsCallback","selectedPrototypingEnvironmentId","prototypingEnvironmentEl","updatedFrontEndsPromise","newFrontEndsOptions","updatedFrontEnds","newFrontEnd","foundActualFrontEnd","frontEnds","actualFrontEnd","checked","catch","getDataSources","getDataSourcesCallback","selectedPrototypingTargetId","prototypingTargetEl","updatedDefaultDataSourcesPromise","result","defaultDataSources","dataSourceEl","prototypingEnvironmentValueChangedHandler","prototypingTargetValueChangedHandler","createKbHandler","createCallback","createCallbackPromise","kbName","kbNameEl","locationEl","prototypingTarget","_c","userInterfaceLanguage","_d","userInterfaceLanguageEl","prototypingEnvironment","_e","dataSource","_f","serverName","_g","serverNameEl","databaseName","_h","databaseNameEl","collation","_j","collationEl","createDataFilesInKBFolder","_k","createDataFilesInKBFolderEl","authenticationType","_l","authenticationTypeEl","userName","_m","userNameEl","password","_o","passwordEl","savePassword","_p","savePasswordEl","formSubmitResult","formSubmitValidation","cancelKbHandler","cancelCallback","renderTabBasic","h","tab","flexContainer","isSelected","isAdvanced","class","disableFilter","toolTip","config","tooltip","label","_componentLocale","tabBasic","getSelectedGxOption","prototypingTargets","ref","el","disabled","placeholder","disabledPlaceholder","onValueChanged","part","renderFormItems","userInterfaceLanguages","containerTitle","backEnd","backEndLabel","contentBorderEnd","titleType","prototypingEnvironments","frontEndLabel","checkboxesLabelSize","onGroupValuesChanged","renderTabAdvanced","noContentPadding","tabAdvanced","tabTitle","type","icon","labelPosition","collations","createDataFilesInKbFolder","alignTop","componentWillLoad","Locale","getComponentStrings","previousFrontEndsState","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","emit","componentName","suspendShortcuts","gxgShortcutsEl","suspend","render","Host","slimmerFooter","gxIdeContainer","displayTitle","header","grid","slot","noMargin","maxWidth","onClick","noBorder","displayBorder","tabLabel","hidden","footer","btnCancel","btnCreate","src"],"sources":["src/components/new-kb/new-kb.scss?tag=gx-ide-new-kb&encapsulation=shadow","src/components/new-kb/new-kb.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n border: 1px solid var(--gxg-border-color--regular);\n background-color: var(--mer-color__surface);\n}\n:host(.gxi-new-kb--shadow) {\n}\n/*HEADER*/\n.header {\n grid-template-columns: auto 1fr;\n grid-template-areas: \"kb-name-label kb-input\";\n &--is-advanced {\n grid-template-columns: auto 1fr min-content;\n grid-template-areas:\n \"kb-name-label kb-input .\"\n \"location-label location-input location-icon\";\n }\n .kb-input {\n grid-area: kb-input;\n }\n .kb-name-label {\n grid-area: kb-label;\n }\n .location-label {\n grid-area: location-label;\n }\n .location-input {\n grid-area: location-input;\n }\n .location-icon {\n grid-area: location-icon;\n }\n}\n/*GXG-TABS*/\n.gxg-tabs {\n margin-top: 0;\n box-shadow: none;\n}\n/*Basic*/\n.basic-row-first {\n container-name: basic-row-first;\n // container-type: inline-size; /*Esto queda comentado hasta que no se resuelva el problema del popover con Safari.*/\n &__container {\n display: grid;\n gap: var(--gx-ide-grid-column-gap);\n padding: var(--gx-ide-container__padding);\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n grid-template-columns: repeat(2, 1fr);\n }\n /*Esto queda comentado hasta que no se resuelva el problema del popover con Safari.*/\n // @include containerQuerySm() {\n // .basic-row-first__container {\n // grid-template-columns: 1fr;\n // }\n // }\n}\n\n.basic-row-second {\n grid-template-columns: repeat(2, 1fr);\n grid-column-gap: 0;\n grid-row-gap: 0;\n flex-grow: 1;\n}\n/*Advanced*/\n.knowledge-base-storage {\n display: grid;\n grid-template-areas: \"knowledge-base-storage__col-left knowledge-base-storage__col-right\";\n grid-template-columns: repeat(2, 1fr);\n flex-grow: 1;\n gap: 0;\n > *:first-child {\n border-right: 1px solid var(--gx-ide-container-border-color);\n }\n &__col-left {\n display: grid;\n gap: var(--gx-ide-grid-row-gap);\n padding: var(--gx-ide-container__padding);\n grid-area: knowledge-base-storage__col-left;\n grid-template-columns: 1fr auto;\n grid-template-rows: repeat(4, min-content);\n grid-template-areas:\n \"server-name-combo-box server-name-button\"\n \"database-name .\"\n \"collation-combo-box collation-button\"\n \"create-data-in-kb .\";\n\n .server-name-combo-box {\n grid-area: server-name-combo-box;\n }\n .server-name-button {\n grid-area: server-name-button;\n align-self: end;\n }\n .database-name {\n grid-area: database-name;\n }\n .collation-combo-box {\n grid-area: collation-combo-box;\n }\n .collation-button {\n grid-area: collation-button;\n align-self: end;\n }\n .create-data-in-kb {\n grid-area: create-data-in-kb;\n }\n }\n &__col-right {\n display: grid;\n padding: var(--gx-ide-container__padding);\n gap: var(--gx-ide-grid-row-gap);\n grid-area: knowledge-base-storage__col-right;\n grid-template-columns: 1fr;\n grid-template-rows: repeat(4, min-content);\n grid-template-areas:\n \"authentication-type\"\n \"user-name\"\n \"password\"\n \"save-password\";\n .authentication-type {\n grid-area: authentication-type;\n }\n .user-name {\n grid-area: user-name;\n }\n .password {\n grid-area: password;\n }\n .save-password {\n grid-area: save-password;\n }\n &--windows-authentication {\n grid-template-areas: \"authentication-type\";\n }\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n State,\n getAssetPath,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { ComboBoxItemValue } from \"@genexus/gemini/dist/types/components/combo-box-item/combo-box-item\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { GxOption } from \"../../common/types\";\nimport { renderFormItems, getSelectedGxOption } from \"../../common/common\";\nimport { FormSubmitResult } from \"../../common/types\";\nimport { formSubmitValidation } from \"../../common/form-validation\";\n\n@Component({\n tag: \"gx-ide-new-kb\",\n styleUrl: \"new-kb.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-kb\"]\n})\nexport class GxIdeNewKb {\n [key: string]: any;\n\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private selectedFrontEndsIds: string[] = [];\n private shortcutsSrc = getAssetPath(`./gx-ide-assets/new-kb/shortcuts.json`);\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeNewKbElement;\n\n /* References needed to collect data con \"Create\" button submit*/\n private authenticationTypeEl!: HTMLGxgComboBoxElement;\n private collationEl!: HTMLGxgComboBoxElement;\n private createDataFilesInKBFolderEl!: HTMLGxgFormCheckboxElement;\n private databaseNameEl!: HTMLGxgFormTextElement;\n private dataSourceEl!: HTMLGxgComboBoxElement;\n private frontEndsEl!: HTMLGxgFormCheckboxGroupElement;\n private kbNameEl!: HTMLGxgFormTextElement;\n private locationEl!: HTMLGxgFormTextElement;\n private passwordEl!: HTMLGxgFormTextElement;\n private prototypingEnvironmentEl!: HTMLGxgComboBoxElement;\n private prototypingTargetEl!: HTMLGxgComboBoxElement;\n private savePasswordEl!: HTMLGxgFormCheckboxElement;\n private serverNameEl!: HTMLGxgComboBoxElement;\n private userInterfaceLanguageEl!: HTMLGxgComboBoxElement;\n private userNameEl!: HTMLGxgFormTextElement;\n\n private gxgShortcutsEl: HTMLGxgShortcutsElement;\n\n // 3.STATE() VARIABLES //\n\n @State() createDataInKbDisabled = false;\n @State() userNameVisible = true;\n @State() passwordVisible = true;\n @State() savePasswordVisible = true;\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 /* ----- BASIC DATA ----- */\n\n /**\n * It allows defining the DBMS that will be used in the solution\n */\n @Prop({ mutable: true }) defaultDataSources!: GxOption[];\n\n /**\n * It allows selecting multiple generators for the front end\n */\n @Prop({ mutable: true }) frontEnds!: GxOption[];\n\n /**\n * Specify whether it is feasible to display information related to local configuration parameters\n */\n @Prop() readonly isAdvanced = false;\n\n /**\n * Default suggested path to a directory where the information related to the KB will be stored/generated\n */\n @Prop({ mutable: true }) kbLocation: string;\n\n /**\n * This is a function provided by the developer that returns a string, with the location path\n */\n @Prop() readonly selectLocationCallback!: SelectLocationCallback;\n\n /**\n * The knowledge base default suggested name\n */\n @Prop() readonly kbName: string;\n\n /**\n * It allows selecting the default environment that the KB will have (additional environments can be created later)\n */\n @Prop() readonly prototypingEnvironments!: GxOption[];\n\n /**\n * Path to a directory where the information related to the KB will be stored/generated\n */\n @Prop() readonly prototypingTargets!: GxOption[];\n\n /**\n * Specify the language in which the application screens will be developed (default language)\n */\n @Prop() readonly userInterfaceLanguages!: GxOption[];\n\n /* ----- ADVANCED DATA ----- */\n\n /**\n * Defines the type of authentication for the connection to the previously defined database\n */\n @Prop() readonly authenticationTypes!: GxOption[];\n\n /**\n * DB Collations\n */\n @Prop() readonly collations!: GxOption[];\n\n /**\n * Disabled if the first item of the 'Server Name' combo is selected\n */\n @Prop() readonly createDataFilesInKBFolder: boolean = false;\n\n /**\n * Name of the database where we are going to persist the information of our KB\n */\n @Prop() readonly databaseName: string;\n\n /**\n * Password for the database connection. Visible if the Authentication Type is different from Windows Authentication (first item of the combo)\n */\n @Prop() readonly password: string;\n\n /**\n * Visible if something other than Windows Authentication is selected\n */\n @Prop() readonly savePassword: boolean = false;\n\n /**\n * Name of the DB server where we want to persist the information of our KB\n */\n @Prop() readonly serverNames!: GxOption[];\n\n /**\n * Username for the database connection. Visible if the Authentication Type is different from Windows Authentication (first item of the combo)\n */\n @Prop() readonly userName: string;\n\n /**\n * Username for the database connection. Visible if the Authentication Type is different from Windows Authentication (first item of the combo)\n */\n @Prop() readonly test: string;\n\n /**\n * Callback that will be invoked when the user confirms KB creation (‘Create’ button)\n */\n @Prop() readonly createCallback: CreateCallback;\n\n /**\n * Callback invoked when the user wants to cancel KB creation (‘Cancel’ button)\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when the user wants to cancel KB creation (‘Cancel’ button)\n */\n @Prop() readonly getDataSourcesCallback: GetDataSourcesCallback;\n\n /**\n * Callback invoked when the user changes the prototyping environment, allowing for the modification of the list of front ends\n */\n @Prop() readonly getFrontEndsCallback: GetFrontEndsCallback;\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() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateCreateDataInKbDisabled(null);\n this.evaluateAuthenticationType(null);\n this.previousFrontEndsState = this.frontEnds;\n }\n\n componentDidLoad() {\n this.initialSetup();\n this.kbNameEl.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 * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.gxgShortcutsEl.suspend = true;\n } else {\n this.gxgShortcutsEl.suspend = false;\n }\n }\n\n // 9.LOCAL METHODS //\n\n // 9.LOCAL METHODS -> Helpers //\n\n private initialSetup = () => {\n this.updateSelectedFrontEndsIds();\n };\n\n // 9.LOCAL METHODS -> Not Helpers //\n\n private updateSelectedFrontEndsIds = () => {\n this.selectedFrontEndsIds = [];\n this.frontEndsEl.getValues().then(frontEndsCheckboxesInfo => {\n frontEndsCheckboxesInfo.forEach(frontEnd => {\n if (frontEnd.value) {\n this.selectedFrontEndsIds.push(frontEnd.id);\n }\n });\n });\n };\n\n /**\n * @description If Server Name first option is selected, \"Create Data in Knowledge Base Folder\" should be disabled\n */\n private evaluateCreateDataInKbDisabled = (\n e: CustomEvent<ComboBoxItemValue> | null\n ) => {\n if (e) {\n if (this.serverNames[0]?.id === e.detail) {\n this.createDataInKbDisabled = true;\n } else {\n this.createDataInKbDisabled = false;\n }\n } else if (this.serverNames[0]?.selected) {\n this.createDataInKbDisabled = true;\n }\n };\n\n /**\n * @description if \"Authentication Type\" is \"Windows Authentication\" then User Name, Password, and Save Password should not be visible.\n */\n private evaluateAuthenticationType = (\n e: CustomEvent<ComboBoxItemValue> | null\n ) => {\n let selectedOption;\n if (this.authenticationTypes?.length) {\n selectedOption =\n this.authenticationTypes?.find(item => item.selected) ||\n this.authenticationTypes[0];\n }\n const conditionA = e?.detail === \"windows-authentication\";\n const conditionB =\n selectedOption && selectedOption.id === \"windows-authentication\";\n\n if (conditionA || (conditionB && e === null)) {\n this.userNameVisible = false;\n this.passwordVisible = false;\n this.savePasswordVisible = false;\n } else {\n this.userNameVisible = true;\n this.passwordVisible = true;\n this.savePasswordVisible = true;\n }\n };\n\n /**\n * @description It allows defining the DBMS that will be used in the solution\n */\n private selectLocationHandler = (): void => {\n this.selectLocationCallback().then(kbLocation => {\n if (kbLocation) {\n this.kbLocation = kbLocation;\n } else {\n // to be defined\n }\n });\n };\n\n /**\n * @description it evaluates what front end options need to be updated on 'getFrontEndsCallback', by comparing the new state (getFrontEndsCallback promise result) and the previous state (previousFrontEndsState)\n */\n private updateFrontEnds = () => {\n if (this.getFrontEndsCallback) {\n const selectedPrototypingEnvironmentId =\n this.prototypingEnvironmentEl.value;\n const updatedFrontEndsPromise: Promise<GxOption[]> =\n this.getFrontEndsCallback(selectedPrototypingEnvironmentId);\n updatedFrontEndsPromise\n .then(newFrontEndsOptions => {\n const updatedFrontEnds: GxOption[] = [];\n newFrontEndsOptions.forEach(newFrontEnd => {\n const foundActualFrontEnd = this.frontEnds.find(actualFrontEnd => {\n return newFrontEnd.id === actualFrontEnd.id;\n });\n if (foundActualFrontEnd) {\n // update newFrontEnd checked status with actual frontEnd checked status\n newFrontEnd.checked = foundActualFrontEnd.checked;\n }\n updatedFrontEnds.push(newFrontEnd);\n });\n this.frontEnds = updatedFrontEnds;\n })\n .catch(() => {\n // to do\n });\n }\n };\n\n private getDataSources = (): void => {\n if (this.getDataSourcesCallback) {\n const selectedPrototypingEnvironmentId =\n this.prototypingEnvironmentEl.value;\n const selectedPrototypingTargetId = this.prototypingTargetEl.value;\n const updatedDefaultDataSourcesPromise: Promise<GxOption[]> =\n this.getDataSourcesCallback(\n selectedPrototypingEnvironmentId,\n selectedPrototypingTargetId\n );\n updatedDefaultDataSourcesPromise\n .then(result => {\n if (result.length > 0) {\n this.defaultDataSources = result;\n // set first option as selected\n this.dataSourceEl.value = this.defaultDataSources[0].id;\n }\n })\n .catch(() => {\n // to do\n });\n }\n };\n\n private prototypingEnvironmentValueChangedHandler = (): void => {\n this.getDataSources();\n this.updateFrontEnds();\n };\n\n private prototypingTargetValueChangedHandler = (): void => {\n this.getDataSources();\n };\n\n private createKbHandler = (): void => {\n if (this.createCallback) {\n const createCallbackPromise = this.createCallback({\n kbName: this.kbNameEl?.value,\n kbLocation: this.locationEl?.value,\n prototypingTarget: this.prototypingTargetEl?.value,\n userInterfaceLanguage: this.userInterfaceLanguageEl?.value,\n prototypingEnvironment: this.prototypingEnvironmentEl?.value,\n dataSource: this.dataSourceEl?.value,\n frontEnds: this.selectedFrontEndsIds,\n serverName: this.serverNameEl?.value,\n databaseName: this.databaseNameEl?.value,\n collation: this.collationEl?.value,\n createDataFilesInKBFolder: this.createDataFilesInKBFolderEl?.checked,\n authenticationType: this.authenticationTypeEl?.value,\n userName: this.userNameEl?.value,\n password: this.passwordEl?.value,\n savePassword: this.savePasswordEl?.checked\n });\n\n createCallbackPromise.then((formSubmitResult: FormSubmitResult) => {\n formSubmitValidation(formSubmitResult, this);\n });\n }\n };\n\n private cancelKbHandler = (): void => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n private renderTabBasic = (): Element => {\n return (\n <gxg-tab\n tab=\"basic\"\n no-padding\n flexContainer\n isSelected={!this.isAdvanced}\n >\n <div class=\"basic-row-first\">\n {/* #prototyping target*/}\n <div class=\"basic-row-first__container\">\n <gxg-combo-box\n disableFilter\n toolTip={config.tooltip}\n label={this._componentLocale.tabBasic.prototypingTarget.label}\n value={getSelectedGxOption(this.prototypingTargets)}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.prototypingTargetEl = el as HTMLGxgComboBoxElement)\n }\n disabled={this.prototypingTargets.length === 0}\n placeholder={\n this.prototypingTargets.length === 0\n ? this._componentLocale.tabBasic.prototypingTarget\n .disabledPlaceholder\n : \"\"\n }\n onValueChanged={this.prototypingTargetValueChangedHandler}\n class=\"prototyping-target\"\n part=\"prototyping-target\"\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.prototypingTargets,\n \"prototyping-target\"\n )}\n </gxg-combo-box>\n\n {/* #user interface language */}\n <gxg-combo-box\n disableFilter\n toolTip={config.tooltip}\n label={this._componentLocale.tabBasic.userInterfaceLanguage.label}\n value={getSelectedGxOption(this.userInterfaceLanguages)}\n placeholder={\n this.userInterfaceLanguages.length === 0\n ? this._componentLocale.tabBasic.userInterfaceLanguage\n .disabledPlaceholder\n : \"\"\n }\n disabled={this.userInterfaceLanguages.length === 0}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.userInterfaceLanguageEl = el as HTMLGxgComboBoxElement)\n }\n class=\"user-interface-language\"\n part=\"user-interface-language\"\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.userInterfaceLanguages,\n \"user-interface-language\"\n )}\n </gxg-combo-box>\n </div>\n </div>\n\n <div class=\"grid basic-row-second\">\n <gx-ide-container\n containerTitle={this._componentLocale.tabBasic.backEnd.backEndLabel}\n contentBorderEnd\n titleType=\"secondary\"\n >\n {/* #back end */}\n {/* #prototyping environments */}\n <gxg-combo-box\n disableFilter\n toolTip={config.tooltip}\n label={\n this._componentLocale.tabBasic.backEnd.prototypingEnvironment\n .label\n }\n value={getSelectedGxOption(this.prototypingEnvironments)}\n placeholder={\n this.prototypingEnvironments.length === 0\n ? this._componentLocale.tabBasic.backEnd\n .prototypingEnvironment.disabledPlaceholder\n : \"\"\n }\n disabled={this.prototypingEnvironments.length === 0}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.prototypingEnvironmentEl = el as HTMLGxgComboBoxElement)\n }\n onValueChanged={this.prototypingEnvironmentValueChangedHandler}\n class=\"prototyping-environment\"\n part=\"prototyping-environment\"\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.prototypingEnvironments,\n \"prototyping-environment\"\n )}\n </gxg-combo-box>\n\n {/* #data source */}\n <gxg-combo-box\n label={this._componentLocale.tabBasic.backEnd.dataSource.label}\n toolTip={config.tooltip}\n disableFilter\n value={getSelectedGxOption(this.defaultDataSources)}\n placeholder={\n this.defaultDataSources.length === 0\n ? this._componentLocale.tabBasic.backEnd.dataSource\n .disabledPlaceholder\n : \"\"\n }\n disabled={this.defaultDataSources.length === 0}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.dataSourceEl = el as HTMLGxgComboBoxElement)\n }\n class=\"data-source\"\n part=\"data-source\"\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.defaultDataSources,\n \"data-source\"\n )}\n </gxg-combo-box>\n </gx-ide-container>\n\n {/* #front end */}\n <gx-ide-container\n containerTitle={\n this._componentLocale.tabBasic.frontEnd.frontEndLabel\n }\n titleType=\"secondary\"\n >\n <gxg-form-checkbox-group\n checkboxesLabelSize=\"large\"\n ref={el =>\n (this.frontEndsEl = el as HTMLGxgFormCheckboxGroupElement)\n }\n onGroupValuesChanged={this.updateSelectedFrontEndsIds}\n >\n {renderFormItems(\n \"gxg-form-checkbox\",\n this.frontEnds,\n \"front-end\"\n )}\n </gxg-form-checkbox-group>\n </gx-ide-container>\n </div>\n </gxg-tab>\n );\n };\n\n private renderTabAdvanced = (): Element => {\n return (\n <gxg-tab tab=\"advanced\" no-padding flexContainer>\n <gx-ide-container\n noContentPadding\n containerTitle={this._componentLocale.tabAdvanced.tabTitle}\n titleType=\"secondary\"\n >\n <div class=\"knowledge-base-storage\">\n <div class=\"knowledge-base-storage__col-left\">\n {/* #server name */}\n <gxg-combo-box\n label={this._componentLocale.tabAdvanced.serverName.label}\n disableFilter\n toolTip={config.tooltip}\n value={getSelectedGxOption(this.serverNames)}\n placeholder={\n this.serverNames.length === 0\n ? this._componentLocale.tabAdvanced.serverName\n .disabledPlaceholder\n : \"\"\n }\n disabled={this.serverNames.length === 0}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.serverNameEl = el as HTMLGxgComboBoxElement)\n }\n class=\"server-name-combo-box\"\n part=\"server-name\"\n onValueChanged={this.evaluateCreateDataInKbDisabled}\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.serverNames,\n \"server-name\"\n )}\n </gxg-combo-box>\n\n {/* #search icon button */}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/search\"\n class=\"server-name-button\"\n part=\"search-server-name\"\n ></gxg-button>\n\n {/* #database name */}\n <gxg-form-text\n labelPosition=\"above\"\n label={this._componentLocale.tabAdvanced.databaseName.label}\n placeholder=\"MyDatabase\"\n ref={(el: HTMLGxgFormTextElement) =>\n (this.databaseNameEl = el as HTMLGxgFormTextElement)\n }\n toolTip={config.tooltip}\n value={this.databaseName}\n class=\"database-name\"\n part=\"database-name\"\n ></gxg-form-text>\n\n {/* #collation */}\n <gxg-combo-box\n label={this._componentLocale.tabAdvanced.collation.label}\n disableFilter\n toolTip={config.tooltip}\n value={getSelectedGxOption(this.collations)}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.collationEl = el as HTMLGxgComboBoxElement)\n }\n placeholder={\n this.collations.length === 0\n ? this._componentLocale.tabAdvanced.collation\n .disabledPlaceholder\n : \"\"\n }\n disabled={this.serverNames.length === 0}\n class=\"collation-combo-box\"\n part=\"collation\"\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.collations,\n \"collation\"\n )}\n </gxg-combo-box>\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n class=\"collation-button\"\n part=\"reset-collation\"\n ></gxg-button>\n\n {/* #create data in knowledge base folder */}\n <gxg-form-checkbox\n label={\n this._componentLocale.tabAdvanced.createDataFilesInKbFolder\n }\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.createDataFilesInKBFolderEl =\n el as HTMLGxgFormCheckboxElement)\n }\n alignTop\n checked={this.createDataFilesInKBFolder}\n disabled={this.createDataInKbDisabled}\n class=\"create-data-in-kb\"\n part=\"create-data-in-kb\"\n ></gxg-form-checkbox>\n </div>\n\n <div\n class={{\n \"knowledge-base-storage__col-right\": true,\n \"knowledge-base-storage__col-right--windows-authentication\":\n !this.userNameVisible\n }}\n >\n {/* #authentication type */}\n <gxg-combo-box\n label={\n this._componentLocale.tabAdvanced.authenticationType.label\n }\n disableFilter\n toolTip={config.tooltip}\n value={getSelectedGxOption(this.authenticationTypes)}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.authenticationTypeEl = el as HTMLGxgComboBoxElement)\n }\n placeholder={\n this.authenticationTypes.length === 0\n ? this._componentLocale.tabAdvanced.authenticationType\n .disabledPlaceholder\n : \"\"\n }\n disabled={this.authenticationTypes.length === 0}\n class=\"authentication-type\"\n part=\"authentication-type\"\n onValueChanged={this.evaluateAuthenticationType}\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.authenticationTypes,\n \"authentication-type\"\n )}\n </gxg-combo-box>\n\n {/* #user name */}\n {this.userNameVisible ? (\n <gxg-form-text\n labelPosition=\"above\"\n toolTip={config.tooltip}\n label={this._componentLocale.tabAdvanced.userName.label}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.userNameEl = el as HTMLGxgFormTextElement)\n }\n value={this.userName}\n class=\"user-name\"\n part=\"user-name\"\n ></gxg-form-text>\n ) : null}\n\n {/* #password */}\n {this.passwordVisible ? (\n <gxg-form-text\n labelPosition=\"above\"\n label={this._componentLocale.tabAdvanced.password.label}\n password\n toolTip={config.tooltip}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.passwordEl = el as HTMLGxgFormTextElement)\n }\n value={this.password}\n class=\"password\"\n part=\"password\"\n ></gxg-form-text>\n ) : null}\n\n {/* #save password */}\n {this.savePasswordVisible ? (\n <gxg-form-checkbox\n label={this._componentLocale.tabAdvanced.savePassword}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.savePasswordEl = el as HTMLGxgFormCheckboxElement)\n }\n checked={this.savePassword}\n class=\"save-password\"\n part=\"save-password\"\n ></gxg-form-checkbox>\n ) : null}\n </div>\n </div>\n </gx-ide-container>\n </gxg-tab>\n );\n };\n\n /** *****************************\n * 11.RENDER() FUNCTION\n ********************************/\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n <header\n class={{\n \"header\": true,\n \"grid\": true,\n \"header--is-advanced\": this.isAdvanced\n }}\n slot=\"header\"\n >\n {/* #kb name */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\" noMargin>\n {this._componentLocale.header.kbName}\n </gxg-label>\n <gxg-form-text\n labelPosition=\"start\"\n placeholder=\"SalesInventory\"\n max-width=\"100%\"\n value={this.kbName}\n toolTip={config.tooltip}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.kbNameEl = el as HTMLGxgFormTextElement)\n }\n part=\"kb-name\"\n class=\"kb-input\"\n ></gxg-form-text>\n\n {/* #location */}\n {this.isAdvanced\n ? [\n <gxg-label labelPosition=\"start\" class=\"location-label\">\n {this._componentLocale.header.kbLocation}\n </gxg-label>,\n <gxg-form-text\n labelPosition=\"start\"\n placeholder=\"C:\\Models\"\n maxWidth=\"100%\"\n value={this.kbLocation}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.locationEl = el as HTMLGxgFormTextElement)\n }\n disabled={!this.isAdvanced}\n part=\"kb-location\"\n class=\"location-input\"\n ></gxg-form-text>,\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/folder\"\n onClick={this.selectLocationHandler}\n part=\"button-select-location\"\n class=\"location-icon\"\n ></gxg-button>\n ]\n : null}\n </header>\n\n {/* main */}\n <main class=\"gxi-full-height\">\n <gxg-tabs class=\"gxg-tabs\" noBorder>\n {this.isAdvanced ? (\n <gxg-tab-bar\n slot=\"tab-bar-container\"\n part=\"tab-bar\"\n displayBorder\n >\n <gxg-tab-button\n slot=\"tab-bar\"\n tabLabel={this._componentLocale.tabBasic.tabLabel}\n tab=\"basic\"\n is-selected\n hidden={!this.isAdvanced}\n part=\"tab-button-basic\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tabLabel={this._componentLocale.tabAdvanced.tabLabel}\n tab=\"advanced\"\n hidden={!this.isAdvanced}\n part=\"tab-button-advanced\"\n ></gxg-tab-button>\n </gxg-tab-bar>\n ) : null}\n\n {this.renderTabBasic()}\n {this.isAdvanced && this.renderTabAdvanced()}\n </gxg-tabs>\n </main>\n\n {/* footer */}\n {/* #cancel */}\n <gxg-button\n id=\"button-cancel\"\n type=\"outlined\"\n onClick={this.cancelKbHandler}\n part=\"button-cancel\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n {/* #create */}\n <gxg-button\n id=\"button-create\"\n type=\"primary-text-only\"\n onClick={this.createKbHandler}\n part=\"button-create\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCreate}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts\n src={this.shortcutsSrc}\n ref={(el: HTMLGxgShortcutsElement) =>\n (this.gxgShortcutsEl = el as HTMLGxgShortcutsElement)\n }\n ></gxg-shortcuts>\n </Host>\n );\n }\n}\nexport interface NewKBData {\n authenticationType: string;\n collation: string;\n createDataFilesInKBFolder: boolean;\n databaseName: string;\n dataSource: string;\n frontEnds: string[];\n kbLocation: string;\n kbName: string;\n password: string;\n prototypingEnvironment: string;\n prototypingTarget: string;\n savePassword: boolean;\n serverName: string;\n userInterfaceLanguage: string;\n userName: string;\n}\n\nexport type CreateCallback = (data: NewKBData) => Promise<FormSubmitResult>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type GetDataSourcesCallback = (\n selectedPrototypingEnvironmentId: string,\n selectedPrototypingTargetId: string\n) => Promise<GxOption[]>;\n\nexport type GetFrontEndsCallback = (\n selectedPrototypingEnvironmentId: string\n) => Promise<GxOption[]>;\n\nexport type SelectLocationCallback = () => Promise<string>;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["updateCss","CSS_BUNDLES","GxIdeTeamDevUpdate","this","loadDataCalledFirstTime","renderedFirstTime","onRowContextMenuHandler","grid","async","ev","objectsContextMenuCallback","preventDefault","stopPropagation","selection","chGridPendingForUpdateEl","getSelectedRows","chGridIgnoredObjectsEl","chGridResultsEl","clientX","detail","clientY","markAllPendingToUpdateRows","markAllRows","gridOnSelectionChangedCallbackHandler","selectCallback","rowsId","genexusServerUrlHandler","_a","updateFrom","serverUrl","window","open","renderOptions","h","class","part","containerTitle","_componentLocale","options","titleType","contentBorderEnd","noContentPadding","type","listName","readonly","noListBorder","icon","itemId","itemValue","undefined","onClick","knowledgeBase","kbName","version","versionName","lastFullUpdate","formatDate","scope","labelPosition","center","noMargin","objects","bold","objectScopeText","value","scopeData","toLocaleLowerCase","objectsScope","changeBtn","revision","revisionScopeText","latest","revisionScope","label","kbProperties","renderFilter","centerLabel","filter","pattern","ref","el","filterPatternEl","onInput","loadData","disabled","types","filterTypeEl","onValueChanged","id","renderComboItems","renderData","displayBorderTop","slot","displayBorder","tabs","pendingForUpdate","tab","key","isSelected","ignoredObjects","results","gxgTabButtonResultsEl","noPadding","renderPendingForUpdate","renderIgnoredObjects","renderResults","onRowContextMenu","onSelectionChanged","settingable","sortable","richRowSelector","richRowSelectorMode","size","gridCommon","colSize","maxContent","columnName","tableHead","name","description","commonDouble","modifiedOn","status","action","updateData","map","obj","rowid","src","typeIcon","renderIconState","state","notes","updateResultData","renderIconResult","result","messages","msg","msgType","text","color","filters","showFilter","isLoading","loadCallback","update","updateCallback","pendingForUpdateMarked","getMarkedRows","then","tabButtonClick","objectsScopeCallback","objectData","revisionScopeCallback","revisionData","pendingForUpdatesRowMarkingChangedHandler","e","removeEventListener","addedRowsIds","addedRowsId","removedRowsId","pendingItemCheckedResult","pendingItemsCheckedCallback","itemsChecked","itemsUnchecked","revertPendingCommitsCheckboxes","togglePendingCommitsCheckboxes","addEventListener","itemsToToggle","itemsToCheck","itemsToUncheck","rowId","markRow","componentWillLoad","Locale","getComponentStrings","componentDidLoadEvent","emit","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","componentName","reload","render","Host","model","slimmerFooter","config","gxIdeContainer","displayTitle","footer","btnUpdate"],"sources":["src/components/team-dev/update/update.scss?tag=gx-ide-team-dev-update&encapsulation=shadow","src/components/team-dev/update/update.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../../node_modules/@genexus/mercury/dist/mercury.scss\";\n\n:host {\n display: block;\n}\n\n/*--- Options Wrapper ---*/\n.options-wrapper {\n display: grid;\n grid-template-columns: 2fr 1fr;\n grid-column-gap: 0;\n grid-row-gap: 0;\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n\n .genexus-server {\n cursor: pointer;\n &:hover {\n background-color: var(--ds-item-background-color--hover);\n }\n }\n .scope {\n font-family: inherit;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--2xs);\n .row {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--mer-spacing--xs);\n .value {\n font-style: italic;\n }\n }\n }\n}\n\n/*--- Filter ---*/\n.filter-row {\n padding: 0 var(--gx-ide-container__padding) 0 var(--gx-ide-container__padding);\n display: flex;\n flex-direction: row;\n gap: var(--gx-ide-grid-row-gap);\n .combo {\n flex: 1;\n }\n}\n\n/* Data Grid*/\n.data-grid {\n grid-template-columns: repeat(3, 1fr);\n // max-height: 300px;\n // overflow-y: auto;\n > :nth-child(1) {\n grid-area: 1 / 1 / 2 / 2;\n }\n > :nth-child(2) {\n grid-area: 1 / 2 / 2 / 4;\n }\n}\n.data-panel-grid {\n grid-template-columns: repeat(2, 1fr);\n}\n.data-preview {\n img {\n max-width: 100%;\n }\n}\n.data-max-height {\n max-height: 300px;\n overflow-y: auto;\n}\n\n/* Footer Actions */\n.actions {\n justify-content: flex-end;\n}\n\n.no-border {\n border: 0;\n}\n\n.bold {\n font-weight: bold;\n}\n\n/*--- Results ---*/\nch-grid-rowset-empty {\n padding: var(--mer-spacing--2xs) var(--mer-spacing--xs);\n}\n\ngxg-tab::part(container) {\n line-height: unset;\n}\n.tabular-grid {\n block-size: 100%;\n}\n\ngx-ide-container::part(content) {\n overflow: hidden;\n}\n\n// apply ellipsis on description column\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-pending-update\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 6\n )\n);\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-results\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 6\n )\n);\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color as GxgIconColor } from \"@genexus/gemini/dist/types/components/icon/icon\";\nimport {\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\n\nimport {\n ObjectState,\n ObjectType,\n ContextMenuInfo,\n ItemsCheckedState,\n ItemsCheckedResult,\n ResultState\n} from \"../../../common/types\";\nimport { gridCommon } from \"../../../common/grid\";\nimport { renderComboItems } from \"../../../common/render-combo-items\";\nimport { formatDate } from \"../../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-team-dev-update\",\n styleUrl: \"update.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-update\"]\n})\nexport class GxIdeTeamDevUpdate {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private loadDataCalledFirstTime = false; // pending for update grid checkboxes, should be checked, after loadData has loaded objects for the first time.\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevUpdateElement;\n\n /* References needed to collect data */\n // private optionKbPropertiesEl!: HTMLGxgFormCheckboxElement;\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterTypeEl!: HTMLGxgComboBoxElement;\n private chGridPendingForUpdateEl!: HTMLChGridElement;\n private chGridIgnoredObjectsEl!: HTMLChGridElement;\n private chGridResultsEl!: HTMLChGridElement;\n private gxgTabButtonResultsEl!: HTMLGxgTabButtonElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * If the design data is loading or not, for disabled actions\n */\n @State() isLoading = false;\n\n /**\n * For show or hide advanced filters\n */\n @State() objectScopeText = \"all\";\n\n /**\n * The tab that is currently open\n */\n @State() openTab: \"pending\" | \"ignored\" | \"results\" = \"pending\";\n\n /**\n * For show or hide advanced filters\n */\n @State() revisionScopeText: string = undefined;\n\n /**\n * For show or hide advanced filters\n */\n @State() showFilter = false;\n\n /**\n * The data loaded for populate the grids\n */\n @State() updateData: UpdateData = {\n pendingForUpdate: [],\n ignoredObjects: []\n };\n\n /**\n * The data receive after user update\n */\n @State() updateResultData: UpdateResultData[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * This is a function provided by the developer that init the process of import a design.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * This is a function provided by the developer that return the information of an Image System type of data.\n */\n @Prop() readonly gridContextMenuCallback!: GridContextMenuCallback;\n\n /**\n * This is a function provided by the developer that return the list of types of data loaded from file or url.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer to call when the user makes a partial selection from button Change of Scope group.\n */\n @Prop() readonly objectsScopeCallback!: () => Promise<\"all\" | \"partial\">;\n\n /**\n * This is a function provided by the developer to call when the user clicked in server url of Update From group.\n */\n @Prop() readonly openServerCallback!: () => Promise<void>;\n\n /**\n * This is a function provided by the developer that return the information of a Font type of data.\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * This is a function provided by the developer to call when the user wants to select the revision to work on.\n */\n @Prop() readonly revisionScopeCallback!: () => Promise<string | undefined>;\n\n /**\n * Callback that should be invoked when the user activates the context menu on any of the grids. It receives the internal IDs of the selected elements and in which grid the event occurred. It should prevent the default browser context menu from appearing\n */\n @Prop() readonly objectsContextMenuCallback!: ObjectsContextMenuCallback;\n\n /**\n * Callback that should be invoked when the user selects rows from the grids\n */\n @Prop() readonly selectCallback: UpdateSelectCallback;\n\n /**\n * Possibly values for the filter type\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * This is a function provided by the developer that return the information of a Design System type of data.\n */\n @Prop() readonly updateCallback!: UpdateCallback;\n\n /**\n * Information to show in the container of group 'Update From'\n */\n @Prop() readonly updateFrom: UpdateFromData;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n async componentDidLoad() {\n await this.loadData();\n this.filterPatternEl.focus();\n }\n\n async componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n\n if (this.loadDataCalledFirstTime) {\n // call this method only once\n await this.markAllPendingToUpdateRows();\n // attach \"rowMarkingChanged\" after rows have been checked for the first time.\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n this.loadDataCalledFirstTime = false;\n }\n }\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * The method used by the host to instruct the component to force a data reload in the grids.\n */\n @Method()\n async reload() {\n this.loadData();\n }\n\n // 9.LOCAL METHODS //\n\n private onRowContextMenuHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n if (this.objectsContextMenuCallback) {\n ev.preventDefault();\n ev.stopPropagation();\n let selection: string[] = [];\n if (grid === \"pending\") {\n selection = await this.chGridPendingForUpdateEl.getSelectedRows();\n } else if (grid === \"ignored\") {\n selection = await this.chGridIgnoredObjectsEl.getSelectedRows();\n } else if (grid === \"results\") {\n selection = await this.chGridResultsEl.getSelectedRows();\n }\n await this.objectsContextMenuCallback(grid, {\n selection: selection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n };\n\n private markAllPendingToUpdateRows = () => {\n this.chGridPendingForUpdateEl.markAllRows();\n };\n\n private gridOnSelectionChangedCallbackHandler =\n (grid: UpdateSourceType) =>\n async (ev: CustomEvent<TabularGridSelectionChangedEvent>) => {\n if (this.selectCallback) {\n await this.selectCallback(grid, ev.detail.rowsId);\n }\n };\n\n private genexusServerUrlHandler = () => {\n if (this.updateFrom?.serverUrl) {\n window.open(this.updateFrom.serverUrl);\n }\n };\n\n private renderOptions = (): Element => {\n return (\n <div class=\"options-wrapper\">\n {/* genexus server*/}\n <gx-ide-container\n part=\"options-update-from\"\n containerTitle={this._componentLocale.options.updateFrom}\n titleType=\"secondary\"\n contentBorderEnd\n noContentPadding\n >\n <gx-ide-list-selector\n type=\"single-selection\"\n listName=\"commit-recent-messages\"\n readonly\n noListBorder\n >\n {/* genexus server*/}\n <gx-ide-list-selector-item\n icon=\"window-tools/genexus-cloud\"\n itemId=\"genexus-server\"\n itemValue={undefined}\n class=\"genexus-server\"\n onClick={this.genexusServerUrlHandler}\n >\n {`${this._componentLocale.options.updateFrom}:`}\n <gxg-text type=\"text-link\">\n {this.updateFrom ? this.updateFrom.serverUrl : \"\"}\n </gxg-text>\n </gx-ide-list-selector-item>\n\n {/* knowledge base*/}\n <gx-ide-list-selector-item\n icon=\"general/knowledge-base\"\n itemId=\"knowledge-base\"\n itemValue={`${this._componentLocale.options.knowledgeBase}: ${\n this.updateFrom ? this.updateFrom.kbName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* version */}\n <gx-ide-list-selector-item\n icon=\"general/version\"\n itemId=\"version\"\n itemValue={`${this._componentLocale.options.version}: ${\n this.updateFrom ? this.updateFrom.versionName : \"\"\n }`}\n ></gx-ide-list-selector-item>\n\n {/* last full update */}\n <gx-ide-list-selector-item\n icon=\"window-tools/last-changes-view\"\n itemId=\"last-full-update\"\n itemValue={`${\n this._componentLocale.options.lastFullUpdate\n }:${formatDate(this.updateFrom.lastFullUpdate)}`}\n ></gx-ide-list-selector-item>\n </gx-ide-list-selector>\n </gx-ide-container>\n\n {/* scope*/}\n <gx-ide-container\n part=\"options-scope\"\n containerTitle={this._componentLocale.options.scope}\n titleType=\"secondary\"\n >\n <div class=\"scope\">\n {/* Objects*/}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.objects}:\n </gxg-label>\n <span\n class={{\n bold: this.objectScopeText === \"partial\",\n value: true\n }}\n >\n {\n this._componentLocale.options.scopeData.objects[\n this.objectScopeText.toLocaleLowerCase()\n ]\n }\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.objectsScope}\n part=\"gxg-button gxg-button--scope-objects-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Revision */}\n <div class=\"row\">\n <gxg-label labelPosition=\"start\" center noMargin>\n {this._componentLocale.options.revision}:\n </gxg-label>\n <span\n class={{\n bold: this.revisionScopeText !== undefined,\n value: true\n }}\n >\n {this.revisionScopeText === undefined\n ? this._componentLocale.options.scopeData.revision.latest\n : this.revisionScopeText}\n </span>\n <gxg-text\n type=\"text-link\"\n onClick={this.revisionScope}\n part=\"gxg-button gxg-button--scope-revision-change\"\n >\n {this._componentLocale.options.changeBtn}\n </gxg-text>\n </div>\n\n {/* Kb Properties */}\n <div class=\"row\">\n <gxg-form-checkbox\n label={this._componentLocale.options.kbProperties}\n class=\"align-center\"\n part=\"option-kb-properties\"\n ></gxg-form-checkbox>\n </div>\n </div>\n </gx-ide-container>\n </div>\n );\n };\n\n private renderFilter = (): Element => {\n return (\n <div\n class={{\n \"filter-row\": true\n }}\n >\n {/* pattern*/}\n <gxg-form-text\n label-position=\"start\"\n centerLabel\n label={this._componentLocale.filter.pattern}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n part=\"filter-pattern\"\n onInput={this.loadData}\n class=\"combo\"\n ></gxg-form-text>\n\n {/* type */}\n <gxg-combo-box\n label-position=\"start\"\n centerLabel\n disable-filter\n label={this._componentLocale.filter.type}\n disabled={!this.types}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterTypeEl = el as HTMLGxgComboBoxElement)\n }\n onValueChanged={this.loadData}\n part=\"filter-type\"\n value={this.types[0].id}\n class=\"combo\"\n >\n {renderComboItems(this.types)}\n </gxg-combo-box>\n\n {/* load data */}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.loadData}\n part=\"gxg-button gxg-button--reload\"\n class=\"button\"\n ></gxg-button>\n </div>\n );\n };\n\n private renderData = (): Element => {\n return (\n <gx-ide-container\n part=\"data-container\"\n noContentPadding\n class=\"gxi-overflow-auto\"\n displayBorderTop\n >\n <gxg-tabs id=\"dataTabs\" part=\"data-tabs\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.pendingForUpdate}\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n isSelected={true}\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.ignoredObjects}\n tab=\"ignoredObjects\"\n key=\"ignoredObjects\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.results}\n tab=\"results\"\n key=\"results\"\n ref={(el: HTMLGxgTabButtonElement) =>\n (this.gxgTabButtonResultsEl = el)\n }\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab\n tab=\"pendingForUpdate\"\n key=\"pendingForUpdate\"\n noPadding\n isSelected={true}\n >\n {this.renderPendingForUpdate()}\n </gxg-tab>\n <gxg-tab tab=\"ignoredObjects\" key=\"ignoredObjects\" noPadding>\n {this.renderIgnoredObjects()}\n </gxg-tab>\n <gxg-tab tab=\"results\" key=\"results\" noPadding>\n {this.renderResults()}\n </gxg-tab>\n </gxg-tabs>\n </gx-ide-container>\n );\n };\n\n private renderPendingForUpdate = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-pending-update\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridPendingForUpdateEl = el)\n }\n part=\"ch-tabular-grid-pending-for-updates\"\n onRowContextMenu={this.onRowContextMenuHandler(\"pending\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"pending\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"rich\"\n richRowSelector\n richRowSelectorMode=\"mark\"\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n size={gridCommon.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.modifiedOn}\n settingable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.status}\n settingable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.action}\n settingable={false}\n size={gridCommon.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.pendingForUpdate.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector\n class=\"tabular-grid-cell\"\n ></ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.status}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.action}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIgnoredObjects = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridIgnoredObjectsEl = el)\n }\n part=\"ch-grid-ignored-objects\"\n onRowContextMenu={this.onRowContextMenuHandler(\"ignored\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"ignored\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n size=\"min-content\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateData.ignoredObjects.map((obj: ModifiedObject) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderResults = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-results\"\n row-selection-mode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) => (this.chGridResultsEl = el)}\n part=\"ch-tabular-grid-results\"\n onRowContextMenu={this.onRowContextMenuHandler(\"results\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"results\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n column-type=\"tree\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n sortable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.type}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.notes}\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.updateResultData.map((obj: UpdateResultData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconResult(obj.result)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.notes}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-rowset>\n {obj.messages.map(msg => {\n let msgType;\n switch (msg.type) {\n case \"info\":\n msgType = \"text-alert-info\";\n break;\n case \"success\":\n msgType = \"text-alert-success\";\n break;\n case \"warning\":\n msgType = \"text-alert-warning\";\n break;\n case \"error\":\n msgType = \"text-alert-error\";\n break;\n }\n return (\n <ch-tabular-grid-rowset-empty>\n <gxg-text type={msgType as any}>{msg.text}</gxg-text>\n </ch-tabular-grid-rowset-empty>\n );\n })}\n </ch-tabular-grid-rowset>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderIconState = (state: ObjectState): Element => {\n let type: string;\n\n switch (state) {\n case \"modified\":\n type = \"gx-server/changes-commit-pending\";\n break;\n case \"inserted\":\n type = \"gx-server/new\";\n break;\n case \"deleted\":\n type = \"gx-server/delete\";\n break;\n case \"conflicted\":\n type = \"gx-server/conflict\";\n break;\n }\n return <ch-image class=\"icon-md\" src={type}></ch-image>;\n };\n\n private renderIconResult = (result: ResultState): Element => {\n let type: string;\n let color: GxgIconColor;\n switch (result) {\n case \"info\":\n type = \"gemini-tools/notice\";\n color = \"primary-active\";\n break;\n case \"success\":\n type = \"gemini-tools/success\";\n color = \"success\";\n break;\n case \"warning\":\n type = \"gemini-tools/warning\";\n color = \"warning\";\n break;\n case \"error\":\n type = \"gemini-tools/error\";\n color = \"error\";\n break;\n }\n return <gxg-icon type={type} color={color}></gxg-icon>;\n };\n\n private loadData = async (): Promise<void> => {\n const filters: FiltersData = {\n pattern: this.showFilter ? this.filterPatternEl.value : null,\n type: this.showFilter ? this.filterTypeEl.value : null\n };\n // this.updateData = null;\n this.isLoading = true;\n this.updateData = await this.loadCallback(filters);\n this.isLoading = false;\n if (!this.loadDataCalledFirstTime) {\n /* this allows checking the pending commits checkboxes on first load*/\n this.loadDataCalledFirstTime = true;\n }\n };\n\n private update = async (): Promise<void> => {\n if (this.updateCallback) {\n const pendingForUpdateMarked =\n await this.chGridPendingForUpdateEl.getMarkedRows();\n this.updateCallback(pendingForUpdateMarked).then(\n (updateResultData: UpdateResultData[]) => {\n this.updateResultData = updateResultData;\n this.gxgTabButtonResultsEl.tabButtonClick();\n }\n );\n }\n };\n\n private objectsScope = (): void => {\n if (this.objectsScopeCallback) {\n this.objectsScopeCallback().then(objectData => {\n if (objectData) {\n this.objectScopeText = objectData;\n }\n });\n }\n };\n\n private revisionScope = (): void => {\n if (this.revisionScopeCallback) {\n this.revisionScopeCallback().then(revisionData => {\n this.revisionScopeText = revisionData;\n });\n }\n };\n\n private pendingForUpdatesRowMarkingChangedHandler = async (\n e: CustomEvent<TabularGridMarkingChangedEvent>\n ): Promise<void> => {\n // remove \"rowMarkingChanged\" until checkboxes have been added/removed on togglePendingCommitsCheckboxes, to prevent loops.\n this.chGridPendingForUpdateEl.removeEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n if (this.chGridPendingForUpdateEl) {\n const addedRowsIds = e.detail.addedRowsId;\n const removedRowsId = e.detail.removedRowsId;\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n }\n this.chGridPendingForUpdateEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingForUpdatesRowMarkingChangedHandler\n );\n };\n\n private togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.chGridPendingForUpdateEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n }\n };\n\n private revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.chGridPendingForUpdateEl) {\n for (const rowId of addedRowsIds) {\n await this.chGridPendingForUpdateEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.chGridPendingForUpdateEl.markRow(rowId, true);\n }\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n displayBorderTop\n noContentPadding\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {this.renderOptions()}\n {this.renderFilter()}\n {this.renderData()}\n\n <gxg-button\n id=\"button-update\"\n type=\"primary-text-only\"\n onClick={this.update}\n part=\"gxg-button gxg-button--update\"\n disabled={this.isLoading}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnUpdate}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadCallback = (filters: FiltersData) => Promise<UpdateData>;\n\nexport type UpdateCallback = (\n selection: string[]\n) => Promise<UpdateResultData[]>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type UpdateSelectCallback = (\n grid: UpdateSourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type UpdateSourceType = \"pending\" | \"ignored\" | \"results\";\n\nexport type GridContextMenuCallback = (\n selection: string[],\n grid: \"update\" | \"ignored\" | \"results\"\n) => Promise<void>;\n\nexport type ObjectsContextMenuCallback = (\n source: UpdateSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ConfirmCallback = (data: any) => Promise<boolean>;\n\nexport interface UpdateFromData {\n serverUrl: string;\n kbName: string;\n versionName: string;\n lastFullUpdate: Date;\n}\nexport interface FiltersData {\n pattern: string;\n type: string;\n}\nexport interface UpdateData {\n pendingForUpdate: ModifiedObject[];\n ignoredObjects: ModifiedObject[];\n}\nexport interface ModifiedObject {\n id: string;\n typeIcon: string;\n state?: ObjectState;\n name: string;\n type: string;\n description?: string;\n modifiedOn?: Date;\n status?: string;\n action?: string;\n}\nexport interface UpdateResultData {\n id: string;\n result: ResultState;\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: string;\n description: string;\n notes: string;\n messages: MessageData[];\n}\n\nexport interface MessageData {\n type: \"info\" | \"success\" | \"warning\" | \"error\";\n text: string;\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["renderSuggestLists","suggestData","suggestLists","length","map","list","h","label","items","item","renderSuggestListsItem","suggestItem","value","description","icon","renderIcon","iconName","color","type","slot"],"sources":["src/common/render-suggest.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport { h } from \"@stencil/core\";\nimport { SuggestItemData } from \"@genexus/chameleon-controls-library/dist/types/components/suggest/suggest-list-item/ch-suggest-list-item\";\nimport { SuggestListData } from \"@genexus/chameleon-controls-library/dist/types/components/suggest/suggest-list/ch-suggest-list\";\nimport { SuggestData } from \"@genexus/chameleon-controls-library/dist/types/components/suggest/ch-suggest\";\n\nexport const renderSuggestLists = (\n suggestData: SuggestData\n): HTMLChSuggestListElement[] => {\n if (suggestData?.suggestLists.length) {\n return suggestData.suggestLists.map(\n (list: SuggestListData): HTMLChSuggestListElement => {\n return (\n <ch-suggest-list label={list.label}>\n {list.items.map((item: SuggestItemData) => {\n return renderSuggestListsItem(item);\n })}\n </ch-suggest-list>\n );\n }\n );\n }\n return [];\n};\n\nconst renderSuggestListsItem = (\n suggestItem: SuggestItemData\n): HTMLChSuggestListItemElement => {\n return (\n <ch-suggest-list-item value={suggestItem.value}>\n {[\n suggestItem.description || suggestItem.value,\n suggestItem.icon && renderIcon(suggestItem.icon)\n ]}\n </ch-suggest-list-item>\n );\n};\n\nconst renderIcon = (iconName: string): HTMLGxgIconElement => {\n return <gxg-icon color=\"auto\" type={iconName} slot=\"icon\"></gxg-icon>;\n};\n"],"mappings":";;mEAMaA,qBACXC;EAEA,IAAIA,MAAW,QAAXA,WAAW,aAAXA,EAAaC,aAAaC,QAAQ;IACpC,OAAOF,EAAYC,aAAaE,KAC7BC,KAEGC,EAAA;MAAiBC,OAAOF,EAAKE;OAC1BF,EAAKG,MAAMJ,KAAKK,KACRC,uBAAuBD;;EAO1C,OAAO;AAAE;;AAGX,MAAMC,yBACJC,KAGEL,EAAA;EAAsBM,OAAOD,EAAYC;GACtC,EACCD,EAAYE,eAAeF,EAAYC,OACvCD,EAAYG,QAAQC,WAAWJ,EAAYG;;AAMnD,MAAMC,aAAcC,KACXV,EAAA;EAAUW,OAAM;EAAOC,MAAMF;EAAUG,MAAK"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["convertObjectDataToSuggestData","selectorCategoriesData","suggestData","suggestItems","suggestLists","length","forEach","selectorCategory","suggestList","label","name","items","objectData","suggestItem","value","id","description","icon","push","convertToTreeItem","item","caption","_a","map","lazy","hasChildren","leaf","startImgSrc","convertReferenceDataToTreeViewData","referenceData","treeData","referencesCss","CSS_BUNDLES","GxIdeReferences","this","renderedFirstTime","shortcutsSrc","getAssetPath","selectorCategoryData","selectObjectSelectionChanged","e","categoryIndex","detail","indexes","listIndex","itemIndex","selectedObject","selectObjectValueChangedHandler","async","selectorSourceCallback","then","result","objectsSuggestions","catch","openObjectCallbackHandler","openObjectCallback","openSelectorDialogCallbackHandler","openSelectorDialogCallback","evaluateInitialReferenceData","selectedObjectHandler","loadReferencesHandler","to","loadReferencesCallback","referencesToTreeData","referencedByTreeData","hideBarButtonClickedHandler","barHidden","referencesLazyLoadCallbackHandler","ref","treeItemId","referencesLazyChildren","treeLazyChildren","Promise","resolve","referenceSelectedHandler","event","selectReferenceCallback","selectedItems","referencesItemOpenReferenceCallback","itemOpened","itemId","newSelectedObject","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidLoad","selectObjectSuggestEl","focus","componentDidRender","componentDidRenderFirstTime","emit","componentName","render","h","Host","class","model","displayBorderBottom","noContentPadding","containerTitle","displayTitle","slot","type","onClick","part","labelPosition","header","selectObject","onValueChanged","onSelectionChanged","exportparts","renderSuggestLists","header__bottom","color","padding","required","main","isReferencedBy","contentBorderEnd","titleType","_b","lazyLoadTreeItemsCallback","onSelectedItemsChange","dragDisabled","dropDisabled","onItemOpenReference","showLines","_c","textAlign","config","gxgMessage","common","maxWidth","_d","isReferencedByEmpty","isReferencedByError","hasReferencesTo","_e","_f","_g","_h","hasReferencesEmpty","hasReferencesToError","src"],"sources":["src/components/references/helpers.ts","src/components/references/references.scss?tag=gx-ide-references&encapsulation=shadow","src/components/references/references.tsx"],"sourcesContent":["/* Ch Suggest*/\nimport { SuggestItemData } from \"@genexus/chameleon-controls-library/dist/types/components/suggest/suggest-list-item/ch-suggest-list-item\";\nimport { SuggestListData } from \"@genexus/chameleon-controls-library/dist/types/components/suggest/suggest-list/ch-suggest-list\";\nimport { SuggestData } from \"@genexus/chameleon-controls-library/dist/types/components/suggest/ch-suggest\";\n/* Tree View */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\n\n/* References Types*/\nimport { SelectorCategoryData } from \"./references\";\nimport { ObjectData } from \"./references\";\nimport { ReferenceData } from \"./references\";\n\n/**\n * @description This function converts SelectorCategoryData[] SuggestData\n */\nexport const convertObjectDataToSuggestData = (\n selectorCategoriesData: SelectorCategoryData[]\n): SuggestData => {\n const suggestData: SuggestData = {\n suggestItems: null,\n suggestLists: []\n };\n if (selectorCategoriesData.length) {\n selectorCategoriesData.forEach(selectorCategory => {\n const suggestList: SuggestListData = {\n label: selectorCategory.name,\n items: []\n };\n selectorCategory.items.forEach((objectData: ObjectData) => {\n const suggestItem: SuggestItemData = {\n value: objectData.id,\n description: objectData.description,\n icon: objectData.icon\n };\n suggestList.items.push(suggestItem);\n });\n suggestData.suggestLists.push(suggestList);\n });\n }\n return suggestData;\n};\n\nconst convertToTreeItem = (item: ReferenceData): TreeViewItemModel => ({\n caption: item.name,\n id: item.id,\n items: (item.items ?? []).map(convertToTreeItem),\n lazy: item.hasChildren && (item.items == null || item.items.length === 0),\n leaf: item.hasChildren === false,\n startImgSrc: item.icon\n});\n\n/**\n * @description This function converts ReferenceData[] data to TreeItemData[]\n */\nexport const convertReferenceDataToTreeViewData = (\n referenceData: ReferenceData[] | undefined\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!referenceData) {\n return treeData;\n }\n\n referenceData.forEach(item => {\n treeData.push(convertToTreeItem(item));\n });\n return treeData;\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n/*HEADER*/\n.header {\n /*Top*/\n &__top {\n grid-template-columns: min-content auto 1fr min-content;\n grid-template-rows: 1fr;\n grid-template-areas: \"hide-bar-button suggest-label gxg-suggest selector-dialog-button\";\n\n .hide-bar-button {\n grid-area: hide-bar-button;\n }\n .suggest-label {\n grid-area: suggest-label;\n }\n gxg-suggest {\n grid-area: gxg-suggest;\n }\n .selector-dialog-button {\n grid-area: selector-dialog-button;\n }\n }\n /*Bottom*/\n &__bottom {\n display: grid;\n grid-template-rows: 1fr;\n transition: var(--mer-timing--super-fast-ms) grid-template-rows;\n &--hidden {\n grid-template-rows: 0fr;\n }\n .outer-wrapper {\n overflow: hidden;\n }\n .inner-wrapper {\n padding-top: var(--gx-ide-grid-row-gap);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &__left {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-row-gap);\n }\n }\n }\n}\n/*Header hidable*/\n.header-hidden {\n .first-row {\n grid-template-columns: auto 1fr auto;\n > :nth-child(3) {\n align-self: end;\n }\n }\n\n .second-row {\n display: none;\n }\n}\n/*MAIN*/\n.main {\n display: flex;\n height: 100%;\n > * {\n flex: 1;\n }\n .reference-container {\n padding: var(--tree-container-padding);\n display: grid;\n height: 100%;\n &--no-references {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n @include gx-ide-message(\"short\");\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Watch,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport {\n TextAlign,\n TextPadding,\n TextType\n} from \"@genexus/gemini/dist/types/components/text/text\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { SuggestItemSelectedEvent } from \"@genexus/chameleon-controls-library/dist/types/components/suggest/suggest-list-item/ch-suggest-list-item\";\nimport { SuggestData } from \"@genexus/chameleon-controls-library/dist/types/components/suggest/ch-suggest\";\nimport { renderSuggestLists } from \"../../common/render-suggest\";\nimport {\n convertObjectDataToSuggestData,\n convertReferenceDataToTreeViewData\n} from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\"\n];\n\n@Component({\n tag: \"gx-ide-references\",\n styleUrl: \"references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/references\"]\n})\nexport class GxIdeReferences {\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/references/shortcuts.json`\n );\n\n /**\n * The last SelectorCategoryData[] returned by selectorSourceCallback\n */\n private selectorCategoryData: SelectorCategoryData[] = [];\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeReferencesElement;\n private selectObjectSuggestEl!: HTMLChSuggestElement;\n\n // 3.STATE() VARIABLES //\n\n @State() referencedByTreeData: TreeViewItemModel[];\n @State() referencesToTreeData: TreeViewItemModel[];\n\n /**\n * Displays or hides the header-bottom section\n */\n @State() barHidden = false;\n\n /**\n * The objects suggestions that will appear on the suggest\n */\n @State() objectsSuggestions: SuggestData;\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 * Currently selected object\n */\n @Prop({ mutable: true }) selectedObject?: ObjectData;\n @Watch(\"selectedObject\")\n selectedObjectHandler(newSelectedObject: ObjectData) {\n if (newSelectedObject.id) {\n /* update \"is referenced by*/\n this.loadReferencesHandler(newSelectedObject.id, false);\n /* update \"has references to*/\n this.loadReferencesHandler(newSelectedObject.id, true);\n }\n }\n\n /**\n * Callback invoked when user writes on object selector input, return possible options to show in autocomplete list\n */\n @Prop() readonly selectorSourceCallback?: SelectorSourceCallback;\n\n /**\n * Callback invoked when a node is expanded in any of the references panels\n */\n @Prop() readonly loadReferencesCallback?: LoadReferencesCallback;\n\n /**\n * Callback invoked when user wants to open an object\n */\n @Prop() readonly openObjectCallback?: OpenObjectCallback;\n\n /**\n * Callback invoked when user wants to show object selection dialog\n */\n @Prop() readonly openSelectorDialogCallback?: OpenSelectorDialogCallback;\n\n /**\n * Callback invoked when any item from the references panels is selected\n */\n @Prop() readonly selectReferenceCallback?: SelectReferenceCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateInitialReferenceData();\n }\n\n componentDidLoad() {\n this.selectObjectSuggestEl.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 // 9.LOCAL METHODS //\n\n /**\n * It attaches on the ch-suggest, the \"itemSelected\" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.\n */\n private selectObjectSelectionChanged = (\n e: CustomEvent<SuggestItemSelectedEvent>\n ) => {\n const categoryIndex = e.detail.indexes.listIndex;\n const itemIndex = e.detail.indexes.itemIndex;\n this.selectedObject =\n this.selectorCategoryData[categoryIndex].items[itemIndex];\n };\n\n /**\n * This handler gets fired every time the value of the 'Select Object' ch-suggest changes.\n */\n private selectObjectValueChangedHandler = async (e: CustomEvent<string>) => {\n const value = e.detail;\n this.selectorSourceCallback(value)\n .then(result => {\n this.selectorCategoryData = result;\n /* show suggestions*/\n this.objectsSuggestions = convertObjectDataToSuggestData(result);\n })\n .catch(() => {\n // to do\n });\n };\n\n private openObjectCallbackHandler = async () => {\n this.openObjectCallback(this.selectedObject.id);\n /* Returns an empty Promise*/\n };\n\n /**\n * handler that gets fired when the use clicks on the ch-suggest button (...)\n */\n private openSelectorDialogCallbackHandler = async () => {\n this.openSelectorDialogCallback()\n .then(result => {\n this.selectedObject = result;\n })\n .catch(() => {\n /* to do */\n });\n };\n\n /**\n * It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.\n */\n private evaluateInitialReferenceData = () => {\n if (this.selectedObject) {\n this.selectedObjectHandler(this.selectedObject);\n }\n };\n\n /**\n * This method invokes 'loadReferencesCallback' callback for 'Is Referenced By' and 'Has References To' panels. The second parameter \"to\" indicates if loadReferencesCallback callback should be called for \"has references to\" or \"is references by\"\n */\n private loadReferencesHandler = async (id: string, to = false) => {\n if (this.loadReferencesCallback) {\n this.loadReferencesCallback(id, to).then(result => {\n if (to) {\n this.referencesToTreeData =\n convertReferenceDataToTreeViewData(result);\n } else {\n this.referencedByTreeData =\n convertReferenceDataToTreeViewData(result);\n }\n });\n }\n };\n\n /**\n * It hides/show the bar (The header bottom section).\n */\n private hideBarButtonClickedHandler = () => {\n this.barHidden = !this.barHidden;\n };\n\n private referencesLazyLoadCallbackHandler =\n (ref: \"references-to\" | \"referenced-by\") =>\n async (treeItemId: string): Promise<TreeViewItemModel[]> => {\n if (this.loadReferencesCallback) {\n const to = ref === \"references-to\";\n const referencesLazyChildren = await this.loadReferencesCallback(\n treeItemId,\n to\n );\n const treeLazyChildren = convertReferenceDataToTreeViewData(\n referencesLazyChildren\n );\n return new Promise(resolve => {\n resolve(treeLazyChildren);\n });\n }\n return new Promise(resolve => {\n resolve([]);\n });\n };\n\n private referenceSelectedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n if (this.selectReferenceCallback) {\n const selectedItems: string[] = event.detail.map(item => item.item.id);\n this.selectReferenceCallback(selectedItems[0]);\n // returns void\n }\n };\n\n private referencesItemOpenReferenceCallback = (\n itemOpened: CustomEvent<{ id: string; leaf: boolean; metadata: string }>\n ) => {\n const itemId = itemOpened.detail.id;\n if (this.openObjectCallback) {\n this.openObjectCallback(itemId);\n // returns void\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n displayBorderBottom\n noContentPadding\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n <header class=\"header\" slot=\"header\">\n <div class=\"header__top grid\">\n {/* select object */}\n <gxg-button\n icon=\"navigation/arrow-down\"\n type=\"secondary-icon-only\"\n class=\"hide-bar-button\"\n onClick={this.hideBarButtonClickedHandler}\n part=\"toggle-bar-button\"\n ></gxg-button>\n <gxg-label\n labelPosition=\"start\"\n class=\"suggest-label\"\n part=\"select-object-label\"\n >\n {this._componentLocale.header.selectObject}\n </gxg-label>\n <gxg-suggest>\n <ch-suggest\n value={this.selectedObject.name}\n onValueChanged={this.selectObjectValueChangedHandler}\n onSelectionChanged={this.selectObjectSelectionChanged}\n part=\"object-selector-suggest\"\n exportparts=\"dropdown:select-object-dropdown\"\n ref={el =>\n (this.selectObjectSuggestEl = el as HTMLChSuggestElement)\n }\n >\n {renderSuggestLists(this.objectsSuggestions)}\n </ch-suggest>\n </gxg-suggest>\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.openSelectorDialogCallbackHandler}\n class=\"selector-dialog-button\"\n part=\"open-selector-dialog-button\"\n ></gxg-button>\n </div>\n <div\n class={{\n \"header__bottom\": true,\n \"header__bottom--hidden\": this.barHidden\n }}\n >\n <div class=\"outer-wrapper\">\n <div class=\"inner-wrapper\">\n <div class=\"inner-wrapper__left\">\n <gxg-icon\n type={this.selectedObject.icon}\n color=\"auto\"\n ></gxg-icon>\n <gxg-text\n padding=\"s\"\n type=\"text-link\"\n part=\"open-object-text-link\"\n onClick={this.openObjectCallbackHandler}\n >\n {`${this.selectedObject.name} : ${this.selectedObject.description}`}\n </gxg-text>\n </div>\n <div class=\"inner-wrapper__right gxi-hidden\">\n <gxg-form-checkbox\n id=\"references-by-type\"\n label=\"Group references by type\"\n required\n display-validation-styles\n part=\"references-type-checkbox\"\n ></gxg-form-checkbox>\n </div>\n </div>\n </div>\n </div>\n </header>\n\n <main class=\"main\">\n <gx-ide-container\n containerTitle={this._componentLocale.main.isReferencedBy}\n noContentPadding\n part=\"referenced-by-container\"\n contentBorderEnd\n titleType=\"secondary\"\n >\n {/* is referenced by*/}\n <div\n class={{\n \"reference-container\": true,\n \"reference-container--no-references\":\n !this.referencedByTreeData?.length\n }}\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencedByTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-by-tree\"\n model={this.referencedByTreeData}\n lazyLoadTreeItemsCallback={this.referencesLazyLoadCallbackHandler(\n \"referenced-by\"\n )}\n onSelectedItemsChange={this.referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencedByTreeData?.length && (\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"referenced-by-text\"\n class=\"gx-ide-message\"\n >\n {this.referencedByTreeData?.length === 0\n ? this._componentLocale.main.isReferencedByEmpty\n : this._componentLocale.main.isReferencedByError}\n </gxg-text>\n )}\n </div>\n </gx-ide-container>\n <gx-ide-container\n noContentPadding\n containerTitle={this._componentLocale.main.hasReferencesTo}\n part=\"references-to-container\"\n titleType=\"secondary\"\n >\n {/* has references to*/}\n <div\n class={{\n \"reference-container\": true,\n \"reference-container--no-references\":\n !this.referencesToTreeData?.length\n }}\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencesToTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-to-tree\"\n model={this.referencesToTreeData}\n lazyLoadTreeItemsCallback={this.referencesLazyLoadCallbackHandler(\n \"references-to\"\n )}\n onSelectedItemsChange={this.referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencesToTreeData?.length && (\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"references-to-text\"\n class=\"gx-ide-message\"\n >\n {this.referencesToTreeData?.length === 0\n ? this._componentLocale.main.hasReferencesEmpty\n : this._componentLocale.main.hasReferencesToError}\n </gxg-text>\n )}\n </div>\n </gx-ide-container>\n </main>\n </gx-ide-container>\n </div>\n <gxg-shortcuts src={this.shortcutsSrc}></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport type SelectorCategoryData = {\n name: string;\n items: ObjectData[];\n};\n\nexport type ObjectData = {\n id: string;\n typeName: string;\n icon: string;\n name: string;\n description?: string;\n};\n\nexport type ReferenceData = ObjectData & {\n hasChildren: boolean;\n items?: ReferenceData[];\n};\n\nexport type SelectorSourceCallback = (\n prefix: string\n) => Promise<SelectorCategoryData[]>;\n\nexport type LoadReferencesCallback = (\n id: string,\n to: boolean\n) => Promise<ReferenceData[]>;\n\nexport type OpenObjectCallback = (id: string) => Promise<void>;\nexport type OpenSelectorDialogCallback = () => Promise<ObjectData | undefined>;\nexport type SelectReferenceCallback = (id: string) => Promise<void>;\n"],"mappings":"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"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { r as t, h as i, H as e, g as n } from "./p-c147291f.js";
|
|
2
|
-
|
|
3
|
-
const s = ":host{display:flex;align-items:center;justify-content:center}.container{max-width:520px;margin:0 auto;gap:var(--mer-spacing--xl);opacity:0;transition:opacity var(--state-transition-speed);padding:var(--mer-spacing--md)}.container .icon-wrapper{border:var(--mer-border__width--sm) dashed var(--mer-accent__primary);border-radius:50%;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}.container__main{gap:var(--mer-spacing--sm)}.container__buttons{gap:var(--mer-spacing--xs)}.container--visible{opacity:1}.container,.container__main,.container__buttons{display:flex;align-items:center;flex-direction:column}";
|
|
4
|
-
|
|
5
|
-
const a = class {
|
|
6
|
-
constructor(i) {
|
|
7
|
-
t(this, i);
|
|
8
|
-
/*
|
|
9
|
-
INDEX:
|
|
10
|
-
1.OWN PROPERTIES
|
|
11
|
-
2.REFERENCE TO ELEMENTS
|
|
12
|
-
3.STATE() VARIABLES
|
|
13
|
-
4.PUBLIC PROPERTY API | WATCH'S
|
|
14
|
-
5.EVENTS (EMIT)
|
|
15
|
-
6.COMPONENT LIFECYCLE METHODS
|
|
16
|
-
7.LISTENERS
|
|
17
|
-
8.PUBLIC METHODS API
|
|
18
|
-
9.LOCAL METHODS
|
|
19
|
-
10.RENDER() FUNCTION
|
|
20
|
-
*/
|
|
21
|
-
// 1.OWN PROPERTIES //
|
|
22
|
-
this.transitionSpeed = 200;
|
|
23
|
-
this.stateIcon = undefined;
|
|
24
|
-
this.stateTitle = undefined;
|
|
25
|
-
this.stateDescription = undefined;
|
|
26
|
-
this.primaryButtonLabel = undefined;
|
|
27
|
-
this.secondaryButtonLabel = undefined;
|
|
28
|
-
this.display = false;
|
|
29
|
-
}
|
|
30
|
-
watchDisplayHandler(t) {
|
|
31
|
-
if (t) {
|
|
32
|
-
this.primaryButtonLabel && (this.primaryButtonEl.disabled = false);
|
|
33
|
-
this.secondaryButtonLabel && (this.secondaryButtonEl.disabled = false);
|
|
34
|
-
} else {
|
|
35
|
-
setTimeout((() => {
|
|
36
|
-
this.primaryButtonLabel && (this.primaryButtonEl.disabled = true);
|
|
37
|
-
this.secondaryButtonLabel && (this.secondaryButtonEl.disabled = true);
|
|
38
|
-
}), this.transitionSpeed);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
// 5.EVENTS (EMIT) //
|
|
42
|
-
// 6.COMPONENT LIFECYCLE METHODS //
|
|
43
|
-
componentWillLoad() {
|
|
44
|
-
this.el.style.setProperty("--state-transition-speed", `${this.transitionSpeed}ms`);
|
|
45
|
-
}
|
|
46
|
-
componentDidLoad() {
|
|
47
|
-
this.display = true;
|
|
48
|
-
}
|
|
49
|
-
// 7.LISTENERS //
|
|
50
|
-
// 8.PUBLIC METHODS API //
|
|
51
|
-
// 9.LOCAL METHODS //
|
|
52
|
-
// 10.RENDER() FUNCTION //
|
|
53
|
-
render() {
|
|
54
|
-
return i(e, null, i("div", {
|
|
55
|
-
class: {
|
|
56
|
-
container: true,
|
|
57
|
-
"container--visible": this.display
|
|
58
|
-
}
|
|
59
|
-
}, this.stateIcon ? i("span", {
|
|
60
|
-
class: "icon-wrapper"
|
|
61
|
-
}, i("gxg-icon", {
|
|
62
|
-
class: "icon",
|
|
63
|
-
type: this.stateIcon,
|
|
64
|
-
color: "mercury-primary"
|
|
65
|
-
}, this.stateTitle)) : null, i("main", {
|
|
66
|
-
class: "container__main"
|
|
67
|
-
}, this.stateTitle ? i("gx-ide-title", {
|
|
68
|
-
alignment: "center"
|
|
69
|
-
}, this.stateTitle) : null, this.stateDescription ? i("gxg-text", {
|
|
70
|
-
textAlign: "center"
|
|
71
|
-
}, this.stateDescription) : null), i("div", {
|
|
72
|
-
class: "container__buttons"
|
|
73
|
-
}, this.primaryButtonLabel ? i("gxg-button", {
|
|
74
|
-
type: "primary-text-only",
|
|
75
|
-
ref: t => this.primaryButtonEl = t
|
|
76
|
-
}, this.primaryButtonLabel) : null, this.secondaryButtonLabel ? i("gxg-button", {
|
|
77
|
-
type: "secondary-text-only",
|
|
78
|
-
ref: t => this.secondaryButtonEl = t
|
|
79
|
-
}, this.secondaryButtonLabel) : null)));
|
|
80
|
-
}
|
|
81
|
-
get el() {
|
|
82
|
-
return n(this);
|
|
83
|
-
}
|
|
84
|
-
static get watchers() {
|
|
85
|
-
return {
|
|
86
|
-
display: [ "watchDisplayHandler" ]
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
a.style = s;
|
|
92
|
-
|
|
93
|
-
export { a as gx_ide_empty_state };
|
|
94
|
-
//# sourceMappingURL=p-6d9841c4.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["gxIdeEmptyStateCss","GxIdeEmptyState","this","transitionSpeed","watchDisplayHandler","display","primaryButtonLabel","primaryButtonEl","disabled","secondaryButtonLabel","secondaryButtonEl","setTimeout","componentWillLoad","el","style","setProperty","componentDidLoad","render","h","Host","class","container","stateIcon","type","color","stateTitle","alignment","stateDescription","textAlign","ref"],"sources":["src/components/_helpers/empty-state/gx-ide-empty-state.scss?tag=gx-ide-empty-state&encapsulation=shadow","src/components/_helpers/empty-state/gx-ide-empty-state.tsx"],"sourcesContent":[":host {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.container {\n max-width: 520px;\n margin: 0 auto;\n gap: var(--mer-spacing--xl);\n opacity: 0;\n transition: opacity var(--state-transition-speed);\n padding: var(--mer-spacing--md);\n\n .icon-wrapper {\n border: var(--mer-border__width--sm) dashed var(--mer-accent__primary);\n border-radius: 50%;\n min-width: 40px;\n min-height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &__main {\n gap: var(--mer-spacing--sm);\n }\n &__buttons {\n gap: var(--mer-spacing--xs);\n }\n &--visible {\n opacity: 1;\n }\n}\n.container,\n.container__main,\n.container__buttons {\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n","import { Component, Host, h, Prop, Watch, Element } from \"@stencil/core\";\n\n@Component({\n tag: \"gx-ide-empty-state\",\n styleUrl: \"gx-ide-empty-state.scss\",\n shadow: true\n})\nexport class GxIdeEmptyState {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n private transitionSpeed: number = 200;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeEmptyStateElement;\n private primaryButtonEl!: HTMLGxgButtonElement;\n private secondaryButtonEl!: HTMLGxgButtonElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The state icon\n */\n @Prop() readonly stateIcon?: string;\n\n /**\n * The state title\n */\n @Prop() readonly stateTitle!: string;\n\n /**\n * The state description\n */\n @Prop() readonly stateDescription?: string;\n\n /**\n * The button primary label\n */\n @Prop() readonly primaryButtonLabel?: string;\n\n /**\n * The button secondary label\n */\n @Prop() readonly secondaryButtonLabel?: string;\n\n /**\n * If true, it will display the content\n */\n @Prop({ mutable: true }) display: boolean = false;\n @Watch(\"display\")\n watchDisplayHandler(display: boolean) {\n if (display) {\n this.primaryButtonLabel && (this.primaryButtonEl.disabled = false);\n this.secondaryButtonLabel && (this.secondaryButtonEl.disabled = false);\n } else {\n setTimeout(() => {\n this.primaryButtonLabel && (this.primaryButtonEl.disabled = true);\n this.secondaryButtonLabel && (this.secondaryButtonEl.disabled = true);\n }, this.transitionSpeed);\n }\n }\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n componentWillLoad() {\n this.el.style.setProperty(\n \"--state-transition-speed\",\n `${this.transitionSpeed}ms`\n );\n }\n\n componentDidLoad() {\n this.display = true;\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host>\n <div class={{ \"container\": true, \"container--visible\": this.display }}>\n {this.stateIcon ? (\n <span class=\"icon-wrapper\">\n <gxg-icon\n class=\"icon\"\n type={this.stateIcon}\n color=\"mercury-primary\"\n >\n {this.stateTitle}\n </gxg-icon>\n </span>\n ) : null}\n <main class=\"container__main\">\n {this.stateTitle ? (\n <gx-ide-title alignment=\"center\">{this.stateTitle}</gx-ide-title>\n ) : null}\n {this.stateDescription ? (\n <gxg-text textAlign=\"center\">{this.stateDescription}</gxg-text>\n ) : null}\n </main>\n <div class=\"container__buttons\">\n {this.primaryButtonLabel ? (\n <gxg-button\n type=\"primary-text-only\"\n ref={el => (this.primaryButtonEl = el as HTMLGxgButtonElement)}\n >\n {this.primaryButtonLabel}\n </gxg-button>\n ) : null}\n {this.secondaryButtonLabel ? (\n <gxg-button\n type=\"secondary-text-only\"\n ref={el =>\n (this.secondaryButtonEl = el as HTMLGxgButtonElement)\n }\n >\n {this.secondaryButtonLabel}\n </gxg-button>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":";;AAAA,MAAMA,IAAqB;;MCOdC,IAAe;;;;;;;;;;;;;;;;;QAiBlBC,KAAAC,kBAA0B;;;;;;mBAwCU;;EAE5C,mBAAAC,CAAoBC;IAClB,IAAIA,GAAS;MACXH,KAAKI,uBAAuBJ,KAAKK,gBAAgBC,WAAW;MAC5DN,KAAKO,yBAAyBP,KAAKQ,kBAAkBF,WAAW;WAC3D;MACLG,YAAW;QACTT,KAAKI,uBAAuBJ,KAAKK,gBAAgBC,WAAW;QAC5DN,KAAKO,yBAAyBP,KAAKQ,kBAAkBF,WAAW;AAAK,UACpEN,KAAKC;;;;;EAQZ,iBAAAS;IACEV,KAAKW,GAAGC,MAAMC,YACZ,4BACA,GAAGb,KAAKC;;EAIZ,gBAAAa;IACEd,KAAKG,UAAU;;;;;;EAWjB,MAAAY;IACE,OACEC,EAACC,GAAI,MACHD,EAAA;MAAKE,OAAO;QAAEC,WAAa;QAAM,sBAAsBnB,KAAKG;;OACzDH,KAAKoB,YACJJ,EAAA;MAAME,OAAM;OACVF,EAAA;MACEE,OAAM;MACNG,MAAMrB,KAAKoB;MACXE,OAAM;OAELtB,KAAKuB,eAGR,MACJP,EAAA;MAAME,OAAM;OACTlB,KAAKuB,aACJP,EAAA;MAAcQ,WAAU;OAAUxB,KAAKuB,cACrC,MACHvB,KAAKyB,mBACJT,EAAA;MAAUU,WAAU;OAAU1B,KAAKyB,oBACjC,OAENT,EAAA;MAAKE,OAAM;OACRlB,KAAKI,qBACJY,EAAA;MACEK,MAAK;MACLM,KAAKhB,KAAOX,KAAKK,kBAAkBM;OAElCX,KAAKI,sBAEN,MACHJ,KAAKO,uBACJS,EAAA;MACEK,MAAK;MACLM,KAAKhB,KACFX,KAAKQ,oBAAoBG;OAG3BX,KAAKO,wBAEN"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
const n = {
|
|
2
|
-
colSize: {
|
|
3
|
-
minContent: "min-content",
|
|
4
|
-
maxContent: "max-content",
|
|
5
|
-
auto: "auto",
|
|
6
|
-
common: "minmax(100px, 1fr)",
|
|
7
|
-
commonDouble: "minmax(150px, 2fr)",
|
|
8
|
-
description: "250px"
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export { n as g };
|
|
13
|
-
//# sourceMappingURL=p-720702e4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["gridCommon","colSize","minContent","maxContent","auto","common","commonDouble","description"],"sources":["src/common/grid.ts"],"sourcesContent":["export const gridCommon = {\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 }\n};\n"],"mappings":"MAAaA,IAAa;EACxBC,SAAS;IACPC,YAAY;IACZC,YAAY;IACZC,MAAM;IACNC,QAAQ;IACRC,cAAc;IACdC,aAAa"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["shareKbCss","AUTHENTICATION_TYPE","GxIdeShareKb","this","renderedFirstTime","shortcutsSrc","getAssetPath","createKBCallbackHandler","async","kbData","name","kbNameEl","value","serverUrl","serverUrlEl","authenticationType","authTypeEl","user","userNameEl","password","passwordEl","createCallbackPromise","createKBCallback","then","formSubmitResult","formSubmitValidation","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","emit","componentName","render","h","Host","class","containerTitle","displayTitle","slimmerFooter","config","gxIdeContainer","labelPosition","noMargin","main","kbName","placeholder","toolTip","tooltip","ref","part","disableFilter","enableCustomServer","strict","serverUrls","renderFormItems","map","item","id","label","authentication","userName","slot","type","icon","onClick","footer","shareBtn","src"],"sources":["src/components/share-kb/share-kb.scss?tag=gx-ide-share-kb&encapsulation=shadow","src/components/share-kb/share-kb.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n\n.main {\n display: grid;\n column-gap: var(--gx-ide-grid-column-gap);\n row-gap: var(--gx-ide-grid-row-gap);\n grid-template-columns: auto 1fr;\n grid-template-areas:\n \"kb-label kb-input \"\n \"server-label server-input\"\n \"auth-type-label auth-type-input\"\n \"user-name-label user-name-input\"\n \"password-label password-input\";\n\n .kb-name-label {\n grid-area: kb-label;\n }\n .kb-input {\n grid-area: kb-input;\n }\n .server-url-label {\n grid-area: server-label;\n }\n .server-url-input {\n grid-area: server-input;\n }\n .auth-type-label {\n grid-area: auth-type-label;\n }\n .auth-type-input {\n grid-area: auth-type-input;\n }\n .user-name-label {\n grid-area: user-name-label;\n }\n .user-name-input {\n grid-area: user-name-input;\n }\n .password-label {\n grid-area: password-label;\n }\n .password-input {\n grid-area: password-input;\n }\n}\n","// Define your constants\nconst AUTHENTICATION_TYPE = [\"GeneXus Account\", \"Local\"];\n\n/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport {\n FormSubmitResult,\n GxServerAuthenticationType\n} from \"../../common/types\";\nimport { config } from \"../../common/config\";\nimport { formSubmitValidation } from \"../../common/form-validation\";\nimport { renderFormItems } from \"../../common/common\";\n\n@Component({\n tag: \"gx-ide-share-kb\",\n styleUrl: \"share-kb.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/share-kb\"]\n})\nexport class GxIdeShareKb {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/share-kb/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeShareKbElement;\n private kbNameEl: HTMLGxgFormTextElement;\n private serverUrlEl: HTMLGxgComboBoxElement;\n private authTypeEl: HTMLGxgComboBoxElement;\n private userNameEl: HTMLGxgFormTextElement;\n private passwordEl: HTMLGxgFormTextElement;\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 * The name of the kb\n */\n @Prop() readonly kbName!: string;\n\n /**\n * Urls array of cataloged servers to be shown on combo\n */\n @Prop() readonly serverUrls!: string[];\n\n /**\n * True if user can introduce server url manually\n */\n @Prop() readonly enableCustomServer: boolean = true;\n\n /**\n * Callback invoked when Share button is pressed\n */\n @Prop() readonly createKBCallback!: CreateKBCallback;\n\n // 5.EVENTS (EMIT) //\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 METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.kbNameEl.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 private createKBCallbackHandler = async () => {\n const kbData: ShareKBData = {\n name: this.kbNameEl.value,\n serverUrl: this.serverUrlEl.value,\n authenticationType: this.authTypeEl.value,\n user: this.userNameEl.value,\n password: this.passwordEl.value\n };\n const createCallbackPromise = this.createKBCallback(kbData);\n createCallbackPromise.then(formSubmitResult => {\n formSubmitValidation(formSubmitResult, this);\n });\n };\n\n // 9.LOCAL METHODS //\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <main class=\"main\">\n {/* #kb name */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\" noMargin>\n {this._componentLocale.main.kbName}\n </gxg-label>\n <gxg-form-text\n labelPosition=\"start\"\n placeholder=\"SalesInventory\"\n max-width=\"100%\"\n value={this.kbName}\n toolTip={config.tooltip}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.kbNameEl = el as HTMLGxgFormTextElement)\n }\n part=\"kb-name\"\n class=\"kb-input\"\n ></gxg-form-text>\n\n {/* #server url */}\n <gxg-label\n labelPosition=\"start\"\n class=\"server-url-label\"\n noMargin\n >\n {this._componentLocale.main.serverUrl}\n </gxg-label>\n <gxg-combo-box\n disableFilter={!this.enableCustomServer}\n labelPosition=\"start\"\n placeholder=\"https://myexampleserver.com\"\n strict\n toolTip={config.tooltip}\n value={this.serverUrls[0]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.serverUrlEl = el as HTMLGxgComboBoxElement)\n }\n part=\"server-url\"\n class=\"server-url-input\"\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.serverUrls.map((item: string) => ({\n id: item,\n label: item\n })),\n \"server-url\"\n )}\n </gxg-combo-box>\n\n {/* #authentication type */}\n <gxg-label labelPosition=\"start\" class=\"auth-type-label\" noMargin>\n {this._componentLocale.main.authentication}\n </gxg-label>\n <gxg-combo-box\n labelPosition=\"start\"\n placeholder=\"https://myexampleserver.com\"\n max-width=\"100%\"\n value={AUTHENTICATION_TYPE[0]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.authTypeEl = el as HTMLGxgComboBoxElement)\n }\n part=\"auth-type\"\n class=\"auth-type-input\"\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n AUTHENTICATION_TYPE.map((item: string) => ({\n id: item,\n label: item\n })),\n \"auth-type\"\n )}\n </gxg-combo-box>\n\n {/* #user name */}\n <gxg-label labelPosition=\"start\" class=\"user-name-label\" noMargin>\n {this._componentLocale.main.userName}\n </gxg-label>\n <gxg-form-text\n labelPosition=\"start\"\n placeholder=\"My User\"\n max-width=\"100%\"\n toolTip={config.tooltip}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.userNameEl = el as HTMLGxgFormTextElement)\n }\n part=\"user-name\"\n class=\"user-name-input\"\n ></gxg-form-text>\n\n {/* #password */}\n <gxg-label labelPosition=\"start\" class=\"password-label\" noMargin>\n {this._componentLocale.main.password}\n </gxg-label>\n <gxg-form-text\n labelPosition=\"start\"\n password\n toolTip={config.tooltip}\n max-width=\"100%\"\n ref={(el: HTMLGxgFormTextElement) =>\n (this.passwordEl = el as HTMLGxgFormTextElement)\n }\n part=\"password\"\n class=\"password-input\"\n ></gxg-form-text>\n </main>\n <gxg-button\n slot=\"footer-end\"\n type=\"primary-text-icon\"\n icon=\"gemini-tools/share\"\n onClick={this.createKBCallbackHandler}\n part=\"share-kb\"\n >\n {this._componentLocale.footer.shareBtn}\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 CreateKBCallback = (data: ShareKBData) => Promise<FormSubmitResult>;\nexport type ShareKBData = {\n name: string;\n serverUrl: string;\n authenticationType: GxServerAuthenticationType;\n user: string;\n password: string;\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["daysOfWeek","daysFromToday","date","today","Date","timeDifference","getTime","daysDifference","Math","floor","isToday","toDateString","isYesterday","yesterday","setDate","getDate","formatDate","type","formattedDate","undefined","dateIsValid","locale","lang","_a","document","getElementsByTagName","getAttribute","valueOf","toLocaleDateString","year","getFullYear","month","String","getMonth","padStart","day","hours","getHours","minutes","getMinutes","time","toLocaleTimeString","daysPassedFromToday","currentYear","getDay","toLocaleString","countTreeItems","treeModel","children","totalNodes","forEach","node","items","setInitialComboValue","options","selected","find","option","value","id","escapeRegExp","str","replace","hiChar","text","filterValue","escapedFilterValue","re","RegExp","h","innerHTML","closeOnOutsideClickHandler","eventInfo","ref","composedPath","includes"],"sources":["src/common/helpers.tsx"],"sourcesContent":["/* STENCIL IMPORTS */\nimport { h } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\n/* CUSTOM IMPORTS */\nimport { GxOption } from \"./types\";\n\nconst daysOfWeek = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n];\n\n/**\n * @param element an HTMLElement\n * @returns an alphabetically ordered array of all the parts and exportparts the element contains.\n */\nexport const getElementSelectorParts = (element: HTMLElement) => {\n const queries: string[] = [];\n const elementParts = element.shadowRoot?.querySelectorAll(`[part]`);\n const elementExportParts =\n element.shadowRoot?.querySelectorAll(`[exportparts]`);\n\n elementParts?.forEach(el => {\n queries.push(\n `${element.tagName.toLowerCase()}::part(${el.getAttribute(\"part\")})`\n );\n });\n elementExportParts?.forEach(el => {\n queries.push(\n ...[\n ...el.getAttribute(\"exportparts\").matchAll(/(?:[\\w-]+:)?([\\w-]+)/g)\n ].map(item => `${element.tagName.toLowerCase()}::part(${item[1]})`)\n );\n });\n\n return queries.sort();\n};\n\n/**\n * @param selector a part selector\n * @returns A reference to the element the part belongs to.\n */\nexport const querySelectorPart = (selector: string) => {\n const querySelectorDeep = (\n element: HTMLElement,\n parts: string\n ): HTMLElement => {\n const shadow = element.shadowRoot;\n const partList = parts.split(\" \");\n\n const partElement: HTMLElement = shadow.querySelector(\n partList.map(partName => `[part~=\"${partName}\"]`).join(\"\")\n );\n if (partElement) {\n return partElement;\n }\n\n const exportPartElement: HTMLElement = shadow.querySelector(\n partList.map(partName => `[exportparts*=\"${partName}\"]`).join(\"\")\n );\n if (exportPartElement) {\n const exportPartList: string[] = [];\n const exportparts = exportPartElement.getAttribute(\"exportparts\");\n\n partList.forEach(partItem => {\n const exportPartName = exportparts.match(\n `(?:([\\\\w-]+):)?(${partItem})`\n )[1];\n if (exportPartName) {\n exportPartList.push(exportPartName);\n }\n });\n\n if (partList.length === exportPartList.length) {\n return querySelectorDeep(exportPartElement, exportPartList.join(\" \"));\n }\n }\n\n return null;\n };\n\n const selectorItems = selector.match(\"(.*)::part\\\\(([^)]+)\\\\)\");\n const entity = selectorItems[1];\n const partName = selectorItems[2];\n\n return querySelectorDeep(document.querySelector(entity), partName);\n};\n\nconst daysFromToday = (date: Date): number => {\n const today = new Date();\n // To calculate the time difference of two dates\n const timeDifference = today.getTime() - date.getTime();\n // To calculate the no. of days between two dates\n const daysDifference = timeDifference / (1000 * 3600 * 24);\n return Math.floor(daysDifference);\n};\n\n/* --- Date Functions ---*/\n\nconst isToday = (date: Date): boolean => {\n const today = new Date();\n if (today.toDateString() === date.toDateString()) {\n return true;\n }\n return false;\n};\n\nconst isYesterday = (date: Date): boolean => {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n if (yesterday.toDateString() === date.toDateString()) {\n return true;\n }\n return false;\n};\n\nexport const formatDate = (\n date: Date,\n type: FormatDateType = \"date-time\"\n): string => {\n let formattedDate;\n // validate date\n // undefined or null\n if (date === undefined || date === null) {\n return \"\";\n }\n // If the date object is invalid it will return 'NaN' on getTime() and NaN is never equal to itself\n const dateIsValid = date.getTime() === date.getTime();\n if (!dateIsValid) {\n return \"Invalid date\";\n }\n let locale = \"en-US\";\n const lang = document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"lang\")\n ?.valueOf();\n if (lang === \"es\") {\n locale = \"es-ES\";\n }\n formattedDate = date.toLocaleDateString(locale);\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n const hours = String(date.getHours()).padStart(2, \"0\");\n const minutes = String(date.getMinutes()).padStart(2, \"0\");\n const time = `${hours}:${minutes}`;\n if (type === \"date-time\") {\n formattedDate += ` / ${date.toLocaleTimeString()}`;\n } else if (type === \"date-time-short\") {\n // No seconds\n if (locale === \"es-ES\") {\n formattedDate = `${year}-${month}-${day} ${time}`;\n } else {\n formattedDate = `${month}/${day}/${year} ${time}`;\n }\n } else if (\"pretty\") {\n const daysPassedFromToday = daysFromToday(date);\n const today = new Date();\n const currentYear = today.getFullYear();\n if (isToday(date)) {\n return `Today ${time}`;\n } else if (isYesterday(date)) {\n return `Yesterday ${time}`;\n } else if (daysPassedFromToday <= 7) {\n // If one week or less, just show the day of the week, and the time\n const day = daysOfWeek[date.getDay()];\n return `${day} ${time}`;\n } else if (currentYear === year) {\n // If current year, show day number and month name. Example: November 17th\n if (locale === \"es-ES\") {\n formattedDate = `${day} de ${date.toLocaleString(\"es-ES\", {\n month: \"long\"\n })} ${time}`;\n } else {\n formattedDate = `${date.toLocaleString(\"en-US\", {\n month: \"long\"\n })} ${day} ${time}`;\n }\n } else {\n // Display date as usual\n formattedDate = formatDate(date, \"date-time-short\");\n }\n }\n return formattedDate;\n};\n\nexport type FormatDateType =\n | \"date\"\n | \"date-time\"\n | \"date-time-short\"\n | \"pretty\";\n\n/* --- End of Date Functions ---*/\n\n/* Count the total tree nodes (by default it does not count the first level nodes)*/\nexport const countTreeItems = (\n treeModel: TreeViewItemModel[],\n children = false\n): number => {\n let totalNodes = 0;\n treeModel.forEach(node => {\n children && totalNodes++;\n if (node.items) {\n totalNodes += countTreeItems(node.items, true);\n }\n });\n return totalNodes;\n};\n\n/**\n * @description it evaluates the initial selected combo item\n * @param options an array of GxOption\n * @returns the initial combo value, which in this case is the id\n */\nexport const setInitialComboValue = (options: GxOption[]): string => {\n const selected = options.find(option => option.selected);\n if (selected) {\n return selected.value || selected.id;\n } else {\n return options[0].value || options[0].id;\n }\n};\n\nexport const escapeRegExp = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n};\n\nexport const hiChar = function (text: string, filterValue: string) {\n if (text && filterValue) {\n /* this function highlights the character(s) that match(es) the filter value. (hi)light (Char)acters */\n const escapedFilterValue = escapeRegExp(filterValue);\n const re = new RegExp(escapedFilterValue, \"gi\");\n return (\n <span\n innerHTML={text.replace(re, '<span class=\"hiChar\">$&</span>')}\n ></span>\n );\n } else {\n return text;\n }\n};\n\nexport const closeOnOutsideClickHandler = (\n eventInfo: PointerEvent,\n ref: HTMLElement\n): true | void => {\n if (!eventInfo.composedPath().includes(ref)) {\n return true;\n }\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["config","tooltip","gxgMessage","common","type","textAlign","padding","maxWidth","minHeight","gxIdeContainer","slimmerFooter","loader","timeout"],"sources":["src/common/config.ts"],"sourcesContent":["/* 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 loader: {\n /* The amount of milliseconds the loader will display, before abort because of timeout*/\n timeout: 4000\n }\n};\n\n/* - - - - - - - - - - - - - - - - \nch-tree-view-render\n- - - - - - - - - - - - - - - - */\nexport const getImagePathTreeViewCallback = (imageSrc: string) =>\n `./assets/icons/${imageSrc}.svg#enabled`;\n"],"mappings":";MACaA,IAAS;;EAEpBC,SAAS;EACTC,YAAY;IACVC,QAAQ;MACNC,MAAM;MACNC,WAAW;MACXC,SAAS;MACTC,UAAU;MACVC,WAAW;;;EAGfC,gBAAgB;IACdC,eAAe;;EAEjBC,QAAQ;;IAENC,SAAS"}
|