@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
@@ -1,19 +1,22 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { L as Locale } from './locale.js';
3
3
  import { c as config } from './config.js';
4
- import { d as defineCustomElement$j } from './checkbox.js';
5
- import { d as defineCustomElement$i } from './icon.js';
6
- import { d as defineCustomElement$h } from './tree-view.js';
7
- import { d as defineCustomElement$g } from './tree-view-item.js';
8
- import { d as defineCustomElement$f } from './tree-view-render.js';
9
- import { d as defineCustomElement$e } from './container.js';
10
- import { d as defineCustomElement$d } from './directory-selector.js';
11
- import { d as defineCustomElement$c } from './title.js';
12
- import { d as defineCustomElement$b } from './button.js';
13
- import { d as defineCustomElement$a } from './button-group.js';
14
- import { d as defineCustomElement$9 } from './form-checkbox.js';
15
- import { d as defineCustomElement$8 } from './form-text.js';
16
- import { d as defineCustomElement$7 } from './icon2.js';
4
+ import { d as defineCustomElement$m } from './checkbox.js';
5
+ import { d as defineCustomElement$l } from './icon.js';
6
+ import { d as defineCustomElement$k } from './tree-view.js';
7
+ import { d as defineCustomElement$j } from './tree-view-item.js';
8
+ import { d as defineCustomElement$i } from './tree-view-render.js';
9
+ import { d as defineCustomElement$h } from './ch-window2.js';
10
+ import { d as defineCustomElement$g } from './ch-window-close2.js';
11
+ import { d as defineCustomElement$f } from './container.js';
12
+ import { d as defineCustomElement$e } from './directory-selector.js';
13
+ import { d as defineCustomElement$d } from './title.js';
14
+ import { d as defineCustomElement$c } from './button.js';
15
+ import { d as defineCustomElement$b } from './button-group.js';
16
+ import { d as defineCustomElement$a } from './form-checkbox.js';
17
+ import { d as defineCustomElement$9 } from './form-text.js';
18
+ import { d as defineCustomElement$8 } from './icon2.js';
19
+ import { d as defineCustomElement$7 } from './ide-loader.js';
17
20
  import { d as defineCustomElement$6 } from './gxg-label2.js';
18
21
  import { d as defineCustomElement$5 } from './text.js';
19
22
  import { d as defineCustomElement$4 } from './title2.js';
@@ -179,7 +182,6 @@ const GxIdeKbManagerExport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
179
182
  this.__registerHost();
180
183
  this.componentDidLoadEvent = createEvent(this, "componentDidLoadEvent", 7);
181
184
  this.componentDidRenderFirstTime = createEvent(this, "componentDidRenderFirstTime", 7);
182
- this.checkedObjectsIds = [];
183
185
  this.checkedPropertiesIds = [];
184
186
  this.renderedFirstTime = false;
185
187
  this.flattenedObjectTypes = new Map();
@@ -256,6 +258,7 @@ const GxIdeKbManagerExport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
256
258
  };
257
259
  this.exportCallbackHandler = async () => {
258
260
  if (this.exportCallback) {
261
+ this.exportingIsInProcess = true;
259
262
  const exportAllChecked = this.exportAllCheckboxEl.checked;
260
263
  const fileName = this.fileNameEl.value;
261
264
  const checkedKbPropertiesIds = this.addKbPropertiesIsChecked
@@ -264,7 +267,9 @@ const GxIdeKbManagerExport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
264
267
  const checkedObjectIds = exportAllChecked
265
268
  ? undefined
266
269
  : this.checkedObjectsIds;
267
- this.exportCallback(fileName, checkedKbPropertiesIds, checkedObjectIds);
270
+ this.exportCallback(fileName, checkedKbPropertiesIds, checkedObjectIds).then(() => {
271
+ this.exportingIsInProcess = false;
272
+ });
268
273
  // returns Promise<boolean> but no procedure was detailed on the spec.
269
274
  }
270
275
  };
@@ -312,14 +317,23 @@ const GxIdeKbManagerExport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
312
317
  h("gxg-text", { type: "text-link-no-line", textAlign: "center", onClick: this.addObjectsCallbackHandler }, this._componentLocale.main.beginByADdingSomeObjects)
313
318
  ]) : (h("span", null, this._componentLocale.main.exportAllMessage))));
314
319
  };
320
+ this.clearButtonDisabledConditions = () => {
321
+ return this.noObjects || this.checkedObjectsIds.length === 0;
322
+ };
323
+ this.loaderCancelCallbackHandler = () => {
324
+ if (this.cancelCallback) {
325
+ this.cancelCallback();
326
+ }
327
+ };
315
328
  this.exportAllIsChecked = false;
316
- this.exportingIsInProcess = false;
317
329
  this.addKbPropertiesIsChecked = false;
