@genexus/genexus-ide-ui 0.0.64 → 0.0.66

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 (109) hide show
  1. package/dist/cjs/ch-icon.cjs.entry.js +116 -0
  2. package/dist/cjs/{config-8634e7dd.js → config-8cf5ba3b.js} +4 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-container_4.cjs.entry.js +3 -0
  6. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +28 -14
  7. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +142 -39
  8. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  14. package/dist/cjs/{gx-ide-status-buttons_2.cjs.entry.js → gx-ide-status-buttons.cjs.entry.js} +0 -72
  15. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  18. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  20. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  22. package/dist/cjs/{gxg-button-group.cjs.entry.js → gxg-button-group_2.cjs.entry.js} +105 -0
  23. package/dist/cjs/{gxg-button.cjs.entry.js → gxg-button_2.cjs.entry.js} +63 -0
  24. package/dist/cjs/gxg-list-box_2.cjs.entry.js +1 -1
  25. package/dist/cjs/gxg-text.cjs.entry.js +1 -1
  26. package/dist/cjs/loader.cjs.js +1 -1
  27. package/dist/collection/common/config.js +4 -0
  28. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +4 -0
  29. package/dist/collection/components/kb-manager-export/kb-manager-export.js +41 -28
  30. package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +5 -1
  31. package/dist/collection/components/kb-manager-import/helpers.js +5 -3
  32. package/dist/collection/components/kb-manager-import/kb-manager-import.css +3 -0
  33. package/dist/collection/components/kb-manager-import/kb-manager-import.js +178 -35
  34. package/dist/components/config.js +4 -0
  35. package/dist/components/form-text.js +5 -1
  36. package/dist/components/gx-ide-kb-manager-export.js +75 -42
  37. package/dist/components/gx-ide-kb-manager-import.js +146 -39
  38. package/dist/components/ide-loader.js +75 -14
  39. package/dist/components/list-box-item.js +1 -1
  40. package/dist/components/text.js +1 -1
  41. package/dist/esm/ch-icon.entry.js +112 -0
  42. package/dist/esm/{config-e6f580c8.js → config-2fae16a2.js} +4 -0
  43. package/dist/esm/genexus-ide-ui.js +1 -1
  44. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  45. package/dist/esm/gx-ide-container_4.entry.js +3 -0
  46. package/dist/esm/gx-ide-kb-manager-export.entry.js +28 -14
  47. package/dist/esm/gx-ide-kb-manager-import.entry.js +142 -39
  48. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  49. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  50. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  51. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  52. package/dist/esm/gx-ide-references.entry.js +1 -1
  53. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  54. package/dist/esm/{gx-ide-status-buttons_2.entry.js → gx-ide-status-buttons.entry.js} +1 -72
  55. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  56. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  57. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  58. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  59. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  60. package/dist/esm/gx-ide-template.entry.js +1 -1
  61. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  62. package/dist/esm/{gxg-button-group.entry.js → gxg-button-group_2.entry.js} +105 -1
  63. package/dist/esm/{gxg-button.entry.js → gxg-button_2.entry.js} +64 -2
  64. package/dist/esm/gxg-list-box_2.entry.js +1 -1
  65. package/dist/esm/gxg-text.entry.js +1 -1
  66. package/dist/esm/loader.js +1 -1
  67. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  68. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +4 -0
  69. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +5 -1
  70. package/dist/genexus-ide-ui/{p-61e5b3a7.entry.js → p-00bb2aa7.entry.js} +1 -1
  71. package/dist/genexus-ide-ui/{p-34f4deb8.entry.js → p-02c50994.entry.js} +1 -1
  72. package/dist/genexus-ide-ui/{p-fa4e7177.js → p-13ffa7c0.js} +1 -1
  73. package/dist/genexus-ide-ui/p-232fe7cb.entry.js +1 -0
  74. package/dist/genexus-ide-ui/{p-eb3895cc.entry.js → p-2dc875c2.entry.js} +1 -1
  75. package/dist/genexus-ide-ui/{p-cf421c67.entry.js → p-2ec6d722.entry.js} +1 -1
  76. package/dist/genexus-ide-ui/{p-15f4ca7a.entry.js → p-3dacc147.entry.js} +1 -1
  77. package/dist/genexus-ide-ui/{p-2582e3d7.entry.js → p-4d653456.entry.js} +1 -1
  78. package/dist/genexus-ide-ui/{p-a14dde56.entry.js → p-7c64e541.entry.js} +1 -1
  79. package/dist/genexus-ide-ui/p-81776364.entry.js +1 -0
  80. package/dist/genexus-ide-ui/{p-16aad0e4.entry.js → p-8d99e6a5.entry.js} +1 -1
  81. package/dist/genexus-ide-ui/{p-c0532785.entry.js → p-a05224f3.entry.js} +1 -1
  82. package/dist/genexus-ide-ui/{p-0cc3af0d.entry.js → p-a06d0915.entry.js} +1 -1
  83. package/dist/genexus-ide-ui/{p-285f0790.entry.js → p-baabb0be.entry.js} +1 -1
  84. package/dist/genexus-ide-ui/p-beefd2bb.entry.js +1 -0
  85. package/dist/genexus-ide-ui/{p-1ad41f2e.entry.js → p-bf5c0727.entry.js} +1 -1
  86. package/dist/genexus-ide-ui/{p-57327cd3.entry.js → p-c3a1a74c.entry.js} +1 -1
  87. package/dist/genexus-ide-ui/{p-4f63438d.entry.js → p-cd285670.entry.js} +1 -1
  88. package/dist/genexus-ide-ui/{p-6fb33e4c.entry.js → p-cd74a437.entry.js} +1 -1
  89. package/dist/genexus-ide-ui/{p-9d73a85c.entry.js → p-d192b1e9.entry.js} +1 -1
  90. package/dist/genexus-ide-ui/p-db4e2468.entry.js +1 -0
  91. package/dist/genexus-ide-ui/{p-2c5289df.entry.js → p-ec9c9f44.entry.js} +1 -1
  92. package/dist/genexus-ide-ui/{p-3b55122b.entry.js → p-eed26277.entry.js} +1 -1
  93. package/dist/genexus-ide-ui/p-fae07693.entry.js +1 -0
  94. package/dist/node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css +17 -9
  95. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box-item/list-box-item.css +2 -2
  96. package/dist/node_modules/@genexus/gemini/dist/collection/components/text/text.css +1 -0
  97. package/dist/types/common/config.d.ts +3 -0
  98. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +9 -6
  99. package/dist/types/components/kb-manager-import/helpers.d.ts +1 -0
  100. package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +25 -3
  101. package/dist/types/components.d.ts +25 -10
  102. package/package.json +3 -3
  103. package/dist/cjs/ch-icon_2.cjs.entry.js +0 -179
  104. package/dist/esm/ch-icon_2.entry.js +0 -174
  105. package/dist/genexus-ide-ui/p-0371daa4.entry.js +0 -1
  106. package/dist/genexus-ide-ui/p-0d7c0cd1.entry.js +0 -1
  107. package/dist/genexus-ide-ui/p-1bf68774.entry.js +0 -1
  108. package/dist/genexus-ide-ui/p-a99c17b1.entry.js +0 -1
  109. package/dist/genexus-ide-ui/p-c74f5d08.entry.js +0 -1
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9bb1815.js');
6
6
  const locale = require('./locale-c8445ea4.js');
