@genexus/genexus-ide-ui 1.0.19 → 1.0.21
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/{form-validation-df39cabb.js → form-validation-0019e158.js} +2 -2
- package/dist/cjs/form-validation-0019e158.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
- package/dist/cjs/{gx-ide-empty-state_2.cjs.entry.js → gx-ide-empty-state.cjs.entry.js} +3 -56
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-loader.cjs.entry.js +61 -0
- package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-splash.cjs.entry.js +76 -0
- package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +2644 -104
- 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-update.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +257 -0
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +279 -396
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/{helpers-19194a5a.js → helpers-b5b4a659.js} +7 -1
- package/dist/cjs/helpers-b5b4a659.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/common/form-validation.js +1 -1
- package/dist/collection/common/form-validation.js.map +1 -1
- package/dist/collection/components/_helpers/ide-loader/ide-loader.css +4 -1
- package/dist/collection/components/_helpers/ide-loader/ide-loader.js +2 -2
- package/dist/collection/components/_helpers/ide-loader/ide-loader.js.map +1 -1
- package/dist/collection/components/splash/gx-ide-assets/splash/images/copyrights-illustration.png +0 -0
- package/dist/collection/components/splash/gx-ide-assets/splash/images/icon-next.svg +4 -0
- package/dist/collection/components/splash/gx-ide-assets/splash/langs/splash.lang.en.json +14 -0
- package/dist/collection/components/splash/gx-ide-assets/splash/langs/splash.lang.ja.json +13 -0
- package/dist/collection/components/splash/gx-ide-assets/splash/langs/splash.lang.zh.json +13 -0
- package/dist/collection/components/splash/splash.css +56 -0
- package/dist/collection/components/splash/splash.js +125 -0
- package/dist/collection/components/splash/splash.js.map +1 -0
- package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.en.json +19 -27
- package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.ja.json +18 -26
- package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.zh.json +23 -1
- package/dist/collection/components/start-page/start-page.css +142 -624
- package/dist/collection/components/start-page/start-page.js +198 -181
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/arrow-next.svg +3 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/copyrights-base.svg +61 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/copyrights-illustration.png +0 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/fig-ellipse-blurred.svg +21 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/fig-ellipse-bottom-left.svg +14 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/fig-ellipse-top-left.svg +14 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/fig-polygon.svg +14 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/icon-next.svg +4 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/slide-1.svg +115 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/slide-2.svg +67 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/slide-3.svg +138 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/slide-4.svg +97 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/slide-5.svg +83 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/langs/welcome-page.lang.en.json +13 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/langs/welcome-page.lang.ja.json +13 -0
- package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/langs/welcome-page.lang.zh.json +13 -0
- package/dist/collection/components/welcome-page/welcome-page.css +264 -0
- package/dist/collection/components/welcome-page/welcome-page.js +360 -0
- package/dist/collection/components/welcome-page/welcome-page.js.map +1 -0
- package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +3 -7
- package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +4 -8
- package/dist/collection/components/ww-images/ww-images.css +733 -80
- package/dist/collection/components/ww-images/ww-images.js +413 -465
- package/dist/collection/components/ww-images/ww-images.js.map +1 -1
- package/dist/collection/pages/assets/images/welcome-page/slide-1.svg +115 -0
- package/dist/collection/pages/assets/images/welcome-page/slide-2.svg +67 -0
- package/dist/collection/pages/assets/images/welcome-page/slide-3.svg +138 -0
- package/dist/collection/pages/assets/images/welcome-page/slide-4.svg +97 -0
- package/dist/collection/pages/assets/images/welcome-page/slide-5.svg +83 -0
- package/dist/components/form-validation.js +1 -1
- package/dist/components/form-validation.js.map +1 -1
- package/dist/components/{gx-ide-recent-news.d.ts → gx-ide-splash.d.ts} +4 -4
- package/dist/components/gx-ide-splash.js +96 -0
- package/dist/components/gx-ide-splash.js.map +1 -0
- package/dist/components/gx-ide-start-page.js +2654 -126
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gx-ide-welcome-page.d.ts +11 -0
- package/dist/components/gx-ide-welcome-page.js +283 -0
- package/dist/components/gx-ide-welcome-page.js.map +1 -0
- package/dist/components/gx-ide-ww-images.js +306 -419
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/helpers.js +6 -1
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ide-loader.js +3 -3
- package/dist/components/ide-loader.js.map +1 -1
- package/dist/esm/{form-validation-8b3f527c.js → form-validation-44b2c2a8.js} +2 -2
- package/dist/esm/form-validation-44b2c2a8.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
- package/dist/esm/{gx-ide-empty-state_2.entry.js → gx-ide-empty-state.entry.js} +5 -57
- package/dist/esm/gx-ide-empty-state.entry.js.map +1 -0
- package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
- package/dist/esm/gx-ide-loader.entry.js +57 -0
- package/dist/esm/gx-ide-loader.entry.js.map +1 -0
- package/dist/esm/gx-ide-new-environment.entry.js +2 -2
- package/dist/esm/gx-ide-new-kb.entry.js +2 -2
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +1 -1
- package/dist/esm/gx-ide-splash.entry.js +72 -0
- package/dist/esm/gx-ide-splash.entry.js.map +1 -0
- package/dist/esm/gx-ide-start-page.entry.js +2644 -104
- 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-update.entry.js +1 -1
- package/dist/esm/gx-ide-welcome-page.entry.js +253 -0
- package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -0
- package/dist/esm/gx-ide-ww-images.entry.js +279 -396
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/{helpers-9ee6ddce.js → helpers-64e1dd0b.js} +7 -2
- package/dist/esm/helpers-64e1dd0b.js.map +1 -0
- 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/splash/images/copyrights-illustration.png +0 -0
- package/dist/genexus-ide-ui/gx-ide-assets/splash/images/icon-next.svg +4 -0
- package/dist/genexus-ide-ui/gx-ide-assets/splash/langs/splash.lang.en.json +14 -0
- package/dist/genexus-ide-ui/gx-ide-assets/splash/langs/splash.lang.ja.json +13 -0
- package/dist/genexus-ide-ui/gx-ide-assets/splash/langs/splash.lang.zh.json +13 -0
- package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.en.json +19 -27
- package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.ja.json +18 -26
- package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.zh.json +23 -1
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/arrow-next.svg +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/copyrights-base.svg +61 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/copyrights-illustration.png +0 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/fig-ellipse-blurred.svg +21 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/fig-ellipse-bottom-left.svg +14 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/fig-ellipse-top-left.svg +14 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/fig-polygon.svg +14 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/icon-next.svg +4 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/slide-1.svg +115 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/slide-2.svg +67 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/slide-3.svg +138 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/slide-4.svg +97 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/slide-5.svg +83 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/langs/welcome-page.lang.en.json +13 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/langs/welcome-page.lang.ja.json +13 -0
- package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/langs/welcome-page.lang.zh.json +13 -0
- package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +3 -7
- package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +4 -8
- package/dist/genexus-ide-ui/{p-d5d0ed5e.entry.js → p-02bc66c1.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-120d283a.entry.js +2419 -0
- package/dist/genexus-ide-ui/p-120d283a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c4d1d0ce.entry.js → p-39792ac8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-c36effd2.entry.js → p-4a0dab98.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-acf0cbac.entry.js → p-4ce47bcd.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-fc64d088.entry.js → p-58e13823.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-62f4ad99.entry.js +612 -0
- package/dist/genexus-ide-ui/p-62f4ad99.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-98b5b178.entry.js → p-658755d5.entry.js} +18 -87
- package/dist/genexus-ide-ui/p-658755d5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-278afab1.entry.js → p-6abe5291.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-7a2d3f1c.entry.js +304 -0
- package/dist/genexus-ide-ui/p-7a2d3f1c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-7ec19ed6.entry.js +73 -0
- package/dist/genexus-ide-ui/p-7ec19ed6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-4ce0a85e.entry.js → p-ac670f62.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-41ea711a.js → p-b8624c0b.js} +2 -2
- package/dist/genexus-ide-ui/p-b8624c0b.js.map +1 -0
- package/dist/genexus-ide-ui/{p-066028bc.js → p-c339f703.js} +14 -8
- package/dist/{cjs/helpers-19194a5a.js.map → genexus-ide-ui/p-c339f703.js.map} +1 -1
- package/dist/genexus-ide-ui/p-c8b4f34c.entry.js +113 -0
- package/dist/genexus-ide-ui/p-c8b4f34c.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b785673d.entry.js → p-ca8b0024.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-b1f6fdd6.entry.js → p-cf2c8b3c.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-44d779c9.entry.js → p-e8975ac0.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-352d4aad.entry.js → p-f1558097.entry.js} +3 -3
- package/dist/types/components/splash/splash.d.ts +20 -0
- package/dist/types/components/start-page/start-page.d.ts +31 -53
- package/dist/types/components/welcome-page/welcome-page.d.ts +63 -0
- package/dist/types/components/ww-images/ww-images.d.ts +118 -98
- package/dist/types/components.d.ts +156 -99
- package/package.json +6 -3
- package/dist/cjs/form-validation-df39cabb.js.map +0 -1
- package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +0 -1
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js +0 -163
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +0 -1
- package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.en.json +0 -24
- package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.ja.json +0 -24
- package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.zh.json +0 -3
- package/dist/collection/components/start-page/recent-news.css +0 -641
- package/dist/collection/components/start-page/recent-news.js +0 -240
- package/dist/collection/components/start-page/recent-news.js.map +0 -1
- package/dist/collection/components/ww-images/helpers.js +0 -11
- package/dist/collection/components/ww-images/helpers.js.map +0 -1
- package/dist/components/gx-ide-recent-news.js +0 -8
- package/dist/components/gx-ide-recent-news.js.map +0 -1
- package/dist/components/recent-news.js +0 -197
- package/dist/components/recent-news.js.map +0 -1
- package/dist/esm/form-validation-8b3f527c.js.map +0 -1
- package/dist/esm/gx-ide-empty-state_2.entry.js.map +0 -1
- package/dist/esm/gx-ide-recent-news.entry.js +0 -159
- package/dist/esm/gx-ide-recent-news.entry.js.map +0 -1
- package/dist/esm/helpers-9ee6ddce.js.map +0 -1
- package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.en.json +0 -24
- package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.ja.json +0 -24
- package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.zh.json +0 -3
- package/dist/genexus-ide-ui/p-0576a392.entry.js +0 -233
- package/dist/genexus-ide-ui/p-0576a392.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-066028bc.js.map +0 -1
- package/dist/genexus-ide-ui/p-20389960.entry.js +0 -211
- package/dist/genexus-ide-ui/p-20389960.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-41ea711a.js.map +0 -1
- package/dist/genexus-ide-ui/p-62efd8f2.entry.js +0 -712
- package/dist/genexus-ide-ui/p-62efd8f2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-98b5b178.entry.js.map +0 -1
- package/dist/types/components/start-page/recent-news.d.ts +0 -43
- package/dist/types/components/ww-images/helpers.d.ts +0 -3
- /package/dist/genexus-ide-ui/{p-d5d0ed5e.entry.js.map → p-02bc66c1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c4d1d0ce.entry.js.map → p-39792ac8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c36effd2.entry.js.map → p-4a0dab98.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-acf0cbac.entry.js.map → p-4ce47bcd.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fc64d088.entry.js.map → p-58e13823.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-278afab1.entry.js.map → p-6abe5291.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-4ce0a85e.entry.js.map → p-ac670f62.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b785673d.entry.js.map → p-ca8b0024.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b1f6fdd6.entry.js.map → p-cf2c8b3c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-44d779c9.entry.js.map → p-e8975ac0.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-352d4aad.entry.js.map → p-f1558097.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ww-images.js","sourceRoot":"","sources":["../../../src/components/ww-images/ww-images.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n h\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport {\n ChGridRowContextMenuEvent,\n AccordionModel,\n ComboBoxModel\n} from \"@genexus/chameleon-controls-library\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { FILTER_AFTER } from \"../../common/constants\";\nimport { config } from \"../../common/config\";\nimport { formatDate, hiChar } from \"../../common/helpers\";\nimport { Locale } from \"../../common/locale\";\nimport { ContextMenuInfo, EntityData, GxOption } from \"../../common/types\";\nimport { mapOptionsToComboBoxItemModel } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/accordion\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/edit\",\n \"components/tabular-grid\",\n \"components/sidebar\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nlet TODAY: string = null;\n\n// icons\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"neutral\"\n});\nconst SEARCH_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"search\",\n colorType: \"neutral\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"primary\"\n});\nconst MODIFIED_ACCORDION_MODEL: AccordionModel = [\n {\n id: \"modified\",\n caption: \"Modified\",\n expanded: false\n }\n];\n\n@Component({\n tag: \"gx-ide-ww-images\",\n styleUrl: \"ww-images.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ww-images\"]\n})\nexport class GxIdeWWImages {\n /**\n * The component hard-coded strings translations.\n */\n #_componentLocale: any;\n #filterInitialData: FilerInitialData;\n #renderedFirstTime = false;\n\n #imagesMap: Map<string, ImageItemData[]> = new Map();\n\n @Element() el: HTMLGxIdeWwImagesElement;\n\n #chGridEl!: HTMLChTabularGridElement;\n #filterAfterTypeEl!: HTMLChComboBoxRenderElement;\n #filterAllDescendantsEl!: HTMLChCheckboxElement;\n #filterCategoryEl!: HTMLChComboBoxRenderElement;\n #filterDensityEl!: HTMLChComboBoxRenderElement;\n #filterLanguageEl!: HTMLChComboBoxRenderElement;\n #filterLayerEl!: HTMLChComboBoxRenderElement;\n #filterModifiedDateEl!: HTMLInputElement;\n #filterModuleEl!: HTMLGxIdeEntitySelectorElement;\n #filterNameEl!: HTMLChEditElement;\n #filterSearchContentsEl!: HTMLChEditElement;\n #filterStyleEl!: HTMLChComboBoxRenderElement;\n #filterUserEl!: HTMLChEditElement;\n\n // representations of GxOption[] as ComboBoxModel.\n @State() categoriesComboBoxModel: ComboBoxModel = [];\n @State() densitiesComboBoxModel: ComboBoxModel = [];\n @State() languagesComboBoxModel: ComboBoxModel = [];\n @State() layersComboBoxModel: ComboBoxModel = [];\n @State() stylesComboBoxModel: ComboBoxModel = [];\n\n /**\n * If true the filter sidebar will be expanded, otherwise collapsed.\n */\n @State() filterSidebarExpanded: boolean = false;\n\n /**\n * The current value of the \"After\" combo box options.\n */\n @State() afterCurrentValue: string;\n\n /**\n * The options for the \"After\" combo-box\n */\n @State() filterAfterOptions: ComboBoxModel;\n\n /**\n * Images filter input value\n */\n @State() filterImagesInputValue = \"\";\n\n /**\n * Shows or hides filters related to modifiers\n */\n @State() filterModified = false;\n\n /**\n * Images rendered in the table after filtering\n */\n @State() filteredImages: ImageData[] = [];\n\n /**\n * Images rendered in the table\n */\n @State() images: ImageData[] = [];\n\n /**\n * Items of the selected image\n */\n @State() imagesSelectedItems: ImageItemData[] = [];\n\n /**\n * Selected images in the images table\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * If true, the \"Toggle Filter\" button will display activated, and the sidebar of filters\n * will toggle on mouse enter or leave.\n */\n @State() toggleFilterButtonActive: boolean = false;\n @Watch(\"toggleFilterButtonActive\")\n toggleFilterButtonActiveChanged(active: boolean) {\n this.filterSidebarExpanded = active;\n }\n\n /**\n * Categories rendered in the filter selector\n */\n @Prop() readonly categories!: GxOption[];\n @Watch(\"categories\")\n categoriesChanged(newCategories: GxOption[]) {\n this.categoriesComboBoxModel = mapOptionsToComboBoxItemModel(newCategories);\n }\n\n /**\n * Function to expand data when right-click\n */\n @Prop() readonly contextMenuCallback!: ContextMenuCallback;\n\n /**\n * Default value for the 'categories' filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * Default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * Function to delete the selected images.\n */\n @Prop() readonly deleteSelectionCallback!: DeleteSelectionCallback;\n\n /**\n * Densities rendered in the filter selector\n */\n @Prop() readonly densities!: GxOption[];\n @Watch(\"densities\")\n densitiesChanged(newDensities: GxOption[]) {\n this.densitiesComboBoxModel = mapOptionsToComboBoxItemModel(newDensities);\n }\n\n /**\n * Languages rendered in the filter selector\n */\n @Prop() readonly languages!: GxOption[];\n @Watch(\"languages\")\n languagesChanged(newLanguages: GxOption[]) {\n this.languagesComboBoxModel = mapOptionsToComboBoxItemModel(newLanguages);\n }\n\n /**\n * Layers rendered in the filter selector\n */\n @Prop() readonly layers!: GxOption[];\n @Watch(\"layers\")\n layersChanged(newLayers: GxOption[]) {\n this.layersComboBoxModel = mapOptionsToComboBoxItemModel(newLayers);\n }\n\n /**\n * Function that returns a list of images for the table\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * Function that returns a list of items for the selected image\n */\n @Prop() readonly loadImageItemsCallback!: LoadImageItemsCallback;\n\n /**\n * Callback invoked when user press New button.\n */\n @Prop() readonly newObjectCallback!: NewObjectCallback;\n\n /**\n * Function to expand data for double-clicked or entered images\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Callback invoked when an action is executed on the Module/Folder filter.\n */\n @Prop() readonly selectModuleCallback!: SelectModuleCallback;\n\n /**\n * Callback invoked when an item is selected\n */\n @Prop() readonly selectionObjectChangedCallback!: SelectionObjectCallback;\n\n /**\n * Displays a secondary filter, used to filter over the filtered images\n */\n @Prop() readonly secondaryFilter = false;\n\n /**\n * Applies a shadow all around\n */\n @Prop() readonly shadow = false;\n\n /**\n * Styles rendered in the filter style selector\n */\n @Prop() readonly styles!: GxOption[];\n @Watch(\"styles\")\n stylesChanged(newStyles: GxOption[]) {\n this.stylesComboBoxModel = mapOptionsToComboBoxItemModel(newStyles);\n }\n\n /**\n * Types rendered in the filter type selector\n */\n @Prop() readonly types!: GxOption[];\n\n async connectedCallback() {\n TODAY = this.#getToday();\n }\n\n // 5.EVENTS (EMIT) //\n\n /**\n * Emitted once after the component fully loads and renders for the first time.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n componentDidLoad() {\n this.#listenChanges();\n this.#getImages();\n this.#saveInitialFilterData();\n this.#filterNameEl.focus();\n }\n\n componentDidRender() {\n if (!this.#renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this.#_componentLocale.componentName\n );\n this.#renderedFirstTime = true;\n }\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n\n // initialize combo-box models\n this.categoriesChanged(this.categories);\n this.densitiesChanged(this.densities);\n this.languagesChanged(this.languages);\n this.layersChanged(this.layers);\n this.stylesChanged(this.styles);\n\n // initialize \"After\" combo-box options\n this.filterAfterOptions = [\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 this.afterCurrentValue = this.filterAfterOptions[0].value;\n }\n\n @Listen(\"keydown\", { passive: true })\n keyDownHandler(eventInfo: KeyboardEvent) {\n if (document.activeElement === this.el) {\n switch (eventInfo.key) {\n case \"Enter\":\n this.#openSelectionCallBackHandler();\n break;\n case \"Delete\":\n this.#deleteSelectionCallbackHandler();\n break;\n }\n }\n }\n\n /**\n * Reloads the view, refreshing the filters and the images table.\n */\n @Method()\n async reload(): Promise<void> {\n this.#deleteSelectionCallbackHandler();\n this.#getImages();\n }\n\n #deleteSelectionCallbackHandler = (): void => {\n this.deleteSelectionCallback(this.selectedObjectsIds);\n };\n\n #deselectAll = (): void => {\n (this.#chGridEl as any).selectAllRows(false);\n };\n\n #filterAfterTypeChangeHandler = (event: CustomEvent<string> | InputEvent) => {\n this.afterCurrentValue = event.detail as string;\n this.#getImages();\n };\n\n #filterImagesInformationHandler = () => {\n const filterValue = this.filterImagesInputValue.toLocaleLowerCase();\n this.filteredImages = this.images.filter(image => {\n const nameMatch = image.name.toLocaleLowerCase().includes(filterValue);\n const moduleMatch = image.module\n .toLocaleLowerCase()\n .includes(filterValue);\n const descriptionMatch = image.description\n .toLocaleLowerCase()\n .includes(filterValue);\n const modifiedDateMatch = image.modifiedDate\n ?.toString()\n .includes(filterValue);\n const lastUser = image.lastUser\n ?.toLocaleLowerCase()\n .includes(filterValue);\n const importDateMatch = image.importDate\n ?.toString()\n .includes(filterValue);\n\n return (\n nameMatch ||\n moduleMatch ||\n descriptionMatch ||\n modifiedDateMatch ||\n lastUser ||\n importDateMatch\n );\n });\n };\n\n #filterInputHandler = (event: CustomEvent<any> | InputEvent) => {\n this.filterImagesInputValue = event.detail.toLowerCase();\n this.#filterImagesInformationHandler();\n };\n\n #toggleFilterButtonClickedHandler = () => {\n this.toggleFilterButtonActive = !this.toggleFilterButtonActive;\n };\n\n #getImages = (): void => {\n this.#imagesMap.clear();\n\n const filters: ImageFiltersData = {\n name: this.#filterNameEl.value,\n searchContents: this.#filterSearchContentsEl.value,\n category: this.#filterCategoryEl.value,\n parent: this.#filterModuleEl.value ? this.#filterModuleEl.value.id : null,\n allDescendants: !!this.#filterAllDescendantsEl.value,\n modifiedAfter: this.#filterAfterTypeEl.value,\n modifiedBy: this.#filterUserEl.value,\n modifiedDate: new Date(this.#filterModifiedDateEl.value),\n style: this.#filterStyleEl.value,\n language: this.#filterLanguageEl.value,\n density: this.#filterDensityEl.value,\n layer: this.#filterLayerEl?.value\n };\n\n this.loadCallback(filters).then((items: ImageData[]) => {\n this.images = items;\n this.selectedObjectsIds = [];\n this.#deselectAll();\n this.#filterImagesInformationHandler();\n });\n };\n\n #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 #listenChanges = (): void => {\n /* module/folder */\n this.#filterModuleEl.addEventListener(\"valueChanged\", () => {\n this.#getImages();\n });\n\n // for grid selection\n this.#chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n const selectedId = ev.detail.rowsId[0];\n if (this.#imagesMap.has(selectedId)) {\n this.imagesSelectedItems = this.#imagesMap.get(selectedId);\n } else {\n this.loadImageItemsCallback(selectedId).then(\n (items: ImageItemData[]) => {\n this.#imagesMap.set(selectedId, items);\n this.imagesSelectedItems = items;\n }\n );\n }\n });\n this.#chGridEl.addEventListener(\"rowDoubleClicked\", (): void => {\n this.#openSelectionCallBackHandler();\n });\n this.#chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n this.selectionObjectChangedCallback(this.selectedObjectsIds);\n });\n this.#chGridEl.addEventListener(\n \"rowContextMenu\",\n (ev: CustomEvent<ChGridRowContextMenuEvent>): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.contextMenuCallback({\n selection: ev.detail.selectedRowsId,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n );\n };\n\n #newObjectCallbackHandler = (): void => {\n this.newObjectCallback();\n };\n #openSelectionCallBackHandler = (): void => {\n this.openSelectionCallback(this.selectedObjectsIds);\n };\n // #removeDetectClickOutsideFilter = () => {\n // document.removeEventListener(\"click\", this.#detectClickOutsideFilter);\n // };\n\n #renderHeader = (): Element[] => {\n return [\n <div\n // name\n class=\"field field-block name\"\n >\n <label class=\"label\" htmlFor=\"filter-name\">\n {this.#_componentLocale.filter.name}\n </label>\n <ch-edit\n id=\"filter-name\"\n class=\"input name\"\n ref={(el: HTMLChEditElement) =>\n (this.#filterNameEl = el as HTMLChEditElement)\n }\n debounce={config.inputDebounce}\n onInput={this.#getImages}\n part=\"filter-name\"\n ></ch-edit>\n </div>,\n\n <div class=\"field field-block module-folder\">\n <label class=\"label\" htmlFor=\"module-folder\">\n {this.#_componentLocale.filter.moduleFolder}\n </label>\n\n <gx-ide-entity-selector\n // module/folder\n class=\"module-folder\"\n part=\"filter-module-folder\"\n id=\"module/folder\"\n labelPosition=\"none\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#filterModuleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n ></gx-ide-entity-selector>\n </div>,\n\n <button\n // toggle / untoggle filter button\n class=\"button-secondary button-icon-and-text\"\n onClick={this.#toggleFilterButtonClickedHandler}\n >\n <ch-image class=\"icon-md\" src={FILTER_ICON}></ch-image>\n {this.filterSidebarExpanded\n ? this.#_componentLocale.filter.less\n : this.#_componentLocale.filter.more}\n </button>\n\n // <button\n // class=\"button-tertiary button-icon-only\"\n // aria-label={\n // this.toggleFilterButtonActive\n // ? this.#_componentLocale.filter.btnUntoggleFilter\n // : this.#_componentLocale.filter.btnToggleFilter\n // }\n // onClick={this.#toggleFilterButtonClickedHandler}\n // >\n // <ch-image class=\"icon-md\" src={FILTER_ICON}></ch-image>\n // </button>\n ];\n };\n\n #renderFilter = (): Element[] => {\n return (\n <div class=\"sidebar-container scrollable\">\n <ch-sidebar\n class=\"sidebar sidebar-collapsed-hidden sidebar-with-motion sidebar-filter\"\n expanded={this.filterSidebarExpanded}\n >\n <div class=\"main__filter field-group spacing-body-inline spacing-body-block scrollable\">\n <ch-checkbox\n class=\"checkbox all-descendants\"\n caption={this.#_componentLocale.filter.allDescendants}\n checkedValue=\"filterAllDescendants\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#filterAllDescendantsEl = el as HTMLChCheckboxElement)\n }\n onInput={this.#getImages}\n part=\"filter-all-descendants\"\n ></ch-checkbox>\n\n <ch-accordion-render\n // modified\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\n // after\n class=\"field field-block after-date-time\"\n >\n <label class=\"label\" htmlFor=\"filter-after-type\">\n {this.#_componentLocale.filter.afterLabel}\n </label>\n <ch-combo-box-render\n id=\"filter-after-type\"\n class=\"combo-box\"\n value={this.filterAfterOptions[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#filterAfterTypeEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={this.filterAfterOptions}\n part=\"filter-after-type\"\n onInput={this.#filterAfterTypeChangeHandler}\n ></ch-combo-box-render>\n </div>\n\n <div\n // date/time\n class=\"field field-block date-time\"\n >\n <label\n class={{\n \"label\": true,\n \"label--disabled\":\n this.afterCurrentValue !== FILTER_AFTER.DATE_TIME\n }}\n htmlFor=\"modified-date\"\n >\n {this.#_componentLocale.filter.dateTime}\n </label>\n <input\n type=\"datetime-local\"\n class=\"input \"\n id=\"modified-date\"\n name=\"modifiedDate\"\n part=\"modified-date\"\n max={TODAY}\n ref={(el: HTMLInputElement) =>\n (this.#filterModifiedDateEl = el as HTMLInputElement)\n }\n disabled={\n this.afterCurrentValue !== FILTER_AFTER.DATE_TIME\n }\n onInput={this.#getImages}\n ></input>\n </div>\n\n <div\n // user\n class=\"field field-block user\"\n >\n <label class=\"label\" htmlFor=\"filter-user\">\n {this.#_componentLocale.filter.user}\n </label>\n <ch-edit\n id=\"filter-user\"\n value=\"hey\"\n class=\"input\"\n ref={(el: HTMLChEditElement) =>\n (this.#filterUserEl = el as HTMLChEditElement)\n }\n debounce={config.inputDebounce}\n onInput={this.#getImages}\n part=\"filter-user\"\n ></ch-edit>\n </div>\n </div>\n </div>\n </ch-accordion-render>\n\n <div\n // category\n class=\"field field-block category\"\n >\n <label class=\"label\" htmlFor=\"filter-category\">\n {this.#_componentLocale.filter.category}\n </label>\n <ch-combo-box-render\n id=\"filter-category\"\n class=\"combo-box\"\n value={this.defaultCategory}\n disabled={!this.categories}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#filterCategoryEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.categoriesComboBoxModel}\n part=\"filter-category\"\n onInput={this.#getImages}\n ></ch-combo-box-render>\n </div>\n\n <div\n // style\n class=\"field field-block style\"\n >\n <label class=\"label\" htmlFor=\"filter-style\">\n {this.#_componentLocale.filter.style}\n </label>\n <ch-combo-box-render\n id=\"filter-style\"\n class=\"combo-box\"\n value={this.stylesComboBoxModel[0]?.value}\n disabled={!this.styles}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#filterStyleEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.stylesComboBoxModel}\n part=\"filter-style\"\n onInput={this.#getImages}\n ></ch-combo-box-render>\n </div>\n\n <div\n // language\n class=\"field field-block language\"\n >\n <label class=\"label\" htmlFor=\"filter-language\">\n {this.#_componentLocale.filter.language}\n </label>\n <ch-combo-box-render\n id=\"filter-language\"\n class=\"combo-box\"\n value={this.languagesComboBoxModel[0]?.value}\n disabled={!this.languages}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#filterLanguageEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.languagesComboBoxModel}\n part=\"filter-language\"\n onInput={this.#getImages}\n ></ch-combo-box-render>\n </div>\n\n <div\n // density\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"filter-density\">\n {this.#_componentLocale.filter.density}\n </label>\n <ch-combo-box-render\n id=\"filter-density\"\n class=\"combo-box\"\n value={this.densitiesComboBoxModel[0]?.value}\n disabled={!this.densities}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#filterDensityEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.densitiesComboBoxModel}\n part=\"filter-density\"\n onInput={this.#getImages}\n ></ch-combo-box-render>\n </div>\n\n <div\n // layer\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"filter-layer\">\n {this.#_componentLocale.filter.layer}\n </label>\n <ch-combo-box-render\n id=\"filter-layer\"\n class=\"combo-box\"\n value={this.layersComboBoxModel[0]?.value}\n disabled={!this.layers}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#filterLayerEl = el as HTMLChComboBoxRenderElement)\n }\n model={this.layersComboBoxModel}\n part=\"filter-layer\"\n onInput={this.#getImages}\n ></ch-combo-box-render>\n </div>\n </div>\n </ch-sidebar>\n\n {this.#renderImages()}\n </div>\n );\n };\n\n #renderImages = (): Element => {\n return (\n /* tiles */\n\n <div class=\"main__images-container spacing-body-inline\">\n {this.imagesSelectedItems.map(item => (\n <figure class=\"figure\">\n <picture class=\"figure__picture\">\n <img class=\"figure__img\" src={item.url} alt={item.name} />\n </picture>\n <figcaption class=\"figure__figcaption\">{item.name}</figcaption>\n </figure>\n ))}\n </div>\n );\n };\n #renderImagesData = (): Element => {\n return (\n <div\n class={{\n \"field-group\": true,\n \"main__grid\": true,\n \"main__grid--with-filter\": this.secondaryFilter\n }}\n >\n {this.secondaryFilter ? (\n <header\n class=\"images-information__header spacing-body-inline-start\"\n slot=\"header\"\n >\n <div\n // search contents\n class=\"field field-inline\"\n >\n <label class=\"label\" htmlFor=\"search-input\">\n {this.#_componentLocale.filter.search}\n </label>\n <ch-edit\n id=\"search-input\"\n class=\"input name\"\n placeholder={\n this.#_componentLocale.filter.searchByContentPlaceholder\n }\n ref={(el: HTMLChEditElement) =>\n (this.#filterSearchContentsEl = el as HTMLChEditElement)\n }\n onInput={this.#filterInputHandler}\n startImgSrc={SEARCH_ICON}\n part=\"search-input\"\n ></ch-edit>\n </div>\n </header>\n ) : null}\n\n <ch-tabular-grid\n ref={(el: HTMLChTabularGridElement) => (this.#chGridEl = el)}\n part=\"ch-grid-images\"\n rowSelectionMode=\"multiple\"\n class=\"tabular-grid tabular-grid-ww-images\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnName=\"\"\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this.#_componentLocale.tableHead.name}\n columnNameHidden={false}\n settingable={false}\n class=\"tabular-grid-column\"\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this.#_componentLocale.tableHead.module}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this.#_componentLocale.tableHead.description}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this.#_componentLocale.tableHead.modifiedDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this.#_componentLocale.tableHead.lastUser}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this.#_componentLocale.tableHead.importDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {\n this.filteredImages.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.filteredImages.map((obj: ImageData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.icon}></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n obj.name.toLowerCase(),\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n obj.module.toLowerCase(),\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n obj.description.toLowerCase(),\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n `${formatDate(obj.modifiedDate)}`,\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n obj.lastUser.toLowerCase(),\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n `${formatDate(obj.importDate)}`,\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : null\n // TODO (Add empty state)\n }\n </ch-tabular-grid>\n </div>\n );\n };\n\n #resetFilterHandler = () => {\n if (this.#filterInitialData) {\n this.#filterNameEl.value = this.#filterInitialData.name;\n this.#filterModuleEl.value = this.#filterInitialData.module;\n this.#filterSearchContentsEl.value =\n this.#filterInitialData.searchContents;\n this.#filterCategoryEl.value = this.#filterInitialData.category;\n this.#filterAllDescendantsEl.value =\n this.#filterInitialData.allDescendants;\n this.#filterAfterTypeEl.value = this.#filterInitialData.modifiedAfter;\n this.#filterModifiedDateEl.value =\n this.#filterInitialData.modifiedDateTime;\n this.#filterUserEl.value = this.#filterInitialData.modifiedUser;\n this.#filterStyleEl.value = this.#filterInitialData.style;\n this.#filterLanguageEl.value = this.#filterInitialData.language;\n this.#filterDensityEl.value = this.#filterInitialData.density;\n this.#filterLayerEl.value = this.#filterInitialData.layer;\n this.#getImages();\n this.afterCurrentValue = this.#filterCategoryEl.value; // this value has to be evaluated on a re-render\n }\n };\n\n #saveInitialFilterData = () => {\n this.#filterInitialData = {\n name: this.#filterNameEl.value,\n module: this.#filterModuleEl.value,\n searchContents: this.#filterSearchContentsEl.value,\n category: this.#filterCategoryEl.value,\n allDescendants: this.#filterAllDescendantsEl.value,\n modifiedAfter: this.#filterAfterTypeEl?.value,\n modifiedDateTime: this.#filterModifiedDateEl?.value,\n modifiedUser: this.#filterUserEl?.value,\n style: this.#filterStyleEl.value,\n language: this.#filterLanguageEl.value,\n density: this.#filterDensityEl.value,\n layer: this.#filterLayerEl.value\n };\n };\n\n #selectAll = (): void => {\n (this.#chGridEl as any).selectAllRows();\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start field-group\">\n {this.#renderHeader()}\n </header>\n\n <div class=\"main\">\n {this.#renderImagesData()}\n <div class=\"main__aside field-group\">\n <div class=\"spacing-body-inline\">\n <button\n // reset filter button\n class=\"button-secondary button-icon-and-text button-reset\"\n onClick={this.#resetFilterHandler}\n >\n <ch-image class=\"icon-sm\" src={RESET_ICON}></ch-image>\n Reset\n </button>\n </div>\n\n {this.#renderFilter()}\n </div>\n </div>\n\n <footer class=\"control-footer-with-border control-footer-space-between spacing-body\">\n <p\n // matching objects\n class=\"text-body\"\n part=\"objects-matching\"\n >\n {`${this.filteredImages.length} ${\n this.#_componentLocale.objCount.matching\n }`}\n </p>\n\n <div class=\"buttons-spacer\">\n <button\n // select all button\n id=\"button-select-all\"\n class=\"button-secondary\"\n onClick={this.#selectAll}\n part=\"button button--select-all\"\n >\n {this.#_componentLocale.footer.btnSelectAll}\n </button>\n\n <button\n // new image button\n id=\"button-new-file\"\n class=\"button-primary button-icon-and-text\"\n onClick={this.#newObjectCallbackHandler}\n part=\"button button--new-file\"\n >\n {this.#_componentLocale.footer.btnNew}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\nexport type ContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type DeleteSelectionCallback = (ids: string[]) => Promise<void>;\n\nexport type FilerInitialData = {\n name: string;\n module: EntityData;\n searchContents: string;\n category: string;\n allDescendants: string;\n modifiedAfter: string;\n modifiedDateTime: string;\n modifiedUser: string;\n style: string;\n language: string;\n density: string;\n layer: string;\n};\n\nexport type ImageData = {\n id: string;\n icon: string;\n name: string;\n description: string;\n parent: string;\n module: string;\n modifiedDate?: Date;\n lastUser?: string;\n importDate?: Date;\n};\n\nexport type ImageFiltersData = {\n name?: string;\n searchContents?: string;\n category?: string;\n parent?: string;\n allDescendants?: boolean;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n style?: string;\n language?: string;\n density?: string;\n layer?: string;\n};\n\nexport type ImageItemData = {\n id: string;\n name: string;\n url: string;\n};\n\nexport type LoadCallback = (filters: ImageFiltersData) => Promise<ImageData[]>;\n\nexport type LoadImageItemsCallback = (id: string) => Promise<ImageItemData[]>;\n\nexport type NewObjectCallback = () => Promise<void>;\n\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\n\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\nexport type SelectionObjectCallback = (ids: string[]) => Promise<void>;\n"]}
|
|
1
|
+
{"version":3,"file":"ww-images.js","sourceRoot":"","sources":["../../../src/components/ww-images/ww-images.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Listen,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { ChGridRowContextMenuEvent } from \"@genexus/chameleon-controls-library\";\nimport { DatePickerDate } from \"@genexus/gemini/dist/types/components/date-picker/date-picker\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { GxOption } from \"../../common/types\";\nimport { config } from \"../../common/config\";\nimport { renderFormItems } from \"../../common/common\";\nimport { EntityData, ContextMenuInfo } from \"../../common/types\";\nimport { FILTER_AFTER } from \"../../common/constants\";\nimport {\n formatDate,\n hiChar,\n closeOnOutsideClickHandler\n} from \"../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-ww-images\",\n styleUrl: \"ww-images.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ww-images\"]\n})\nexport class GxIdeWWImages {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private filterInitialData: FilerInitialData;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeWwImagesElement;\n\n private filterEl: HTMLDivElement;\n /* References needed to collect data */\n private filterNameEl!: HTMLGxgFormTextElement;\n private filterSearchContentsEl!: HTMLGxgFormTextElement;\n private filterCategoryEl!: HTMLGxgComboBoxElement;\n private filterModuleEl!: HTMLGxIdeEntitySelectorElement;\n private filterModifiedEl!: HTMLGxgFormCheckboxElement;\n private filterAllDescendantsEl!: HTMLGxgFormCheckboxElement;\n private filterAfterTypeEl!: HTMLGxgComboBoxElement;\n private filterUserEl!: HTMLGxgFormTextElement;\n private filterModifiedDateEl!: HTMLGxgDatePickerElement;\n private filterStyleEl!: HTMLGxgComboBoxElement;\n private filterLanguageEl!: HTMLGxgComboBoxElement;\n private filterDensityEl!: HTMLGxgComboBoxElement;\n private filterLayerEl!: HTMLGxgComboBoxElement;\n private chGridEl!: HTMLChGridElement;\n\n // 3.STATE() VARIABLES //\n\n @State() filtersHidden = true;\n @Watch(\"filtersHidden\")\n filtersHiddenHandler(hidden: boolean): void {\n if (hidden) {\n this.removeDetectClickOutsideFilter();\n } else {\n this.attachDetectClickOutsideFilter();\n }\n }\n\n /**\n * The after types render in the after selector\n */\n @State() filterAfterType = \"\";\n\n /**\n * For show or hide the filters relative to modifiers\n */\n @State() filterModified = false;\n\n /**\n * The images rendered in the table\n */\n @State() images: ImageData[] = [];\n\n /**\n * The images rendered in the table, after the filter\n */\n @State() filteredImages: ImageData[] = [];\n\n /**\n * The items of the image that is selected\n */\n @State() imagesSelectedItems: ImageItemData[] = [];\n\n /**\n * The selected images in the table of images\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * The images filter input text value\n */\n @State() filterImagesInputValue = \"\";\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Displays a secondary filter, used to filter over the filtered images\n */\n @Prop() readonly secondaryFilter = false;\n\n /**\n * The categories render in the filter category selector\n */\n @Prop() readonly categories!: GxOption[];\n\n /**\n * The densities render in the filter density selector\n */\n @Prop() readonly densities!: GxOption[];\n\n /**\n * The default value for the 'categories' filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * The default value for the type filter\n */\n @Prop() readonly defaultType: string;\n\n /**\n * The modules/folders render in the module/folder selector\n */\n @Prop() readonly filterModules!: GxOption[];\n\n /**\n * The languages render in the filter language selector\n */\n @Prop() readonly languages!: GxOption[];\n\n /**\n * The layers render in the filter layer selector\n */\n @Prop() readonly layers!: GxOption[];\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly contextMenuCallback!: ContextMenuCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly deleteSelectionCallback!: DeleteSelectionCallback;\n\n /**\n * This is a function provided by the developer that return a list of images to populate the table of images.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer that return a list of items of the image selected.\n */\n @Prop() readonly loadImageItemsCallback!: LoadImageItemsCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly newObjectCallback!: NewObjectCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback!: SelectModuleCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.\n */\n @Prop() readonly selectionObjectChangedCallback!: SelectionObjectCallback;\n\n /**\n * Applies a shadow all around\n */\n @Prop() readonly shadow = false;\n\n /**\n * The styles render in the filter style selector\n */\n @Prop() readonly styles!: GxOption[];\n\n /**\n * The types render in the filter type selector\n */\n @Prop() readonly types!: GxOption[];\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.listenChanges();\n this.getImages();\n this.saveInitialFilterData();\n this.filterNameEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n @Listen(\"keydown\", { passive: true })\n keyDownHandler(eventInfo: KeyboardEvent) {\n if (document.activeElement === this.el) {\n switch (eventInfo.key) {\n case \"Enter\":\n this.openSelectionCallBackHandler();\n break;\n case \"Delete\":\n this.deleteSelectionCallbackHandler();\n break;\n }\n }\n }\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n /**\n * This method reload the view, refreshing the filters and the table of images.\n */\n @Method()\n async reload(): Promise<void> {\n this.deleteSelectionCallbackHandler();\n this.getImages();\n }\n\n // 9.LOCAL METHODS //\n\n private attachDetectClickOutsideFilter = () => {\n document.addEventListener(\"click\", this.detectClickOutsideFilter);\n };\n private removeDetectClickOutsideFilter = () => {\n document.removeEventListener(\"click\", this.detectClickOutsideFilter);\n };\n private detectClickOutsideFilter = (e: PointerEvent): void => {\n const clickedOutside = closeOnOutsideClickHandler(e, this.filterEl);\n if (clickedOutside) {\n this.filtersHidden = true;\n } else {\n this.filtersHidden = false;\n }\n };\n\n /**\n * @description This is needed for resetting the filter. When the user resets the filter, all the filter controls values have to be restored to the value they had on componentDidLoad.\n */\n private saveInitialFilterData = () => {\n this.filterInitialData = {\n name: this.filterNameEl.value,\n module: this.filterModuleEl.value,\n searchContents: this.filterSearchContentsEl.value,\n category: this.filterCategoryEl.value,\n allDescendants: this.filterAllDescendantsEl.checked,\n modified: this.filterModifiedEl.checked,\n dateTime: this.filterModifiedDateEl.value,\n after: this.filterAfterTypeEl.value,\n user: this.filterUserEl.value,\n style: this.filterStyleEl.value,\n language: this.filterLanguageEl.value,\n density: this.filterDensityEl.value,\n layer: this.filterLayerEl.value\n };\n };\n\n // 9.LOCAL METHODS -> Renders //\n\n private renderFilter = (): Element => {\n return (\n <div\n class=\"filter filter--padding\"\n ref={(el: HTMLDivElement) => (this.filterEl = el as HTMLDivElement)}\n >\n <div class=\"filter__first-row\">\n {/* name */}\n <gxg-form-text\n label-position=\"above\"\n label={this._componentLocale.filter.name}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterNameEl = el as HTMLGxgFormTextElement)\n }\n part=\"filter-name\"\n class=\"name\"\n ></gxg-form-text>\n\n <div class=\"second-column\">\n {/* module/folder */}\n <gx-ide-entity-selector\n label-position=\"above\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.filterModuleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"module-folder\"\n part=\"filter-module-folder\"\n ></gx-ide-entity-selector>\n\n {/* reset filter button */}\n <gxg-button\n onClick={this.resetFilterHandler}\n part=\"gxg-button-reset-filter\"\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n class=\"reset-filter-btn\"\n ></gxg-button>\n\n {/* filter button */}\n <gxg-button\n onClick={this.toggleFiltersHandler}\n part=\"gxg-button gxg-button--more-less\"\n type=\"secondary-icon-only\"\n icon={\n true ? \"window-tools/filter-conditions\" : \"window-tools/filter\"\n }\n class=\"filter-btn\"\n ></gxg-button>\n </div>\n </div>\n\n <div\n class={{\n \"filters-outer-wrapper\": true,\n \"filters-outer-wrapper--hidden\": this.filtersHidden\n }}\n >\n <div\n class={{\n \"filter\": true,\n \"filter--gap\": true,\n \"filters-inner-wrapper\": true\n }}\n >\n {/* search contents */}\n <gxg-form-text\n label-position=\"above\"\n label={this._componentLocale.filter.search}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterSearchContentsEl = el as HTMLGxgFormTextElement)\n }\n class={{ \"search-contents\": true }}\n part=\"filter-search\"\n ></gxg-form-text>\n\n {/* category */}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.category}\n value={this.defaultCategory}\n disabled={!this.categories}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterCategoryEl = el as HTMLGxgComboBoxElement)\n }\n class=\"category\"\n part=\"filter-category\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.categories ?? [])}\n </gxg-combo-box>\n\n <div class=\"options\">\n <gxg-label labelPosition=\"above\" center={false}>\n Options:\n </gxg-label>\n {/* all descendants*/}\n <div class=\"checkboxes-wrapper\">\n <gxg-form-checkbox\n label={this._componentLocale.filter.allDescendants}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.filterAllDescendantsEl =\n el as HTMLGxgFormCheckboxElement)\n }\n class=\"all-descendants\"\n part=\"filter-all-descendants\"\n ></gxg-form-checkbox>\n\n {/* modified */}\n <gxg-form-checkbox\n label={this._componentLocale.filter.modified}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.filterModifiedEl = el as HTMLGxgFormCheckboxElement)\n }\n class=\"modified\"\n part=\"filter-modified\"\n ></gxg-form-checkbox>\n </div>\n </div>\n\n {/* date/time*/}\n <div\n class={{\n \"hide\":\n !this.filterModified ||\n this.filterAfterType !== FILTER_AFTER.DATE_TIME,\n \"date-time\": true\n }}\n part=\"filter-datetime\"\n >\n <div class=\"date-time-wrapper\">\n <gxg-label label-position=\"above\">\n {this._componentLocale.filter.dateTime}\n </gxg-label>\n <gxg-date-picker\n class=\"date-picker\"\n disabled={!this.filterModified}\n ref={(el: HTMLGxgDatePickerElement) =>\n (this.filterModifiedDateEl = el as HTMLGxgDatePickerElement)\n }\n ></gxg-date-picker>\n </div>\n </div>\n\n {/* after date/time */}\n <gxg-combo-box\n class=\"after-date-time\"\n disabled={!this.filterModified}\n label={this._componentLocale.filter.afterLabel}\n disable-filter\n value={this.filterAfterType}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterAfterTypeEl = el as HTMLGxgComboBoxElement)\n }\n part=\"filter-after-type\"\n >\n {renderFormItems(\"gxg-combo-box-item\", [\n {\n id: FILTER_AFTER.NONE,\n label: this._componentLocale.filter.afterNone,\n value: FILTER_AFTER.NONE\n },\n {\n id: FILTER_AFTER.DATE_TIME,\n label: this._componentLocale.filter[FILTER_AFTER.DATE_TIME],\n value: FILTER_AFTER.DATE_TIME\n },\n {\n id: FILTER_AFTER.IMPORT,\n label: this._componentLocale.filter[FILTER_AFTER.IMPORT],\n value: FILTER_AFTER.IMPORT\n },\n {\n id: FILTER_AFTER.LAST_BUILD,\n label: this._componentLocale.filter[FILTER_AFTER.LAST_BUILD],\n value: FILTER_AFTER.LAST_BUILD\n }\n ])}\n </gxg-combo-box>\n\n {/* user */}\n <gxg-form-text\n disabled={!this.filterModified}\n labelPosition=\"above\"\n label={this._componentLocale.filter.user}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterUserEl = el as HTMLGxgFormTextElement)\n }\n value=\"hey\"\n centerLabel={false}\n class=\"user\"\n part=\"filter-user\"\n ></gxg-form-text>\n\n {/* style*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.style}\n disabled={!this.styles}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterStyleEl = el as HTMLGxgComboBoxElement)\n }\n class=\"style\"\n part=\"filter-style\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.styles ?? [])}\n </gxg-combo-box>\n\n {/* language*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.language}\n disabled={!this.languages}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterLanguageEl = el as HTMLGxgComboBoxElement)\n }\n class=\"language\"\n part=\"filter-language\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.languages ?? [])}\n </gxg-combo-box>\n\n {/* density*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.density}\n disabled={!this.densities}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterDensityEl = el as HTMLGxgComboBoxElement)\n }\n class=\"density\"\n part=\"filter-density\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.densities ?? [])}\n </gxg-combo-box>\n\n {/* layer*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.filter.layer}\n disabled={!this.layers}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.filterLayerEl = el as HTMLGxgComboBoxElement)\n }\n class=\"layer\"\n part=\"filter-layer\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.layers ?? [])}\n </gxg-combo-box>\n </div>\n </div>\n </div>\n );\n };\n\n private renderImagesData = (): Element => {\n return (\n /* images information*/\n <gx-ide-container\n contentBorderEnd\n noContentPadding\n titleType=\"secondary\"\n containerTitle={\n !this.secondaryFilter ? this._componentLocale.imagesDataTitle : null\n }\n class={{ \"images-information\": true, \"overflow-auto\": true }}\n part=\"grid-container\"\n >\n {this.secondaryFilter ? (\n <header class=\"images-information__header\" slot=\"header\">\n <gx-ide-title\n type=\"secondary\"\n class=\"images-information__header-title\"\n >\n {this._componentLocale.imagesDataTitle}\n </gx-ide-title>\n <gxg-form-text\n icon=\"gemini-tools/search\"\n icon-position=\"start\"\n placeholder=\"Search by any field\"\n onInput={this.filterInputHandler as any}\n ></gxg-form-text>\n </header>\n ) : null}\n\n <ch-tabular-grid\n ref={(el: HTMLChTabularGridElement) => (this.chGridEl = el)}\n part=\"ch-grid-images\"\n rowSelectionMode=\"single\"\n class=\"tabular-grid tabular-grid-ww-images\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnName=\"\"\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.name}\n columnNameHidden={false}\n settingable={false}\n class=\"tabular-grid-column\"\n size={config.tabularGrid.colSize.common}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.module}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.description}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.modifiedDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.lastUser}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this._componentLocale.tableHead.importDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.filteredImages.map((obj: ImageData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.icon}></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.name, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.module, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.description, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n `${formatDate(obj.modifiedDate)}`,\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(obj.lastUser, this.filterImagesInputValue)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {hiChar(\n `${formatDate(obj.importDate)}`,\n this.filterImagesInputValue\n )}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n </gx-ide-container>\n );\n };\n\n private renderImages = (): Element => {\n return (\n /* tiles */\n <gx-ide-container\n containerTitle={this._componentLocale.imagesTitle}\n noContentPadding\n titleType=\"secondary\"\n class=\"overflow-auto\"\n titleHeightAsInput={\n this.secondaryFilter ? this._componentLocale.imagesDataTitle : null\n }\n part=\"image-data-container\"\n >\n <div class=\"images-container\">\n {this.imagesSelectedItems.map(item => (\n <div class=\"image-item\">\n <div class=\"image-item__container\">\n <div class=\"img\">\n <img src={item.url} alt={item.id} />\n </div>\n </div>\n <span class=\"image-item__name\">{item.name}</span>\n </div>\n ))}\n </div>\n </gx-ide-container>\n );\n };\n\n // 9.LOCAL METHODS -> Other //\n\n private getImages = (): void => {\n let filters: ImageFiltersData = {\n name: this.filterNameEl.value,\n parent: this.filterModuleEl.value ? this.filterModuleEl.value.id : null\n };\n\n const modified = this.filterModifiedEl.checked;\n const modifiedAfter = this.filterAfterTypeEl.value;\n filters = {\n ...filters,\n searchContents: this.filterSearchContentsEl.value,\n category: this.filterCategoryEl.value,\n allDescendants: this.filterAllDescendantsEl.checked,\n modifiedAfter: modified ? modifiedAfter : null,\n modifiedBy: modified ? this.filterUserEl.value : null,\n modifiedDate:\n modified && modifiedAfter === FILTER_AFTER.DATE_TIME\n ? (this.filterModifiedDateEl.value as Date)\n : null,\n style: this.filterStyleEl.value,\n language: this.filterLanguageEl.value,\n density: this.filterDensityEl.value,\n layer: this.filterLayerEl.value\n };\n\n this.loadCallback(filters).then((items: ImageData[]) => {\n this.images = items;\n this.selectedObjectsIds = [];\n this.deselectAll();\n this.filterImagesInformationHandler();\n });\n };\n\n private newObjectCallbackHandler = (): void => {\n this.newObjectCallback();\n };\n\n private openSelectionCallBackHandler = (): void => {\n this.openSelectionCallback(this.selectedObjectsIds);\n };\n\n private deleteSelectionCallbackHandler = (): void => {\n this.deleteSelectionCallback(this.selectedObjectsIds);\n };\n\n private resetFilterHandler = () => {\n if (this.filterInitialData) {\n this.filterNameEl.value = this.filterInitialData.name;\n this.filterModuleEl.value = this.filterInitialData.module;\n this.filterSearchContentsEl.value = this.filterInitialData.searchContents;\n this.filterCategoryEl.value = this.filterInitialData.category;\n this.filterAllDescendantsEl.checked =\n this.filterInitialData.allDescendants;\n this.filterModifiedEl.checked = this.filterInitialData.modified;\n this.filterModifiedDateEl.value = this.filterInitialData.dateTime;\n this.filterAfterTypeEl.value = this.filterInitialData.after;\n this.filterUserEl.value = this.filterInitialData.user;\n this.filterStyleEl.value = this.filterInitialData.style;\n this.filterLanguageEl.value = this.filterInitialData.language;\n this.filterDensityEl.value = this.filterInitialData.density;\n this.filterLayerEl.value = this.filterInitialData.layer;\n }\n };\n\n private toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n private selectAll = (): void => {\n (this.chGridEl as any).selectAllRows();\n };\n\n private deselectAll = (): void => {\n (this.chGridEl as any).selectAllRows(false);\n };\n\n private listenChanges = (): void => {\n /* name */\n this.filterNameEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* module/folder */\n this.filterModuleEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* search contents*/\n this.filterSearchContentsEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* category */\n this.filterCategoryEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* (options) -> all descendants */\n this.filterAllDescendantsEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* (options) -> modified */\n this.filterModifiedEl.addEventListener(\"change\", (e: any) => {\n this.filterModified = e.detail.value;\n this.getImages();\n });\n /* date/time */\n this.filterModifiedDateEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* after */\n this.filterAfterTypeEl.addEventListener(\"valueChanged\", () => {\n this.filterAfterType = this.filterAfterTypeEl.value;\n this.getImages();\n });\n /* user */\n this.filterUserEl.addEventListener(\"change\", () => {\n this.getImages();\n });\n /* style */\n this.filterStyleEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* language */\n this.filterLanguageEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* density */\n this.filterDensityEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n /* layer */\n this.filterLayerEl.addEventListener(\"valueChanged\", () => {\n this.getImages();\n });\n\n // for grid selection\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.loadImageItemsCallback(ev.detail.rowsId[0]).then(\n (items: ImageItemData[]) => {\n this.imagesSelectedItems = items;\n }\n );\n });\n this.chGridEl.addEventListener(\"rowDoubleClicked\", (): void => {\n this.openSelectionCallBackHandler();\n });\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n this.selectionObjectChangedCallback(this.selectedObjectsIds);\n });\n this.chGridEl.addEventListener(\n \"rowContextMenu\",\n (ev: CustomEvent<ChGridRowContextMenuEvent>): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.contextMenuCallback({\n selection: ev.detail.selectedRowsId,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n );\n };\n\n private filterInputHandler = (e: CustomEvent<EventEmitter>) => {\n this.filterImagesInputValue = e.detail as unknown as string;\n this.filterImagesInformationHandler();\n };\n\n private filterImagesInformationHandler = () => {\n const filterValue = this.filterImagesInputValue.toLocaleLowerCase();\n this.filteredImages = this.images.filter(image => {\n const nameMatch = image.name.toLocaleLowerCase().includes(filterValue);\n const moduleMatch = image.module\n .toLocaleLowerCase()\n .includes(filterValue);\n const descriptionMatch = image.description\n .toLocaleLowerCase()\n .includes(filterValue);\n const modifiedDateMatch = image.modifiedDate\n .toString()\n .includes(filterValue);\n const lastUser = image.lastUser.toLocaleLowerCase().includes(filterValue);\n const importDateMatch =\n image.importDate && image.importDate.toString().includes(filterValue);\n\n return (\n nameMatch ||\n moduleMatch ||\n descriptionMatch ||\n modifiedDateMatch ||\n lastUser ||\n importDateMatch\n );\n });\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noContentGap\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"master-wrapper\">\n {this.renderFilter()}\n <div class=\"grid-images-container\">\n {this.renderImagesData()}\n {this.renderImages()}\n </div>\n </div>\n\n {/* select all button */}\n <gxg-button\n id=\"button-select-all\"\n type=\"outlined\"\n onClick={this.selectAll}\n part=\"gxg-button gxg-button--select-all\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnSelectAll}\n </gxg-button>\n\n {/* new file button*/}\n <gxg-button\n id=\"button-new-file\"\n type=\"primary-text-icon\"\n icon=\"objects/image\"\n onClick={this.newObjectCallbackHandler}\n part=\"gxg-button gxg-button--new-file\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnNew}\n </gxg-button>\n\n {/* matching objects */}\n <gxg-text\n class=\"align-end\"\n part=\"objects-matching\"\n slot=\"footer-start\"\n >\n {`${this.filteredImages.length} ${this._componentLocale.objCount.matching}`}\n </gxg-text>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type SelectionObjectCallback = (ids: string[]) => Promise<void>;\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\nexport type DeleteSelectionCallback = (ids: string[]) => Promise<void>;\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\nexport type ContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport type NewObjectCallback = () => Promise<void>;\nexport type LoadCallback = (filters: ImageFiltersData) => Promise<ImageData[]>;\nexport type LoadImageItemsCallback = (id: string) => Promise<ImageItemData[]>;\n\nexport type ImageFiltersData = {\n name?: string;\n searchContents?: string;\n category?: string;\n parent?: string;\n allDescendants?: boolean;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n style?: string;\n language?: string;\n density?: string;\n layer?: string;\n};\n\nexport type ImageData = {\n id: string;\n icon: string;\n name: string;\n description: string;\n parent: string;\n module: string;\n modifiedDate?: Date;\n lastUser?: string;\n importDate?: Date;\n};\n\nexport type ImageItemData = {\n id: string;\n name: string;\n url: string;\n};\n\ntype FilerInitialData = {\n name: string;\n module: EntityData;\n searchContents: string;\n category: string;\n allDescendants: boolean;\n modified: boolean;\n dateTime: DatePickerDate;\n after: string;\n user: string;\n style: string;\n language: string;\n density: string;\n layer: string;\n};\n"]}
|