@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.
Files changed (112) hide show
  1. package/dist/cjs/{common-9020d675.js → common-82ec668f.js} +1 -26
  2. package/dist/cjs/common-82ec668f.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-comments-viewer.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +2 -2
  7. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +2 -2
  8. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +2 -2
  12. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  13. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +1 -1
  14. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +2 -2
  16. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +604 -283
  18. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  19. package/dist/cjs/{helpers-b1b58657.js → helpers-bb6622f5.js} +1 -7
  20. package/dist/cjs/helpers-bb6622f5.js.map +1 -0
  21. package/dist/cjs/loader.cjs.js +1 -1
  22. package/dist/cjs/{tabular-grid-render-80aa5fd2.js → tabular-grid-render-96542933.js} +2 -2
  23. package/dist/cjs/{tabular-grid-render-80aa5fd2.js.map → tabular-grid-render-96542933.js.map} +1 -1
  24. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +11 -4
  25. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +11 -4
  26. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.zh.json +45 -38
  27. package/dist/collection/components/ww-images/helpers.js +14 -0
  28. package/dist/collection/components/ww-images/helpers.js.map +1 -0
  29. package/dist/collection/components/ww-images/ww-images.css +134 -247
  30. package/dist/collection/components/ww-images/ww-images.js +682 -490
  31. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  32. package/dist/components/common.js +1 -25
  33. package/dist/components/common.js.map +1 -1
  34. package/dist/components/gx-ide-ww-images.js +650 -303
  35. package/dist/components/gx-ide-ww-images.js.map +1 -1
  36. package/dist/components/helpers.js +1 -6
  37. package/dist/components/helpers.js.map +1 -1
  38. package/dist/esm/{common-074a209e.js → common-ceaf354a.js} +2 -26
  39. package/dist/esm/common-ceaf354a.js.map +1 -0
  40. package/dist/esm/genexus-ide-ui.js +1 -1
  41. package/dist/esm/gx-ide-comments-viewer.entry.js +1 -1
  42. package/dist/esm/gx-ide-manage-module-references.entry.js +1 -1
  43. package/dist/esm/gx-ide-new-environment.entry.js +2 -2
  44. package/dist/esm/gx-ide-new-kb.entry.js +2 -2
  45. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  46. package/dist/esm/gx-ide-splash.entry.js +1 -1
  47. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  48. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +2 -2
  49. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  50. package/dist/esm/gx-ide-team-dev-history.entry.js +1 -1
  51. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  52. package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
  53. package/dist/esm/gx-ide-ww-files.entry.js +1 -1
  54. package/dist/esm/gx-ide-ww-images.entry.js +605 -284
  55. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  56. package/dist/esm/{helpers-7800bea2.js → helpers-b443f9e9.js} +2 -7
  57. package/dist/esm/helpers-b443f9e9.js.map +1 -0
  58. package/dist/esm/loader.js +1 -1
  59. package/dist/esm/{tabular-grid-render-12c1cc4b.js → tabular-grid-render-adb3f7e5.js} +2 -2
  60. package/dist/esm/{tabular-grid-render-12c1cc4b.js.map → tabular-grid-render-adb3f7e5.js.map} +1 -1
  61. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  62. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  63. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +11 -4
  64. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +11 -4
  65. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.zh.json +45 -38
  66. package/dist/genexus-ide-ui/{p-dc399624.entry.js → p-1356ec09.entry.js} +3 -3
  67. package/dist/genexus-ide-ui/{p-c51f87fb.entry.js → p-18c3c961.entry.js} +2 -2
  68. package/dist/genexus-ide-ui/{p-c583252c.entry.js → p-1d3da80d.entry.js} +3 -3
  69. package/dist/genexus-ide-ui/{p-57c550b7.entry.js → p-21775439.entry.js} +2 -2
  70. package/dist/genexus-ide-ui/{p-d08fc16d.entry.js → p-27786355.entry.js} +6 -6
  71. package/dist/genexus-ide-ui/{p-c1f4458c.entry.js → p-2a59b523.entry.js} +2 -2
  72. package/dist/genexus-ide-ui/{p-5bab65ea.js → p-4d330836.js} +13 -19
  73. package/dist/genexus-ide-ui/p-4d330836.js.map +1 -0
  74. package/dist/genexus-ide-ui/p-520c3763.entry.js +936 -0
  75. package/dist/genexus-ide-ui/p-520c3763.entry.js.map +1 -0
  76. package/dist/genexus-ide-ui/{p-e5e38589.entry.js → p-5929f575.entry.js} +2 -2
  77. package/dist/genexus-ide-ui/{p-e8cd797d.entry.js → p-6b430ac1.entry.js} +3 -3
  78. package/dist/genexus-ide-ui/{p-70707166.entry.js → p-70cd77bc.entry.js} +3 -3
  79. package/dist/genexus-ide-ui/{p-401989bf.entry.js → p-750eb88a.entry.js} +2 -2
  80. package/dist/genexus-ide-ui/{p-ddfba1c8.entry.js → p-885e5d1c.entry.js} +2 -2
  81. package/dist/genexus-ide-ui/p-91e2ebb0.js +86 -0
  82. package/dist/genexus-ide-ui/p-91e2ebb0.js.map +1 -0
  83. package/dist/genexus-ide-ui/{p-2eec8e65.entry.js → p-b44a875d.entry.js} +3 -3
  84. package/dist/genexus-ide-ui/{p-532c2e0f.entry.js → p-ca47bb29.entry.js} +2 -2
  85. package/dist/genexus-ide-ui/{p-528ba8bb.js → p-e2b6d62b.js} +2 -2
  86. package/dist/types/components/ww-images/helpers.d.ts +3 -0
  87. package/dist/types/components/ww-images/ww-images.d.ts +116 -134
  88. package/dist/types/components.d.ts +31 -107
  89. package/package.json +1 -1
  90. package/dist/cjs/common-9020d675.js.map +0 -1
  91. package/dist/cjs/helpers-b1b58657.js.map +0 -1
  92. package/dist/esm/common-074a209e.js.map +0 -1
  93. package/dist/esm/helpers-7800bea2.js.map +0 -1
  94. package/dist/genexus-ide-ui/p-3f89ddf4.js +0 -133
  95. package/dist/genexus-ide-ui/p-3f89ddf4.js.map +0 -1
  96. package/dist/genexus-ide-ui/p-5bab65ea.js.map +0 -1
  97. package/dist/genexus-ide-ui/p-80c25124.entry.js +0 -610
  98. package/dist/genexus-ide-ui/p-80c25124.entry.js.map +0 -1
  99. /package/dist/genexus-ide-ui/{p-dc399624.entry.js.map → p-1356ec09.entry.js.map} +0 -0
  100. /package/dist/genexus-ide-ui/{p-c51f87fb.entry.js.map → p-18c3c961.entry.js.map} +0 -0
  101. /package/dist/genexus-ide-ui/{p-c583252c.entry.js.map → p-1d3da80d.entry.js.map} +0 -0
  102. /package/dist/genexus-ide-ui/{p-57c550b7.entry.js.map → p-21775439.entry.js.map} +0 -0
  103. /package/dist/genexus-ide-ui/{p-d08fc16d.entry.js.map → p-27786355.entry.js.map} +0 -0
  104. /package/dist/genexus-ide-ui/{p-c1f4458c.entry.js.map → p-2a59b523.entry.js.map} +0 -0
  105. /package/dist/genexus-ide-ui/{p-e5e38589.entry.js.map → p-5929f575.entry.js.map} +0 -0
  106. /package/dist/genexus-ide-ui/{p-e8cd797d.entry.js.map → p-6b430ac1.entry.js.map} +0 -0
  107. /package/dist/genexus-ide-ui/{p-70707166.entry.js.map → p-70cd77bc.entry.js.map} +0 -0
  108. /package/dist/genexus-ide-ui/{p-401989bf.entry.js.map → p-750eb88a.entry.js.map} +0 -0
  109. /package/dist/genexus-ide-ui/{p-ddfba1c8.entry.js.map → p-885e5d1c.entry.js.map} +0 -0
  110. /package/dist/genexus-ide-ui/{p-2eec8e65.entry.js.map → p-b44a875d.entry.js.map} +0 -0
  111. /package/dist/genexus-ide-ui/{p-532c2e0f.entry.js.map → p-ca47bb29.entry.js.map} +0 -0
  112. /package/dist/genexus-ide-ui/{p-528ba8bb.js.map → p-e2b6d62b.js.map} +0 -0
@@ -1,231 +1,240 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f)
3
+ throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
5
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
6
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
7
+ };
8
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
9
+ if (kind === "m")
10
+ throw new TypeError("Private method is not writable");
11
+ if (kind === "a" && !f)
12
+ throw new TypeError("Private accessor was defined without a setter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
14
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
+ };
17
+ var _GxIdeWWImages_instances, _GxIdeWWImages_componentLocale, _GxIdeWWImages_filterInitialData, _GxIdeWWImages_ACCORDION_MODEL, _GxIdeWWImages_ACCORDION_FILTER_ID, _GxIdeWWImages_imagesMap, _GxIdeWWImages_chGridEl, _GxIdeWWImages_filterModuleEl, _GxIdeWWImages_isInitialLoad, _GxIdeWWImages_deleteSelectionCallbackHandler, _GxIdeWWImages_deselectAll, _GxIdeWWImages_handleNameChange, _GxIdeWWImages_handleSearchContentsChange, _GxIdeWWImages_applyDefaultCategory, _GxIdeWWImages_handleCategoryChange, _GxIdeWWImages_handleAllDescendantsChange, _GxIdeWWImages_handleAfterTypeChange, _GxIdeWWImages_handleUserChange, _GxIdeWWImages_handleModifiedDateChange, _GxIdeWWImages_handleStyleChange, _GxIdeWWImages_handleLanguageChange, _GxIdeWWImages_handleDensityChange, _GxIdeWWImages_handleLayerChange, _GxIdeWWImages_handleModuleChange, _GxIdeWWImages_filterImagesInformationHandler, _GxIdeWWImages_getImages, _GxIdeWWImages_getToday, _GxIdeWWImages_addEventListeners, _GxIdeWWImages_getImageValue, _GxIdeWWImages_sortImages, _GxIdeWWImages_handleColumnSortChanged, _GxIdeWWImages_newObjectCallbackHandler, _GxIdeWWImages_openSelectionCallBackHandler, _GxIdeWWImages_toggleModifiedControls, _GxIdeWWImages_renderHeader, _GxIdeWWImages_renderFilter, _GxIdeWWImages_renderImages, _GxIdeWWImages_renderTabularGrid, _GxIdeWWImages_resetFilterHandler, _GxIdeWWImages_saveInitialFilterData, _GxIdeWWImages_selectAll;
18
+ /* eslint-disable @stencil-community/own-props-must-be-private */
1
19
  /* STENCIL IMPORTS */
2
20
  import { Host, h } from "@stencil/core";
