@genexus/genexus-ide-ui 0.0.98 → 0.0.100
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/ch-icon_5.cjs.entry.js +3 -2
- package/dist/cjs/ch-icon_5.cjs.entry.js.map +1 -1
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container_3.cjs.entry.js} +53 -127
- package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +175 -0
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -0
- package/dist/cjs/{gx-ide-recent-news.cjs.entry.js → gx-ide-empty-state_2.cjs.entry.js} +64 -2
- package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +2 -9
- package/dist/cjs/gx-ide-import-from-design.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +9 -5
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +41 -27
- package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-card_2.cjs.entry.js +10 -5
- package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-combo-box_2.cjs.entry.js +62 -24
- package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-form-checkbox.cjs.entry.js +151 -0
- package/dist/cjs/gxg-form-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/gxg-list-box_2.cjs.entry.js +28 -3
- package/dist/cjs/gxg-list-box_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-pill.cjs.entry.js +5 -5
- package/dist/cjs/gxg-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-pills.cjs.entry.js +1 -1
- package/dist/cjs/gxg-pills.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-tab_4.cjs.entry.js +97 -17
- package/dist/cjs/gxg-tab_4.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-window-v2.cjs.entry.js +28 -0
- package/dist/cjs/gxg-window-v2.cjs.entry.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +4 -1
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +40 -0
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +180 -0
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -0
- package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
- package/dist/collection/components/_helpers/list-selector/list-selector.js +1 -1
- package/dist/collection/components/dashboard-home/dashboard-home.css +5 -0
- package/dist/collection/components/dashboard-home/dashboard-home.js +1 -1
- package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
- package/dist/collection/components/data-selector/data-selector.css +261 -0
- package/dist/collection/components/data-selector/data-selector.js +441 -0
- package/dist/collection/components/data-selector/data-selector.js.map +1 -0
- package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +23 -0
- package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +3 -0
- package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.zh.json +3 -0
- package/dist/collection/components/data-selector/gx-ide-assets/data-selector/shortcuts.json +15 -0
- package/dist/collection/components/import-from-design/import-from-design.js +3 -12
- package/dist/collection/components/import-from-design/import-from-design.js.map +1 -1
- package/dist/collection/components/start-page/recent-news.css +1 -1
- package/dist/collection/components/start-page/start-page.css +4 -0
- package/dist/collection/components/start-page/start-page.js +8 -4
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/components/card.js +11 -5
- package/dist/components/card.js.map +1 -1
- package/dist/components/combo-box.js +62 -24
- package/dist/components/combo-box.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +2 -2
- package/dist/components/gx-ide-dashboard-home.js.map +1 -1
- package/dist/components/gx-ide-data-selector.d.ts +11 -0
- package/dist/components/gx-ide-data-selector.js +347 -0
- package/dist/components/gx-ide-data-selector.js.map +1 -0
- package/dist/components/gx-ide-empty-state.d.ts +11 -0
- package/dist/components/gx-ide-empty-state.js +8 -0
- package/dist/components/gx-ide-empty-state.js.map +1 -0
- package/dist/components/gx-ide-empty-state2.js +126 -0
- package/dist/components/gx-ide-empty-state2.js.map +1 -0
- package/dist/components/gx-ide-import-from-design.js +3 -11
- package/dist/components/gx-ide-import-from-design.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +21 -11
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gxg-menu-item.js +1 -1
- package/dist/components/gxg-menu-item.js.map +1 -1
- package/dist/components/gxg-pills.js +1 -1
- package/dist/components/gxg-pills.js.map +1 -1
- package/dist/components/gxg-top-state-bar2.js +46 -30
- package/dist/components/gxg-top-state-bar2.js.map +1 -1
- package/dist/components/gxg-window-v2.js +44 -0
- package/dist/components/gxg-window-v2.js.map +1 -0
- package/dist/components/icon2.js +3 -2
- package/dist/components/icon2.js.map +1 -1
- package/dist/components/list-box.js +27 -1
- package/dist/components/list-box.js.map +1 -1
- package/dist/components/pill.js +5 -5
- package/dist/components/pill.js.map +1 -1
- package/dist/components/recent-news.js +1 -1
- package/dist/components/recent-news.js.map +1 -1
- package/dist/components/tab-bar.js +17 -9
- package/dist/components/tab-bar.js.map +1 -1
- package/dist/components/tab-button.js +11 -4
- package/dist/components/tab-button.js.map +1 -1
- package/dist/components/tab.js +6 -3
- package/dist/components/tab.js.map +1 -1
- package/dist/components/tabs.js +73 -4
- package/dist/components/tabs.js.map +1 -1
- package/dist/esm/ch-icon_5.entry.js +3 -2
- package/dist/esm/ch-icon_5.entry.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container_3.entry.js} +53 -128
- package/dist/esm/gx-ide-container_3.entry.js.map +1 -0
- package/dist/esm/gx-ide-dashboard-home.entry.js +2 -2
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +171 -0
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -0
- package/dist/esm/{gx-ide-recent-news.entry.js → gx-ide-empty-state_2.entry.js} +64 -3
- package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -0
- package/dist/esm/gx-ide-import-from-design.entry.js +2 -9
- package/dist/esm/gx-ide-import-from-design.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +9 -5
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-status-buttons_2.entry.js +41 -27
- package/dist/esm/gx-ide-status-buttons_2.entry.js.map +1 -1
- package/dist/esm/gxg-card_2.entry.js +10 -5
- package/dist/esm/gxg-card_2.entry.js.map +1 -1
- package/dist/esm/gxg-combo-box_2.entry.js +62 -24
- package/dist/esm/gxg-combo-box_2.entry.js.map +1 -1
- package/dist/esm/gxg-form-checkbox.entry.js +147 -0
- package/dist/esm/gxg-form-checkbox.entry.js.map +1 -0
- package/dist/esm/gxg-list-box_2.entry.js +27 -2
- package/dist/esm/gxg-list-box_2.entry.js.map +1 -1
- package/dist/esm/gxg-menu-item.entry.js +1 -1
- package/dist/esm/gxg-menu-item.entry.js.map +1 -1
- package/dist/esm/gxg-pill.entry.js +5 -5
- package/dist/esm/gxg-pill.entry.js.map +1 -1
- package/dist/esm/gxg-pills.entry.js +1 -1
- package/dist/esm/gxg-pills.entry.js.map +1 -1
- package/dist/esm/gxg-tab_4.entry.js +97 -17
- package/dist/esm/gxg-tab_4.entry.js.map +1 -1
- package/dist/esm/gxg-window-v2.entry.js +24 -0
- package/dist/esm/gxg-window-v2.entry.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +74 -7
- 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/data-selector/langs/data-selector.lang.en.json +23 -0
- package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/data-selector/shortcuts.json +15 -0
- package/dist/genexus-ide-ui/icon-assets/mercury/tests/balanza-path.svg +3 -0
- package/dist/genexus-ide-ui/icon-assets/mercury/tests/balanza-stroke.svg +9 -0
- package/dist/genexus-ide-ui/icon-assets/mercury/tests/folder-2.svg +3 -0
- package/dist/genexus-ide-ui/{p-b8fc93f4.entry.js → p-2c8afaa6.entry.js} +147 -112
- package/dist/genexus-ide-ui/p-2c8afaa6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9b96b515.entry.js → p-40f21d2d.entry.js} +116 -192
- package/dist/genexus-ide-ui/p-40f21d2d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5ca84a03.entry.js → p-4e155cd5.entry.js} +27 -4
- package/dist/genexus-ide-ui/p-4e155cd5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-4fc6d6a7.entry.js +24 -0
- package/dist/genexus-ide-ui/p-4fc6d6a7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-54e4b362.entry.js +270 -0
- package/dist/genexus-ide-ui/p-54e4b362.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-73aa4e69.entry.js → p-71f8aba2.entry.js} +13 -13
- package/dist/genexus-ide-ui/{p-73aa4e69.entry.js.map → p-71f8aba2.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/p-75f0ba9d.entry.js +273 -0
- package/dist/genexus-ide-ui/p-75f0ba9d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-545291ad.entry.js → p-7dc3a137.entry.js} +4 -3
- package/dist/genexus-ide-ui/{p-545291ad.entry.js.map → p-7dc3a137.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-f186adfd.entry.js → p-85639fa5.entry.js} +100 -22
- package/dist/genexus-ide-ui/p-85639fa5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-30365c44.entry.js → p-a3e07b86.entry.js} +6 -7
- package/dist/genexus-ide-ui/p-a3e07b86.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9c6c5a61.entry.js → p-a592930e.entry.js} +37 -32
- package/dist/genexus-ide-ui/p-a592930e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-b0e539fe.entry.js +41 -0
- package/dist/genexus-ide-ui/p-b0e539fe.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a439149b.entry.js → p-bff2603a.entry.js} +8 -3
- package/dist/genexus-ide-ui/p-bff2603a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-050bc199.entry.js → p-e0924e3f.entry.js} +96 -6
- package/dist/genexus-ide-ui/p-e0924e3f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-58cad79d.entry.js → p-e240361a.entry.js} +58 -68
- package/dist/genexus-ide-ui/p-e240361a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e585f550.entry.js → p-e3925761.entry.js} +4 -5
- package/dist/genexus-ide-ui/{p-e585f550.entry.js.map → p-e3925761.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-219d7b29.entry.js → p-eeb35622.entry.js} +165 -89
- package/dist/genexus-ide-ui/p-eeb35622.entry.js.map +1 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/card/card.css +13 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pill.css +16 -51
- package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pills.css +1 -8
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +7 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css +18 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +17 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +64 -13
- package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +120 -43
- package/dist/node_modules/@genexus/gemini/dist/collection/components/window-v2/window.css +3 -0
- package/dist/types/components/_helpers/empty-state/gx-ide-empty-state.d.ts +34 -0
- package/dist/types/components/data-selector/data-selector.d.ts +109 -0
- package/dist/types/components/import-from-design/import-from-design.d.ts +1 -3
- package/dist/types/components.d.ts +220 -40
- package/package.json +3 -3
- package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +0 -1
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +0 -1
- package/dist/cjs/gx-ide-title_2.cjs.entry.js +0 -77
- package/dist/cjs/gx-ide-title_2.cjs.entry.js.map +0 -1
- package/dist/cjs/reposition-scroll-86d8fac5.js +0 -33
- package/dist/cjs/reposition-scroll-86d8fac5.js.map +0 -1
- package/dist/components/reposition-scroll.js +0 -31
- package/dist/components/reposition-scroll.js.map +0 -1
- package/dist/esm/gx-ide-container_2.entry.js.map +0 -1
- package/dist/esm/gx-ide-recent-news.entry.js.map +0 -1
- package/dist/esm/gx-ide-title_2.entry.js +0 -72
- package/dist/esm/gx-ide-title_2.entry.js.map +0 -1
- package/dist/esm/reposition-scroll-cfff7017.js +0 -31
- package/dist/esm/reposition-scroll-cfff7017.js.map +0 -1
- package/dist/genexus-ide-ui/p-050bc199.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-219d7b29.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-30365c44.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-3e87257c.entry.js +0 -41
- package/dist/genexus-ide-ui/p-3e87257c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-58cad79d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5ca84a03.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9b96b515.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9c6c5a61.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a439149b.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-b8fc93f4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-efa273d7.js +0 -27
- package/dist/genexus-ide-ui/p-efa273d7.js.map +0 -1
- package/dist/genexus-ide-ui/p-f186adfd.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f5034221.entry.js +0 -258
- package/dist/genexus-ide-ui/p-f5034221.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-dashboard-home.js","mappings":"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","names":["GxIdeDashboardHome"],"sources":["src/components/dashboard-home/dashboard-home.scss?tag=gx-ide-dashboard-home&encapsulation=shadow","src/components/dashboard-home/dashboard-home.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n height: 100%;\n overflow: auto;\n}\n\n// Manage height and overflow\n:host,\n.gx-ide-main-wrapper,\n.grid--basic,\n.project,\n.recent-objects {\n height: 100%;\n overflow: auto;\n}\n\n.kb {\n grid-area: kb;\n align-self: center;\n .version-pill {\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n .kb-detail {\n flex-wrap: wrap;\n margin-block-start: var(--mer-spacing--md);\n gap: var(--mer-spacing--md);\n .display-inline {\n @include line-clamp;\n }\n }\n}\n\n.environment {\n grid-area: environment;\n gxg-title-editable {\n margin-block-end: var(--gx-ide-cards-vertical-spacing);\n }\n .grid--environments {\n flex-grow: 1;\n grid-template-columns: 1fr 1fr 1fr;\n gap: var(--gx-ide-grid-column-gap);\n .align-center {\n gap: var(--mer-spacing--xxs);\n }\n .front-end {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-cards-vertical-spacing);\n }\n }\n}\n\n.project {\n grid-area: project;\n .project-buttons {\n margin-block-start: var(--mer-spacing--md);\n gap: var(--mer-spacing--md);\n }\n gxg-form-textarea::part(textarea) {\n width: 100%;\n background-color: transparent;\n line-height: var(--line-height-default);\n font-size: var(--mer-font__size--xs);\n }\n}\n\n.recent-objects {\n grid-area: recent-objects;\n\n .recent-objects-card {\n margin-block-end: var(--gx-ide-cards-vertical-spacing);\n &:last-child {\n margin-block-end: 0;\n }\n .grid--recent-objects {\n flex-grow: 1;\n grid-template-columns: 1fr 10fr 12fr 1fr;\n gap: var(--gx-ide-cards-horizontal-spacing);\n height: 100%;\n .obj-name {\n color: var(--gray-06);\n }\n }\n }\n}\n\n.grid--basic {\n flex-grow: 1;\n grid-template-columns: 1.12fr 1fr;\n gap: var(--mer-spacing--xl);\n grid-template-areas:\n \"kb environment\"\n \"project recent-objects\";\n grid-template-rows: auto 1fr;\n}\n\ngxg-title-editable {\n width: 100%;\n}\n\ngx-ide-card {\n height: 100%;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { formatDate } from \"../../common/helpers\";\n\nconst mapStatusToIcons: {\n [key in RecentObjectStatus]: StatusIcons;\n} = {\n new: \"gx-server/new\",\n modified: \"patterns-default-associated/modified\",\n conflicted: \"patterns-default-associated/synchronized\",\n unmodified: \"gx-server/delete\"\n};\n\n@Component({\n tag: \"gx-ide-dashboard-home\",\n styleUrl: \"dashboard-home.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/dashboard-home\"]\n})\nexport class GxIdeDashboardHome {\n /*\n INDEX:\n 1.OWN PROPERTIES \n 2.REFERENCE TO ELEMENTS\n 3.STATE() VARIABLES\n 4.PUBLIC PROPERTY API | WATCH'S\n 5.EVENTS (EMIT)\n 6.COMPONENT LIFECYCLE METHODS\n 7.LISTENERS\n 8.PUBLIC METHODS API\n 9.LOCAL METHODS\n 10.RENDER() FUNCTIONS\n 11.RENDER() MAIN FUNCTION\n */\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDashboardHomeElement;\n\n private kbNameEl!: HTMLGxgTitleEditableElement;\n private envNameEl!: HTMLGxgTitleEditableElement;\n /* private projectDescriptionEl!: HTMLGxgFormTextareaElement;*/\n\n // 3.STATE() VARIABLES //\n\n /**\n * The editing state for the title.\n */\n @State() editingKbName = false;\n\n /**\n * The editing state for the environment name.\n */\n @State() editingEnvName = false;\n\n /**\n * The editing state for the project details.\n */\n @State() editingProjectDescription = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The KB basic properties.\n */\n @Prop() readonly kb: KBData;\n\n /**\n * Information of the current environment.\n */\n @Prop() readonly environment: EnvironmentData;\n\n /**\n * Project Detail description.\n */\n @Prop() readonly projectDescription: string;\n\n /**\n * Recently edited objects.\n */\n @Prop() readonly recentObjects: recentObjectData[];\n\n /**\n * Callback invoked when user tries to rename the KB.\n * Receives the new name as a parameter\n * and returns a promise with the result of the operation.\n */\n @Prop() readonly renameKBCallback: (name: string) => Promise<EditResult>;\n\n /**\n * Callback invoked when user tries to rename the KB environment.\n * Receives the new name as a parameter\n * and returns a promise with the result of the operation.\n */\n @Prop() readonly renameEnvironmentCallback: (\n name: string\n ) => Promise<EditResult>;\n\n /**\n * Callback invoked when user tries to edit the Project Description.\n * The edition is resolved by the host.\n */\n @Prop() readonly editDescriptionCallback: () => Promise<void>;\n\n /**\n * Callback invoked when user tries to open one of the listed Recent Objects\n * Receives the internal ID of the object\n */\n @Prop() readonly openObjectCallback: (id: number) => Promise<void>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n 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 // Kb Name\n\n private handleKbNameChange = async () => {\n if (this.renameKBCallback) {\n const response = this.renameKBCallback(this.kbNameEl.value);\n response.then((result: EditResult) => {\n if (result.success) {\n this.kb.name = this.kbNameEl.value;\n }\n this.editValidation(result, this.kbNameEl);\n });\n }\n };\n\n // Environment Name\n\n private handleEnvNameChange = async () => {\n if (this.renameEnvironmentCallback) {\n const response = this.renameEnvironmentCallback(this.envNameEl.value);\n response.then((result: EditResult) => {\n if (result.success) {\n this.environment.name = this.envNameEl.value;\n }\n this.editValidation(result, this.envNameEl);\n });\n }\n };\n\n // Project Description\n private toggleEditDescription = async () => {\n this.editingProjectDescription = !this.editingProjectDescription;\n };\n\n private handleDescriptionChange = async () => {\n if (this.editDescriptionCallback) {\n await this.editDescriptionCallback();\n }\n };\n\n // Recent Objects\n\n private openObject = (id: number) => {\n this.openObjectCallback(id);\n };\n\n // Validation\n\n private editValidation = (result: EditResult, el: any) => {\n if (!result.success) {\n el.validationStatus = \"error\";\n el.validationMessage = result.errorMessage;\n }\n };\n\n // 10.RENDER() FUNCTIONS //\n\n private renderProjectContent = (): Element => {\n return this.editingProjectDescription ? (\n <div>\n <gxg-form-textarea\n rows={12}\n value={this.projectDescription}\n /* ref={(el: HTMLGxgFormTextareaElement) =>\n (this.projectDescriptionEl = el as HTMLGxgFormTextareaElement)\n }*/\n ></gxg-form-textarea>\n <div class=\"project-buttons align-center\">\n <gxg-text type=\"text-link\" onClick={this.handleDescriptionChange}>\n {this._componentLocale.save}\n </gxg-text>\n <gxg-text type=\"text-link\" onClick={this.toggleEditDescription}>\n {this._componentLocale.discard}\n </gxg-text>\n </div>\n </div>\n ) : (\n <div>\n <div innerHTML={this.projectDescription}></div>\n <gxg-text\n icon=\"gemini-tools/edit\"\n type=\"text-link\"\n onClick={this.toggleEditDescription}\n >\n {this._componentLocale.edit}\n </gxg-text>\n </div>\n );\n };\n\n private renderFrontEndTitle() {\n return this.environment.frontEnd.length <= 1\n ? this._componentLocale.environment.frontEndLang\n : this._componentLocale.environment.frontEndLangs;\n }\n\n // 11.RENDER() MAIN FUNCTION //\n\n render() {\n return (\n <Host>\n <div class=\"gx-ide-main-wrapper\">\n <div class=\"grid grid--basic\">\n <div class=\"kb gxi-overflow-auto\">\n <gxg-title-editable\n value={this.kb.name}\n disable-edition={this.editingKbName}\n click-to-edit={true}\n fluid\n ref={el => (this.kbNameEl = el as HTMLGxgTitleEditableElement)}\n onValueChanged={this.handleKbNameChange}\n focusType=\"text\"\n debounce\n ></gxg-title-editable>\n <div class=\"align-center kb-detail\">\n <gxg-pill\n id=\"pill\"\n class=\"version-pill\"\n type=\"static\"\n icon=\"objects/procedure\"\n >\n {this._componentLocale.version}: {this.kb.currentVersion}\n </gxg-pill>\n <gxg-text\n class=\"display-inline\"\n type=\"text-regular\"\n padding=\"s\"\n italic\n >\n {this._componentLocale.created}:{\" \"}\n {formatDate(this.kb.created, \"date-time-short\")} -{\" \"}\n {this._componentLocale.lastBuild}:{\" \"}\n {formatDate(this.kb.lastBuild, \"date-time-short\")}\n </gxg-text>\n </div>\n </div>\n\n <div class=\"environment\">\n <gxg-title-editable\n value={this.environment.name}\n disable-edition={this.editingEnvName}\n click-to-edit={true}\n title-type=\"h3\"\n ref={el => (this.envNameEl = el as HTMLGxgTitleEditableElement)}\n onValueChanged={this.handleEnvNameChange}\n focusType=\"text\"\n debounce\n ></gxg-title-editable>\n <div class=\"grid grid--environments\">\n <gxg-card\n background=\"gray-01\"\n cardType=\"mini\"\n padding=\"s\"\n cardTitle={this.renderFrontEndTitle()}\n >\n <div class=\"front-end\">\n {this.environment.frontEnd.map(\n (obj: EnvironmentItemData) => (\n <div class=\"align-center\">\n <gxg-icon\n type={obj.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {obj.name}\n </div>\n )\n )}\n </div>\n </gxg-card>\n\n <gxg-card\n background=\"gray-01\"\n cardType=\"mini\"\n padding=\"s\"\n cardTitle={this._componentLocale.environment.backEnd}\n >\n <div class=\"align-center\">\n <gxg-icon\n type={this.environment.backEnd.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {this.environment.backEnd.name}\n </div>\n </gxg-card>\n\n <gxg-card\n background=\"gray-01\"\n cardType=\"mini\"\n padding=\"s\"\n cardTitle={this._componentLocale.environment.dataStore}\n >\n <div class=\"align-center\">\n <gxg-icon\n type={this.environment.dataStore.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {this.environment.dataStore.name}\n </div>\n </gxg-card>\n </div>\n </div>\n\n <gxg-card\n editableTitle={false}\n cardTitle={this._componentLocale.project.title}\n class=\"project\"\n >\n {/* <gxg-tabs height=\"auto\" minWidth=\"100%\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.description}\n tab=\"description\"\n is-selected\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.lookFeel}\n tab=\"lookFeel\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.architecture}\n tab=\"architecture\"\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab noPadding tab=\"description\" flexContainer>\n {this.renderProjectContent()}\n </gxg-tab>\n <gxg-tab noPadding tab=\"lookFeel\" flexContainer></gxg-tab>\n <gxg-tab noPadding tab=\"architecture\" flexContainer></gxg-tab>\n </gxg-tabs> */}\n {this.renderProjectContent()}\n </gxg-card>\n\n <gxg-card\n editableTitle={false}\n cardTitle={this._componentLocale.recent.title}\n class=\"recent-objects\"\n cardType=\"section\"\n no-padding-top\n >\n {this.recentObjects.map((obj: recentObjectData, index) => (\n <gxg-card\n background=\"gray-01\"\n padding=\"m\"\n cardType=\"article\"\n class=\"recent-objects-card\"\n actionable\n onClick={() => this.openObject(index)}\n >\n <div class=\"grid grid--recent-objects\">\n <gxg-icon type={obj.typeIcon} color=\"auto\"></gxg-icon>\n <gxg-text type=\"text-regular\" class=\"obj-name\">\n {obj.name}\n </gxg-text>\n <gxg-text italic class=\"justify-end\">\n {this._componentLocale.recent.modified}:{\" \"}\n {`${formatDate(obj.modificationDate, \"date\")}`}\n </gxg-text>\n <div class=\" justify-end\">\n <gxg-icon\n type={mapStatusToIcons[obj.status]}\n color=\"auto\"\n ></gxg-icon>\n </div>\n </div>\n </gxg-card>\n ))}\n </gxg-card>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n name: string;\n currentVersion: string;\n created: Date;\n lastBuild?: Date;\n};\n\nexport type EnvironmentData = {\n name: string;\n frontEnd: EnvironmentItemData[];\n backEnd: EnvironmentItemData;\n dataStore: EnvironmentItemData;\n};\n\nexport type EnvironmentItemData = {\n icon: string;\n name: string;\n};\n\nexport type recentObjectData = {\n id: string;\n typeIcon: string;\n name: string;\n modificationDate: Date;\n status: RecentObjectStatus;\n};\n\nexport type RecentObjectStatus =\n | \"new\"\n | \"modified\"\n | \"conflicted\"\n | \"unmodified\";\n\nexport type StatusIcons =\n // toDo: Add proper icons!!\n | \"gx-server/new\"\n | \"patterns-default-associated/modified\"\n | \"patterns-default-associated/synchronized\"\n | \"gx-server/delete\";\n\nexport type EditResult = {\n success: boolean;\n errorMessage: string;\n};\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-dashboard-home.js","mappings":"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","names":["GxIdeDashboardHome"],"sources":["src/components/dashboard-home/dashboard-home.scss?tag=gx-ide-dashboard-home&encapsulation=shadow","src/components/dashboard-home/dashboard-home.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n height: 100%;\n overflow: auto;\n}\n\n// Manage height and overflow\n:host,\n.gx-ide-main-wrapper,\n.grid--basic,\n.project,\n.recent-objects {\n height: 100%;\n overflow: auto;\n}\n\n.kb {\n grid-area: kb;\n align-self: center;\n .version-pill {\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n .kb-detail {\n display: flex;\n flex-direction: column;\n align-items: start;\n flex-wrap: wrap;\n margin-block-start: var(--mer-spacing--md);\n gap: var(--mer-spacing--md);\n .display-inline {\n @include line-clamp;\n font-style: italic;\n opacity: 0.5;\n }\n }\n}\n\n.environment {\n grid-area: environment;\n gxg-title-editable {\n margin-block-end: var(--gx-ide-cards-vertical-spacing);\n }\n .grid--environments {\n flex-grow: 1;\n grid-template-columns: 1fr 1fr 1fr;\n gap: var(--gx-ide-grid-column-gap);\n .align-center {\n gap: var(--mer-spacing--xxs);\n }\n .front-end {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-cards-vertical-spacing);\n }\n }\n}\n\n.project {\n grid-area: project;\n .project-buttons {\n margin-block-start: var(--mer-spacing--md);\n gap: var(--mer-spacing--md);\n }\n gxg-form-textarea::part(textarea) {\n width: 100%;\n background-color: transparent;\n line-height: var(--line-height-default);\n font-size: var(--mer-font__size--xs);\n }\n}\n\n.recent-objects {\n grid-area: recent-objects;\n\n .recent-objects-card {\n margin-block-end: var(--gx-ide-cards-vertical-spacing);\n &:last-child {\n margin-block-end: 0;\n }\n .grid--recent-objects {\n flex-grow: 1;\n grid-template-columns: 1fr 10fr 12fr 1fr;\n gap: var(--gx-ide-cards-horizontal-spacing);\n height: 100%;\n .obj-name {\n color: var(--gray-06);\n }\n }\n }\n}\n\n.grid--basic {\n flex-grow: 1;\n grid-template-columns: 1.12fr 1fr;\n gap: var(--mer-spacing--xl);\n grid-template-areas:\n \"kb environment\"\n \"project recent-objects\";\n grid-template-rows: auto 1fr;\n}\n\ngxg-title-editable {\n width: 100%;\n}\n\ngx-ide-card {\n height: 100%;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { formatDate } from \"../../common/helpers\";\n\nconst mapStatusToIcons: {\n [key in RecentObjectStatus]: StatusIcons;\n} = {\n new: \"gx-server/new\",\n modified: \"patterns-default-associated/modified\",\n conflicted: \"patterns-default-associated/synchronized\",\n unmodified: \"gx-server/delete\"\n};\n\n@Component({\n tag: \"gx-ide-dashboard-home\",\n styleUrl: \"dashboard-home.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/dashboard-home\"]\n})\nexport class GxIdeDashboardHome {\n /*\n INDEX:\n 1.OWN PROPERTIES \n 2.REFERENCE TO ELEMENTS\n 3.STATE() VARIABLES\n 4.PUBLIC PROPERTY API | WATCH'S\n 5.EVENTS (EMIT)\n 6.COMPONENT LIFECYCLE METHODS\n 7.LISTENERS\n 8.PUBLIC METHODS API\n 9.LOCAL METHODS\n 10.RENDER() FUNCTIONS\n 11.RENDER() MAIN FUNCTION\n */\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDashboardHomeElement;\n\n private kbNameEl!: HTMLGxgTitleEditableElement;\n private envNameEl!: HTMLGxgTitleEditableElement;\n /* private projectDescriptionEl!: HTMLGxgFormTextareaElement;*/\n\n // 3.STATE() VARIABLES //\n\n /**\n * The editing state for the title.\n */\n @State() editingKbName = false;\n\n /**\n * The editing state for the environment name.\n */\n @State() editingEnvName = false;\n\n /**\n * The editing state for the project details.\n */\n @State() editingProjectDescription = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The KB basic properties.\n */\n @Prop() readonly kb: KBData;\n\n /**\n * Information of the current environment.\n */\n @Prop() readonly environment: EnvironmentData;\n\n /**\n * Project Detail description.\n */\n @Prop() readonly projectDescription: string;\n\n /**\n * Recently edited objects.\n */\n @Prop() readonly recentObjects: recentObjectData[];\n\n /**\n * Callback invoked when user tries to rename the KB.\n * Receives the new name as a parameter\n * and returns a promise with the result of the operation.\n */\n @Prop() readonly renameKBCallback: (name: string) => Promise<EditResult>;\n\n /**\n * Callback invoked when user tries to rename the KB environment.\n * Receives the new name as a parameter\n * and returns a promise with the result of the operation.\n */\n @Prop() readonly renameEnvironmentCallback: (\n name: string\n ) => Promise<EditResult>;\n\n /**\n * Callback invoked when user tries to edit the Project Description.\n * The edition is resolved by the host.\n */\n @Prop() readonly editDescriptionCallback: () => Promise<void>;\n\n /**\n * Callback invoked when user tries to open one of the listed Recent Objects\n * Receives the internal ID of the object\n */\n @Prop() readonly openObjectCallback: (id: number) => Promise<void>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n 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 // Kb Name\n\n private handleKbNameChange = async () => {\n if (this.renameKBCallback) {\n const response = this.renameKBCallback(this.kbNameEl.value);\n response.then((result: EditResult) => {\n if (result.success) {\n this.kb.name = this.kbNameEl.value;\n }\n this.editValidation(result, this.kbNameEl);\n });\n }\n };\n\n // Environment Name\n private handleEnvNameChange = async () => {\n if (this.renameEnvironmentCallback) {\n const response = this.renameEnvironmentCallback(this.envNameEl.value);\n response.then((result: EditResult) => {\n if (result.success) {\n this.environment.name = this.envNameEl.value;\n }\n this.editValidation(result, this.envNameEl);\n });\n }\n };\n\n // Project Description\n private toggleEditDescription = async () => {\n this.editingProjectDescription = !this.editingProjectDescription;\n };\n\n private handleDescriptionChange = async () => {\n if (this.editDescriptionCallback) {\n await this.editDescriptionCallback();\n }\n };\n\n // Recent Objects\n\n private openObject = (id: number) => {\n this.openObjectCallback(id);\n };\n\n // Validation\n\n private editValidation = (result: EditResult, el: any) => {\n if (!result.success) {\n el.validationStatus = \"error\";\n el.validationMessage = result.errorMessage;\n }\n };\n\n // 10.RENDER() FUNCTIONS //\n\n private renderProjectContent = (): Element => {\n return this.editingProjectDescription ? (\n <div>\n <gxg-form-textarea\n rows={12}\n value={this.projectDescription}\n /* ref={(el: HTMLGxgFormTextareaElement) =>\n (this.projectDescriptionEl = el as HTMLGxgFormTextareaElement)\n }*/\n ></gxg-form-textarea>\n <div class=\"project-buttons align-center\">\n <gxg-text type=\"text-link\" onClick={this.handleDescriptionChange}>\n {this._componentLocale.save}\n </gxg-text>\n <gxg-text type=\"text-link\" onClick={this.toggleEditDescription}>\n {this._componentLocale.discard}\n </gxg-text>\n </div>\n </div>\n ) : (\n <div>\n <div innerHTML={this.projectDescription}></div>\n <gxg-text\n icon=\"gemini-tools/edit\"\n type=\"text-link\"\n onClick={this.toggleEditDescription}\n >\n {this._componentLocale.edit}\n </gxg-text>\n </div>\n );\n };\n\n private renderFrontEndTitle() {\n return this.environment.frontEnd.length <= 1\n ? this._componentLocale.environment.frontEndLang\n : this._componentLocale.environment.frontEndLangs;\n }\n\n // 11.RENDER() MAIN FUNCTION //\n\n render() {\n return (\n <Host>\n <div class=\"gx-ide-main-wrapper\">\n <div class=\"grid grid--basic\">\n <div class=\"kb gxi-overflow-auto\">\n <gxg-title-editable\n value={this.kb.name}\n disable-edition={this.editingKbName}\n click-to-edit={true}\n fluid\n ref={el => (this.kbNameEl = el as HTMLGxgTitleEditableElement)}\n onValueChanged={this.handleKbNameChange}\n focusType=\"text\"\n debounce\n ></gxg-title-editable>\n <div class=\"align-center kb-detail\">\n <gxg-pill id=\"pill\" type=\"static\" icon=\"objects/procedure\">\n {this._componentLocale.version}: {this.kb.currentVersion}\n </gxg-pill>\n <gxg-text class=\"display-inline\" type=\"text-gray\" padding=\"s\">\n {this._componentLocale.created}:{\" \"}\n {formatDate(this.kb.created, \"date-time-short\")} -{\" \"}\n {this._componentLocale.lastBuild}:{\" \"}\n {formatDate(this.kb.lastBuild, \"date-time-short\")}\n </gxg-text>\n </div>\n </div>\n\n <div class=\"environment\">\n <gxg-title-editable\n value={this.environment.name}\n disable-edition={this.editingEnvName}\n click-to-edit={true}\n title-type=\"h3\"\n ref={el => (this.envNameEl = el as HTMLGxgTitleEditableElement)}\n onValueChanged={this.handleEnvNameChange}\n focusType=\"text\"\n debounce\n disableEdition\n ></gxg-title-editable>\n <div class=\"grid grid--environments\">\n <gxg-card\n background=\"gray-01\"\n cardType=\"mini\"\n padding=\"s\"\n cardTitle={this.renderFrontEndTitle()}\n >\n <div class=\"front-end\">\n {this.environment.frontEnd.map(\n (obj: EnvironmentItemData) => (\n <div class=\"align-center\">\n <gxg-icon\n type={obj.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {obj.name}\n </div>\n )\n )}\n </div>\n </gxg-card>\n\n <gxg-card\n background=\"gray-01\"\n cardType=\"mini\"\n padding=\"s\"\n cardTitle={this._componentLocale.environment.backEnd}\n >\n <div class=\"align-center\">\n <gxg-icon\n type={this.environment.backEnd.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {this.environment.backEnd.name}\n </div>\n </gxg-card>\n\n <gxg-card\n background=\"gray-01\"\n cardType=\"mini\"\n padding=\"s\"\n cardTitle={this._componentLocale.environment.dataStore}\n >\n <div class=\"align-center\">\n <gxg-icon\n type={this.environment.dataStore.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {this.environment.dataStore.name}\n </div>\n </gxg-card>\n </div>\n </div>\n\n <gxg-card\n editableTitle={false}\n cardTitle={this._componentLocale.project.title}\n class=\"project\"\n >\n {/* <gxg-tabs height=\"auto\" minWidth=\"100%\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.description}\n tab=\"description\"\n is-selected\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.lookFeel}\n tab=\"lookFeel\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.architecture}\n tab=\"architecture\"\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab noPadding tab=\"description\" flexContainer>\n {this.renderProjectContent()}\n </gxg-tab>\n <gxg-tab noPadding tab=\"lookFeel\" flexContainer></gxg-tab>\n <gxg-tab noPadding tab=\"architecture\" flexContainer></gxg-tab>\n </gxg-tabs> */}\n {this.renderProjectContent()}\n </gxg-card>\n\n <gxg-card\n editableTitle={false}\n cardTitle={this._componentLocale.recent.title}\n class=\"recent-objects\"\n cardType=\"section\"\n no-padding-top\n >\n {this.recentObjects.map((obj: recentObjectData, index) => (\n <gxg-card\n background=\"gray-01\"\n padding=\"m\"\n cardType=\"article\"\n class=\"recent-objects-card\"\n actionable\n onClick={() => this.openObject(index)}\n >\n <div class=\"grid grid--recent-objects\">\n <gxg-icon type={obj.typeIcon} color=\"auto\"></gxg-icon>\n <gxg-text type=\"text-regular\" class=\"obj-name\">\n {obj.name}\n </gxg-text>\n <gxg-text italic class=\"justify-end\">\n {this._componentLocale.recent.modified}:{\" \"}\n {`${formatDate(obj.modificationDate, \"date\")}`}\n </gxg-text>\n <div class=\" justify-end\">\n <gxg-icon\n type={mapStatusToIcons[obj.status]}\n color=\"auto\"\n ></gxg-icon>\n </div>\n </div>\n </gxg-card>\n ))}\n </gxg-card>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n name: string;\n currentVersion: string;\n created: Date;\n lastBuild?: Date;\n};\n\nexport type EnvironmentData = {\n name: string;\n frontEnd: EnvironmentItemData[];\n backEnd: EnvironmentItemData;\n dataStore: EnvironmentItemData;\n};\n\nexport type EnvironmentItemData = {\n icon: string;\n name: string;\n};\n\nexport type recentObjectData = {\n id: string;\n typeIcon: string;\n name: string;\n modificationDate: Date;\n status: RecentObjectStatus;\n};\n\nexport type RecentObjectStatus =\n | \"new\"\n | \"modified\"\n | \"conflicted\"\n | \"unmodified\";\n\nexport type StatusIcons =\n // toDo: Add proper icons!!\n | \"gx-server/new\"\n | \"patterns-default-associated/modified\"\n | \"patterns-default-associated/synchronized\"\n | \"gx-server/delete\";\n\nexport type EditResult = {\n success: boolean;\n errorMessage: string;\n};\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface GxIdeDataSelector extends Components.GxIdeDataSelector, HTMLElement {}
|
|
4
|
+
export const GxIdeDataSelector: {
|
|
5
|
+
prototype: GxIdeDataSelector;
|
|
6
|
+
new (): GxIdeDataSelector;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, getAssetPath, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { L as Locale } from './locale.js';
|
|
3
|
+
import { c as config } from './config.js';
|
|
4
|
+
import { g as gridCommon } from './grid.js';
|
|
5
|
+
import { d as defineCustomElement$p } from './ch-grid2.js';
|
|
6
|
+
import { d as defineCustomElement$o } from './ch-grid-column2.js';
|
|
7
|
+
import { d as defineCustomElement$n } from './ch-grid-column-resize2.js';
|
|
8
|
+
import { d as defineCustomElement$m } from './ch-grid-column-settings2.js';
|
|
9
|
+
import { d as defineCustomElement$l } from './ch-grid-columnset2.js';
|
|
10
|
+
import { d as defineCustomElement$k } from './ch-grid-settings2.js';
|
|
11
|
+
import { d as defineCustomElement$j } from './ch-grid-settings-columns2.js';
|
|
12
|
+
import { d as defineCustomElement$i } from './icon.js';
|
|
13
|
+
import { d as defineCustomElement$h } from './ch-shortcuts2.js';
|
|
14
|
+
import { d as defineCustomElement$g } from './ch-window2.js';
|
|
15
|
+
import { d as defineCustomElement$f } from './ch-window-close2.js';
|
|
16
|
+
import { d as defineCustomElement$e } from './container.js';
|
|
17
|
+
import { d as defineCustomElement$d } from './entity-selector.js';
|
|
18
|
+
import { d as defineCustomElement$c } from './title2.js';
|
|
19
|
+
import { d as defineCustomElement$b } from './button.js';
|
|
20
|
+
import { d as defineCustomElement$a } from './form-text.js';
|
|
21
|
+
import { d as defineCustomElement$9 } from './gxg-grid2.js';
|
|
22
|
+
import { d as defineCustomElement$8 } from './icon2.js';
|
|
23
|
+
import { d as defineCustomElement$7 } from './ide-loader.js';
|
|
24
|
+
import { d as defineCustomElement$6 } from './gxg-label2.js';
|
|
25
|
+
import { d as defineCustomElement$5 } from './shortcuts.js';
|
|
26
|
+
import { d as defineCustomElement$4 } from './text.js';
|
|
27
|
+
import { d as defineCustomElement$3 } from './title.js';
|
|
28
|
+
import { d as defineCustomElement$2 } from './tooltip.js';
|
|
29
|
+
|
|
30
|
+
const dataSelectorCss = ".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:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--color-background)}.filter-grid{display:grid;padding:var(--spacing-comp-03);row-gap:var(--gx-ide-grid-row-gap);column-gap:var(--gx-ide-grid-column-gap);border-block-start:1px solid var(--gx-ide-container-border-color);border-block-end:1px solid var(--gx-ide-container-border-color);grid-template-areas:\"pattern-label pattern-input pattern-input pattern-input\" \"object-label object-input object-input object-input\"}.filter-grid .pattern-label{grid-area:pattern-label}.filter-grid .pattern-input{grid-area:pattern-input}.filter-grid .object-label{grid-area:object-label}.filter-grid .object-input{grid-area:object-input}.filter-grid--no-title{border-top:0}.grid-container{height:100%}ch-grid-cell{--spacing-comp-02:var(--spacing-comp-03)}.objects-count{display:flex;justify-content:space-around}.objects-count>*{flex:1;padding:var(--spacing-comp-01)}.objects-count>:not(:last-child){border-inline-end:1px solid var(--gx-ide-container-border-color)}";
|
|
31
|
+
|
|
32
|
+
const GxIdeDataSelector$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeDataSelector extends HTMLElement {
|
|
33
|
+
constructor() {
|
|
34
|
+
super();
|
|
35
|
+
this.__registerHost();
|
|
36
|
+
this.__attachShadow();
|
|
37
|
+
this.componentDidRenderFirstTime = createEvent(this, "componentDidRenderFirstTime", 7);
|
|
38
|
+
this.componentDidLoadEvent = createEvent(this, "componentDidLoadEvent", 7);
|
|
39
|
+
this.renderedFirstTime = false;
|
|
40
|
+
this.shortcutsSrc = getAssetPath(`./gx-ide-assets/object-selector/shortcuts.json`);
|
|
41
|
+
// 9.LOCAL METHODS //
|
|
42
|
+
this.loaderCancelCallbackHandler = async () => {
|
|
43
|
+
this.cancelCallbackHandler();
|
|
44
|
+
};
|
|
45
|
+
this.getObjects = () => {
|
|
46
|
+
var _a, _b, _c;
|
|
47
|
+
const filters = {
|
|
48
|
+
pattern: (_a = this.filterPatternEl) === null || _a === void 0 ? void 0 : _a.value,
|
|
49
|
+
object: (_c = (_b = this.filterObjectEl) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.id
|
|
50
|
+
};
|
|
51
|
+
if (this.loadItemsCallback) {
|
|
52
|
+
if (this.loader) {
|
|
53
|
+
this.loaderEl.show = true;
|
|
54
|
+
}
|
|
55
|
+
this.loadItemsCallback(filters).then((items) => {
|
|
56
|
+
if (items) {
|
|
57
|
+
this.objects = items;
|
|
58
|
+
}
|
|
59
|
+
this.selectedObjectsIds = [];
|
|
60
|
+
this.deselectAll();
|
|
61
|
+
if (this.loader) {
|
|
62
|
+
this.loaderEl.show = false;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
this.editCallbackHandler = (e) => {
|
|
68
|
+
e.stopPropagation();
|
|
69
|
+
if (this.selectedObjectsIds[0]) {
|
|
70
|
+
this.editCallback(this.selectedObjectsIds[0]);
|
|
71
|
+
this.getObjects();
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
this.confirmCallbackHandler = (e) => {
|
|
75
|
+
e.stopPropagation();
|
|
76
|
+
this.confirmCallback(this.selectedObjectsIds);
|
|
77
|
+
};
|
|
78
|
+
this.cancelCallbackHandler = () => {
|
|
79
|
+
this.cancelCallback();
|
|
80
|
+
};
|
|
81
|
+
this.deselectAll = () => {
|
|
82
|
+
this.chGridEl.selectAllRows(false);
|
|
83
|
+
};
|
|
84
|
+
this.newVariableCallbackHandler = () => {
|
|
85
|
+
this.newVariableCallback();
|
|
86
|
+
this.getObjects();
|
|
87
|
+
};
|
|
88
|
+
this.listenChanges = async () => {
|
|
89
|
+
/* pattern*/
|
|
90
|
+
this.filterPatternEl.addEventListener("valueChanged", () => {
|
|
91
|
+
this.getObjects();
|
|
92
|
+
});
|
|
93
|
+
/* object*/
|
|
94
|
+
this.filterObjectEl.addEventListener("valueChanged", () => {
|
|
95
|
+
this.getObjects();
|
|
96
|
+
});
|
|
97
|
+
// for grid selection
|
|
98
|
+
this.chGridEl.addEventListener("selectionChanged", (ev) => {
|
|
99
|
+
this.selectedObjectsIds = ev.detail.rowsId;
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
this.chGridKeyDownHandler = (e) => {
|
|
103
|
+
if (e.key === "Enter") {
|
|
104
|
+
this.confirmCallbackHandler(e);
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
this.hostKeyPressHandler = (e) => {
|
|
108
|
+
// just prevent keypress propagation
|
|
109
|
+
if (e.key === "Enter") {
|
|
110
|
+
e.stopPropagation();
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
// 9.LOCAL METHODS -> RENDER//
|
|
114
|
+
this.renderFilter = () => {
|
|
115
|
+
return (h("div", { part: "filters-container", class: {
|
|
116
|
+
"filter-grid": true,
|
|
117
|
+
"filter-grid--no-title": !this.displayTitle
|
|
118
|
+
}, slot: "header" }, h("gxg-label", { labelPosition: "start", class: "pattern-label", noMargin: true }, this._componentLocale.filter.pattern), h("gxg-form-text", { ref: (el) => (this.filterPatternEl = el), class: "pattern-input", part: "filter-pattern", debounce: true }), h("gxg-label", { labelPosition: "start", class: "object-label", noMargin: true }, this._componentLocale.filter.object), h("gx-ide-entity-selector", { selectEntityCallback: this.selectObjectCallback, ref: (el) => (this.filterObjectEl = el), class: "object-input" })));
|
|
119
|
+
};
|
|
120
|
+
this.renderObjects = () => {
|
|
121
|
+
return (h("gxg-grid", { "ellipsis-cell-wrapper": true, noBorder: true }, h("ch-grid", { rowSelectionMode: this.selectionType, ref: (el) => (this.chGridEl = el), onKeyDown: this.chGridKeyDownHandler, part: "ch-grid-objects" }, h("ch-grid-columnset", null, h("ch-grid-column", { "column-name-position": "text", settingable: false, size: gridCommon.colSize.minContent }), h("ch-grid-column", { "column-name": this._componentLocale.tableHead.name, "column-name-position": "text", settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { "column-name": this._componentLocale.tableHead.dataType, "column-name-position": "text", settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { "column-name": this._componentLocale.tableHead.description, "column-name-position": "text", settingable: false, size: gridCommon.colSize.auto })), this.objects
|
|
122
|
+
.sort((a, b) => {
|
|
123
|
+
const nameA = a.name.toLowerCase(), nameB = b.name.toLowerCase();
|
|
124
|
+
if (nameA < nameB) {
|
|
125
|
+
return -1;
|
|
126
|
+
}
|
|
127
|
+
if (nameA > nameB) {
|
|
128
|
+
return 1;
|
|
129
|
+
}
|
|
130
|
+
return 0;
|
|
131
|
+
})
|
|
132
|
+
.map((obj) => (h("ch-grid-row", { rowid: obj.id, onDblClick: this.confirmCallbackHandler }, h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, h("gxg-icon", { type: obj.type === "attribute"
|
|
133
|
+
? "objects/attribute"
|
|
134
|
+
: "objects-parts/variables", color: "auto", size: "small" }))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, " ", obj.name, " ")), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, obj.dataType)), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, obj.description))))))));
|
|
135
|
+
};
|
|
136
|
+
this.objects = [];
|
|
137
|
+
this.selectedObjectsIds = [];
|
|
138
|
+
this.displayTitle = false;
|
|
139
|
+
this.loader = false;
|
|
140
|
+
this.selectionType = "multiple";
|
|
141
|
+
this.selectObjectCallback = undefined;
|
|
142
|
+
this.editCallback = undefined;
|
|
143
|
+
this.cancelCallback = undefined;
|
|
144
|
+
this.loadItemsCallback = undefined;
|
|
145
|
+
this.newVariableCallback = undefined;
|
|
146
|
+
this.confirmCallback = undefined;
|
|
147
|
+
}
|
|
148
|
+
// 6.COMPONENT LIFECYCLE EVENTS //
|
|
149
|
+
async componentWillLoad() {
|
|
150
|
+
this._componentLocale = await Locale.getComponentStrings(this.el);
|
|
151
|
+
this.componentDidLoadEvent.emit(true);
|
|
152
|
+
}
|
|
153
|
+
componentDidLoad() {
|
|
154
|
+
this.listenChanges();
|
|
155
|
+
this.loaderEl.container = this.chGridEl;
|
|
156
|
+
this.getObjects();
|
|
157
|
+
this.filterPatternEl.focus();
|
|
158
|
+
}
|
|
159
|
+
componentDidRender() {
|
|
160
|
+
if (!this.renderedFirstTime) {
|
|
161
|
+
this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
|
|
162
|
+
this.renderedFirstTime = true;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// 7.LISTENERS //
|
|
166
|
+
// 8.PUBLIC METHODS API //
|
|
167
|
+
/**
|
|
168
|
+
* Suspends or reactivates the shortcuts
|
|
169
|
+
*/
|
|
170
|
+
async suspendShortcuts(suspendShortcuts) {
|
|
171
|
+
if (suspendShortcuts) {
|
|
172
|
+
this.gxgShortcutsEl.suspend = true;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
this.gxgShortcutsEl.suspend = false;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Validate necessary data input
|
|
180
|
+
*/
|
|
181
|
+
async validate() {
|
|
182
|
+
const isValid = true;
|
|
183
|
+
return isValid;
|
|
184
|
+
}
|
|
185
|
+
// 10.RENDER() FUNCTION //
|
|
186
|
+
render() {
|
|
187
|
+
return (h(Host, { class: "gx-ide-component", onKeyPress: this.hostKeyPressHandler }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null, noContentPadding: true, noAboveFooterPadding: true, noHeadingPadding: true, headingPaddingTop: true, noHeadingBorder: true, slimmerFooter: config.gxIdeContainer.slimmerFooter }, this.renderFilter(), this.renderObjects(), h("gxg-button", { type: "outlined", onClick: this.cancelCallbackHandler, part: "gxg-button gxg-button--cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel), h("gxg-button", { type: "primary-text-only", onClick: this.confirmCallbackHandler, part: "gxg-button gxg-button--ok", slot: "footer-end" }, this._componentLocale.footer.btnConfirm), h("gxg-button", { type: "primary-text-only", onClick: this.newVariableCallbackHandler, part: "gxg-button gxg-button--new", slot: "footer-start" }, this._componentLocale.footer.btnNew), h("gxg-button", { type: "primary-text-only", onClick: this.editCallbackHandler, part: "gxg-button gxg-button--edit", slot: "footer-start" }, this._componentLocale.footer.btnEdit))), h("gxg-shortcuts", { src: this.shortcutsSrc, ref: (el) => (this.gxgShortcutsEl = el) }), this.loader ? (h("gxg-ide-loader", { cancelLabel: this._componentLocale.loader.cancelLabel, loaderTitle: this._componentLocale.loader.title, ref: el => (this.loaderEl = el), cancelCallback: this.loaderCancelCallbackHandler })) : null));
|
|
188
|
+
}
|
|
189
|
+
static get delegatesFocus() { return true; }
|
|
190
|
+
static get assetsDirs() { return ["gx-ide-assets/data-selector"]; }
|
|
191
|
+
get el() { return this; }
|
|
192
|
+
static get style() { return dataSelectorCss; }
|
|
193
|
+
}, [17, "gx-ide-data-selector", {
|
|
194
|
+
"displayTitle": [4, "display-title"],
|
|
195
|
+
"loader": [4],
|
|
196
|
+
"selectionType": [1, "selection-type"],
|
|
197
|
+
"selectObjectCallback": [16],
|
|
198
|
+
"editCallback": [16],
|
|
199
|
+
"cancelCallback": [16],
|
|
200
|
+
"loadItemsCallback": [16],
|
|
201
|
+
"newVariableCallback": [16],
|
|
202
|
+
"confirmCallback": [16],
|
|
203
|
+
"objects": [32],
|
|
204
|
+
"selectedObjectsIds": [32],
|
|
205
|
+
"suspendShortcuts": [64],
|
|
206
|
+
"validate": [64]
|
|
207
|
+
}]);
|
|
208
|
+
function defineCustomElement$1() {
|
|
209
|
+
if (typeof customElements === "undefined") {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
const components = ["gx-ide-data-selector", "ch-grid", "ch-grid-column", "ch-grid-column-resize", "ch-grid-column-settings", "ch-grid-columnset", "ch-grid-settings", "ch-grid-settings-columns", "ch-icon", "ch-shortcuts", "ch-window", "ch-window-close", "gx-ide-container", "gx-ide-entity-selector", "gx-ide-title", "gxg-button", "gxg-form-text", "gxg-grid", "gxg-icon", "gxg-ide-loader", "gxg-label", "gxg-shortcuts", "gxg-text", "gxg-title", "gxg-tooltip"];
|
|
213
|
+
components.forEach(tagName => { switch (tagName) {
|
|
214
|
+
case "gx-ide-data-selector":
|
|
215
|
+
if (!customElements.get(tagName)) {
|
|
216
|
+
customElements.define(tagName, GxIdeDataSelector$1);
|
|
217
|
+
}
|
|
218
|
+
break;
|
|
219
|
+
case "ch-grid":
|
|
220
|
+
if (!customElements.get(tagName)) {
|
|
221
|
+
defineCustomElement$p();
|
|
222
|
+
}
|
|
223
|
+
break;
|
|
224
|
+
case "ch-grid-column":
|
|
225
|
+
if (!customElements.get(tagName)) {
|
|
226
|
+
defineCustomElement$o();
|
|
227
|
+
}
|
|
228
|
+
break;
|
|
229
|
+
case "ch-grid-column-resize":
|
|
230
|
+
if (!customElements.get(tagName)) {
|
|
231
|
+
defineCustomElement$n();
|
|
232
|
+
}
|
|
233
|
+
break;
|
|
234
|
+
case "ch-grid-column-settings":
|
|
235
|
+
if (!customElements.get(tagName)) {
|
|
236
|
+
defineCustomElement$m();
|
|
237
|
+
}
|
|
238
|
+
break;
|
|
239
|
+
case "ch-grid-columnset":
|
|
240
|
+
if (!customElements.get(tagName)) {
|
|
241
|
+
defineCustomElement$l();
|
|
242
|
+
}
|
|
243
|
+
break;
|
|
244
|
+
case "ch-grid-settings":
|
|
245
|
+
if (!customElements.get(tagName)) {
|
|
246
|
+
defineCustomElement$k();
|
|
247
|
+
}
|
|
248
|
+
break;
|
|
249
|
+
case "ch-grid-settings-columns":
|
|
250
|
+
if (!customElements.get(tagName)) {
|
|
251
|
+
defineCustomElement$j();
|
|
252
|
+
}
|
|
253
|
+
break;
|
|
254
|
+
case "ch-icon":
|
|
255
|
+
if (!customElements.get(tagName)) {
|
|
256
|
+
defineCustomElement$i();
|
|
257
|
+
}
|
|
258
|
+
break;
|
|
259
|
+
case "ch-shortcuts":
|
|
260
|
+
if (!customElements.get(tagName)) {
|
|
261
|
+
defineCustomElement$h();
|
|
262
|
+
}
|
|
263
|
+
break;
|
|
264
|
+
case "ch-window":
|
|
265
|
+
if (!customElements.get(tagName)) {
|
|
266
|
+
defineCustomElement$g();
|
|
267
|
+
}
|
|
268
|
+
break;
|
|
269
|
+
case "ch-window-close":
|
|
270
|
+
if (!customElements.get(tagName)) {
|
|
271
|
+
defineCustomElement$f();
|
|
272
|
+
}
|
|
273
|
+
break;
|
|
274
|
+
case "gx-ide-container":
|
|
275
|
+
if (!customElements.get(tagName)) {
|
|
276
|
+
defineCustomElement$e();
|
|
277
|
+
}
|
|
278
|
+
break;
|
|
279
|
+
case "gx-ide-entity-selector":
|
|
280
|
+
if (!customElements.get(tagName)) {
|
|
281
|
+
defineCustomElement$d();
|
|
282
|
+
}
|
|
283
|
+
break;
|
|
284
|
+
case "gx-ide-title":
|
|
285
|
+
if (!customElements.get(tagName)) {
|
|
286
|
+
defineCustomElement$c();
|
|
287
|
+
}
|
|
288
|
+
break;
|
|
289
|
+
case "gxg-button":
|
|
290
|
+
if (!customElements.get(tagName)) {
|
|
291
|
+
defineCustomElement$b();
|
|
292
|
+
}
|
|
293
|
+
break;
|
|
294
|
+
case "gxg-form-text":
|
|
295
|
+
if (!customElements.get(tagName)) {
|
|
296
|
+
defineCustomElement$a();
|
|
297
|
+
}
|
|
298
|
+
break;
|
|
299
|
+
case "gxg-grid":
|
|
300
|
+
if (!customElements.get(tagName)) {
|
|
301
|
+
defineCustomElement$9();
|
|
302
|
+
}
|
|
303
|
+
break;
|
|
304
|
+
case "gxg-icon":
|
|
305
|
+
if (!customElements.get(tagName)) {
|
|
306
|
+
defineCustomElement$8();
|
|
307
|
+
}
|
|
308
|
+
break;
|
|
309
|
+
case "gxg-ide-loader":
|
|
310
|
+
if (!customElements.get(tagName)) {
|
|
311
|
+
defineCustomElement$7();
|
|
312
|
+
}
|
|
313
|
+
break;
|
|
314
|
+
case "gxg-label":
|
|
315
|
+
if (!customElements.get(tagName)) {
|
|
316
|
+
defineCustomElement$6();
|
|
317
|
+
}
|
|
318
|
+
break;
|
|
319
|
+
case "gxg-shortcuts":
|
|
320
|
+
if (!customElements.get(tagName)) {
|
|
321
|
+
defineCustomElement$5();
|
|
322
|
+
}
|
|
323
|
+
break;
|
|
324
|
+
case "gxg-text":
|
|
325
|
+
if (!customElements.get(tagName)) {
|
|
326
|
+
defineCustomElement$4();
|
|
327
|
+
}
|
|
328
|
+
break;
|
|
329
|
+
case "gxg-title":
|
|
330
|
+
if (!customElements.get(tagName)) {
|
|
331
|
+
defineCustomElement$3();
|
|
332
|
+
}
|
|
333
|
+
break;
|
|
334
|
+
case "gxg-tooltip":
|
|
335
|
+
if (!customElements.get(tagName)) {
|
|
336
|
+
defineCustomElement$2();
|
|
337
|
+
}
|
|
338
|
+
break;
|
|
339
|
+
} });
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
const GxIdeDataSelector = GxIdeDataSelector$1;
|
|
343
|
+
const defineCustomElement = defineCustomElement$1;
|
|
344
|
+
|
|
345
|
+
export { GxIdeDataSelector, defineCustomElement };
|
|
346
|
+
|
|
347
|
+
//# sourceMappingURL=gx-ide-data-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"gx-ide-data-selector.js","mappings":"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","names":["GxIdeDataSelector"],"sources":["src/components/data-selector/data-selector.scss?tag=gx-ide-data-selector&encapsulation=shadow","src/components/data-selector/data-selector.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n border: 1px solid var(--gxg-border-color--regular);\n background-color: var(--color-background);\n}\n\n/* Filters */\n.filter-grid {\n display: grid;\n padding: var(--spacing-comp-03);\n row-gap: var(--gx-ide-grid-row-gap);\n column-gap: var(--gx-ide-grid-column-gap);\n border-block-start: 1px solid var(--gx-ide-container-border-color);\n border-block-end: 1px solid var(--gx-ide-container-border-color);\n\n grid-template-areas:\n \"pattern-label pattern-input pattern-input pattern-input\"\n \"object-label object-input object-input object-input\";\n\n .pattern-label {\n grid-area: pattern-label;\n }\n .pattern-input {\n grid-area: pattern-input;\n }\n .object-label {\n grid-area: object-label;\n }\n .object-input {\n grid-area: object-input;\n }\n\n &--no-title {\n border-top: 0;\n }\n}\n\n/*gxg-grid*/\n.grid-container {\n height: 100%;\n}\nch-grid-cell {\n --spacing-comp-02: var(--spacing-comp-03);\n}\n/* Objects Table */\n.objects-count {\n display: flex;\n justify-content: space-around;\n > * {\n flex: 1;\n padding: var(--spacing-comp-01);\n }\n > :not(:last-child) {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\n\nimport { EntityData } from \"../../common/types\";\nimport { gridCommon } from \"../../common/grid\";\n\n@Component({\n tag: \"gx-ide-data-selector\",\n styleUrl: \"data-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/data-selector\"]\n})\nexport class GxIdeDataSelector {\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE EVENTS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 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/object-selector/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDataSelectorElement;\n\n /* References needed to collect data */\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterObjectEl!: HTMLGxIdeEntitySelectorElement;\n private chGridEl!: HTMLChGridElement;\n private gxgShortcutsEl: HTMLGxgShortcutsElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ItemData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIds: string[] = [];\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Single if multiple object selection is not allowed. Default is multiple\n */\n @Prop() readonly selectionType: \"single\" | \"multiple\" = \"multiple\";\n\n /**\n * Callback invoked when the action is executed in the Object filter. It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectObjectCallback: SelectObjectCallback;\n\n /**\n * Callback invoked when user press edit button. Receives the first selected element id as parameter\n */\n @Prop() readonly editCallback: EditCallback;\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadItemsCallback!: LoadItemsCallback;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newVariableCallback!: NewVariableCallback;\n\n /**\n * Callback invoked when the user presses the 'OK' button\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.listenChanges();\n this.loaderEl.container = this.chGridEl;\n this.getObjects();\n this.filterPatternEl.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 * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.gxgShortcutsEl.suspend = true;\n } else {\n this.gxgShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n // 9.LOCAL METHODS //\n\n private loaderCancelCallbackHandler = async () => {\n this.cancelCallbackHandler();\n };\n\n private getObjects = (): void => {\n const filters: FiltersData = {\n pattern: this.filterPatternEl?.value,\n object: this.filterObjectEl?.value?.id\n };\n if (this.loadItemsCallback) {\n if (this.loader) {\n this.loaderEl.show = true;\n }\n this.loadItemsCallback(filters).then((items: ItemData[]) => {\n if (items) {\n this.objects = items;\n }\n this.selectedObjectsIds = [];\n this.deselectAll();\n if (this.loader) {\n this.loaderEl.show = false;\n }\n });\n }\n };\n\n private editCallbackHandler = (e: MouseEvent): void => {\n e.stopPropagation();\n if (this.selectedObjectsIds[0]) {\n this.editCallback(this.selectedObjectsIds[0]);\n this.getObjects();\n }\n };\n\n private confirmCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.confirmCallback(this.selectedObjectsIds);\n };\n\n private cancelCallbackHandler = (): void => {\n this.cancelCallback();\n };\n\n private deselectAll = (): void => {\n (this.chGridEl as any).selectAllRows(false);\n };\n\n private newVariableCallbackHandler = (): void => {\n this.newVariableCallback();\n this.getObjects();\n };\n\n private listenChanges = async (): Promise<void> => {\n /* pattern*/\n this.filterPatternEl.addEventListener(\"valueChanged\", () => {\n this.getObjects();\n });\n\n /* object*/\n this.filterObjectEl.addEventListener(\"valueChanged\", () => {\n this.getObjects();\n });\n // for grid selection\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n });\n };\n\n private chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.confirmCallbackHandler(e);\n }\n };\n\n private hostKeyPressHandler = (e: KeyboardEvent) => {\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n // 9.LOCAL METHODS -> RENDER//\n\n private renderFilter = (): Element => {\n return (\n <div\n part=\"filters-container\"\n class={{\n \"filter-grid\": true,\n \"filter-grid--no-title\": !this.displayTitle\n }}\n slot=\"header\"\n >\n <gxg-label labelPosition=\"start\" class=\"pattern-label\" noMargin>\n {this._componentLocale.filter.pattern}\n </gxg-label>\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n class=\"pattern-input\"\n part=\"filter-pattern\"\n debounce\n ></gxg-form-text>\n\n <gxg-label labelPosition=\"start\" class=\"object-label\" noMargin>\n {this._componentLocale.filter.object}\n </gxg-label>\n <gx-ide-entity-selector\n selectEntityCallback={this.selectObjectCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.filterObjectEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"object-input\"\n ></gx-ide-entity-selector>\n </div>\n );\n };\n\n private renderObjects = (): Element => {\n return (\n <gxg-grid ellipsis-cell-wrapper noBorder>\n <ch-grid\n rowSelectionMode={this.selectionType}\n ref={(el: HTMLChGridElement) => (this.chGridEl = el)}\n onKeyDown={this.chGridKeyDownHandler}\n part=\"ch-grid-objects\"\n >\n <ch-grid-columnset>\n <ch-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.minContent}\n ></ch-grid-column>\n <ch-grid-column\n column-name={this._componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.auto}\n ></ch-grid-column>\n <ch-grid-column\n column-name={this._componentLocale.tableHead.dataType}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.auto}\n ></ch-grid-column>\n\n <ch-grid-column\n column-name={this._componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.auto}\n ></ch-grid-column>\n </ch-grid-columnset>\n {this.objects\n .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 .map((obj: ItemData) => (\n <ch-grid-row\n rowid={obj.id}\n onDblClick={this.confirmCallbackHandler}\n >\n <ch-grid-cell>\n <span class=\"cell-wrapper\">\n <gxg-icon\n type={\n obj.type === \"attribute\"\n ? \"objects/attribute\"\n : \"objects-parts/variables\"\n }\n color=\"auto\"\n size=\"small\"\n ></gxg-icon>\n </span>\n </ch-grid-cell>\n <ch-grid-cell>\n <span class=\"cell-wrapper\"> {obj.name} </span>\n </ch-grid-cell>\n <ch-grid-cell>\n <span class=\"cell-wrapper\">{obj.dataType}</span>\n </ch-grid-cell>\n\n <ch-grid-cell>\n <span class=\"cell-wrapper\">{obj.description}</span>\n </ch-grid-cell>\n </ch-grid-row>\n ))}\n </ch-grid>\n </gxg-grid>\n );\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\" onKeyPress={this.hostKeyPressHandler}>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n noContentPadding\n noAboveFooterPadding\n noHeadingPadding\n headingPaddingTop\n noHeadingBorder\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n {this.renderFilter()}\n {this.renderObjects()}\n\n {/* footer */}\n {/* button cancel */}\n <gxg-button\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n part=\"gxg-button gxg-button--cancel\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n {/* button confirm */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.confirmCallbackHandler}\n part=\"gxg-button gxg-button--ok\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n {/* button new... */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.newVariableCallbackHandler}\n part=\"gxg-button gxg-button--new\"\n slot=\"footer-start\"\n >\n {this._componentLocale.footer.btnNew}\n </gxg-button>\n {/* button edit */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.editCallbackHandler}\n part=\"gxg-button gxg-button--edit\"\n slot=\"footer-start\"\n >\n {this._componentLocale.footer.btnEdit}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts\n src={this.shortcutsSrc}\n ref={(el: HTMLGxgShortcutsElement) =>\n (this.gxgShortcutsEl = el as HTMLGxgShortcutsElement)\n }\n ></gxg-shortcuts>\n {/* loader*/}\n {this.loader ? (\n <gxg-ide-loader\n cancelLabel={this._componentLocale.loader.cancelLabel}\n loaderTitle={this._componentLocale.loader.title}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n cancelCallback={this.loaderCancelCallbackHandler}\n ></gxg-ide-loader>\n ) : null}\n </Host>\n );\n }\n}\n\nexport type NewVariableCallback = () => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectObjectCallback = () => Promise<EntityData | undefined>;\n\nexport type EditCallback = (id: string) => Promise<boolean>;\n\nexport type ConfirmCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadItemsCallback = (filters: FiltersData) => Promise<ItemData[]>;\n\nexport type FiltersData = {\n pattern?: string;\n object?: string;\n};\n\nexport type ItemData = {\n type: \"variable\" | \"attribute\";\n id: string;\n name: string;\n dataType: string;\n description: string;\n};\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface GxIdeEmptyState extends Components.GxIdeEmptyState, HTMLElement {}
|
|
4
|
+
export const GxIdeEmptyState: {
|
|
5
|
+
prototype: GxIdeEmptyState;
|
|
6
|
+
new (): GxIdeEmptyState;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { G as GxIdeEmptyState$1, d as defineCustomElement$1 } from './gx-ide-empty-state2.js';
|
|
2
|
+
|
|
3
|
+
const GxIdeEmptyState = GxIdeEmptyState$1;
|
|
4
|
+
const defineCustomElement = defineCustomElement$1;
|
|
5
|
+
|
|
6
|
+
export { GxIdeEmptyState, defineCustomElement };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=gx-ide-empty-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"gx-ide-empty-state.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|