330
+ this.checkedObjectsIds = [];
318
331
  this.fileName = "";
319
332
  this.exportFilePathName = undefined;
320
333
  this.noObjects = undefined;
321
334
  this.treeModel = [];
322
- this.dummyInitialTree = undefined;
335
+ this.exportingIsInProcess = false;
336
+ this.loader = false;
323
337
  this.kbPropertiesTypes = undefined;
324
338
  this.objectTypes = undefined;
325
339
  this.exportFileDirectoryCallback = undefined;
@@ -333,10 +347,15 @@ const GxIdeKbManagerExport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
333
347
  watchTreeModelHandler(newState) {
334
348
  this.noObjects = !!(newState.length === 0 || !newState);
335
349
  }
336
- watchDummyInitialTreeHandler(newTree) {
337
- this.treeModel = newTree;
350
+ watchExportingIsInProcessHandler(isExporting) {
351
+ if (isExporting && this.loader) {
352
+ this.loaderEl.show = true;
353
+ }
354
+ else if (!isExporting && this.loader) {
355
+ this.loaderEl.show = false;
356
+ }
338
357
  }
339
- watchObjectTypeslHandler(newState) {
358
+ watchObjectTypesHandler(newState) {
340
359
  this.flattenObjectTypes(newState);
341
360
  }
342
361
  // 6.COMPONENT LIFECYCLE EVENTS //
@@ -359,9 +378,7 @@ const GxIdeKbManagerExport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
359
378
  }
360
379
  // 10.RENDER() FUNCTION //
361
380
  render() {
362
- // console.log("checkedObjectsIds", this.checkedObjectsIds);
363
- // console.log("checkedPropertiesIds", this.checkedPropertiesIds);
364
- return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noHeadingPadding: true, headingPaddingTop: true, containerTitle: this._componentLocale.componentName, slimmerFooter: config.gxIdeContainer.slimmerFooter }, h("header", { slot: "header", class: "header" }, h("div", { class: "header__top" }, 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 }), h("gxg-button-group", { class: "export-cancel-buttons-group", "default-selected-btn-id": "responsive-tablet-btn" }, h("button", { id: "export-kb-btn", part: "export-btn", onClick: this.exportCallbackHandler, disabled: this.noObjects }, this._componentLocale.header.exportButton), h("button", { id: "cancel-kb-export-btn", part: "cancel-button", onClick: this.cancelCallbackHandler, disabled: this.noObjects || this.exportingIsInProcess }, this._componentLocale.header.cancelButton)), 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)), h("div", { class: "header__bottom" }, h("div", { class: { "checkboxes-wrapper": true } }, h("gxg-form-checkbox", { label: this._componentLocale.main.addKnowledgeBaseDescription, onChange: this.addKBPropertiesCallbackHandler, part: "add-kb-checkbox" }), h("gxg-form-checkbox", { label: this._componentLocale.main.exportAll, part: "export-all-checkbox", ref: el => (this.exportAllCheckboxEl =
381
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noHeadingPadding: true, headingPaddingTop: true, containerTitle: this._componentLocale.componentName, slimmerFooter: config.gxIdeContainer.slimmerFooter }, h("header", { slot: "header", class: "header" }, h("div", { class: "header__top" }, 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 }), h("gxg-button-group", { class: "export-cancel-buttons-group" }, h("button", { id: "export-kb-btn", part: "export-btn", onClick: this.exportCallbackHandler, disabled: this.noObjects }, this._componentLocale.header.exportButton), h("button", { id: "cancel-kb-export-btn", part: "cancel-button", onClick: this.cancelCallbackHandler, disabled: !this.exportingIsInProcess || this.noObjects }, this._componentLocale.header.cancelButton)), 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)), h("div", { class: "header__bottom" }, h("div", { class: { "checkboxes-wrapper": true } }, h("gxg-form-checkbox", { label: this._componentLocale.main.addKnowledgeBaseDescription, onChange: this.addKBPropertiesCallbackHandler, part: "add-kb-checkbox" }), h("gxg-form-checkbox", { label: this._componentLocale.main.exportAll, part: "export-all-checkbox", ref: el => (this.exportAllCheckboxEl =
365
382
  el), disabled: this.noObjects, onChange: this.exportAllChangedHandler })))), h("div", { class: {
366
383
  "tree-container": true,
367
384
  "tree-container--empty": this.noObjects ||
@@ -369,18 +386,18 @@ const GxIdeKbManagerExport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
369
386
  this.exportAllIsChecked &&
370
387
  !this.addKbPropertiesIsChecked)
371
388
  // "tree-container--export-all": this.exportAllIsChecked
372
- } }, this.evaluateContentToDisplay()), h("gxg-text", { type: "button-like", part: "export-button", slot: "footer-start", onClick: this.clearButtonHandler }, this._componentLocale.footer.clearButton), h("div", { class: { "footer-right-wrapper": true }, slot: "footer-end" }, 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), 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))))));
389
+ } }, this.evaluateContentToDisplay()), h("gxg-text", { type: "button-like", part: "export-button", slot: "footer-start", onClick: this.clearButtonHandler, disabled: this.clearButtonDisabledConditions() }, this._componentLocale.footer.clearButton), h("div", { class: { "footer-right-wrapper": true }, slot: "footer-end" }, 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), 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 ? (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));
373
390
  }