21
+ import { getIconPath } from "@genexus/mercury";
3
22
  /* CUSTOM IMPORTS */
4
- import { Locale } from "../../common/locale";
5
- import { config } from "../../common/config";
6
- import { renderFormItems } from "../../common/common";
7
23
  import { FILTER_AFTER } from "../../common/constants";
8
- import { formatDate, hiChar, closeOnOutsideClickHandler } from "../../common/helpers";
24
+ import { config } from "../../common/config";
25
+ import { formatDate } from "../../common/helpers";
26
+ import { Locale } from "../../common/locale";
27
+ import { mapOptionsToComboBoxItemModel } from "./helpers";
9
28
  const CSS_BUNDLES = [
10
29
  "resets/box-sizing",
11
- // "utils/form",
12
- // "utils/layout",
13
- // "utils/typography",
14
- // "components/button",
15
- // "components/checkbox",
16
- // "components/edit",
17
- "components/tabular-grid"
30
+ "components/accordion",
31
+ "components/button",
32
+ "components/checkbox",
33
+ "components/combo-box",
34
+ "components/edit",
35
+ "components/icon",
36
+ "components/tabular-grid",
37
+ "components/sidebar",
38
+ "utils/form",
39
+ "utils/layout",
40
+ "utils/typography",
41
+ "utils/spacing",
42
+ "chameleon/scrollbar"
18
43
  ];
