@genexus/genexus-ide-ui 3.2.4 → 3.2.6

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.
@@ -18,7 +18,7 @@ const r = 30;
18
18
 
19
19
  const l = "category";
20
20
 
21
- const h = "status";
21
+ const d = "status";
22
22
 
23
23
  // - - - - - - - - - - - - - - - - -
24
24
  // Objects In File Tree Model
@@ -71,7 +71,7 @@ const createImportResultDataMessages = (t, e, i) => {
71
71
  startImgSrc: "gemini-tools/list-view/on-surface",
72
72
  leaf: true,
73
73
  metadata: JSON.stringify({
74
- [h]: i
74
+ [d]: i
75
75
  })
76
76
  });
77
77
  }));
@@ -88,7 +88,7 @@ const createImportResultItem = (t, e) => {
88
88
  expanded: true,
89
89
  leaf: e.messages.length === 0,
90
90
  metadata: JSON.stringify({
91
- [h]: e.status
91
+ [d]: e.status
92
92
  }),
93
93
  items: createImportResultDataMessages(i, e.messages, e.status)
94
94
  };
@@ -123,7 +123,7 @@ const addImportItemResultDataItem = (t, e, i, s) => {
123
123
  return a;
124
124
  };
125
125
 
126
- const d = 'button.button-secondary{border-color:var(--color-border-neutral-default)}:host{display:grid;block-size:100%;grid-template:"header header" max-content "objects-in-file import-status" 1fr "footer footer" max-content;grid-template-columns:1fr 1fr}.section{display:contents}.header{grid-template-columns:1fr max-content;grid-area:header}.objects-in-file__section{grid-area:objects-in-file}.objects-in-file__main{border-inline-end:var(--section-common-border);grid-template-rows:1fr max-content}.objects-in-file__footer{display:grid}.import-status__section{grid-area:import-status}.import-status__main{grid-template-rows:1fr max-content}.import-status__footer{display:flex}.import-clear-status-btn{margin-inline-start:auto}.objects-in-file__section,.import-status__section{display:grid;grid-template-rows:max-content 1fr}.dialog-header__objects-in-file,.dialog-header__import-status{padding-block-start:16px}.objects-in-file__main,.import-status__main{grid-auto-rows:max-content;padding-block:12px;overflow:auto}.footer{display:flex;grid-area:footer;border-block-start:var(--section-common-border)}.text-align-center{text-align:center}.tree-view::part(item__action tree-view-item--status){grid-template:"first-img left-img text right-img"/max-content max-content 1fr max-content}.tree-view::part(item__action tree-view-item--status)::before{grid-area:first-img;content:"";width:8px;height:8px;border-radius:50%;background-color:var(--gray-03);margin-inline-end:2px}.tree-view::part(item__action tree-view-item--success):before{background-image:none;background-color:var(--color-success-dark)}.tree-view::part(item__action tree-view-item--warning):before{background-image:none;background-color:var(--color-warning-dark)}.tree-view::part(item__action tree-view-item--error):before{background-image:none;background-color:var(--color-error-dark)}.tree-view-import::part(item){content-visibility:auto;contain-intrinsic-size:auto 22px}';
126
+ const h = 'button.button-secondary{border-color:var(--color-border-neutral-default)}:host{display:grid;block-size:100%;grid-template:"header header" max-content "objects-in-file import-status" 1fr "footer footer" max-content;grid-template-columns:1fr 1fr}.section{display:contents}.header{grid-template-columns:1fr max-content;grid-area:header}.objects-in-file__section{grid-area:objects-in-file}.objects-in-file__main{border-inline-end:var(--section-common-border);grid-template-rows:1fr max-content}.objects-in-file__footer{display:grid}.import-status__section{grid-area:import-status}.import-status__main{grid-template-rows:1fr max-content}.import-status__footer{display:flex}.import-clear-status-btn{margin-inline-start:auto}.objects-in-file__section,.import-status__section{display:grid;grid-template-rows:max-content 1fr}.dialog-header__objects-in-file,.dialog-header__import-status{padding-block-start:16px}.objects-in-file__main,.import-status__main{grid-auto-rows:max-content;padding-block:12px;overflow:auto}.footer{display:flex;grid-area:footer;border-block-start:var(--section-common-border)}.text-align-center{text-align:center}.tree-view::part(item__action tree-view-item--status){grid-template:"first-img left-img text right-img"/max-content max-content 1fr max-content}.tree-view::part(item__action tree-view-item--status)::before{grid-area:first-img;content:"";width:8px;height:8px;border-radius:50%;background-color:var(--gray-03);margin-inline-end:2px}.tree-view::part(item__action tree-view-item--success):before{background-image:none;background-color:var(--color-success-dark)}.tree-view::part(item__action tree-view-item--warning):before{background-image:none;background-color:var(--color-warning-dark)}.tree-view::part(item__action tree-view-item--error):before{background-image:none;background-color:var(--color-error-dark)}.tree-view-import::part(item){content-visibility:auto;contain-intrinsic-size:auto 22px}';
127
127
 