7
- const config = require('./config-8634e7dd.js');
7
+ const config = require('./config-8cf5ba3b.js');
8
8
 
9
9
  const KB_PROPERTY = "property";
10
10
  const KB_OBJECT = "object";
@@ -164,7 +164,6 @@ const GxIdeKbManagerExport = class {
164
164
  index.registerInstance(this, hostRef);
165
165
  this.componentDidLoadEvent = index.createEvent(this, "componentDidLoadEvent", 7);
166
166
  this.componentDidRenderFirstTime = index.createEvent(this, "componentDidRenderFirstTime", 7);
167
- this.checkedObjectsIds = [];
168
167
  this.checkedPropertiesIds = [];
169
168
  this.renderedFirstTime = false;
170
169
  this.flattenedObjectTypes = new Map();
@@ -241,6 +240,7 @@ const GxIdeKbManagerExport = class {
241
240
  };
242
241
  this.exportCallbackHandler = async () => {
243
242
  if (this.exportCallback) {
243
+ this.exportingIsInProcess = true;
244
244
  const exportAllChecked = this.exportAllCheckboxEl.checked;
245
245
  const fileName = this.fileNameEl.value;
246
246
  const checkedKbPropertiesIds = this.addKbPropertiesIsChecked
@@ -249,7 +249,9 @@ const GxIdeKbManagerExport = class {
249
249
  const checkedObjectIds = exportAllChecked
250
250
  ? undefined
251
251
  : this.checkedObjectsIds;
252
- this.exportCallback(fileName, checkedKbPropertiesIds, checkedObjectIds);
252
+ this.exportCallback(fileName, checkedKbPropertiesIds, checkedObjectIds).then(() => {
253
+ this.exportingIsInProcess = false;
254
+ });
253
255
  // returns Promise<boolean> but no procedure was detailed on the spec.
254
256
  }
255
257
  };
@@ -297,14 +299,23 @@ const GxIdeKbManagerExport = class {
297
299
  index.h("gxg-text", { type: "text-link-no-line", textAlign: "center", onClick: this.addObjectsCallbackHandler }, this._componentLocale.main.beginByADdingSomeObjects)
298
300
  ]) : (index.h("span", null, this._componentLocale.main.exportAllMessage))));
299
301
  };
302
+ this.clearButtonDisabledConditions = () => {
303
+ return this.noObjects || this.checkedObjectsIds.length === 0;
304
+ };
305
+ this.loaderCancelCallbackHandler = () => {
306
+ if (this.cancelCallback) {
307
+ this.cancelCallback();
308
+ }
309
+ };
300
310
  this.exportAllIsChecked = false;
301
- this.exportingIsInProcess = false;
302
311
  this.addKbPropertiesIsChecked = false;
312
+ this.checkedObjectsIds = [];
303
313
  this.fileName = "";
304
314
  this.exportFilePathName = undefined;
305
315
  this.noObjects = undefined;
306
316
  this.treeModel = [];
307
- this.dummyInitialTree = undefined;
317
+ this.exportingIsInProcess = false;
318
+ this.loader = false;
308
319
  this.kbPropertiesTypes = undefined;
309
320
  this.objectTypes = undefined;
310
321
  this.exportFileDirectoryCallback = undefined;
@@ -318,10 +329,15 @@ const GxIdeKbManagerExport = class {
318
329
  watchTreeModelHandler(newState) {
319
330
  this.noObjects = !!(newState.length === 0 || !newState);
320
331
  }
321
- watchDummyInitialTreeHandler(newTree) {
322
- this.treeModel = newTree;
332
+ watchExportingIsInProcessHandler(isExporting) {
333
+ if (isExporting && this.loader) {
334
+ this.loaderEl.show = true;
335
+ }
336
+ else if (!isExporting && this.loader) {
337
+ this.loaderEl.show = false;
338
+ }
323
339
  }
324
- watchObjectTypeslHandler(newState) {
340
+ watchObjectTypesHandler(newState) {
325
341
  this.flattenObjectTypes(newState);
326
342
  }
327
343
  // 6.COMPONENT LIFECYCLE EVENTS //
@@ -344,9 +360,7 @@ const GxIdeKbManagerExport = class {
344
360
  }
345
361
  // 10.RENDER() FUNCTION //
346
362
  render() {
347
- // console.log("checkedObjectsIds", this.checkedObjectsIds);
348
- // console.log("checkedPropertiesIds", this.checkedPropertiesIds);
349
- return (index.h(index.Host, { class: "gx-ide-component" }, index.h("div", { class: "gx-ide-main-wrapper" }, index.h("gx-ide-container", { noContentPadding: true, noHeadingPadding: true, headingPaddingTop: true, containerTitle: this._componentLocale.componentName, slimmerFooter: config.config.gxIdeContainer.slimmerFooter }, index.h("header", { slot: "header", class: "header" }, index.h("div", { class: "header__top" }, index.h("gx-ide-directory-selector", { class: { "select-file-input": true }, value: this.exportFilePathName, part: "xpz-file", label: this._componentLocale.header.exportFileName, ref: el => (this.fileNameEl = el), selectDirectoryCallback: this.exportFileDirectoryCallback }), index.h("gxg-button-group", { class: "export-cancel-buttons-group", "default-selected-btn-id": "responsive-tablet-btn" }, index.h("button", { id: "export-kb-btn", part: "export-btn", onClick: this.exportCallbackHandler, disabled: this.noObjects }, this._componentLocale.header.exportButton), index.h("button", { id: "cancel-kb-export-btn", part: "cancel-button", onClick: this.cancelCallbackHandler, disabled: this.noObjects || this.exportingIsInProcess }, this._componentLocale.header.cancelButton)), index.h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/settings", part: "select-kb-btn", class: { "options-btn": true }, onClick: this.optionsCallbackHandler }, this._componentLocale.header.optionsButton)), index.h("div", { class: "header__bottom" }, index.h("div", { class: { "checkboxes-wrapper": true } }, index.h("gxg-form-checkbox", { label: this._componentLocale.main.addKnowledgeBaseDescription, onChange: this.addKBPropertiesCallbackHandler, part: "add-kb-checkbox" }), index.h("gxg-form-checkbox", { label: this._componentLocale.main.exportAll, part: "export-all-checkbox", ref: el => (this.exportAllCheckboxEl =
363
+ return (index.h(index.Host, { class: "gx-ide-component" }, index.h("div", { class: "gx-ide-main-wrapper" }, index.h("gx-ide-container", { noContentPadding: true, noHeadingPadding: true, headingPaddingTop: true, containerTitle: this._componentLocale.componentName, slimmerFooter: config.config.gxIdeContainer.slimmerFooter }, index.h("header", { slot: "header", class: "header" }, index.h("div", { class: "header__top" }, index.h("gx-ide-directory-selector", { class: { "select-file-input": true }, value: this.exportFilePathName, part: "xpz-file", label: this._componentLocale.header.exportFileName, ref: el => (this.fileNameEl = el), selectDirectoryCallback: this.exportFileDirectoryCallback }), index.h("gxg-button-group", { class: "export-cancel-buttons-group" }, index.h("button", { id: "export-kb-btn", part: "export-btn", onClick: this.exportCallbackHandler, disabled: this.noObjects }, this._componentLocale.header.exportButton), index.h("button", { id: "cancel-kb-export-btn", part: "cancel-button", onClick: this.cancelCallbackHandler, disabled: !this.exportingIsInProcess || this.noObjects }, this._componentLocale.header.cancelButton)), index.h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/settings", part: "select-kb-btn", class: { "options-btn": true }, onClick: this.optionsCallbackHandler }, this._componentLocale.header.optionsButton)), index.h("div", { class: "header__bottom" }, index.h("div", { class: { "checkboxes-wrapper": true } }, index.h("gxg-form-checkbox", { label: this._componentLocale.main.addKnowledgeBaseDescription, onChange: this.addKBPropertiesCallbackHandler, part: "add-kb-checkbox" }), index.h("gxg-form-checkbox", { label: this._componentLocale.main.exportAll, part: "export-all-checkbox", ref: el => (this.exportAllCheckboxEl =
350
364
  el), disabled: this.noObjects, onChange: this.exportAllChangedHandler })))), index.h("div", { class: {
351
365
  "tree-container": true,
352
366
  "tree-container--empty": this.noObjects ||
@@ -354,14 +368,14 @@ const GxIdeKbManagerExport = class {
354
368
  this.exportAllIsChecked &&
355
369
  !this.addKbPropertiesIsChecked)
356
370
  // "tree-container--export-all": this.exportAllIsChecked
357
- } }, this.evaluateContentToDisplay()), index.h("gxg-text", { type: "button-like", part: "export-button", slot: "footer-start", onClick: this.clearButtonHandler }, this._componentLocale.footer.clearButton), index.h("div", { class: { "footer-right-wrapper": true }, slot: "footer-end" }, index.h("gxg-button", { onClick: this.addReferencesCallbackHandler, type: "outlined-text-icon", icon: "general/references", part: "export-button", class: { "cancel-btn": true }, disabled: this.exportAllIsChecked }, this._componentLocale.footer.referencesButton), index.h("gxg-button", { type: "primary-text-icon", icon: "menus/new-object", part: "export-button", class: { "cancel-btn": true }, onClick: this.addObjectsCallbackHandler, disabled: this.exportAllIsChecked }, this._componentLocale.footer.addButton))))));
371
+ } }, this.evaluateContentToDisplay()), index.h("gxg-text", { type: "button-like", part: "export-button", slot: "footer-start", onClick: this.clearButtonHandler, disabled: this.clearButtonDisabledConditions() }, this._componentLocale.footer.clearButton), index.h("div", { class: { "footer-right-wrapper": true }, slot: "footer-end" }, index.h("gxg-button", { onClick: this.addReferencesCallbackHandler, type: "outlined-text-icon", icon: "general/references", part: "export-button", class: { "cancel-btn": true }, disabled: this.exportAllIsChecked }, this._componentLocale.footer.referencesButton), index.h("gxg-button", { type: "primary-text-icon", icon: "menus/new-object", part: "export-button", class: { "cancel-btn": true }, onClick: this.addObjectsCallbackHandler, disabled: this.exportAllIsChecked }, this._componentLocale.footer.addButton)))), this.loader ? (index.h("gxg-ide-loader", { cancelLabel: this._componentLocale.loader.cancelLabel, container: this.el, loaderTitle: this._componentLocale.loader.title, ref: el => (this.loaderEl = el), cancelCallback: this.loaderCancelCallbackHandler })) : null));
358
372
  }