374
391
  static get assetsDirs() { return ["gx-ide-assets/kb-manager-export"]; }
375
392
  get el() { return this; }
376
393
  static get watchers() { return {
377
394
  "treeModel": ["watchTreeModelHandler"],
378
- "dummyInitialTree": ["watchDummyInitialTreeHandler"],
379
- "objectTypes": ["watchObjectTypeslHandler"]
395
+ "exportingIsInProcess": ["watchExportingIsInProcessHandler"],
396
+ "objectTypes": ["watchObjectTypesHandler"]
380
397
  }; }
381
398
  static get style() { return kbManagerExportCss; }
382
399
  }, [0, "gx-ide-kb-manager-export", {
383
- "dummyInitialTree": [16],
400
+ "loader": [4],
384
401
  "kbPropertiesTypes": [16],
385
402
  "objectTypes": [16],
386
403
  "exportFileDirectoryCallback": [16],
@@ -391,18 +408,19 @@ const GxIdeKbManagerExport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
391
408
  "exportCallback": [16],
392
409
  "cancelCallback": [16],
393
410
  "exportAllIsChecked": [32],
394
- "exportingIsInProcess": [32],
395
411
  "addKbPropertiesIsChecked": [32],
412
+ "checkedObjectsIds": [32],
396
413
  "fileName": [32],
397
414
  "exportFilePathName": [32],
398
415
  "noObjects": [32],
399
- "treeModel": [32]
416
+ "treeModel": [32],
417
+ "exportingIsInProcess": [32]
400
418
  }]);