128
128
  var f = undefined && undefined.__classPrivateFieldGet || function(t, e, i, s) {
129
129
  if (i === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
@@ -138,39 +138,39 @@ var p = undefined && undefined.__classPrivateFieldSet || function(t, e, i, s, a)
138
138
  return s === "a" ? a.call(t, i) : a ? a.value = i : e.set(t, i), i;
139
139
  };
140
140
 
141
- var m, u, b, g, w, k, y, v, _, x, M, W, j, C, T, S, I, $, E, D, L, z, F, H, O, R, A, N;
141
+ var u, m, b, g, w, k, v, y, _, x, M, W, j, C, T, S, I, $, E, D, L, z, F, H, O, R, A, N, P;
142
142
 
143
- const P = [ "resets/box-sizing", "components/button", "components/checkbox", "components/edit", "components/icon", "components/tree-view", "utils/form", "utils/layout", "utils/typography", "utils/spacing" ];
143
+ const J = [ "resets/box-sizing", "components/button", "components/checkbox", "components/edit", "components/icon", "components/tree-view", "utils/form", "utils/layout", "utils/typography", "utils/spacing" ];
144
144
 
145
- const J = n({
145
+ const V = n({
146
146
  category: "gemini-tools",
147
147
  name: "notice",
148
148
  colorType: "on-surface"
149
149
  });
150
150
 
151
- const V = n({
151
+ const U = n({
152
152
  category: "gemini-tools",
153
153
  name: "file",
154
154
  colorType: "primary"
155
155
  });
156
156
 
157
- const U = n({
157
+ const X = n({
158
158
  category: "gemini-tools",
159
159
  name: "settings",
160
160
  colorType: "primary"
161
161
  });
162
162
 
163
- const X = n({
163
+ const Y = n({
164
164
  category: "menus",
165
165
  name: "delete",
166
166
  colorType: "primary"
167
167
  });
168
168
 
169
- const Y = "allChecked";
169
+ const q = "allChecked";
170
170
 
171
- const q = "allUnchecked";
171
+ const B = "allUnchecked";
172
172
 
173
- const B = class {
173
+ const G = class {
174
174
  constructor(i) {
175
175
  t(this, i);
176
176
  this.componentDidLoadEvent = e(this, "componentDidLoadEvent", 7);
@@ -179,14 +179,14 @@ const B = class {
179
179
  * The component hard-coded strings translations.
180
180
  */
181
181
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
182
- m.set(this, void 0);
183
- u.set(this, []);
182
+ u.set(this, void 0);
183
+ m.set(this, []);
184
184
  b.set(this, void 0);
185
185
  g.set(this, void 0);
186
186
  w.set(this, void 0);
187
187
  k.set(this, new Set);
188
- y.set(this, new Set);
189
188
  v.set(this, new Set);
189
+ y.set(this, new Set);
190
190
  // #categoryItemMap maps a category id, with the name and icon.
191
191
  // required for the "import status" tree.
192
192
  _.set(this, new Map);
@@ -209,38 +209,88 @@ const B = class {
209
209
  this.someStatusVisible = this.statusInfo.error.display || this.statusInfo.warning.display || this.statusInfo.success.display;
210
210
  }));
211
211
  S.set(this, (async () => {
212
- var t;
213
- /* first clear imported objects (this clears errors/warnings/success counts as well)*/ f(this, j, "f").call(this);
212
+ /* first clear imported objects (this clears errors/warnings/success counts as well)*/
213
+ f(this, j, "f").call(this);
214
214
  /* then do the import*/ this.importingIsInProcess = true;
215
- /*
216
- Process checked objects manually, considering lazy loading.
217
- Example:
218
- 1. The "Attributes" category is lazy-loaded and marked as checked.
219
- 2. The user runs the import without expanding the node.
220
- 3. No attribute objects appear as checked, since lazy load was not triggered.
221
- 4. Still, all attribute objects must be included, because the category itself is checked.
222
-
223
- This avoids forcing users to expand nodes just to select objects.
224
- Large categories are not expanded by default to improve performance, which is crucial
225
- for very large imports (1000+ objects).
226
- */ const e = [];
227
- for (let i of f(this, w, "f").model) {
228
- if (((t = i.items) === null || t === void 0 ? void 0 : t.length) > 0) {
229
- for (let t of i.items) {
230
- if (t.checked) e.push(t.id);
215
+ const t = f(this, I, "f").call(this);
216
+ await this.importCallback(t);
217
+ this.importingIsInProcess = false;
218
+ }));
219
+ /*
220
+ Build the structured ImportSelection from the current tree state.
221
+
222
+ Lazy categories may not have their items loaded yet; in that case the
223
+ category's own `checked` flag represents the user's intent for the whole
224
+ group. Large categories are not expanded by default to keep imports of
225
+ 1000+ objects responsive.
226
+
227
+ For each category, the most compact group representation is picked:
228
+ - every item checked → mode: "all"
229
+ - no item checked → group omitted from the partial selection
230
+ - mixed → "include" or "exclude", whichever has fewer ids
231
+ */ I.set(this, (() => {
232
+ var t, e;
233
+ const i = [];
234
+ let s = true;
235
+ for (const a of f(this, w, "f").model) {
236
+ const n = f(this, M, "f").find((t => t.id === a.id));
237
+ const o = (t = n === null || n === void 0 ? void 0 : n.items.length) !== null && t !== void 0 ? t : 0;
238
+ const r = !!(a.items && a.items.length > 0);
239
+ if (!r && a.lazy) {
240
+ if (a.checked) {
241
+ i.push({
242
+ groupId: a.id,
243
+ mode: "all"
244
+ });
245
+ } else {
246
+ s = false;
231
247
  }
232
- } else if (i.lazy && i.checked) {
233
- const t = f(this, M, "f").find((t => t.id == i.id));
234
- for (let i of t.items) {
235
- e.push(i.id);
248
+ continue;
249
+ }
250
+ const c = [];
251
+ const l = [];
252
+ for (const t of (e = a.items) !== null && e !== void 0 ? e : []) {
253
+ if (t.checked) {
254
+ c.push(t.id);
255
+ } else {
256
+ l.push(t.id);
257
+ }
258
+ }
259
+ if (l.length === 0 && c.length === o) {
260
+ i.push({
261
+ groupId: a.id,
262
+ mode: "all"
263
+ });
264
+ } else if (c.length === 0) {
265
+ s = false;
266
+ } else {
267
+ s = false;
268
+ if (c.length <= l.length) {
269
+ i.push({
270
+ groupId: a.id,
271
+ mode: "include",
272
+ ids: c
273
+ });
274
+ } else {
275
+ i.push({
276
+ groupId: a.id,
277
+ mode: "exclude",
278
+ ids: l
279
+ });
236
280
  }
237
281
  }
238
282
  }
239
- this.importCallback(e).then((() => {
240
- this.importingIsInProcess = false;
241
- }));
283
+ if (s && i.length === f(this, M, "f").length) {
284
+ return {
285
+ mode: "all"
286
+ };
287
+ }
288
+ return {
289
+ mode: "partial",
290
+ groups: i
291
+ };
242
292
  }));
243
- I.set(this, (async t => {
293
+ $.set(this, (async t => {
244
294
  p(this, M, await this.loadCallback(t), "f");
245
295
  f(this, _, "f").clear();
246
296
  f(this, x, "f").clear();
@@ -255,12 +305,15 @@ const B = class {
255
305
  }));
256
306
  const e = convertImportCategoryDataToTreeView(f(this, M, "f"));
257
307
  this.objectsTreeModel = e;
308
+ // Tree-view renders with `checked={true}` by default, so a freshly
309
+ // loaded file starts with everything selected.
310
+ this.hasSelection = e.length > 0;
258
311
  }));
259
- $.set(this, (async t => {
312
+ E.set(this, (async t => {
260
313
  const e = f(this, M, "f").find((e => e.id === t));
261
314
  return e && e.items.length > 0 ? convertImportCategoryItemToTreeItem(e.icon, e.items) : [];
262
315
  }));
263
- E.set(this, (t => {
316
+ D.set(this, (t => {
264
317
  const e = t.detail;
265
318
  const i = [];
266
319
  const s = [];
@@ -278,48 +331,49 @@ const B = class {
278
331
  }
279
332
  // Evaluate "Select All / Unselect All" checkbox state
280
333
  if (e.size === i.length) {
281
- this.selectAllCheckboxValue = Y;
334
+ this.selectAllCheckboxValue = q;
282
335
  this.selectAllCheckboxIndeterminate = false;
283
336
  } else if (i.length === 0) {
284
- this.selectAllCheckboxValue = q;
337
+ this.selectAllCheckboxValue = B;
285
338
  this.selectAllCheckboxIndeterminate = false;
286
339
  } else {
287
340
  this.selectAllCheckboxIndeterminate = true;
288
341
  }
342
+ this.hasSelection = i.length > 0;
289
343
  }));
290
- D.set(this, (t => {
344
+ L.set(this, (t => {
291
345
  if (t.detail.metadata === c) {
292
346
  this.objectContextMenuCallback("imported", {
293
- selection: f(this, u, "f"),
347
+ selection: f(this, m, "f"),
294
348
  clientX: t.detail.contextmenuEvent.screenX,
295
349
  clientY: t.detail.contextmenuEvent.screenY
296
350
  });
297
351
  }
298
352
  }));
299
- L.set(this, (t => {
300
- p(this, u, t.detail.map((t => t.item.id)), "f");
353
+ z.set(this, (t => {
354
+ p(this, m, t.detail.map((t => t.item.id)), "f");
301
355
  }));
302
- z.set(this, (() => {
356
+ F.set(this, (() => {
303
357
  if (this.optionsCallback) {
304
358
  this.optionsCallback();
305
359
  // returns boolean
306
360
  }
307
361
  }));
308
- F.set(this, (() => {
362
+ H.set(this, (() => {
309
363
  this.selectedFile = null;
310
364
  f(this, g, "f").value = null;
311
365
  }));
312
- H.set(this, (() => {
366
+ O.set(this, (() => {
313
367
  f(this, g, "f").click();
314
368
  }));
315
- O.set(this, (t => {
369
+ R.set(this, (t => {
316
370
  var e;
317
371
  const i = t.target;
318
372
  if (((e = i.files) === null || e === void 0 ? void 0 : e.length) > 0) {
319
373
  this.selectedFile = i.files[0];
320
374
  }
321
375
  }));
322
- R.set(this, (t => {
376
+ A.set(this, (t => {
323
377
  const e = t.detail;
324
378
  const i = [];
325
379
  const s = e.findIndex((t => t.itemId === "errors"));
@@ -334,10 +388,10 @@ const B = class {
334
388
  if (n !== -1) {
335
389
  i.push("success");
336
390
  }
337
- let o = `"${h}":""`;
391
+ let o = `"${d}":""`;
338
392
  if (i.length) {
339
393
  const t = i.join("|");
340
- o = `"${h}":"(${t})"`;
394
+ o = `"${d}":"(${t})"`;
341
395
  }
342
396
  this.importedTreeFilterRegExp = new RegExp(o, "i");
343
397
  // Update statusInfo for the status-buttons
@@ -357,26 +411,30 @@ const B = class {
357
411
  };
358
412
  f(this, T, "f").call(this);
359
413
  }));
360
- A.set(this, (t => {
414
+ N.set(this, (t => {
361
415
  if (f(this, w, "f")) {
362
- const e = t.detail === Y;
416
+ const e = t.detail === q;
363
417
  f(this, w, "f").updateAllItemsProperties({
364
418
  checked: e
365
419
  });
420
+ // updateAllItemsProperties does not fire onCheckedItemsChange, so we
421
+ // mirror the new selection state explicitly to keep the Import button
422
+ // disabled when the user unchecks everything via this toggle.
423
+ this.hasSelection = e && this.objectsTreeModel.length > 0;
366
424
  }
367
425
  }));
368
- N.set(this, (() => {
369
- f(this, v, "f").clear();
426
+ P.set(this, (() => {
370
427
  f(this, y, "f").clear();
428
+ f(this, v, "f").clear();
371
429
  f(this, k, "f").clear();
372
430
  this.importTreeState.forEach((t => {
373
431
  const e = t.items;
374
432
  e.forEach((t => {
375
433
  if (t.metadata === "error") {
376
- f(this, v, "f").add(t.id);
434
+ f(this, y, "f").add(t.id);
377
435
  }
378
436
  if (t.metadata === "warning") {
379
- f(this, y, "f").add(t.id);
437
+ f(this, v, "f").add(t.id);
380
438
  }
381
439
  if (t.metadata === "success") {
382
440
  f(this, k, "f").add(t.id);
@@ -386,6 +444,7 @@ const B = class {
386
444
  }));
387
445
  this.selectAllCheckboxValue = undefined;
388
446
  this.selectAllCheckboxIndeterminate = false;
447
+ this.hasSelection = false;
389
448
  this.importStatusMessage = undefined;
390
449
  this.importTreeState = [];
391
450
  this.importedTreeFilterRegExp = undefined;
@@ -424,9 +483,9 @@ const B = class {
424
483
  watchImportTreeStateHandler() {
425
484
  f(this, C, "f").call(this);
426
485
  if (this.noImport) {
427
- this.importStatusMessage = f(this, m, "f").main.importStatus.noImportedFiles;
486
+ this.importStatusMessage = f(this, u, "f").main.importStatus.noImportedFiles;
428
487
  } else {
429
- this.importStatusMessage = f(this, m, "f").main.importStatus.importedButHidden;
488
+ this.importStatusMessage = f(this, u, "f").main.importStatus.importedButHidden;
430
489
  }
431
490
  }
432
491
  watchObjectsTreeModelHandler(t) {
@@ -434,7 +493,7 @@ const B = class {
434
493
  }
435
494
  selectedFileChanged(t) {
436
495
  if (t) {
437
- f(this, I, "f").call(this, t);
496
+ f(this, $, "f").call(this, t);
438
497
  }
439
498
  }
440
499
  componentDidLoad() {
@@ -442,11 +501,11 @@ const B = class {
442
501
  }
443
502
  componentDidRender() {}
444
503
  async componentWillLoad() {
445
- p(this, m, await o.getComponentStrings(this.el), "f");
504
+ p(this, u, await o.getComponentStrings(this.el), "f");
446
505
  this.componentDidLoadEvent.emit(true);
447
506
  // this.#evaluateObjects();
448
507
  f(this, C, "f").call(this);
449
- this.importStatusMessage = f(this, m, "f").main.importStatus.noImportedFiles;
508
+ this.importStatusMessage = f(this, u, "f").main.importStatus.noImportedFiles;
450
509
  f(this, T, "f").call(this);
451
510
  }
452
511
  /**
@@ -454,14 +513,14 @@ const B = class {
454
513
  */ async addResultItem(t) {
455
514
  this.importTreeState = addImportItemResultDataItem(t, f(this, _, "f"), f(this, x, "f"), this.importTreeState);
456
515
  this.statusInfo[t.status].number++;
457
- f(this, N, "f").call(this);
516
+ f(this, P, "f").call(this);
458
517
  }
459
518
  render() {
460
519
  var t, e;
461
520
  return i(s, {
462
521
  class: "widget"
463
522
  }, i("ch-theme", {
464
- model: P
523
+ model: J
465
524
  }), i("section", {
466
525
  class: "section"
467
526
  }, i("header", {
@@ -474,7 +533,7 @@ const B = class {
474
533
  }, i("label", {
475
534
  class: "label",
476
535
  htmlFor: "file-name"
477
- }, f(this, m, "f").header.fileNameLabel), i("ch-edit", {
536
+ }, f(this, u, "f").header.fileNameLabel), i("ch-edit", {
478
537
  autoFocus: true,
479
538
  id: "file-name",
480
539
  class: "input",
@@ -482,40 +541,40 @@ const B = class {
482
541
  type: "text",
483
542
  readonly: true,
484
543
  value: (t = this.selectedFile) === null || t === void 0 ? void 0 : t.name,
485
- placeholder: f(this, m, "f").header.fileNamePlaceholder,
486
- startImgSrc: V,
544
+ placeholder: f(this, u, "f").header.fileNamePlaceholder,
545
+ startImgSrc: U,
487
546
  ref: t => p(this, b, t, "f")
488
547
  }), i("input", {
489
548
  hidden: true,
490
549
  type: "file",
491
550
  accept: ".xpz, .xml",
492
- onChange: f(this, O, "f"),
551
+ onChange: f(this, R, "f"),
493
552
  ref: t => p(this, g, t, "f")
494
553
  })), i("div", {
495
554
  class: "buttons-spacer"
496
555
  }, i("button", {
497
- "aria-label": f(this, m, "f").header.removeFileSelection,
498
- title: f(this, m, "f").header.removeFileSelection,
556
+ "aria-label": f(this, u, "f").header.removeFileSelection,
557
+ title: f(this, u, "f").header.removeFileSelection,
499
558
  id: "reset-all-button",
500
559
  class: "button-tertiary button-icon-only",
501
560
  part: "reset-all-button",
502
- onClick: f(this, F, "f")
561
+ onClick: f(this, H, "f")
503
562
  }, i("ch-image", {
504
563
  class: "icon-m",
505
- src: X
564
+ src: Y
506
565
  })), i("button", {
507
566
  // select file
508
567
  id: "select-file-load-button",
509
568
  class: "button-primary",
510
569
  part: "select-file-load-button",
511
- onClick: f(this, H, "f"),
570
+ onClick: f(this, O, "f"),
512
571
  disabled: this.importingIsInProcess
513
- }, f(this, m, "f").header.selectFileButton))), i("section", {
572
+ }, f(this, u, "f").header.selectFileButton))), i("section", {
514
573
  // objects in file
515
574
  class: "objects-in-file__section"
516
575
  }, i("h2", {
517
576
  class: "dialog-header dialog-header-with-border dialog-header__objects-in-file subtitle-regular-xs\t text-align-center spacing-body-inline"
518
- }, f(this, m, "f").main.objectsInFile.title), i("div", {
577
+ }, f(this, u, "f").main.objectsInFile.title), i("div", {
519
578
  class: "field-group objects-in-file__main"
520
579
  }, !this.noObjects ? i("ch-tree-view-render", {
521
580
  // objects in file tree
@@ -527,30 +586,30 @@ const B = class {
527
586
  toggleCheckboxes: true,
528
587
  checkbox: true,
529
588
  checked: true,
530
- lazyLoadTreeItemsCallback: f(this, $, "f"),
531
- onCheckedItemsChange: f(this, E, "f"),
532
- onSelectedItemsChange: f(this, L, "f"),
533
- onItemContextmenu: f(this, D, "f"),
589
+ lazyLoadTreeItemsCallback: f(this, E, "f"),
590
+ onCheckedItemsChange: f(this, D, "f"),
591
+ onSelectedItemsChange: f(this, z, "f"),
592
+ onItemContextmenu: f(this, L, "f"),
534
593
  ref: t => p(this, w, t, "f")
535
594
  }) : i("gx-ide-empty-state", {
536
595
  isAnimated: false,
537
- stateTitle: f(this, m, "f").main.objectsInFile.noObjects,
596
+ stateTitle: f(this, u, "f").main.objectsInFile.noObjects,
538
597
  key: "no-objects-empty-state"
539
598
  }, i("button", {
540
599
  // begin by selecting a file
541
600
  class: "button-secondary",
542
- onClick: f(this, H, "f")
543
- }, f(this, m, "f").main.objectsInFile.selectFile)), i("footer", {
601
+ onClick: f(this, O, "f")
602
+ }, f(this, u, "f").main.objectsInFile.selectFile)), i("footer", {
544
603
  class: "field-group objects-in-file__footer spacing-body-inline"
545
604
  }, i("ch-checkbox", {
546
605
  // select all / unselect all checkbox
547
606
  id: "select-all-checkbox",
548
607
  class: "checkbox create-data-in-kb",
549
- checkedValue: Y,
550
- unCheckedValue: q,
551
- caption: f(this, m, "f").main.objectsInFile.selectUnselect,
608
+ checkedValue: q,
609
+ unCheckedValue: B,
610
+ caption: f(this, u, "f").main.objectsInFile.selectUnselect,
552
611
  value: this.selectAllCheckboxValue,
553
- onInput: f(this, A, "f"),
612
+ onInput: f(this, N, "f"),
554
613
  disabled: this.importingIsInProcess || this.objectsTreeModel.length === 0,
555
614
  part: "select-all-checkbox"
556
615
  }), i("div", {
@@ -560,29 +619,29 @@ const B = class {
560
619
  id: "import-btn",
561
620
  class: "button-primary ",
562
621
  onClick: f(this, S, "f"),
563
- disabled: ((e = this.objectsTreeModel) === null || e === void 0 ? void 0 : e.length) === 0 || this.importingIsInProcess
564
- }, f(this, m, "f").main.objectsInFile.importButton), i("button", {
622
+ disabled: ((e = this.objectsTreeModel) === null || e === void 0 ? void 0 : e.length) === 0 || this.importingIsInProcess || !this.hasSelection
623
+ }, f(this, u, "f").main.objectsInFile.importButton), i("button", {
565
624
  // cancel-import button
566
625
  id: "cancel-import-btn",
567
626
  class: "button-secondary ",
568
627
  onClick: f(this, W, "f"),
569
628
  disabled: !this.importingIsInProcess,
570
629
  part: "cancel-import-button"
571
- }, f(this, m, "f").main.objectsInFile.cancelButton), i("button", {
630
+ }, f(this, u, "f").main.objectsInFile.cancelButton), i("button", {
572
631
  // settings/options button
573
632
  id: "select-kb-btn",
574
633
  class: "button-tertiary button-icon-only",
575
634
  part: "select-kb-btn",
576
- onClick: f(this, z, "f")
635
+ onClick: f(this, F, "f")
577
636
  }, i("ch-image", {
578
637
  class: "icon-m",
579
- src: U
638
+ src: X
580
639
  })))))), i("section", {
581
640
  // import status
582
641
  class: "import-status__section"
583
642
  }, i("h2", {
584
643
  class: "dialog-header dialog-header-with-border dialog-header__import-status subtitle-regular-xs\t text-align-center spacing-body-inline"
585
- }, f(this, m, "f").main.importStatus.title), i("div", {
644
+ }, f(this, u, "f").main.importStatus.title), i("div", {
586
645
  class: "field-group import-status__main"
587
646
  }, !this.noImport && this.someStatusVisible ? i("ch-tree-view-render", {
588
647
  // import status tree
@@ -598,7 +657,7 @@ const B = class {
598
657
  }
599
658
  }) : i("gx-ide-empty-state", {
600
659
  isAnimated: false,
601
- stateIconSrc: J,
660
+ stateIconSrc: V,
602
661
  stateTitle: this.importStatusMessage,
603
662
  key: "no-objects-empty-state"
604
663
  }), i("footer", {
@@ -609,7 +668,7 @@ const B = class {
609
668
  onClick: f(this, j, "f"),
610
669
  disabled: this.noImport || this.importingIsInProcess,
611
670
  part: "clear-status-btn"
612
- }, f(this, m, "f").main.importStatus.clearButton)))), i("footer", {
671
+ }, f(this, u, "f").main.importStatus.clearButton)))), i("footer", {
613
672
  // footer
614
673
  class: "footer"
615
674
  }, i("gx-ide-status-buttons", {
@@ -619,7 +678,7 @@ const B = class {
619
678
  hideMessage: true,
620
679
  compact: true,
621
680
  minimal: this.statusMinimal,
622
- onSelectionChanged: f(this, R, "f")
681
+ onSelectionChanged: f(this, A, "f")
623
682
  }))));
624
683
  }
625
684
  static get assetsDirs() {
@@ -637,14 +696,14 @@ const B = class {
637
696
  }
638
697
  };
639
698
 
640
- m = new WeakMap, u = new WeakMap, b = new WeakMap, g = new WeakMap, w = new WeakMap,
641
- k = new WeakMap, y = new WeakMap, v = new WeakMap, _ = new WeakMap, x = new WeakMap,
699
+ u = new WeakMap, m = new WeakMap, b = new WeakMap, g = new WeakMap, w = new WeakMap,
700
+ k = new WeakMap, v = new WeakMap, y = new WeakMap, _ = new WeakMap, x = new WeakMap,
642
701
  M = new WeakMap, W = new WeakMap, j = new WeakMap, C = new WeakMap, T = new WeakMap,
643
702
  S = new WeakMap, I = new WeakMap, $ = new WeakMap, E = new WeakMap, D = new WeakMap,
644
703
  L = new WeakMap, z = new WeakMap, F = new WeakMap, H = new WeakMap, O = new WeakMap,
645
- R = new WeakMap, A = new WeakMap, N = new WeakMap;
704
+ R = new WeakMap, A = new WeakMap, N = new WeakMap, P = new WeakMap;
646
705
 
647
- B.style = d;
706
+ G.style = h;
648
707
 
649
- export { B as gx_ide_kb_manager_import };
650
- //# sourceMappingURL=p-06c31f23.entry.js.map
708
+ export { G as gx_ide_kb_manager_import };
709
+ //# sourceMappingURL=p-52a0b585.entry.js.map