@genexus/genexus-ide-ui 1.0.2 → 1.0.4
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/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +3 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-loader.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +5 -4
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/_helpers/card/card.css +0 -40
- package/dist/collection/components/_helpers/container/container.js.map +1 -1
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +0 -40
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js +20 -1
- 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 +1 -1
- package/dist/collection/components/_helpers/ide-loader/ide-loader.css +1 -0
- package/dist/collection/components/_helpers/list-selector/list-selector.css +0 -40
- package/dist/collection/components/_starting-template/template.css +0 -40
- package/dist/collection/components/ai-assistant/ai-assistant.css +0 -40
- package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +0 -80
- package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +0 -40
- package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +0 -40
- package/dist/collection/components/bpm/import-files/bpm-import-files.css +0 -40
- package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +0 -40
- package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +0 -40
- package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +0 -40
- package/dist/collection/components/connect-gx-server/connect-gx-server.css +0 -40
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +0 -40
- package/dist/collection/components/dashboard-home/dashboard-home.css +0 -40
- package/dist/collection/components/data-selector/data-selector.css +0 -40
- package/dist/collection/components/design-import/design-import.css +0 -40
- package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +0 -40
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +0 -40
- package/dist/collection/components/kb-manager-import/kb-manager-import.css +0 -80
- package/dist/collection/components/modules/edit-module-server/edit-module-server.css +0 -40
- package/dist/collection/components/modules/manage-module-references/manage-module-references.css +0 -40
- package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +0 -40
- package/dist/collection/components/new-environment/new-environment.css +0 -40
- package/dist/collection/components/new-kb/new-kb.css +0 -40
- package/dist/collection/components/new-object/new-object.css +0 -40
- package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +0 -2
- package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +1 -1
- package/dist/collection/components/object-selector/object-selector.css +0 -80
- package/dist/collection/components/object-selector/object-selector.js +1 -1
- package/dist/collection/components/object-selector/object-selector.js.map +1 -1
- package/dist/collection/components/references/references.css +0 -40
- package/dist/collection/components/share-kb/share-kb.css +0 -40
- package/dist/collection/components/start-page/recent-news.css +0 -40
- package/dist/collection/components/start-page/recent-news.js +3 -2
- package/dist/collection/components/start-page/recent-news.js.map +1 -1
- package/dist/collection/components/start-page/start-page.css +0 -40
- package/dist/collection/components/start-page/start-page.js +4 -3
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/collection/components/team-dev/commit/commit.css +0 -80
- package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +0 -40
- package/dist/collection/components/team-dev/update/update.css +0 -80
- package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +0 -40
- package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +0 -40
- package/dist/collection/components/wf-settings/wf-settings.css +0 -40
- package/dist/collection/components/ww-images/ww-images.css +0 -80
- package/dist/components/bpm-objects-selector.js +1 -1
- package/dist/components/bpm-objects-selector.js.map +1 -1
- package/dist/components/container.js.map +1 -1
- package/dist/components/entity-selector.js +4 -1
- 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 +1 -1
- package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
- package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
- package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
- package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-files.js +1 -1
- package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
- package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
- package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
- package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
- package/dist/components/gx-ide-card.js +1 -1
- package/dist/components/gx-ide-card.js.map +1 -1
- package/dist/components/gx-ide-connect-gx-server.js +1 -1
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +1 -1
- package/dist/components/gx-ide-dashboard-home.js.map +1 -1
- package/dist/components/gx-ide-data-selector.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
- package/dist/components/gx-ide-manage-module-references.js +1 -1
- package/dist/components/gx-ide-manage-module-references.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +1 -1
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +1 -1
- 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 +2 -2
- 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 +1 -1
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +5 -4
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +1 -1
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/ide-loader.js +1 -1
- 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 +4 -3
- package/dist/components/recent-news.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
- package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
- package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
- package/dist/esm/gx-ide-card.entry.js +1 -1
- package/dist/esm/gx-ide-card.entry.js.map +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +1 -1
- package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
- package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +3 -1
- package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
- package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
- package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-loader.entry.js +1 -1
- package/dist/esm/gx-ide-loader.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +1 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +1 -1
- package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +2 -2
- package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-recent-news.entry.js +4 -3
- package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
- package/dist/esm/gx-ide-references.entry.js +1 -1
- package/dist/esm/gx-ide-references.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +5 -4
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/gx-ide-template.entry.js +1 -1
- package/dist/esm/gx-ide-template.entry.js.map +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
- package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +0 -2
- package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +1 -1
- package/dist/genexus-ide-ui/{p-4a0e3c34.entry.js → p-032bdefc.entry.js} +72 -72
- package/dist/genexus-ide-ui/{p-ed72073c.entry.js → p-04421676.entry.js} +40 -40
- package/dist/genexus-ide-ui/{p-33434d7d.entry.js → p-0ac125fc.entry.js} +169 -169
- package/dist/genexus-ide-ui/{p-03b4b814.entry.js → p-0bb18689.entry.js} +168 -168
- package/dist/genexus-ide-ui/{p-969e4799.entry.js → p-0be068bf.entry.js} +65 -65
- package/dist/genexus-ide-ui/{p-02c7b423.entry.js → p-19789aa2.entry.js} +72 -72
- package/dist/genexus-ide-ui/{p-92e46b5d.entry.js → p-27fcaad7.entry.js} +30 -30
- package/dist/genexus-ide-ui/{p-2073deab.entry.js → p-2fd83e6c.entry.js} +29 -29
- package/dist/genexus-ide-ui/{p-a88e14f8.entry.js → p-33c1ddd9.entry.js} +154 -154
- package/dist/genexus-ide-ui/{p-82649b9b.entry.js → p-38f61bea.entry.js} +46 -46
- package/dist/genexus-ide-ui/{p-28456a97.entry.js → p-3e48e2f6.entry.js} +16 -16
- package/dist/genexus-ide-ui/{p-51771269.entry.js → p-54ee665f.entry.js} +27 -27
- package/dist/genexus-ide-ui/{p-43cfd06b.entry.js → p-638befbe.entry.js} +35 -35
- package/dist/genexus-ide-ui/{p-77239013.entry.js → p-68810397.entry.js} +20 -20
- package/dist/genexus-ide-ui/{p-941cdab8.entry.js → p-69edc29c.entry.js} +52 -52
- package/dist/genexus-ide-ui/{p-7ca8ed4b.entry.js → p-6da8bf60.entry.js} +53 -53
- package/dist/genexus-ide-ui/p-7ac25fc3.entry.js.map +1 -1
- package/dist/genexus-ide-ui/{p-73afc989.entry.js → p-7b8e41dd.entry.js} +12 -12
- package/dist/genexus-ide-ui/{p-60b5aa38.entry.js → p-8da18e59.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-2238f5b3.entry.js → p-929dd336.entry.js} +9 -9
- package/dist/genexus-ide-ui/{p-a1f28f2b.entry.js → p-980f96c5.entry.js} +44 -44
- package/dist/genexus-ide-ui/{p-8ee27085.entry.js → p-a04d556d.entry.js} +39 -39
- package/dist/genexus-ide-ui/{p-04875060.entry.js → p-a3daa189.entry.js} +97 -97
- package/dist/genexus-ide-ui/{p-54f34df2.entry.js → p-a587e7ca.entry.js} +3 -2
- package/dist/genexus-ide-ui/p-a587e7ca.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-ad92d701.entry.js +318 -0
- package/dist/genexus-ide-ui/{p-d0f99e7f.entry.js → p-b3baa3d2.entry.js} +35 -35
- package/dist/genexus-ide-ui/{p-44a2f835.entry.js → p-b7384b06.entry.js} +133 -132
- package/dist/genexus-ide-ui/p-b7384b06.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-48723dcd.entry.js → p-bb1d0ab8.entry.js} +8 -8
- package/dist/genexus-ide-ui/p-c64a4398.entry.js +683 -0
- package/dist/genexus-ide-ui/{p-0f7b7541.entry.js → p-cd7100fa.entry.js} +44 -44
- package/dist/genexus-ide-ui/{p-ee3161f8.entry.js → p-d178da38.entry.js} +19 -19
- package/dist/genexus-ide-ui/{p-f9aafa8f.entry.js → p-d541640a.entry.js} +24 -24
- package/dist/genexus-ide-ui/{p-73a98f20.entry.js → p-d9f7d2c3.entry.js} +41 -41
- package/dist/genexus-ide-ui/{p-cb0e11db.entry.js → p-dd07e68a.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-dd07e68a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b984f974.entry.js → p-e4db9c34.entry.js} +46 -46
- package/dist/genexus-ide-ui/{p-8050e61d.entry.js → p-eb49e4f1.entry.js} +19 -19
- package/dist/genexus-ide-ui/p-eb49e4f1.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f1f6b028.entry.js → p-eb52d685.entry.js} +31 -31
- package/dist/genexus-ide-ui/{p-d40d8792.entry.js → p-f220c75a.entry.js} +7 -7
- package/dist/genexus-ide-ui/{p-51ea74a5.entry.js → p-f5c02654.entry.js} +39 -39
- package/dist/genexus-ide-ui/{p-0bddf199.entry.js → p-f69df17d.entry.js} +29 -29
- package/dist/genexus-ide-ui/{p-957341c7.entry.js → p-f924f02a.entry.js} +84 -83
- package/dist/genexus-ide-ui/p-f924f02a.entry.js.map +1 -0
- package/dist/types/components/_helpers/entity-selector/entity-selector.d.ts +5 -0
- package/dist/types/components.d.ts +8 -0
- package/package.json +5 -8
- package/dist/genexus-ide-ui/p-15ab148b.entry.js +0 -683
- package/dist/genexus-ide-ui/p-44a2f835.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-537dfb63.entry.js +0 -318
- package/dist/genexus-ide-ui/p-54f34df2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8050e61d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-957341c7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-cb0e11db.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-4a0e3c34.entry.js.map → p-032bdefc.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ed72073c.entry.js.map → p-04421676.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-33434d7d.entry.js.map → p-0ac125fc.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-03b4b814.entry.js.map → p-0bb18689.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-969e4799.entry.js.map → p-0be068bf.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-02c7b423.entry.js.map → p-19789aa2.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-92e46b5d.entry.js.map → p-27fcaad7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2073deab.entry.js.map → p-2fd83e6c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a88e14f8.entry.js.map → p-33c1ddd9.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-82649b9b.entry.js.map → p-38f61bea.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-28456a97.entry.js.map → p-3e48e2f6.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-51771269.entry.js.map → p-54ee665f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-43cfd06b.entry.js.map → p-638befbe.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-77239013.entry.js.map → p-68810397.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-941cdab8.entry.js.map → p-69edc29c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7ca8ed4b.entry.js.map → p-6da8bf60.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-73afc989.entry.js.map → p-7b8e41dd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-60b5aa38.entry.js.map → p-8da18e59.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2238f5b3.entry.js.map → p-929dd336.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a1f28f2b.entry.js.map → p-980f96c5.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8ee27085.entry.js.map → p-a04d556d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-04875060.entry.js.map → p-a3daa189.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-537dfb63.entry.js.map → p-ad92d701.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d0f99e7f.entry.js.map → p-b3baa3d2.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-48723dcd.entry.js.map → p-bb1d0ab8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-15ab148b.entry.js.map → p-c64a4398.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0f7b7541.entry.js.map → p-cd7100fa.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ee3161f8.entry.js.map → p-d178da38.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f9aafa8f.entry.js.map → p-d541640a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-73a98f20.entry.js.map → p-d9f7d2c3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b984f974.entry.js.map → p-e4db9c34.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-f1f6b028.entry.js.map → p-eb52d685.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d40d8792.entry.js.map → p-f220c75a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-51ea74a5.entry.js.map → p-f5c02654.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-0bddf199.entry.js.map → p-f69df17d.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-object-selector.entry.js","mappings":"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","names":[],"sources":["src/components/object-selector/helpers.ts","src/components/object-selector/object-selector.scss?tag=gx-ide-object-selector&encapsulation=shadow","src/components/object-selector/object-selector.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { ObjectType, GxOption } from \"../../common/types\";\n// - - - - - - - - - - - -\n// Data Mappings\n// - - - - - - - - - - - -\n\n// ch-combo-box-render\n\nexport const mapObjectTypeToComboBoxItemModel = (\n objectTypeModel: ObjectType[]\n): ComboBoxModel =>\n objectTypeModel.map(objectType => ({\n value: objectType.id,\n caption: objectType.name\n }));\nexport const mapCategoryToComboBoxItemModel = (\n categoryModel: GxOption[]\n): ComboBoxModel =>\n categoryModel.map(category => ({\n value: category.id,\n caption: category.label\n }));\n","@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 block-size: 100%;\n display: grid;\n grid-template-rows: auto 1fr auto;\n overflow: auto;\n}\n\n/* Filters */\n.filter-layout {\n grid-template:\n \"pattern type\"\n \"category module\"\n \"modified modified\";\n grid-template-columns: 1fr 1fr;\n}\n.pattern {\n grid-area: pattern;\n}\n.type {\n grid-area: type;\n}\n.category {\n grid-area: category;\n}\n.module {\n grid-area: module;\n}\n.modified-accordion {\n grid-area: modified;\n display: flex;\n flex-direction: column;\n}\n.field-group-modified {\n grid-template-columns: 1fr 1fr 1fr;\n}\n\ngx-ide-container::part(content) {\n // only apply display grid when the loader is being displayed, to stretch the container.\n display: grid;\n}\n\n/*tabular grid*/\nch-tabular-grid {\n overflow: auto;\n max-width: 100%;\n}\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-object-selector\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 5\n )\n);\n\n/* Objects Table */\n.objects-count {\n display: grid;\n grid-template-columns: 1fr 1fr;\n border-block-start: var(--mer-border__width--sm) solid\n var(--mer-color__elevation--04);\n}\n.objects-selected {\n text-align: start;\n}\n.objects-matching {\n text-align: end;\n}\n.objects-selected,\n.objects-matching {\n padding: var(--mer-spacing--xs) var(--mer-spacing--md);\n}\ndiv.buttons-footer {\n justify-content: space-between;\n}\n\nch-tabular-grid-rowset-empty {\n position: relative; // makes this the bounder element for the loader\n}\n\nch-tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\ninput::-webkit-datetime-edit-fields-wrapper {\n // WA remove padding to force this input block-size to be the same as other\n // mercury controls block size.\n padding: none;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport {\n AccordionModel,\n ComboBoxModel,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\n\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { EntityData, GxOption, ObjectType } from \"../../common/types\";\nimport { formatDate } from \"../../common/helpers\";\nimport {\n mapObjectTypeToComboBoxItemModel,\n mapCategoryToComboBoxItemModel\n} from \"./helpers\";\nimport { FILTER_AFTER, FilterAfterValue } from \"../../common/constants\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"components/accordion\",\n \"components/tabular-grid\",\n \"utils/typography\",\n \"utils/layout\"\n];\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst USER_ICON = getIconPath({\n category: \"system\",\n name: \"user\",\n colorType: \"on-elevation\"\n});\n\nconst MODIFIED_ACCORDION_MODEL: AccordionModel = [\n {\n id: \"modified\",\n caption: \"Modified\",\n expanded: false\n }\n];\n\nlet TODAY: string = null;\n\n@Component({\n tag: \"gx-ide-object-selector\",\n styleUrl: \"object-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/object-selector\"]\n})\nexport class GxIdeObjectSelector {\n #componentLocale: any;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/object-selector/shortcuts.json`\n );\n\n #afterModel: ComboBoxModel = null;\n\n @Element() el: HTMLGxIdeObjectSelectorElement;\n\n /* References needed to collect data */\n #patternInput!: HTMLChEditElement;\n #typeComboBox!: HTMLChComboBoxRenderElement;\n #categoryComboBox!: HTMLChComboBoxRenderElement;\n #moduleEntitySelector!: HTMLGxIdeEntitySelectorElement;\n #afterTypeComboBox!: HTMLChComboBoxRenderElement;\n #userInput!: HTMLChEditElement;\n #modifiedDateInput!: HTMLInputElement;\n #objectsGrid!: HTMLChTabularGridElement;\n #shortcutsEl: HTMLChShortcutsElement;\n\n /**\n * For show or hide the filters relative to modifiers\n */\n @State() filterModified = false;\n\n /**\n * True if loadCallback has been called and has not been resolved yet.\n */\n @State() loading: boolean = false;\n\n /**\n * The \"modified after\" value\n */\n @State() modifiedAfterValue: FilterAfterValue;\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ObjectData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIdsArray: string[] = [];\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * The categories render in the filter category selector\n */\n @Prop() readonly categories!: GxOption[];\n\n /**\n * The default id value for the category filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * The default value for the type filter\n */\n @Prop() readonly defaultType: string;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * True if multiple object selection is allowed. Default is 'True'\n */\n @Prop() readonly multiSelection: boolean = false;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newObjectCallback!: NewObjectCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of object that is double-clicked or entered.\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Current value of the input pattern. It is also used to set the default value when initializing the component\n */\n @Prop() readonly patternValue: string;\n\n /**\n * Callback invoked when the action is executed in the Module/Folder filter. 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 * The types render in the filter type selector\n */\n @Prop() readonly types!: ObjectType[];\n\n async connectedCallback() {\n TODAY = this.#getToday();\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#setAfterOptions();\n this.#setAfterDefaultValue();\n }\n\n componentDidLoad() {\n this.#refreshUIWithNewConfiguration();\n this.#patternInput.focus();\n }\n\n componentDidRender() {}\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#shortcutsEl.suspend = true;\n } else {\n this.#shortcutsEl.suspend = false;\n }\n }\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 #cancelCallbackHandler = (): void => {\n this.cancelCallback();\n };\n\n #chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.#openSelectionCallbackHandler(e);\n }\n };\n\n #deselectAll = (): void => {\n (this.#objectsGrid as any).selectAllRows(false);\n };\n\n #evaluateObjectsCount = (type: \"selected\" | \"matching\"): string => {\n const locale = this.#componentLocale;\n\n if (type === \"selected\") {\n if (this.selectedObjectsIdsArray.length === 0) {\n return locale.objCount.selected.none;\n }\n if (this.selectedObjectsIdsArray.length === 1) {\n return `1 ${locale.objCount.selected.one}`;\n }\n return `${this.selectedObjectsIdsArray.length} ${locale.objCount.selected.many}`;\n }\n\n // type === \"matching\"\n if (this.objects.length === 0) {\n return locale.objCount.matching.none;\n }\n if (this.objects.length === 1) {\n return `1 ${locale.objCount.matching.one}`;\n }\n return `${this.objects.length} ${locale.objCount.matching.many}`;\n };\n\n #getToday = (): string => {\n const now = new Date();\n const date = now.toISOString().split(\"T\")[0];\n const time = now.toISOString().split(\"T\")[1].slice(0, 5); // Only take 'HH:MM' part\n return `${date}T${time}`;\n };\n\n #handleAfterValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.modifiedAfterValue = event.detail as FilterAfterValue;\n if (\n this.modifiedAfterValue !== FILTER_AFTER.DATE_TIME ||\n (this.modifiedAfterValue === FILTER_AFTER.DATE_TIME &&\n this.#modifiedDateInput.value)\n ) {\n // if \"modified\" is \"after date/time\" only refresh ui if date/time is valid.\n this.#refreshUIWithNewConfiguration();\n }\n };\n\n #handleObjectsSelectionChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n this.selectedObjectsIdsArray = event.detail.rowsId;\n };\n\n #hostKeyPressHandler = (e: KeyboardEvent) => {\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n #newObjectCallbackHandler = (): void => {\n this.newObjectCallback();\n };\n\n #openSelectionCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.openSelectionCallback(this.selectedObjectsIdsArray);\n };\n\n #refreshUIWithNewConfiguration = (): void => {\n /* 'modified' checkbox, should only be considered if 'date' || 'user' */\n const modifiedAfter = this.#afterTypeComboBox.value;\n const user = this.#userInput?.value?.trim();\n const filters: ObjectFiltersData = {\n pattern: this.#patternInput?.value,\n type: this.#typeComboBox.value,\n category: this.#categoryComboBox.value,\n module: this.#moduleEntitySelector?.value?.id,\n modifiedAfter: modifiedAfter ? modifiedAfter : null,\n modifiedBy: user ? user : null,\n modifiedDate:\n modifiedAfter === FILTER_AFTER.DATE_TIME\n ? new Date(this.#modifiedDateInput?.value)\n : null\n };\n this.loading = true;\n this.objects = [];\n this.loadCallback(filters).then((objects: ObjectData[]) => {\n if (objects) {\n this.objects = this.#sortObjectsByName(objects);\n }\n this.selectedObjectsIdsArray = [];\n this.#deselectAll();\n this.loading = false;\n });\n };\n\n #renderFilter = (): Element => {\n return (\n <form class=\"field-group filter-layout spacing-body\">\n {/* #pattern */}\n <div class=\"field field-block pattern\">\n <label class=\"label\" htmlFor=\"pattern\">\n {this.#componentLocale.filter.pattern}\n </label>\n\n <ch-edit\n accessibleName={this.#componentLocale.filter.pattern}\n debounce={config.inputDebounce}\n class=\"form-input\"\n part=\"filter-pattern\"\n id=\"pattern\"\n name=\"pattern\"\n value={this.patternValue}\n mode=\"text\"\n ref={(el: HTMLChEditElement) =>\n (this.#patternInput = el as HTMLChEditElement)\n }\n onInput={this.#refreshUIWithNewConfiguration}\n ></ch-edit>\n </div>\n\n {/* #type */}\n <div class=\"field field-block type\">\n <label class=\"label\" htmlFor=\"type\">\n {this.#componentLocale.filter.type}\n </label>\n <ch-combo-box-render\n accessibleName={this.#componentLocale.filter.type}\n class=\"combo-box\"\n disabled={!this.types}\n value={this.defaultType}\n part=\"filter-type\"\n id=\"type\"\n model={mapObjectTypeToComboBoxItemModel(this.types)}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typeComboBox = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#refreshUIWithNewConfiguration}\n ></ch-combo-box-render>\n </div>\n\n {/* #category */}\n <div class=\"field field-block category\">\n <label class=\"label\" htmlFor=\"category\">\n {this.#componentLocale.filter.category}\n </label>\n <ch-combo-box-render\n id=\"category\"\n class=\"combo-box\"\n accessibleName={this.#componentLocale.filter.category}\n disabled={!this.categories}\n model={mapCategoryToComboBoxItemModel(this.categories)}\n value={this.defaultCategory}\n part=\"filter-category\"\n onInput={this.categories && this.#refreshUIWithNewConfiguration}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#categoryComboBox = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n {/* #module */}\n <gx-ide-entity-selector\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#moduleEntitySelector = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"module\"\n id=\"module\"\n onValueChanged={this.#refreshUIWithNewConfiguration}\n labelPosition=\"block-start\"\n ></gx-ide-entity-selector>\n\n {/* #modified */}\n <ch-accordion-render\n class=\"accordion-outlined modified-accordion\"\n model={MODIFIED_ACCORDION_MODEL}\n >\n <div slot=\"modified\" class=\"spacing-body\">\n <div class=\"field-group field-group-modified\">\n <div class=\"field field-block after\">\n {/* #after */}\n <label class=\"label\" htmlFor=\"after-type\">\n {this.#componentLocale.filter.after}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n value={this.modifiedAfterValue}\n part=\"filter-after-type\"\n id=\"after-type\"\n model={this.#afterModel}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#afterTypeComboBox =\n el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#handleAfterValueChange}\n ></ch-combo-box-render>\n </div>\n\n {/* #user */}\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"user-name\">\n {this.#componentLocale.filter.user}\n </label>\n <ch-edit\n class=\"form-input\"\n part=\"filter-user\"\n value={this.patternValue}\n ref={(el: HTMLChEditElement) =>\n (this.#userInput = el as HTMLChEditElement)\n }\n id=\"user-name\"\n name=\"userName\"\n startImgSrc={USER_ICON}\n onInput={this.#refreshUIWithNewConfiguration}\n ></ch-edit>\n </div>\n\n {/* #date */}\n <div class=\"field field-block\">\n <label\n class={{\n \"label\": true,\n \"label--disabled\":\n this.modifiedAfterValue !== \"afterDateTime\"\n }}\n htmlFor=\"modified-date\"\n >\n {this.#componentLocale.filter.dateTime}\n </label>\n\n <input\n type=\"datetime-local\"\n class=\"form-input input-date-time\"\n id=\"modified-date\"\n name=\"modifiedDate\"\n part=\"filter-pattern\"\n value={this.patternValue}\n max={TODAY}\n ref={(el: HTMLInputElement) =>\n (this.#modifiedDateInput = el as HTMLInputElement)\n }\n disabled={this.modifiedAfterValue !== \"afterDateTime\"}\n onInput={this.#refreshUIWithNewConfiguration}\n ></input>\n </div>\n </div>\n </div>\n </ch-accordion-render>\n </form>\n );\n };\n\n #renderFooter = (): Element => {\n return (\n <footer>\n <div class=\"objects-count\" slot=\"footer-above\">\n <p\n class=\"text-body-regular-s objects-selected\"\n part=\"objects-selected\"\n >\n {this.#evaluateObjectsCount(\"selected\")}\n </p>\n <p\n class=\"text-body-regular-s objects-matching\"\n part=\"objects-matching\"\n >\n {this.#evaluateObjectsCount(\"matching\")}\n </p>\n </div>\n\n <div class=\"buttons-footer control-footer-with-border\">\n {/* button new object */}\n <button\n class=\"button-secondary\"\n part=\"button button-new\"\n onClick={!this.loading ? this.#newObjectCallbackHandler : undefined}\n disabled={this.loading}\n >\n {this.#componentLocale.footer.btnNew}\n </button>\n <div class=\"end buttons-container\">\n {/* button cancel */}\n <button\n class=\"button-secondary\"\n part=\"button button-cancel\"\n onClick={this.#cancelCallbackHandler}\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n {/* button confirm */}\n <button\n class=\"button-primary\"\n part=\"button button-confirm\"\n onClick={this.#openSelectionCallbackHandler}\n disabled={this.loading}\n >\n {this.#componentLocale.footer.btnConfirm}\n </button>\n {this.multiSelection ? (\n <button\n class=\"button-secondary\"\n onClick={this.#selectAll}\n part=\"button button-select-all\"\n >\n {this.#componentLocale.footer.btnSelectAll}\n </button>\n ) : null}\n </div>\n </div>\n </footer>\n );\n };\n\n #renderObjects = (): Element => {\n return (\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"tabular-grid-object-selector\": true,\n \"empty-result\": this.objects.length === 0\n }}\n rowSelectionMode={this.multiSelection ? \"multiple\" : \"single\"}\n ref={(el: HTMLChTabularGridElement) => (this.#objectsGrid = el)}\n part=\"ch-grid-objects\"\n onKeyDown={this.#chGridKeyDownHandler}\n onSelectionChanged={this.#handleObjectsSelectionChange}\n onDblClick={this.#openSelectionCallbackHandler}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.type}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.module}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.modifiedDate}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.importDate}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.objects.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: ObjectData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.icon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.importDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n {this.loader && this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n show\n ></gx-ide-loader>\n ) : (\n <gx-ide-empty-state\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n ></gx-ide-empty-state>\n )}\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #selectAll = (): void => {\n (this.#objectsGrid as any).selectAllRows();\n };\n\n #setAfterDefaultValue = (): void => {\n this.modifiedAfterValue = FILTER_AFTER.NONE;\n };\n\n #setAfterOptions = (): void => {\n this.#afterModel = [\n {\n caption: this.#componentLocale.filter.afterNone,\n value: FILTER_AFTER.NONE\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.DATE_TIME],\n value: FILTER_AFTER.DATE_TIME\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.IMPORT],\n value: FILTER_AFTER.IMPORT\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.LAST_BUILD],\n value: FILTER_AFTER.LAST_BUILD\n }\n ];\n };\n\n #sortObjectsByName = (objects: ObjectData[]): ObjectData[] => {\n return objects.sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n });\n };\n\n render(): void {\n return (\n <Host onKeyPress={this.#hostKeyPressHandler}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.#renderFilter()}\n {this.#renderObjects()}\n {this.#renderFooter()}\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#shortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type NewObjectCallback = () => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadCallback = (\n filters: ObjectFiltersData\n) => Promise<ObjectData[]>;\n\nexport type ObjectFiltersData = {\n pattern?: string;\n type: string;\n category?: string;\n module?: string;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n};\n\nexport type ObjectData = {\n id: string;\n icon: string;\n name: string;\n type: string;\n description: string;\n module: string;\n modifiedDate?: Date;\n importDate?: Date;\n};\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-object-selector.entry.js","mappings":"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","names":[],"sources":["src/components/object-selector/helpers.ts","src/components/object-selector/object-selector.scss?tag=gx-ide-object-selector&encapsulation=shadow","src/components/object-selector/object-selector.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { ObjectType, GxOption } from \"../../common/types\";\n// - - - - - - - - - - - -\n// Data Mappings\n// - - - - - - - - - - - -\n\n// ch-combo-box-render\n\nexport const mapObjectTypeToComboBoxItemModel = (\n objectTypeModel: ObjectType[]\n): ComboBoxModel =>\n objectTypeModel.map(objectType => ({\n value: objectType.id,\n caption: objectType.name\n }));\nexport const mapCategoryToComboBoxItemModel = (\n categoryModel: GxOption[]\n): ComboBoxModel =>\n categoryModel.map(category => ({\n value: category.id,\n caption: category.label\n }));\n","@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 block-size: 100%;\n display: grid;\n grid-template-rows: auto 1fr auto;\n overflow: auto;\n}\n\n/* Filters */\n.filter-layout {\n grid-template:\n \"pattern type\"\n \"category module\"\n \"modified modified\";\n grid-template-columns: 1fr 1fr;\n}\n.pattern {\n grid-area: pattern;\n}\n.type {\n grid-area: type;\n}\n.category {\n grid-area: category;\n}\n.module {\n grid-area: module;\n}\n.modified-accordion {\n grid-area: modified;\n display: flex;\n flex-direction: column;\n}\n.field-group-modified {\n grid-template-columns: 1fr 1fr 1fr;\n}\n\ngx-ide-container::part(content) {\n // only apply display grid when the loader is being displayed, to stretch the container.\n display: grid;\n}\n\n/*tabular grid*/\nch-tabular-grid {\n overflow: auto;\n max-width: 100%;\n}\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-object-selector\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 5\n )\n);\n\n/* Objects Table */\n.objects-count {\n display: grid;\n grid-template-columns: 1fr 1fr;\n border-block-start: var(--mer-border__width--sm) solid\n var(--mer-color__elevation--04);\n}\n.objects-selected {\n text-align: start;\n}\n.objects-matching {\n text-align: end;\n}\n.objects-selected,\n.objects-matching {\n padding: var(--mer-spacing--xs) var(--mer-spacing--md);\n}\ndiv.buttons-footer {\n justify-content: space-between;\n}\n\nch-tabular-grid-rowset-empty {\n position: relative; // makes this the bounder element for the loader\n}\n\nch-tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\ninput::-webkit-datetime-edit-fields-wrapper {\n // WA remove padding to force this input block-size to be the same as other\n // mercury controls block size.\n padding: none;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport {\n AccordionModel,\n ComboBoxModel,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\n\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { EntityData, GxOption, ObjectType } from \"../../common/types\";\nimport { formatDate } from \"../../common/helpers\";\nimport {\n mapObjectTypeToComboBoxItemModel,\n mapCategoryToComboBoxItemModel\n} from \"./helpers\";\nimport { FILTER_AFTER, FilterAfterValue } from \"../../common/constants\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"components/accordion\",\n \"components/tabular-grid\",\n \"utils/typography\",\n \"utils/layout\"\n];\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst USER_ICON = getIconPath({\n category: \"system\",\n name: \"user\",\n colorType: \"on-elevation\"\n});\n\nconst MODIFIED_ACCORDION_MODEL: AccordionModel = [\n {\n id: \"modified\",\n caption: \"Modified\",\n expanded: false\n }\n];\n\nlet TODAY: string = null;\n\n@Component({\n tag: \"gx-ide-object-selector\",\n styleUrl: \"object-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/object-selector\"]\n})\nexport class GxIdeObjectSelector {\n #componentLocale: any;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/object-selector/shortcuts.json`\n );\n\n #afterModel: ComboBoxModel = null;\n\n @Element() el: HTMLGxIdeObjectSelectorElement;\n\n /* References needed to collect data */\n #patternInput!: HTMLChEditElement;\n #typeComboBox!: HTMLChComboBoxRenderElement;\n #categoryComboBox!: HTMLChComboBoxRenderElement;\n #moduleEntitySelector!: HTMLGxIdeEntitySelectorElement;\n #afterTypeComboBox!: HTMLChComboBoxRenderElement;\n #userInput!: HTMLChEditElement;\n #modifiedDateInput!: HTMLInputElement;\n #objectsGrid!: HTMLChTabularGridElement;\n #shortcutsEl: HTMLChShortcutsElement;\n\n /**\n * For show or hide the filters relative to modifiers\n */\n @State() filterModified = false;\n\n /**\n * True if loadCallback has been called and has not been resolved yet.\n */\n @State() loading: boolean = false;\n\n /**\n * The \"modified after\" value\n */\n @State() modifiedAfterValue: FilterAfterValue;\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ObjectData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIdsArray: string[] = [];\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * The categories render in the filter category selector\n */\n @Prop() readonly categories!: GxOption[];\n\n /**\n * The default id value for the category filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * The default value for the type filter\n */\n @Prop() readonly defaultType: string;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * True if multiple object selection is allowed. Default is 'True'\n */\n @Prop() readonly multiSelection: boolean = false;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newObjectCallback!: NewObjectCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of object that is double-clicked or entered.\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Current value of the input pattern. It is also used to set the default value when initializing the component\n */\n @Prop() readonly patternValue: string;\n\n /**\n * Callback invoked when the action is executed in the Module/Folder filter. 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 * The types render in the filter type selector\n */\n @Prop() readonly types!: ObjectType[];\n\n async connectedCallback() {\n TODAY = this.#getToday();\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#setAfterOptions();\n this.#setAfterDefaultValue();\n }\n\n componentDidLoad() {\n this.#refreshUIWithNewConfiguration();\n this.#patternInput.focus();\n }\n\n componentDidRender() {}\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#shortcutsEl.suspend = true;\n } else {\n this.#shortcutsEl.suspend = false;\n }\n }\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 #cancelCallbackHandler = (): void => {\n this.cancelCallback();\n };\n\n #chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.#openSelectionCallbackHandler(e);\n }\n };\n\n #deselectAll = (): void => {\n (this.#objectsGrid as any).selectAllRows(false);\n };\n\n #evaluateObjectsCount = (type: \"selected\" | \"matching\"): string => {\n const locale = this.#componentLocale;\n\n if (type === \"selected\") {\n if (this.selectedObjectsIdsArray.length === 0) {\n return locale.objCount.selected.none;\n }\n if (this.selectedObjectsIdsArray.length === 1) {\n return `1 ${locale.objCount.selected.one}`;\n }\n return `${this.selectedObjectsIdsArray.length} ${locale.objCount.selected.many}`;\n }\n\n // type === \"matching\"\n if (this.objects.length === 0) {\n return locale.objCount.matching.none;\n }\n if (this.objects.length === 1) {\n return `1 ${locale.objCount.matching.one}`;\n }\n return `${this.objects.length} ${locale.objCount.matching.many}`;\n };\n\n #getToday = (): string => {\n const now = new Date();\n const date = now.toISOString().split(\"T\")[0];\n const time = now.toISOString().split(\"T\")[1].slice(0, 5); // Only take 'HH:MM' part\n return `${date}T${time}`;\n };\n\n #handleAfterValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.modifiedAfterValue = event.detail as FilterAfterValue;\n if (\n this.modifiedAfterValue !== FILTER_AFTER.DATE_TIME ||\n (this.modifiedAfterValue === FILTER_AFTER.DATE_TIME &&\n this.#modifiedDateInput.value)\n ) {\n // if \"modified\" is \"after date/time\" only refresh ui if date/time is valid.\n this.#refreshUIWithNewConfiguration();\n }\n };\n\n #handleObjectsSelectionChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n this.selectedObjectsIdsArray = event.detail.rowsId;\n };\n\n #hostKeyPressHandler = (e: KeyboardEvent) => {\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n #newObjectCallbackHandler = (): void => {\n this.newObjectCallback();\n };\n\n #openSelectionCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.openSelectionCallback(this.selectedObjectsIdsArray);\n };\n\n #refreshUIWithNewConfiguration = (): void => {\n /* 'modified' checkbox, should only be considered if 'date' || 'user' */\n const modifiedAfter = this.#afterTypeComboBox.value;\n const user = this.#userInput?.value?.trim();\n const filters: ObjectFiltersData = {\n pattern: this.#patternInput?.value,\n type: this.#typeComboBox.value,\n category: this.#categoryComboBox.value,\n module: this.#moduleEntitySelector?.value?.id,\n modifiedAfter: modifiedAfter ? modifiedAfter : null,\n modifiedBy: user ? user : null,\n modifiedDate:\n modifiedAfter === FILTER_AFTER.DATE_TIME\n ? new Date(this.#modifiedDateInput?.value)\n : null\n };\n this.loading = true;\n this.objects = [];\n this.loadCallback(filters).then((objects: ObjectData[]) => {\n if (objects) {\n this.objects = this.#sortObjectsByName(objects);\n }\n this.selectedObjectsIdsArray = [];\n this.#deselectAll();\n this.loading = false;\n });\n };\n\n #renderFilter = (): Element => {\n return (\n <form class=\"field-group filter-layout spacing-body\">\n {/* #pattern */}\n <div class=\"field field-block pattern\">\n <label class=\"label\" htmlFor=\"pattern\">\n {this.#componentLocale.filter.pattern}\n </label>\n\n <ch-edit\n accessibleName={this.#componentLocale.filter.pattern}\n debounce={config.inputDebounce}\n class=\"form-input\"\n part=\"filter-pattern\"\n id=\"pattern\"\n name=\"pattern\"\n value={this.patternValue}\n mode=\"text\"\n ref={(el: HTMLChEditElement) =>\n (this.#patternInput = el as HTMLChEditElement)\n }\n onInput={this.#refreshUIWithNewConfiguration}\n ></ch-edit>\n </div>\n\n {/* #type */}\n <div class=\"field field-block type\">\n <label class=\"label\" htmlFor=\"type\">\n {this.#componentLocale.filter.type}\n </label>\n <ch-combo-box-render\n accessibleName={this.#componentLocale.filter.type}\n class=\"combo-box\"\n disabled={!this.types}\n value={this.defaultType}\n part=\"filter-type\"\n id=\"type\"\n model={mapObjectTypeToComboBoxItemModel(this.types)}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typeComboBox = el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#refreshUIWithNewConfiguration}\n ></ch-combo-box-render>\n </div>\n\n {/* #category */}\n <div class=\"field field-block category\">\n <label class=\"label\" htmlFor=\"category\">\n {this.#componentLocale.filter.category}\n </label>\n <ch-combo-box-render\n id=\"category\"\n class=\"combo-box\"\n accessibleName={this.#componentLocale.filter.category}\n disabled={!this.categories}\n model={mapCategoryToComboBoxItemModel(this.categories)}\n value={this.defaultCategory}\n part=\"filter-category\"\n onInput={this.categories && this.#refreshUIWithNewConfiguration}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#categoryComboBox = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n {/* #module */}\n <gx-ide-entity-selector\n class=\"module\"\n id=\"module\"\n value={this.defaultModule}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#moduleEntitySelector = el as HTMLGxIdeEntitySelectorElement)\n }\n labelCaption={this.#componentLocale.filter.module}\n labelPosition=\"block-start\"\n onValueChanged={this.#refreshUIWithNewConfiguration}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ></gx-ide-entity-selector>\n\n {/* #modified */}\n <ch-accordion-render\n class=\"accordion-outlined modified-accordion\"\n model={MODIFIED_ACCORDION_MODEL}\n >\n <div slot=\"modified\" class=\"spacing-body\">\n <div class=\"field-group field-group-modified\">\n <div class=\"field field-block after\">\n {/* #after */}\n <label class=\"label\" htmlFor=\"after-type\">\n {this.#componentLocale.filter.after}\n </label>\n <ch-combo-box-render\n class=\"combo-box\"\n value={this.modifiedAfterValue}\n part=\"filter-after-type\"\n id=\"after-type\"\n model={this.#afterModel}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#afterTypeComboBox =\n el as HTMLChComboBoxRenderElement)\n }\n onInput={this.#handleAfterValueChange}\n ></ch-combo-box-render>\n </div>\n\n {/* #user */}\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"user-name\">\n {this.#componentLocale.filter.user}\n </label>\n <ch-edit\n class=\"form-input\"\n part=\"filter-user\"\n value={this.patternValue}\n ref={(el: HTMLChEditElement) =>\n (this.#userInput = el as HTMLChEditElement)\n }\n id=\"user-name\"\n name=\"userName\"\n startImgSrc={USER_ICON}\n onInput={this.#refreshUIWithNewConfiguration}\n ></ch-edit>\n </div>\n\n {/* #date */}\n <div class=\"field field-block\">\n <label\n class={{\n \"label\": true,\n \"label--disabled\":\n this.modifiedAfterValue !== \"afterDateTime\"\n }}\n htmlFor=\"modified-date\"\n >\n {this.#componentLocale.filter.dateTime}\n </label>\n\n <input\n type=\"datetime-local\"\n class=\"form-input input-date-time\"\n id=\"modified-date\"\n name=\"modifiedDate\"\n part=\"filter-pattern\"\n value={this.patternValue}\n max={TODAY}\n ref={(el: HTMLInputElement) =>\n (this.#modifiedDateInput = el as HTMLInputElement)\n }\n disabled={this.modifiedAfterValue !== \"afterDateTime\"}\n onInput={this.#refreshUIWithNewConfiguration}\n ></input>\n </div>\n </div>\n </div>\n </ch-accordion-render>\n </form>\n );\n };\n\n #renderFooter = (): Element => {\n return (\n <footer>\n <div class=\"objects-count\" slot=\"footer-above\">\n <p\n class=\"text-body-regular-s objects-selected\"\n part=\"objects-selected\"\n >\n {this.#evaluateObjectsCount(\"selected\")}\n </p>\n <p\n class=\"text-body-regular-s objects-matching\"\n part=\"objects-matching\"\n >\n {this.#evaluateObjectsCount(\"matching\")}\n </p>\n </div>\n\n <div class=\"buttons-footer control-footer-with-border\">\n {/* button new object */}\n <button\n class=\"button-secondary\"\n part=\"button button-new\"\n onClick={!this.loading ? this.#newObjectCallbackHandler : undefined}\n disabled={this.loading}\n >\n {this.#componentLocale.footer.btnNew}\n </button>\n <div class=\"end buttons-container\">\n {/* button cancel */}\n <button\n class=\"button-secondary\"\n part=\"button button-cancel\"\n onClick={this.#cancelCallbackHandler}\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n {/* button confirm */}\n <button\n class=\"button-primary\"\n part=\"button button-confirm\"\n onClick={this.#openSelectionCallbackHandler}\n disabled={this.loading}\n >\n {this.#componentLocale.footer.btnConfirm}\n </button>\n {this.multiSelection ? (\n <button\n class=\"button-secondary\"\n onClick={this.#selectAll}\n part=\"button button-select-all\"\n >\n {this.#componentLocale.footer.btnSelectAll}\n </button>\n ) : null}\n </div>\n </div>\n </footer>\n );\n };\n\n #renderObjects = (): Element => {\n return (\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"tabular-grid-object-selector\": true,\n \"empty-result\": this.objects.length === 0\n }}\n rowSelectionMode={this.multiSelection ? \"multiple\" : \"single\"}\n ref={(el: HTMLChTabularGridElement) => (this.#objectsGrid = el)}\n part=\"ch-grid-objects\"\n onKeyDown={this.#chGridKeyDownHandler}\n onSelectionChanged={this.#handleObjectsSelectionChange}\n onDblClick={this.#openSelectionCallbackHandler}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.type}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.module}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.modifiedDate}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.importDate}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.objects.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: ObjectData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.icon} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.importDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n {this.loader && this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n show\n ></gx-ide-loader>\n ) : (\n <gx-ide-empty-state\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n ></gx-ide-empty-state>\n )}\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #selectAll = (): void => {\n (this.#objectsGrid as any).selectAllRows();\n };\n\n #setAfterDefaultValue = (): void => {\n this.modifiedAfterValue = FILTER_AFTER.NONE;\n };\n\n #setAfterOptions = (): void => {\n this.#afterModel = [\n {\n caption: this.#componentLocale.filter.afterNone,\n value: FILTER_AFTER.NONE\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.DATE_TIME],\n value: FILTER_AFTER.DATE_TIME\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.IMPORT],\n value: FILTER_AFTER.IMPORT\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.LAST_BUILD],\n value: FILTER_AFTER.LAST_BUILD\n }\n ];\n };\n\n #sortObjectsByName = (objects: ObjectData[]): ObjectData[] => {\n return objects.sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n });\n };\n\n render(): void {\n return (\n <Host onKeyPress={this.#hostKeyPressHandler}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.#renderFilter()}\n {this.#renderObjects()}\n {this.#renderFooter()}\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#shortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type NewObjectCallback = () => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadCallback = (\n filters: ObjectFiltersData\n) => Promise<ObjectData[]>;\n\nexport type ObjectFiltersData = {\n pattern?: string;\n type: string;\n category?: string;\n module?: string;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n};\n\nexport type ObjectData = {\n id: string;\n icon: string;\n name: string;\n type: string;\n description: string;\n module: string;\n modifiedDate?: Date;\n importDate?: Date;\n};\n"],"version":3}
|
|
@@ -4,7 +4,7 @@ import { L as Locale } from './locale-3c32f251.js';
|
|
|
4
4
|
import { c as config } from './config-6cfbb06f.js';
|
|
5
5
|
import { h as hiChar } from './helpers-05c62775.js';
|
|
6
6
|
|
|
7
|
-
const recentNewsCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.button-primary-destructive{--control__border-color:var(--button-primary__border-color--destructive);background-color:var(--button-primary__bg-color--destructive);color:var(--button-primary__color--destructive)}.button-primary-destructive:hover{--control__border-color:var(\n --button-primary__bg-color--destructive-hover\n );background-color:var(--button-primary__bg-color--destructive-hover);color:var(--button-primary__color--destructive)}.button-primary-destructive:active{--control__border-color:var(\n --button-primary__bg-color--destructive-active\n );background-color:var(--button-primary__bg-color--destructive-active);color:var(--button-primary__color--destructive)}.button-secondary-destructive{--control__border-color:var(--button-secondary__border-color--destructive);background-color:var(--button-secondary__bg-color--destructive);color:var(--button-secondary__color--destructive)}.button-secondary-destructive:hover{--control__border-color:var(\n --button-secondary__bg-color--destructive-hover\n );background-color:var(--button-secondary__bg-color--destructive-hover);color:var(--button-secondary__color--destructive)}.button-secondary-destructive:active{--control__border-color:var(\n --button-secondary__bg-color--destructive-active\n );background-color:var(--button-secondary__bg-color--destructive-active);color:var(--button-secondary__color--destructive)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}.hiChar{color:var(--mer-color__primary-blue--200);filter:brightness(1.3)}:host(.empty){overflow:hidden !important}.news-container{display:grid;gap:var(--mer-spacing--xs);grid-auto-rows:max-content}.news-item{opacity:0;transition:150ms opacity}.news-item.visible{opacity:1}.card-news{display:flex;flex-direction:column;align-items:start;gap:var(--mer-spacing--xs)}.card-news__header{display:flex;gap:var(--mer-spacing--sm);align-items:center}gx-ide-loader::part(loader-wrapper){border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md)}.text-link{color:var(--mer-accent__primary)}.text-link:hover{text-decoration:underline}";
|
|
7
|
+
const recentNewsCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}.hiChar{color:var(--mer-color__primary-blue--200);filter:brightness(1.3)}:host(.empty){overflow:hidden !important}.news-container{display:grid;gap:var(--mer-spacing--xs);grid-auto-rows:max-content}.news-item{opacity:0;transition:150ms opacity}.news-item.visible{opacity:1}.card-news{display:flex;flex-direction:column;align-items:start;gap:var(--mer-spacing--xs)}.card-news__header{display:flex;gap:var(--mer-spacing--sm);align-items:center}gx-ide-loader::part(loader-wrapper){border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md)}.text-link{color:var(--mer-accent__primary)}.text-link:hover{text-decoration:underline}";
|
|
8
8
|
|
|
9
9
|
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
10
10
|
if (kind === "a" && !f)
|
|
@@ -33,7 +33,8 @@ const CSS_BUNDLES = [
|
|
|
33
33
|
"components/button",
|
|
34
34
|
"components/icon",
|
|
35
35
|
"utils/typography",
|
|
36
|
-
"utils/layout"
|
|
36
|
+
"utils/layout",
|
|
37
|
+
"chameleon/scrollbar"
|
|
37
38
|
];
|
|
38
39
|
const GxIdeRecentNews = class {
|
|
39
40
|
constructor(hostRef) {
|
|
@@ -141,7 +142,7 @@ const GxIdeRecentNews = class {
|
|
|
141
142
|
render() {
|
|
142
143
|
return (h(Host
|
|
143
144
|
// Improve accessibility by announcing live changes
|
|
144
|
-
, { "aria-live": "polite", "aria-busy": this.loadingNews ? "true" : "false", class: { empty: this.filteredNews.length === 0 } }, h("ch-theme", { model: CSS_BUNDLES }), this.loadingNews ? (h("gx-ide-loader", { abortTime: 8000, loaderTitle: this._componentLocale.loader.title, description: this._componentLocale.loader.description, show: true })) : (__classPrivateFieldGet(this, _GxIdeRecentNews_evaluateNewsRender, "f").call(this))));
|
|
145
|
+
, { "aria-live": "polite", "aria-busy": this.loadingNews ? "true" : "false", class: { empty: this.filteredNews.length === 0, scrollable: true } }, h("ch-theme", { model: CSS_BUNDLES }), this.loadingNews ? (h("gx-ide-loader", { abortTime: 8000, loaderTitle: this._componentLocale.loader.title, description: this._componentLocale.loader.description, show: true })) : (__classPrivateFieldGet(this, _GxIdeRecentNews_evaluateNewsRender, "f").call(this))));
|
|
145
146
|
}
|
|
146
147
|
static get assetsDirs() { return ["gx-ide-assets/recent-news"]; }
|
|
147
148
|
get el() { return getElement(this); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-recent-news.entry.js","mappings":"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","names":[],"sources":["src/components/start-page/recent-news.scss?tag=gx-ide-recent-news&encapsulation=shadow","src/components/start-page/recent-news.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n@include hiChar();\n\n:host(.empty) {\n overflow: hidden !important; // WA to avoid scrollbar \"flickering\"\n}\n.news-container {\n display: grid;\n gap: var(--mer-spacing--xs);\n grid-auto-rows: max-content;\n // padding-inline-end: var(--mer-spacing--xs);\n}\n.news-item {\n opacity: 0;\n transition: 150ms opacity;\n\n &.visible {\n opacity: 1;\n }\n}\n.card-news {\n display: flex;\n flex-direction: column;\n align-items: start;\n gap: var(--mer-spacing--xs);\n\n &__header {\n display: flex;\n gap: var(--mer-spacing--sm);\n align-items: center;\n }\n}\n\ngx-ide-loader::part(loader-wrapper) {\n border: var(--mer-border__width--sm) solid\n var(--mer-border-color__on-elevation--01);\n border-radius: var(--mer-border__radius--md);\n}\n\n.text-link {\n color: var(--mer-accent__primary);\n\n &:hover {\n text-decoration: underline;\n }\n}\n","import { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { hiChar } from \"../../common/helpers\";\nimport { NewsData, GetNewsCallback, OpenNewsCallback } from \"./start-page\";\n\nconst NEWS_ICON = getIconPath({\n category: \"system\",\n name: \"news\",\n colorType: \"on-surface\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/icon\",\n \"utils/typography\",\n \"utils/layout\"\n];\n@Component({\n tag: \"gx-ide-recent-news\",\n styleUrl: \"recent-news.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/recent-news\"]\n})\nexport class GxIdeRecentNews {\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n #NEWS_ITEM_CLASS_SELECTOR = \"news-item\";\n #newsRendered = false;\n #setTimeOutNewsDelay = 75;\n\n @Element() el: HTMLGxIdeRecentNewsElement;\n\n #newsContainerEl: HTMLDivElement;\n\n /**\n * The list of news after the filter\n */\n @State() filteredNews: NewsData[] = [];\n\n /**\n * True if news are being requested\n */\n @State() loadingNews = true;\n\n /**\n * The list of news\n */\n @State() news: NewsData[] = [];\n @Watch(\"news\")\n newsChanged(news: NewsData[]) {\n this.#refreshFilteredNews(this.filterValue, news);\n this.#displayNews();\n }\n\n /**\n * True if news couldn't be loaded\n */\n @State() newsLoadFailed = false;\n\n /**\n * Callback invoked to load the news feed (right panel \"Recent News\").\n */\n @Prop() readonly getNewsCallback!: GetNewsCallback;\n\n /**\n * Callback invoked to open a news article.\n */\n @Prop() readonly openNewsCallback!: OpenNewsCallback;\n\n /**\n * The news filter value inserted by the user on the news input filter\n */\n @Prop() readonly filterValue: string = \"\";\n @Watch(\"filterValue\")\n watchNews(newFilterValue: string) {\n this.#refreshFilteredNews(newFilterValue, this.news);\n }\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n this.#evaluateNewsDisplay();\n }\n\n componentDidLoad() {\n this.#getNews();\n }\n\n #displayNews = () => {\n if (this.#newsContainerEl !== undefined) {\n const news = Array.from(\n this.#newsContainerEl.querySelectorAll(\n `.${this.#NEWS_ITEM_CLASS_SELECTOR}`\n )\n );\n news.forEach(news => {\n // display news with a cascade effect\n setTimeout(() => {\n news.classList.add(\"visible\");\n }, this.#setTimeOutNewsDelay);\n this.#setTimeOutNewsDelay += 45;\n });\n }\n };\n\n #evaluateNewsDisplay = () => {\n if (\n !this.#newsRendered &&\n this.news.length > 0 &&\n this.#newsContainerEl !== undefined\n ) {\n this.#displayNews();\n this.#newsRendered = true;\n }\n };\n\n #evaluateNewsRender = (): HTMLElement => {\n if (this.newsLoadFailed) {\n return (\n <gx-ide-empty-state\n stateIconSrc={NEWS_ICON}\n stateTitle={this._componentLocale.recentNews.newsNotFetched.title}\n >\n <button\n class=\"empty-state__button button-primary\"\n onClick={this.#getNews}\n >\n {\n this._componentLocale.recentNews.newsNotFetched\n .tryAgainButtonLabel\n }\n </button>\n <a\n class=\"text-link text-body-regular-s\"\n href={this._componentLocale.recentNews.newsNotFetched.onlineNewsURL}\n target=\"_blank\"\n >\n {this._componentLocale.recentNews.newsNotFetched.readThemOnline}\n </a>\n </gx-ide-empty-state>\n );\n }\n if (this.news.length === 0) {\n return (\n <gx-ide-empty-state\n stateIconSrc={NEWS_ICON}\n stateTitle={this._componentLocale.recentNews.noNewsToDisplay.title}\n >\n <a\n class=\"empty-state__link text-body-regular-s\"\n href={this._componentLocale.recentNews.onlineNewsURL}\n target=\"_blank\"\n >\n {this._componentLocale.recentNews.readThemOnline}\n </a>\n </gx-ide-empty-state>\n );\n }\n if (this.filteredNews?.length === 0) {\n return (\n <gx-ide-empty-state\n class=\"news-empty-state\"\n stateIconSrc={NEWS_ICON}\n stateTitle={this._componentLocale.recentNews.noNewsFiltered.title}\n ></gx-ide-empty-state>\n );\n }\n return this.#renderNewsList();\n };\n\n #getNews = async () => {\n this.loadingNews = true;\n const newsResult = await this.getNewsCallback();\n this.loadingNews = false;\n if (newsResult && newsResult.length > 0) {\n this.news = newsResult;\n this.newsLoadFailed = false;\n } else {\n this.newsLoadFailed = true;\n }\n };\n\n #openNewsHandler = (newsId: string) => async () => {\n await this.openNewsCallback(newsId);\n };\n\n #refreshFilteredNews = (filterValue: string, news: NewsData[]) => {\n this.filteredNews = news.filter(\n singleNews =>\n singleNews.title?.toLowerCase().includes(filterValue) ||\n singleNews.body?.toLowerCase().includes(filterValue)\n );\n };\n\n #renderNewsItem = (news: NewsData): HTMLGxgCardElement | null => {\n if (news.id && news.title) {\n return (\n <article>\n <button\n class={{\n \"card-small\": true,\n \"card-small--actionable\": true,\n \"card-news\": true,\n [this.#NEWS_ITEM_CLASS_SELECTOR]: true,\n \"visible\": this.#newsRendered\n }}\n id={news.id}\n key={news.id}\n type=\"button\"\n onClick={this.#openNewsHandler(news.id)}\n >\n <header class=\"card-news__header\">\n <ch-image src={NEWS_ICON} class=\"icon-md\"></ch-image>\n <h2 class={config.headingsClasses.cardSmall}>\n {hiChar(news.title, this.filterValue)}\n </h2>\n </header>\n {news.body && (\n <p class=\"text-body-regular-s\">\n {hiChar(news.body, this.filterValue)}\n </p>\n )}\n </button>\n </article>\n );\n }\n return null;\n };\n\n #renderNewsList = (): HTMLElement => (\n <div\n class=\"news-container\"\n ref={el => (this.#newsContainerEl = el as HTMLDivElement)}\n >\n {this.filteredNews?.map(this.#renderNewsItem)}\n </div>\n );\n\n render() {\n return (\n <Host\n // Improve accessibility by announcing live changes\n aria-live=\"polite\"\n // Wait until all changes are made to prevents assistive\n // technologies from announcing changes before updates are done\n aria-busy={this.loadingNews ? \"true\" : \"false\"}\n class={{ empty: this.filteredNews.length === 0 }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.loadingNews ? (\n <gx-ide-loader\n abortTime={8000}\n loaderTitle={this._componentLocale.loader.title}\n description={this._componentLocale.loader.description}\n show={true}\n ></gx-ide-loader>\n ) : (\n this.#evaluateNewsRender()\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-recent-news.entry.js","mappings":"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","names":[],"sources":["src/components/start-page/recent-news.scss?tag=gx-ide-recent-news&encapsulation=shadow","src/components/start-page/recent-news.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n@include hiChar();\n\n:host(.empty) {\n overflow: hidden !important; // WA to avoid scrollbar \"flickering\"\n}\n.news-container {\n display: grid;\n gap: var(--mer-spacing--xs);\n grid-auto-rows: max-content;\n // padding-inline-end: var(--mer-spacing--xs);\n}\n.news-item {\n opacity: 0;\n transition: 150ms opacity;\n\n &.visible {\n opacity: 1;\n }\n}\n.card-news {\n display: flex;\n flex-direction: column;\n align-items: start;\n gap: var(--mer-spacing--xs);\n\n &__header {\n display: flex;\n gap: var(--mer-spacing--sm);\n align-items: center;\n }\n}\n\ngx-ide-loader::part(loader-wrapper) {\n border: var(--mer-border__width--sm) solid\n var(--mer-border-color__on-elevation--01);\n border-radius: var(--mer-border__radius--md);\n}\n\n.text-link {\n color: var(--mer-accent__primary);\n\n &:hover {\n text-decoration: underline;\n }\n}\n","import { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { hiChar } from \"../../common/helpers\";\nimport { NewsData, GetNewsCallback, OpenNewsCallback } from \"./start-page\";\n\nconst NEWS_ICON = getIconPath({\n category: \"system\",\n name: \"news\",\n colorType: \"on-surface\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/icon\",\n \"utils/typography\",\n \"utils/layout\",\n \"chameleon/scrollbar\"\n];\n@Component({\n tag: \"gx-ide-recent-news\",\n styleUrl: \"recent-news.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/recent-news\"]\n})\nexport class GxIdeRecentNews {\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n #NEWS_ITEM_CLASS_SELECTOR = \"news-item\";\n #newsRendered = false;\n #setTimeOutNewsDelay = 75;\n\n @Element() el: HTMLGxIdeRecentNewsElement;\n\n #newsContainerEl: HTMLDivElement;\n\n /**\n * The list of news after the filter\n */\n @State() filteredNews: NewsData[] = [];\n\n /**\n * True if news are being requested\n */\n @State() loadingNews = true;\n\n /**\n * The list of news\n */\n @State() news: NewsData[] = [];\n @Watch(\"news\")\n newsChanged(news: NewsData[]) {\n this.#refreshFilteredNews(this.filterValue, news);\n this.#displayNews();\n }\n\n /**\n * True if news couldn't be loaded\n */\n @State() newsLoadFailed = false;\n\n /**\n * Callback invoked to load the news feed (right panel \"Recent News\").\n */\n @Prop() readonly getNewsCallback!: GetNewsCallback;\n\n /**\n * Callback invoked to open a news article.\n */\n @Prop() readonly openNewsCallback!: OpenNewsCallback;\n\n /**\n * The news filter value inserted by the user on the news input filter\n */\n @Prop() readonly filterValue: string = \"\";\n @Watch(\"filterValue\")\n watchNews(newFilterValue: string) {\n this.#refreshFilteredNews(newFilterValue, this.news);\n }\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n this.#evaluateNewsDisplay();\n }\n\n componentDidLoad() {\n this.#getNews();\n }\n\n #displayNews = () => {\n if (this.#newsContainerEl !== undefined) {\n const news = Array.from(\n this.#newsContainerEl.querySelectorAll(\n `.${this.#NEWS_ITEM_CLASS_SELECTOR}`\n )\n );\n news.forEach(news => {\n // display news with a cascade effect\n setTimeout(() => {\n news.classList.add(\"visible\");\n }, this.#setTimeOutNewsDelay);\n this.#setTimeOutNewsDelay += 45;\n });\n }\n };\n\n #evaluateNewsDisplay = () => {\n if (\n !this.#newsRendered &&\n this.news.length > 0 &&\n this.#newsContainerEl !== undefined\n ) {\n this.#displayNews();\n this.#newsRendered = true;\n }\n };\n\n #evaluateNewsRender = (): HTMLElement => {\n if (this.newsLoadFailed) {\n return (\n <gx-ide-empty-state\n stateIconSrc={NEWS_ICON}\n stateTitle={this._componentLocale.recentNews.newsNotFetched.title}\n >\n <button\n class=\"empty-state__button button-primary\"\n onClick={this.#getNews}\n >\n {\n this._componentLocale.recentNews.newsNotFetched\n .tryAgainButtonLabel\n }\n </button>\n <a\n class=\"text-link text-body-regular-s\"\n href={this._componentLocale.recentNews.newsNotFetched.onlineNewsURL}\n target=\"_blank\"\n >\n {this._componentLocale.recentNews.newsNotFetched.readThemOnline}\n </a>\n </gx-ide-empty-state>\n );\n }\n if (this.news.length === 0) {\n return (\n <gx-ide-empty-state\n stateIconSrc={NEWS_ICON}\n stateTitle={this._componentLocale.recentNews.noNewsToDisplay.title}\n >\n <a\n class=\"empty-state__link text-body-regular-s\"\n href={this._componentLocale.recentNews.onlineNewsURL}\n target=\"_blank\"\n >\n {this._componentLocale.recentNews.readThemOnline}\n </a>\n </gx-ide-empty-state>\n );\n }\n if (this.filteredNews?.length === 0) {\n return (\n <gx-ide-empty-state\n class=\"news-empty-state\"\n stateIconSrc={NEWS_ICON}\n stateTitle={this._componentLocale.recentNews.noNewsFiltered.title}\n ></gx-ide-empty-state>\n );\n }\n return this.#renderNewsList();\n };\n\n #getNews = async () => {\n this.loadingNews = true;\n const newsResult = await this.getNewsCallback();\n this.loadingNews = false;\n if (newsResult && newsResult.length > 0) {\n this.news = newsResult;\n this.newsLoadFailed = false;\n } else {\n this.newsLoadFailed = true;\n }\n };\n\n #openNewsHandler = (newsId: string) => async () => {\n await this.openNewsCallback(newsId);\n };\n\n #refreshFilteredNews = (filterValue: string, news: NewsData[]) => {\n this.filteredNews = news.filter(\n singleNews =>\n singleNews.title?.toLowerCase().includes(filterValue) ||\n singleNews.body?.toLowerCase().includes(filterValue)\n );\n };\n\n #renderNewsItem = (news: NewsData): HTMLGxgCardElement | null => {\n if (news.id && news.title) {\n return (\n <article>\n <button\n class={{\n \"card-small\": true,\n \"card-small--actionable\": true,\n \"card-news\": true,\n [this.#NEWS_ITEM_CLASS_SELECTOR]: true,\n \"visible\": this.#newsRendered\n }}\n id={news.id}\n key={news.id}\n type=\"button\"\n onClick={this.#openNewsHandler(news.id)}\n >\n <header class=\"card-news__header\">\n <ch-image src={NEWS_ICON} class=\"icon-md\"></ch-image>\n <h2 class={config.headingsClasses.cardSmall}>\n {hiChar(news.title, this.filterValue)}\n </h2>\n </header>\n {news.body && (\n <p class=\"text-body-regular-s\">\n {hiChar(news.body, this.filterValue)}\n </p>\n )}\n </button>\n </article>\n );\n }\n return null;\n };\n\n #renderNewsList = (): HTMLElement => (\n <div\n class=\"news-container\"\n ref={el => (this.#newsContainerEl = el as HTMLDivElement)}\n >\n {this.filteredNews?.map(this.#renderNewsItem)}\n </div>\n );\n\n render() {\n return (\n <Host\n // Improve accessibility by announcing live changes\n aria-live=\"polite\"\n // Wait until all changes are made to prevents assistive\n // technologies from announcing changes before updates are done\n aria-busy={this.loadingNews ? \"true\" : \"false\"}\n class={{ empty: this.filteredNews.length === 0, scrollable: true }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.loadingNews ? (\n <gx-ide-loader\n abortTime={8000}\n loaderTitle={this._componentLocale.loader.title}\n description={this._componentLocale.loader.description}\n show={true}\n ></gx-ide-loader>\n ) : (\n this.#evaluateNewsRender()\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -55,7 +55,7 @@ const convertReferenceDataToTreeViewData = (referenceData) => {
|
|
|
55
55
|
return treeData;
|
|
56
56
|
};
|
|
57
57
|
|
|
58
|
-
const referencesCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.button-primary-destructive{--control__border-color:var(--button-primary__border-color--destructive);background-color:var(--button-primary__bg-color--destructive);color:var(--button-primary__color--destructive)}.button-primary-destructive:hover{--control__border-color:var(\n --button-primary__bg-color--destructive-hover\n );background-color:var(--button-primary__bg-color--destructive-hover);color:var(--button-primary__color--destructive)}.button-primary-destructive:active{--control__border-color:var(\n --button-primary__bg-color--destructive-active\n );background-color:var(--button-primary__bg-color--destructive-active);color:var(--button-primary__color--destructive)}.button-secondary-destructive{--control__border-color:var(--button-secondary__border-color--destructive);background-color:var(--button-secondary__bg-color--destructive);color:var(--button-secondary__color--destructive)}.button-secondary-destructive:hover{--control__border-color:var(\n --button-secondary__bg-color--destructive-hover\n );background-color:var(--button-secondary__bg-color--destructive-hover);color:var(--button-secondary__color--destructive)}.button-secondary-destructive:active{--control__border-color:var(\n --button-secondary__bg-color--destructive-active\n );background-color:var(--button-secondary__bg-color--destructive-active);color:var(--button-secondary__color--destructive)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block}.header{}.header__top{grid-template-columns:min-content auto 1fr min-content;grid-template-rows:1fr;grid-template-areas:\"hide-bar-button suggest-label gxg-suggest selector-dialog-button\"}.header__top .hide-bar-button{grid-area:hide-bar-button}.header__top .suggest-label{grid-area:suggest-label}.header__top gxg-suggest{grid-area:gxg-suggest}.header__top .selector-dialog-button{grid-area:selector-dialog-button}.header__bottom{display:grid;grid-template-rows:1fr;transition:var(--mer-timing--super-fast-ms) grid-template-rows}.header__bottom--hidden{grid-template-rows:0fr}.header__bottom .outer-wrapper{overflow:hidden}.header__bottom .inner-wrapper{padding-top:var(--gx-ide-grid-row-gap);display:flex;flex-direction:row;align-items:center;justify-content:space-between}.header__bottom .inner-wrapper__left{display:flex;align-items:center;gap:var(--gx-ide-grid-row-gap)}.header-hidden .first-row{grid-template-columns:auto 1fr auto}.header-hidden .first-row>:nth-child(3){align-self:end}.header-hidden .second-row{display:none}.main{display:flex;height:100%}.main>*{flex:1}.main .reference-container{padding:var(--tree-container-padding);display:grid;height:100%}.main .reference-container--no-references{display:flex;align-items:center;justify-content:center}.main .gx-ide-message{padding:50px 0}";
|
|
58
|
+
const referencesCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block}.header{}.header__top{grid-template-columns:min-content auto 1fr min-content;grid-template-rows:1fr;grid-template-areas:\"hide-bar-button suggest-label gxg-suggest selector-dialog-button\"}.header__top .hide-bar-button{grid-area:hide-bar-button}.header__top .suggest-label{grid-area:suggest-label}.header__top gxg-suggest{grid-area:gxg-suggest}.header__top .selector-dialog-button{grid-area:selector-dialog-button}.header__bottom{display:grid;grid-template-rows:1fr;transition:var(--mer-timing--super-fast-ms) grid-template-rows}.header__bottom--hidden{grid-template-rows:0fr}.header__bottom .outer-wrapper{overflow:hidden}.header__bottom .inner-wrapper{padding-top:var(--gx-ide-grid-row-gap);display:flex;flex-direction:row;align-items:center;justify-content:space-between}.header__bottom .inner-wrapper__left{display:flex;align-items:center;gap:var(--gx-ide-grid-row-gap)}.header-hidden .first-row{grid-template-columns:auto 1fr auto}.header-hidden .first-row>:nth-child(3){align-self:end}.header-hidden .second-row{display:none}.main{display:flex;height:100%}.main>*{flex:1}.main .reference-container{padding:var(--tree-container-padding);display:grid;height:100%}.main .reference-container--no-references{display:flex;align-items:center;justify-content:center}.main .gx-ide-message{padding:50px 0}";
|
|
59
59
|
|
|
60
60
|
const CSS_BUNDLES = [
|
|
61
61
|
"resets/box-sizing",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-references.entry.js","mappings":"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","names":[],"sources":["src/components/references/helpers.ts","src/components/references/references.scss?tag=gx-ide-references&encapsulation=shadow","src/components/references/references.tsx"],"sourcesContent":["/* Ch Suggest*/\nimport { SuggestItemData } from \"@genexus/chameleon-controls-library/dist/types/deprecated-components/suggest/suggest-list-item/ch-suggest-list-item\";\nimport { SuggestListData } from \"@genexus/chameleon-controls-library/dist/types/deprecated-components/suggest/suggest-list/ch-suggest-list\";\nimport { SuggestData } from \"@genexus/chameleon-controls-library/dist/types/deprecated-components/suggest/ch-suggest\";\n/* Tree View */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\n\n/* References Types*/\nimport { SelectorCategoryData } from \"./references\";\nimport { ObjectData } from \"./references\";\nimport { ReferenceData } from \"./references\";\n\n/**\n * @description This function converts SelectorCategoryData[] SuggestData\n */\nexport const convertObjectDataToSuggestData = (\n selectorCategoriesData: SelectorCategoryData[]\n): SuggestData => {\n const suggestData: SuggestData = {\n suggestItems: null,\n suggestLists: []\n };\n if (selectorCategoriesData.length) {\n selectorCategoriesData.forEach(selectorCategory => {\n const suggestList: SuggestListData = {\n label: selectorCategory.name,\n items: []\n };\n selectorCategory.items.forEach((objectData: ObjectData) => {\n const suggestItem: SuggestItemData = {\n value: objectData.id,\n description: objectData.description,\n icon: objectData.icon\n };\n suggestList.items.push(suggestItem);\n });\n suggestData.suggestLists.push(suggestList);\n });\n }\n return suggestData;\n};\n\nconst convertToTreeItem = (item: ReferenceData): TreeViewItemModel => ({\n caption: item.name,\n id: item.id,\n items: (item.items ?? []).map(convertToTreeItem),\n lazy: item.hasChildren && (item.items == null || item.items.length === 0),\n leaf: item.hasChildren === false,\n startImgSrc: item.icon\n});\n\n/**\n * @description This function converts ReferenceData[] data to TreeItemData[]\n */\nexport const convertReferenceDataToTreeViewData = (\n referenceData: ReferenceData[] | undefined\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!referenceData) {\n return treeData;\n }\n\n referenceData.forEach(item => {\n treeData.push(convertToTreeItem(item));\n });\n return treeData;\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n/*HEADER*/\n.header {\n /*Top*/\n &__top {\n grid-template-columns: min-content auto 1fr min-content;\n grid-template-rows: 1fr;\n grid-template-areas: \"hide-bar-button suggest-label gxg-suggest selector-dialog-button\";\n\n .hide-bar-button {\n grid-area: hide-bar-button;\n }\n .suggest-label {\n grid-area: suggest-label;\n }\n gxg-suggest {\n grid-area: gxg-suggest;\n }\n .selector-dialog-button {\n grid-area: selector-dialog-button;\n }\n }\n /*Bottom*/\n &__bottom {\n display: grid;\n grid-template-rows: 1fr;\n transition: var(--mer-timing--super-fast-ms) grid-template-rows;\n &--hidden {\n grid-template-rows: 0fr;\n }\n .outer-wrapper {\n overflow: hidden;\n }\n .inner-wrapper {\n padding-top: var(--gx-ide-grid-row-gap);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &__left {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-row-gap);\n }\n }\n }\n}\n/*Header hidable*/\n.header-hidden {\n .first-row {\n grid-template-columns: auto 1fr auto;\n > :nth-child(3) {\n align-self: end;\n }\n }\n\n .second-row {\n display: none;\n }\n}\n/*MAIN*/\n.main {\n display: flex;\n height: 100%;\n > * {\n flex: 1;\n }\n .reference-container {\n padding: var(--tree-container-padding);\n display: grid;\n height: 100%;\n &--no-references {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n @include gx-ide-message(\"short\");\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Watch,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport {\n TextAlign,\n TextPadding,\n TextType\n} from \"@genexus/gemini/dist/types/components/text/text\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { SuggestItemSelectedEvent } from \"@genexus/chameleon-controls-library/dist/types/deprecated-components/suggest/suggest-list-item/ch-suggest-list-item\";\nimport { SuggestData } from \"@genexus/chameleon-controls-library/dist/types/deprecated-components/suggest/ch-suggest\";\nimport { renderSuggestLists } from \"../../common/render-suggest\";\nimport {\n convertObjectDataToSuggestData,\n convertReferenceDataToTreeViewData\n} from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\"\n];\n\n@Component({\n tag: \"gx-ide-references\",\n styleUrl: \"references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/references\"]\n})\nexport class GxIdeReferences {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/references/shortcuts.json`\n );\n\n /**\n * The last SelectorCategoryData[] returned by selectorSourceCallback\n */\n private selectorCategoryData: SelectorCategoryData[] = [];\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeReferencesElement;\n private selectObjectSuggestEl!: HTMLChSuggestElement;\n\n // 3.STATE() VARIABLES //\n\n @State() referencedByTreeData: TreeViewItemModel[];\n @State() referencesToTreeData: TreeViewItemModel[];\n\n /**\n * Displays or hides the header-bottom section\n */\n @State() barHidden = false;\n\n /**\n * The objects suggestions that will appear on the suggest\n */\n @State() objectsSuggestions: SuggestData;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Currently selected object\n */\n @Prop({ mutable: true }) selectedObject?: ObjectData;\n @Watch(\"selectedObject\")\n selectedObjectHandler(newSelectedObject: ObjectData) {\n if (newSelectedObject.id) {\n /* update \"is referenced by*/\n this.loadReferencesHandler(newSelectedObject.id, false);\n /* update \"has references to*/\n this.loadReferencesHandler(newSelectedObject.id, true);\n }\n }\n\n /**\n * Callback invoked when user writes on object selector input, return possible options to show in autocomplete list\n */\n @Prop() readonly selectorSourceCallback?: SelectorSourceCallback;\n\n /**\n * Callback invoked when a node is expanded in any of the references panels\n */\n @Prop() readonly loadReferencesCallback?: LoadReferencesCallback;\n\n /**\n * Callback invoked when user wants to open an object\n */\n @Prop() readonly openObjectCallback?: OpenObjectCallback;\n\n /**\n * Callback invoked when user wants to show object selection dialog\n */\n @Prop() readonly openSelectorDialogCallback?: OpenSelectorDialogCallback;\n\n /**\n * Callback invoked when any item from the references panels is selected\n */\n @Prop() readonly selectReferenceCallback?: SelectReferenceCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateInitialReferenceData();\n }\n\n componentDidLoad() {\n this.selectObjectSuggestEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * It attaches on the ch-suggest, the \"itemSelected\" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.\n */\n private selectObjectSelectionChanged = (\n e: CustomEvent<SuggestItemSelectedEvent>\n ) => {\n const categoryIndex = e.detail.indexes.listIndex;\n const itemIndex = e.detail.indexes.itemIndex;\n this.selectedObject =\n this.selectorCategoryData[categoryIndex].items[itemIndex];\n };\n\n /**\n * This handler gets fired every time the value of the 'Select Object' ch-suggest changes.\n */\n private selectObjectValueChangedHandler = async (e: CustomEvent<string>) => {\n const value = e.detail;\n this.selectorSourceCallback(value)\n .then(result => {\n this.selectorCategoryData = result;\n /* show suggestions*/\n this.objectsSuggestions = convertObjectDataToSuggestData(result);\n })\n .catch(() => {\n // to do\n });\n };\n\n private openObjectCallbackHandler = async () => {\n this.openObjectCallback(this.selectedObject.id);\n /* Returns an empty Promise*/\n };\n\n /**\n * handler that gets fired when the use clicks on the ch-suggest button (...)\n */\n private openSelectorDialogCallbackHandler = async () => {\n this.openSelectorDialogCallback()\n .then(result => {\n this.selectedObject = result;\n })\n .catch(() => {\n /* to do */\n });\n };\n\n /**\n * It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.\n */\n private evaluateInitialReferenceData = () => {\n if (this.selectedObject) {\n this.selectedObjectHandler(this.selectedObject);\n }\n };\n\n /**\n * This method invokes 'loadReferencesCallback' callback for 'Is Referenced By' and 'Has References To' panels. The second parameter \"to\" indicates if loadReferencesCallback callback should be called for \"has references to\" or \"is references by\"\n */\n private loadReferencesHandler = async (id: string, to = false) => {\n if (this.loadReferencesCallback) {\n this.loadReferencesCallback(id, to).then(result => {\n if (to) {\n this.referencesToTreeData =\n convertReferenceDataToTreeViewData(result);\n } else {\n this.referencedByTreeData =\n convertReferenceDataToTreeViewData(result);\n }\n });\n }\n };\n\n /**\n * It hides/show the bar (The header bottom section).\n */\n private hideBarButtonClickedHandler = () => {\n this.barHidden = !this.barHidden;\n };\n\n private referencesLazyLoadCallbackHandler =\n (ref: \"references-to\" | \"referenced-by\") =>\n async (treeItemId: string): Promise<TreeViewItemModel[]> => {\n if (this.loadReferencesCallback) {\n const to = ref === \"references-to\";\n const referencesLazyChildren = await this.loadReferencesCallback(\n treeItemId,\n to\n );\n const treeLazyChildren = convertReferenceDataToTreeViewData(\n referencesLazyChildren\n );\n return new Promise(resolve => {\n resolve(treeLazyChildren);\n });\n }\n return new Promise(resolve => {\n resolve([]);\n });\n };\n\n private referenceSelectedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n if (this.selectReferenceCallback) {\n const selectedItems: string[] = event.detail.map(item => item.item.id);\n this.selectReferenceCallback(selectedItems[0]);\n // returns void\n }\n };\n\n private referencesItemOpenReferenceCallback = (\n itemOpened: CustomEvent<{ id: string; leaf: boolean; metadata: string }>\n ) => {\n const itemId = itemOpened.detail.id;\n if (this.openObjectCallback) {\n this.openObjectCallback(itemId);\n // returns void\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n displayBorderBottom\n noContentPadding\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n <header class=\"header\" slot=\"header\">\n <div class=\"header__top grid\">\n {/* select object */}\n <gxg-button\n icon=\"navigation/arrow-down\"\n type=\"secondary-icon-only\"\n class=\"hide-bar-button\"\n onClick={this.hideBarButtonClickedHandler}\n part=\"toggle-bar-button\"\n ></gxg-button>\n <gxg-label\n labelPosition=\"start\"\n class=\"suggest-label\"\n part=\"select-object-label\"\n >\n {this._componentLocale.header.selectObject}\n </gxg-label>\n <gxg-suggest>\n <ch-suggest\n value={this.selectedObject.name}\n onValueChanged={this.selectObjectValueChangedHandler}\n onSelectionChanged={this.selectObjectSelectionChanged}\n part=\"object-selector-suggest\"\n exportparts=\"dropdown:select-object-dropdown\"\n ref={el =>\n (this.selectObjectSuggestEl = el as HTMLChSuggestElement)\n }\n >\n {renderSuggestLists(this.objectsSuggestions)}\n </ch-suggest>\n </gxg-suggest>\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.openSelectorDialogCallbackHandler}\n class=\"selector-dialog-button\"\n part=\"open-selector-dialog-button\"\n ></gxg-button>\n </div>\n <div\n class={{\n \"header__bottom\": true,\n \"header__bottom--hidden\": this.barHidden\n }}\n >\n <div class=\"outer-wrapper\">\n <div class=\"inner-wrapper\">\n <div class=\"inner-wrapper__left\">\n <gxg-icon\n type={this.selectedObject.icon}\n color=\"auto\"\n ></gxg-icon>\n <gxg-text\n padding=\"s\"\n type=\"text-link\"\n part=\"open-object-text-link\"\n onClick={this.openObjectCallbackHandler}\n >\n {`${this.selectedObject.name} : ${this.selectedObject.description}`}\n </gxg-text>\n </div>\n <div class=\"inner-wrapper__right gxi-hidden\">\n <gxg-form-checkbox\n id=\"references-by-type\"\n label=\"Group references by type\"\n required\n display-validation-styles\n part=\"references-type-checkbox\"\n ></gxg-form-checkbox>\n </div>\n </div>\n </div>\n </div>\n </header>\n\n <main class=\"main\">\n <gx-ide-container\n containerTitle={this._componentLocale.main.isReferencedBy}\n noContentPadding\n part=\"referenced-by-container\"\n contentBorderEnd\n titleType=\"secondary\"\n >\n {/* is referenced by*/}\n <div\n class={{\n \"reference-container\": true,\n \"reference-container--no-references\":\n !this.referencedByTreeData?.length\n }}\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencedByTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-by-tree\"\n model={this.referencedByTreeData}\n lazyLoadTreeItemsCallback={this.referencesLazyLoadCallbackHandler(\n \"referenced-by\"\n )}\n onSelectedItemsChange={this.referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencedByTreeData?.length && (\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"referenced-by-text\"\n class=\"gx-ide-message\"\n >\n {this.referencedByTreeData?.length === 0\n ? this._componentLocale.main.isReferencedByEmpty\n : this._componentLocale.main.isReferencedByError}\n </gxg-text>\n )}\n </div>\n </gx-ide-container>\n <gx-ide-container\n noContentPadding\n containerTitle={this._componentLocale.main.hasReferencesTo}\n part=\"references-to-container\"\n titleType=\"secondary\"\n >\n {/* has references to*/}\n <div\n class={{\n \"reference-container\": true,\n \"reference-container--no-references\":\n !this.referencesToTreeData?.length\n }}\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencesToTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-to-tree\"\n model={this.referencesToTreeData}\n lazyLoadTreeItemsCallback={this.referencesLazyLoadCallbackHandler(\n \"references-to\"\n )}\n onSelectedItemsChange={this.referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencesToTreeData?.length && (\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"references-to-text\"\n class=\"gx-ide-message\"\n >\n {this.referencesToTreeData?.length === 0\n ? this._componentLocale.main.hasReferencesEmpty\n : this._componentLocale.main.hasReferencesToError}\n </gxg-text>\n )}\n </div>\n </gx-ide-container>\n </main>\n </gx-ide-container>\n </div>\n <gxg-shortcuts src={this.shortcutsSrc}></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport type SelectorCategoryData = {\n name: string;\n items: ObjectData[];\n};\n\nexport type ObjectData = {\n id: string;\n typeName: string;\n icon: string;\n name: string;\n description?: string;\n};\n\nexport type ReferenceData = ObjectData & {\n hasChildren: boolean;\n items?: ReferenceData[];\n};\n\nexport type SelectorSourceCallback = (\n prefix: string\n) => Promise<SelectorCategoryData[]>;\n\nexport type LoadReferencesCallback = (\n id: string,\n to: boolean\n) => Promise<ReferenceData[]>;\n\nexport type OpenObjectCallback = (id: string) => Promise<void>;\nexport type OpenSelectorDialogCallback = () => Promise<ObjectData | undefined>;\nexport type SelectReferenceCallback = (id: string) => Promise<void>;\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-references.entry.js","mappings":"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","names":[],"sources":["src/components/references/helpers.ts","src/components/references/references.scss?tag=gx-ide-references&encapsulation=shadow","src/components/references/references.tsx"],"sourcesContent":["/* Ch Suggest*/\nimport { SuggestItemData } from \"@genexus/chameleon-controls-library/dist/types/deprecated-components/suggest/suggest-list-item/ch-suggest-list-item\";\nimport { SuggestListData } from \"@genexus/chameleon-controls-library/dist/types/deprecated-components/suggest/suggest-list/ch-suggest-list\";\nimport { SuggestData } from \"@genexus/chameleon-controls-library/dist/types/deprecated-components/suggest/ch-suggest\";\n/* Tree View */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\n\n/* References Types*/\nimport { SelectorCategoryData } from \"./references\";\nimport { ObjectData } from \"./references\";\nimport { ReferenceData } from \"./references\";\n\n/**\n * @description This function converts SelectorCategoryData[] SuggestData\n */\nexport const convertObjectDataToSuggestData = (\n selectorCategoriesData: SelectorCategoryData[]\n): SuggestData => {\n const suggestData: SuggestData = {\n suggestItems: null,\n suggestLists: []\n };\n if (selectorCategoriesData.length) {\n selectorCategoriesData.forEach(selectorCategory => {\n const suggestList: SuggestListData = {\n label: selectorCategory.name,\n items: []\n };\n selectorCategory.items.forEach((objectData: ObjectData) => {\n const suggestItem: SuggestItemData = {\n value: objectData.id,\n description: objectData.description,\n icon: objectData.icon\n };\n suggestList.items.push(suggestItem);\n });\n suggestData.suggestLists.push(suggestList);\n });\n }\n return suggestData;\n};\n\nconst convertToTreeItem = (item: ReferenceData): TreeViewItemModel => ({\n caption: item.name,\n id: item.id,\n items: (item.items ?? []).map(convertToTreeItem),\n lazy: item.hasChildren && (item.items == null || item.items.length === 0),\n leaf: item.hasChildren === false,\n startImgSrc: item.icon\n});\n\n/**\n * @description This function converts ReferenceData[] data to TreeItemData[]\n */\nexport const convertReferenceDataToTreeViewData = (\n referenceData: ReferenceData[] | undefined\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!referenceData) {\n return treeData;\n }\n\n referenceData.forEach(item => {\n treeData.push(convertToTreeItem(item));\n });\n return treeData;\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n/*HEADER*/\n.header {\n /*Top*/\n &__top {\n grid-template-columns: min-content auto 1fr min-content;\n grid-template-rows: 1fr;\n grid-template-areas: \"hide-bar-button suggest-label gxg-suggest selector-dialog-button\";\n\n .hide-bar-button {\n grid-area: hide-bar-button;\n }\n .suggest-label {\n grid-area: suggest-label;\n }\n gxg-suggest {\n grid-area: gxg-suggest;\n }\n .selector-dialog-button {\n grid-area: selector-dialog-button;\n }\n }\n /*Bottom*/\n &__bottom {\n display: grid;\n grid-template-rows: 1fr;\n transition: var(--mer-timing--super-fast-ms) grid-template-rows;\n &--hidden {\n grid-template-rows: 0fr;\n }\n .outer-wrapper {\n overflow: hidden;\n }\n .inner-wrapper {\n padding-top: var(--gx-ide-grid-row-gap);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &__left {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-row-gap);\n }\n }\n }\n}\n/*Header hidable*/\n.header-hidden {\n .first-row {\n grid-template-columns: auto 1fr auto;\n > :nth-child(3) {\n align-self: end;\n }\n }\n\n .second-row {\n display: none;\n }\n}\n/*MAIN*/\n.main {\n display: flex;\n height: 100%;\n > * {\n flex: 1;\n }\n .reference-container {\n padding: var(--tree-container-padding);\n display: grid;\n height: 100%;\n &--no-references {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n @include gx-ide-message(\"short\");\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Watch,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport {\n TextAlign,\n TextPadding,\n TextType\n} from \"@genexus/gemini/dist/types/components/text/text\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { SuggestItemSelectedEvent } from \"@genexus/chameleon-controls-library/dist/types/deprecated-components/suggest/suggest-list-item/ch-suggest-list-item\";\nimport { SuggestData } from \"@genexus/chameleon-controls-library/dist/types/deprecated-components/suggest/ch-suggest\";\nimport { renderSuggestLists } from \"../../common/render-suggest\";\nimport {\n convertObjectDataToSuggestData,\n convertReferenceDataToTreeViewData\n} from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\"\n];\n\n@Component({\n tag: \"gx-ide-references\",\n styleUrl: \"references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/references\"]\n})\nexport class GxIdeReferences {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/references/shortcuts.json`\n );\n\n /**\n * The last SelectorCategoryData[] returned by selectorSourceCallback\n */\n private selectorCategoryData: SelectorCategoryData[] = [];\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeReferencesElement;\n private selectObjectSuggestEl!: HTMLChSuggestElement;\n\n // 3.STATE() VARIABLES //\n\n @State() referencedByTreeData: TreeViewItemModel[];\n @State() referencesToTreeData: TreeViewItemModel[];\n\n /**\n * Displays or hides the header-bottom section\n */\n @State() barHidden = false;\n\n /**\n * The objects suggestions that will appear on the suggest\n */\n @State() objectsSuggestions: SuggestData;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Currently selected object\n */\n @Prop({ mutable: true }) selectedObject?: ObjectData;\n @Watch(\"selectedObject\")\n selectedObjectHandler(newSelectedObject: ObjectData) {\n if (newSelectedObject.id) {\n /* update \"is referenced by*/\n this.loadReferencesHandler(newSelectedObject.id, false);\n /* update \"has references to*/\n this.loadReferencesHandler(newSelectedObject.id, true);\n }\n }\n\n /**\n * Callback invoked when user writes on object selector input, return possible options to show in autocomplete list\n */\n @Prop() readonly selectorSourceCallback?: SelectorSourceCallback;\n\n /**\n * Callback invoked when a node is expanded in any of the references panels\n */\n @Prop() readonly loadReferencesCallback?: LoadReferencesCallback;\n\n /**\n * Callback invoked when user wants to open an object\n */\n @Prop() readonly openObjectCallback?: OpenObjectCallback;\n\n /**\n * Callback invoked when user wants to show object selection dialog\n */\n @Prop() readonly openSelectorDialogCallback?: OpenSelectorDialogCallback;\n\n /**\n * Callback invoked when any item from the references panels is selected\n */\n @Prop() readonly selectReferenceCallback?: SelectReferenceCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateInitialReferenceData();\n }\n\n componentDidLoad() {\n this.selectObjectSuggestEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * It attaches on the ch-suggest, the \"itemSelected\" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.\n */\n private selectObjectSelectionChanged = (\n e: CustomEvent<SuggestItemSelectedEvent>\n ) => {\n const categoryIndex = e.detail.indexes.listIndex;\n const itemIndex = e.detail.indexes.itemIndex;\n this.selectedObject =\n this.selectorCategoryData[categoryIndex].items[itemIndex];\n };\n\n /**\n * This handler gets fired every time the value of the 'Select Object' ch-suggest changes.\n */\n private selectObjectValueChangedHandler = async (e: CustomEvent<string>) => {\n const value = e.detail;\n this.selectorSourceCallback(value)\n .then(result => {\n this.selectorCategoryData = result;\n /* show suggestions*/\n this.objectsSuggestions = convertObjectDataToSuggestData(result);\n })\n .catch(() => {\n // to do\n });\n };\n\n private openObjectCallbackHandler = async () => {\n this.openObjectCallback(this.selectedObject.id);\n /* Returns an empty Promise*/\n };\n\n /**\n * handler that gets fired when the use clicks on the ch-suggest button (...)\n */\n private openSelectorDialogCallbackHandler = async () => {\n this.openSelectorDialogCallback()\n .then(result => {\n this.selectedObject = result;\n })\n .catch(() => {\n /* to do */\n });\n };\n\n /**\n * It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.\n */\n private evaluateInitialReferenceData = () => {\n if (this.selectedObject) {\n this.selectedObjectHandler(this.selectedObject);\n }\n };\n\n /**\n * This method invokes 'loadReferencesCallback' callback for 'Is Referenced By' and 'Has References To' panels. The second parameter \"to\" indicates if loadReferencesCallback callback should be called for \"has references to\" or \"is references by\"\n */\n private loadReferencesHandler = async (id: string, to = false) => {\n if (this.loadReferencesCallback) {\n this.loadReferencesCallback(id, to).then(result => {\n if (to) {\n this.referencesToTreeData =\n convertReferenceDataToTreeViewData(result);\n } else {\n this.referencedByTreeData =\n convertReferenceDataToTreeViewData(result);\n }\n });\n }\n };\n\n /**\n * It hides/show the bar (The header bottom section).\n */\n private hideBarButtonClickedHandler = () => {\n this.barHidden = !this.barHidden;\n };\n\n private referencesLazyLoadCallbackHandler =\n (ref: \"references-to\" | \"referenced-by\") =>\n async (treeItemId: string): Promise<TreeViewItemModel[]> => {\n if (this.loadReferencesCallback) {\n const to = ref === \"references-to\";\n const referencesLazyChildren = await this.loadReferencesCallback(\n treeItemId,\n to\n );\n const treeLazyChildren = convertReferenceDataToTreeViewData(\n referencesLazyChildren\n );\n return new Promise(resolve => {\n resolve(treeLazyChildren);\n });\n }\n return new Promise(resolve => {\n resolve([]);\n });\n };\n\n private referenceSelectedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n if (this.selectReferenceCallback) {\n const selectedItems: string[] = event.detail.map(item => item.item.id);\n this.selectReferenceCallback(selectedItems[0]);\n // returns void\n }\n };\n\n private referencesItemOpenReferenceCallback = (\n itemOpened: CustomEvent<{ id: string; leaf: boolean; metadata: string }>\n ) => {\n const itemId = itemOpened.detail.id;\n if (this.openObjectCallback) {\n this.openObjectCallback(itemId);\n // returns void\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n displayBorderBottom\n noContentPadding\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n <header class=\"header\" slot=\"header\">\n <div class=\"header__top grid\">\n {/* select object */}\n <gxg-button\n icon=\"navigation/arrow-down\"\n type=\"secondary-icon-only\"\n class=\"hide-bar-button\"\n onClick={this.hideBarButtonClickedHandler}\n part=\"toggle-bar-button\"\n ></gxg-button>\n <gxg-label\n labelPosition=\"start\"\n class=\"suggest-label\"\n part=\"select-object-label\"\n >\n {this._componentLocale.header.selectObject}\n </gxg-label>\n <gxg-suggest>\n <ch-suggest\n value={this.selectedObject.name}\n onValueChanged={this.selectObjectValueChangedHandler}\n onSelectionChanged={this.selectObjectSelectionChanged}\n part=\"object-selector-suggest\"\n exportparts=\"dropdown:select-object-dropdown\"\n ref={el =>\n (this.selectObjectSuggestEl = el as HTMLChSuggestElement)\n }\n >\n {renderSuggestLists(this.objectsSuggestions)}\n </ch-suggest>\n </gxg-suggest>\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.openSelectorDialogCallbackHandler}\n class=\"selector-dialog-button\"\n part=\"open-selector-dialog-button\"\n ></gxg-button>\n </div>\n <div\n class={{\n \"header__bottom\": true,\n \"header__bottom--hidden\": this.barHidden\n }}\n >\n <div class=\"outer-wrapper\">\n <div class=\"inner-wrapper\">\n <div class=\"inner-wrapper__left\">\n <gxg-icon\n type={this.selectedObject.icon}\n color=\"auto\"\n ></gxg-icon>\n <gxg-text\n padding=\"s\"\n type=\"text-link\"\n part=\"open-object-text-link\"\n onClick={this.openObjectCallbackHandler}\n >\n {`${this.selectedObject.name} : ${this.selectedObject.description}`}\n </gxg-text>\n </div>\n <div class=\"inner-wrapper__right gxi-hidden\">\n <gxg-form-checkbox\n id=\"references-by-type\"\n label=\"Group references by type\"\n required\n display-validation-styles\n part=\"references-type-checkbox\"\n ></gxg-form-checkbox>\n </div>\n </div>\n </div>\n </div>\n </header>\n\n <main class=\"main\">\n <gx-ide-container\n containerTitle={this._componentLocale.main.isReferencedBy}\n noContentPadding\n part=\"referenced-by-container\"\n contentBorderEnd\n titleType=\"secondary\"\n >\n {/* is referenced by*/}\n <div\n class={{\n \"reference-container\": true,\n \"reference-container--no-references\":\n !this.referencedByTreeData?.length\n }}\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencedByTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-by-tree\"\n model={this.referencedByTreeData}\n lazyLoadTreeItemsCallback={this.referencesLazyLoadCallbackHandler(\n \"referenced-by\"\n )}\n onSelectedItemsChange={this.referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencedByTreeData?.length && (\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"referenced-by-text\"\n class=\"gx-ide-message\"\n >\n {this.referencedByTreeData?.length === 0\n ? this._componentLocale.main.isReferencedByEmpty\n : this._componentLocale.main.isReferencedByError}\n </gxg-text>\n )}\n </div>\n </gx-ide-container>\n <gx-ide-container\n noContentPadding\n containerTitle={this._componentLocale.main.hasReferencesTo}\n part=\"references-to-container\"\n titleType=\"secondary\"\n >\n {/* has references to*/}\n <div\n class={{\n \"reference-container\": true,\n \"reference-container--no-references\":\n !this.referencesToTreeData?.length\n }}\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencesToTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-to-tree\"\n model={this.referencesToTreeData}\n lazyLoadTreeItemsCallback={this.referencesLazyLoadCallbackHandler(\n \"references-to\"\n )}\n onSelectedItemsChange={this.referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencesToTreeData?.length && (\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"references-to-text\"\n class=\"gx-ide-message\"\n >\n {this.referencesToTreeData?.length === 0\n ? this._componentLocale.main.hasReferencesEmpty\n : this._componentLocale.main.hasReferencesToError}\n </gxg-text>\n )}\n </div>\n </gx-ide-container>\n </main>\n </gx-ide-container>\n </div>\n <gxg-shortcuts src={this.shortcutsSrc}></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport type SelectorCategoryData = {\n name: string;\n items: ObjectData[];\n};\n\nexport type ObjectData = {\n id: string;\n typeName: string;\n icon: string;\n name: string;\n description?: string;\n};\n\nexport type ReferenceData = ObjectData & {\n hasChildren: boolean;\n items?: ReferenceData[];\n};\n\nexport type SelectorSourceCallback = (\n prefix: string\n) => Promise<SelectorCategoryData[]>;\n\nexport type LoadReferencesCallback = (\n id: string,\n to: boolean\n) => Promise<ReferenceData[]>;\n\nexport type OpenObjectCallback = (id: string) => Promise<void>;\nexport type OpenSelectorDialogCallback = () => Promise<ObjectData | undefined>;\nexport type SelectReferenceCallback = (id: string) => Promise<void>;\n"],"version":3}
|