44
+ const ALL_DESCENDANTS_VALUE = "all-descendants";
45
+ const MODIFIED_VALUE = "modified";
46
+ let TODAY = null;
47
+ // icons
48
+ const RESET_ICON = getIconPath({
49
+ category: "gemini-tools",
50
+ name: "reset",
51
+ colorType: "interactive"
52
+ });
53
+ const SEARCH_ICON = getIconPath({
54
+ category: "gemini-tools",
55
+ name: "search",
56
+ colorType: "neutral"
57
+ });
58
+ const NOTICE_ICON = getIconPath({
59
+ category: "gemini-tools",
60
+ name: "notice",
61
+ colorType: "on-elevation"
62
+ });
19
63
  export class GxIdeWWImages {
20
64
  constructor() {
21
- this.renderedFirstTime = false;
22
- // 9.LOCAL METHODS //
23
- this.attachDetectClickOutsideFilter = () => {
24
- document.addEventListener("click", this.detectClickOutsideFilter);
25
- };
26
- this.removeDetectClickOutsideFilter = () => {
27
- document.removeEventListener("click", this.detectClickOutsideFilter);
28
- };
29
- this.detectClickOutsideFilter = (e) => {
30
- const clickedOutside = closeOnOutsideClickHandler(e, this.filterEl);
31
- if (clickedOutside) {
32
- this.filtersHidden = true;
33
- }
34
- else {
35
- this.filtersHidden = false;
36
- }
37
- };
65
+ _GxIdeWWImages_instances.add(this);
38
66
  /**
39
- * @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.
67
+ * The component hard-coded strings translations.
40
68
  */
41
- this.saveInitialFilterData = () => {
42
- this.filterInitialData = {
43
- name: this.filterNameEl.value,
44
- module: this.filterModuleEl.value,
45
- searchContents: this.filterSearchContentsEl.value,
46
- category: this.filterCategoryEl.value,
47
- allDescendants: this.filterAllDescendantsEl.checked,
48
- modified: this.filterModifiedEl.checked,
49
- dateTime: this.filterModifiedDateEl.value,
50
- after: this.filterAfterTypeEl.value,
51
- user: this.filterUserEl.value,
52
- style: this.filterStyleEl.value,
53
- language: this.filterLanguageEl.value,
54
- density: this.filterDensityEl.value,
55
- layer: this.filterLayerEl.value
56
- };
57
- };
58
- // 9.LOCAL METHODS -> Renders //
59
- this.renderFilter = () => {
60
- var _a, _b, _c, _d, _e;
61
- return (h("div", { class: "filter filter--padding", ref: (el) => (this.filterEl = el) }, h("div", { class: "filter__first-row" }, h("gxg-form-text", { "label-position": "above", label: this._componentLocale.filter.name, ref: (el) => (this.filterNameEl = el), part: "filter-name", class: "name" }), h("div", { class: "second-column" }, h("gx-ide-entity-selector", { "label-position": "above", value: this.defaultModule, defaultValue: this.defaultModule, selectEntityCallback: this.selectModuleCallback, ref: (el) => (this.filterModuleEl = el), class: "module-folder", part: "filter-module-folder" }), h("gxg-button", { onClick: this.resetFilterHandler, part: "gxg-button-reset-filter", type: "secondary-icon-only", icon: "gemini-tools/reset", class: "reset-filter-btn" }), h("gxg-button", { onClick: this.toggleFiltersHandler, part: "gxg-button gxg-button--more-less", type: "secondary-icon-only", icon: true ? "window-tools/filter-conditions" : "window-tools/filter", class: "filter-btn" }))), h("div", { class: {
62
- "filters-outer-wrapper": true,
63
- "filters-outer-wrapper--hidden": this.filtersHidden
64
- } }, h("div", { class: {
65
- "filter": true,
66
- "filter--gap": true,
67
- "filters-inner-wrapper": true
68
- } }, h("gxg-form-text", { "label-position": "above", label: this._componentLocale.filter.search, ref: (el) => (this.filterSearchContentsEl = el), class: { "search-contents": true }, part: "filter-search" }), h("gxg-combo-box", { "disable-filter": true, label: this._componentLocale.filter.category, value: this.defaultCategory, disabled: !this.categories, ref: (el) => (this.filterCategoryEl = el), class: "category", part: "filter-category" }, renderFormItems("gxg-combo-box-item", (_a = this.categories) !== null && _a !== void 0 ? _a : [])), h("div", { class: "options" }, h("gxg-label", { labelPosition: "above", center: false }, "Options:"), h("div", { class: "checkboxes-wrapper" }, h("gxg-form-checkbox", { label: this._componentLocale.filter.allDescendants, ref: (el) => (this.filterAllDescendantsEl =
69
- el), class: "all-descendants", part: "filter-all-descendants" }), h("gxg-form-checkbox", { label: this._componentLocale.filter.modified, ref: (el) => (this.filterModifiedEl = el), class: "modified", part: "filter-modified" }))), h("div", { class: {
70
- "hide": !this.filterModified ||
71
- this.filterAfterType !== FILTER_AFTER.DATE_TIME,
72
- "date-time": true
73
- }, part: "filter-datetime" }, h("div", { class: "date-time-wrapper" }, h("gxg-label", { "label-position": "above" }, this._componentLocale.filter.dateTime), h("gxg-date-picker", { class: "date-picker", disabled: !this.filterModified, ref: (el) => (this.filterModifiedDateEl = el) }))), h("gxg-combo-box", { class: "after-date-time", disabled: !this.filterModified, label: this._componentLocale.filter.afterLabel, "disable-filter": true, value: this.filterAfterType, ref: (el) => (this.filterAfterTypeEl = el), part: "filter-after-type" }, renderFormItems("gxg-combo-box-item", [
74
- {
75
- id: FILTER_AFTER.NONE,
76
- label: this._componentLocale.filter.afterNone,
77
- value: FILTER_AFTER.NONE
78
- },
79
- {
80
- id: FILTER_AFTER.DATE_TIME,
81
- label: this._componentLocale.filter[FILTER_AFTER.DATE_TIME],
82
- value: FILTER_AFTER.DATE_TIME
83
- },
84
- {
85
- id: FILTER_AFTER.IMPORT,
86
- label: this._componentLocale.filter[FILTER_AFTER.IMPORT],
87
- value: FILTER_AFTER.IMPORT
88
- },
89
- {
90
- id: FILTER_AFTER.LAST_BUILD,
91
- label: this._componentLocale.filter[FILTER_AFTER.LAST_BUILD],
92
- value: FILTER_AFTER.LAST_BUILD
69
+ _GxIdeWWImages_componentLocale.set(this, void 0);
70
+ _GxIdeWWImages_filterInitialData.set(this, void 0);
71
+ _GxIdeWWImages_ACCORDION_MODEL.set(this, []);
72
+ _GxIdeWWImages_ACCORDION_FILTER_ID.set(this, "advanced-filter");
73
+ _GxIdeWWImages_imagesMap.set(this, new Map());
74
+ _GxIdeWWImages_chGridEl.set(this, void 0);
75
+ // Only keep refs that are actually needed for operations (event listeners)
76
+ _GxIdeWWImages_filterModuleEl.set(this, void 0);
77
+ /**
78
+ * Flag to prevent triggering #getImages on initial load
79
+ */
80
+ _GxIdeWWImages_isInitialLoad.set(this, true);
81
+ _GxIdeWWImages_deleteSelectionCallbackHandler.set(this, () => {
82
+ this.deleteSelectionCallback(this.selectedObjectsIds);
83
+ });
84
+ _GxIdeWWImages_deselectAll.set(this, () => {
85
+ __classPrivateFieldGet(this, _GxIdeWWImages_chGridEl, "f").selectAllRows(false);
86
+ });
87
+ /**
88
+ * Individual handler functions for each filter control
89
+ */
90
+ _GxIdeWWImages_handleNameChange.set(this, (event) => {
91
+ this.filterNameValue = (event.detail ||
92
+ event.target.value);
93
+ });
94
+ _GxIdeWWImages_handleSearchContentsChange.set(this, (event) => {
95
+ this.filterSearchContentsValue = (event.detail ||
96
+ event.target.value);
97
+ });
98
+ _GxIdeWWImages_applyDefaultCategory.set(this, () => {
99
+ if (this.defaultCategory && this.categoriesComboBoxModel.length > 0) {
100
+ const categoryExists = this.categoriesComboBoxModel.some(item => item.value === this.defaultCategory);
101
+ if (categoryExists) {
102
+ this.filterCategoryValue = this.defaultCategory;
93
103
  }
94
- ])), h("gxg-form-text", { disabled: !this.filterModified, labelPosition: "above", label: this._componentLocale.filter.user, ref: (el) => (this.filterUserEl = el), value: "hey", centerLabel: false, class: "user", part: "filter-user" }), h("gxg-combo-box", { "disable-filter": true, label: this._componentLocale.filter.style, disabled: !this.styles, ref: (el) => (this.filterStyleEl = el), class: "style", part: "filter-style" }, renderFormItems("gxg-combo-box-item", (_b = this.styles) !== null && _b !== void 0 ? _b : [])), h("gxg-combo-box", { "disable-filter": true, label: this._componentLocale.filter.language, disabled: !this.languages, ref: (el) => (this.filterLanguageEl = el), class: "language", part: "filter-language" }, renderFormItems("gxg-combo-box-item", (_c = this.languages) !== null && _c !== void 0 ? _c : [])), h("gxg-combo-box", { "disable-filter": true, label: this._componentLocale.filter.density, disabled: !this.densities, ref: (el) => (this.filterDensityEl = el), class: "density", part: "filter-density" }, renderFormItems("gxg-combo-box-item", (_d = this.densities) !== null && _d !== void 0 ? _d : [])), h("gxg-combo-box", { "disable-filter": true, label: this._componentLocale.filter.layer, disabled: !this.layers, ref: (el) => (this.filterLayerEl = el), class: "layer", part: "filter-layer" }, renderFormItems("gxg-combo-box-item", (_e = this.layers) !== null && _e !== void 0 ? _e : []))))));
95
- };
96
- this.renderImagesData = () => {
97
- return (
98
- /* images information*/
99
- h("gx-ide-container", { contentBorderEnd: true, noContentPadding: true, class: { "images-information": true, "overflow-auto": true }, part: "grid-container" }, this.secondaryFilter ? (h("header", { class: "images-information__header", slot: "header" }, h("gxg-form-text", { icon: "gemini-tools/search", "icon-position": "start", placeholder: "Search by any field", onInput: this.filterInputHandler }))) : null, h("ch-tabular-grid", { ref: (el) => (this.chGridEl = el), part: "ch-grid-images", rowSelectionMode: "single", class: "tabular-grid tabular-grid-ww-images" }, h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { columnName: "", columnNameHidden: false, settingable: false, sortable: false, size: config.tabularGrid.colSize.maxContent, class: "tabular-grid-column" }), h("ch-tabular-grid-column", { columnName: this._componentLocale.tableHead.name, columnNameHidden: false, settingable: false, sortable: false, class: "tabular-grid-column", size: config.tabularGrid.colSize.common }), h("ch-tabular-grid-column", { columnName: this._componentLocale.tableHead.module, columnNameHidden: false, settingable: false, sortable: false, size: config.tabularGrid.colSize.common, class: "tabular-grid-column" }), h("ch-tabular-grid-column", { columnName: this._componentLocale.tableHead.description, columnNameHidden: false, settingable: false, sortable: false, size: config.tabularGrid.colSize.commonDouble, class: "tabular-grid-column" }), h("ch-tabular-grid-column", { columnName: this._componentLocale.tableHead.modifiedDate, columnNameHidden: false, settingable: false, sortable: false, size: config.tabularGrid.colSize.maxContent, class: "tabular-grid-column" }), h("ch-tabular-grid-column", { columnName: this._componentLocale.tableHead.lastUser, columnNameHidden: false, settingable: false, sortable: false, size: config.tabularGrid.colSize.maxContent, class: "tabular-grid-column" }), h("ch-tabular-grid-column", { columnName: this._componentLocale.tableHead.importDate, columnNameHidden: false, settingable: false, sortable: false, size: config.tabularGrid.colSize.maxContent, class: "tabular-grid-column" })), this.filteredImages.map((obj) => (h("ch-tabular-grid-row", { rowid: obj.id, class: "tabular-grid-row" }, h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, h("ch-image", { src: obj.icon })), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, hiChar(obj.name, this.filterImagesInputValue)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, hiChar(obj.module, this.filterImagesInputValue)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, hiChar(obj.description, this.filterImagesInputValue)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, hiChar(`${formatDate(obj.modifiedDate)}`, this.filterImagesInputValue)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, hiChar(obj.lastUser, this.filterImagesInputValue)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, hiChar(`${formatDate(obj.importDate)}`, this.filterImagesInputValue))))))));
100
- };
101
- this.renderImages = () => {
102
- return (
103
- /* tiles */
104
- h("gx-ide-container", { noContentPadding: true, class: "overflow-auto", titleHeightAsInput: this.secondaryFilter ? this._componentLocale.imagesDataTitle : null, part: "image-data-container" }, h("div", { class: "images-container" }, this.imagesSelectedItems.map(item => (h("div", { class: "image-item" }, h("div", { class: "image-item__container" }, h("div", { class: "img" }, h("img", { src: item.url, alt: item.id }))), h("span", { class: "image-item__name" }, item.name)))))));
105
- };
106
- // 9.LOCAL METHODS -> Other //
107
- this.getImages = () => {
108
- let filters = {
109
- name: this.filterNameEl.value,
110
- parent: this.filterModuleEl.value ? this.filterModuleEl.value.id : null
104
+ }
105
+ });
106
+ _GxIdeWWImages_handleCategoryChange.set(this, (event) => {
107
+ this.filterCategoryValue = event.detail;
108
+ });
109
+ _GxIdeWWImages_handleAllDescendantsChange.set(this, (event) => {
110
+ this.filterAllDescendantsValue = event.detail === ALL_DESCENDANTS_VALUE;
111
+ });
112
+ _GxIdeWWImages_handleAfterTypeChange.set(this, (event) => {
113
+ this.filterAfterTypeValue = event.detail;
114
+ this.afterCurrentValue = event.detail;
115
+ });
116
+ _GxIdeWWImages_handleUserChange.set(this, (event) => {
117
+ this.filterUserValue = (event.detail ||
118
+ event.target.value);
119
+ });
120
+ _GxIdeWWImages_handleModifiedDateChange.set(this, (event) => {
121
+ this.filterModifiedDateValue = event.target.value;
122
+ });
123
+ _GxIdeWWImages_handleStyleChange.set(this, (event) => {
124
+ this.filterStyleValue = event.detail;
125
+ });
126
+ _GxIdeWWImages_handleLanguageChange.set(this, (event) => {
127
+ this.filterLanguageValue = event.detail;
128
+ });
129
+ _GxIdeWWImages_handleDensityChange.set(this, (event) => {
130
+ this.filterDensityValue = event.detail;
131
+ });
132
+ _GxIdeWWImages_handleLayerChange.set(this, (event) => {
133
+ this.filterLayerValue = event.detail;
134
+ });
135
+ _GxIdeWWImages_handleModuleChange.set(this, () => {
136
+ // Module change is handled via event listener, but we update state
137
+ if (__classPrivateFieldGet(this, _GxIdeWWImages_filterModuleEl, "f")) {
138
+ this.filterModuleValue = __classPrivateFieldGet(this, _GxIdeWWImages_filterModuleEl, "f").value;
139
+ }
140
+ });
141
+ _GxIdeWWImages_filterImagesInformationHandler.set(this, () => {
142
+ // Copy images from server to tabularGridData (will be sorted before rendering)
143
+ this.tabularGridData = [...this.images];
144
+ });
145
+ _GxIdeWWImages_getImages.set(this, () => {
146
+ __classPrivateFieldGet(this, _GxIdeWWImages_imagesMap, "f").clear();
147
+ const filters = {
148
+ name: this.filterNameValue,
149
+ searchContents: this.filterSearchContentsValue,
150
+ category: this.filterCategoryValue,
151
+ parent: this.filterModuleValue ? this.filterModuleValue.id : null,
152
+ allDescendants: this.filterAllDescendantsValue,
153
+ modifiedAfter: this.filterAfterTypeValue,
154
+ modifiedBy: this.filterUserValue,
155
+ modifiedDate: this.filterModifiedDateValue
156
+ ? new Date(this.filterModifiedDateValue)
157
+ : undefined,
158
+ style: this.filterStyleValue,
159
+ language: this.filterLanguageValue,
160
+ density: this.filterDensityValue,
161
+ layer: this.filterLayerValue
111
162
  };
112
- const modified = this.filterModifiedEl.checked;
113
- const modifiedAfter = this.filterAfterTypeEl.value;
114
- filters = Object.assign(Object.assign({}, filters), { searchContents: this.filterSearchContentsEl.value, category: this.filterCategoryEl.value, allDescendants: this.filterAllDescendantsEl.checked, modifiedAfter: modified ? modifiedAfter : null, modifiedBy: modified ? this.filterUserEl.value : null, modifiedDate: modified && modifiedAfter === FILTER_AFTER.DATE_TIME
115
- ? this.filterModifiedDateEl.value
116
- : null, style: this.filterStyleEl.value, language: this.filterLanguageEl.value, density: this.filterDensityEl.value, layer: this.filterLayerEl.value });
117
163
  this.loadCallback(filters).then((items) => {
118
164
  this.images = items;
119
165
  this.selectedObjectsIds = [];
120
- this.deselectAll();
121
- this.filterImagesInformationHandler();
122
- });
123
- };
124
- this.newObjectCallbackHandler = () => {
125
- this.newObjectCallback();
126
- };
127
- this.openSelectionCallBackHandler = () => {
128
- this.openSelectionCallback(this.selectedObjectsIds);
129
- };
130
- this.deleteSelectionCallbackHandler = () => {
131
- this.deleteSelectionCallback(this.selectedObjectsIds);
132
- };
133
- this.resetFilterHandler = () => {
134
- if (this.filterInitialData) {
135
- this.filterNameEl.value = this.filterInitialData.name;
136
- this.filterModuleEl.value = this.filterInitialData.module;
137
- this.filterSearchContentsEl.value = this.filterInitialData.searchContents;
138
- this.filterCategoryEl.value = this.filterInitialData.category;
139
- this.filterAllDescendantsEl.checked =
140
- this.filterInitialData.allDescendants;
141
- this.filterModifiedEl.checked = this.filterInitialData.modified;
142
- this.filterModifiedDateEl.value = this.filterInitialData.dateTime;
143
- this.filterAfterTypeEl.value = this.filterInitialData.after;
144
- this.filterUserEl.value = this.filterInitialData.user;
145
- this.filterStyleEl.value = this.filterInitialData.style;
146
- this.filterLanguageEl.value = this.filterInitialData.language;
147
- this.filterDensityEl.value = this.filterInitialData.density;
148
- this.filterLayerEl.value = this.filterInitialData.layer;
149
- }
150
- };
151
- this.toggleFiltersHandler = () => {
152
- this.filtersHidden = !this.filtersHidden;
153
- };
154
- this.selectAll = () => {
155
- this.chGridEl.selectAllRows();
156
- };
157
- this.deselectAll = () => {
158
- this.chGridEl.selectAllRows(false);
159
- };
160
- this.listenChanges = () => {
161
- /* name */
162
- this.filterNameEl.addEventListener("change", () => {
163
- this.getImages();
166
+ __classPrivateFieldGet(this, _GxIdeWWImages_deselectAll, "f").call(this);
167
+ __classPrivateFieldGet(this, _GxIdeWWImages_filterImagesInformationHandler, "f").call(this);
164
168
  });
169
+ });
170
+ _GxIdeWWImages_getToday.set(this, () => {
171
+ const now = new Date();
172
+ const date = now.toISOString().split("T")[0];
173
+ const time = now.toISOString().split("T")[1].slice(0, 5); // Only take 'HH:MM' part
174
+ return `${date}T${time}`;
175
+ });
176
+ _GxIdeWWImages_addEventListeners.set(this, () => {
165
177
  /* module/folder */
166
- this.filterModuleEl.addEventListener("valueChanged", () => {
167
- this.getImages();
168
- });
169
- /* search contents*/
170
- this.filterSearchContentsEl.addEventListener("change", () => {
171
- this.getImages();
172
- });
173
- /* category */
174
- this.filterCategoryEl.addEventListener("valueChanged", () => {
175
- this.getImages();
176
- });
177
- /* (options) -> all descendants */
178
- this.filterAllDescendantsEl.addEventListener("change", () => {
179
- this.getImages();
180
- });
181
- /* (options) -> modified */
182
- this.filterModifiedEl.addEventListener("change", (e) => {
183
- this.filterModified = e.detail.value;
184
- this.getImages();
185
- });
186
- /* date/time */
187
- this.filterModifiedDateEl.addEventListener("valueChanged", () => {
188
- this.getImages();
189
- });
190
- /* after */
191
- this.filterAfterTypeEl.addEventListener("valueChanged", () => {
192
- this.filterAfterType = this.filterAfterTypeEl.value;
193
- this.getImages();
194
- });
195
- /* user */
196
- this.filterUserEl.addEventListener("change", () => {
197
- this.getImages();
198
- });
199
- /* style */
200
- this.filterStyleEl.addEventListener("valueChanged", () => {
201
- this.getImages();
202
- });
203
- /* language */
204
- this.filterLanguageEl.addEventListener("valueChanged", () => {
205
- this.getImages();
206
- });
207
- /* density */
208
- this.filterDensityEl.addEventListener("valueChanged", () => {
209
- this.getImages();
210
- });
211
- /* layer */
212
- this.filterLayerEl.addEventListener("valueChanged", () => {
213
- this.getImages();
178
+ __classPrivateFieldGet(this, _GxIdeWWImages_filterModuleEl, "f").addEventListener("valueChanged", () => {
179
+ __classPrivateFieldGet(this, _GxIdeWWImages_handleModuleChange, "f").call(this);
214
180
  });
215
181
  // for grid selection
216
- this.chGridEl.addEventListener("selectionChanged", (ev) => {
217
- this.loadImageItemsCallback(ev.detail.rowsId[0]).then((items) => {
218
- this.imagesSelectedItems = items;
219
- });
220
- });
221
- this.chGridEl.addEventListener("rowDoubleClicked", () => {
222
- this.openSelectionCallBackHandler();
223
- });
224
- this.chGridEl.addEventListener("selectionChanged", (ev) => {
182
+ __classPrivateFieldGet(this, _GxIdeWWImages_chGridEl, "f").addEventListener("selectionChanged", (ev) => {
225
183
  this.selectedObjectsIds = ev.detail.rowsId;
226
184
  this.selectionObjectChangedCallback(this.selectedObjectsIds);
185
+ if (this.selectedObjectsIds.length === 0) {
186
+ this.imagesSelectedItems = [];
187
+ return;
188
+ }
189
+ // Collect cached items immediately
190
+ const cachedItems = [];
191
+ const idsToLoad = [];
192
+ this.selectedObjectsIds.forEach((selectedId) => {
193
+ if (__classPrivateFieldGet(this, _GxIdeWWImages_imagesMap, "f").has(selectedId)) {
194
+ const items = __classPrivateFieldGet(this, _GxIdeWWImages_imagesMap, "f").get(selectedId);
195
+ if (items) {
196
+ cachedItems.push(...items);
197
+ }
198
+ }
199
+ else {
200
+ idsToLoad.push(selectedId);
201
+ }
202
+ });
203
+ // If all items were cached, update immediately
204
+ if (idsToLoad.length === 0) {
205
+ this.imagesSelectedItems = cachedItems;
206
+ return;
207
+ }
208
+ // Store current selection to verify later (prevents race conditions)
209
+ const currentSelection = [...this.selectedObjectsIds].sort().join(",");
210
+ // Load missing items and combine with cached ones
211
+ // loadImageItemsCallback must be invoked the first time a user selects an image
212
+ const loadPromises = idsToLoad.map((selectedId) => this.loadImageItemsCallback(selectedId).then((items) => {
213
+ // Cache the items for future use
214
+ __classPrivateFieldGet(this, _GxIdeWWImages_imagesMap, "f").set(selectedId, items);
215
+ return items;
216
+ }));
217
+ Promise.all(loadPromises).then((loadedItemsArrays) => {
218
+ // Verify that selection hasn't changed while loading
219
+ const currentSelectionAfterLoad = [...this.selectedObjectsIds]
220
+ .sort()
221
+ .join(",");
222
+ if (currentSelection !== currentSelectionAfterLoad) {
223
+ // Selection changed, ignore this result
224
+ return;
225
+ }
226
+ // Combine cached items with newly loaded items
227
+ const allImageItems = [...cachedItems];
228
+ loadedItemsArrays.forEach(items => {
229
+ allImageItems.push(...items);
230
+ });
231
+ this.imagesSelectedItems = allImageItems;
232
+ });
227
233
  });
228
- this.chGridEl.addEventListener("rowContextMenu", (ev) => {
234
+ __classPrivateFieldGet(this, _GxIdeWWImages_chGridEl, "f").addEventListener("rowDoubleClicked", () => {
235
+ __classPrivateFieldGet(this, _GxIdeWWImages_openSelectionCallBackHandler, "f").call(this);
236
+ });
237
+ __classPrivateFieldGet(this, _GxIdeWWImages_chGridEl, "f").addEventListener("rowContextMenu", (ev) => {
229
238
  ev.preventDefault();
230
239
  ev.stopPropagation();
231
240
  this.contextMenuCallback({
@@ -234,119 +243,377 @@ export class GxIdeWWImages {
234
243
  clientY: ev.detail.clientY
235
244
  });
236
245
  });
237
- };
238
- this.filterInputHandler = (e) => {
239
- this.filterImagesInputValue = e.detail;
240
- this.filterImagesInformationHandler();
241
- };
242
- this.filterImagesInformationHandler = () => {
243
- const filterValue = this.filterImagesInputValue.toLocaleLowerCase();
244
- this.filteredImages = this.images.filter(image => {
245
- const nameMatch = image.name.toLocaleLowerCase().includes(filterValue);
246
- const moduleMatch = image.module
247
- .toLocaleLowerCase()
248
- .includes(filterValue);
249
- const descriptionMatch = image.description
250
- .toLocaleLowerCase()
251
- .includes(filterValue);
252
- const modifiedDateMatch = image.modifiedDate
253
- .toString()
254
- .includes(filterValue);
255
- const lastUser = image.lastUser.toLocaleLowerCase().includes(filterValue);
256
- const importDateMatch = image.importDate && image.importDate.toString().includes(filterValue);
257
- return (nameMatch ||
258
- moduleMatch ||
259
- descriptionMatch ||
260
- modifiedDateMatch ||
261
- lastUser ||
262
- importDateMatch);
263
- });
264
- };
265
- this.filtersHidden = true;
266
- this.filterAfterType = "";
267
- this.filterModified = false;
246
+ });
247
+ /**
248
+ * Sorts images based on the current order criteria
249
+ */
250
+ _GxIdeWWImages_sortImages.set(this, (a, b) => {
251
+ if (this.order.orderCriteria) {
252
+ const valueA = __classPrivateFieldGet(this, _GxIdeWWImages_instances, "m", _GxIdeWWImages_getImageValue).call(this, a, this.order.orderCriteria).toUpperCase();
253
+ const valueB = __classPrivateFieldGet(this, _GxIdeWWImages_instances, "m", _GxIdeWWImages_getImageValue).call(this, b, this.order.orderCriteria).toUpperCase();
254
+ if (valueA < valueB) {
255
+ return this.order.ascending ? -1 : 1;
256
+ }
257
+ if (valueA > valueB) {
258
+ return this.order.ascending ? 1 : -1;
259
+ }
260
+ }
261
+ return 0;
262
+ });
263
+ /**
264
+ * Handles column sort changes
265
+ */
266
+ _GxIdeWWImages_handleColumnSortChanged.set(this, (e) => {
267
+ const { columnId, sortDirection } = e.detail;
268
+ this.order = {
269
+ orderCriteria: columnId,
270
+ ascending: sortDirection === "asc"
271
+ };
272
+ });
273
+ _GxIdeWWImages_newObjectCallbackHandler.set(this, () => {
274
+ this.newObjectCallback();
275
+ });
276
+ _GxIdeWWImages_openSelectionCallBackHandler.set(this, () => {
277
+ this.openSelectionCallback(this.selectedObjectsIds);
278
+ });
279
+ _GxIdeWWImages_toggleModifiedControls.set(this, (event) => {
280
+ this.enabledModifiedControls = event.detail === MODIFIED_VALUE;
281
+ });
282
+ _GxIdeWWImages_renderHeader.set(this, () => {
283
+ return [
284
+ h("div", {
285
+ // name
286
+ class: "field field-block name"
287
+ }, h("label", { class: "label", htmlFor: "filter-name" }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.name), h("ch-edit", { id: "filter-name", class: "input", autoFocus: true, value: this.filterNameValue, debounce: config.inputDebounce, onInput: __classPrivateFieldGet(this, _GxIdeWWImages_handleNameChange, "f") })),
288
+ h("div", { class: "field field-block module-folder" }, h("label", { class: "label", htmlFor: "module-folder" }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.moduleFolder), h("gx-ide-entity-selector", {
289
+ // module/folder
290
+ id: "module/folder", labelPosition: "none", value: this.filterModuleValue, defaultValue: this.defaultModule, selectEntityCallback: this.selectModuleCallback, ref: (el) => (__classPrivateFieldSet(this, _GxIdeWWImages_filterModuleEl, el, "f"))
291
+ })),
292
+ h("ch-accordion-render", {
293
+ // modified
294
+ class: "accordion-outlined advanced-filter-accordion", model: __classPrivateFieldGet(this, _GxIdeWWImages_ACCORDION_MODEL, "f")
295
+ }, h("div", { slot: __classPrivateFieldGet(this, _GxIdeWWImages_ACCORDION_FILTER_ID, "f"), class: "spacing-body" }, h("div", { class: "main__filter field-group scrollable" }, h("div", {
296
+ // category
297
+ class: "field field-block category"
298
+ }, h("label", { class: "label", htmlFor: "filter-category" }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.category), h("ch-combo-box-render", { id: "filter-category", class: "combo-box", value: this.filterCategoryValue, disabled: !this.categories, model: this.categoriesComboBoxModel, onInput: __classPrivateFieldGet(this, _GxIdeWWImages_handleCategoryChange, "f") })), h("div", {
299
+ // category
300
+ class: "field-group options"
301
+ }, h("label", { class: "label", htmlFor: "filter-category" }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.options), h("div", {
302
+ // options
303
+ class: "field field-inline"
304
+ }, h("ch-checkbox", { class: "checkbox all-descendants", caption: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.allDescendants, checkedValue: ALL_DESCENDANTS_VALUE, value: this.filterAllDescendantsValue
305
+ ? ALL_DESCENDANTS_VALUE
306
+ : undefined, onInput: __classPrivateFieldGet(this, _GxIdeWWImages_handleAllDescendantsChange, "f") }), h("ch-checkbox", { class: "checkbox modified", caption: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.modified, checkedValue: MODIFIED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeWWImages_toggleModifiedControls, "f") }))), h("div", {
307
+ // after
308
+ class: "field field-block after-date-time"
309
+ }, h("label", { class: {
310
+ "label": true,
311
+ "label--disabled": !this.enabledModifiedControls
312
+ }, htmlFor: "filter-after-type" }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.afterLabel), h("ch-combo-box-render", { id: "filter-after-type", class: "combo-box", value: this.filterAfterTypeValue, disabled: !this.enabledModifiedControls, model: this.filterAfterOptions, onInput: __classPrivateFieldGet(this, _GxIdeWWImages_handleAfterTypeChange, "f") })), h("div", {
313
+ // user
314
+ class: "field field-block user"
315
+ }, h("label", { class: {
316
+ "label": true,
317
+ "label--disabled": !this.enabledModifiedControls
318
+ }, htmlFor: "filter-user" }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.user), h("ch-edit", { id: "filter-user", value: this.filterUserValue, class: "input", disabled: !this.enabledModifiedControls, debounce: config.inputDebounce, onInput: __classPrivateFieldGet(this, _GxIdeWWImages_handleUserChange, "f") })), h("div", {
319
+ // date/time
320
+ class: "field field-block date-time"
321
+ }, h("label", { class: {
322
+ "label": true,
323
+ "label--disabled": this.afterCurrentValue !== FILTER_AFTER.DATE_TIME
324
+ }, htmlFor: "modified-date" }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.dateTime), h("input", { type: "datetime-local", class: "input ", id: "modified-date", name: "modifiedDate", value: this.filterModifiedDateValue, max: TODAY, disabled: this.afterCurrentValue !== FILTER_AFTER.DATE_TIME, onInput: __classPrivateFieldGet(this, _GxIdeWWImages_handleModifiedDateChange, "f") })), h("div", {
325
+ // style
326
+ class: "field field-block style"
327
+ }, h("label", { class: "label", htmlFor: "filter-style" }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.style), h("ch-combo-box-render", { id: "filter-style", class: "combo-box", value: this.filterStyleValue, disabled: !this.styles, model: this.stylesComboBoxModel, onInput: __classPrivateFieldGet(this, _GxIdeWWImages_handleStyleChange, "f") })), h("div", {
328
+ // language
329
+ class: "field field-block language"
330
+ }, h("label", { class: "label", htmlFor: "filter-language" }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.language), h("ch-combo-box-render", { id: "filter-language", class: "combo-box", value: this.filterLanguageValue, disabled: !this.languages, model: this.languagesComboBoxModel, onInput: __classPrivateFieldGet(this, _GxIdeWWImages_handleLanguageChange, "f") })), h("div", {
331
+ // density
332
+ class: "field field-block"
333
+ }, h("label", { class: "label", htmlFor: "filter-density" }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.density), h("ch-combo-box-render", { id: "filter-density", class: "combo-box", value: this.filterDensityValue, disabled: !this.densities, model: this.densitiesComboBoxModel, onInput: __classPrivateFieldGet(this, _GxIdeWWImages_handleDensityChange, "f") })), h("div", {
334
+ // layer
335
+ class: "field field-block"
336
+ }, h("label", { class: "label", htmlFor: "filter-layer" }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.layer), h("ch-combo-box-render", { id: "filter-layer", class: "combo-box", value: this.filterLayerValue, disabled: !this.layers, model: this.layersComboBoxModel, onInput: __classPrivateFieldGet(this, _GxIdeWWImages_handleLayerChange, "f") })), h("div", {
337
+ // search contents
338
+ class: "field field-block search-by-contents"
339
+ }, h("label", { class: "label", htmlFor: "search-input" }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.search), h("ch-edit", { id: "search-input", debounce: config.inputDebounce, class: "input", value: this.filterSearchContentsValue, placeholder: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.searchContentsPlaceholder, onInput: __classPrivateFieldGet(this, _GxIdeWWImages_handleSearchContentsChange, "f"), startImgSrc: SEARCH_ICON, type: "search" })), h("button", {
340
+ // reset filter button
341
+ class: "button-secondary button-icon-and-text button-reset", onClick: __classPrivateFieldGet(this, _GxIdeWWImages_resetFilterHandler, "f")
342
+ }, h("ch-image", { class: "icon-sm", src: RESET_ICON, type: "mask" }), __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.resetFilters))))
343
+ ];
344
+ });
345
+ _GxIdeWWImages_renderFilter.set(this, () => {
346
+ return (h("div", { class: "sidebar-container scrollable" }, __classPrivateFieldGet(this, _GxIdeWWImages_renderImages, "f").call(this)));
347
+ });
348
+ _GxIdeWWImages_renderImages.set(this, () => {
349
+ return (
350
+ /* tiles */
351
+ h("div", { class: "main__images-container spacing-body-inline" }, this.imagesSelectedItems.map(item => (h("figure", { class: "figure" }, h("picture", { class: "figure__picture" }, h("img", { class: "figure__img", src: item.url, alt: item.name })), h("figcaption", { class: "figure__figcaption" }, item.name))))));
352
+ });
353
+ _GxIdeWWImages_renderTabularGrid.set(this, () => {
354
+ const commonColSize = "minmax(max-content, auto)";
355
+ return (h("div", { class: {
356
+ "field-group": true,
357
+ "main__grid": true
358
+ } }, h("ch-tabular-grid", { ref: (el) => (__classPrivateFieldSet(this, _GxIdeWWImages_chGridEl, el, "f")), rowSelectionMode: "multiple", class: "tabular-grid tabular-grid-ww-images", columnResizeMode: "splitter" }, h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { columnId: "icon", columnName: "", settingable: false, size: config.tabularGrid.colSize.maxContent, class: "tabular-grid-column", resizable: true, sortable: false }), h("ch-tabular-grid-column", { columnId: "name", columnName: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").tableHead.name, settingable: false, class: "tabular-grid-column", "column-name-position": "text", size: commonColSize, resizable: true, sortable: true, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeWWImages_handleColumnSortChanged, "f") }), h("ch-tabular-grid-column", { columnId: "module", columnName: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").tableHead.module, settingable: false, size: commonColSize, class: "tabular-grid-column", resizable: true, sortable: true, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeWWImages_handleColumnSortChanged, "f") }), h("ch-tabular-grid-column", { columnId: "description", columnName: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").tableHead.description, settingable: false, size: "minmax(300px, 1fr)", class: "tabular-grid-column", resizable: false, sortable: false }), h("ch-tabular-grid-column", { columnId: "modifiedDate", columnName: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").tableHead.modifiedDate, settingable: false, size: commonColSize, class: "tabular-grid-column", resizable: true, sortable: true, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeWWImages_handleColumnSortChanged, "f") }), h("ch-tabular-grid-column", { columnId: "lastUser", columnName: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").tableHead.lastUser, settingable: false, size: commonColSize, class: "tabular-grid-column", resizable: true, sortable: true, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeWWImages_handleColumnSortChanged, "f") }), h("ch-tabular-grid-column", { columnId: "importDate", columnName: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").tableHead.importDate, settingable: false, size: commonColSize, class: "tabular-grid-column", resizable: true, sortable: true, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeWWImages_handleColumnSortChanged, "f") })), this.tabularGridData.length ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, [...this.tabularGridData]
359
+ .sort(__classPrivateFieldGet(this, _GxIdeWWImages_sortImages, "f"))
360
+ .map((obj) => (h("ch-tabular-grid-row", { rowid: obj.id, class: "tabular-grid-row" }, h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, h("ch-image", { src: obj.icon })), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.name), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.module), h("ch-tabular-grid-cell", { class: "tabular-grid-cell tabular-grid-cell-description" }, obj.description), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, formatDate(obj.modifiedDate)), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.lastUser), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, formatDate(obj.importDate))))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", null, h("gx-ide-empty-state", { isAnimated: false, stateIconSrc: NOTICE_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").emptyState.title, key: "no-images-empty-state" })))))));
361
+ });
362
+ _GxIdeWWImages_resetFilterHandler.set(this, () => {
363
+ if (__classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f")) {
364
+ this.filterNameValue = __classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f").name;
365
+ this.filterModuleValue = __classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f").module;
366
+ this.filterSearchContentsValue = __classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f").searchContents;
367
+ this.filterCategoryValue = __classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f").category;
368
+ this.filterAllDescendantsValue =
369
+ __classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f").allDescendants === ALL_DESCENDANTS_VALUE;
370
+ this.filterAfterTypeValue = __classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f").modifiedAfter;
371
+ this.filterModifiedDateValue = __classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f").modifiedDateTime;
372
+ this.filterUserValue = __classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f").modifiedUser;
373
+ this.filterStyleValue = __classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f").style;
374
+ this.filterLanguageValue = __classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f").language;
375
+ this.filterDensityValue = __classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f").density;
376
+ this.filterLayerValue = __classPrivateFieldGet(this, _GxIdeWWImages_filterInitialData, "f").layer;
377
+ this.afterCurrentValue = this.filterAfterTypeValue;
378
+ }
379
+ });
380
+ _GxIdeWWImages_saveInitialFilterData.set(this, () => {
381
+ __classPrivateFieldSet(this, _GxIdeWWImages_filterInitialData, {
382
+ name: this.filterNameValue,
383
+ module: this.filterModuleValue,
384
+ searchContents: this.filterSearchContentsValue,
385
+ category: this.filterCategoryValue,
386
+ allDescendants: this.filterAllDescendantsValue
387
+ ? ALL_DESCENDANTS_VALUE
388
+ : "",
389
+ modifiedAfter: this.filterAfterTypeValue,
390
+ modifiedDateTime: this.filterModifiedDateValue,
391
+ modifiedUser: this.filterUserValue,
392
+ style: this.filterStyleValue,
393
+ language: this.filterLanguageValue,
394
+ density: this.filterDensityValue,
395
+ layer: this.filterLayerValue
396
+ }, "f");
397
+ });
398
+ _GxIdeWWImages_selectAll.set(this, () => {
399
+ __classPrivateFieldGet(this, _GxIdeWWImages_chGridEl, "f").selectAllRows();
400
+ });
401
+ this.categoriesComboBoxModel = [];
402
+ this.densitiesComboBoxModel = [];
403
+ this.languagesComboBoxModel = [];
404
+ this.layersComboBoxModel = [];
405
+ this.stylesComboBoxModel = [];
406
+ this.afterCurrentValue = undefined;
407
+ this.filterAfterOptions = undefined;
408
+ this.tabularGridData = [];
268
409
  this.images = [];
