@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
|
-
{"file":"render-suggest-90759f0b.js","mappings":";;AAAA;MAMa,kBAAkB,GAAG,CAChC,WAAwB;IAExB,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,CAAC,MAAM,EAAE;QACpC,OAAO,WAAW,CAAC,YAAY,CAAC,GAAG,CACjC,CAAC,IAAqB;YACpB,QACE,uBAAiB,KAAK,EAAE,IAAI,CAAC,KAAK,IAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAqB;gBACpC,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;aACrC,CAAC,CACc,EAClB;SACH,CACF,CAAC;KACH;IACD,OAAO,EAAE,CAAC;AACZ,EAAE;AAEF,MAAM,sBAAsB,GAAG,CAC7B,WAA4B;IAE5B,QACE,4BAAsB,KAAK,EAAE,WAAW,CAAC,KAAK,IAC3C;QACC,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK;QAC5C,WAAW,CAAC,IAAI,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;KACjD,CACoB,EACvB;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,QAAgB;IAClC,OAAO,gBAAU,KAAK,EAAC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,MAAM,GAAY,CAAC;AACxE,CAAC;;;;","names":[],"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"],"version":3}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
const formSubmitValidation = (o, n) => {
|
|
2
|
-
var r;
|
|
3
|
-
(r = o.fieldErrors) === null || r === void 0 ? void 0 : r.forEach((o => {
|
|
4
|
-
const r = o.key;
|
|
5
|
-
const s = o.message;
|
|
6
|
-
const e = o.hasError;
|
|
7
|
-
const t = n[`${r}El`];
|
|
8
|
-
if (t && e && s.trim()) {
|
|
9
|
-
console.log("hasError");
|
|
10
|
-
t.validationStatus = "error";
|
|
11
|
-
t.validationMessage = s;
|
|
12
|
-
} else if (t && !e) {
|
|
13
|
-
t.validationStatus = "indeterminate";
|
|
14
|
-
t.validationMessage = null;
|
|
15
|
-
}
|
|
16
|
-
}));
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export { formSubmitValidation as f };
|
|
20
|
-
//# sourceMappingURL=p-00095d68.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["formSubmitValidation","result","ref","_a","fieldErrors","forEach","element","key","message","hasError","reference","trim","console","log","validationStatus","validationMessage"],"sources":["src/common/form-validation.ts"],"sourcesContent":["import { FormSubmitResult, ConnectionResultData } from \"../common/types\";\nimport { FormComponent } from \"@genexus/gemini/dist/types/common/interfaces\";\n\nexport const formSubmitValidation = (\n result: FormSubmitResult | ConnectionResultData,\n ref: any\n) => {\n result.fieldErrors?.forEach(element => {\n const key = element.key;\n const message = element.message;\n const hasError = element.hasError;\n\n const reference: FormComponent = ref[`${key}El`];\n if (reference && hasError && message.trim()) {\n console.log(\"hasError\");\n reference.validationStatus = \"error\";\n reference.validationMessage = message;\n } else if (reference && !hasError) {\n reference.validationStatus = \"indeterminate\";\n reference.validationMessage = null;\n }\n });\n};\n"],"mappings":"MAGaA,uBAAuB,CAClCC,GACAC;;GAEAC,IAAAF,EAAOG,iBAAW,QAAAD,WAAA,aAAAA,EAAEE,SAAQC;IAC1B,MAAMC,IAAMD,EAAQC;IACpB,MAAMC,IAAUF,EAAQE;IACxB,MAAMC,IAAWH,EAAQG;IAEzB,MAAMC,IAA2BR,EAAI,GAAGK;IACxC,IAAIG,KAAaD,KAAYD,EAAQG,QAAQ;MAC3CC,QAAQC,IAAI;MACZH,EAAUI,mBAAmB;MAC7BJ,EAAUK,oBAAoBP;WACzB,IAAIE,MAAcD,GAAU;MACjCC,EAAUI,mBAAmB;MAC7BJ,EAAUK,oBAAoB;;;AAEhC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["KB_PROPERTY","KB_OBJECT","getPropertyIcon","typeId","kbPropertiesTypes","propertyType","find","id","icon","undefined","convertObjectTypeToTreeItem","objectType","caption","name","startImgSrc","leaf","parts","expanded","items","convertObjectToTreeItem","object","objectTypes","get","metadata","findObjectInTree","actualTreeState","objectTreeItemInfo","objectExists","objectTypeIndex","objectTypeTreeItemIndex","findIndex","objectTypeTreeItem","objectFound","_a","objectTreeItem","findPropertyInTree","property","updatedTreeData","found","node","convertPropertyToTreeItem","updateTreeModelWithObjects","objects","forEach","push","objectAsTreeItem","convertKbPropertiesDataToTreeItemData","properties","propertyAlreadyExists","propertyTreeItem","unshift","clearKbPropertiesFromTree","kBPropertiesData","length","kBPropertiesDataIds","map","treeModelWithoutKbProperties","filter","item","includes","kbManagerExportCss","CSS_BUNDLES","GxIdeKbManagerExport","this","checkedPropertiesIds","renderedFirstTime","flattenedObjectTypes","Map","evaluateObjects","noObjects","treeModel","optionsCallbackHandler","optionsCallback","addKBPropertiesCallbackHandler","async","e","checked","detail","value","addKbPropertiesIsChecked","addKBPropertiesCallback","newTreeModel","objectsWithoutProperties","addObjectsCallbackHandler","addObjectsCallback","updateObjects","addReferencesCallbackHandler","addReferencesCallback","checkedObjectsIds","objectsTreeCheckedItemsChangedHandler","event","allItemsWithCheckbox","values","exportCallbackHandler","exportCallback","exportingIsInProcess","exportAllChecked","exportAllCheckboxEl","fileName","fileNameEl","checkedKbPropertiesIds","checkedObjectIds","then","cancelCallbackHandler","cancelCallback","cancelled","clearButtonHandler","objectsTreeEl","updateAllItemsProperties","exportAllChangedHandler","exportAllIsChecked","evaluateTreeViewFilters","evaluateContentToDisplay","renderMessage","h","model","dragDisabled","dropDisabled","toggleCheckboxes","checkbox","filterType","onCheckedItemsChange","ref","el","class","nothingToDisplay","textAlign","config","gxgMessage","common","padding","type","maxWidth","part","_componentLocale","main","noObjectsToDisplay","onClick","beginByADdingSomeObjects","exportAllMessage","clearButtonDisabledConditions","checkedItems","loaderCancelCallbackHandler","onClickCancelCallbackHandler","watchTreeModelHandler","newState","watchExportingIsInProcessHandler","isExporting","loader","loaderEl","show","watchObjectTypesHandler","flattenObjectTypes","componentWillLoad","Locale","getComponentStrings","componentDidLoadEvent","emit","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","componentName","set","render","Host","noContentPadding","noHeadingPadding","headingPaddingTop","containerTitle","displayTitle","slimmerFooter","gxIdeContainer","slot","label","header","exportFileName","iconPosition","reduced","disabled","exportButton","cancelButton","optionsButton","addKnowledgeBaseDescription","onChange","exportAll","footer","clearButton","referencesButton","addButton","cancelLabel","container","loaderTitle","title"],"sources":["src/components/kb-manager-export/helpers.ts","src/components/kb-manager-export/kb-manager-export.scss?tag=gx-ide-kb-manager-export&encapsulation=shadow","src/components/kb-manager-export/kb-manager-export.tsx"],"sourcesContent":["// /* Tree View */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport {\n ObjectData,\n ObjectType,\n KBPropertyData,\n KBPropertyType\n} from \"./kb-manager-export\";\nexport const KB_PROPERTY = \"property\";\nexport const KB_OBJECT = \"object\";\n\n/*\nINDEX:\n1. getObjectIcon\n2. convertObjectTypeToTreeItem\n3. convertObjectToTreeItem\n4. getObjectType\n5. findObjectInTree\n6. findPropertyInTree\n7. convertPropertyToTreeItem\n8. updateTreeModelWithObjects\n9. convertKbPropertiesDataToTreeItemData\n10. clearKbPropertiesFromTree\n*/\n\n/* 1.2 getIcon (for properties)*/\nconst getPropertyIcon = (\n typeId: string,\n kbPropertiesTypes: KBPropertyType[]\n): string => {\n // The object icon has to be retrieved from the ObjetTypes array, by matching the ObjectData typeId with the ObjectType id.\n const propertyType = kbPropertiesTypes.find(\n propertyType => propertyType.id === typeId\n );\n if (propertyType) {\n return propertyType.icon;\n } else {\n return undefined;\n }\n};\n\n/* 2. convertObjectTypeToTreeItem*/\nconst convertObjectTypeToTreeItem = (\n objectType: ObjectType\n): TreeViewItemModel => ({\n caption: objectType.name,\n id: objectType.id,\n startImgSrc: objectType.icon,\n leaf: false,\n parts: \"object-type tree-view-item\",\n expanded: true,\n items: []\n});\n\n/* 3. convertObjectToTreeItem*/\nconst convertObjectToTreeItem = (\n object: ObjectData,\n objectTypes: Map<string, ObjectType>\n): TreeViewItemModel => ({\n caption: object.name,\n id: object.id,\n startImgSrc: objectTypes.get(object.typeId).icon,\n parts: \"object tree-view-item\",\n metadata: KB_OBJECT,\n leaf: true\n});\n\n/* 5. findObjectInTree*/\nconst findObjectInTree = (\n object: ObjectData,\n actualTreeState: TreeViewItemModel[]\n): ObjectTreeInfo => {\n const objectTreeItemInfo = {\n objectExists: false,\n objectTypeIndex: -1\n };\n if (actualTreeState) {\n const objectTypeTreeItemIndex = actualTreeState.findIndex(\n objectTypeTreeItem => {\n return objectTypeTreeItem.id === object.typeId;\n }\n );\n if (objectTypeTreeItemIndex !== -1) {\n objectTreeItemInfo.objectTypeIndex = objectTypeTreeItemIndex;\n // objectType exists as a node in the actual tree.\n // Now try to find the object\n const objectFound = actualTreeState[objectTypeTreeItemIndex].items?.find(\n objectTreeItem => {\n return objectTreeItem.id === object.id;\n }\n );\n if (objectFound) {\n objectTreeItemInfo.objectExists = true;\n }\n }\n }\n return objectTreeItemInfo;\n};\n\n/* 6. findPropertyInTree */\nconst findPropertyInTree = (\n property: KBPropertyData,\n updatedTreeData: TreeViewItemModel[]\n): boolean => {\n const found = updatedTreeData.find(node => {\n return node.id === property.id;\n });\n if (found) {\n return true;\n }\n return false;\n};\n\n/* 7. convertPropertyToTreeItem */\nconst convertPropertyToTreeItem = (\n property: KBPropertyData,\n kbPropertiesTypes: KBPropertyType[]\n): TreeViewItemModel => ({\n caption: property.name,\n id: property.id,\n startImgSrc: getPropertyIcon(property.typeId, kbPropertiesTypes),\n parts: \"property tree-view-item\",\n metadata: KB_PROPERTY,\n leaf: true\n});\n\n/* 8. updateTreeModelWithObjects*/\nexport const updateTreeModelWithObjects = (\n objects: ObjectData[] | undefined,\n objectTypes: Map<string, ObjectType>,\n actualTreeState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n const updatedTreeData: TreeViewItemModel[] = [...actualTreeState];\n if (!objects) {\n // nothing to do\n return updatedTreeData;\n }\n objects.forEach(object => {\n // objects that already exists in the actual actualTreeState should not be added.\n // We can find the object in the actual actualTreeState.\n const objectTreeItemInfo: ObjectTreeInfo = findObjectInTree(\n object,\n updatedTreeData\n );\n if (!objectTreeItemInfo.objectExists) {\n // object does not exists in actualTreeState\n // if the objectType tree node exists, insert inside.\n // if the objectType tree node does not exists, create object type node first.\n if (objectTreeItemInfo.objectTypeIndex === -1) {\n const objectType: ObjectType = objectTypes.get(object.typeId);\n if (objectType !== undefined) {\n const objectTypeTreeItem = convertObjectTypeToTreeItem(objectType);\n objectTreeItemInfo.objectTypeIndex =\n updatedTreeData.push(objectTypeTreeItem) - 1;\n }\n }\n const objectAsTreeItem: TreeViewItemModel = convertObjectToTreeItem(\n object,\n objectTypes\n );\n // insert object in tree (under the object type tree node)\n updatedTreeData[objectTreeItemInfo.objectTypeIndex].items.push(\n objectAsTreeItem\n );\n }\n });\n return updatedTreeData;\n};\n\n/* 9. convertKbPropertiesDataToTreeItemData*/\nexport const convertKbPropertiesDataToTreeItemData = (\n properties: KBPropertyData[],\n kbPropertiesTypes: KBPropertyType[],\n actualTreeState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n const updatedTreeData: TreeViewItemModel[] = [...actualTreeState];\n if (!properties) {\n // nothing to do\n return updatedTreeData;\n }\n properties.forEach(property => {\n // properties have no parent node, and they should be added at the beginning of the tree\n const propertyAlreadyExists = findPropertyInTree(property, updatedTreeData);\n if (!propertyAlreadyExists) {\n const propertyTreeItem = convertPropertyToTreeItem(\n property,\n kbPropertiesTypes\n );\n updatedTreeData.unshift(propertyTreeItem);\n }\n });\n return updatedTreeData;\n};\n\ntype ObjectTreeInfo = {\n objectExists: boolean;\n objectTypeIndex: number;\n};\n\n/* 10. clearKbPropertiesFromTree*/\nexport const clearKbPropertiesFromTree = (\n kBPropertiesData: KBPropertyData[],\n actualTreeState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n if (!(actualTreeState.length > 0)) {\n // nothing to do.\n return [];\n }\n const kBPropertiesDataIds: string[] = kBPropertiesData.map(property => {\n return property.id;\n });\n\n const treeModelWithoutKbProperties: TreeViewItemModel[] =\n actualTreeState.filter(item => {\n return !kBPropertiesDataIds.includes(item.id);\n });\n\n return treeModelWithoutKbProperties;\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n/*general*/\n.tree-view-container {\n display: flex;\n}\n\n/*Header*/\n.header {\n &__top {\n border-top: 1px solid var(--gx-ide-container-border-color);\n //border-bottom: 1px solid var(--gx-ide-container-border-color);\n display: grid;\n padding: var(--gx-ide-container__padding) var(--gx-ide-container__padding) 0\n var(--gx-ide-container__padding);\n gap: var(--gx-ide-grid-column-gap);\n grid-template-columns: 1fr auto;\n grid-template-areas: \"select-directory export-cancel-buttons-group options-btn\";\n\n .select-directory {\n grid-area: select-directory;\n }\n .export-cancel-buttons-group {\n grid-area: export-cancel-buttons-group;\n }\n .options-btn {\n grid-area: options-btn;\n }\n }\n &__bottom {\n .checkboxes-wrapper {\n padding: var(--gx-ide-grid-column-gap);\n display: flex;\n flex-wrap: wrap;\n gap: var(--gx-ide-grid-column-gap);\n\n .add-checkbox {\n display: flex;\n }\n }\n }\n}\n\n/*Main*/\n.tree-container {\n block-size: 100%;\n padding: var(--tree-container-padding);\n &--empty {\n align-items: center;\n justify-content: center;\n }\n @include gx-ide-message(\"tall\");\n}\n\ngxg-text {\n block-size: 100%;\n}\n\n// @keyframes toggleTreeObjectsVisibility {\n// 0% {\n// opacity: 1;\n// }\n// 100% {\n// opacity: 0;\n// }\n// }\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n State,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* Tree View */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport {\n TextAlign,\n TextPadding,\n TextType\n} from \"@genexus/gemini/dist/types/components/text/text\";\nimport { CheckboxInfo } from \"@genexus/gemini/dist/types/components/form-checkbox/form-checkbox\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport {\n updateTreeModelWithObjects,\n convertKbPropertiesDataToTreeItemData,\n clearKbPropertiesFromTree\n} from \"./helpers\";\n\nimport { KB_PROPERTY, KB_OBJECT } 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@Component({\n tag: \"gx-ide-kb-manager-export\",\n styleUrl: \"kb-manager-export.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-export\"]\n})\nexport class GxIdeKbManagerExport {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private checkedPropertiesIds: string[] = [];\n private renderedFirstTime = false;\n private flattenedObjectTypes: Map<string, ObjectType> = new Map();\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeKbManagerExportElement;\n\n private fileNameEl!: HTMLGxgFormTextElement;\n private exportAllCheckboxEl!: HTMLGxgFormCheckboxElement;\n private objectsTreeEl!: HTMLChTreeViewRenderElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private kBPropertiesData!: KBPropertyData[];\n\n // 3.STATE() VARIABLES //\n\n @State() exportAllIsChecked = false;\n @State() addKbPropertiesIsChecked = false;\n @State() checkedObjectsIds: string[] = [];\n @State() noObjects: boolean;\n\n @State() treeModel: TreeViewItemModel[] = [];\n @Watch(\"treeModel\")\n watchTreeModelHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !!(newState.length === 0 || !newState);\n }\n\n @State() exportingIsInProcess = false;\n @Watch(\"exportingIsInProcess\")\n watchExportingIsInProcessHandler(isExporting: boolean) {\n if (isExporting && this.loader) {\n this.loaderEl.show = true;\n } else if (!isExporting && this.loader) {\n this.loaderEl.show = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * It allows defining the default Export File Name\n */\n @Prop() readonly fileName: string;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Array with the possible types of KB properties\n */\n @Prop() readonly kbPropertiesTypes: KBPropertyType[];\n\n /**\n * Array of possible object types\n */\n @Prop() readonly objectTypes: ObjectType[];\n @Watch(\"objectTypes\")\n watchObjectTypesHandler(newState: ObjectType[]) {\n this.flattenObjectTypes(newState);\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly exportFileDirectoryCallback: ExportFileDirectoryCallback;\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n /**\n * Callback invoked when the user wants to include KB properties.\n */\n @Prop() readonly addKBPropertiesCallback: KBPropertiesCallback;\n\n /**\n *Callback invoked when the user wants to add all the references for the selected objects.\n *@param itemIds:string[] The selected item ids\n *@returns : Returns an object with the items and its references\n */\n @Prop() readonly addReferencesCallback: AddReferencesCallback;\n\n /**\n * Callback invoked when the user wants to add objects.\n */\n @Prop() readonly addObjectsCallback: AddObjectsCallback;\n\n /**\n *Callback invoked when the user wants to initiate the export process.\n *@param fileName:string\n *@param itemIds:string[] The selected item ids\n *@returns : It returns a boolean indicating whether the process was successful\n */\n @Prop() readonly exportCallback: ExportCallback;\n\n /**\n * Callback invoked when the user wants to cancel the export process.\n * @returns It returns a boolean indicating whether the process could be canceled or not.\n */\n @Prop() readonly cancelCallback: CancelCallback;\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 this.evaluateObjects();\n this.flattenObjectTypes(this.objectTypes);\n }\n\n componentDidLoad() {\n this.fileNameEl.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 private evaluateObjects = () => {\n this.noObjects = !!(this.treeModel?.length === 0 || !this.treeModel);\n };\n\n private optionsCallbackHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback();\n // returns Promise<void>\n }\n };\n\n private addKBPropertiesCallbackHandler = async (e: CustomEvent) => {\n const checked = e.detail.value;\n this.addKbPropertiesIsChecked = checked;\n if (checked && this.addKBPropertiesCallback) {\n this.kBPropertiesData = await this.addKBPropertiesCallback();\n if (this.kBPropertiesData.length === 0) {\n // nothing to do\n } else {\n // 'convertObjectDataToTreeItemData' can be used for converting KBPropertiesData as well, because the two types share the same properties\n const newTreeModel = convertKbPropertiesDataToTreeItemData(\n this.kBPropertiesData,\n this.kbPropertiesTypes,\n this.treeModel\n );\n this.treeModel = newTreeModel;\n }\n } else if (!checked) {\n // previous properties (if any) should be removed\n const objectsWithoutProperties = clearKbPropertiesFromTree(\n this.kBPropertiesData,\n this.treeModel\n );\n this.treeModel = objectsWithoutProperties;\n }\n };\n\n private addObjectsCallbackHandler = async () => {\n if (this.addObjectsCallback) {\n const objects: ObjectData[] = await this.addObjectsCallback();\n this.updateObjects(objects);\n }\n };\n\n private addReferencesCallbackHandler = async () => {\n if (this.addReferencesCallback) {\n const objects: ObjectData[] = await this.addReferencesCallback(\n this.checkedObjectsIds\n );\n this.updateObjects(objects);\n }\n };\n\n /*\n * Used to update objects. Objects are updated when calling the 'addObjectsCallback' or 'addReferencesCallback'\n */\n private updateObjects = (objects: ObjectData[]) => {\n if (objects.length) {\n const newTreeModel = updateTreeModelWithObjects(\n objects,\n this.flattenedObjectTypes,\n this.treeModel\n );\n this.treeModel = newTreeModel;\n }\n };\n\n /*\n * Update checked objects 'checkedObjectsArray' array. Used for the 'addReferencesCallback'\n */\n private objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n // filter 'checked objects' and 'checked properties' ids\n const checkedObjectsIds: string[] = [];\n const checkedPropertiesIds: string[] = [];\n const allItemsWithCheckbox = [...event.detail.values()];\n allItemsWithCheckbox.forEach(node => {\n if (node.item.checked && node.item.metadata === KB_OBJECT) {\n checkedObjectsIds.push(node.item.id);\n } else if (node.item.checked && node.item.metadata === KB_PROPERTY) {\n checkedPropertiesIds.push(node.item.id);\n }\n });\n this.checkedObjectsIds = checkedObjectsIds;\n this.checkedPropertiesIds = checkedPropertiesIds;\n };\n\n private exportCallbackHandler = async () => {\n if (this.exportCallback) {\n this.exportingIsInProcess = true;\n const exportAllChecked = this.exportAllCheckboxEl.checked;\n const fileName: string = this.fileNameEl.value;\n const checkedKbPropertiesIds = this.addKbPropertiesIsChecked\n ? this.checkedPropertiesIds\n : [];\n const checkedObjectIds = exportAllChecked\n ? undefined\n : this.checkedObjectsIds;\n this.exportCallback(\n fileName,\n checkedKbPropertiesIds,\n checkedObjectIds\n ).then(() => {\n this.exportingIsInProcess = false;\n });\n // returns Promise<boolean> but no procedure was detailed on the spec.\n }\n };\n\n private cancelCallbackHandler = async () => {\n if (this.cancelCallback) {\n const cancelled = await this.cancelCallback();\n if (cancelled) {\n this.exportingIsInProcess = false;\n }\n }\n };\n\n private clearButtonHandler = () => {\n /* revisar*/\n this.objectsTreeEl.updateAllItemsProperties({ checked: false });\n };\n\n private exportAllChangedHandler = (event: CustomEvent<CheckboxInfo>) => {\n this.exportAllIsChecked = event.detail.value;\n };\n\n private flattenObjectTypes(newState: ObjectType[]) {\n newState.forEach(objectType => {\n this.flattenedObjectTypes.set(objectType.id, objectType);\n });\n }\n\n private evaluateTreeViewFilters = (): string => {\n if (this.addKbPropertiesIsChecked && this.exportAllIsChecked) {\n // only show properties\n return KB_PROPERTY;\n } else if (!this.addKbPropertiesIsChecked && !this.exportAllIsChecked) {\n // only show objects\n return KB_OBJECT;\n }\n return \"none\"; // Applies if !this.addKbPropertiesIsChecked && this.exportAllIsChecked\n };\n\n private evaluateContentToDisplay = () => {\n // Nothing to display on the tree-view\n if (this.noObjects) {\n return this.renderMessage(true);\n }\n\n // The tree should be empty, because all filters are being applied.\n // Display a message to prevent a white screen.\n if (!this.addKbPropertiesIsChecked && this.exportAllIsChecked) {\n return this.renderMessage(false);\n }\n\n return (\n <ch-tree-view-render\n model={this.treeModel}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n checked={true}\n checkbox={true}\n filter={this.evaluateTreeViewFilters()}\n filterType={\n this.addKbPropertiesIsChecked && !this.exportAllIsChecked\n ? \"none\"\n : \"metadata\"\n }\n onCheckedItemsChange={this.objectsTreeCheckedItemsChangedHandler}\n ref={el => (this.objectsTreeEl = el as HTMLChTreeViewRenderElement)}\n show-lines=\"last\"\n class=\"tree-view\"\n ></ch-tree-view-render>\n );\n };\n\n private renderMessage = (nothingToDisplay: boolean) => {\n return (\n <gxg-text\n textAlign={config.gxgMessage.common.textAlign as TextAlign}\n padding={config.gxgMessage.common.textAlign as TextPadding}\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n class=\"gx-ide-message gx-ide-message--short\"\n part=\"referenced-by-empty-status-message\"\n >\n {nothingToDisplay ? (\n [\n <span>{this._componentLocale.main.noObjectsToDisplay}</span>,\n <gxg-text\n type=\"text-link-no-line\"\n textAlign=\"center\"\n onClick={this.addObjectsCallbackHandler}\n >\n {this._componentLocale.main.beginByADdingSomeObjects}\n </gxg-text>\n ]\n ) : (\n <span>{this._componentLocale.main.exportAllMessage}</span>\n )}\n </gxg-text>\n );\n };\n\n private clearButtonDisabledConditions = (): boolean => {\n const checkedItems = this.treeModel.filter(item => {\n return item.checked;\n });\n return checkedItems.length === 0;\n };\n\n private loaderCancelCallbackHandler = async () => {\n this.cancelCallbackHandler();\n };\n\n private onClickCancelCallbackHandler = async () => {\n this.cancelCallbackHandler();\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 noContentPadding\n noHeadingPadding\n headingPaddingTop\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <header slot=\"header\" class=\"header\">\n {/* header top */}\n <div class=\"header__top\">\n {/* export file name*/}\n <gxg-form-text\n class={{ \"select-file-input\": true }}\n value={this.fileName}\n part=\"xpz-file\"\n label={this._componentLocale.header.exportFileName}\n ref={el => (this.fileNameEl = el as HTMLGxgFormTextElement)}\n icon=\"gemini-tools/file\"\n iconPosition=\"start\"\n ></gxg-form-text>\n {/* export button / cancel button*/}\n <gxg-buttons-container\n reduced\n class=\"export-cancel-buttons-group\"\n >\n <gxg-button\n id=\"export-kb-btn\"\n part=\"export-btn\"\n onClick={this.exportCallbackHandler}\n disabled={this.noObjects}\n >\n {this._componentLocale.header.exportButton}\n </gxg-button>\n <gxg-button\n id=\"cancel-kb-export-btn\"\n part=\"cancel-button\"\n onClick={this.onClickCancelCallbackHandler}\n disabled={!this.exportingIsInProcess || this.noObjects}\n >\n {this._componentLocale.header.cancelButton}\n </gxg-button>\n </gxg-buttons-container>\n {/* settings/options button*/}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/settings\"\n part=\"select-kb-btn\"\n class={{ \"options-btn\": true }}\n onClick={this.optionsCallbackHandler}\n >\n {this._componentLocale.header.optionsButton}\n </gxg-button>\n </div>\n {/* header bottom */}\n <div class=\"header__bottom\">\n <div class={{ \"checkboxes-wrapper\": true }}>\n {/* checkboxes */}\n <gxg-form-checkbox\n label={\n this._componentLocale.main.addKnowledgeBaseDescription\n }\n onChange={this.addKBPropertiesCallbackHandler}\n part=\"add-kb-checkbox\"\n ></gxg-form-checkbox>\n <gxg-form-checkbox\n label={this._componentLocale.main.exportAll}\n part=\"export-all-checkbox\"\n ref={el =>\n (this.exportAllCheckboxEl =\n el as HTMLGxgFormCheckboxElement)\n }\n onChange={this.exportAllChangedHandler}\n ></gxg-form-checkbox>\n </div>\n </div>\n </header>\n\n {/* main */}\n\n <div\n class={{\n \"tree-container\": true,\n \"tree-container--empty\":\n this.noObjects ||\n (!this.noObjects &&\n this.exportAllIsChecked &&\n !this.addKbPropertiesIsChecked)\n // \"tree-container--export-all\": this.exportAllIsChecked\n }}\n >\n {this.evaluateContentToDisplay()}\n </div>\n\n {/* footer */}\n {/* clear 'button' */}\n <gxg-text\n type=\"button-like\"\n part=\"export-button\"\n slot=\"footer-start\"\n onClick={this.clearButtonHandler}\n disabled={this.clearButtonDisabledConditions()}\n >\n {this._componentLocale.footer.clearButton}\n </gxg-text>\n {/* references button */}\n <gxg-button\n onClick={this.addReferencesCallbackHandler}\n type=\"outlined-text-icon\"\n icon=\"general/references\"\n part=\"export-button\"\n class={{ \"cancel-btn\": true }}\n disabled={this.exportAllIsChecked}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.referencesButton}\n </gxg-button>\n {/* add button */}\n <gxg-button\n type=\"primary-text-icon\"\n icon=\"menus/new-object\"\n part=\"export-button\"\n class={{ \"cancel-btn\": true }}\n onClick={this.addObjectsCallbackHandler}\n disabled={this.exportAllIsChecked}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.addButton}\n </gxg-button>\n </gx-ide-container>\n </div>\n {this.loader && false ? (\n <gxg-ide-loader\n cancelLabel={this._componentLocale.loader.cancelLabel}\n container={this.el}\n loaderTitle={this._componentLocale.loader.title}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n cancelCallback={this.loaderCancelCallbackHandler}\n ></gxg-ide-loader>\n ) : null}\n </Host>\n );\n }\n}\n\n/* Kb Property*/\nexport type KBPropertiesCallback = () => Promise<KBPropertyData[]>;\nexport type KBPropertyData = {\n typeId: string;\n id: string;\n name: string;\n};\nexport type KBPropertyType = {\n id: string;\n icon: string;\n};\n\n/* Objects */\nexport type ObjectData = {\n typeId: string;\n id: string;\n name: string;\n};\nexport type ObjectType = {\n id: string;\n name: string;\n icon: string;\n};\n\n/* Callbacks*/\nexport type ExportFileDirectoryCallback = () => Promise<string>;\n\nexport type OptionsCallback = () => Promise<void>;\n\nexport type AddObjectsCallback = () => Promise<ObjectData[]>;\n\nexport type ExportCallback = (\n fileName: string,\n checkedKbPropertiesIds: string[],\n checkedObjectIds: string[]\n) => Promise<boolean>;\n\nexport type AddReferencesCallback = (\n objectIds: string[]\n) => Promise<ObjectData[]>;\n\nexport type CancelCallback = () => Promise<boolean>;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["dashboardHomeCss","mapStatusToIcons","new","modified","conflicted","unmodified","mapStatusToLocale","GxIdeDashboardHome","this","renderedFirstTime","evaluateLoader","recentObjects","undefined","loaderEl","container","recentObjectsContainerEl","show","handleKbNameChange","async","updatedTitle","updatedKbName","detail","renameKBCallback","response","then","result","success","kb","name","editValidation","kbNameEl","handleEnvNameChange","renameEnvironmentCallback","envNameEl","value","environment","handleDescriptionChange","editDescriptionCallback","openObject","id","openObjectCallback","el","validationStatus","validationMessage","errorMessage","renderProjectContent","projectDescription","h","class","innerHTML","enableEditDescription","type","icon","onClick","_componentLocale","edit","recentObjectsHandler","newRecentObjects","componentWillLoad","Locale","getComponentStrings","componentDidLoad","componentDidRender","componentDidRenderFirstTime","emit","componentName","renderFrontEndTitle","frontEnd","length","frontEndLang","frontEndLangs","renderKbDates","created","lastBuild","padding","formatDate","render","Host","enableEditKBName","fluid","onValueChanged","focusType","debounce","ref","version","currentVersion","enableEditEnvironmentName","cardType","cardTitle","_b","_a","map","obj","color","style","backEnd","dataStore","editableTitle","project","title","noPaddingTop","_c","stateIcon","stateTitle","emptyState","stateDescription","description","_d","statusLocale","status","statusDescription","background","actionable","typeIcon","italic","modificationDate","loaderTitle","loader"],"sources":["src/components/dashboard-home/dashboard-home.scss?tag=gx-ide-dashboard-home&encapsulation=shadow","src/components/dashboard-home/dashboard-home.tsx"],"sourcesContent":["@import \"../../../node_modules/@genexus/gemini/dist/gemini/globals/mixins.scss\";\n@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n height: 100%;\n overflow: auto;\n margin: var(--mer-spacing--lg);\n}\n\n// Manage height and overflow\n:host,\n.gx-ide-main-wrapper,\n.grid--basic,\n.project,\n.recent-objects {\n height: 100%;\n overflow: auto;\n}\n\n.gx-ide-main-wrapper {\n container-name: dashboard-main-wrapper;\n container-type: inline-size;\n}\n\n.kb {\n grid-area: kb;\n align-self: center;\n .version-pill {\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n .kb-detail {\n display: flex;\n flex-direction: column;\n align-items: start;\n flex-wrap: wrap;\n margin-block-start: var(--mer-spacing--md);\n gap: var(--mer-spacing--md);\n .display-inline {\n @include line-clamp;\n font-style: italic;\n opacity: 0.5;\n }\n }\n}\n\n.environment {\n grid-area: environment;\n &__environments {\n padding-block-end: var(--gx-ide-grid-column-gap);\n display: flex;\n flex-direction: row;\n gap: var(--gx-ide-grid-column-gap);\n @include gxg-scrollbar;\n overflow-x: auto;\n .environment-card {\n min-width: 180px;\n flex-grow: 1;\n }\n .environment-container {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-cards-vertical-spacing);\n }\n .environment-item {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--2xs);\n }\n }\n}\n.environment-title {\n margin-block-end: var(--mer-spacing--xs);\n display: block;\n}\n\n.project {\n grid-area: project;\n .project-buttons {\n margin-block-start: var(--mer-spacing--md);\n gap: var(--mer-spacing--md);\n }\n .project-description {\n > *:first-child {\n margin-block-start: 0;\n }\n > *:last-child {\n margin-block-end: 0;\n }\n }\n}\n\n.recent-objects {\n grid-area: recent-objects;\n &__container {\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-cards-vertical-spacing);\n }\n &__object {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--gx-ide-cards-horizontal-spacing);\n .obj-name {\n color: var(--gray-06);\n }\n .col {\n display: flex;\n gap: var(--gx-ide-cards-horizontal-spacing);\n }\n }\n &__empty-state {\n height: 100%;\n }\n}\n\n.grid--basic {\n flex-grow: 1;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n gap: var(--mer-spacing--xl);\n grid-template-areas:\n \"kb environment\"\n \"project recent-objects\";\n grid-template-rows: auto 1fr;\n}\n@container (width < 768px) {\n .grid--basic {\n grid-template-rows: auto auto auto;\n grid-template-areas:\n \"kb environment\"\n \"project project\"\n \"recent-objects recent-objects\";\n }\n}\n\ngxg-title-editable {\n width: 100%;\n}\n\ngx-ide-card {\n height: 100%;\n}\n\ngxg-ide-loader::part(loader-wrapper) {\n border: var(--mer-elevation__border-01);\n border-radius: var(--gxg-card-section_border-radius);\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { formatDate } from \"../../common/helpers\";\n\nconst mapStatusToIcons: {\n [key in RecentObjectStatus]: StatusIcons;\n} = {\n \"new\": \"gx-server/new\",\n \"modified\": \"patterns-default-associated/modified\",\n \"conflicted\": \"patterns-default-associated/synchronized\",\n \"unmodified\": null,\n \"not-connected\": null\n};\n\nconst mapStatusToLocale: {\n [key in RecentObjectStatus]: string;\n} = {\n \"new\": \"new\",\n \"modified\": \"modified\",\n \"conflicted\": \"conflicted\",\n \"unmodified\": \"unmodified\",\n \"not-connected\": \"notConnected\"\n};\n\n@Component({\n tag: \"gx-ide-dashboard-home\",\n styleUrl: \"dashboard-home.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/dashboard-home\"]\n})\nexport class GxIdeDashboardHome {\n /*\n INDEX:\n 1.OWN PROPERTIES \n 2.REFERENCE TO ELEMENTS\n 3.STATE() VARIABLES\n 4.PUBLIC PROPERTY API | WATCH'S\n 5.EVENTS (EMIT)\n 6.COMPONENT LIFECYCLE METHODS\n 7.LISTENERS\n 8.PUBLIC METHODS API\n 9.LOCAL METHODS\n 10.RENDER() FUNCTIONS\n 11.RENDER() MAIN FUNCTION\n */\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDashboardHomeElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private kbNameEl!: HTMLGxgTitleEditableElement;\n private envNameEl!: HTMLGxgTitleEditableElement;\n private recentObjectsContainerEl!: HTMLGxgCardElement;\n /* private projectDescriptionEl!: HTMLGxgFormTextareaElement;*/\n\n // 3.STATE() VARIABLES //\n\n /**\n * The editing state for the environment name.\n */\n @State() editingEnvName = false;\n\n /**\n * The editing state for the project details.\n */\n @State() editingProjectDescription = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The KB basic properties.\n */\n @Prop() readonly kb: KBData;\n\n /**\n * This allows the kb to be editable by the user.\n */\n @Prop() readonly enableEditKBName: boolean = false;\n\n /**\n * Information of the current environment.\n */\n @Prop() readonly environment: EnvironmentData;\n\n /**\n * This allows the environment name to be editable by the user.\n */\n @Prop() readonly enableEditEnvironmentName: boolean = false;\n\n /**\n * Project Detail description.\n */\n @Prop() readonly projectDescription: string;\n\n /**\n * This allows the project description to be modified by the user.\n */\n @Prop() readonly enableEditDescription: boolean = false;\n\n /**\n * Recently edited objects.\n */\n @Prop() readonly recentObjects: recentObjectData[];\n @Watch(\"recentObjects\")\n recentObjectsHandler(newRecentObjects: recentObjectData[]) {\n if (newRecentObjects) {\n this.loaderEl.show = false;\n }\n }\n\n /**\n * Callback invoked when user tries to rename the KB.\n * Receives the new name as a parameter\n * and returns a promise with the result of the operation.\n */\n @Prop() readonly renameKBCallback: (name: string) => Promise<EditResult>;\n\n /**\n * Callback invoked when user tries to rename the KB environment.\n * Receives the new name as a parameter\n * and returns a promise with the result of the operation.\n */\n @Prop() readonly renameEnvironmentCallback: (\n name: string\n ) => Promise<EditResult>;\n\n /**\n * Callback invoked when user tries to edit the Project Description.\n * The edition is resolved by the host.\n */\n @Prop() readonly editDescriptionCallback: () => Promise<void>;\n\n /**\n * Callback invoked when user tries to open one of the listed Recent Objects\n * Receives the internal ID of the object\n */\n @Prop() readonly openObjectCallback: (id: string) => Promise<void>;\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.evaluateLoader();\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 private evaluateLoader = () => {\n if (this.recentObjects === undefined) {\n this.loaderEl.container = this.recentObjectsContainerEl;\n this.loaderEl.show = true;\n }\n };\n\n // Kb Name\n\n private handleKbNameChange = async (updatedTitle: CustomEvent<string>) => {\n const updatedKbName = updatedTitle.detail;\n if (this.renameKBCallback) {\n const response = this.renameKBCallback(updatedKbName);\n response.then((result: EditResult) => {\n if (result.success) {\n this.kb.name = updatedKbName;\n }\n this.editValidation(result, this.kbNameEl);\n });\n }\n };\n\n // Environment Name\n private handleEnvNameChange = async () => {\n if (this.renameEnvironmentCallback) {\n const response = this.renameEnvironmentCallback(this.envNameEl.value);\n response.then((result: EditResult) => {\n if (result.success) {\n this.environment.name = this.envNameEl.value;\n }\n this.editValidation(result, this.envNameEl);\n });\n }\n };\n\n private handleDescriptionChange = async () => {\n if (this.editDescriptionCallback) {\n await this.editDescriptionCallback();\n }\n };\n\n // Recent Objects\n\n private openObject = (id: string) => {\n this.openObjectCallback(id);\n };\n\n // Validation\n\n private editValidation = (\n result: EditResult,\n el: HTMLGxgTitleEditableElement\n ) => {\n if (!result.success) {\n el.validationStatus = \"error\";\n el.validationMessage = result.errorMessage;\n } else {\n el.validationStatus = \"indeterminate\";\n el.validationMessage = \"\";\n }\n };\n\n // 10.RENDER() FUNCTIONS //\n\n private renderProjectContent = (): Element => {\n return this.projectDescription ? (\n <div class=\"project-description\" innerHTML={this.projectDescription}>\n {this.enableEditDescription ? (\n <gxg-button\n type=\"secondary-text-icon\"\n icon=\"gemini-tools/edit\"\n onClick={this.handleDescriptionChange}\n >\n {this._componentLocale.edit}\n </gxg-button>\n ) : null}\n </div>\n ) : null;\n };\n\n private renderFrontEndTitle() {\n return this.environment.frontEnd.length <= 1\n ? this._componentLocale.environment.frontEndLang\n : this._componentLocale.environment.frontEndLangs;\n }\n\n private renderKbDates() {\n return this.kb.created || this.kb.lastBuild ? (\n <gxg-text class=\"display-inline\" type=\"text-gray\" padding=\"s\">\n {\n /* created*/\n this.kb.created\n ? `${this._componentLocale.created}: ${formatDate(\n this.kb.created,\n \"date-time-short\"\n )}`\n : null\n }\n {this.kb.created && this.kb.lastBuild ? \" - \" : null}\n {\n /* last build date */\n this.kb.lastBuild\n ? `${this._componentLocale.lastBuild}: ${formatDate(\n this.kb.lastBuild,\n \"date-time-short\"\n )}`\n : null\n }\n </gxg-text>\n ) : null;\n }\n\n // 11.RENDER() MAIN FUNCTION //\n\n render() {\n return (\n <Host>\n <div class=\"gx-ide-main-wrapper\">\n <div class=\"grid grid--basic\">\n <div class=\"kb gxi-overflow-auto\">\n <gxg-title-editable\n value={this.kb.name}\n disable-edition={!this.enableEditKBName}\n click-to-edit={true}\n fluid\n onValueChanged={this.handleKbNameChange}\n focusType=\"text\"\n debounce\n ref={el => (this.kbNameEl = el as HTMLGxgTitleEditableElement)}\n ></gxg-title-editable>\n <div class=\"align-center kb-detail\">\n <gxg-pill id=\"pill\" type=\"static\" icon=\"objects/procedure\">\n {this._componentLocale.version}: {this.kb.currentVersion}\n </gxg-pill>\n\n {this.renderKbDates()}\n </div>\n </div>\n\n <div class=\"environment\">\n <gxg-title-editable\n class=\"environment-title\"\n value={this.environment.name}\n disable-edition={!this.enableEditEnvironmentName}\n click-to-edit={true}\n title-type=\"h3\"\n ref={el => (this.envNameEl = el as HTMLGxgTitleEditableElement)}\n onValueChanged={this.handleEnvNameChange}\n focusType=\"text\"\n debounce\n ></gxg-title-editable>\n <div class=\"environment__environments\">\n <gxg-card\n cardType=\"mini\"\n class=\"environment-card\"\n cardTitle={this.renderFrontEndTitle()}\n >\n <div class=\"environment-container\">\n {this.environment?.frontEnd?.map(\n (obj: EnvironmentItemData) => (\n <div class=\"environment-item\">\n <gxg-icon\n type={obj.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {obj.name}\n </div>\n )\n )}\n </div>\n </gxg-card>\n <gxg-card\n cardType=\"mini\"\n class=\"environment-card\"\n cardTitle={this._componentLocale.environment.backEnd}\n >\n <div class=\"environment-container\">\n <div class=\"environment-item\">\n <gxg-icon\n type={this.environment.backEnd.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {this.environment.backEnd.name}\n </div>\n </div>\n </gxg-card>\n\n <gxg-card\n cardType=\"mini\"\n class=\"environment-card\"\n cardTitle={this._componentLocale.environment.dataStore}\n >\n <div class=\"environment-container\">\n <div class=\"environment-item\">\n <gxg-icon\n type={this.environment.dataStore.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {this.environment.dataStore.name}\n </div>\n </div>\n </gxg-card>\n </div>\n </div>\n\n <gxg-card\n editableTitle={false}\n cardTitle={this._componentLocale.project.title}\n class=\"project\"\n >\n {/* <gxg-tabs height=\"auto\" minWidth=\"100%\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.description}\n tab=\"description\"\n is-selected\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.lookFeel}\n tab=\"lookFeel\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.architecture}\n tab=\"architecture\"\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab noPadding tab=\"description\" flexContainer>\n {this.renderProjectContent()}\n </gxg-tab>\n <gxg-tab noPadding tab=\"lookFeel\" flexContainer></gxg-tab>\n <gxg-tab noPadding tab=\"architecture\" flexContainer></gxg-tab>\n </gxg-tabs> */}\n {this.renderProjectContent()}\n </gxg-card>\n\n <gxg-card\n editableTitle={false}\n cardTitle={this._componentLocale.recentObjects.title}\n class=\"recent-objects\"\n cardType=\"section\"\n noPaddingTop\n ref={el =>\n (this.recentObjectsContainerEl = el as HTMLGxgCardElement)\n }\n >\n <div class=\"recent-objects__container\">\n {this.recentObjects?.length === 0 ? (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIcon=\"mercury/folder\"\n stateTitle={\n this._componentLocale.recentObjects.emptyState.title\n }\n stateDescription={\n this._componentLocale.recentObjects.emptyState.description\n }\n ></gx-ide-empty-state>\n ) : (\n this.recentObjects?.map((obj: recentObjectData) => {\n const statusLocale = mapStatusToLocale[obj.status];\n const statusDescription =\n this._componentLocale.recentObjects.status[statusLocale];\n return (\n <gxg-card\n background=\"gray-01\"\n padding=\"m\"\n cardType=\"article\"\n class=\"recent-objects__card\"\n actionable\n onClick={() => this.openObject(obj.id)}\n >\n <div class=\"recent-objects__object\">\n <div class=\"col col-left\">\n <gxg-icon\n type={obj.typeIcon}\n color=\"auto\"\n ></gxg-icon>\n <gxg-text type=\"text-regular\" class=\"obj-name\">\n {obj.name}\n </gxg-text>\n </div>\n <div class=\"col col-right\">\n <gxg-text italic>\n {statusDescription}\n {obj.status === \"modified\"\n ? formatDate(obj.modificationDate, \"date\")\n : null}\n </gxg-text>\n {obj.status !== \"unmodified\" &&\n obj.status !== \"not-connected\" ? (\n <gxg-icon\n type={mapStatusToIcons[obj.status]}\n color=\"auto\"\n ></gxg-icon>\n ) : null}\n </div>\n </div>\n </gxg-card>\n );\n })\n )}\n </div>\n </gxg-card>\n </div>\n </div>\n <gxg-ide-loader\n loaderTitle={this._componentLocale.loader.title}\n description={this._componentLocale.loader.description}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n name: string;\n currentVersion: string;\n created: Date;\n lastBuild?: Date;\n};\n\nexport type EnvironmentData = {\n name: string;\n frontEnd: EnvironmentItemData[];\n backEnd: EnvironmentItemData;\n dataStore: EnvironmentItemData;\n};\n\nexport type EnvironmentItemData = {\n icon: string;\n name: string;\n};\n\nexport type recentObjectData = {\n id: string;\n typeIcon: string;\n name: string;\n modificationDate: Date;\n status: RecentObjectStatus;\n};\n\nexport type RecentObjectStatus =\n | \"new\"\n | \"modified\"\n | \"conflicted\"\n | \"unmodified\"\n | \"not-connected\";\n\nexport type StatusIcons =\n // toDo: Add proper icons!!\n | \"gx-server/new\"\n | \"patterns-default-associated/modified\"\n | \"patterns-default-associated/synchronized\"\n | \"gx-server/delete\";\n\nexport type EditResult = {\n success: boolean;\n errorMessage: string;\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["wwImagesCss","CSS_BUNDLES","GxIdeWWImages","this","renderedFirstTime","attachDetectClickOutsideFilter","document","addEventListener","detectClickOutsideFilter","removeDetectClickOutsideFilter","removeEventListener","e","clickedOutside","closeOnOutsideClickHandler","filterEl","filtersHidden","saveInitialFilterData","filterInitialData","name","filterNameEl","value","module","filterModuleEl","searchContents","filterSearchContentsEl","category","filterCategoryEl","allDescendants","filterAllDescendantsEl","checked","modified","filterModifiedEl","dateTime","filterModifiedDateEl","after","filterAfterTypeEl","user","filterUserEl","style","filterStyleEl","language","filterLanguageEl","density","filterDensityEl","layer","filterLayerEl","renderFilter","h","class","ref","el","label","_componentLocale","filter","part","moduleFolder","defaultModule","defaultValue","selectEntityCallback","selectModuleCallback","onClick","resetFilterHandler","type","icon","toggleFiltersHandler","search","defaultCategory","disabled","categories","renderFormItems","_a","labelPosition","center","hide","filterModified","filterAfterType","FILTER_AFTER","DATE_TIME","afterLabel","id","NONE","afterNone","IMPORT","LAST_BUILD","centerLabel","styles","_b","languages","_c","densities","_d","layers","_e","renderImagesData","contentBorderEnd","noContentPadding","titleType","containerTitle","secondaryFilter","imagesDataTitle","slot","placeholder","onInput","filterInputHandler","chGridEl","rowSelectionMode","columnName","columnNameHidden","settingable","size","gridCommon","colSize","maxContent","tableHead","common","description","commonDouble","modifiedDate","lastUser","importDate","filteredImages","map","obj","rowid","src","hiChar","filterImagesInputValue","formatDate","renderImages","imagesTitle","titleHeightAsInput","imagesSelectedItems","item","url","alt","getImages","filters","parent","modifiedAfter","Object","assign","modifiedBy","loadCallback","then","items","images","selectedObjectsIds","deselectAll","filterImagesInformationHandler","newObjectCallbackHandler","newObjectCallback","openSelectionCallBackHandler","openSelectionCallback","deleteSelectionCallbackHandler","deleteSelectionCallback","selectAll","selectAllRows","listenChanges","detail","ev","loadImageItemsCallback","rowsId","selectionObjectChangedCallback","preventDefault","stopPropagation","contextMenuCallback","selection","selectedRowsId","clientX","clientY","filterValue","toLocaleLowerCase","image","nameMatch","includes","moduleMatch","descriptionMatch","modifiedDateMatch","toString","importDateMatch","filtersHiddenHandler","hidden","componentWillLoad","Locale","getComponentStrings","componentDidLoadEvent","emit","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","componentName","keyDownHandler","eventInfo","activeElement","key","validate","isValid","reload","render","Host","model","noContentGap","displayTitle","slimmerFooter","config","gxIdeContainer","footer","btnSelectAll","btnNew","length","objCount","matching"],"sources":["src/components/ww-images/ww-images.scss?tag=gx-ide-ww-images&encapsulation=shadow","src/components/ww-images/ww-images.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/*--- Filter ---*/\n.filter--padding {\n padding: var(--gx-ide-container__padding);\n}\n.filter--gap {\n gap: var(--gx-ide-grid-row-gap);\n}\n.filter {\n display: flex;\n flex-direction: column;\n &__first-row {\n display: flex;\n gap: var(--gx-ide-grid-column-gap);\n .name,\n .module-folder {\n flex: 1;\n }\n .filter-btn {\n flex: none;\n }\n .second-column {\n display: flex;\n flex-direction: row;\n align-items: end;\n gap: var(--gx-ide-grid-column-gap);\n }\n > * {\n flex: 1;\n }\n }\n .checkboxes-label-wrapper {\n display: flex;\n flex-direction: column;\n gap: 0;\n }\n .checkboxes-wrapper {\n display: flex;\n gap: var(--gx-ide-grid-column-gap);\n border: 1px solid var(--gray-02);\n border-radius: var(--border-radius-sm);\n height: var(--gxg-form-text-height);\n box-sizing: border-box;\n align-items: center;\n padding-inline-start: var(--mer-spacing--2xs);\n }\n .user {\n max-width: 100% !important;\n }\n}\n\n/*Filter*/\n.filters-outer-wrapper {\n display: grid;\n grid-template-rows: 1fr;\n transition: grid-template-rows 200ms;\n &--hidden {\n grid-template-rows: 0fr;\n }\n}\n.filters-inner-wrapper {\n padding-top: var(--gx-ide-container__padding);\n overflow: hidden;\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n grid-template-rows: repeat(3, 1fr);\n\n .search-contents {\n grid-area: 1 / 1 / 2 / 5;\n }\n .category {\n grid-area: 1 / 5 / 2 / 9;\n }\n .options {\n grid-area: 1 / 9 / 2 / 13;\n }\n .date-time {\n grid-area: 2 / 1 / 3 / 5;\n }\n .after-date-time {\n grid-area: 2 / 5 / 3 / 9;\n }\n .user {\n grid-area: 2 / 9 / 3 / 13;\n }\n .style {\n grid-area: 3 / 1 / 4 / 4;\n }\n .language {\n grid-area: 3 / 4 / 4 / 7;\n }\n .density {\n grid-area: 3 / 7 / 4 / 10;\n }\n .layer {\n grid-area: 3 / 10 / 4 / 13;\n }\n}\n\n.master-wrapper {\n height: 100%;\n display: grid;\n grid-template-rows: auto 1fr;\n}\n\n/*--- Grid/Images Container ---*/\n.grid-images-container {\n border-top: 1px solid var(--gx-ide-container-border-color);\n display: grid;\n grid-template-columns: 1fr 220px;\n grid-column-gap: 0;\n grid-row-gap: 0;\n overflow: auto;\n}\n.images-information {\n &__header {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-column-gap);\n &-title {\n flex: none;\n }\n }\n}\n\n/* Objects Table */\n.images-grid {\n grid-template-columns: repeat(2, 1fr);\n grid-column-gap: 0;\n > :nth-child(1) {\n grid-area: 1 / 1 / 1 / 3;\n }\n}\n.images-container {\n .image-item {\n display: inline-block;\n width: 50%;\n height: 110px; /*should be half the images container width (actually is 220px)*/\n &__container {\n padding: var(--gx-ide-container__padding);\n img {\n width: 100%;\n height: 100%;\n object-fit: scale-down;\n }\n }\n &__name {\n @include elipsis;\n text-align: center;\n width: 100%;\n display: block;\n font-size: 10px;\n padding: 4px 8px;\n box-sizing: border-box;\n background-color: var(--gray-00);\n }\n &:nth-child(odd) {\n .image-item__name {\n border-inline-end: 1px solid var(--gray-02);\n }\n }\n }\n}\n.objects-count {\n grid-template-columns: repeat(2, 1fr);\n *:nth-child(2) {\n justify-content: flex-end;\n align-items: flex-start;\n }\n}\n\n@include hiChar;\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-ww-images\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 4\n )\n);\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Listen,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { ChGridRowContextMenuEvent } from \"@genexus/chameleon-controls-library\";\nimport { DatePickerDate } from \"@genexus/gemini/dist/types/components/date-picker/date-picker\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { GxOption } from \"../../common/types\";\nimport { config } from \"../../common/config\";\nimport { renderFormItems } from \"../../common/common\";\nimport { EntityData, ContextMenuInfo } from \"../../common/types\";\nimport { FILTER_AFTER } from \"../../common/constants\";\nimport {\n formatDate,\n hiChar,\n closeOnOutsideClickHandler\n} from \"../../common/helpers\";\nimport { gridCommon } from \"../../common/grid\";\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-ww-images\",\n styleUrl: \"ww-images.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ww-images\"]\n})\nexport class GxIdeWWImages {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private filterInitialData: FilerInitialData;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeWwImagesElement;\n\n private filterEl: HTMLDivElement;\n /* References needed to collect data */\n private filterNameEl!: HTMLGxgFormTextElement;\n private filterSearchContentsEl!: HTMLGxgFormTextElement;\n private filterCategoryEl!: HTMLGxgComboBoxElement;\n private filterModuleEl!: HTMLGxIdeEntitySelectorElement;\n private filterModifiedEl!: HTMLGxgFormCheckboxElement;\n private filterAllDescendantsEl!: HTMLGxgFormCheckboxElement;\n private filterAfterTypeEl!: HTMLGxgComboBoxElement;\n private filterUserEl!: HTMLGxgFormTextElement;\n private filterModifiedDateEl!: HTMLGxgDatePickerElement;\n private filterStyleEl!: HTMLGxgComboBoxElement;\n private filterLanguageEl!: HTMLGxgComboBoxElement;\n private filterDensityEl!: HTMLGxgComboBoxElement;\n private filterLayerEl!: HTMLGxgComboBoxElement;\n private chGridEl!: HTMLChGridElement;\n\n // 3.STATE() VARIABLES //\n\n @State() filtersHidden = true;\n @Watch(\"filtersHidden\")\n filtersHiddenHandler(hidden: boolean): void {\n if (hidden) {\n this.removeDetectClickOutsideFilter();\n } else {\n this.attachDetectClickOutsideFilter();\n }\n }\n\n /**\n * The after types render in the after selector\n */\n @State() filterAfterType = \"\";\n\n /**\n * For show or hide the filters relative to modifiers\n */\n @State() filterModified = false;\n\n /**\n * The images rendered in the table\n */\n @State() images: ImageData[] = [];\n\n /**\n * The images rendered in the table, after the filter\n */\n @State() filteredImages: ImageData[] = [];\n\n /**\n * The items of the image that is selected\n */\n @State() imagesSelectedItems: ImageItemData[] = [];\n\n /**\n * The selected images in the table of images\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * The images filter input text value\n */\n @State() filterImagesInputValue = \"\";\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 * Displays a secondary filter, used to filter over the filtered images\n */\n @Prop() readonly secondaryFilter = false;\n\n /**\n * The categories render in the filter category selector\n */\n @Prop() readonly categories!: GxOption[];\n\n /**\n * The densities render in the filter density selector\n */\n @Prop() readonly densities!: GxOption[];\n\n /**\n * The default value for the 'categories' filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * The default value for the type filter\n */\n @Prop() readonly defaultType: string;\n\n /**\n * The modules/folders render in the module/folder selector\n */\n @Prop() readonly filterModules!: GxOption[];\n\n /**\n * The languages render in the filter language selector\n */\n @Prop() readonly languages!: GxOption[];\n\n /**\n * The layers render in the filter layer selector\n */\n @Prop() readonly layers!: GxOption[];\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly contextMenuCallback!: ContextMenuCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly deleteSelectionCallback!: DeleteSelectionCallback;\n\n /**\n * This is a function provided by the developer that return a list of images to populate the table of images.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer that return a list of items of the image selected.\n */\n @Prop() readonly loadImageItemsCallback!: LoadImageItemsCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly newObjectCallback!: NewObjectCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback!: SelectModuleCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly selectionObjectChangedCallback!: SelectionObjectCallback;\n\n /**\n * Applies a shadow all around\n */\n @Prop() readonly shadow = false;\n\n /**\n * The styles render in the filter style selector\n */\n @Prop() readonly styles!: GxOption[];\n\n /**\n * The types render in the filter type selector\n */\n @Prop() readonly types!: GxOption[];\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.listenChanges();\n this.getImages();\n this.saveInitialFilterData();\n this.filterNameEl.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 @Listen(\"keydown\", { passive: true })\n keyDownHandler(eventInfo: KeyboardEvent) {\n if (document.activeElement === this.el) {\n switch (eventInfo.key) {\n case \"Enter\":\n this.openSelectionCallBackHandler();\n break;\n case \"Delete\":\n this.deleteSelectionCallbackHandler();\n break;\n }\n }\n }\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n /**\n * This method reload the view, refreshing the filters and the table of images.\n */\n @Method()\n async reload(): Promise<void> {\n this.deleteSelectionCallbackHandler();\n this.getImages();\n }\n\n // 9.LOCAL METHODS //\n\n private attachDetectClickOutsideFilter = () => {\n document.addEventListener(\"click\", this.detectClickOutsideFilter);\n };\n private removeDetectClickOutsideFilter = () => {\n document.removeEventListener(\"click\", this.detectClickOutsideFilter);\n };\n private detectClickOutsideFilter = (e: PointerEvent): void => {\n const clickedOutside = closeOnOutsideClickHandler(e, this.filterEl);\n if (clickedOutside) {\n this.filtersHidden = true;\n } else {\n this.filtersHidden = false;\n }\n };\n\n /**\n * @description This is needed for resetting the filter. When the user resets the filter, all the filter controls values have to be restored to the value they had on componentDidLoad.\n */\n private saveInitialFilterData = () => {\n this.filterInitialData = {\n name: this.filterNameEl.value,\n module: this.filterModuleEl.value,\n searchContents: this.filterSearchContentsEl.value,\n category: this.filterCategoryEl.value,\n allDescendants: this.filterAllDescendantsEl.checked,\n modified: this.filterModifiedEl.checked,\n dateTime: this.filterModifiedDateEl.value,\n after: this.filterAfterTypeEl.value,\n user: this.filterUserEl.value,\n style: this.filterStyleEl.value,\n language: this.filterLanguageEl.value,\n density: this.filterDensityEl.value,\n layer: this.filterLayerEl.value\n };\n };\n\n // 9.LOCAL METHODS -> Renders //\n\n private renderFilter = (): Element => {\n return (\n <div\n class=\"filter filter--padding\"\n ref={(el: HTMLDivElement) => (this.filterEl = el as HTMLDivElement)}\n >\n <div class=\"filter__first-row\">\n {/* name */}\n <gxg-form-text\n label-position=\"above\"\n label={this._componentLocale.filter.name}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterNameEl = el as HTMLGxgFormTextElement)\n }\n part=\"filter-name\"\n class=\"name\"\n ></gxg-form-text>\n\n <div class=\"second-column\">\n {/* module/folder */}\n <gx-ide-entity-selector\n label={this._componentLocale.filter.moduleFolder}\n label-position=\"above\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.filterModuleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"module-folder\"\n part=\"filter-module-folder\"\n ></gx-ide-entity-selector>\n\n {/* reset filter button */}\n <gxg-button\n onClick={this.resetFilterHandler}\n part=\"gxg-button-reset-filter\"\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n class=\"reset-filter-btn\"\n ></gxg-button>\n\n {/* filter button */}\n <gxg-button\n onClick={this.toggleFiltersHandler}\n part=\"gxg-button gxg-button--more-less\"\n type=\"secondary-icon-only\"\n icon={\n true ? \"window-tools/filter-conditions\" : \"window-tools/filter\"\n }\n class=\"filter-btn\"\n ></gxg-button>\n </div>\n </div>\n\n <div\n class={{\n \"filters-outer-wrapper\": true,\n \"filters-outer-wrapper--hidden\": this.filtersHidden\n }}\n >\n <div\n class={{\n \"filter\": true,\n \"filter--gap\": true,\n \"filters-inner-wrapper\": true\n }}\n >\n {/* search contents */}\n <gxg-form-text\n label-position=\"above\"\n label={this._componentLocale.filter.search}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterSearchContentsEl = el as HTMLGxgFormTextElement)\n }\n class={{ \"search-contents\": true }}\n part=\"filter-search\"\n ></gxg-form-text>\n\n {/* category */}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.category}\n value={this.defaultCategory}\n disabled={!this.categories}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterCategoryEl = el as HTMLGxgComboBoxElement)\n }\n class=\"category\"\n part=\"filter-category\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.categories ?? [])}\n </gxg-combo-box>\n\n <div class=\"options\">\n <gxg-label labelPosition=\"above\" center={false}>\n Options:\n </gxg-label>\n {/* all descendants*/}\n <div class=\"checkboxes-wrapper\">\n <gxg-form-checkbox\n label={this._componentLocale.filter.allDescendants}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.filterAllDescendantsEl =\n el as HTMLGxgFormCheckboxElement)\n }\n class=\"all-descendants\"\n part=\"filter-all-descendants\"\n ></gxg-form-checkbox>\n\n {/* modified */}\n <gxg-form-checkbox\n label={this._componentLocale.filter.modified}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.filterModifiedEl = el as HTMLGxgFormCheckboxElement)\n }\n class=\"modified\"\n part=\"filter-modified\"\n ></gxg-form-checkbox>\n </div>\n </div>\n\n {/* date/time*/}\n <div\n class={{\n \"hide\":\n !this.filterModified ||\n this.filterAfterType !== FILTER_AFTER.DATE_TIME,\n \"date-time\": true\n }}\n part=\"filter-datetime\"\n >\n <div class=\"date-time-wrapper\">\n <gxg-label label-position=\"above\">\n {this._componentLocale.filter.dateTime}\n </gxg-label>\n <gxg-date-picker\n disabled={!this.filterModified}\n ref={(el: HTMLGxgDatePickerElement) =>\n (this.filterModifiedDateEl = el as HTMLGxgDatePickerElement)\n }\n ></gxg-date-picker>\n </div>\n </div>\n\n {/* after date/time */}\n <gxg-combo-box\n class=\"after-date-time\"\n disabled={!this.filterModified}\n label={this._componentLocale.filter.afterLabel}\n disable-filter\n value={this.filterAfterType}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterAfterTypeEl = el as HTMLGxgComboBoxElement)\n }\n part=\"filter-after-type\"\n >\n {renderFormItems(\"gxg-combo-box-item\", [\n {\n id: FILTER_AFTER.NONE,\n label: this._componentLocale.filter.afterNone,\n value: FILTER_AFTER.NONE\n },\n {\n id: FILTER_AFTER.DATE_TIME,\n label: this._componentLocale.filter[FILTER_AFTER.DATE_TIME],\n value: FILTER_AFTER.DATE_TIME\n },\n {\n id: FILTER_AFTER.IMPORT,\n label: this._componentLocale.filter[FILTER_AFTER.IMPORT],\n value: FILTER_AFTER.IMPORT\n },\n {\n id: FILTER_AFTER.LAST_BUILD,\n label: this._componentLocale.filter[FILTER_AFTER.LAST_BUILD],\n value: FILTER_AFTER.LAST_BUILD\n }\n ])}\n </gxg-combo-box>\n\n {/* user */}\n <gxg-form-text\n disabled={!this.filterModified}\n labelPosition=\"above\"\n label={this._componentLocale.filter.user}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterUserEl = el as HTMLGxgFormTextElement)\n }\n value=\"hey\"\n centerLabel={false}\n class=\"user\"\n part=\"filter-user\"\n ></gxg-form-text>\n\n {/* style*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.style}\n disabled={!this.styles}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterStyleEl = el as HTMLGxgComboBoxElement)\n }\n class=\"style\"\n part=\"filter-style\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.styles ?? [])}\n </gxg-combo-box>\n\n {/* language*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.language}\n disabled={!this.languages}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterLanguageEl = el as HTMLGxgComboBoxElement)\n }\n class=\"language\"\n part=\"filter-language\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.languages ?? [])}\n </gxg-combo-box>\n\n {/* density*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.density}\n disabled={!this.densities}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterDensityEl = el as HTMLGxgComboBoxElement)\n }\n class=\"density\"\n part=\"filter-density\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.densities ?? [])}\n </gxg-combo-box>\n\n {/* layer*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.layer}\n disabled={!this.layers}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterLayerEl = el as HTMLGxgComboBoxElement)\n }\n class=\"layer\"\n part=\"filter-layer\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.layers ?? [])}\n </gxg-combo-box>\n </div>\n </div>\n </div>\n );\n };\n\n private renderImagesData = (): Element => {\n return (\n /* images information*/\n <gx-ide-container\n contentBorderEnd\n noContentPadding\n titleType=\"secondary\"\n containerTitle={\n !this.secondaryFilter ? this._componentLocale.imagesDataTitle : null\n }\n class={{ \"images-information\": true, \"overflow-auto\": true }}\n part=\"grid-container\"\n >\n {this.secondaryFilter ? (\n <header class=\"images-information__header\" slot=\"header\">\n <gx-ide-title\n type=\"secondary\"\n class=\"images-information__header-title\"\n >\n {this._componentLocale.imagesDataTitle}\n </gx-ide-title>\n <gxg-form-text\n icon=\"gemini-tools/search\"\n icon-position=\"start\"\n placeholder=\"Search by any field\"\n onInput={this.filterInputHandler as any}\n ></gxg-form-text>\n </header>\n ) : null}\n\n <ch-tabular-grid\n ref={(el: HTMLChTabularGridElement) => (this.chGridEl = el)}\n part=\"ch-grid-images\"\n rowSelectionMode=\"single\"\n class=\"tabular-grid tabular-grid-ww-images\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnName=\"\"\n columnNameHidden={false}\n settingable={false}\n size={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 columnNameHidden={false}\n settingable={false}\n class=\"tabular-grid-column\"\n size={gridCommon.colSize.common}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.module}\n columnNameHidden={false}\n settingable={false}\n size={gridCommon.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n columnNameHidden={false}\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.modifiedDate}\n columnNameHidden={false}\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.lastUser}\n columnNameHidden={false}\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.importDate}\n columnNameHidden={false}\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.filteredImages.map((obj: ImageData) => (\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.icon}></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.name, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.module, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.description, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n `${formatDate(obj.modifiedDate)}`,\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.lastUser, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n `${formatDate(obj.importDate)}`,\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n </gx-ide-container>\n );\n };\n\n private renderImages = (): Element => {\n return (\n /* tiles */\n <gx-ide-container\n containerTitle={this._componentLocale.imagesTitle}\n noContentPadding\n titleType=\"secondary\"\n class=\"overflow-auto\"\n titleHeightAsInput={\n this.secondaryFilter ? this._componentLocale.imagesDataTitle : null\n }\n part=\"image-data-container\"\n >\n <div class=\"images-container\">\n {this.imagesSelectedItems.map(item => (\n <div class=\"image-item\">\n <div class=\"image-item__container\">\n <div class=\"img\">\n <img src={item.url} alt={item.id} />\n </div>\n </div>\n <span class=\"image-item__name\">{item.name}</span>\n </div>\n ))}\n </div>\n </gx-ide-container>\n );\n };\n\n // 9.LOCAL METHODS -> Other //\n\n private getImages = (): void => {\n let filters: ImageFiltersData = {\n name: this.filterNameEl.value,\n parent: this.filterModuleEl.value ? this.filterModuleEl.value.id : null\n };\n\n const modified = this.filterModifiedEl.checked;\n const modifiedAfter = this.filterAfterTypeEl.value;\n filters = {\n ...filters,\n searchContents: this.filterSearchContentsEl.value,\n category: this.filterCategoryEl.value,\n allDescendants: this.filterAllDescendantsEl.checked,\n modifiedAfter: modified ? modifiedAfter : null,\n modifiedBy: modified ? this.filterUserEl.value : null,\n modifiedDate:\n modified && modifiedAfter === FILTER_AFTER.DATE_TIME\n ? (this.filterModifiedDateEl.value as Date)\n : null,\n style: this.filterStyleEl.value,\n language: this.filterLanguageEl.value,\n density: this.filterDensityEl.value,\n layer: this.filterLayerEl.value\n };\n\n this.loadCallback(filters).then((items: ImageData[]) => {\n this.images = items;\n this.selectedObjectsIds = [];\n this.deselectAll();\n this.filterImagesInformationHandler();\n });\n };\n\n private newObjectCallbackHandler = (): void => {\n this.newObjectCallback();\n };\n\n private openSelectionCallBackHandler = (): void => {\n this.openSelectionCallback(this.selectedObjectsIds);\n };\n\n private deleteSelectionCallbackHandler = (): void => {\n this.deleteSelectionCallback(this.selectedObjectsIds);\n };\n\n private resetFilterHandler = () => {\n if (this.filterInitialData) {\n this.filterNameEl.value = this.filterInitialData.name;\n this.filterModuleEl.value = this.filterInitialData.module;\n this.filterSearchContentsEl.value = this.filterInitialData.searchContents;\n this.filterCategoryEl.value = this.filterInitialData.category;\n this.filterAllDescendantsEl.checked =\n this.filterInitialData.allDescendants;\n this.filterModifiedEl.checked = this.filterInitialData.modified;\n this.filterModifiedDateEl.value = this.filterInitialData.dateTime;\n this.filterAfterTypeEl.value = this.filterInitialData.after;\n this.filterUserEl.value = this.filterInitialData.user;\n this.filterStyleEl.value = this.filterInitialData.style;\n this.filterLanguageEl.value = this.filterInitialData.language;\n this.filterDensityEl.value = this.filterInitialData.density;\n this.filterLayerEl.value = this.filterInitialData.layer;\n }\n };\n\n private toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n private selectAll = (): void => {\n (this.chGridEl as any).selectAllRows();\n };\n\n private deselectAll = (): void => {\n (this.chGridEl as any).selectAllRows(false);\n };\n\n private listenChanges = (): void => {\n /* name */\n this.filterNameEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* module/folder */\n this.filterModuleEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* search contents*/\n this.filterSearchContentsEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* category */\n this.filterCategoryEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* (options) -> all descendants */\n this.filterAllDescendantsEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* (options) -> modified */\n this.filterModifiedEl.addEventListener(\"change\", (e: any) => {\n this.filterModified = e.detail.value;\n this.getImages();\n });\n /* date/time */\n this.filterModifiedDateEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* after */\n this.filterAfterTypeEl.addEventListener(\"valueChanged\", () => {\n this.filterAfterType = this.filterAfterTypeEl.value;\n this.getImages();\n });\n /* user */\n this.filterUserEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* style */\n this.filterStyleEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* language */\n this.filterLanguageEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* density */\n this.filterDensityEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* layer */\n this.filterLayerEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n\n // for grid selection\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.loadImageItemsCallback(ev.detail.rowsId[0]).then(\n (items: ImageItemData[]) => {\n this.imagesSelectedItems = items;\n }\n );\n });\n this.chGridEl.addEventListener(\"rowDoubleClicked\", (): void => {\n this.openSelectionCallBackHandler();\n });\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n this.selectionObjectChangedCallback(this.selectedObjectsIds);\n });\n this.chGridEl.addEventListener(\n \"rowContextMenu\",\n (ev: CustomEvent<ChGridRowContextMenuEvent>): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.contextMenuCallback({\n selection: ev.detail.selectedRowsId,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n );\n };\n\n private filterInputHandler = (e: CustomEvent<EventEmitter>) => {\n this.filterImagesInputValue = e.detail as unknown as string;\n this.filterImagesInformationHandler();\n };\n\n private filterImagesInformationHandler = () => {\n const filterValue = this.filterImagesInputValue.toLocaleLowerCase();\n this.filteredImages = this.images.filter(image => {\n const nameMatch = image.name.toLocaleLowerCase().includes(filterValue);\n const moduleMatch = image.module\n .toLocaleLowerCase()\n .includes(filterValue);\n const descriptionMatch = image.description\n .toLocaleLowerCase()\n .includes(filterValue);\n const modifiedDateMatch = image.modifiedDate\n .toString()\n .includes(filterValue);\n const lastUser = image.lastUser.toLocaleLowerCase().includes(filterValue);\n const importDateMatch =\n image.importDate && image.importDate.toString().includes(filterValue);\n\n return (\n nameMatch ||\n moduleMatch ||\n descriptionMatch ||\n modifiedDateMatch ||\n lastUser ||\n importDateMatch\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 noContentPadding\n noContentGap\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"master-wrapper\">\n {this.renderFilter()}\n <div class=\"grid-images-container\">\n {this.renderImagesData()}\n {this.renderImages()}\n </div>\n </div>\n\n {/* select all button */}\n <gxg-button\n id=\"button-select-all\"\n type=\"outlined\"\n onClick={this.selectAll}\n part=\"gxg-button gxg-button--select-all\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnSelectAll}\n </gxg-button>\n\n {/* new file button*/}\n <gxg-button\n id=\"button-new-file\"\n type=\"primary-text-icon\"\n icon=\"objects/image\"\n onClick={this.newObjectCallbackHandler}\n part=\"gxg-button gxg-button--new-file\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnNew}\n </gxg-button>\n\n {/* matching objects */}\n <gxg-text\n class=\"align-end\"\n part=\"objects-matching\"\n slot=\"footer-start\"\n >\n {`${this.filteredImages.length} ${this._componentLocale.objCount.matching}`}\n </gxg-text>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type SelectionObjectCallback = (ids: string[]) => Promise<void>;\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\nexport type DeleteSelectionCallback = (ids: string[]) => Promise<void>;\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\nexport type ContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport type NewObjectCallback = () => Promise<void>;\nexport type LoadCallback = (filters: ImageFiltersData) => Promise<ImageData[]>;\nexport type LoadImageItemsCallback = (id: string) => Promise<ImageItemData[]>;\n\nexport type ImageFiltersData = {\n name?: string;\n searchContents?: string;\n category?: string;\n parent?: string;\n allDescendants?: boolean;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n style?: string;\n language?: string;\n density?: string;\n layer?: string;\n};\n\nexport type ImageData = {\n id: string;\n icon: string;\n name: string;\n description: string;\n parent: string;\n module: string;\n modifiedDate?: Date;\n lastUser?: string;\n importDate?: Date;\n};\n\nexport type ImageItemData = {\n id: string;\n name: string;\n url: string;\n};\n\ntype FilerInitialData = {\n name: string;\n module: EntityData;\n searchContents: string;\n category: string;\n allDescendants: boolean;\n modified: boolean;\n dateTime: DatePickerDate;\n after: string;\n user: string;\n style: string;\n language: string;\n density: string;\n layer: string;\n};\n"],"mappings":"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"}
|