@genexus/genexus-ide-ui 2.0.0 → 2.1.1
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/{common-9020d675.js → common-82ec668f.js} +1 -26
- package/dist/cjs/common-82ec668f.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-comments-viewer.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +1 -1
- 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-splash.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +604 -283
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
- package/dist/cjs/{helpers-b1b58657.js → helpers-bb6622f5.js} +1 -7
- package/dist/cjs/helpers-bb6622f5.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{tabular-grid-render-80aa5fd2.js → tabular-grid-render-96542933.js} +2 -2
- package/dist/cjs/{tabular-grid-render-80aa5fd2.js.map → tabular-grid-render-96542933.js.map} +1 -1
- package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +11 -4
- package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +11 -4
- package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.zh.json +45 -38
- package/dist/collection/components/ww-images/helpers.js +14 -0
- package/dist/collection/components/ww-images/helpers.js.map +1 -0
- package/dist/collection/components/ww-images/ww-images.css +134 -247
- package/dist/collection/components/ww-images/ww-images.js +682 -490
- package/dist/collection/components/ww-images/ww-images.js.map +1 -1
- package/dist/components/common.js +1 -25
- package/dist/components/common.js.map +1 -1
- package/dist/components/gx-ide-ww-images.js +650 -303
- package/dist/components/gx-ide-ww-images.js.map +1 -1
- package/dist/components/helpers.js +1 -6
- package/dist/components/helpers.js.map +1 -1
- package/dist/esm/{common-074a209e.js → common-ceaf354a.js} +2 -26
- package/dist/esm/common-ceaf354a.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-comments-viewer.entry.js +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +1 -1
- 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-splash.entry.js +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-history.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
- package/dist/esm/gx-ide-ww-files.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +605 -284
- package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
- package/dist/esm/{helpers-7800bea2.js → helpers-b443f9e9.js} +2 -7
- package/dist/esm/helpers-b443f9e9.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{tabular-grid-render-12c1cc4b.js → tabular-grid-render-adb3f7e5.js} +2 -2
- package/dist/esm/{tabular-grid-render-12c1cc4b.js.map → tabular-grid-render-adb3f7e5.js.map} +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/ww-images/langs/ww-images.lang.en.json +11 -4
- package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +11 -4
- package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.zh.json +45 -38
- package/dist/genexus-ide-ui/{p-dc399624.entry.js → p-1356ec09.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-c51f87fb.entry.js → p-18c3c961.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-c583252c.entry.js → p-1d3da80d.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-57c550b7.entry.js → p-21775439.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-d08fc16d.entry.js → p-27786355.entry.js} +6 -6
- package/dist/genexus-ide-ui/{p-c1f4458c.entry.js → p-2a59b523.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-5bab65ea.js → p-4d330836.js} +13 -19
- package/dist/genexus-ide-ui/p-4d330836.js.map +1 -0
- package/dist/genexus-ide-ui/p-520c3763.entry.js +936 -0
- package/dist/genexus-ide-ui/p-520c3763.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e5e38589.entry.js → p-5929f575.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e8cd797d.entry.js → p-6b430ac1.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-70707166.entry.js → p-70cd77bc.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-401989bf.entry.js → p-750eb88a.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ddfba1c8.entry.js → p-885e5d1c.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-91e2ebb0.js +86 -0
- package/dist/genexus-ide-ui/p-91e2ebb0.js.map +1 -0
- package/dist/genexus-ide-ui/{p-2eec8e65.entry.js → p-b44a875d.entry.js} +3 -3
- package/dist/genexus-ide-ui/{p-532c2e0f.entry.js → p-ca47bb29.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-528ba8bb.js → p-e2b6d62b.js} +2 -2
- package/dist/types/components/ww-images/helpers.d.ts +3 -0
- package/dist/types/components/ww-images/ww-images.d.ts +116 -134
- package/dist/types/components.d.ts +31 -107
- package/package.json +1 -1
- package/dist/cjs/common-9020d675.js.map +0 -1
- package/dist/cjs/helpers-b1b58657.js.map +0 -1
- package/dist/esm/common-074a209e.js.map +0 -1
- package/dist/esm/helpers-7800bea2.js.map +0 -1
- package/dist/genexus-ide-ui/p-3f89ddf4.js +0 -133
- package/dist/genexus-ide-ui/p-3f89ddf4.js.map +0 -1
- package/dist/genexus-ide-ui/p-5bab65ea.js.map +0 -1
- package/dist/genexus-ide-ui/p-80c25124.entry.js +0 -610
- package/dist/genexus-ide-ui/p-80c25124.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-dc399624.entry.js.map → p-1356ec09.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c51f87fb.entry.js.map → p-18c3c961.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c583252c.entry.js.map → p-1d3da80d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-57c550b7.entry.js.map → p-21775439.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-d08fc16d.entry.js.map → p-27786355.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c1f4458c.entry.js.map → p-2a59b523.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e5e38589.entry.js.map → p-5929f575.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e8cd797d.entry.js.map → p-6b430ac1.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-70707166.entry.js.map → p-70cd77bc.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-401989bf.entry.js.map → p-750eb88a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ddfba1c8.entry.js.map → p-885e5d1c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2eec8e65.entry.js.map → p-b44a875d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-532c2e0f.entry.js.map → p-ca47bb29.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-528ba8bb.js.map → p-e2b6d62b.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapOptionsToComboBoxItemModel","options","map","option","value","id","caption","label","startImgSrc","_a","iconName","wwImagesCss","CSS_BUNDLES","ALL_DESCENDANTS_VALUE","MODIFIED_VALUE","TODAY","RESET_ICON","getIconPath","category","name","colorType","SEARCH_ICON","NOTICE_ICON","GxIdeWWImages","_GxIdeWWImages_componentLocale","set","this","_GxIdeWWImages_filterInitialData","_GxIdeWWImages_ACCORDION_MODEL","_GxIdeWWImages_ACCORDION_FILTER_ID","_GxIdeWWImages_imagesMap","Map","_GxIdeWWImages_chGridEl","_GxIdeWWImages_filterModuleEl","_GxIdeWWImages_isInitialLoad","_GxIdeWWImages_deleteSelectionCallbackHandler","deleteSelectionCallback","selectedObjectsIds","_GxIdeWWImages_deselectAll","__classPrivateFieldGet","selectAllRows","_GxIdeWWImages_handleNameChange","event","filterNameValue","detail","target","_GxIdeWWImages_handleSearchContentsChange","filterSearchContentsValue","_GxIdeWWImages_applyDefaultCategory","defaultCategory","categoriesComboBoxModel","length","categoryExists","some","item","filterCategoryValue","_GxIdeWWImages_handleCategoryChange","_GxIdeWWImages_handleAllDescendantsChange","filterAllDescendantsValue","_GxIdeWWImages_handleAfterTypeChange","filterAfterTypeValue","afterCurrentValue","_GxIdeWWImages_handleUserChange","filterUserValue","_GxIdeWWImages_handleModifiedDateChange","filterModifiedDateValue","_GxIdeWWImages_handleStyleChange","filterStyleValue","_GxIdeWWImages_handleLanguageChange","filterLanguageValue","_GxIdeWWImages_handleDensityChange","filterDensityValue","_GxIdeWWImages_handleLayerChange","filterLayerValue","_GxIdeWWImages_handleModuleChange","filterModuleValue","_GxIdeWWImages_filterImagesInformationHandler","tabularGridData","images","_GxIdeWWImages_getImages","clear","filters","searchContents","parent","allDescendants","modifiedAfter","modifiedBy","modifiedDate","Date","undefined","style","language","density","layer","loadCallback","then","items","call","_GxIdeWWImages_getToday","now","date","toISOString","split","time","slice","_GxIdeWWImages_addEventListeners","addEventListener","ev","rowsId","selectionObjectChangedCallback","imagesSelectedItems","cachedItems","idsToLoad","forEach","selectedId","has","get","push","currentSelection","sort","join","loadPromises","loadImageItemsCallback","Promise","all","loadedItemsArrays","currentSelectionAfterLoad","allImageItems","_GxIdeWWImages_openSelectionCallBackHandler","preventDefault","stopPropagation","contextMenuCallback","selection","selectedRowsId","clientX","clientY","_GxIdeWWImages_sortImages","a","b","order","orderCriteria","valueA","_GxIdeWWImages_instances","_GxIdeWWImages_getImageValue","toUpperCase","valueB","ascending","_GxIdeWWImages_handleColumnSortChanged","e","columnId","sortDirection","_GxIdeWWImages_newObjectCallbackHandler","newObjectCallback","openSelectionCallback","_GxIdeWWImages_toggleModifiedControls","enabledModifiedControls","_GxIdeWWImages_renderHeader","h","class","htmlFor","filter","autoFocus","debounce","config","inputDebounce","onInput","moduleFolder","labelPosition","defaultValue","defaultModule","selectEntityCallback","selectModuleCallback","ref","el","__classPrivateFieldSet","model","slot","disabled","categories","checkedValue","modified","afterLabel","filterAfterOptions","user","FILTER_AFTER","DATE_TIME","dateTime","type","max","styles","stylesComboBoxModel","languages","languagesComboBoxModel","densities","densitiesComboBoxModel","layers","layersComboBoxModel","search","placeholder","searchContentsPlaceholder","onClick","_GxIdeWWImages_resetFilterHandler","src","resetFilters","_GxIdeWWImages_renderFilter","_GxIdeWWImages_renderImages","url","alt","_GxIdeWWImages_renderTabularGrid","commonColSize","main__grid","rowSelectionMode","columnResizeMode","columnName","settingable","size","tabularGrid","colSize","maxContent","resizable","sortable","tableHead","onColumnSortChanged","module","description","lastUser","importDate","obj","rowid","icon","formatDate","isAnimated","stateIconSrc","stateTitle","emptyState","title","key","modifiedDateTime","modifiedUser","_GxIdeWWImages_saveInitialFilterData","_GxIdeWWImages_selectAll","categoriesChanged","newCategories","defaultCategoryChanged","densitiesChanged","newDensities","languagesChanged","newLanguages","layersChanged","newLayers","stylesChanged","newStyles","connectedCallback","componentDidLoad","componentWillLoad","Locale","getComponentStrings","afterNone","NONE","IMPORT","LAST_BUILD","accordionCaption","expanded","keyDownHandler","eventInfo","document","activeElement","reload","filterNameValueChanged","filterSearchContentsValueChanged","filterCategoryValueChanged","filterAllDescendantsValueChanged","filterAfterTypeValueChanged","filterUserValueChanged","filterModifiedDateValueChanged","filterStyleValueChanged","filterLanguageValueChanged","filterDensityValueChanged","filterLayerValueChanged","filterModuleValueChanged","render","Host","objCount","matching","footer","btnSelectAll","btnNew","image","toLowerCase"],"sources":["src/components/ww-images/helpers.tsx","src/components/ww-images/ww-images.scss?tag=gx-ide-ww-images&encapsulation=shadow","src/components/ww-images/ww-images.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { GxOption } from \"../..\";\n\nexport const mapOptionsToComboBoxItemModel = (\n options: GxOption[]\n): ComboBoxModel => {\n if (!options) {\n return [];\n }\n return options.map(option => {\n return {\n value: option.id,\n caption: option.label,\n startImgSrc: option.iconName ?? \"\"\n };\n });\n};\n","@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n container-type: inline-size;\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - - -\n// Header\n// - - - - - - - - - - - -\n\n// First row\n.header {\n grid-template-areas:\n \"name module-folder\"\n \"advanced-filter-accordion advanced-filter-accordion\";\n grid-template-columns: 1fr 1fr;\n grid-auto-rows: max-content max-content;\n}\n\n// Accordion Advanced Filter\n.name {\n grid-area: name;\n}\n.module-folder {\n grid-area: module-folder;\n}\n.advanced-filter-accordion {\n grid-area: advanced-filter-accordion;\n}\n\n// - - - - - - - - - - - -\n// Main\n// - - - - - - - - - - - -\n\n.main {\n --sidebar-width: 376px;\n display: grid;\n grid-template-columns: 1fr var(--sidebar-width);\n overflow: auto;\n padding-block-start: var(--size-16);\n}\n\n.main__grid {\n overflow: auto;\n position: relative;\n}\n.tabular-grid-ww-images {\n overflow: auto;\n border-inline-end: var(--section-common-border);\n}\n\nch-tabular-grid-rowset-empty {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n inline-size: 100%;\n z-index: 1;\n}\n\n// main aside\n.main__aside {\n overflow: auto;\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n.main__filter {\n display: grid;\n grid-auto-rows: max-content;\n grid-template-columns: 1fr 1fr 1fr;\n grid-template-areas:\n \"category options after\"\n \"style language user\"\n \"density layer date-time\"\n \"search-by-contents search-by-contents button-reset\";\n overflow: auto;\n}\n.category {\n grid-area: category;\n}\n.options {\n grid-area: options;\n}\n.after-date-time {\n grid-area: after;\n}\n.user {\n grid-area: user;\n}\n.date-time {\n grid-area: date-time;\n}\n.style {\n grid-area: style;\n}\n.language {\n grid-area: language;\n}\n.density {\n grid-area: density;\n}\n.layer {\n grid-area: layer;\n}\n.search-by-contents {\n grid-area: search-by-contents;\n}\n.button-reset {\n grid-area: button-reset;\n align-self: end;\n justify-self: end;\n}\n\n// - - - - - - - - - - - -\n// Images Grid\n// - - - - - - - - - - - -\n\n.main__images-container {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: var(--size-8);\n position: relative;\n z-index: 1;\n\n .figure {\n margin: 0;\n background-color: var(--color-accent-surface-elevation-2);\n display: grid;\n grid-template-rows: minmax(0, 1fr) max-content;\n gap: var(--size-4);\n padding: var(--size-8);\n border-radius: var(--size-4);\n opacity: 0;\n animation: fadeIn 300ms forwards;\n aspect-ratio: 1 / 1;\n }\n .figure__picture {\n display: flex;\n align-items: center;\n justify-content: center;\n min-block-size: 0;\n }\n .figure__img {\n display: block;\n max-inline-size: 100%;\n max-block-size: 100%;\n inline-size: auto;\n block-size: auto;\n object-fit: contain;\n }\n .figure__figcaption {\n text-align: center;\n font-size: var(--font-size-body-xs);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n inline-size: 100%;\n }\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-ww-images\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7\n )\n);\n\n@keyframes fadeIn {\n to {\n opacity: 1;\n }\n}\n\n// - - - - - - - - - - - -\n// Responsive\n// - - - - - - - - - - - -\n\n@container (max-width: 992px) {\n .main {\n --sidebar-width: 288px;\n }\n .main__images-container {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n\n@container (max-width: 768px) {\n .main {\n --sidebar-width: 200px;\n }\n .main__images-container {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@container (max-width: 640px) {\n .main {\n --sidebar-width: 112px;\n }\n .main__images-container {\n grid-template-columns: 1fr;\n }\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n h\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport {\n AccordionModel,\n ChGridRowContextMenuEvent,\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 } 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/icon\",\n \"components/tabular-grid\",\n \"components/sidebar\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst ALL_DESCENDANTS_VALUE = \"all-descendants\";\nconst MODIFIED_VALUE = \"modified\";\n\nlet TODAY: string = null;\n\n// icons\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"interactive\"\n});\nconst SEARCH_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"search\",\n colorType: \"neutral\"\n});\nconst NOTICE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"notice\",\n colorType: \"on-elevation\"\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 #ACCORDION_MODEL: AccordionModel = [];\n #ACCORDION_FILTER_ID = \"advanced-filter\";\n\n #imagesMap: Map<string, ImageItemData[]> = new Map();\n\n @Element() el: HTMLGxIdeWwImagesElement;\n\n #chGridEl!: HTMLChTabularGridElement;\n // Only keep refs that are actually needed for operations (event listeners)\n #filterModuleEl!: HTMLGxIdeEntitySelectorElement;\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 * 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 * Image data to be displayed in the tabular grid (filtered from server and sorted)\n */\n @State() tabularGridData: 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 * When true, modified controls will be enabled, otherwise disabled.\n */\n @State() enabledModifiedControls: boolean = false;\n\n /**\n * Sorting order for images table\n */\n @State() order: { orderCriteria: string | null; ascending: boolean | null } =\n {\n orderCriteria: null,\n ascending: null\n };\n\n /**\n * Filter state variables\n */\n @State() filterNameValue = \"\";\n @State() filterSearchContentsValue = \"\";\n @State() filterCategoryValue: string;\n @State() filterAllDescendantsValue = false;\n @State() filterAfterTypeValue: string;\n @State() filterUserValue = \"\";\n @State() filterModifiedDateValue = \"\";\n @State() filterStyleValue: string;\n @State() filterLanguageValue: string;\n @State() filterDensityValue: string;\n @State() filterLayerValue: string;\n @State() filterModuleValue: EntityData;\n\n /**\n * Flag to prevent triggering #getImages on initial load\n */\n #isInitialLoad = true;\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 this.#applyDefaultCategory();\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 @Watch(\"defaultCategory\")\n defaultCategoryChanged() {\n this.#applyDefaultCategory();\n }\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 * 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 async connectedCallback() {\n TODAY = this.#getToday();\n }\n\n componentDidLoad() {\n this.#addEventListeners();\n this.#getImages();\n this.#saveInitialFilterData();\n this.#isInitialLoad = false;\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\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 this.filterAfterTypeValue = this.filterAfterOptions[0].value;\n\n // Initialize filter state values\n this.#applyDefaultCategory();\n this.filterModuleValue = this.defaultModule;\n if (this.stylesComboBoxModel.length > 0) {\n this.filterStyleValue = this.stylesComboBoxModel[0].value;\n }\n if (this.languagesComboBoxModel.length > 0) {\n this.filterLanguageValue = this.languagesComboBoxModel[0].value;\n }\n if (this.densitiesComboBoxModel.length > 0) {\n this.filterDensityValue = this.densitiesComboBoxModel[0].value;\n }\n if (this.layersComboBoxModel.length > 0) {\n this.filterLayerValue = this.layersComboBoxModel[0].value;\n }\n\n this.#ACCORDION_MODEL = [\n {\n id: this.#ACCORDION_FILTER_ID,\n caption: this.#componentLocale.filter.accordionCaption,\n expanded: false\n }\n ];\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.#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 /**\n * Watch filter state variables and trigger #getImages when they change\n */\n @Watch(\"filterNameValue\")\n filterNameValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterSearchContentsValue\")\n filterSearchContentsValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterCategoryValue\")\n filterCategoryValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterAllDescendantsValue\")\n filterAllDescendantsValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterAfterTypeValue\")\n filterAfterTypeValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterUserValue\")\n filterUserValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterModifiedDateValue\")\n filterModifiedDateValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterStyleValue\")\n filterStyleValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterLanguageValue\")\n filterLanguageValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterDensityValue\")\n filterDensityValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterLayerValue\")\n filterLayerValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterModuleValue\")\n filterModuleValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n /**\n * Individual handler functions for each filter control\n */\n #handleNameChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterNameValue = (event.detail ||\n (event.target as HTMLInputElement).value) as string;\n };\n\n #handleSearchContentsChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterSearchContentsValue = (event.detail ||\n (event.target as HTMLInputElement).value) as string;\n };\n\n #applyDefaultCategory = () => {\n if (this.defaultCategory && this.categoriesComboBoxModel.length > 0) {\n const categoryExists = this.categoriesComboBoxModel.some(\n item => item.value === this.defaultCategory\n );\n if (categoryExists) {\n this.filterCategoryValue = this.defaultCategory;\n }\n }\n };\n\n #handleCategoryChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterCategoryValue = event.detail as string;\n };\n\n #handleAllDescendantsChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterAllDescendantsValue = event.detail === ALL_DESCENDANTS_VALUE;\n };\n\n #handleAfterTypeChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterAfterTypeValue = event.detail as string;\n this.afterCurrentValue = event.detail as string;\n };\n\n #handleUserChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterUserValue = (event.detail ||\n (event.target as HTMLInputElement).value) as string;\n };\n\n #handleModifiedDateChange = (event: InputEvent) => {\n this.filterModifiedDateValue = (event.target as HTMLInputElement).value;\n };\n\n #handleStyleChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterStyleValue = event.detail as string;\n };\n\n #handleLanguageChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterLanguageValue = event.detail as string;\n };\n\n #handleDensityChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterDensityValue = event.detail as string;\n };\n\n #handleLayerChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterLayerValue = event.detail as string;\n };\n\n #handleModuleChange = () => {\n // Module change is handled via event listener, but we update state\n if (this.#filterModuleEl) {\n this.filterModuleValue = this.#filterModuleEl.value;\n }\n };\n\n #filterImagesInformationHandler = () => {\n // Copy images from server to tabularGridData (will be sorted before rendering)\n this.tabularGridData = [...this.images];\n };\n\n #getImages = (): void => {\n this.#imagesMap.clear();\n\n const filters: ImageFiltersData = {\n name: this.filterNameValue,\n searchContents: this.filterSearchContentsValue,\n category: this.filterCategoryValue,\n parent: this.filterModuleValue ? this.filterModuleValue.id : null,\n allDescendants: this.filterAllDescendantsValue,\n modifiedAfter: this.filterAfterTypeValue,\n modifiedBy: this.filterUserValue,\n modifiedDate: this.filterModifiedDateValue\n ? new Date(this.filterModifiedDateValue)\n : undefined,\n style: this.filterStyleValue,\n language: this.filterLanguageValue,\n density: this.filterDensityValue,\n layer: this.filterLayerValue\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 #addEventListeners = (): void => {\n /* module/folder */\n this.#filterModuleEl.addEventListener(\"valueChanged\", () => {\n this.#handleModuleChange();\n });\n\n // for grid selection\n this.#chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n this.selectionObjectChangedCallback(this.selectedObjectsIds);\n\n if (this.selectedObjectsIds.length === 0) {\n this.imagesSelectedItems = [];\n return;\n }\n\n // Collect cached items immediately\n const cachedItems: ImageItemData[] = [];\n const idsToLoad: string[] = [];\n\n this.selectedObjectsIds.forEach((selectedId: string) => {\n if (this.#imagesMap.has(selectedId)) {\n const items = this.#imagesMap.get(selectedId);\n if (items) {\n cachedItems.push(...items);\n }\n } else {\n idsToLoad.push(selectedId);\n }\n });\n\n // If all items were cached, update immediately\n if (idsToLoad.length === 0) {\n this.imagesSelectedItems = cachedItems;\n return;\n }\n\n // Store current selection to verify later (prevents race conditions)\n const currentSelection = [...this.selectedObjectsIds].sort().join(\",\");\n\n // Load missing items and combine with cached ones\n // loadImageItemsCallback must be invoked the first time a user selects an image\n const loadPromises = idsToLoad.map((selectedId: string) =>\n this.loadImageItemsCallback(selectedId).then(\n (items: ImageItemData[]) => {\n // Cache the items for future use\n this.#imagesMap.set(selectedId, items);\n return items;\n }\n )\n );\n\n Promise.all(loadPromises).then((loadedItemsArrays: ImageItemData[][]) => {\n // Verify that selection hasn't changed while loading\n const currentSelectionAfterLoad = [...this.selectedObjectsIds]\n .sort()\n .join(\",\");\n if (currentSelection !== currentSelectionAfterLoad) {\n // Selection changed, ignore this result\n return;\n }\n\n // Combine cached items with newly loaded items\n const allImageItems = [...cachedItems];\n loadedItemsArrays.forEach(items => {\n allImageItems.push(...items);\n });\n this.imagesSelectedItems = allImageItems;\n });\n });\n\n this.#chGridEl.addEventListener(\"rowDoubleClicked\", (): void => {\n this.#openSelectionCallBackHandler();\n });\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 /**\n * Helper function to safely get image values for sorting\n */\n #getImageValue(image: ImageData, key: string): string {\n switch (key) {\n case \"name\":\n return image.name || \"\";\n case \"module\":\n return image.module || \"\";\n case \"description\":\n return image.description || \"\";\n case \"modifiedDate\":\n return image.modifiedDate\n ? formatDate(image.modifiedDate).toLowerCase()\n : \"\";\n case \"lastUser\":\n return image.lastUser?.toLowerCase() || \"\";\n case \"importDate\":\n return image.importDate\n ? formatDate(image.importDate).toLowerCase()\n : \"\";\n default:\n return \"\";\n }\n }\n\n /**\n * Sorts images based on the current order criteria\n */\n #sortImages = (a: ImageData, b: ImageData): number => {\n if (this.order.orderCriteria) {\n const valueA = this.#getImageValue(\n a,\n this.order.orderCriteria\n ).toUpperCase();\n const valueB = this.#getImageValue(\n b,\n this.order.orderCriteria\n ).toUpperCase();\n if (valueA < valueB) {\n return this.order.ascending ? -1 : 1;\n }\n if (valueA > valueB) {\n return this.order.ascending ? 1 : -1;\n }\n }\n return 0;\n };\n\n /**\n * Handles column sort changes\n */\n #handleColumnSortChanged = (e: CustomEvent) => {\n const { columnId, sortDirection } = e.detail;\n this.order = {\n orderCriteria: columnId,\n ascending: sortDirection === \"asc\"\n };\n };\n\n #newObjectCallbackHandler = (): void => {\n this.newObjectCallback();\n };\n #openSelectionCallBackHandler = (): void => {\n this.openSelectionCallback(this.selectedObjectsIds);\n };\n\n #toggleModifiedControls = (event: CustomEvent<string> | InputEvent) => {\n this.enabledModifiedControls = event.detail === MODIFIED_VALUE;\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\"\n autoFocus={true}\n value={this.filterNameValue}\n debounce={config.inputDebounce}\n onInput={this.#handleNameChange}\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 id=\"module/folder\"\n labelPosition=\"none\"\n value={this.filterModuleValue}\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 <ch-accordion-render\n // modified\n class=\"accordion-outlined advanced-filter-accordion\"\n model={this.#ACCORDION_MODEL}\n >\n <div slot={this.#ACCORDION_FILTER_ID} class=\"spacing-body\">\n <div class=\"main__filter field-group scrollable\">\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.filterCategoryValue}\n disabled={!this.categories}\n model={this.categoriesComboBoxModel}\n onInput={this.#handleCategoryChange}\n ></ch-combo-box-render>\n </div>\n\n <div\n // category\n class=\"field-group options\"\n >\n <label class=\"label\" htmlFor=\"filter-category\">\n {this.#componentLocale.filter.options}\n </label>\n <div\n // options\n class=\"field field-inline\"\n >\n <ch-checkbox\n class=\"checkbox all-descendants\"\n caption={this.#componentLocale.filter.allDescendants}\n checkedValue={ALL_DESCENDANTS_VALUE}\n value={\n this.filterAllDescendantsValue\n ? ALL_DESCENDANTS_VALUE\n : undefined\n }\n onInput={this.#handleAllDescendantsChange}\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox modified\"\n caption={this.#componentLocale.filter.modified}\n checkedValue={MODIFIED_VALUE}\n onInput={this.#toggleModifiedControls}\n ></ch-checkbox>\n </div>\n </div>\n\n <div\n // after\n class=\"field field-block after-date-time\"\n >\n <label\n class={{\n \"label\": true,\n \"label--disabled\": !this.enabledModifiedControls\n }}\n htmlFor=\"filter-after-type\"\n >\n {this.#componentLocale.filter.afterLabel}\n </label>\n <ch-combo-box-render\n id=\"filter-after-type\"\n class=\"combo-box\"\n value={this.filterAfterTypeValue}\n disabled={!this.enabledModifiedControls}\n model={this.filterAfterOptions}\n onInput={this.#handleAfterTypeChange}\n ></ch-combo-box-render>\n </div>\n\n <div\n // user\n class=\"field field-block user\"\n >\n <label\n class={{\n \"label\": true,\n \"label--disabled\": !this.enabledModifiedControls\n }}\n htmlFor=\"filter-user\"\n >\n {this.#componentLocale.filter.user}\n </label>\n <ch-edit\n id=\"filter-user\"\n value={this.filterUserValue}\n class=\"input\"\n disabled={!this.enabledModifiedControls}\n debounce={config.inputDebounce}\n onInput={this.#handleUserChange}\n ></ch-edit>\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 value={this.filterModifiedDateValue}\n max={TODAY}\n disabled={this.afterCurrentValue !== FILTER_AFTER.DATE_TIME}\n onInput={this.#handleModifiedDateChange}\n ></input>\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.filterStyleValue}\n disabled={!this.styles}\n model={this.stylesComboBoxModel}\n onInput={this.#handleStyleChange}\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.filterLanguageValue}\n disabled={!this.languages}\n model={this.languagesComboBoxModel}\n onInput={this.#handleLanguageChange}\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.filterDensityValue}\n disabled={!this.densities}\n model={this.densitiesComboBoxModel}\n onInput={this.#handleDensityChange}\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.filterLayerValue}\n disabled={!this.layers}\n model={this.layersComboBoxModel}\n onInput={this.#handleLayerChange}\n ></ch-combo-box-render>\n </div>\n\n <div\n // search contents\n class=\"field field-block search-by-contents\"\n >\n <label class=\"label\" htmlFor=\"search-input\">\n {this.#componentLocale.filter.search}\n </label>\n <ch-edit\n id=\"search-input\"\n debounce={config.inputDebounce}\n class=\"input\"\n value={this.filterSearchContentsValue}\n placeholder={\n this.#componentLocale.filter.searchContentsPlaceholder\n }\n onInput={this.#handleSearchContentsChange}\n startImgSrc={SEARCH_ICON}\n type=\"search\"\n ></ch-edit>\n </div>\n\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} type=\"mask\"></ch-image>\n {this.#componentLocale.filter.resetFilters}\n </button>\n </div>\n </div>\n </ch-accordion-render>\n ];\n };\n\n #renderFilter = (): Element[] => {\n return (\n <div class=\"sidebar-container scrollable\">{this.#renderImages()}</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 #renderTabularGrid = (): Element => {\n const commonColSize = \"minmax(max-content, auto)\";\n\n return (\n <div\n class={{\n \"field-group\": true,\n \"main__grid\": true\n }}\n >\n <ch-tabular-grid\n ref={(el: HTMLChTabularGridElement) => (this.#chGridEl = el)}\n rowSelectionMode=\"multiple\"\n class=\"tabular-grid tabular-grid-ww-images\"\n columnResizeMode=\"splitter\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnId=\"icon\"\n columnName=\"\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n resizable={true}\n sortable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"name\"\n columnName={this.#componentLocale.tableHead.name}\n settingable={false}\n class=\"tabular-grid-column\"\n column-name-position=\"text\"\n size={commonColSize}\n resizable={true}\n sortable={true}\n onColumnSortChanged={this.#handleColumnSortChanged}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"module\"\n columnName={this.#componentLocale.tableHead.module}\n settingable={false}\n size={commonColSize}\n class=\"tabular-grid-column\"\n resizable={true}\n sortable={true}\n onColumnSortChanged={this.#handleColumnSortChanged}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"description\"\n columnName={this.#componentLocale.tableHead.description}\n settingable={false}\n size=\"minmax(300px, 1fr)\"\n class=\"tabular-grid-column\"\n resizable={false}\n sortable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"modifiedDate\"\n columnName={this.#componentLocale.tableHead.modifiedDate}\n settingable={false}\n size={commonColSize}\n class=\"tabular-grid-column\"\n resizable={true}\n sortable={true}\n onColumnSortChanged={this.#handleColumnSortChanged}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"lastUser\"\n columnName={this.#componentLocale.tableHead.lastUser}\n settingable={false}\n size={commonColSize}\n class=\"tabular-grid-column\"\n resizable={true}\n sortable={true}\n onColumnSortChanged={this.#handleColumnSortChanged}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"importDate\"\n columnName={this.#componentLocale.tableHead.importDate}\n settingable={false}\n size={commonColSize}\n class=\"tabular-grid-column\"\n resizable={true}\n sortable={true}\n onColumnSortChanged={this.#handleColumnSortChanged}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.tabularGridData.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {[...this.tabularGridData]\n .sort(this.#sortImages)\n .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 {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-description\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {formatDate(obj.modifiedDate)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.lastUser}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {formatDate(obj.importDate)}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n isAnimated={false}\n stateIconSrc={NOTICE_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n key=\"no-images-empty-state\"\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n </div>\n );\n };\n\n #resetFilterHandler = () => {\n if (this.#filterInitialData) {\n this.filterNameValue = this.#filterInitialData.name;\n this.filterModuleValue = this.#filterInitialData.module;\n this.filterSearchContentsValue = this.#filterInitialData.searchContents;\n this.filterCategoryValue = this.#filterInitialData.category;\n this.filterAllDescendantsValue =\n this.#filterInitialData.allDescendants === ALL_DESCENDANTS_VALUE;\n this.filterAfterTypeValue = this.#filterInitialData.modifiedAfter;\n this.filterModifiedDateValue = this.#filterInitialData.modifiedDateTime;\n this.filterUserValue = this.#filterInitialData.modifiedUser;\n this.filterStyleValue = this.#filterInitialData.style;\n this.filterLanguageValue = this.#filterInitialData.language;\n this.filterDensityValue = this.#filterInitialData.density;\n this.filterLayerValue = this.#filterInitialData.layer;\n this.afterCurrentValue = this.filterAfterTypeValue;\n }\n };\n\n #saveInitialFilterData = () => {\n this.#filterInitialData = {\n name: this.filterNameValue,\n module: this.filterModuleValue,\n searchContents: this.filterSearchContentsValue,\n category: this.filterCategoryValue,\n allDescendants: this.filterAllDescendantsValue\n ? ALL_DESCENDANTS_VALUE\n : \"\",\n modifiedAfter: this.filterAfterTypeValue,\n modifiedDateTime: this.filterModifiedDateValue,\n modifiedUser: this.filterUserValue,\n style: this.filterStyleValue,\n language: this.filterLanguageValue,\n density: this.filterDensityValue,\n layer: this.filterLayerValue\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.#renderTabularGrid()}\n <div class=\"main__aside field-group\">{this.#renderFilter()}</div>\n </div>\n\n <footer class=\"dialog-footer-with-border dialog-footer-space-between spacing-body\">\n <p\n // matching objects\n class=\"text-body\"\n >\n {`${this.tabularGridData.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 >\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 >\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"],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import { L as o } from "./p-311eedf3.js";
|
|
|
14
14
|
|
|
15
15
|
import { c as r } from "./p-c5196b3b.js";
|
|
16
16
|
|
|
17
|
-
import { f as n } from "./p-
|
|
17
|
+
import { f as n } from "./p-4d330836.js";
|
|
18
18
|
|
|
19
19
|
import { F as c } from "./p-13feb5cf.js";
|
|
20
20
|
|
|
@@ -537,4 +537,4 @@ _ = new WeakMap, K = new WeakMap, V = new WeakMap, A = new WeakMap, B = new Weak
|
|
|
537
537
|
O.style = d;
|
|
538
538
|
|
|
539
539
|
export { O as gx_ide_object_selector };
|
|
540
|
-
//# sourceMappingURL=p-
|
|
540
|
+
//# sourceMappingURL=p-5929f575.entry.js.map
|
|
@@ -4,9 +4,9 @@ import { c as n } from "./p-c5196b3b.js";
|
|
|
4
4
|
|
|
5
5
|
import { L as o } from "./p-311eedf3.js";
|
|
6
6
|
|
|
7
|
-
import { r, m as h } from "./p-
|
|
7
|
+
import { r, m as h } from "./p-4d330836.js";
|
|
8
8
|
|
|
9
|
-
import { s as d, g as l } from "./p-
|
|
9
|
+
import { s as d, g as l } from "./p-91e2ebb0.js";
|
|
10
10
|
|
|
11
11
|
import { v as c } from "./p-b32b6b1f.js";
|
|
12
12
|
|
|
@@ -442,4 +442,4 @@ N = new WeakMap;
|
|
|
442
442
|
Z.style = u;
|
|
443
443
|
|
|
444
444
|
export { Z as gx_ide_new_environment };
|
|
445
|
-
//# sourceMappingURL=p-
|
|
445
|
+
//# sourceMappingURL=p-6b430ac1.entry.js.map
|
|
@@ -14,9 +14,9 @@ import { c as n } from "./p-c5196b3b.js";
|
|
|
14
14
|
|
|
15
15
|
import { L as h } from "./p-311eedf3.js";
|
|
16
16
|
|
|
17
|
-
import { s as l, g as d } from "./p-
|
|
17
|
+
import { s as l, g as d } from "./p-91e2ebb0.js";
|
|
18
18
|
|
|
19
|
-
import { r, m as c } from "./p-
|
|
19
|
+
import { r, m as c } from "./p-4d330836.js";
|
|
20
20
|
|
|
21
21
|
import { v as f } from "./p-b32b6b1f.js";
|
|
22
22
|
|
|
@@ -758,4 +758,4 @@ st = new WeakMap, at = new WeakMap, ot = new WeakMap, nt = new WeakMap;
|
|
|
758
758
|
ut.style = u;
|
|
759
759
|
|
|
760
760
|
export { ut as gx_ide_new_kb };
|
|
761
|
-
//# sourceMappingURL=p-
|
|
761
|
+
//# sourceMappingURL=p-70cd77bc.entry.js.map
|
|
@@ -14,7 +14,7 @@ import { c as n } from "./p-c5196b3b.js";
|
|
|
14
14
|
|
|
15
15
|
import { L as l } from "./p-311eedf3.js";
|
|
16
16
|
|
|
17
|
-
import { f as c } from "./p-
|
|
17
|
+
import { f as c } from "./p-4d330836.js";
|
|
18
18
|
|
|
19
19
|
const d = ":host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content;overflow:auto}.section{display:contents}.header{justify-content:end}.tabular-grid-main{overflow:auto;block-size:100%}.tabular-grid-main ch-tabular-grid-cell:is(:nth-child(2),:nth-child(3),:nth-child(4)){align-items:start;justify-content:start;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-inline-size:0}";
|
|
20
20
|
|
|
@@ -231,4 +231,4 @@ x = new WeakMap;
|
|
|
231
231
|
z.style = d;
|
|
232
232
|
|
|
233
233
|
export { z as gx_ide_team_dev_update_partial_selection };
|
|
234
|
-
//# sourceMappingURL=p-
|
|
234
|
+
//# sourceMappingURL=p-750eb88a.entry.js.map
|
|
@@ -2,7 +2,7 @@ import { r as t, h as i, H as e, a } from "./p-9b9ccd0c.js";
|
|
|
2
2
|
|
|
3
3
|
import { c as s } from "./p-c5196b3b.js";
|
|
4
4
|
|
|
5
|
-
import { f as r } from "./p-
|
|
5
|
+
import { f as r } from "./p-4d330836.js";
|
|
6
6
|
|
|
7
7
|
import { L as l } from "./p-311eedf3.js";
|
|
8
8
|
|
|
@@ -448,4 +448,4 @@ I = new WeakMap, A = new WeakMap;
|
|
|
448
448
|
$.style = d;
|
|
449
449
|
|
|
450
450
|
export { $ as gx_ide_team_dev_history };
|
|
451
|
-
//# sourceMappingURL=p-
|
|
451
|
+
//# sourceMappingURL=p-885e5d1c.entry.js.map
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { h as e } from "./p-9b9ccd0c.js";
|
|
2
|
+
|
|
3
|
+
/* STENCIL IMPORTS */
|
|
4
|
+
/**
|
|
5
|
+
* @param gxOptions An array of GxOptions's
|
|
6
|
+
* @returns The value of the selected item, or the first item, if no one is selected.
|
|
7
|
+
*/ const getSelectedItem = e => {
|
|
8
|
+
const t = e.find((e => e.selected));
|
|
9
|
+
if (t) {
|
|
10
|
+
return t.id;
|
|
11
|
+
} else {
|
|
12
|
+
return e[0].id;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const setSelectedItem = (e, t) => e.map((e => Object.assign(Object.assign({}, e), {
|
|
17
|
+
selected: e.id === t
|
|
18
|
+
})))
|
|
19
|
+
// Dots animation used in ch-chat code-render (or other components)
|
|
20
|
+
;
|
|
21
|
+
|
|
22
|
+
const ANIMATION_DOTS = (t = "regular", a = "primary", i = "dynamic", r = "1s") => {
|
|
23
|
+
const n = t === "regular" ? 1.5 : 4;
|
|
24
|
+
let c, l, s;
|
|
25
|
+
if (a === "nexa") {
|
|
26
|
+
c = "#5ba7ff";
|
|
27
|
+
l = "#00CCFF";
|
|
28
|
+
s = "#CF7AFF";
|
|
29
|
+
} else if (a === "on-surface") {
|
|
30
|
+
c = l = s = "var(--color-text-neutral-strawberry)";
|
|
31
|
+
} else {
|
|
32
|
+
// primary
|
|
33
|
+
c = l = s = "var(--color-primary-600)";
|
|
34
|
+
// mer token
|
|
35
|
+
}
|
|
36
|
+
const animateRadiusSize = (t = "0") => e("animate", {
|
|
37
|
+
attributeName: "r",
|
|
38
|
+
values: `${2 / n};${4 / n};${2 / n}`,
|
|
39
|
+
dur: r,
|
|
40
|
+
begin: t,
|
|
41
|
+
repeatCount: "indefinite"
|
|
42
|
+
});
|
|
43
|
+
return e("svg", {
|
|
44
|
+
width: 36 / n,
|
|
45
|
+
height: 8 / n,
|
|
46
|
+
fill: "transparent"
|
|
47
|
+
}, e("circle", {
|
|
48
|
+
cx: 4 / n,
|
|
49
|
+
cy: 4 / n,
|
|
50
|
+
r: 4 / n,
|
|
51
|
+
opacity: "0",
|
|
52
|
+
fill: c
|
|
53
|
+
}, e("animate", {
|
|
54
|
+
attributeName: "opacity",
|
|
55
|
+
values: "0;1;0",
|
|
56
|
+
dur: r,
|
|
57
|
+
repeatCount: "indefinite"
|
|
58
|
+
}), i === "dynamic" ? animateRadiusSize("0") : null), e("circle", {
|
|
59
|
+
cx: 18 / n,
|
|
60
|
+
cy: 4 / n,
|
|
61
|
+
r: 4 / n,
|
|
62
|
+
opacity: "0",
|
|
63
|
+
fill: l
|
|
64
|
+
}, e("animate", {
|
|
65
|
+
attributeName: "opacity",
|
|
66
|
+
values: "0;1;0",
|
|
67
|
+
dur: r,
|
|
68
|
+
begin: "0.15s",
|
|
69
|
+
repeatCount: "indefinite"
|
|
70
|
+
}), i === "dynamic" ? animateRadiusSize("0.33s") : null), e("circle", {
|
|
71
|
+
cx: 32 / n,
|
|
72
|
+
cy: 4 / n,
|
|
73
|
+
r: 4 / n,
|
|
74
|
+
opacity: "0",
|
|
75
|
+
fill: s
|
|
76
|
+
}, e("animate", {
|
|
77
|
+
attributeName: "opacity",
|
|
78
|
+
values: "0;1;0",
|
|
79
|
+
dur: r,
|
|
80
|
+
begin: "0.30s",
|
|
81
|
+
repeatCount: "indefinite"
|
|
82
|
+
}), i === "dynamic" ? animateRadiusSize("0.66s") : null));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export { ANIMATION_DOTS as A, getSelectedItem as g, setSelectedItem as s };
|
|
86
|
+
//# sourceMappingURL=p-91e2ebb0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getSelectedItem","gxOptions","found","find","item","selected","id","setSelectedItem","selectedItemId","map","Object","assign","ANIMATION_DOTS","size","color","sizeType","duration","n","colorDot1","colorDot2","colorDot3","animateRadiusSize","begin","h","attributeName","values","dur","repeatCount","width","height","fill","cx","cy","r","opacity"],"sources":["src/common/common.tsx"],"sourcesContent":["/* STENCIL IMPORTS */\nimport { h } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { GxgFormItemsArray, GxOption } from \"./types\";\n\nexport const renderFormItems = (\n componentType:\n | \"gxg-combo-box-item\"\n | \"gxg-form-checkbox\"\n | \"gxg-form-radio\" = \"gxg-combo-box-item\",\n options: Array<GxOption>,\n group = \"undefined-group\",\n callback?: any\n): GxgFormItemsArray => {\n if (options.length) {\n const items: GxgFormItemsArray = [];\n options.forEach(option => {\n let item;\n switch (componentType) {\n case \"gxg-form-checkbox\":\n item = (\n <gxg-form-checkbox\n checkboxId={option.id}\n checked={option.checked}\n disabled={option.disabled}\n label={option.label}\n value={option.value}\n onChange={callback ? callback : null}\n iconName={option.iconName}\n part={`${group}-${option.id}`}\n ></gxg-form-checkbox>\n );\n items.push(item);\n break;\n case \"gxg-combo-box-item\":\n item = (\n <gxg-combo-box-item\n value={option.id}\n icon={option.iconName}\n part={`${group}-${option.id}`}\n >\n {option.label}\n </gxg-combo-box-item>\n );\n items.push(item);\n break;\n case \"gxg-form-radio\":\n item = (\n <gxg-form-radio\n radioId={option.id}\n checked={option.checked}\n disabled={option.disabled}\n label={option.label}\n value={option.value}\n name={group}\n part={`${group}-${option.id}`}\n ></gxg-form-radio>\n );\n items.push(item);\n break;\n default:\n break;\n }\n });\n return items;\n }\n return null;\n};\n\n/**\n * @param gxOptions An array of GxOptions's\n * @returns The first option in the array that is 'selected'. If no one found it returns null.\n */\nexport const getSelectedGxOption = (\n gxOptions: GxOption[],\n onlyId = true\n): GxOption | string | void => {\n if (gxOptions?.length > 0) {\n let found = null;\n for (let i = 0; i < gxOptions.length; i++) {\n if (gxOptions[i].selected) {\n found = gxOptions[i];\n break;\n }\n }\n if (found && onlyId) {\n return found.id;\n } else if (!found && onlyId) {\n return gxOptions[0].id;\n }\n return found;\n }\n};\n\n/**\n * @param gxOptions An array of GxOptions's\n * @returns The value of the selected item, or the first item, if no one is selected.\n */\nexport const getSelectedItem = (gxOptions: GxOption[]): string => {\n const found = gxOptions.find(item => item.selected);\n if (found) {\n return found.id;\n } else {\n return gxOptions[0].id;\n }\n};\n\nexport const setSelectedItem = (\n gxOptions: GxOption[],\n selectedItemId: string\n): GxOption[] =>\n gxOptions.map(item => ({\n ...item,\n selected: item.id === selectedItemId\n }));\n\nexport const getSelectedItem2 = (\n gxOptions: GxOption[] | undefined\n): string | undefined =>\n gxOptions\n ? (gxOptions.find(item => item.selected) ?? gxOptions[0]).id\n : undefined;\n\n// Dots animation used in ch-chat code-render (or other components)\nexport const ANIMATION_DOTS = (\n size: \"regular\" | \"tiny\" = \"regular\",\n color: \"primary\" | \"on-surface\" | \"nexa\" = \"primary\",\n sizeType: \"static\" | \"dynamic\" = \"dynamic\",\n duration: string = \"1s\"\n): SVGElement => {\n const n = size === \"regular\" ? 1.5 : 4;\n let colorDot1, colorDot2, colorDot3;\n if (color === \"nexa\") {\n colorDot1 = \"#5ba7ff\";\n colorDot2 = \"#00CCFF\";\n colorDot3 = \"#CF7AFF\";\n } else if (color === \"on-surface\") {\n colorDot1 = colorDot2 = colorDot3 = \"var(--color-text-neutral-strawberry)\";\n } else {\n // primary\n colorDot1 = colorDot2 = colorDot3 = \"var(--color-primary-600)\"; // mer token\n }\n\n const animateRadiusSize = (begin: string = \"0\") => {\n return (\n <animate\n attributeName=\"r\"\n values={`${2 / n};${4 / n};${2 / n}`}\n dur={duration}\n begin={begin}\n repeatCount=\"indefinite\"\n />\n );\n };\n\n return (\n <svg width={36 / n} height={8 / n} fill=\"transparent\">\n <circle cx={4 / n} cy={4 / n} r={4 / n} opacity=\"0\" fill={colorDot1}>\n <animate\n attributeName=\"opacity\"\n values=\"0;1;0\"\n dur={duration}\n repeatCount=\"indefinite\"\n />\n {sizeType === \"dynamic\" ? animateRadiusSize(\"0\") : null}\n </circle>\n <circle cx={18 / n} cy={4 / n} r={4 / n} opacity=\"0\" fill={colorDot2}>\n <animate\n attributeName=\"opacity\"\n values=\"0;1;0\"\n dur={duration}\n begin=\"0.15s\"\n repeatCount=\"indefinite\"\n />\n {sizeType === \"dynamic\" ? animateRadiusSize(\"0.33s\") : null}\n </circle>\n <circle cx={32 / n} cy={4 / n} r={4 / n} opacity=\"0\" fill={colorDot3}>\n <animate\n attributeName=\"opacity\"\n values=\"0;1;0\"\n dur={duration}\n begin=\"0.30s\"\n repeatCount=\"indefinite\"\n />\n {sizeType === \"dynamic\" ? animateRadiusSize(\"0.66s\") : null}\n </circle>\n </svg>\n );\n};\n"],"mappings":";;;;;;UAmGaA,kBAAmBC;EAC9B,MAAMC,IAAQD,EAAUE,MAAKC,KAAQA,EAAKC;EAC1C,IAAIH,GAAO;IACT,OAAOA,EAAMI;SACR;IACL,OAAOL,EAAU,GAAGK;;;;MAIXC,kBAAkB,CAC7BN,GACAO,MAEAP,EAAUQ,KAAIL,KAAIM,OAAAC,OAAAD,OAAAC,OAAA,IACbP,IAAI;EACPC,UAAUD,EAAKE,OAAOE;;;;;MAWbI,iBAAiB,CAC5BC,IAA2B,WAC3BC,IAA2C,WAC3CC,IAAiC,WACjCC,IAAmB;EAEnB,MAAMC,IAAIJ,MAAS,YAAY,MAAM;EACrC,IAAIK,GAAWC,GAAWC;EAC1B,IAAIN,MAAU,QAAQ;IACpBI,IAAY;IACZC,IAAY;IACZC,IAAY;SACP,IAAIN,MAAU,cAAc;IACjCI,IAAYC,IAAYC,IAAY;SAC/B;;IAELF,IAAYC,IAAYC,IAAY;;;EAGtC,MAAMC,oBAAoB,CAACC,IAAgB,QAEvCC,EAAA;IACEC,eAAc;IACdC,QAAQ,GAAG,IAAIR,KAAK,IAAIA,KAAK,IAAIA;IACjCS,KAAKV;IACLM,OAAOA;IACPK,aAAY;;EAKlB,OACEJ,EAAA;IAAKK,OAAO,KAAKX;IAAGY,QAAQ,IAAIZ;IAAGa,MAAK;KACtCP,EAAA;IAAQQ,IAAI,IAAId;IAAGe,IAAI,IAAIf;IAAGgB,GAAG,IAAIhB;IAAGiB,SAAQ;IAAIJ,MAAMZ;KACxDK,EAAA;IACEC,eAAc;IACdC,QAAO;IACPC,KAAKV;IACLW,aAAY;MAEbZ,MAAa,YAAYM,kBAAkB,OAAO,OAErDE,EAAA;IAAQQ,IAAI,KAAKd;IAAGe,IAAI,IAAIf;IAAGgB,GAAG,IAAIhB;IAAGiB,SAAQ;IAAIJ,MAAMX;KACzDI,EAAA;IACEC,eAAc;IACdC,QAAO;IACPC,KAAKV;IACLM,OAAM;IACNK,aAAY;MAEbZ,MAAa,YAAYM,kBAAkB,WAAW,OAEzDE,EAAA;IAAQQ,IAAI,KAAKd;IAAGe,IAAI,IAAIf;IAAGgB,GAAG,IAAIhB;IAAGiB,SAAQ;IAAIJ,MAAMV;KACzDG,EAAA;IACEC,eAAc;IACdC,QAAO;IACPC,KAAKV;IACLM,OAAM;IACNK,aAAY;MAEbZ,MAAa,YAAYM,kBAAkB,WAAW;AAErD"}
|
|
@@ -16,11 +16,11 @@ import { u as r, a as l } from "./p-c9b9e260.js";
|
|
|
16
16
|
|
|
17
17
|
import { r as o } from "./p-2eae8843.js";
|
|
18
18
|
|
|
19
|
-
import { f as c } from "./p-
|
|
19
|
+
import { f as c } from "./p-4d330836.js";
|
|
20
20
|
|
|
21
21
|
import { c as d } from "./p-c5196b3b.js";
|
|
22
22
|
|
|
23
|
-
import { C as p } from "./p-
|
|
23
|
+
import { C as p } from "./p-e2b6d62b.js";
|
|
24
24
|
|
|
25
25
|
import { s as h } from "./p-02fb496a.js";
|
|
26
26
|
|
|
@@ -816,4 +816,4 @@ D = new WeakMap;
|
|
|
816
816
|
ne.style = u;
|
|
817
817
|
|
|
818
818
|
export { ne as gx_ide_team_dev_update };
|
|
819
|
-
//# sourceMappingURL=p-
|
|
819
|
+
//# sourceMappingURL=p-b44a875d.entry.js.map
|
|
@@ -12,7 +12,7 @@ import "lit/directives/if-defined.js";
|
|
|
12
12
|
|
|
13
13
|
import { L as o } from "./p-311eedf3.js";
|
|
14
14
|
|
|
15
|
-
import { f as r } from "./p-
|
|
15
|
+
import { f as r } from "./p-4d330836.js";
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* @module constants
|
|
@@ -2452,4 +2452,4 @@ Vn = new WeakMap, Kn = new WeakMap, Gn = new WeakMap, qn = new WeakSet, Bn = fun
|
|
|
2452
2452
|
oe.style = Nn;
|
|
2453
2453
|
|
|
2454
2454
|
export { oe as gx_ide_start_page };
|
|
2455
|
-
//# sourceMappingURL=p-
|
|
2455
|
+
//# sourceMappingURL=p-ca47bb29.entry.js.map
|
|
@@ -2,7 +2,7 @@ import { h as l } from "./p-9b9ccd0c.js";
|
|
|
2
2
|
|
|
3
3
|
import { C as e, r as a, I as r } from "./p-2eae8843.js";
|
|
4
4
|
|
|
5
|
-
import { f as t } from "./p-
|
|
5
|
+
import { f as t } from "./p-4d330836.js";
|
|
6
6
|
|
|
7
7
|
import { h as s } from "./p-9663f418.js";
|
|
8
8
|
|
|
@@ -241,4 +241,4 @@ const renderTabularGridColumns = (e, a = false, r, t, s, o) => {
|
|
|
241
241
|
};
|
|
242
242
|
|
|
243
243
|
export { n as C, renderTabularGridRows as a, renderTabularGridColumns as r };
|
|
244
|
-
//# sourceMappingURL=p-
|
|
244
|
+
//# sourceMappingURL=p-e2b6d62b.js.map
|