269
- this.filteredImages = [];
270
410
  this.imagesSelectedItems = [];
271
411
  this.selectedObjectsIds = [];
272
- this.filterImagesInputValue = "";
273
- this.displayTitle = false;
274
- this.secondaryFilter = false;
412
+ this.enabledModifiedControls = false;
413
+ this.order = {
414
+ orderCriteria: null,
415
+ ascending: null
416
+ };
417
+ this.filterNameValue = "";
418
+ this.filterSearchContentsValue = "";
419
+ this.filterCategoryValue = undefined;
420
+ this.filterAllDescendantsValue = false;
421
+ this.filterAfterTypeValue = undefined;
422
+ this.filterUserValue = "";
423
+ this.filterModifiedDateValue = "";
424
+ this.filterStyleValue = undefined;
425
+ this.filterLanguageValue = undefined;
426
+ this.filterDensityValue = undefined;
427
+ this.filterLayerValue = undefined;
428
+ this.filterModuleValue = undefined;
275
429
  this.categories = undefined;
276
- this.densities = undefined;
430
+ this.contextMenuCallback = undefined;
277
431
  this.defaultCategory = undefined;
278
432
  this.defaultModule = undefined;
279
- this.defaultType = undefined;
280
- this.filterModules = undefined;
433
+ this.deleteSelectionCallback = undefined;
434
+ this.densities = undefined;
281
435
  this.languages = undefined;