359
373
  static get assetsDirs() { return ["gx-ide-assets/kb-manager-export"]; }
360
374
  get el() { return index.getElement(this); }
361
375
  static get watchers() { return {
362
376
  "treeModel": ["watchTreeModelHandler"],
363
- "dummyInitialTree": ["watchDummyInitialTreeHandler"],
364
- "objectTypes": ["watchObjectTypeslHandler"]
377
+ "exportingIsInProcess": ["watchExportingIsInProcessHandler"],
378
+ "objectTypes": ["watchObjectTypesHandler"]
365
379
  }; }
366
380
  };
367
381
  GxIdeKbManagerExport.style = kbManagerExportCss;
@@ -4,10 +4,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9bb1815.js');
6
6
  const locale = require('./locale-c8445ea4.js');
7
- const config = require('./config-8634e7dd.js');
7
+ const config = require('./config-8cf5ba3b.js');
8
8
  const helpers = require('./helpers-b62ea39c.js');
9
9
 
10
+ /* objects in file metadata*/
10
11
  const KB_OBJECT = "object";
12
+ const KB_CATEGORY = "category";
11
13
  const convertImportItemToTreeItem = (importCatIcon, importItems) => {
12
14
  const importTreeItems = [];
13
15
  importItems.forEach(importItem => {
@@ -15,7 +17,6 @@ const convertImportItemToTreeItem = (importCatIcon, importItems) => {
15
17
  id: importItem.id,
16
18
  caption: importItem.name,
17
19
  leftImgSrc: importCatIcon,
18
- checkbox: true,
19
20
  expanded: true,
20
21
  leaf: true,
21
22
  class: "object tree-view-item",
@@ -35,12 +36,13 @@ const convertImportCategoryToTreeView = (importCategoryData) => {
35
36
  importCategoryData.forEach(importCat => {
36
37
  const importCategoryTreeItem = {
37
38
  id: importCat.id,
39
+ // caption: importCat.name,
38
40
  caption: `${importCat.name} (${importCat.items.length})`,
39
41
  leftImgSrc: importCat.icon,
40
- checkbox: true,
41
42
  expanded: true,
42
43
  leaf: false,
43
44
  class: "category tree-view-item",
45
+ metadata: KB_CATEGORY,
44
46
  items: convertImportItemToTreeItem(importCat.icon, importCat.items)
45
47
  };
46
48
  treeData.push(importCategoryTreeItem);
@@ -71,7 +73,7 @@ const updateImportStatusTree = (importItemResultFullData, importTreeActualState)
71
73
  // the count is (1), because this is the first item for this category
72
74
  caption: `${importItemResultFullData.categoryName} (1)`,
73
75
  leftImgSrc: importItemResultFullData.categoryIcon,
74
- class: `tree-view-item tree-view-item--${importItemResultFullData.status}`,
76
+ class: `tree-view-item`,
75
77
  expanded: true,
76
78
  items: [
77
79
  {
@@ -138,7 +140,7 @@ const addImportItemResultDataItem = (importItemResultData, importCategoryData, i
138
140
  return updatedImportStatusTree;
139
141
  };
140
142
 
141
- const kbManagerImportCss = ".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--gray-01)}ch-grid-column{padding-inline-start:--gxg-container--padding;padding-inline-end:--gxg-container--padding}ch-grid-cell{--spacing-comp-02:var(--gxg-container--padding)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){box-shadow:var(--box-shadow-01) !important;height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-weight-regular);font-size:var(--font-size-lg);font-family:var(--font-family-primary);line-height:1.6em;height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}:host{display:block}.header{display:flex;flex-direction:row;gap:var(--gx-ide-grid-column-gap)}.header .select-file{flex:1}.main{height:100%;display:flex}.main>*{flex:1}.main .left-grid-item{border-right:1px solid var(--gx-ide-container-border-color)}.main .gx-ide-message{padding:50px 0}.main .tree-container{}.main .tree-container--empty{align-items:center;justify-content:center}.main .tree-container--import-status .tree-view-item--success::part(action){grid-template:\"first-img left-img text right-img\"/max-content max-content 1fr max-content}.main .tree-container--import-status .tree-view-item--success::part(action)::before{grid-area:first-img;content:\"\";width:var(--spacing-comp-02);height:var(--spacing-comp-02);border-radius:50%;background-color:var(--gray-03);background-color:var(--color-success-dark)}.main .tree-container--import-status .tree-view-item--warning::part(action){grid-template:\"first-img left-img text right-img\"/max-content max-content 1fr max-content}.main .tree-container--import-status .tree-view-item--warning::part(action)::before{grid-area:first-img;content:\"\";width:var(--spacing-comp-02);height:var(--spacing-comp-02);border-radius:50%;background-color:var(--gray-03);background-color:var(--color-warning-dark)}.main .tree-container--import-status .tree-view-item--error::part(action){grid-template:\"first-img left-img text right-img\"/max-content max-content 1fr max-content}.main .tree-container--import-status .tree-view-item--error::part(action)::before{grid-area:first-img;content:\"\";width:var(--spacing-comp-02);height:var(--spacing-comp-02);border-radius:50%;background-color:var(--gray-03);background-color:var(--color-error-dark)}.main .tree-container--no-warnings .tree-view-item--warning{display:none}.main .tree-container--no-errors .tree-view-item--error{display:none}.main .tree-container--no-successes .tree-view-item--success{display:none}.ghost-element{display:block;width:0;height:24px;}";
143
+ const kbManagerImportCss = ".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--gray-01)}ch-grid-column{padding-inline-start:--gxg-container--padding;padding-inline-end:--gxg-container--padding}ch-grid-cell{--spacing-comp-02:var(--gxg-container--padding)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){box-shadow:var(--box-shadow-01) !important;height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-weight-regular);font-size:var(--font-size-lg);font-family:var(--font-family-primary);line-height:1.6em;height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}:host{display:block}.header{display:flex;flex-direction:row;gap:var(--gx-ide-grid-column-gap)}.header .select-file{flex:1}.main{height:100%;display:flex}.main>*{flex:1}.main .left-grid-item{border-right:1px solid var(--gx-ide-container-border-color)}.main .gx-ide-message{padding:50px 0}.main .tree-container{}.main .tree-container--empty{align-items:center;justify-content:center}.main .tree-container--import-status .tree-view-item--success::part(action){grid-template:\"first-img left-img text right-img\"/max-content max-content 1fr max-content}.main .tree-container--import-status .tree-view-item--success::part(action)::before{grid-area:first-img;content:\"\";width:var(--spacing-comp-02);height:var(--spacing-comp-02);border-radius:50%;background-color:var(--gray-03);margin-inline-end:var(--spacing-comp-01);background-color:var(--color-success-dark)}.main .tree-container--import-status .tree-view-item--warning::part(action){grid-template:\"first-img left-img text right-img\"/max-content max-content 1fr max-content}.main .tree-container--import-status .tree-view-item--warning::part(action)::before{grid-area:first-img;content:\"\";width:var(--spacing-comp-02);height:var(--spacing-comp-02);border-radius:50%;background-color:var(--gray-03);margin-inline-end:var(--spacing-comp-01);background-color:var(--color-warning-dark)}.main .tree-container--import-status .tree-view-item--error::part(action){grid-template:\"first-img left-img text right-img\"/max-content max-content 1fr max-content}.main .tree-container--import-status .tree-view-item--error::part(action)::before{grid-area:first-img;content:\"\";width:var(--spacing-comp-02);height:var(--spacing-comp-02);border-radius:50%;background-color:var(--gray-03);margin-inline-end:var(--spacing-comp-01);background-color:var(--color-error-dark)}.main .tree-container--no-warnings .tree-view-item--warning{display:none}.main .tree-container--no-errors .tree-view-item--error{display:none}.main .tree-container--no-successes .tree-view-item--success{display:none}.ghost-element{display:block;width:0;height:24px;}";
142
144
 
143
145
  const GxIdeKbManagerImport = class {
144
146
  constructor(hostRef) {
@@ -150,6 +152,34 @@ const GxIdeKbManagerImport = class {
150
152
  this.importCategoryData = [];
151
153
  this.objectsInFileTotalNodes = 0;
152
154
  // 9.LOCAL METHODS //
155
+ this.evaluateImportStatusMessage = () => {
156
+ this.someStatusVisible =
157
+ this.statusInfo.error.display ||
158
+ this.statusInfo.warning.display ||
159
+ this.statusInfo.success.display;
160
+ };
161
+ this.countMessages = () => {
162
+ /* totally inefficient way to count. This has to be improved*/
163
+ let errors = 0;
164
+ let warnings = 0;
165
+ let successes = 0;
166
+ this.importTreeState.forEach(category => {
167
+ category.items.forEach(object => {
168
+ if (object.class.includes("tree-view-item--error")) {
169
+ errors += object.items.length;
170
+ }
171
+ else if (object.class.includes("tree-view-item--warning")) {
172
+ warnings += object.items.length;
173
+ }
174
+ else if (object.class.includes("tree-view-item--success")) {
175
+ successes += object.items.length;
176
+ }
177
+ });
178
+ });
179
+ this.statusInfo.error.number = errors;
180
+ this.statusInfo.warning.number = warnings;
181
+ this.statusInfo.success.number = successes;
182
+ };
153
183
  this.evaluateObjects = () => {
154
184
  var _a;
155
185
  this.noObjects = !!(((_a = this.objectsTreeState) === null || _a === void 0 ? void 0 : _a.length) === 0 || !this.objectsTreeState);
@@ -178,7 +208,7 @@ const GxIdeKbManagerImport = class {
178
208
  this.evaluateHeaderActiveButton = () => {
179
209
  if (!this.selectedFile) {
180
210
  this.headerButtonsGroup.activeButtonId = "select-file-btn";
181
- this.fileInputEl.value = undefined;
211
+ this.fileInputEl.clearInput();
182
212
  }
183
213
  else {
184
214
  this.headerButtonsGroup.activeButtonId = "load-file-btn";
@@ -186,17 +216,15 @@ const GxIdeKbManagerImport = class {
186
216
  };
187
217
  this.importObjectsHandler = async () => {
188
218
  if (this.importCallback) {
189
- this.importingObjects = true;
219
+ this.importingIsInProcess = true;
190
220
  this.objectsButtonsGroup.activeButtonId = "cancel-import-btn";
191
- const result = await this.importCallback(this.checkedObjectsIds);
192
- if (result || result === false) {
193
- this.importingObjects = false;
194
- this.objectsButtonsGroup.activeButtonId = "import-btn";
195
- }
221
+ this.importCallback(this.checkedObjectsIds).then(() => {
222
+ this.importingIsInProcess = false;
223
+ });
196
224
  }
197
225
  };
198
226
  this.objectsTreeCheckedItemsChangedHandler = (event) => {
199
- /* Begin of evaluate 'select/unselect checkbox' state*/
227
+ /* 1. Begin of evaluate 'select/unselect checkbox' state*/
200
228
  if (event.detail == null) {
201
229
  this.toggleObjectsCheckboxEl.checked = false;
202
230
  this.toggleObjectsCheckboxEl.indeterminate = false;
@@ -213,19 +241,56 @@ const GxIdeKbManagerImport = class {
213
241
  this.toggleObjectsCheckboxEl.checked = firstItemCheckedValue;
214
242
  this.toggleObjectsCheckboxEl.indeterminate =
215
243
  !allItemsHaveTheSameCheckedValue;
216
- /* End of evaluate 'select/unselect checkbox' state*/
244
+ /* /End of evaluate 'select/unselect checkbox' state*/
245
+ /* 2. Begin of checked items evaluation*/
217
246
  const checkedItems = allItemsWithCheckbox.filter(node => node.item.checked);
218
247
  // objects checked
219
248
  const checkedObjects = checkedItems.filter(node => node.item.metadata === KB_OBJECT);
220
- console.log("checkedObjects", checkedObjects);
221
249
  const checkedObjectsIds = [];
222
250
  if (checkedObjects.length > 0) {
223
251
  checkedObjects.forEach(objectChecked => {
224
252
  checkedObjectsIds.push(objectChecked.item.id);
225
253
  });
226
254
  }
255
+ /* /End of checked items evaluation*/
256
+ /* 3. Begin of caption update*/
257
+ /* TO DO (when we can differentiate the caption from the number of children)*/
258
+ // const categoryItems = allItemsWithCheckbox.filter(
259
+ // node => node.item.metadata === KB_CATEGORY
260
+ // );
261
+ // categoryItems.forEach(category => {
262
+ // const itemInfo = category.item;
263
+ // // Update the amount of checked values
264
+ // if (itemInfo.leaf !== true) {
265
+ // const totalItems = itemInfo.items.length;
266
+ // const totalItemsChecked = itemInfo.items.filter(
267
+ // itemUIModel => itemUIModel.checked
268
+ // ).length;
269
+ // const newItemCaption =
270
+ // totalItems !== totalItemsChecked
271
+ // ? `${itemInfo.caption} (${totalItemsChecked}/${totalItems})`
272
+ // : `${itemInfo.caption} (${totalItems})`;
273
+ // // Only update the item caption if needed
274
+ // if (newItemCaption !== itemInfo.caption) {
275
+ // this.objectsTreeEl.updateItemsProperties([itemInfo.id], {
276
+ // id: itemInfo.id,
277
+ // caption: newItemCaption
278
+ // });
279
+ // }
280
+ // }
281
+ // });
282
+ /* /End of caption update*/
227
283
  this.checkedObjectsIds = checkedObjectsIds;
228
284
  };
285
+ this.objectsTreeContextMenuHandler = (event) => {
286
+ if (this.objectContextMenuCallback && event.detail.metadata === KB_OBJECT) {
287
+ this.objectContextMenuCallback({
288
+ objectId: event.detail.id,
289
+ screenX: event.detail.contextmenuEvent.screenX,
290
+ screenY: event.detail.contextmenuEvent.screenY
291
+ });
292
+ }
293
+ };
229
294
  this.cancelImportHandler = () => {
230
295
  if (this.cancelCallback) {
231
296
  this.cancelCallback();
@@ -244,23 +309,31 @@ const GxIdeKbManagerImport = class {
244
309
  this.statusInfo.warning.number = 0;
245
310
  this.statusInfo.success.number = 0;
246
311
  };
247
- this.toggleSelectionHandler = (e) => {
248
- const checked = e.detail.value;
312
+ this.toggleSelectionClickHandler = (e) => {
313
+ const checked = e.target.checked;
249
314
  this.toggleObjectsCheckboxEl.indeterminate = false;
250
315
  this.objectsTreeEl.updateAllItemsProperties({ checked: checked });
251
316
  };
252
317
  this.statusButtonsSelectionChangedHandler = (e) => {
253
318
  const activeStates = e.detail;
254
- const newStatusInfo = Object.assign({}, this.statusInfo);
255
- newStatusInfo.warning.display = false;
256
- newStatusInfo.error.display = false;
257
- newStatusInfo.success.display = false;
258
- activeStates.forEach(activeState => {
259
- const status = activeState.itemId;
260
- newStatusInfo[status].display = true;
261
- this.statusInfo = newStatusInfo;
262
- });
263
- this.evaluateHiddenImportsMessage();
319
+ const errorIndex = activeStates.findIndex(state => state.itemId === "error");
320
+ const warningIndex = activeStates.findIndex(state => state.itemId === "warning");
321
+ const successIndex = activeStates.findIndex(state => state.itemId === "success");
322
+ this.statusInfo = {
323
+ error: {
324
+ display: errorIndex !== -1,
325
+ number: this.statusInfo.error.number
326
+ },
327
+ warning: {
328
+ display: warningIndex !== -1,
329
+ number: this.statusInfo.warning.number
330
+ },
331
+ success: {
332
+ display: successIndex !== -1,
333
+ number: this.statusInfo.success.number
334
+ }
335
+ };
336
+ this.evaluateImportStatusMessage();
264
337
  };
265
338
  this.evaluateCheckAllValue = () => {
266
339
  let checked = true;
@@ -271,8 +344,13 @@ const GxIdeKbManagerImport = class {
271
344
  }
272
345
  return checked;
273
346
  };
274
- this.evaluateHiddenImportsMessage = () => {
275
- /* to do*/
347
+ this.fileClearedHandler = () => {
348
+ this.selectedFile = null;
349
+ };
350
+ this.loaderCancelCallbackHandler = () => {
351
+ if (this.cancelCallback) {
352
+ this.cancelCallback();
353
+ }
276
354
  };
277
355
  this.checkedObjectsIds = [];
278
356
  this.noObjects = undefined;
@@ -292,15 +370,19 @@ const GxIdeKbManagerImport = class {
292
370
  }
293
371
  };
294
372
  this.objectsTreeState = [];
373
+ this.importStatusMessage = undefined;
374
+ this.someStatusVisible = undefined;
295
375
  this.noImport = undefined;
296
376
  this.importTreeState = [];
297
- this.importingObjects = false;
377
+ this.importingIsInProcess = false;
378
+ this.loader = false;
298
379
  this.selectedFile = undefined;
299
380
  this.optionsCallback = undefined;
300
381
  this.importCallback = undefined;
301
382
  this.loadCallback = undefined;
302
383
  this.cancelCallback = undefined;
303
384
  this.statusMinimal = false;
385
+ this.objectContextMenuCallback = undefined;
304
386
  }
305
387
  watchObjectsTreeStateHandler(newState) {
306
388
  this.noObjects = !!(newState.length === 0 || !newState);
@@ -308,6 +390,22 @@ const GxIdeKbManagerImport = class {
308
390
  }
309
391
  watchImportTreeStateHandler(newState) {
310
392
  this.noImport = !!(newState.length === 0 || !newState);
393
+ if (this.noImport) {
394
+ this.importStatusMessage =
395
+ this._componentLocale.main.importStatus.noImportedFiles;
396
+ }
397
+ else {
398
+ this.importStatusMessage =
399
+ this._componentLocale.main.importStatus.importedButHidden;
400
+ }
401
+ }
402
+ watchImportingIsInProcessHandler(isImporting) {
403
+ if (isImporting && this.loader) {
404
+ this.loaderEl.show = true;
405
+ }
406
+ else if (!isImporting && this.loader) {
407
+ this.loaderEl.show = false;
408
+ }
311
409
  }
312
410
  watchSelectedFileHandler() {
313
411
  this.evaluateHeaderActiveButton();
@@ -318,6 +416,9 @@ const GxIdeKbManagerImport = class {
318
416
  this.componentDidLoadEvent.emit(true);
319
417
  this.evaluateObjects();
320
418
  this.evaluateImport();
419
+ this.importStatusMessage =
420
+ this._componentLocale.main.importStatus.noImportedFiles;
421
+ this.evaluateImportStatusMessage();
321
422
  }
322
423
  componentDidRender() {
323
424
  if (!this.renderedFirstTime) {
@@ -332,33 +433,35 @@ const GxIdeKbManagerImport = class {
332
433
  */
333
434
  async addResultItem(item) {
334
435
  this.importTreeState = addImportItemResultDataItem(item, this.importCategoryData, this.importTreeState);
335
- this.statusInfo[`${item.status}`].number += item.messages.length;
436
+ this.countMessages();
336
437
  }
337
438
  // 10.RENDER() FUNCTION //
338
439
  render() {
339
- return (index.h(index.Host, { class: "gx-ide-component" }, index.h("div", { class: "gx-ide-main-wrapper" }, index.h("gx-ide-container", { noContentPadding: true, noFooterPadding: true, containerTitle: this._componentLocale.componentName }, index.h("header", { class: "header", slot: "header" }, index.h("gxg-form-text", { type: "file", class: "select-file", label: this._componentLocale.header.fileNameLabel, placeholder: this._componentLocale.header.fileNamePlaceholder, part: "file-name", acceptFile: ".xpz, .xml", clearButton: true, iconPosition: "start", onFileSelected: this.fileSelectedHandler, ref: (el) => (this.fileInputEl = el) }), index.h("gxg-button-group", {
440
+ return (index.h(index.Host, { class: "gx-ide-component" }, index.h("div", { class: "gx-ide-main-wrapper" }, index.h("gx-ide-container", { noContentPadding: true, noFooterPadding: true, containerTitle: this._componentLocale.componentName }, index.h("header", { class: "header", slot: "header" }, index.h("gxg-form-text", { type: "file", class: "select-file", label: this._componentLocale.header.fileNameLabel, placeholder: this._componentLocale.header.fileNamePlaceholder, part: "file-name", acceptFile: ".xpz, .xml", clearButton: true, iconPosition: "start", onFileSelected: this.fileSelectedHandler, onClearButtonClicked: this.fileClearedHandler, ref: (el) => (this.fileInputEl = el) }), index.h("gxg-button-group", {
340
441
  // default-selected-btn-id="select-file-btn"
341
442
  ref: (el) => (this.headerButtonsGroup = el)
342
- }, index.h("button", { id: "select-file-btn", part: "select-file-button", onClick: this.selectFileHandler }, this._componentLocale.header.selectFileButton), index.h("button", { id: "load-file-btn", part: "load-file-button", disabled: !this.selectedFile, onClick: this.loadFileHandler }, this._componentLocale.header.loadButton))), index.h("main", { class: "main" }, index.h("gx-ide-container", { containerTitle: this._componentLocale.main.objectsInFile.title, noContentPadding: true, noBorderFooter: true, class: "left-grid-item", slimmerFooter: true, inactiveTitle: this.noObjects, footerSubtleShadow: !this.noObjects, titleType: "secondary" }, index.h("div", { class: {
443
+ }, index.h("button", { id: "select-file-btn", part: "select-file-button", onClick: this.selectFileHandler, disabled: this.importingIsInProcess }, this._componentLocale.header.selectFileButton), index.h("button", { id: "load-file-btn", part: "load-file-button", disabled: !this.selectedFile || this.importingIsInProcess, onClick: this.loadFileHandler }, this._componentLocale.header.loadButton))), index.h("main", { class: "main" }, index.h("gx-ide-container", { containerTitle: this._componentLocale.main.objectsInFile.title, noContentPadding: true, noBorderFooter: true, class: "left-grid-item", slimmerFooter: true, inactiveTitle: this.noObjects, footerSubtleShadow: !this.noObjects, titleType: "secondary" }, index.h("div", { class: {
343
444
  "tree-container": true,
344
445
  "tree-container--objects-in-file": true,
345
446
  "tree-container--empty": this.noObjects
346
- } }, !this.noObjects ? (index.h("gxg-tree-view", { treeModel: this.objectsTreeState, dragDisabled: true, dropDisabled: true, toggleCheckboxes: true, onCheckedItemsChange: this.objectsTreeCheckedItemsChangedHandler, ref: el => (this.objectsTreeEl = el) })) : (index.h("div", { class: "gx-ide-message" }, index.h("gxg-text", { textAlign: config.config.gxgMessage.common.textAlign, padding: config.config.gxgMessage.common.textAlign, type: config.config.gxgMessage.common.type, maxWidth: config.config.gxgMessage.common.maxWidth, part: "objects-in-file-empty-status-message" }, "There are no Objects. ", index.h("br", null), index.h("gxg-text", { type: "text-link-no-line", onClick: this.selectFileHandler }, "Begin by selecting a file."))))), index.h("gxg-form-checkbox", { label: this._componentLocale.main.objectsInFile.selectUnselect, part: "select-all-checkbox", slot: "footer-start", disabled: this.importingObjects || this.objectsTreeState.length === 0, checked: this.evaluateCheckAllValue(), onChange: this.toggleSelectionHandler, ref: (el) => (this.toggleObjectsCheckboxEl =
347
- el) }), index.h("gxg-button-group", { slot: "footer-end", ref: (el) => (this.objectsButtonsGroup = el) }, index.h("button", { id: "import-btn", part: "import-button", disabled: this.importingObjects ||
348
- this.checkedObjectsIds.length === 0, onClick: this.importObjectsHandler }, this._componentLocale.main.objectsInFile.importButton), index.h("button", { id: "cancel-import-btn", part: "cancel-import-button", disabled: !this.importingObjects, onClick: this.cancelImportHandler }, this._componentLocale.main.objectsInFile.cancelButton)), index.h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/settings", slot: "footer-end", part: "select-kb-btn", onClick: this.optionsHandler }, this._componentLocale.header.optionsButton)), index.h("gx-ide-container", { containerTitle: this._componentLocale.main.importStatus.title, noContentPadding: true, noBorderFooter: true, slimmerFooter: true, inactiveTitle: this.noImport, footerSubtleShadow: !this.noImport, titleType: "secondary" }, index.h("div", { class: {
447
+ } }, !this.noObjects ? (index.h("gxg-tree-view", { treeModel: this.objectsTreeState, dragDisabled: true, dropDisabled: true, toggleCheckboxes: true, checkbox: true, checked: true, onCheckedItemsChange: this.objectsTreeCheckedItemsChangedHandler, onItemContextmenu: this.objectsTreeContextMenuHandler, ref: el => (this.objectsTreeEl = el) })) : (index.h("div", { class: "gx-ide-message" }, index.h("gxg-text", { textAlign: config.config.gxgMessage.common.textAlign, padding: config.config.gxgMessage.common.textAlign, type: config.config.gxgMessage.common.type, maxWidth: config.config.gxgMessage.common.maxWidth, part: "objects-in-file-empty-status-message" }, "There are no Objects. ", index.h("br", null), index.h("gxg-text", { type: "text-link-no-line", onClick: this.selectFileHandler }, "Begin by selecting a file."))))), index.h("gxg-form-checkbox", { label: this._componentLocale.main.objectsInFile.selectUnselect, part: "select-all-checkbox", slot: "footer-start", disabled: this.importingIsInProcess ||
448
+ this.objectsTreeState.length === 0, checked: this.evaluateCheckAllValue(), onClick: this.toggleSelectionClickHandler, ref: (el) => (this.toggleObjectsCheckboxEl =
449
+ el) }), index.h("gxg-button-group", { slot: "footer-end", ref: (el) => (this.objectsButtonsGroup = el) }, index.h("button", { id: "import-btn", part: "import-button", disabled: this.importingIsInProcess ||
450
+ this.checkedObjectsIds.length === 0, onClick: this.importObjectsHandler }, this._componentLocale.main.objectsInFile.importButton), index.h("button", { id: "cancel-import-btn", part: "cancel-import-button", disabled: !this.importingIsInProcess, onClick: this.cancelImportHandler }, this._componentLocale.main.objectsInFile.cancelButton)), index.h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/settings", slot: "footer-end", part: "select-kb-btn", onClick: this.optionsHandler }, this._componentLocale.header.optionsButton)), index.h("gx-ide-container", { containerTitle: this._componentLocale.main.importStatus.title, noContentPadding: true, noBorderFooter: true, slimmerFooter: true, inactiveTitle: this.noImport, footerSubtleShadow: !this.noImport, titleType: "secondary" }, index.h("div", { class: {
349
451
  "tree-container": true,
350
452
  "tree-container--import-status": true,
351
- "tree-container--empty": this.noImport,
453
+ "tree-container--empty": this.noImport || !this.someStatusVisible,
352
454
  "tree-container--no-warnings": !this.statusInfo.warning.display,
353
455
  "tree-container--no-errors": !this.statusInfo.error.display,
354
- "tree-container--no-successes": this.statusInfo.success.display === false
355
- } }, !this.noImport ? (index.h("gxg-tree-view", { treeModel: this.importTreeState, toggleCheckboxes: true, ref: el => (this.objectsTreeEl = el) })) : (index.h("gxg-text", { textAlign: config.config.gxgMessage.common.textAlign, padding: config.config.gxgMessage.common.textAlign, type: config.config.gxgMessage.common.type, maxWidth: config.config.gxgMessage.common.maxWidth, part: "objects-in-file-empty-status-message", class: "gx-ide-message" }, "There are no Imported files."))), index.h("gxg-text", { type: "button-like", slot: "footer-end", part: "select-kb-btn", onClick: this.clearStatusHandler, disabled: this.noImport }, this._componentLocale.main.importStatus.clearButton), index.h("span", { class: "ghost-element", slot: "footer-start" }))), index.h("footer", { slot: "footer-start" }, index.h("gx-ide-status-buttons", { errors: this.statusInfo.error.number, warnings: this.statusInfo.warning.number, successes: this.statusInfo.success.number, compact: true, noBorderTop: true, noBorderBottom: true, noBorderStart: true, minimal: this.statusMinimal, onSelectionChanged: this.statusButtonsSelectionChangedHandler }))), index.h("gxg-ide-loader", { description: "Importing objects..." }))));
456
+ "tree-container--no-successes": !this.statusInfo.success.display
457
+ } }, !this.noImport && this.someStatusVisible ? (index.h("gxg-tree-view", { treeModel: this.importTreeState, toggleCheckboxes: true, ref: el => (this.objectsTreeEl = el) })) : (index.h("gxg-text", { textAlign: config.config.gxgMessage.common.textAlign, padding: config.config.gxgMessage.common.textAlign, type: config.config.gxgMessage.common.type, maxWidth: config.config.gxgMessage.common.maxWidth, part: "objects-in-file-empty-status-message", class: "gx-ide-message" }, this.importStatusMessage))), index.h("gxg-text", { type: "button-like", slot: "footer-end", part: "select-kb-btn", onClick: this.clearStatusHandler, disabled: this.noImport || this.importingIsInProcess }, this._componentLocale.main.importStatus.clearButton), index.h("span", { class: "ghost-element", slot: "footer-start" }))), index.h("footer", { slot: "footer-start" }, index.h("gx-ide-status-buttons", { errors: this.statusInfo.error.number, warnings: this.statusInfo.warning.number, successes: this.statusInfo.success.number, compact: true, noBorderTop: true, noBorderBottom: true, noBorderStart: true, minimal: this.statusMinimal, onSelectionChanged: this.statusButtonsSelectionChangedHandler }))), index.h("gxg-ide-loader", { description: "Importing objects..." })), this.loader ? (index.h("gxg-ide-loader", { cancelLabel: this._componentLocale.loader.cancelLabel, container: this.el, loaderTitle: this._componentLocale.loader.title, ref: el => (this.loaderEl = el), cancelCallback: this.loaderCancelCallbackHandler })) : null));
356
458
  }
357
459
  static get assetsDirs() { return ["gx-ide-assets/kb-manager-import"]; }
358
460
  get el() { return index.getElement(this); }
359
461
  static get watchers() { return {
360
462
  "objectsTreeState": ["watchObjectsTreeStateHandler"],
361
463
  "importTreeState": ["watchImportTreeStateHandler"],
464
+ "importingIsInProcess": ["watchImportingIsInProcessHandler"],
362
465
  "selectedFile": ["watchSelectedFileHandler"]
363
466
  }; }
364
467
  };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9bb1815.js');
6
6
  const locale = require('./locale-c8445ea4.js');
7
- const config = require('./config-8634e7dd.js');
7
+ const config = require('./config-8cf5ba3b.js');
8
8
  const common = require('./common-2100f35f.js');
9
9
  const formValidation = require('./form-validation-b7fb4ca8.js');
10
10
 
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9bb1815.js');
6
6
  const locale = require('./locale-c8445ea4.js');
7
- const config = require('./config-8634e7dd.js');
7
+ const config = require('./config-8cf5ba3b.js');
8
8
  const common = require('./common-2100f35f.js');
9
9
  const formValidation = require('./form-validation-b7fb4ca8.js');
10
10
 
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9bb1815.js');
6
6
  const locale = require('./locale-c8445ea4.js');
7
- const config = require('./config-8634e7dd.js');
7
+ const config = require('./config-8cf5ba3b.js');
8
8
 
9
9
  const newObjectCss = ".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--gray-01)}ch-grid-column{padding-inline-start:--gxg-container--padding;padding-inline-end:--gxg-container--padding}ch-grid-cell{--spacing-comp-02:var(--gxg-container--padding)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){box-shadow:var(--box-shadow-01) !important;height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-weight-regular);font-size:var(--font-size-lg);font-family:var(--font-family-primary);line-height:1.6em;height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--color-background)}.categories-types-container{max-height:200px;display:flex;flex-direction:row;flex-shrink:1;overflow:hidden;border-bottom:1px solid var(--gx-ide-container-border-color)}.categories-types-container .categories{flex:1}.categories-types-container .types{flex:2}.api-description{display:flex;flex-direction:column;flex-shrink:0;gap:var(--gx-ide-grid-row-gap);padding:var(--gx-ide-grid-row-gap)}.form{display:grid;grid-template-columns:minmax(95px, auto) 1fr;grid-template-areas:\"name-label name-input\" \"description-label description-input\" \"module-label module-input\";gap:var(--gx-ide-grid-row-gap);column-gap:0}.form .name-label{grid-area:\"name-label\"}.form .name-input{grid-area:\"name-input\"}.form .description-label{grid-area:\"description-label\"}.form .description-input{grid-area:\"description-input\"}.form .module-label{grid-area:\"module-label\"}.form .module-input{grid-area:\"module-input\"}";
10
10
 
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9bb1815.js');
6
6
  const locale = require('./locale-c8445ea4.js');
7
- const config = require('./config-8634e7dd.js');
7
+ const config = require('./config-8cf5ba3b.js');
8
8
  const renderComboItems = require('./render-combo-items-05509216.js');
9
9
  const helpers = require('./helpers-b62ea39c.js');
10
10
  const grid = require('./grid-d12c16c7.js');
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9bb1815.js');
6
6
  const locale = require('./locale-c8445ea4.js');
7
- const config = require('./config-8634e7dd.js');
7
+ const config = require('./config-8cf5ba3b.js');
8
8
  const renderSuggest = require('./render-suggest-a4363c7b.js');
9
9
 
10
10
  /**
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9bb1815.js');
6
6
  const locale = require('./locale-c8445ea4.js');
7
- const config = require('./config-8634e7dd.js');
7
+ const config = require('./config-8cf5ba3b.js');
8
8
  const formValidation = require('./form-validation-b7fb4ca8.js');
9
9
  const common = require('./common-2100f35f.js');
10
10
 
@@ -73,76 +73,4 @@ const GxIdeStatusButtons = class {
73
73
  };
74
74
  GxIdeStatusButtons.style = gxIdeStatusButtonsCss;
75
75
 
76
- const ideLoaderCss = ":host(.gxg--disabled) .form-element,:host(.gxg--disabled.form-element){pointer-events:none;background-color:var(--gxg-background-color--disabled) !important;color:var(--gxg-color--disabled) !important;border-color:var(--gxg-border-color--disabled) !important;cursor:default !important}:host{display:block}ch-window::part(mask){overflow:hidden}ch-window::part(main){height:100%}ch-window::part(window){width:100%;height:100%}.loader-wrapper{opacity:0;transition:var(--show-transition) opacity;width:100%;height:100%;display:flex;background-color:rgba(var(--color-background--rgb), 0.45);backdrop-filter:blur(15px);padding:var(--spacing-comp-05);flex-direction:column;gap:var(--spacing-comp-04);align-items:center;justify-content:center;box-sizing:border-box;-webkit-animation:wrapper 0.6s infinite alternate;animation:wrapper 0.6s infinite alternate;color:var(--color-on-secondary)}.loader-wrapper--visible{opacity:1}.loader-spinner{border:2px var(--gray-01) solid;border-top:2px var(--color-primary-enabled) solid;border-radius:50%;-webkit-animation:spinner 0.6s infinite linear;animation:spinner 0.6s infinite linear;width:30px;height:30px}.loader-description{max-width:400px;text-align:center}@keyframes wrapper{from{background-color:rgba(var(--color-background--rgb), 0.45)}to{background-color:rgba(var(--gray-02--rgb), 0.25)}}@-webkit-keyframes spinner{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(359deg)}}@keyframes spinner{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}";
77
-
78
- const IdeLoader = class {
79
- constructor(hostRef) {
80
- index.registerInstance(this, hostRef);
81
- /*
82
- INDEX:
83
- 1.OWN PROPERTIES
84
- 2.REFERENCE TO ELEMENTS
85
- 3.STATE() VARIABLES
86
- 4.PUBLIC PROPERTY API | WATCH'S
87
- 5.EVENTS (EMIT)
88
- 6.COMPONENT LIFECYCLE EVENTS
89
- 7.LISTENERS
90
- 8.PUBLIC METHODS API
91
- 9.LOCAL METHODS
92
- 10.RENDER() FUNCTION
93
- */
94
- // 1.OWN PROPERTIES //
95
- /**
96
- * The transition speed for displaying/hiding the ch-window
97
- */
98
- this.showTransition = 200;
99
- // 3.STATE() VARIABLES //
100
- /**
101
- * shows the ch-window
102
- */
103
- this.showWindow = false;
104
- /**
105
- * shows the '.loader-wrapper'
106
- */
107
- this.showWrapper = false;
108
- /**
109
- * It shows the loader
110
- */
111
- this.show = false;
112
- }
113
- showHandler(show) {
114
- const timeout = 50;
115
- if (show) {
116
- this.showWindow = true;
117
- setTimeout(() => {
118
- this.showWrapper = true;
119
- }, timeout);
120
- }
121
- else {
122
- this.showWrapper = false;
123
- setTimeout(() => {
124
- this.showWindow = false;
125
- }, this.showTransition);
126
- }
127
- }
128
- // 5.EVENTS (EMIT) //
129
- // 6.COMPONENT LIFECYCLE EVENTS //
130
- // 7.LISTENERS //
131
- // 8.PUBLIC METHODS API //
132
- // 9.LOCAL METHODS //
133
- // 10.RENDER() FUNCTION //
134
- render() {
135
- return (index.h(index.Host, null, index.h("ch-window", { closeOnEscape: false, closeOnOutsideClick: false, container: this.container, hidden: !this.showWindow, modal: false, showFooter: false, showHeader: false, style: { "--show-transition": `${this.showTransition}ms` } }, index.h("div", { class: {
136
- "loader-wrapper": true,
137
- "loader-wrapper--visible": this.showWrapper,
138
- } }, index.h("div", { class: "loader-spinner" }), this.description ? (index.h("gxg-title", { class: "loader-description", type: "title-04", alignment: "center" }, this.description)) : // <gxg-title>{this.description}</gxg-title>
139
- null))));
140
- }
141
- static get watchers() { return {
142
- "show": ["showHandler"]
143
- }; }
144
- };
145
- IdeLoader.style = ideLoaderCss;
146
-
147
76
  exports.gx_ide_status_buttons = GxIdeStatusButtons;
148
- exports.gxg_ide_loader = IdeLoader;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9bb1815.js');
6
6
  const locale = require('./locale-c8445ea4.js');
7
- const config = require('./config-8634e7dd.js');
7
+ const config = require('./config-8cf5ba3b.js');
8
8
  const grid = require('./grid-d12c16c7.js');
9
9
  const renderComboItems = require('./render-combo-items-05509216.js');
10
10
  const helpers = require('./helpers-b62ea39c.js');