@genexus/genexus-ide-ui 0.0.60 → 0.0.61

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 (139) hide show
  1. package/dist/cjs/ch-checkbox.cjs.entry.js +93 -0
  2. package/dist/cjs/{ch-checkbox_3.cjs.entry.js → ch-tree-x_3.cjs.entry.js} +475 -87
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-container.cjs.entry.js +13 -5
  5. package/dist/cjs/gx-ide-file-selector.cjs.entry.js +47 -0
  6. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +11 -9
  7. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +343 -0
  8. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +236 -0
  9. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +8 -9
  10. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-references.cjs.entry.js +2 -2
  12. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +148 -0
  13. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  14. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +2 -2
  15. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  17. package/dist/cjs/{helpers-9523495a.js → helpers-b62ea39c.js} +12 -0
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/collection/collection-manifest.json +4 -1
  20. package/dist/collection/common/helpers.js +11 -0
  21. package/dist/collection/components/_template/template.js +1 -1
  22. package/dist/collection/components/container/container.css +24 -16
  23. package/dist/collection/components/container/container.js +66 -22
  24. package/dist/collection/components/file-selector/file-selector.css +366 -0
  25. package/dist/collection/components/file-selector/file-selector.js +185 -0
  26. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +1 -0
  27. package/dist/collection/components/kb-manager-export/helpers.js +0 -1
  28. package/dist/collection/components/kb-manager-export/kb-manager-export.css +5 -2
  29. package/dist/collection/components/kb-manager-export/kb-manager-export.js +12 -9
  30. package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +31 -0
  31. package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.ja.json +3 -0
  32. package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.zh.json +3 -0
  33. package/dist/collection/components/kb-manager-import/helpers.js +128 -0
  34. package/dist/collection/components/kb-manager-import/kb-manager-import.css +233 -0
  35. package/dist/collection/components/kb-manager-import/kb-manager-import.js +415 -0
  36. package/dist/collection/components/list-selector/list-selector-item/list-selector-item.css +51 -14
  37. package/dist/collection/components/list-selector/list-selector-item/list-selector-item.js +160 -24
  38. package/dist/collection/components/list-selector/list-selector.css +6 -0
  39. package/dist/collection/components/list-selector/list-selector.js +234 -33
  40. package/dist/collection/components/new-kb/new-kb.css +13 -0
  41. package/dist/collection/components/new-kb/new-kb.js +7 -8
  42. package/dist/collection/components/references/references.js +2 -2
  43. package/dist/collection/components/status-buttons/gx-ide-status-buttons.css +93 -0
  44. package/dist/collection/components/status-buttons/gx-ide-status-buttons.js +325 -0
  45. package/dist/collection/components/team-dev-commit/team-dev-commit.js +1 -1
  46. package/dist/collection/components/team-dev-update/team-dev-update.js +1 -1
  47. package/dist/components/container.js +16 -6
  48. package/dist/components/form-text.js +1 -1
  49. package/dist/components/gx-ide-file-selector.d.ts +11 -0
  50. package/dist/components/gx-ide-file-selector.js +105 -0
  51. package/dist/components/gx-ide-kb-manager-export.js +13 -11
  52. package/dist/components/gx-ide-kb-manager-import.d.ts +11 -0
  53. package/dist/components/gx-ide-kb-manager-import.js +499 -0
  54. package/dist/components/gx-ide-list-selector-item.js +1 -102
  55. package/dist/components/gx-ide-list-selector.js +1 -73
  56. package/dist/components/gx-ide-new-kb.js +8 -9
  57. package/dist/components/gx-ide-references.js +2 -2
  58. package/dist/components/gx-ide-status-buttons.d.ts +11 -0
  59. package/dist/components/gx-ide-status-buttons.js +6 -0
  60. package/dist/components/gx-ide-status-buttons2.js +131 -0
  61. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  62. package/dist/components/gx-ide-team-dev-update.js +1 -1
  63. package/dist/components/gx-ide-template.js +1 -1
  64. package/dist/components/gxg-ide-loader.js +1 -111
  65. package/dist/components/helpers2.js +12 -1
  66. package/dist/{esm/gxg-ide-loader.entry.js → components/ide-loader.js} +46 -7
  67. package/dist/components/index.d.ts +3 -0
  68. package/dist/components/index.js +3 -0
  69. package/dist/components/list-selector-item.js +158 -0
  70. package/dist/components/list-selector.js +146 -0
  71. package/dist/esm/ch-checkbox.entry.js +89 -0
  72. package/dist/esm/{ch-checkbox_3.entry.js → ch-tree-x_3.entry.js} +476 -88
  73. package/dist/esm/genexus-ide-ui.js +1 -1
  74. package/dist/esm/gx-ide-container.entry.js +13 -5
  75. package/dist/esm/gx-ide-file-selector.entry.js +43 -0
  76. package/dist/esm/gx-ide-kb-manager-export.entry.js +11 -9
  77. package/dist/esm/gx-ide-kb-manager-import.entry.js +339 -0
  78. package/dist/esm/gx-ide-list-selector_2.entry.js +231 -0
  79. package/dist/esm/gx-ide-new-kb.entry.js +8 -9
  80. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  81. package/dist/esm/gx-ide-references.entry.js +2 -2
  82. package/dist/esm/gx-ide-status-buttons_2.entry.js +143 -0
  83. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  84. package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
  85. package/dist/esm/gx-ide-template.entry.js +1 -1
  86. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  87. package/dist/esm/{helpers-b99024f5.js → helpers-c29a9591.js} +12 -1
  88. package/dist/esm/loader.js +1 -1
  89. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  90. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +1 -0
  91. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +31 -0
  92. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.ja.json +3 -0
  93. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.zh.json +3 -0
  94. package/dist/genexus-ide-ui/p-163a93a4.entry.js +1 -0
  95. package/dist/genexus-ide-ui/p-1ff3cf87.entry.js +1 -0
  96. package/dist/genexus-ide-ui/p-2142874f.entry.js +1 -0
  97. package/dist/genexus-ide-ui/p-2b7d4cca.entry.js +1 -0
  98. package/dist/genexus-ide-ui/p-481312bc.entry.js +1 -0
  99. package/dist/genexus-ide-ui/p-8738b63b.entry.js +1 -0
  100. package/dist/genexus-ide-ui/p-9e530c7d.entry.js +1 -0
  101. package/dist/genexus-ide-ui/{p-c63d5b08.js → p-9ee8b615.js} +1 -1
  102. package/dist/genexus-ide-ui/{p-cef1a182.entry.js → p-a3171fdf.entry.js} +1 -1
  103. package/dist/genexus-ide-ui/p-ac3b8e90.entry.js +1 -0
  104. package/dist/genexus-ide-ui/{p-750c726a.entry.js → p-b2ea372b.entry.js} +1 -1
  105. package/dist/genexus-ide-ui/p-b685ffba.entry.js +1 -0
  106. package/dist/genexus-ide-ui/p-c7e11c6b.entry.js +1 -0
  107. package/dist/genexus-ide-ui/p-d04d634e.entry.js +1 -0
  108. package/dist/genexus-ide-ui/{p-462a8f83.entry.js → p-d8096d40.entry.js} +1 -1
  109. package/dist/genexus-ide-ui/p-f83093aa.entry.js +1 -0
  110. package/dist/types/common/helpers.d.ts +2 -0
  111. package/dist/types/common/types.d.ts +16 -0
  112. package/dist/types/components/container/container.d.ts +12 -4
  113. package/dist/types/components/file-selector/file-selector.d.ts +38 -0
  114. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +3 -2
  115. package/dist/types/components/kb-manager-import/helpers.d.ts +10 -0
  116. package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +110 -0
  117. package/dist/types/components/list-selector/list-selector-item/list-selector-item.d.ts +38 -7
  118. package/dist/types/components/list-selector/list-selector.d.ts +47 -8
  119. package/dist/types/components/status-buttons/gx-ide-status-buttons.d.ts +63 -0
  120. package/dist/types/components.d.ts +410 -28
  121. package/package.json +3 -3
  122. package/dist/cjs/gx-ide-list-selector-item.cjs.entry.js +0 -89
  123. package/dist/cjs/gx-ide-list-selector.cjs.entry.js +0 -51
  124. package/dist/cjs/gxg-ide-loader.cjs.entry.js +0 -78
  125. package/dist/cjs/gxg-tree-view.cjs.entry.js +0 -481
  126. package/dist/esm/gx-ide-list-selector-item.entry.js +0 -85
  127. package/dist/esm/gx-ide-list-selector.entry.js +0 -47
  128. package/dist/esm/gxg-tree-view.entry.js +0 -477
  129. package/dist/genexus-ide-ui/p-00ee4c20.entry.js +0 -1
  130. package/dist/genexus-ide-ui/p-16d35368.entry.js +0 -1
  131. package/dist/genexus-ide-ui/p-3e16a46a.entry.js +0 -1
  132. package/dist/genexus-ide-ui/p-83f6db54.entry.js +0 -1
  133. package/dist/genexus-ide-ui/p-845f47ff.entry.js +0 -1
  134. package/dist/genexus-ide-ui/p-85164984.entry.js +0 -1
  135. package/dist/genexus-ide-ui/p-a4b359b1.entry.js +0 -1
  136. package/dist/genexus-ide-ui/p-a5833100.entry.js +0 -1
  137. package/dist/genexus-ide-ui/p-cddb793a.entry.js +0 -1
  138. package/dist/genexus-ide-ui/p-dd676f91.entry.js +0 -1
  139. package/dist/genexus-ide-ui/p-ffddd3ad.entry.js +0 -1