282
436
  this.layers = undefined;
283
- this.contextMenuCallback = undefined;
284
- this.deleteSelectionCallback = undefined;
285
437
  this.loadCallback = undefined;
286
438
  this.loadImageItemsCallback = undefined;
287
439
  this.newObjectCallback = undefined;
288
440
  this.openSelectionCallback = undefined;
289
441
  this.selectModuleCallback = undefined;
290
442
  this.selectionObjectChangedCallback = undefined;
291
- this.shadow = false;
292
443
  this.styles = undefined;
293
- this.types = undefined;
294
444
  }
295
- filtersHiddenHandler(hidden) {
296
- if (hidden) {
297
- this.removeDetectClickOutsideFilter();
298
- }
299
- else {
300
- this.attachDetectClickOutsideFilter();
301
- }
445
+ categoriesChanged(newCategories) {
446
+ this.categoriesComboBoxModel = mapOptionsToComboBoxItemModel(newCategories);
447
+ __classPrivateFieldGet(this, _GxIdeWWImages_applyDefaultCategory, "f").call(this);
302
448
  }
303
- // 6.COMPONENT LIFECYCLE EVENTS //
304
- async componentWillLoad() {
305
- this._componentLocale = await Locale.getComponentStrings(this.el);
306
- this.componentDidLoadEvent.emit(true);
449
+ defaultCategoryChanged() {
450
+ __classPrivateFieldGet(this, _GxIdeWWImages_applyDefaultCategory, "f").call(this);
451
+ }
452
+ densitiesChanged(newDensities) {
453
+ this.densitiesComboBoxModel = mapOptionsToComboBoxItemModel(newDensities);
454
+ }
455
+ languagesChanged(newLanguages) {
456
+ this.languagesComboBoxModel = mapOptionsToComboBoxItemModel(newLanguages);
457
+ }
458
+ layersChanged(newLayers) {
459
+ this.layersComboBoxModel = mapOptionsToComboBoxItemModel(newLayers);
460
+ }
461
+ stylesChanged(newStyles) {
462
+ this.stylesComboBoxModel = mapOptionsToComboBoxItemModel(newStyles);
463
+ }
464
+ async connectedCallback() {
465
+ TODAY = __classPrivateFieldGet(this, _GxIdeWWImages_getToday, "f").call(this);
307
466
  }
308
467
  componentDidLoad() {
309
- this.listenChanges();
310
- this.getImages();
311
- this.saveInitialFilterData();
312
- this.filterNameEl.focus();
313
- }
314
- componentDidRender() {
315
- if (!this.renderedFirstTime) {
316
- this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
317
- this.renderedFirstTime = true;
468
+ __classPrivateFieldGet(this, _GxIdeWWImages_addEventListeners, "f").call(this);
469
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
470
+ __classPrivateFieldGet(this, _GxIdeWWImages_saveInitialFilterData, "f").call(this);
471
+ __classPrivateFieldSet(this, _GxIdeWWImages_isInitialLoad, false, "f");
472
+ }
473
+ async componentWillLoad() {
474
+ __classPrivateFieldSet(this, _GxIdeWWImages_componentLocale, await Locale.getComponentStrings(this.el), "f");
475
+ // initialize combo-box models
476
+ this.categoriesChanged(this.categories);
477
+ this.densitiesChanged(this.densities);
478
+ this.languagesChanged(this.languages);
479
+ this.layersChanged(this.layers);
480
+ this.stylesChanged(this.styles);
481
+ // initialize "After" combo-box options
482
+ this.filterAfterOptions = [
483
+ {
484
+ caption: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.afterNone,
485
+ value: FILTER_AFTER.NONE
486
+ },
487
+ {
488
+ caption: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter[FILTER_AFTER.DATE_TIME],
489
+ value: FILTER_AFTER.DATE_TIME
490
+ },
491
+ {
492
+ caption: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter[FILTER_AFTER.IMPORT],
493
+ value: FILTER_AFTER.IMPORT
494
+ },
495
+ {
496
+ caption: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter[FILTER_AFTER.LAST_BUILD],
497
+ value: FILTER_AFTER.LAST_BUILD
498
+ }
499
+ ];
500
+ this.afterCurrentValue = this.filterAfterOptions[0].value;
501
+ this.filterAfterTypeValue = this.filterAfterOptions[0].value;
502
+ // Initialize filter state values
503
+ __classPrivateFieldGet(this, _GxIdeWWImages_applyDefaultCategory, "f").call(this);
504
+ this.filterModuleValue = this.defaultModule;
505
+ if (this.stylesComboBoxModel.length > 0) {
506
+ this.filterStyleValue = this.stylesComboBoxModel[0].value;
507
+ }
508
+ if (this.languagesComboBoxModel.length > 0) {
509
+ this.filterLanguageValue = this.languagesComboBoxModel[0].value;
510
+ }
511
+ if (this.densitiesComboBoxModel.length > 0) {
512
+ this.filterDensityValue = this.densitiesComboBoxModel[0].value;
318
513
  }
514
+ if (this.layersComboBoxModel.length > 0) {
515
+ this.filterLayerValue = this.layersComboBoxModel[0].value;
516
+ }
517
+ __classPrivateFieldSet(this, _GxIdeWWImages_ACCORDION_MODEL, [
518
+ {
519
+ id: __classPrivateFieldGet(this, _GxIdeWWImages_ACCORDION_FILTER_ID, "f"),
520
+ caption: __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").filter.accordionCaption,
521
+ expanded: false
522
+ }
523
+ ], "f");
319
524
  }
320
- // 7.LISTENERS //
321
525
  keyDownHandler(eventInfo) {
322
526
  if (document.activeElement === this.el) {
323
527
  switch (eventInfo.key) {
324
528
  case "Enter":
325
- this.openSelectionCallBackHandler();
529
+ __classPrivateFieldGet(this, _GxIdeWWImages_openSelectionCallBackHandler, "f").call(this);
326
530
  break;
327
531
  case "Delete":
328
- this.deleteSelectionCallbackHandler();
532
+ __classPrivateFieldGet(this, _GxIdeWWImages_deleteSelectionCallbackHandler, "f").call(this);
329
533
  break;
330
534
  }
331
535
  }
332
536
  }
333
- // 8.PUBLIC METHODS API //
334
537
  /**
335
- * Validate necessary data input
538
+ * Reloads the view, refreshing the filters and the images table.
336
539
  */
337
- async validate() {
338
- const isValid = true;
339
- return isValid;
540
+ async reload() {
541
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
340
542
  }
341
543
  /**
342
- * This method reload the view, refreshing the filters and the table of images.
544
+ * Watch filter state variables and trigger #getImages when they change
343
545
  */
344
- async reload() {
345
- this.getImages();
546
+ filterNameValueChanged() {
547
+ if (!__classPrivateFieldGet(this, _GxIdeWWImages_isInitialLoad, "f")) {
548
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
549
+ }
550
+ }
551
+ filterSearchContentsValueChanged() {
552
+ if (!__classPrivateFieldGet(this, _GxIdeWWImages_isInitialLoad, "f")) {
553
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
554
+ }
555
+ }
556
+ filterCategoryValueChanged() {
557
+ if (!__classPrivateFieldGet(this, _GxIdeWWImages_isInitialLoad, "f")) {
558
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
559
+ }
560
+ }
561
+ filterAllDescendantsValueChanged() {
562
+ if (!__classPrivateFieldGet(this, _GxIdeWWImages_isInitialLoad, "f")) {
563
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
564
+ }
565
+ }
566
+ filterAfterTypeValueChanged() {
567
+ if (!__classPrivateFieldGet(this, _GxIdeWWImages_isInitialLoad, "f")) {
568
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
569
+ }
570
+ }
571
+ filterUserValueChanged() {
572
+ if (!__classPrivateFieldGet(this, _GxIdeWWImages_isInitialLoad, "f")) {
573
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
574
+ }
575
+ }
576
+ filterModifiedDateValueChanged() {
577
+ if (!__classPrivateFieldGet(this, _GxIdeWWImages_isInitialLoad, "f")) {
578
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
579
+ }
580
+ }
581
+ filterStyleValueChanged() {
582
+ if (!__classPrivateFieldGet(this, _GxIdeWWImages_isInitialLoad, "f")) {
583
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
584
+ }
585
+ }
586
+ filterLanguageValueChanged() {
587
+ if (!__classPrivateFieldGet(this, _GxIdeWWImages_isInitialLoad, "f")) {
588
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
589
+ }
590
+ }
591
+ filterDensityValueChanged() {
592
+ if (!__classPrivateFieldGet(this, _GxIdeWWImages_isInitialLoad, "f")) {
593
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
594
+ }
595
+ }
596
+ filterLayerValueChanged() {
597
+ if (!__classPrivateFieldGet(this, _GxIdeWWImages_isInitialLoad, "f")) {
598
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
599
+ }
600
+ }
601
+ filterModuleValueChanged() {
602
+ if (!__classPrivateFieldGet(this, _GxIdeWWImages_isInitialLoad, "f")) {
603
+ __classPrivateFieldGet(this, _GxIdeWWImages_getImages, "f").call(this);
604
+ }
346
605
  }
347
- // 10.RENDER() FUNCTION //
348
606
  render() {
349
- return (h(Host, { class: "gx-ide-component" }, h("ch-theme", { model: CSS_BUNDLES }), h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noContentGap: true, slimmerFooter: config.gxIdeContainer.slimmerFooter }, h("div", { class: "master-wrapper" }, this.renderFilter(), h("div", { class: "grid-images-container" }, this.renderImagesData(), this.renderImages())), h("gxg-button", { id: "button-select-all", type: "outlined", onClick: this.selectAll, part: "gxg-button gxg-button--select-all", slot: "footer-end" }, this._componentLocale.footer.btnSelectAll), h("gxg-button", { id: "button-new-file", type: "primary-text-icon", icon: "objects/image", onClick: this.newObjectCallbackHandler, part: "gxg-button gxg-button--new-file", slot: "footer-end" }, this._componentLocale.footer.btnNew), h("gxg-text", { class: "align-end", part: "objects-matching", slot: "footer-start" }, `${this.filteredImages.length} ${this._componentLocale.objCount.matching}`)))));
607
+ return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "section" }, h("header", { class: "header control-header-with-border spacing-body-inline spacing-body-block-start field-group" }, __classPrivateFieldGet(this, _GxIdeWWImages_renderHeader, "f").call(this)), h("div", { class: "main" }, __classPrivateFieldGet(this, _GxIdeWWImages_renderTabularGrid, "f").call(this), h("div", { class: "main__aside field-group" }, __classPrivateFieldGet(this, _GxIdeWWImages_renderFilter, "f").call(this))), h("footer", { class: "dialog-footer-with-border dialog-footer-space-between spacing-body" }, h("p", {
608
+ // matching objects
609
+ class: "text-body"
610
+ }, `${this.tabularGridData.length} ${__classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").objCount.matching}`), h("div", { class: "buttons-spacer" }, h("button", {
611
+ // select all button
612
+ id: "button-select-all", class: "button-secondary", onClick: __classPrivateFieldGet(this, _GxIdeWWImages_selectAll, "f")
613
+ }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").footer.btnSelectAll), h("button", {
614
+ // new image button
615
+ id: "button-new-file", class: "button-primary button-icon-and-text", onClick: __classPrivateFieldGet(this, _GxIdeWWImages_newObjectCallbackHandler, "f")
616
+ }, __classPrivateFieldGet(this, _GxIdeWWImages_componentLocale, "f").footer.btnNew))))));
350
617
  }