401
419
  function defineCustomElement$1() {
402
420
  if (typeof customElements === "undefined") {
403
421
  return;
404
422
  }
405
- const components = ["gx-ide-kb-manager-export", "ch-checkbox", "ch-icon", "ch-tree-view", "ch-tree-view-item", "ch-tree-view-render", "gx-ide-container", "gx-ide-directory-selector", "gx-ide-title", "gxg-button", "gxg-button-group", "gxg-form-checkbox", "gxg-form-text", "gxg-icon", "gxg-label", "gxg-text", "gxg-title", "gxg-tooltip", "gxg-tree-view"];
423
+ const components = ["gx-ide-kb-manager-export", "ch-checkbox", "ch-icon", "ch-tree-view", "ch-tree-view-item", "ch-tree-view-render", "ch-window", "ch-window-close", "gx-ide-container", "gx-ide-directory-selector", "gx-ide-title", "gxg-button", "gxg-button-group", "gxg-form-checkbox", "gxg-form-text", "gxg-icon", "gxg-ide-loader", "gxg-label", "gxg-text", "gxg-title", "gxg-tooltip", "gxg-tree-view"];
406
424
  components.forEach(tagName => { switch (tagName) {
407
425
  case "gx-ide-kb-manager-export":
408
426
  if (!customElements.get(tagName)) {
@@ -411,65 +429,80 @@ function defineCustomElement$1() {
411
429
  break;
412
430
  case "ch-checkbox":
413
431
  if (!customElements.get(tagName)) {
414
- defineCustomElement$j();
432
+ defineCustomElement$m();
415
433
  }
416
434
  break;
417
435
  case "ch-icon":
418
436
  if (!customElements.get(tagName)) {
419
- defineCustomElement$i();
437
+ defineCustomElement$l();
420
438
  }
421
439
  break;
422
440
  case "ch-tree-view":
423
441
  if (!customElements.get(tagName)) {
424
- defineCustomElement$h();
442
+ defineCustomElement$k();
425
443
  }
426
444
  break;
427
445
  case "ch-tree-view-item":
428
446
  if (!customElements.get(tagName)) {
429
- defineCustomElement$g();
447
+ defineCustomElement$j();
430
448
  }
431
449
  break;
432
450
  case "ch-tree-view-render":
433
451
  if (!customElements.get(tagName)) {
434
- defineCustomElement$f();
452
+ defineCustomElement$i();
453
+ }
454
+ break;
455
+ case "ch-window":
456
+ if (!customElements.get(tagName)) {
457
+ defineCustomElement$h();
458
+ }
459
+ break;
460
+ case "ch-window-close":
461
+ if (!customElements.get(tagName)) {
462
+ defineCustomElement$g();
435
463
  }
436
464
  break;
437
465
  case "gx-ide-container":
438
466
  if (!customElements.get(tagName)) {
439
- defineCustomElement$e();
467
+ defineCustomElement$f();
440
468
  }
441
469
  break;
442
470
  case "gx-ide-directory-selector":
443
471
  if (!customElements.get(tagName)) {
444
- defineCustomElement$d();
472
+ defineCustomElement$e();
445
473
  }
446
474
  break;
447
475
  case "gx-ide-title":
448
476
  if (!customElements.get(tagName)) {
449
- defineCustomElement$c();
477
+ defineCustomElement$d();
450
478
  }
451
479
  break;
452
480
  case "gxg-button":
453
481
  if (!customElements.get(tagName)) {
454
- defineCustomElement$b();
482
+ defineCustomElement$c();
455
483
  }
456
484
  break;
457
485
  case "gxg-button-group":
458
486
  if (!customElements.get(tagName)) {
459
- defineCustomElement$a();
487
+ defineCustomElement$b();
460
488
  }
461
489
  break;
462
490
  case "gxg-form-checkbox":
463
491
  if (!customElements.get(tagName)) {
464
- defineCustomElement$9();
492
+ defineCustomElement$a();
465
493
  }
466
494
  break;
467
495
  case "gxg-form-text":
468
496
  if (!customElements.get(tagName)) {
469
- defineCustomElement$8();
497
+ defineCustomElement$9();
470
498
  }
471
499
  break;
472
500
  case "gxg-icon":
501
+ if (!customElements.get(tagName)) {
502
+ defineCustomElement$8();
503
+ }
504
+ break;
505
+ case "gxg-ide-loader":
473
506
  if (!customElements.get(tagName)) {
474
507
  defineCustomElement$7();
475
508
  }
@@ -26,7 +26,9 @@ import { d as defineCustomElement$4 } from './title2.js';
26
26
  import { d as defineCustomElement$3 } from './tooltip.js';
27
27
  import { d as defineCustomElement$2 } from './tree-view2.js';
28
28
 
29
+ /* objects in file metadata*/
29
30
  const KB_OBJECT = "object";
31
+ const KB_CATEGORY = "category";
30
32
  const convertImportItemToTreeItem = (importCatIcon, importItems) => {
31
33
  const importTreeItems = [];
32
34
  importItems.forEach(importItem => {
@@ -34,7 +36,6 @@ const convertImportItemToTreeItem = (importCatIcon, importItems) => {
34
36
  id: importItem.id,
35
37
  caption: importItem.name,
36
38
  leftImgSrc: importCatIcon,
37
- checkbox: true,
38
39
  expanded: true,
39
40
  leaf: true,
40
41
  class: "object tree-view-item",
@@ -54,12 +55,13 @@ const convertImportCategoryToTreeView = (importCategoryData) => {
54
55
  importCategoryData.forEach(importCat => {
55
56
  const importCategoryTreeItem = {
56
57
  id: importCat.id,
58
+ // caption: importCat.name,
57
59
  caption: `${importCat.name} (${importCat.items.length})`,
58
60
  leftImgSrc: importCat.icon,
59
- checkbox: true,
60
61
  expanded: true,
61
62
  leaf: false,
62
63
  class: "category tree-view-item",
64
+ metadata: KB_CATEGORY,
63
65
  items: convertImportItemToTreeItem(importCat.icon, importCat.items)
64
66
  };
65
67
  treeData.push(importCategoryTreeItem);
@@ -90,7 +92,7 @@ const updateImportStatusTree = (importItemResultFullData, importTreeActualState)
90
92
  // the count is (1), because this is the first item for this category
91
93
  caption: `${importItemResultFullData.categoryName} (1)`,
92
94
  leftImgSrc: importItemResultFullData.categoryIcon,
93
- class: `tree-view-item tree-view-item--${importItemResultFullData.status}`,
95
+ class: `tree-view-item`,
94
96
  expanded: true,
95
97
  items: [
96
98
  {
@@ -157,7 +159,7 @@ const addImportItemResultDataItem = (importItemResultData, importCategoryData, i
157
159
  return updatedImportStatusTree;
158
160
  };
159
161
 
160
- 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;}";
162
+ 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;}";
161
163
 
162
164
  const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
163
165
  constructor() {
@@ -171,6 +173,34 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
171
173
  this.importCategoryData = [];
172
174
  this.objectsInFileTotalNodes = 0;
173
175
  // 9.LOCAL METHODS //
176
+ this.evaluateImportStatusMessage = () => {
177
+ this.someStatusVisible =
178
+ this.statusInfo.error.display ||
179
+ this.statusInfo.warning.display ||
180
+ this.statusInfo.success.display;
181
+ };
182
+ this.countMessages = () => {
183
+ /* totally inefficient way to count. This has to be improved*/
184
+ let errors = 0;
185
+ let warnings = 0;
186
+ let successes = 0;
187
+ this.importTreeState.forEach(category => {
188
+ category.items.forEach(object => {
189
+ if (object.class.includes("tree-view-item--error")) {
190
+ errors += object.items.length;
191
+ }
192
+ else if (object.class.includes("tree-view-item--warning")) {
193
+ warnings += object.items.length;
194
+ }
195
+ else if (object.class.includes("tree-view-item--success")) {
196
+ successes += object.items.length;
197
+ }
198
+ });
199
+ });
200
+ this.statusInfo.error.number = errors;
201
+ this.statusInfo.warning.number = warnings;
202
+ this.statusInfo.success.number = successes;
203
+ };
174
204
  this.evaluateObjects = () => {
175
205
  var _a;
176
206
  this.noObjects = !!(((_a = this.objectsTreeState) === null || _a === void 0 ? void 0 : _a.length) === 0 || !this.objectsTreeState);
@@ -199,7 +229,7 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
199
229
  this.evaluateHeaderActiveButton = () => {
200
230
  if (!this.selectedFile) {
201
231
  this.headerButtonsGroup.activeButtonId = "select-file-btn";
202
- this.fileInputEl.value = undefined;
232
+ this.fileInputEl.clearInput();
203
233
  }
204
234
  else {
205
235
  this.headerButtonsGroup.activeButtonId = "load-file-btn";
@@ -207,17 +237,15 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
207
237
  };
208
238
  this.importObjectsHandler = async () => {
209
239
  if (this.importCallback) {
210
- this.importingObjects = true;
240
+ this.importingIsInProcess = true;
211
241
  this.objectsButtonsGroup.activeButtonId = "cancel-import-btn";
212
- const result = await this.importCallback(this.checkedObjectsIds);
213
- if (result || result === false) {
214
- this.importingObjects = false;
215
- this.objectsButtonsGroup.activeButtonId = "import-btn";
216
- }
242
+ this.importCallback(this.checkedObjectsIds).then(() => {
243
+ this.importingIsInProcess = false;
244
+ });
217
245
  }
218
246
  };
219
247
  this.objectsTreeCheckedItemsChangedHandler = (event) => {
220
- /* Begin of evaluate 'select/unselect checkbox' state*/
248
+ /* 1. Begin of evaluate 'select/unselect checkbox' state*/
221
249
  if (event.detail == null) {
222
250
  this.toggleObjectsCheckboxEl.checked = false;
223
251
  this.toggleObjectsCheckboxEl.indeterminate = false;
@@ -234,19 +262,56 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
234
262
  this.toggleObjectsCheckboxEl.checked = firstItemCheckedValue;
235
263
  this.toggleObjectsCheckboxEl.indeterminate =
236
264
  !allItemsHaveTheSameCheckedValue;
237
- /* End of evaluate 'select/unselect checkbox' state*/
265
+ /* /End of evaluate 'select/unselect checkbox' state*/
266
+ /* 2. Begin of checked items evaluation*/
238
267
  const checkedItems = allItemsWithCheckbox.filter(node => node.item.checked);
239
268
  // objects checked
240
269
  const checkedObjects = checkedItems.filter(node => node.item.metadata === KB_OBJECT);
241
- console.log("checkedObjects", checkedObjects);
242
270
  const checkedObjectsIds = [];
243
271
  if (checkedObjects.length > 0) {
244
272
  checkedObjects.forEach(objectChecked => {
245
273
  checkedObjectsIds.push(objectChecked.item.id);
246
274
  });
247
275
  }
276
+ /* /End of checked items evaluation*/
277
+ /* 3. Begin of caption update*/
278
+ /* TO DO (when we can differentiate the caption from the number of children)*/
279
+ // const categoryItems = allItemsWithCheckbox.filter(
280
+ // node => node.item.metadata === KB_CATEGORY
281
+ // );
282
+ // categoryItems.forEach(category => {
283
+ // const itemInfo = category.item;
284
+ // // Update the amount of checked values
285
+ // if (itemInfo.leaf !== true) {
286
+ // const totalItems = itemInfo.items.length;
287
+ // const totalItemsChecked = itemInfo.items.filter(
288
+ // itemUIModel => itemUIModel.checked
289
+ // ).length;
290
+ // const newItemCaption =
291
+ // totalItems !== totalItemsChecked
292
+ // ? `${itemInfo.caption} (${totalItemsChecked}/${totalItems})`
293
+ // : `${itemInfo.caption} (${totalItems})`;
294
+ // // Only update the item caption if needed
295
+ // if (newItemCaption !== itemInfo.caption) {
296
+ // this.objectsTreeEl.updateItemsProperties([itemInfo.id], {
297
+ // id: itemInfo.id,
298
+ // caption: newItemCaption
299
+ // });
300
+ // }
301
+ // }
302
+ // });
303
+ /* /End of caption update*/
248
304
  this.checkedObjectsIds = checkedObjectsIds;
249
305
  };
306
+ this.objectsTreeContextMenuHandler = (event) => {
307
+ if (this.objectContextMenuCallback && event.detail.metadata === KB_OBJECT) {
308
+ this.objectContextMenuCallback({
309
+ objectId: event.detail.id,
310
+ screenX: event.detail.contextmenuEvent.screenX,
311
+ screenY: event.detail.contextmenuEvent.screenY
312
+ });
313
+ }
314
+ };
250
315
  this.cancelImportHandler = () => {
251
316
  if (this.cancelCallback) {
252
317
  this.cancelCallback();
@@ -265,23 +330,31 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
265
330
  this.statusInfo.warning.number = 0;
266
331
  this.statusInfo.success.number = 0;
267
332
  };
268
- this.toggleSelectionHandler = (e) => {
269
- const checked = e.detail.value;
333
+ this.toggleSelectionClickHandler = (e) => {
334
+ const checked = e.target.checked;
270
335
  this.toggleObjectsCheckboxEl.indeterminate = false;
271
336
  this.objectsTreeEl.updateAllItemsProperties({ checked: checked });
272
337
  };
273
338
  this.statusButtonsSelectionChangedHandler = (e) => {
274
339
  const activeStates = e.detail;
275
- const newStatusInfo = Object.assign({}, this.statusInfo);
276
- newStatusInfo.warning.display = false;
277
- newStatusInfo.error.display = false;
278
- newStatusInfo.success.display = false;
279
- activeStates.forEach(activeState => {
280
- const status = activeState.itemId;
281
- newStatusInfo[status].display = true;
282
- this.statusInfo = newStatusInfo;
283
- });
284
- this.evaluateHiddenImportsMessage();
340
+ const errorIndex = activeStates.findIndex(state => state.itemId === "error");
341
+ const warningIndex = activeStates.findIndex(state => state.itemId === "warning");
342
+ const successIndex = activeStates.findIndex(state => state.itemId === "success");
343
+ this.statusInfo = {
344
+ error: {
345
+ display: errorIndex !== -1,
346
+ number: this.statusInfo.error.number
347
+ },
348
+ warning: {
349
+ display: warningIndex !== -1,
350
+ number: this.statusInfo.warning.number
351
+ },
352
+ success: {
353
+ display: successIndex !== -1,
354
+ number: this.statusInfo.success.number
355
+ }
356
+ };
357
+ this.evaluateImportStatusMessage();
285
358
  };
286
359
  this.evaluateCheckAllValue = () => {
287
360
  let checked = true;
@@ -292,8 +365,13 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
292
365
  }
293
366
  return checked;
294
367
  };
295
- this.evaluateHiddenImportsMessage = () => {
296
- /* to do*/
368
+ this.fileClearedHandler = () => {
369
+ this.selectedFile = null;
370
+ };
371
+ this.loaderCancelCallbackHandler = () => {
372
+ if (this.cancelCallback) {
373
+ this.cancelCallback();
374
+ }
297
375
  };
298
376
  this.checkedObjectsIds = [];
299
377
  this.noObjects = undefined;
@@ -313,15 +391,19 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
313
391
  }
314
392
  };
315
393
  this.objectsTreeState = [];
394
+ this.importStatusMessage = undefined;
395
+ this.someStatusVisible = undefined;
316
396
  this.noImport = undefined;
317
397
  this.importTreeState = [];
318
- this.importingObjects = false;
398
+ this.importingIsInProcess = false;
399
+ this.loader = false;
319
400
  this.selectedFile = undefined;
320
401
  this.optionsCallback = undefined;
321
402
  this.importCallback = undefined;
322
403
  this.loadCallback = undefined;
323
404
  this.cancelCallback = undefined;
324
405
  this.statusMinimal = false;
406
+ this.objectContextMenuCallback = undefined;
325
407
  }
326
408
  watchObjectsTreeStateHandler(newState) {
327
409
  this.noObjects = !!(newState.length === 0 || !newState);
@@ -329,6 +411,22 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
329
411
  }
330
412
  watchImportTreeStateHandler(newState) {
331
413
  this.noImport = !!(newState.length === 0 || !newState);
414
+ if (this.noImport) {
415
+ this.importStatusMessage =
416
+ this._componentLocale.main.importStatus.noImportedFiles;
417
+ }
418
+ else {
419
+ this.importStatusMessage =
420
+ this._componentLocale.main.importStatus.importedButHidden;
421
+ }
422
+ }
423
+ watchImportingIsInProcessHandler(isImporting) {
424
+ if (isImporting && this.loader) {
425
+ this.loaderEl.show = true;
426
+ }
427
+ else if (!isImporting && this.loader) {
428
+ this.loaderEl.show = false;
429
+ }
332
430
  }
333
431
  watchSelectedFileHandler() {
334
432
  this.evaluateHeaderActiveButton();
@@ -339,6 +437,9 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
339
437
  this.componentDidLoadEvent.emit(true);
340
438
  this.evaluateObjects();
341
439
  this.evaluateImport();
440
+ this.importStatusMessage =
441
+ this._componentLocale.main.importStatus.noImportedFiles;
442
+ this.evaluateImportStatusMessage();
342
443
  }
343
444
  componentDidRender() {
344
445
  if (!this.renderedFirstTime) {
@@ -353,51 +454,57 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
353
454
  */
354
455
  async addResultItem(item) {
355
456
  this.importTreeState = addImportItemResultDataItem(item, this.importCategoryData, this.importTreeState);
356
- this.statusInfo[`${item.status}`].number += item.messages.length;
457
+ this.countMessages();
357
458
  }
358
459
  // 10.RENDER() FUNCTION //
359
460
  render() {
360
- return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noFooterPadding: true, containerTitle: this._componentLocale.componentName }, h("header", { class: "header", slot: "header" }, 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) }), h("gxg-button-group", {
461
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noFooterPadding: true, containerTitle: this._componentLocale.componentName }, h("header", { class: "header", slot: "header" }, 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) }), h("gxg-button-group", {
361
462
  // default-selected-btn-id="select-file-btn"
362
463
  ref: (el) => (this.headerButtonsGroup = el)
363
- }, h("button", { id: "select-file-btn", part: "select-file-button", onClick: this.selectFileHandler }, this._componentLocale.header.selectFileButton), h("button", { id: "load-file-btn", part: "load-file-button", disabled: !this.selectedFile, onClick: this.loadFileHandler }, this._componentLocale.header.loadButton))), h("main", { class: "main" }, 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" }, h("div", { class: {
464
+ }, h("button", { id: "select-file-btn", part: "select-file-button", onClick: this.selectFileHandler, disabled: this.importingIsInProcess }, this._componentLocale.header.selectFileButton), h("button", { id: "load-file-btn", part: "load-file-button", disabled: !this.selectedFile || this.importingIsInProcess, onClick: this.loadFileHandler }, this._componentLocale.header.loadButton))), h("main", { class: "main" }, 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" }, h("div", { class: {
364
465
  "tree-container": true,
365
466
  "tree-container--objects-in-file": true,
366
467
  "tree-container--empty": this.noObjects
367
- } }, !this.noObjects ? (h("gxg-tree-view", { treeModel: this.objectsTreeState, dragDisabled: true, dropDisabled: true, toggleCheckboxes: true, onCheckedItemsChange: this.objectsTreeCheckedItemsChangedHandler, ref: el => (this.objectsTreeEl = el) })) : (h("div", { class: "gx-ide-message" }, h("gxg-text", { textAlign: config.gxgMessage.common.textAlign, padding: config.gxgMessage.common.textAlign, type: config.gxgMessage.common.type, maxWidth: config.gxgMessage.common.maxWidth, part: "objects-in-file-empty-status-message" }, "There are no Objects. ", h("br", null), h("gxg-text", { type: "text-link-no-line", onClick: this.selectFileHandler }, "Begin by selecting a file."))))), 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 =
368
- el) }), h("gxg-button-group", { slot: "footer-end", ref: (el) => (this.objectsButtonsGroup = el) }, h("button", { id: "import-btn", part: "import-button", disabled: this.importingObjects ||
369
- this.checkedObjectsIds.length === 0, onClick: this.importObjectsHandler }, this._componentLocale.main.objectsInFile.importButton), h("button", { id: "cancel-import-btn", part: "cancel-import-button", disabled: !this.importingObjects, onClick: this.cancelImportHandler }, this._componentLocale.main.objectsInFile.cancelButton)), 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)), h("gx-ide-container", { containerTitle: this._componentLocale.main.importStatus.title, noContentPadding: true, noBorderFooter: true, slimmerFooter: true, inactiveTitle: this.noImport, footerSubtleShadow: !this.noImport, titleType: "secondary" }, h("div", { class: {
468
+ } }, !this.noObjects ? (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) })) : (h("div", { class: "gx-ide-message" }, h("gxg-text", { textAlign: config.gxgMessage.common.textAlign, padding: config.gxgMessage.common.textAlign, type: config.gxgMessage.common.type, maxWidth: config.gxgMessage.common.maxWidth, part: "objects-in-file-empty-status-message" }, "There are no Objects. ", h("br", null), h("gxg-text", { type: "text-link-no-line", onClick: this.selectFileHandler }, "Begin by selecting a file."))))), h("gxg-form-checkbox", { label: this._componentLocale.main.objectsInFile.selectUnselect, part: "select-all-checkbox", slot: "footer-start", disabled: this.importingIsInProcess ||
469
+ this.objectsTreeState.length === 0, checked: this.evaluateCheckAllValue(), onClick: this.toggleSelectionClickHandler, ref: (el) => (this.toggleObjectsCheckboxEl =
470
+ el) }), h("gxg-button-group", { slot: "footer-end", ref: (el) => (this.objectsButtonsGroup = el) }, h("button", { id: "import-btn", part: "import-button", disabled: this.importingIsInProcess ||
471
+ this.checkedObjectsIds.length === 0, onClick: this.importObjectsHandler }, this._componentLocale.main.objectsInFile.importButton), h("button", { id: "cancel-import-btn", part: "cancel-import-button", disabled: !this.importingIsInProcess, onClick: this.cancelImportHandler }, this._componentLocale.main.objectsInFile.cancelButton)), 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)), h("gx-ide-container", { containerTitle: this._componentLocale.main.importStatus.title, noContentPadding: true, noBorderFooter: true, slimmerFooter: true, inactiveTitle: this.noImport, footerSubtleShadow: !this.noImport, titleType: "secondary" }, h("div", { class: {
370
472
  "tree-container": true,
371
473
  "tree-container--import-status": true,
372
- "tree-container--empty": this.noImport,
474
+ "tree-container--empty": this.noImport || !this.someStatusVisible,
373
475
  "tree-container--no-warnings": !this.statusInfo.warning.display,
374
476
  "tree-container--no-errors": !this.statusInfo.error.display,
375
- "tree-container--no-successes": this.statusInfo.success.display === false
376
- } }, !this.noImport ? (h("gxg-tree-view", { treeModel: this.importTreeState, toggleCheckboxes: true, ref: el => (this.objectsTreeEl = el) })) : (h("gxg-text", { textAlign: config.gxgMessage.common.textAlign, padding: config.gxgMessage.common.textAlign, type: config.gxgMessage.common.type, maxWidth: config.gxgMessage.common.maxWidth, part: "objects-in-file-empty-status-message", class: "gx-ide-message" }, "There are no Imported files."))), h("gxg-text", { type: "button-like", slot: "footer-end", part: "select-kb-btn", onClick: this.clearStatusHandler, disabled: this.noImport }, this._componentLocale.main.importStatus.clearButton), h("span", { class: "ghost-element", slot: "footer-start" }))), h("footer", { slot: "footer-start" }, 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 }))), h("gxg-ide-loader", { description: "Importing objects..." }))));
477
+ "tree-container--no-successes": !this.statusInfo.success.display
478
+ } }, !this.noImport && this.someStatusVisible ? (h("gxg-tree-view", { treeModel: this.importTreeState, toggleCheckboxes: true, ref: el => (this.objectsTreeEl = el) })) : (h("gxg-text", { textAlign: config.gxgMessage.common.textAlign, padding: config.gxgMessage.common.textAlign, type: config.gxgMessage.common.type, maxWidth: config.gxgMessage.common.maxWidth, part: "objects-in-file-empty-status-message", class: "gx-ide-message" }, this.importStatusMessage))), 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), h("span", { class: "ghost-element", slot: "footer-start" }))), h("footer", { slot: "footer-start" }, 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 }))), h("gxg-ide-loader", { description: "Importing objects..." })), this.loader ? (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));
377
479
  }