@@ -0,0 +1,415 @@
1
+ /* STENCIL IMPORTS */
2
+ import { Host, h } from "@stencil/core";
3
+ /* CUSTOM IMPORTS */
4
+ import { Locale } from "../../common/locale";
5
+ import { config } from "../../common/config";
6
+ import { convertImportCategoryToTreeView, addImportItemResultDataItem } from "./helpers";
7
+ import { countTreeItems } from "../../common/helpers";
8
+ export class GxIdeKbManagerImport {
9
+ constructor() {
10
+ this.renderedFirstTime = false;
11
+ /* ImportCategoryBasicData Holds the original name of category data, and its id. Used to create parent nodes on the imported tree*/
12
+ this.importCategoryData = [];
13
+ this.objectsInFileTotalNodes = 0;
14
+ // 9.LOCAL METHODS //
15
+ this.evaluateObjects = () => {
16
+ var _a;
17
+ this.noObjects = !!(((_a = this.objectsTreeState) === null || _a === void 0 ? void 0 : _a.length) === 0 || !this.objectsTreeState);
18
+ };
19
+ this.evaluateImport = () => {
20
+ var _a;
21
+ this.noImport = !!(((_a = this.importTreeState) === null || _a === void 0 ? void 0 : _a.length) === 0 || !this.importTreeState);
22
+ };
23
+ this.selectFileHandler = () => {
24
+ this.fileInputEl.openFile();
25
+ };
26
+ this.loadFileHandler = async () => {
27
+ if (this.loadCallback && this.selectedFile) {
28
+ this.importCategoryData = await this.loadCallback(this.selectedFile);
29
+ const importCategoryTreeData = convertImportCategoryToTreeView(this.importCategoryData);
30
+ this.objectsTreeState = importCategoryTreeData;
31
+ if (this.importCategoryData.length > 0) {
32
+ // clear input
33
+ this.selectedFile = null;
34
+ }
35
+ }
36
+ };
37
+ this.fileSelectedHandler = (fileEvent) => {
38
+ this.selectedFile = fileEvent.detail[0];
39
+ };
40
+ this.evaluateHeaderActiveButton = () => {
41
+ if (!this.selectedFile) {
42
+ this.headerButtonsGroup.activeButtonId = "select-file-btn";
43
+ this.fileInputEl.value = undefined;
44
+ }
45
+ else {
46
+ this.headerButtonsGroup.activeButtonId = "load-file-btn";
47
+ }
48
+ };
49
+ this.importObjectsHandler = async () => {
50
+ if (this.importCallback) {
51
+ this.importingObjects = true;
52
+ this.objectsButtonsGroup.activeButtonId = "cancel-import-btn";
53
+ const result = await this.importCallback(this.checkedObjectsIds);
54
+ if (result || result === false) {
55
+ this.importingObjects = false;
56
+ this.objectsButtonsGroup.activeButtonId = "import-btn";
57
+ }
58
+ }
59
+ };
60
+ this.objectsTreeCheckedItemsChangedHandler = (event) => {
61
+ const allItemsWithCheckbox = [...event.detail.values()];
62
+ const checkedItems = allItemsWithCheckbox.filter(node => node.item.checked);
63
+ // objects checked
64
+ const checkedObjects = checkedItems.filter(node => node.item.class === "object");
65
+ const checkedObjectsIds = [];
66
+ if (checkedObjects.length > 0) {
67
+ checkedObjects.forEach(objectChecked => {
68
+ checkedObjectsIds.push(objectChecked.item.id);
69
+ });
70
+ }
71
+ this.checkedObjectsIds = checkedObjectsIds;
72
+ };
73
+ this.cancelImportHandler = () => {
74
+ if (this.cancelCallback) {
75
+ this.cancelCallback();
76
+ // returns boolean
77
+ }
78
+ };
79
+ this.optionsHandler = () => {
80
+ if (this.optionsCallback) {
81
+ this.optionsCallback();
82
+ // returns boolean
83
+ }
84
+ };
85
+ this.clearStatusHandler = () => {
86
+ this.importTreeState = [];
87
+ this.statusInfo.error.number = 0;
88
+ this.statusInfo.warning.number = 0;
89
+ this.statusInfo.success.number = 0;
90
+ };
91
+ this.selectAllClickedHandler = () => {
92
+ const checked = this.checkAllCheckboxEl.checked;
93
+ if (checked && this.objectsTreeEl) {
94
+ console.log("check");
95
+ this.objectsTreeEl.updateAllItemsProperties({ checked: true });
96
+ }
97
+ };
98
+ this.statusButtonsSelectionChangedHandler = (e) => {
99
+ const activeStates = e.detail;
100
+ const newStatusInfo = Object.assign({}, this.statusInfo);
101
+ newStatusInfo.warning.display = false;
102
+ newStatusInfo.error.display = false;
103
+ newStatusInfo.success.display = false;
104
+ activeStates.forEach(activeState => {
105
+ const status = activeState.itemId;
106
+ newStatusInfo[status].display = true;
107
+ this.statusInfo = newStatusInfo;
108
+ });
109
+ this.evaluateHiddenImportsMessage();
110
+ };
111
+ this.evaluateHiddenImportsMessage = () => {
112
+ /* to do*/
113
+ };
114
+ this.checkedObjectsIds = [];
115
+ this.noObjects = undefined;
116
+ this.showHiddenImportsMessage = false;
117
+ this.statusInfo = {
118
+ error: {
119
+ display: true,
120
+ number: 0
121
+ },
122
+ warning: {
123
+ display: true,
124
+ number: 0
125
+ },
126
+ success: {
127
+ display: true,
128
+ number: 0
129
+ }
130
+ };
131
+ this.objectsTreeState = [];
132
+ this.noImport = undefined;
133
+ this.importTreeState = [];
134
+ this.importingObjects = false;
135
+ this.selectedFile = undefined;
136
+ this.optionsCallback = undefined;
137
+ this.importCallback = undefined;
138
+ this.loadCallback = undefined;
139
+ this.cancelCallback = undefined;
140
+ this.statusMinimal = false;
141
+ }
142
+ watchObjectsTreeStateHandler(newState) {
143
+ this.noObjects = !!(newState.length === 0 || !newState);
144
+ this.objectsInFileTotalNodes = countTreeItems(newState);
145
+ }
146
+ watchImportTreeStateHandler(newState) {
147
+ this.noImport = !!(newState.length === 0 || !newState);
148
+ }
149
+ watchSelectedFileHandler() {
150
+ this.evaluateHeaderActiveButton();
151
+ }
152
+ // 6.COMPONENT LIFECYCLE EVENTS //
153
+ async componentWillLoad() {
154
+ this._componentLocale = await Locale.getComponentStrings(this.el);
155
+ this.componentDidLoadEvent.emit(true);
156
+ this.evaluateObjects();
157
+ this.evaluateImport();
158
+ }
159
+ componentDidRender() {
160
+ if (!this.renderedFirstTime) {
161
+ this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
162
+ this.renderedFirstTime = true;
163
+ }
164
+ }
165
+ // 7.LISTENERS //
166
+ // 8.PUBLIC METHODS API //
167
+ /**
168
+ * Add the result of importing an item
169
+ */
170
+ async addResultItem(item) {
171
+ this.importTreeState = addImportItemResultDataItem(item, this.importCategoryData, this.importTreeState);
172
+ this.statusInfo[`${item.status}`].number += item.messages.length;
173
+ }
174
+ // 10.RENDER() FUNCTION //
175
+ render() {
176
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noFooterPadding: true }, 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", {
177
+ // default-selected-btn-id="select-file-btn"
178
+ ref: (el) => (this.headerButtonsGroup = el)
179
+ }, 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 }, h("div", { class: {
180
+ "tree-container": true,
181
+ "tree-container--objects-in-file": true,
182
+ "tree-container--empty": this.noObjects
183
+ } }, !this.noObjects ? (h("gxg-tree-view", { positionRelative: true, treeModel: this.objectsTreeState, toggleCheckboxes: true, onCheckedItemsChange: this.objectsTreeCheckedItemsChangedHandler, 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" }, "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.objectsTreeState.length > 0 &&
184
+ this.objectsInFileTotalNodes ===
185
+ this.checkedObjectsIds.length
186
+ ? this._componentLocale.main.objectsInFile.deselectAll
187
+ : this._componentLocale.main.objectsInFile.selectAll, part: "select-all-checkbox", slot: "footer-start", disabled: this.importingObjects || this.objectsTreeState.length === 0, ref: el => (this.checkAllCheckboxEl = el), onClick: this.selectAllClickedHandler }), h("gxg-button-group", { slot: "footer-end", ref: (el) => (this.objectsButtonsGroup = el) }, h("button", { id: "import-btn", part: "import-button", disabled: this.importingObjects ||
188
+ 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, class: "right-grid-item" }, h("div", { class: {
189
+ "tree-container": true,
190
+ "tree-container--import-status": true,
191
+ "tree-container--empty": this.noImport,
192
+ "tree-container--no-warnings": !this.statusInfo.warning.display,
193
+ "tree-container--no-errors": !this.statusInfo.error.display,
194
+ "tree-container--no-successes": this.statusInfo.success.display === false
195
+ } }, !this.noImport ? (h("gxg-tree-view", { positionRelative: true, 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" }, "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..." }))));
196
+ }
197
+ static get is() { return "gx-ide-kb-manager-import"; }
198
+ static get encapsulation() { return "shadow"; }
199
+ static get originalStyleUrls() {
200
+ return {
201
+ "$": ["kb-manager-import.scss"]
202
+ };
203
+ }
204
+ static get styleUrls() {
205
+ return {
206
+ "$": ["kb-manager-import.css"]
207
+ };
208
+ }
209
+ static get assetsDirs() { return ["gx-ide-assets/kb-manager-import"]; }
210
+ static get properties() {
211
+ return {
212
+ "selectedFile": {
213
+ "type": "unknown",
214
+ "mutable": true,
215
+ "complexType": {
216
+ "original": "File",
217
+ "resolved": "File",
218
+ "references": {
219
+ "File": {
220
+ "location": "global"
221
+ }
222
+ }
223
+ },
224
+ "required": false,
225
+ "optional": false,
226
+ "docs": {
227
+ "tags": [],
228
+ "text": "The name of the imported xml or xps file"
229
+ }
230
+ },
231
+ "optionsCallback": {
232
+ "type": "unknown",
233
+ "mutable": false,
234
+ "complexType": {
235
+ "original": "OptionsCallback",
236
+ "resolved": "() => Promise<void>",
237
+ "references": {
238
+ "OptionsCallback": {
239
+ "location": "local"
240
+ }
241
+ }
242
+ },
243
+ "required": false,
244
+ "optional": false,
245
+ "docs": {
246
+ "tags": [],
247
+ "text": "Callback invoked when the user wants to access the export options."
248
+ }
249
+ },
250
+ "importCallback": {
251
+ "type": "unknown",
252
+ "mutable": false,
253
+ "complexType": {
254
+ "original": "ImportCallback",
255
+ "resolved": "(itemIds: string[]) => Promise<boolean>",
256
+ "references": {
257
+ "ImportCallback": {
258
+ "location": "local"
259
+ }
260
+ }
261
+ },
262
+ "required": false,
263
+ "optional": false,
264
+ "docs": {
265
+ "tags": [],
266
+ "text": "Callback invoked when the user wants to initiate the import process."
267
+ }
268
+ },
269
+ "loadCallback": {
270
+ "type": "unknown",
271
+ "mutable": false,
272
+ "complexType": {
273
+ "original": "LoadCallback",
274
+ "resolved": "(file: File) => Promise<ImportCategoryData[]>",
275
+ "references": {
276
+ "LoadCallback": {
277
+ "location": "local"
278
+ }
279
+ }
280
+ },
281
+ "required": false,
282
+ "optional": false,
283
+ "docs": {
284
+ "tags": [],
285
+ "text": "Callback invoked when the user wants to load the xpz information"
286
+ }
287
+ },
288
+ "cancelCallback": {
289
+ "type": "unknown",
290
+ "mutable": false,
291
+ "complexType": {
292
+ "original": "CancelCallback",
293
+ "resolved": "() => Promise<boolean>",
294
+ "references": {
295
+ "CancelCallback": {
296
+ "location": "local"
297
+ }
298
+ }
299
+ },
300
+ "required": false,
301
+ "optional": false,
302
+ "docs": {
303
+ "tags": [{
304
+ "name": "returns",
305
+ "text": "It returns a boolean indicating whether the process could be canceled or not."
306
+ }],
307
+ "text": "Callback invoked when the user wants to cancel the export process."
308
+ }
309
+ },
310
+ "statusMinimal": {
311
+ "type": "boolean",
312
+ "mutable": false,
313
+ "complexType": {
314
+ "original": "false",
315
+ "resolved": "boolean",
316
+ "references": {}
317
+ },
318
+ "required": false,
319
+ "optional": false,
320
+ "docs": {
321
+ "tags": [],
322
+ "text": "It displays the status buttons (errors, warning, successes) with the minimal ui (no captions)"
323
+ },
324
+ "attribute": "status-minimal",
325
+ "reflect": false,
326
+ "defaultValue": "false"
327
+ }
328
+ };
329
+ }
330
+ static get states() {
331
+ return {
332
+ "checkedObjectsIds": {},
333
+ "noObjects": {},
334
+ "showHiddenImportsMessage": {},
335
+ "statusInfo": {},
336
+ "objectsTreeState": {},
337
+ "noImport": {},
338
+ "importTreeState": {},
339
+ "importingObjects": {}
340
+ };
341
+ }
342
+ static get events() {
343
+ return [{
344
+ "method": "componentDidRenderFirstTime",
345
+ "name": "componentDidRenderFirstTime",
346
+ "bubbles": true,
347
+ "cancelable": true,
348
+ "composed": true,
349
+ "docs": {
350
+ "tags": [],
351
+ "text": "This event is emitted once just after the component is fully loaded and the first render() occurs"
352
+ },
353
+ "complexType": {
354
+ "original": "boolean",
355
+ "resolved": "boolean",
356
+ "references": {}
357
+ }
358
+ }, {
359
+ "method": "componentDidLoadEvent",
360
+ "name": "componentDidLoadEvent",
361
+ "bubbles": true,
362
+ "cancelable": true,
363
+ "composed": true,
364
+ "docs": {
365
+ "tags": [],
366
+ "text": "This event is emitted once just after the component is fully loaded and the first render() occurs."
367
+ },
368
+ "complexType": {
369
+ "original": "boolean",
370
+ "resolved": "boolean",
371
+ "references": {}
372
+ }
373
+ }];
374
+ }
375
+ static get methods() {
376
+ return {
377
+ "addResultItem": {
378
+ "complexType": {
379
+ "signature": "(item: ImportItemResultData) => Promise<void>",
380
+ "parameters": [{
381
+ "tags": [],
382
+ "text": ""
383
+ }],
384
+ "references": {
385
+ "Promise": {
386
+ "location": "global"
387
+ },
388
+ "ImportItemResultData": {
389
+ "location": "import",
390
+ "path": "../../common/types"
391
+ }
392
+ },
393
+ "return": "Promise<void>"
394
+ },
395
+ "docs": {
396
+ "text": "Add the result of importing an item",
397
+ "tags": []
398
+ }
399
+ }
400
+ };
401
+ }
402
+ static get elementRef() { return "el"; }
403
+ static get watchers() {
404
+ return [{
405
+ "propName": "objectsTreeState",
406
+ "methodName": "watchObjectsTreeStateHandler"
407
+ }, {
408
+ "propName": "importTreeState",
409
+ "methodName": "watchImportTreeStateHandler"
410
+ }, {
411
+ "propName": "selectedFile",
412
+ "methodName": "watchSelectedFileHandler"
413
+ }];
414
+ }
415
+ }
@@ -10,20 +10,33 @@ gx-ide-list-selector-item {
10
10
  display: block;
11
11
  max-width: 100%;
12
12
  display: flex;
13
+ font-size: inherit;
14
+ }
15
+ gx-ide-list-selector-item:hover .label {
16
+ background-color: var(--gxg-background-color--hover);
17
+ cursor: pointer;
18
+ }
19
+ gx-ide-list-selector-item:hover input:checked + .label {
20
+ background-color: var(--gxg-background-color--selected-hover);
13
21
  }
14
22
 
15
- gx-ide-list-selector-item:not(:last-child) {
16
- border-block-end: 1px solid var(--gx-ide-container-border-color);
23
+ gx-ide-list-selector-item:not(:first-child) {
24
+ border-block-start: 1px solid var(--gx-ide-container-border-color);
17
25
  }
18
26
 
19
- /*selectable*/
20
- gx-ide-list-selector-item[selectable]:not([selectable=false]):hover label {
21
- cursor: pointer;
22
- background-color: var(--gxg-background-color-item-hover);
27
+ /*change border color if checked*/
28
+ gx-ide-list-selector-item:not(:first-child):has(input:checked) {
29
+ border-block-color: var(--gxg-border-color--selected);
30
+ }
31
+
32
+ /*readonly*/
33
+ gx-ide-list-selector-item[readonly]:not([readonly=false]) .label {
34
+ pointer-events: none;
35
+ background-color: transparent;
23
36
  }
24
37
 
25
38
  /*ellipsis*/
26
- gx-ide-list-selector-item[ellipsis]:not([ellipsis=false]) label {
39
+ gx-ide-list-selector-item[ellipsis]:not([ellipsis=false]) .label__description {
27
40
  overflow: hidden;
28
41
  white-space: nowrap;
29
42
  text-overflow: ellipsis;
@@ -35,17 +48,41 @@ input {
35
48
  opacity: 0;
36
49
  margin: 0;
37
50
  }
38
- input:focus + label {
51
+ input:focus + .label {
39
52
  outline: var(--border-width-md) solid var(--color-primary-active);
40
53
  outline-offset: -2px;
41
54
  }
42
- input:checked + label {
43
- background-color: var(--gxg-background-color-item-selected);
55
+ input:checked + .label {
56
+ background-color: var(--gxg-background-color--selected);
44
57
  }
45
58
 
46
- label {
47
- flex-shrink: 0;
48
- display: block;
49
- padding: var(--spacing-comp-01);
59
+ /*label-wrapper*/
60
+ .label {
50
61
  width: 100%;
62
+ }
63
+
64
+ /*label*/
65
+ .label__wrapper {
66
+ display: flex;
67
+ min-height: 28px;
68
+ /*this prevents height difference between items that have icons and items that do not*/
69
+ align-items: center;
70
+ gap: var(--spacing-comp-02);
71
+ padding: var(--spacing-comp-01) var(--spacing-comp-02);
72
+ width: 100%;
73
+ }
74
+ .label__wrapper__description {
75
+ flex: 1;
76
+ }
77
+
78
+ /*no border*/
79
+ gx-ide-list-selector-item[no-border] {
80
+ border-block-start: none;
81
+ }
82
+
83
+ /*universal slot*/
84
+ .label__universal-slot {
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: center;
51
88
  }