351
618
  static get is() { return "gx-ide-ww-images"; }
352
619
  static get encapsulation() { return "shadow"; }
@@ -363,42 +630,6 @@ export class GxIdeWWImages {
363
630
  static get assetsDirs() { return ["gx-ide-assets/ww-images"]; }
364
631
  static get properties() {
365
632
  return {
366
- "displayTitle": {
367
- "type": "boolean",
368
- "mutable": false,
369
- "complexType": {
370
- "original": "false",
371
- "resolved": "boolean",
372
- "references": {}
373
- },
374
- "required": false,
375
- "optional": false,
376
- "docs": {
377
- "tags": [],
378
- "text": "If true it displays the component title on the header"
379
- },
380
- "attribute": "display-title",
381
- "reflect": false,
382
- "defaultValue": "false"
383
- },
384
- "secondaryFilter": {
385
- "type": "boolean",
386
- "mutable": false,
387
- "complexType": {
388
- "original": "false",
389
- "resolved": "boolean",
390
- "references": {}
391
- },
392
- "required": false,
393
- "optional": false,
394
- "docs": {
395
- "tags": [],
396
- "text": "Displays a secondary filter, used to filter over the filtered images"
397
- },
398
- "attribute": "secondary-filter",
399
- "reflect": false,
400
- "defaultValue": "false"
401
- },
402
633
  "categories": {
403
634
  "type": "unknown",
404
635
  "mutable": false,
@@ -417,20 +648,20 @@ export class GxIdeWWImages {
417
648
  "optional": false,
418
649
  "docs": {
419
650
  "tags": [],
420
- "text": "The categories render in the filter category selector"
651
+ "text": "Categories rendered in the filter selector"
421
652
  }
422
653
  },
423
- "densities": {
654
+ "contextMenuCallback": {
424
655
  "type": "unknown",
425
656
  "mutable": false,
426
657
  "complexType": {
427
- "original": "GxOption[]",
428
- "resolved": "GxOption[]",
658
+ "original": "ContextMenuCallback",
659
+ "resolved": "(contextMenuInfo: ContextMenuInfo) => Promise<void>",
429
660
  "references": {
430
- "GxOption": {
431
- "location": "import",
432
- "path": "../../common/types",
433
- "id": "src/common/types.ts::GxOption"
661
+ "ContextMenuCallback": {
662
+ "location": "local",
663
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/ww-images/ww-images.tsx",
664
+ "id": "src/components/ww-images/ww-images.tsx::ContextMenuCallback"
434
665
  }
435
666
  }
436
667
  },
@@ -438,7 +669,7 @@ export class GxIdeWWImages {
438
669
  "optional": false,
439
670
  "docs": {
440
671
  "tags": [],
441
- "text": "The densities render in the filter density selector"
672
+ "text": "Function to expand data when right-click"
442
673
  }
443
674
  },
444
675
  "defaultCategory": {
@@ -453,7 +684,7 @@ export class GxIdeWWImages {
453
684
  "optional": false,
454
685
  "docs": {
455
686
  "tags": [],
456
- "text": "The default value for the 'categories' filter"
687
+ "text": "Default value for the 'categories' filter"
457
688
  },
458
689
  "attribute": "default-category",
459
690
  "reflect": false
@@ -476,27 +707,31 @@ export class GxIdeWWImages {
476
707
  "optional": false,
477
708
  "docs": {
478
709
  "tags": [],
479
- "text": "The default value for the module/folder filter"
710
+ "text": "Default value for the module/folder filter"
480
711
  }
481
712
  },
482
- "defaultType": {
483
- "type": "string",
713
+ "deleteSelectionCallback": {
714
+ "type": "unknown",
484
715
  "mutable": false,
485
716
  "complexType": {
486
- "original": "string",
487
- "resolved": "string",
488
- "references": {}
717
+ "original": "DeleteSelectionCallback",
718
+ "resolved": "(ids: string[]) => Promise<void>",
719
+ "references": {
720
+ "DeleteSelectionCallback": {
721
+ "location": "local",
722
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/ww-images/ww-images.tsx",
723
+ "id": "src/components/ww-images/ww-images.tsx::DeleteSelectionCallback"
724
+ }
725
+ }
489
726
  },
490
- "required": false,
727
+ "required": true,
491
728
  "optional": false,
492
729
  "docs": {
493
730
  "tags": [],
494
- "text": "The default value for the type filter"
495
- },
496
- "attribute": "default-type",
497
- "reflect": false
731
+ "text": "Function to delete the selected images."
732
+ }
498
733
  },
499
- "filterModules": {
734
+ "densities": {
500
735
  "type": "unknown",
501
736
  "mutable": false,
502
737
  "complexType": {
@@ -514,7 +749,7 @@ export class GxIdeWWImages {
514
749
  "optional": false,
515
750
  "docs": {
516
751
  "tags": [],
517
- "text": "The modules/folders render in the module/folder selector"
752
+ "text": "Densities rendered in the filter selector"
518
753
  }
519
754
  },
520
755
  "languages": {
@@ -535,7 +770,7 @@ export class GxIdeWWImages {
535
770
  "optional": false,
536
771
  "docs": {
537
772
  "tags": [],
538
- "text": "The languages render in the filter language selector"
773
+ "text": "Languages rendered in the filter selector"
539
774
  }
540
775
  },
541
776
  "layers": {
@@ -556,49 +791,7 @@ export class GxIdeWWImages {
556
791
  "optional": false,
557
792
  "docs": {
558
793
  "tags": [],
559
- "text": "The layers render in the filter layer selector"
560
- }
561
- },
562
- "contextMenuCallback": {
563
- "type": "unknown",
564
- "mutable": false,
565
- "complexType": {
566
- "original": "ContextMenuCallback",
567
- "resolved": "(contextMenuInfo: ContextMenuInfo) => Promise<void>",
568
- "references": {
569
- "ContextMenuCallback": {
570
- "location": "local",
571
- "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/ww-images/ww-images.tsx",
572
- "id": "src/components/ww-images/ww-images.tsx::ContextMenuCallback"
573
- }
574
- }
575
- },
576
- "required": true,
577
- "optional": false,
578
- "docs": {
579
- "tags": [],
580
- "text": "This is a function provided by the developer for expanded the data of images that is double-clicked or entered."
581
- }
582
- },
583
- "deleteSelectionCallback": {
584
- "type": "unknown",
585
- "mutable": false,
586
- "complexType": {
587
- "original": "DeleteSelectionCallback",
588
- "resolved": "(ids: string[]) => Promise<void>",
589
- "references": {
590
- "DeleteSelectionCallback": {
591
- "location": "local",
592
- "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/ww-images/ww-images.tsx",
593
- "id": "src/components/ww-images/ww-images.tsx::DeleteSelectionCallback"
594
- }
595
- }
596
- },
597
- "required": true,
598
- "optional": false,
599
- "docs": {
600
- "tags": [],
601
- "text": "This is a function provided by the developer for expanded the data of images that is double-clicked or entered."
794
+ "text": "Layers rendered in the filter selector"
602
795
  }
603
796
  },
604
797
  "loadCallback": {
@@ -619,7 +812,7 @@ export class GxIdeWWImages {
619
812
  "optional": false,
620
813
  "docs": {
621
814
  "tags": [],
622
- "text": "This is a function provided by the developer that return a list of images to populate the table of images."
815
+ "text": "Function that returns a list of images for the table"
623
816
  }
624
817
  },
625
818
  "loadImageItemsCallback": {
@@ -640,7 +833,7 @@ export class GxIdeWWImages {
640
833
  "optional": false,
641
834
  "docs": {
642
835
  "tags": [],
643
- "text": "This is a function provided by the developer that return a list of items of the image selected."
836
+ "text": "Function that returns a list of items for the selected image"
644
837
  }
645
838
  },
646
839
  "newObjectCallback": {
@@ -661,7 +854,7 @@ export class GxIdeWWImages {
661
854
  "optional": false,
662
855
  "docs": {
663
856
  "tags": [],
664
- "text": "This is a function provided by the developer for expanded the data of images that is double-clicked or entered."
857
+ "text": "Callback invoked when user press New button."
665
858
  }
666
859
  },
667
860
  "openSelectionCallback": {
@@ -682,7 +875,7 @@ export class GxIdeWWImages {
682
875
  "optional": false,
683
876
  "docs": {
684
877
  "tags": [],
685
- "text": "This is a function provided by the developer for expanded the data of images that is double-clicked or entered."
878
+ "text": "Function to expand data for double-clicked or entered images"
686
879
  }
687
880
  },
688
881
  "selectModuleCallback": {
@@ -703,7 +896,7 @@ export class GxIdeWWImages {
703
896
  "optional": false,
704
897
  "docs": {
705
898
  "tags": [],
706
- "text": "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."
899
+ "text": "Callback invoked when an action is executed on the Module/Folder filter."
707
900
  }
708
901
  },
709
902
  "selectionObjectChangedCallback": {
@@ -724,27 +917,9 @@ export class GxIdeWWImages {
724
917
  "optional": false,
725
918
  "docs": {
726
919
  "tags": [],
727
- "text": "This is a function provided by the developer for expanded the data of images that is double-clicked or entered."
920
+ "text": "Callback invoked when an item is selected"
728
921
  }
729
922
  },
730
- "shadow": {
731
- "type": "boolean",
732
- "mutable": false,
733
- "complexType": {
734
- "original": "false",
735
- "resolved": "boolean",
736
- "references": {}
737
- },
738
- "required": false,
739
- "optional": false,
740
- "docs": {
741
- "tags": [],
742
- "text": "Applies a shadow all around"
743
- },
744
- "attribute": "shadow",
745
- "reflect": false,
746
- "defaultValue": "false"
747
- },
748
923
  "styles": {
749
924
  "type": "unknown",
750
925
  "mutable": false,
@@ -763,99 +938,42 @@ export class GxIdeWWImages {
763
938
  "optional": false,
764
939
  "docs": {
765
940
  "tags": [],
766
- "text": "The styles render in the filter style selector"
767
- }
768
- },
769
- "types": {
770
- "type": "unknown",
771
- "mutable": false,
772
- "complexType": {
773
- "original": "GxOption[]",
774
- "resolved": "GxOption[]",
775
- "references": {
776
- "GxOption": {
777
- "location": "import",
778
- "path": "../../common/types",
779
- "id": "src/common/types.ts::GxOption"
780
- }
781
- }
782
- },
783
- "required": true,
784
- "optional": false,
785
- "docs": {
786
- "tags": [],
787
- "text": "The types render in the filter type selector"
941
+ "text": "Styles rendered in the filter style selector"
788
942
  }
789
943
  }
790
944
  };
791
945
  }
792
946
  static get states() {
793
947
  return {
794
- "filtersHidden": {},
795
- "filterAfterType": {},
796
- "filterModified": {},
948
+ "categoriesComboBoxModel": {},
949
+ "densitiesComboBoxModel": {},
950
+ "languagesComboBoxModel": {},
951
+ "layersComboBoxModel": {},
952
+ "stylesComboBoxModel": {},
953
+ "afterCurrentValue": {},
954
+ "filterAfterOptions": {},
955
+ "tabularGridData": {},
797
956
  "images": {},
798
- "filteredImages": {},
799
957
  "imagesSelectedItems": {},
800
958
  "selectedObjectsIds": {},
801
- "filterImagesInputValue": {}
959
+ "enabledModifiedControls": {},
960
+ "order": {},
961
+ "filterNameValue": {},
962
+ "filterSearchContentsValue": {},
963
+ "filterCategoryValue": {},
964
+ "filterAllDescendantsValue": {},
965
+ "filterAfterTypeValue": {},
966
+ "filterUserValue": {},
967
+ "filterModifiedDateValue": {},
968
+ "filterStyleValue": {},
969
+ "filterLanguageValue": {},
970
+ "filterDensityValue": {},
971
+ "filterLayerValue": {},
972
+ "filterModuleValue": {}
802
973
  };
803
974
  }
804
- static get events() {
805
- return [{
806
- "method": "componentDidLoadEvent",
807
- "name": "componentDidLoadEvent",
808
- "bubbles": true,
809
- "cancelable": true,
810
- "composed": true,
811
- "docs": {
812
- "tags": [],
813
- "text": "This event is emitted once just after the component is fully loaded and the first render() occurs."
814
- },
815
- "complexType": {
816
- "original": "boolean",
817
- "resolved": "boolean",
818
- "references": {}
819
- }
820
- }, {
821
- "method": "componentDidRenderFirstTime",
822
- "name": "componentDidRenderFirstTime",
823
- "bubbles": true,
824
- "cancelable": true,
825
- "composed": true,
826
- "docs": {
827
- "tags": [{
828
- "name": "description",
829
- "text": "Gets fired when the component has rendered for the first time."
830
- }],
831
- "text": ""
832
- },
833
- "complexType": {
834
- "original": "string",
835
- "resolved": "string",
836
- "references": {}
837
- }
838
- }];
839
- }
840
975
  static get methods() {
841
976
  return {
842
- "validate": {
843
- "complexType": {
844
- "signature": "() => Promise<boolean>",
845
- "parameters": [],
846
- "references": {
847
- "Promise": {
848
- "location": "global",
849
- "id": "global::Promise"
850
- }
851
- },
852
- "return": "Promise<boolean>"
853
- },
854
- "docs": {
855
- "text": "Validate necessary data input",
856
- "tags": []
857
- }
858
- },
859
977
  "reload": {
860
978
  "complexType": {
861
979
  "signature": "() => Promise<void>",
@@ -869,7 +987,7 @@ export class GxIdeWWImages {
869
987
  "return": "Promise<void>"
870
988
  },
871
989
  "docs": {
872
- "text": "This method reload the view, refreshing the filters and the table of images.",
990
+ "text": "Reloads the view, refreshing the filters and the images table.",
873
991
  "tags": []
874
992
  }
875
993
  }
@@ -878,8 +996,59 @@ export class GxIdeWWImages {
878
996
  static get elementRef() { return "el"; }
879
997
  static get watchers() {
880
998
  return [{
881
- "propName": "filtersHidden",
882
- "methodName": "filtersHiddenHandler"
999
+ "propName": "categories",
1000
+ "methodName": "categoriesChanged"
1001
+ }, {
1002
+ "propName": "defaultCategory",
1003
+ "methodName": "defaultCategoryChanged"
1004
+ }, {
1005
+ "propName": "densities",
1006
+ "methodName": "densitiesChanged"
1007
+ }, {
1008
+ "propName": "languages",
1009
+ "methodName": "languagesChanged"
1010
+ }, {
1011
+ "propName": "layers",
1012
+ "methodName": "layersChanged"
1013
+ }, {
1014
+ "propName": "styles",
1015
+ "methodName": "stylesChanged"
1016
+ }, {
1017
+ "propName": "filterNameValue",
1018
+ "methodName": "filterNameValueChanged"
1019
+ }, {
1020
+ "propName": "filterSearchContentsValue",
1021
+ "methodName": "filterSearchContentsValueChanged"
1022
+ }, {
1023
+ "propName": "filterCategoryValue",
1024
+ "methodName": "filterCategoryValueChanged"
1025
+ }, {
1026
+ "propName": "filterAllDescendantsValue",
1027
+ "methodName": "filterAllDescendantsValueChanged"
1028
+ }, {
1029
+ "propName": "filterAfterTypeValue",
1030
+ "methodName": "filterAfterTypeValueChanged"
1031
+ }, {
1032
+ "propName": "filterUserValue",
1033
+ "methodName": "filterUserValueChanged"
1034
+ }, {
1035
+ "propName": "filterModifiedDateValue",
1036
+ "methodName": "filterModifiedDateValueChanged"
1037
+ }, {
1038
+ "propName": "filterStyleValue",
1039
+ "methodName": "filterStyleValueChanged"
1040
+ }, {
1041
+ "propName": "filterLanguageValue",
1042
+ "methodName": "filterLanguageValueChanged"
1043
+ }, {
1044
+ "propName": "filterDensityValue",
1045
+ "methodName": "filterDensityValueChanged"
1046
+ }, {
1047
+ "propName": "filterLayerValue",
1048
+ "methodName": "filterLayerValueChanged"
1049
+ }, {
1050
+ "propName": "filterModuleValue",
1051
+ "methodName": "filterModuleValueChanged"
883
1052
  }];
884
1053
  }
885
1054
  static get listeners() {
@@ -892,4 +1061,27 @@ export class GxIdeWWImages {
892
1061
  }];
893
1062
  }
894
1063
  }
1064
+ _GxIdeWWImages_componentLocale = new WeakMap(), _GxIdeWWImages_filterInitialData = new WeakMap(), _GxIdeWWImages_ACCORDION_MODEL = new WeakMap(), _GxIdeWWImages_ACCORDION_FILTER_ID = new WeakMap(), _GxIdeWWImages_imagesMap = new WeakMap(), _GxIdeWWImages_chGridEl = new WeakMap(), _GxIdeWWImages_filterModuleEl = new WeakMap(), _GxIdeWWImages_isInitialLoad = new WeakMap(), _GxIdeWWImages_deleteSelectionCallbackHandler = new WeakMap(), _GxIdeWWImages_deselectAll = new WeakMap(), _GxIdeWWImages_handleNameChange = new WeakMap(), _GxIdeWWImages_handleSearchContentsChange = new WeakMap(), _GxIdeWWImages_applyDefaultCategory = new WeakMap(), _GxIdeWWImages_handleCategoryChange = new WeakMap(), _GxIdeWWImages_handleAllDescendantsChange = new WeakMap(), _GxIdeWWImages_handleAfterTypeChange = new WeakMap(), _GxIdeWWImages_handleUserChange = new WeakMap(), _GxIdeWWImages_handleModifiedDateChange = new WeakMap(), _GxIdeWWImages_handleStyleChange = new WeakMap(), _GxIdeWWImages_handleLanguageChange = new WeakMap(), _GxIdeWWImages_handleDensityChange = new WeakMap(), _GxIdeWWImages_handleLayerChange = new WeakMap(), _GxIdeWWImages_handleModuleChange = new WeakMap(), _GxIdeWWImages_filterImagesInformationHandler = new WeakMap(), _GxIdeWWImages_getImages = new WeakMap(), _GxIdeWWImages_getToday = new WeakMap(), _GxIdeWWImages_addEventListeners = new WeakMap(), _GxIdeWWImages_sortImages = new WeakMap(), _GxIdeWWImages_handleColumnSortChanged = new WeakMap(), _GxIdeWWImages_newObjectCallbackHandler = new WeakMap(), _GxIdeWWImages_openSelectionCallBackHandler = new WeakMap(), _GxIdeWWImages_toggleModifiedControls = new WeakMap(), _GxIdeWWImages_renderHeader = new WeakMap(), _GxIdeWWImages_renderFilter = new WeakMap(), _GxIdeWWImages_renderImages = new WeakMap(), _GxIdeWWImages_renderTabularGrid = new WeakMap(), _GxIdeWWImages_resetFilterHandler = new WeakMap(), _GxIdeWWImages_saveInitialFilterData = new WeakMap(), _GxIdeWWImages_selectAll = new WeakMap(), _GxIdeWWImages_instances = new WeakSet(), _GxIdeWWImages_getImageValue = function _GxIdeWWImages_getImageValue(image, key) {
1065
+ var _a;
1066
+ switch (key) {
1067
+ case "name":
1068
+ return image.name || "";
1069
+ case "module":
1070
+ return image.module || "";
1071
+ case "description":
1072
+ return image.description || "";
1073
+ case "modifiedDate":
1074
+ return image.modifiedDate
1075
+ ? formatDate(image.modifiedDate).toLowerCase()
1076
+ : "";
1077
+ case "lastUser":
1078
+ return ((_a = image.lastUser) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || "";
1079
+ case "importDate":
1080
+ return image.importDate
1081
+ ? formatDate(image.importDate).toLowerCase()
1082
+ : "";
1083
+ default:
1084
+ return "";
1085
+ }
1086
+ };
895
1087
  //# sourceMappingURL=ww-images.js.map