378
480
  static get assetsDirs() { return ["gx-ide-assets/kb-manager-import"]; }
379
481
  get el() { return this; }
380
482
  static get watchers() { return {
381
483
  "objectsTreeState": ["watchObjectsTreeStateHandler"],
382
484
  "importTreeState": ["watchImportTreeStateHandler"],
485
+ "importingIsInProcess": ["watchImportingIsInProcessHandler"],
383
486
  "selectedFile": ["watchSelectedFileHandler"]
384
487
  }; }
385
488
  static get style() { return kbManagerImportCss; }
386
489
  }, [1, "gx-ide-kb-manager-import", {
490
+ "loader": [4],
387
491
  "selectedFile": [1040],
388
492
  "optionsCallback": [16],
389
493
  "importCallback": [16],
390
494
  "loadCallback": [16],
391
495
  "cancelCallback": [16],
392
496
  "statusMinimal": [4, "status-minimal"],
497
+ "objectContextMenuCallback": [16],
393
498
  "checkedObjectsIds": [32],
394
499
  "noObjects": [32],
395
500
  "showHiddenImportsMessage": [32],
396
501
  "statusInfo": [32],
397
502
  "objectsTreeState": [32],
503
+ "importStatusMessage": [32],
504
+ "someStatusVisible": [32],
398
505
  "noImport": [32],
399
506
  "importTreeState": [32],
400
- "importingObjects": [32],
507
+ "importingIsInProcess": [32],
401
508
  "addResultItem": [64]
402
509
  }]);
403
510
  function defineCustomElement$1() {