@genexus/genexus-ide-ui 1.1.6 → 1.1.8

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 (118) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +61 -20
  3. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-new-version.cjs.entry.js +58 -14
  7. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +16 -9
  9. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  11. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +270 -0
  13. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -0
  14. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/collection/collection-manifest.json +1 -0
  18. package/dist/collection/components/deployment-tool/deployment-tool.js +78 -20
  19. package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
  20. package/dist/collection/components/design-import/design-import.js +1 -1
  21. package/dist/collection/components/design-import/design-import.js.map +1 -1
  22. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.en.json +3 -1
  23. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.ja.json +3 -1
  24. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.zh.json +3 -1
  25. package/dist/collection/components/new-version/new-version.css +4 -0
  26. package/dist/collection/components/new-version/new-version.js +124 -18
  27. package/dist/collection/components/new-version/new-version.js.map +1 -1
  28. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +2 -1
  29. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +1 -0
  30. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +1 -0
  31. package/dist/collection/components/select-kb-items/select-kb-items.css +22 -27
  32. package/dist/collection/components/select-kb-items/select-kb-items.js +34 -8
  33. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  34. package/dist/collection/components/team-dev/commit/commit.js +2 -2
  35. package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
  36. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.en.json +42 -0
  37. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.ja.json +42 -0
  38. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.zh.json +42 -0
  39. package/dist/collection/components/team-dev/history/helpers.js +22 -0
  40. package/dist/collection/components/team-dev/history/helpers.js.map +1 -0
  41. package/dist/collection/components/team-dev/history/history.css +124 -0
  42. package/dist/collection/components/team-dev/history/history.js +448 -0
  43. package/dist/collection/components/team-dev/history/history.js.map +1 -0
  44. package/dist/collection/components/team-dev/update/update.js +1 -1
  45. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  46. package/dist/collection/testing/locale.e2e.js +1 -0
  47. package/dist/collection/testing/locale.e2e.js.map +1 -1
  48. package/dist/components/gx-ide-deployment-tool.js +62 -20
  49. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  50. package/dist/components/gx-ide-design-import.js +1 -1
  51. package/dist/components/gx-ide-design-import.js.map +1 -1
  52. package/dist/components/gx-ide-new-version.js +65 -15
  53. package/dist/components/gx-ide-new-version.js.map +1 -1
  54. package/dist/components/gx-ide-select-kb-items.js +1 -507
  55. package/dist/components/gx-ide-select-kb-items.js.map +1 -1
  56. package/dist/components/gx-ide-team-dev-commit.js +2 -2
  57. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  58. package/dist/components/gx-ide-team-dev-history.d.ts +11 -0
  59. package/dist/components/gx-ide-team-dev-history.js +322 -0
  60. package/dist/components/gx-ide-team-dev-history.js.map +1 -0
  61. package/dist/components/gx-ide-team-dev-update.js +1 -1
  62. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  63. package/dist/components/select-kb-items.js +520 -0
  64. package/dist/components/select-kb-items.js.map +1 -0
  65. package/dist/esm/genexus-ide-ui.js +1 -1
  66. package/dist/esm/gx-ide-deployment-tool.entry.js +61 -20
  67. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  68. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  69. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  70. package/dist/esm/gx-ide-new-version.entry.js +58 -14
  71. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  72. package/dist/esm/gx-ide-select-kb-items.entry.js +16 -9
  73. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  74. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  75. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  76. package/dist/esm/gx-ide-team-dev-history.entry.js +266 -0
  77. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -0
  78. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  79. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  80. package/dist/esm/loader.js +1 -1
  81. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  82. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  83. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.en.json +3 -1
  84. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.ja.json +3 -1
  85. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.zh.json +3 -1
  86. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +2 -1
  87. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +1 -0
  88. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +1 -0
  89. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.en.json +42 -0
  90. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.ja.json +42 -0
  91. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.zh.json +42 -0
  92. package/dist/genexus-ide-ui/{p-3085add2.entry.js → p-03dbccde.entry.js} +193 -160
  93. package/dist/genexus-ide-ui/p-03dbccde.entry.js.map +1 -0
  94. package/dist/genexus-ide-ui/{p-48062d23.entry.js → p-0acf517c.entry.js} +2 -2
  95. package/dist/genexus-ide-ui/{p-48062d23.entry.js.map → p-0acf517c.entry.js.map} +1 -1
  96. package/dist/genexus-ide-ui/{p-d2107cb2.entry.js → p-34fd4875.entry.js} +3 -18
  97. package/dist/genexus-ide-ui/p-34fd4875.entry.js.map +1 -0
  98. package/dist/genexus-ide-ui/p-74715731.entry.js +541 -0
  99. package/dist/genexus-ide-ui/p-74715731.entry.js.map +1 -0
  100. package/dist/genexus-ide-ui/{p-036d005d.entry.js → p-75a5c51f.entry.js} +2 -2
  101. package/dist/genexus-ide-ui/p-75a5c51f.entry.js.map +1 -0
  102. package/dist/genexus-ide-ui/p-80c1ddc3.entry.js +218 -0
  103. package/dist/genexus-ide-ui/p-80c1ddc3.entry.js.map +1 -0
  104. package/dist/genexus-ide-ui/{p-9fa1200f.entry.js → p-a8d0b62e.entry.js} +139 -125
  105. package/dist/genexus-ide-ui/p-a8d0b62e.entry.js.map +1 -0
  106. package/dist/types/components/deployment-tool/deployment-tool.d.ts +5 -0
  107. package/dist/types/components/new-version/new-version.d.ts +27 -1
  108. package/dist/types/components/select-kb-items/select-kb-items.d.ts +8 -0
  109. package/dist/types/components/team-dev/history/helpers.d.ts +7 -0
  110. package/dist/types/components/team-dev/history/history.d.ts +109 -0
  111. package/dist/types/components.d.ts +149 -18
  112. package/package.json +1 -1
  113. package/dist/genexus-ide-ui/p-036d005d.entry.js.map +0 -1
  114. package/dist/genexus-ide-ui/p-3085add2.entry.js.map +0 -1
  115. package/dist/genexus-ide-ui/p-9fa1200f.entry.js.map +0 -1
  116. package/dist/genexus-ide-ui/p-c91af626.entry.js +0 -149
  117. package/dist/genexus-ide-ui/p-c91af626.entry.js.map +0 -1
  118. package/dist/genexus-ide-ui/p-d2107cb2.entry.js.map +0 -1
@@ -1,3 +1,10 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f)
3
+ throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
5
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
6
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
7
+ };
1
8
  var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
9
  if (kind === "m")
3
10
  throw new TypeError("Private method is not writable");
@@ -7,16 +14,11 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
7
14
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
8
15
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
9
16
  };
10
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
11
- if (kind === "a" && !f)
12
- throw new TypeError("Private accessor was defined without a getter");
13
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
14
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
15
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
16
- };
17
- var _GxIdeNewVersion_componentLocale, _GxIdeNewVersion_handleCheckBoxValueChange, _GxIdeNewVersion_handleNameValueChange, _GxIdeNewVersion_handleDescriptionValueChange, _GxIdeNewVersion_cancelClickHandler, _GxIdeNewVersion_createClickHandler;
18
- import { Host, h } from "@stencil/core";
17
+ var _GxIdeNewVersion_componentLocale, _GxIdeNewVersion_versionNameEl, _GxIdeNewVersion_handleCheckBoxValueChange, _GxIdeNewVersion_handleNameValueChange, _GxIdeNewVersion_handleDescriptionValueChange, _GxIdeNewVersion_cancelClickHandler, _GxIdeNewVersion_createClickHandler, _GxIdeNewVersion_initializeValidatableControls, _GxIdeNewVersion_evaluateTooltipRender;
18
+ import { h, Host } from "@stencil/core";
19
19
  import { Locale } from "../../common/locale";
20
+ import { validateControls } from "../../common/form-validation";
21
+ import { config } from "../../common/config";
20
22
  const CSS_BUNDLES = [
21
23
  "resets/box-sizing",
22
24
  "utils/form",
@@ -25,11 +27,14 @@ const CSS_BUNDLES = [
25
27
  "chameleon/scrollbar",
26
28
  "components/checkbox",
27
29
  "components/button",
28
- "components/edit"
30
+ "components/edit",
31
+ "components/tooltip"
29
32
  ];
30
33
  // ch-checkbox
31
34
  const CHECKED_VALUE = "on";
32
35
  const SET_NEW_VERSION_AS_ACTIVE_ID = "set-new-version-as-active";
36
+ const CREATE_LINKED_LOCAL_VERSION_ID = "create-linked-local-version";
37
+ const CREATE_AS_PROTECTED_VERSION_ID = "create-as-protected-version";
33
38
  export class GxIdeNewVersion {
34
39
  constructor() {
35
40
  /**
@@ -37,11 +42,18 @@ export class GxIdeNewVersion {
37
42
  */
38
43
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
39
44
  _GxIdeNewVersion_componentLocale.set(this, void 0);
45
+ _GxIdeNewVersion_versionNameEl.set(this, void 0);
40
46
  _GxIdeNewVersion_handleCheckBoxValueChange.set(this, (event) => {
41
47
  const target = event.target;
42
48
  if (target.id === SET_NEW_VERSION_AS_ACTIVE_ID) {
43
49
  this.setNewVersionAsActive = event.detail === CHECKED_VALUE;
44
50
  }
51
+ else if (target.id === CREATE_LINKED_LOCAL_VERSION_ID) {
52
+ this.createLinkedLocalVersion = event.detail === CHECKED_VALUE;
53
+ }
54
+ else if (target.id === CREATE_AS_PROTECTED_VERSION_ID) {
55
+ this.createAsProtectedVersion = event.detail === CHECKED_VALUE;
56
+ }
45
57
  });
46
58
  _GxIdeNewVersion_handleNameValueChange.set(this, (event) => {
47
59
  this.versionName = event.detail;
@@ -56,13 +68,42 @@ export class GxIdeNewVersion {
56
68
  const newVersionData = {
57
69
  versionName: this.versionName,
58
70
  versionDescription: this.versionDescription,
59
- setNewVersionAsActive: this.setNewVersionAsActive
71
+ setNewVersionAsActive: this.setNewVersionAsActive,
72
+ createLocalLinkedVersion: this.createLinkedLocalVersion,
73
+ createProtectedVersion: this.createAsProtectedVersion
60
74
  };
61
- this.createCallback(newVersionData);
75
+ const formSubmitResult = await this.createCallback(newVersionData);
76
+ this.validatableControls = validateControls(formSubmitResult, this.validatableControls);
77
+ });
78
+ _GxIdeNewVersion_initializeValidatableControls.set(this, () => {
79
+ // populate validatableControls with the controls that could have errors.
80
+ const validatableControls = [__classPrivateFieldGet(this, _GxIdeNewVersion_versionNameEl, "f")];
81
+ validatableControls.forEach(validatableControl => {
82
+ if (validatableControl.id) {
83
+ this.validatableControls.set(validatableControl.id, {
84
+ reference: validatableControl,
85
+ hasError: false,
86
+ message: undefined
87
+ });
88
+ }
89
+ });
90
+ });
91
+ // TODO: evaluate if this should be a global helper function.
92
+ // It is used on other dialogs as well.
93
+ _GxIdeNewVersion_evaluateTooltipRender.set(this, (controlReference) => {
94
+ var _a, _b, _c;
95
+ return ((_b = (_a = this.validatableControls) === null || _a === void 0 ? void 0 : _a.get(controlReference === null || controlReference === void 0 ? void 0 : controlReference.id)) === null || _b === void 0 ? void 0 : _b.hasError) &&
96
+ ((_c = this.validatableControls.get(controlReference.id)) === null || _c === void 0 ? void 0 : _c.message) && (h("ch-tooltip", { class: "tooltip", actionElement: controlReference, blockAlign: config.tooltipSettings.blockAlign, inlineAlign: config.tooltipSettings.inlineAlign, delay: config.tooltipSettings.delay }, this.validatableControls.get(controlReference.id).message));
62
97
  });
63
98
  this.versionName = undefined;
64
99
  this.versionDescription = undefined;
65
100
  this.setNewVersionAsActive = false;
101
+ this.createLinkedLocalVersion = false;
102
+ this.createAsProtectedVersion = false;
103
+ this.validatableControls = new Map();
104
+ this.isRemoteOperation = false;
105
+ this.isFreezeOperation = false;
106
+ this.showLinkedLocalVersionCheckbox = false;
66
107
  this.cancelCallback = undefined;
67
108
  this.createCallback = undefined;
68
109
  this.defaultInputValues = undefined;
@@ -75,9 +116,12 @@ export class GxIdeNewVersion {
75
116
  __classPrivateFieldSet(this, _GxIdeNewVersion_componentLocale, await Locale.getComponentStrings(this.el), "f");
76
117
  this.defaultInputValuesChanged(this.defaultInputValues);
77
118
  }
119
+ componentDidLoad() {
120
+ __classPrivateFieldGet(this, _GxIdeNewVersion_initializeValidatableControls, "f").call(this);
121
+ }
78
122
  render() {
79
123
  const createButtonDisabled = !this.versionName || this.versionName.length === 0;
80
- return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "section" }, h("div", { class: "main scrollable field-group spacing-body" }, h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "version-name" }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.name), h("ch-edit", { type: "text", id: "version-name", class: "input", placeholder: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").placeHolders.name, value: this.versionName, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleNameValueChange, "f") })), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "version-description" }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.description), h("ch-edit", { type: "text", id: "version-description", class: "input", placeholder: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").placeHolders.description, value: this.versionDescription, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleDescriptionValueChange, "f") })), h("div", { class: "field field-inline" }, h("ch-checkbox", { class: "checkbox", id: "set-new-version-as-active", checkedValue: CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleCheckBoxValueChange, "f"), caption: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.setActive }))), h("footer", { class: "control-footer-with-border spacing-body" }, h("div", { class: "buttons-spacer" }, h("button", { class: "button-secondary", onClick: __classPrivateFieldGet(this, _GxIdeNewVersion_cancelClickHandler, "f") }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").buttons.cancel), h("button", { class: "button-primary", onClick: __classPrivateFieldGet(this, _GxIdeNewVersion_createClickHandler, "f"), disabled: createButtonDisabled }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").buttons.create))))));
124
+ return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "section" }, h("div", { class: "main scrollable field-group spacing-body" }, h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "version-name" }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.name), h("ch-edit", { type: "text", id: "version-name", class: "input", placeholder: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").placeHolders.name, value: this.versionName, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleNameValueChange, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeNewVersion_versionNameEl, el, "f")) }), __classPrivateFieldGet(this, _GxIdeNewVersion_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeNewVersion_versionNameEl, "f"))), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "version-description" }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.description), h("ch-edit", { type: "text", id: "version-description", class: "input", placeholder: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").placeHolders.description, value: this.versionDescription, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleDescriptionValueChange, "f") })), !this.isRemoteOperation ? (h("div", { class: "field field-inline" }, h("ch-checkbox", { class: "checkbox", id: "set-new-version-as-active", checkedValue: CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleCheckBoxValueChange, "f"), caption: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.setActive }))) : (h("div", { class: "layout layout--cols-2" }, this.showLinkedLocalVersionCheckbox && (h("div", { class: "layout__panel" }, h("ch-checkbox", { class: "checkbox", id: "create-linked-local-version", checkedValue: CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleCheckBoxValueChange, "f"), caption: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.createLinkedLocalVersion }))), !this.isFreezeOperation && (h("div", { class: "layout__panel" }, h("ch-checkbox", { class: "checkbox", id: "create-as-protected-version", checkedValue: CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleCheckBoxValueChange, "f"), caption: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.createAsProtectedVersion })))))), h("footer", { class: "control-footer-with-border spacing-body" }, h("div", { class: "buttons-spacer" }, h("button", { class: "button-secondary", onClick: __classPrivateFieldGet(this, _GxIdeNewVersion_cancelClickHandler, "f") }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").buttons.cancel), h("button", { class: "button-primary", onClick: __classPrivateFieldGet(this, _GxIdeNewVersion_createClickHandler, "f"), disabled: createButtonDisabled }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").buttons.create))))));
81
125
  }
82
126
  static get is() { return "gx-ide-new-version"; }
83
127
  static get encapsulation() { return "shadow"; }
@@ -94,6 +138,60 @@ export class GxIdeNewVersion {
94
138
  static get assetsDirs() { return ["gx-ide-assets/new-version"]; }
95
139
  static get properties() {
96
140
  return {
141
+ "isRemoteOperation": {
142
+ "type": "boolean",
143
+ "mutable": false,
144
+ "complexType": {
145
+ "original": "boolean",
146
+ "resolved": "boolean",
147
+ "references": {}
148
+ },
149
+ "required": false,
150
+ "optional": false,
151
+ "docs": {
152
+ "tags": [],
153
+ "text": "Indicates if the component is going to be used to create a new remote version"
154
+ },
155
+ "attribute": "is-remote-operation",
156
+ "reflect": false,
157
+ "defaultValue": "false"
158
+ },
159
+ "isFreezeOperation": {
160
+ "type": "boolean",
161
+ "mutable": false,
162
+ "complexType": {
163
+ "original": "boolean",
164
+ "resolved": "boolean",
165
+ "references": {}
166
+ },
167
+ "required": false,
168
+ "optional": false,
169
+ "docs": {
170
+ "tags": [],
171
+ "text": "Indicates if the component is going to be used to create a new remote frozen version"
172
+ },
173
+ "attribute": "is-freeze-operation",
174
+ "reflect": false,
175
+ "defaultValue": "false"
176
+ },
177
+ "showLinkedLocalVersionCheckbox": {
178
+ "type": "boolean",
179
+ "mutable": false,
180
+ "complexType": {
181
+ "original": "boolean",
182
+ "resolved": "boolean",
183
+ "references": {}
184
+ },
185
+ "required": false,
186
+ "optional": false,
187
+ "docs": {
188
+ "tags": [],
189
+ "text": "Indicates if the component must show the checkbox to create a linked local version"
190
+ },
191
+ "attribute": "show-linked-local-version-checkbox",
192
+ "reflect": false,
193
+ "defaultValue": "false"
194
+ },
97
195
  "cancelCallback": {
98
196
  "type": "unknown",
99
197
  "mutable": false,
@@ -118,8 +216,8 @@ export class GxIdeNewVersion {
118
216
  "type": "unknown",
119
217
  "mutable": false,
120
218
  "complexType": {
121
- "original": "(\n newVersionData: NewVersionData\n ) => Promise<void>",
122
- "resolved": "(newVersionData: NewVersionData) => Promise<void>",
219
+ "original": "(\n newVersionData: NewVersionData\n ) => Promise<FormSubmitResult>",
220
+ "resolved": "(newVersionData: NewVersionData) => Promise<FormSubmitResult>",
123
221
  "references": {
124
222
  "NewVersionData": {
125
223
  "location": "local",
@@ -129,6 +227,11 @@ export class GxIdeNewVersion {
129
227
  "Promise": {
130
228
  "location": "global",
131
229
  "id": "global::Promise"
230
+ },
231
+ "FormSubmitResult": {
232
+ "location": "import",
233
+ "path": "../../components",
234
+ "id": "src/components.d.ts::FormSubmitResult"
132
235
  }
133
236
  }
134
237
  },
@@ -144,7 +247,7 @@ export class GxIdeNewVersion {
144
247
  "mutable": false,
145
248
  "complexType": {
146
249
  "original": "NewVersionData",
147
- "resolved": "{ versionName: string; versionDescription: string; setNewVersionAsActive?: boolean; }",
250
+ "resolved": "{ versionName: string; versionDescription: string; setNewVersionAsActive?: boolean; createLocalLinkedVersion?: boolean; createProtectedVersion?: boolean; }",
148
251
  "references": {
149
252
  "NewVersionData": {
150
253
  "location": "local",
@@ -166,7 +269,10 @@ export class GxIdeNewVersion {
166
269
  return {
167
270
  "versionName": {},
168
271
  "versionDescription": {},
169
- "setNewVersionAsActive": {}
272
+ "setNewVersionAsActive": {},
273
+ "createLinkedLocalVersion": {},
274
+ "createAsProtectedVersion": {},
275
+ "validatableControls": {}
170
276
  };
171
277
  }
172
278
  static get elementRef() { return "el"; }
@@ -177,5 +283,5 @@ export class GxIdeNewVersion {
177
283
  }];
178
284
  }
179
285
  }
180
- _GxIdeNewVersion_componentLocale = new WeakMap(), _GxIdeNewVersion_handleCheckBoxValueChange = new WeakMap(), _GxIdeNewVersion_handleNameValueChange = new WeakMap(), _GxIdeNewVersion_handleDescriptionValueChange = new WeakMap(), _GxIdeNewVersion_cancelClickHandler = new WeakMap(), _GxIdeNewVersion_createClickHandler = new WeakMap();
286
+ _GxIdeNewVersion_componentLocale = new WeakMap(), _GxIdeNewVersion_versionNameEl = new WeakMap(), _GxIdeNewVersion_handleCheckBoxValueChange = new WeakMap(), _GxIdeNewVersion_handleNameValueChange = new WeakMap(), _GxIdeNewVersion_handleDescriptionValueChange = new WeakMap(), _GxIdeNewVersion_cancelClickHandler = new WeakMap(), _GxIdeNewVersion_createClickHandler = new WeakMap(), _GxIdeNewVersion_initializeValidatableControls = new WeakMap(), _GxIdeNewVersion_evaluateTooltipRender = new WeakMap();
181
287
  //# sourceMappingURL=new-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new-version.js","sourceRoot":"","sources":["../../../src/components/new-version/new-version.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, Element, State, h, Watch } from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ChCheckboxCustomEvent } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/spacing\",\n \"utils/layout\",\n \"chameleon/scrollbar\",\n \"components/checkbox\",\n \"components/button\",\n \"components/edit\"\n];\n\n// ch-checkbox\nconst CHECKED_VALUE = \"on\";\nconst SET_NEW_VERSION_AS_ACTIVE_ID = \"set-new-version-as-active\";\n\n@Component({\n tag: \"gx-ide-new-version\",\n styleUrl: \"new-version.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-version\"]\n})\nexport class GxIdeNewVersion {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeNewVersionElement;\n\n /**\n * The version selected name\n */\n @State() versionName: string;\n\n /**\n * The version selected description\n */\n @State() versionDescription: string;\n\n /**\n * Checkbox value to set the new version as active\n */\n @State() setNewVersionAsActive: boolean = false;\n\n /**\n * Callback that must be invoked when the 'Cancel' button is pressed.\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create' button is pressed.\n */\n @Prop() readonly createCallback: (\n newVersionData: NewVersionData\n ) => Promise<void>;\n\n /**\n * This property is used to set the initial values of the input fields when the component is loaded.\n */\n @Prop() readonly defaultInputValues: NewVersionData;\n @Watch(\"defaultInputValues\")\n defaultInputValuesChanged(newDefaultInputValues: NewVersionData) {\n this.versionName = newDefaultInputValues?.versionName;\n this.versionDescription = newDefaultInputValues?.versionDescription;\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.defaultInputValuesChanged(this.defaultInputValues);\n }\n\n #handleCheckBoxValueChange = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n const target = event.target as HTMLInputElement;\n if (target.id === SET_NEW_VERSION_AS_ACTIVE_ID) {\n this.setNewVersionAsActive = event.detail === CHECKED_VALUE;\n }\n };\n\n #handleNameValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.versionName = event.detail as string;\n };\n\n #handleDescriptionValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.versionDescription = event.detail as string;\n };\n\n #cancelClickHandler = async () => {\n this.cancelCallback();\n };\n\n #createClickHandler = async () => {\n const newVersionData: NewVersionData = {\n versionName: this.versionName,\n versionDescription: this.versionDescription,\n setNewVersionAsActive: this.setNewVersionAsActive\n };\n this.createCallback(newVersionData);\n };\n\n render() {\n const createButtonDisabled =\n !this.versionName || this.versionName.length === 0;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <div class=\"main scrollable field-group spacing-body\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"version-name\">\n {this.#componentLocale.labels.name}\n </label>\n <ch-edit\n type=\"text\"\n id=\"version-name\"\n class=\"input\"\n placeholder={this.#componentLocale.placeHolders.name}\n value={this.versionName}\n onInput={this.#handleNameValueChange}\n ></ch-edit>\n </div>\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"version-description\">\n {this.#componentLocale.labels.description}\n </label>\n <ch-edit\n type=\"text\"\n id=\"version-description\"\n class=\"input\"\n placeholder={this.#componentLocale.placeHolders.description}\n value={this.versionDescription}\n onInput={this.#handleDescriptionValueChange}\n ></ch-edit>\n </div>\n <div class=\"field field-inline\">\n <ch-checkbox\n class=\"checkbox\"\n id=\"set-new-version-as-active\"\n checkedValue={CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n caption={this.#componentLocale.labels.setActive}\n ></ch-checkbox>\n </div>\n </div>\n\n <footer class=\"control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n onClick={this.#cancelClickHandler}\n >\n {this.#componentLocale.buttons.cancel}\n </button>\n\n <button\n class=\"button-primary\"\n onClick={this.#createClickHandler}\n disabled={createButtonDisabled}\n >\n {this.#componentLocale.buttons.create}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type NewVersionData = {\n versionName: string;\n versionDescription: string;\n setNewVersionAsActive?: boolean;\n};\n"]}
1
+ {"version":3,"file":"new-version.js","sourceRoot":"","sources":["../../../src/components/new-version/new-version.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\n\nimport { ChCheckboxCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { FormSubmitResult } from \"../../components\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\nimport { config } from \"../../common/config\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/spacing\",\n \"utils/layout\",\n \"chameleon/scrollbar\",\n \"components/checkbox\",\n \"components/button\",\n \"components/edit\",\n \"components/tooltip\"\n];\n\n// ch-checkbox\nconst CHECKED_VALUE = \"on\";\nconst SET_NEW_VERSION_AS_ACTIVE_ID = \"set-new-version-as-active\";\nconst CREATE_LINKED_LOCAL_VERSION_ID = \"create-linked-local-version\";\nconst CREATE_AS_PROTECTED_VERSION_ID = \"create-as-protected-version\";\n\n@Component({\n tag: \"gx-ide-new-version\",\n styleUrl: \"new-version.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-version\"]\n})\nexport class GxIdeNewVersion {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n #versionNameEl!: HTMLChEditElement;\n\n @Element() el: HTMLGxIdeNewVersionElement;\n\n /**\n * The version selected name\n */\n @State() versionName: string;\n\n /**\n * The version selected description\n */\n @State() versionDescription: string;\n\n /**\n * Checkbox value to set the new version as active\n */\n @State() setNewVersionAsActive: boolean = false;\n\n /**\n * Checkbox value to create new remote version linked to the local version\n */\n @State() createLinkedLocalVersion: boolean = false;\n\n /**\n * Checkbox value to create new remote version as protected version\n */\n @State() createAsProtectedVersion: boolean = false;\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * Indicates if the component is going to be used to create a new remote version\n */\n @Prop() readonly isRemoteOperation: boolean = false;\n\n /**\n * Indicates if the component is going to be used to create a new remote frozen version\n */\n @Prop() readonly isFreezeOperation: boolean = false;\n\n /**\n * Indicates if the component must show the checkbox to create a linked local version\n */\n @Prop() readonly showLinkedLocalVersionCheckbox: boolean = false;\n\n /**\n * Callback that must be invoked when the 'Cancel' button is pressed.\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create' button is pressed.\n */\n @Prop() readonly createCallback: (\n newVersionData: NewVersionData\n ) => Promise<FormSubmitResult>;\n\n /**\n * This property is used to set the initial values of the input fields when the component is loaded.\n */\n @Prop() readonly defaultInputValues: NewVersionData;\n @Watch(\"defaultInputValues\")\n defaultInputValuesChanged(newDefaultInputValues: NewVersionData) {\n this.versionName = newDefaultInputValues?.versionName;\n this.versionDescription = newDefaultInputValues?.versionDescription;\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.defaultInputValuesChanged(this.defaultInputValues);\n }\n\n componentDidLoad() {\n this.#initializeValidatableControls();\n }\n\n #handleCheckBoxValueChange = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n const target = event.target as HTMLInputElement;\n if (target.id === SET_NEW_VERSION_AS_ACTIVE_ID) {\n this.setNewVersionAsActive = event.detail === CHECKED_VALUE;\n } else if (target.id === CREATE_LINKED_LOCAL_VERSION_ID) {\n this.createLinkedLocalVersion = event.detail === CHECKED_VALUE;\n } else if (target.id === CREATE_AS_PROTECTED_VERSION_ID) {\n this.createAsProtectedVersion = event.detail === CHECKED_VALUE;\n }\n };\n\n #handleNameValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.versionName = event.detail as string;\n };\n\n #handleDescriptionValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.versionDescription = event.detail as string;\n };\n\n #cancelClickHandler = async () => {\n this.cancelCallback();\n };\n\n #createClickHandler = async () => {\n const newVersionData: NewVersionData = {\n versionName: this.versionName,\n versionDescription: this.versionDescription,\n setNewVersionAsActive: this.setNewVersionAsActive,\n createLocalLinkedVersion: this.createLinkedLocalVersion,\n createProtectedVersion: this.createAsProtectedVersion\n };\n const formSubmitResult = await this.createCallback(newVersionData);\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#versionNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n render() {\n const createButtonDisabled =\n !this.versionName || this.versionName.length === 0;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <div class=\"main scrollable field-group spacing-body\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"version-name\">\n {this.#componentLocale.labels.name}\n </label>\n <ch-edit\n type=\"text\"\n id=\"version-name\"\n class=\"input\"\n placeholder={this.#componentLocale.placeHolders.name}\n value={this.versionName}\n onInput={this.#handleNameValueChange}\n ref={(el: HTMLChEditElement) =>\n (this.#versionNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#versionNameEl)}\n </div>\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"version-description\">\n {this.#componentLocale.labels.description}\n </label>\n <ch-edit\n type=\"text\"\n id=\"version-description\"\n class=\"input\"\n placeholder={this.#componentLocale.placeHolders.description}\n value={this.versionDescription}\n onInput={this.#handleDescriptionValueChange}\n ></ch-edit>\n </div>\n {!this.isRemoteOperation ? (\n <div class=\"field field-inline\">\n <ch-checkbox\n class=\"checkbox\"\n id=\"set-new-version-as-active\"\n checkedValue={CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n caption={this.#componentLocale.labels.setActive}\n ></ch-checkbox>\n </div>\n ) : (\n <div class=\"layout layout--cols-2\">\n {this.showLinkedLocalVersionCheckbox && (\n <div class=\"layout__panel\">\n <ch-checkbox\n class=\"checkbox\"\n id=\"create-linked-local-version\"\n checkedValue={CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n caption={\n this.#componentLocale.labels.createLinkedLocalVersion\n }\n ></ch-checkbox>\n </div>\n )}\n {!this.isFreezeOperation && (\n <div class=\"layout__panel\">\n <ch-checkbox\n class=\"checkbox\"\n id=\"create-as-protected-version\"\n checkedValue={CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n caption={\n this.#componentLocale.labels.createAsProtectedVersion\n }\n ></ch-checkbox>\n </div>\n )}\n </div>\n )}\n </div>\n\n <footer class=\"control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n onClick={this.#cancelClickHandler}\n >\n {this.#componentLocale.buttons.cancel}\n </button>\n\n <button\n class=\"button-primary\"\n onClick={this.#createClickHandler}\n disabled={createButtonDisabled}\n >\n {this.#componentLocale.buttons.create}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type NewVersionData = {\n versionName: string;\n versionDescription: string;\n setNewVersionAsActive?: boolean;\n createLocalLinkedVersion?: boolean;\n createProtectedVersion?: boolean;\n};\n"]}
@@ -14,7 +14,8 @@
14
14
  "select": "Select"
15
15
  },
16
16
  "loader": {
17
- "title": "Loading...",
17
+ "title": "Loading",
18
+ "description": "Please, hang on...",
18
19
  "cancelLabel": "Cancel"
19
20
  }
20
21
  }
@@ -15,6 +15,7 @@
15
15
  },
16
16
  "loader": {
17
17
  "title": "",
18
+ "description": "",
18
19
  "cancelLabel": ""
19
20
  }
20
21
  }
@@ -15,6 +15,7 @@
15
15
  },
16
16
  "loader": {
17
17
  "title": "",
18
+ "description": "",
18
19
  "cancelLabel": ""
19
20
  }
20
21
  }
@@ -1,6 +1,14 @@
1
1
  :host {
2
+ --search-input-max-inline-size: 400px;
2
3
  display: grid;
3
4
  block-size: 100%;
5
+ }
6
+
7
+ :host(:not(.has-footer)) {
8
+ grid-template-rows: max-content 1fr;
9
+ }
10
+
11
+ :host(.has-footer) {
4
12
  grid-template-rows: max-content 1fr max-content;
5
13
  }
6
14
 
@@ -12,25 +20,23 @@
12
20
  display: contents;
13
21
  }
14
22
 
15
- .header {
16
- grid-template-areas: "view-mode view-mode" "pattern-filter active-item";
17
- grid-template-columns: minmax(150px, 350px) max-content;
18
- --field-group__column-gap: var(
19
- --mer-spacing--md
20
- );
23
+ .header__first-row, .header__second-row {
24
+ display: grid;
25
+ grid-auto-flow: column;
21
26
  }
22
-
23
- .view-mode__toggle-checkboxes {
24
- grid-area: view-mode;
27
+ .header__first-row {
28
+ column-gap: var(--field-group__column-gap);
29
+ grid-auto-columns: max-content;
25
30
  }
26
-
27
- .pattern-filter {
28
- grid-area: pattern-filter;
29
- max-inline-size: 350px;
31
+ .header__second-row {
32
+ column-gap: 12px;
33
+ grid-template-columns: minmax(150px, var(--search-input-max-inline-size)) max-content;
34
+ }
35
+ .header__second-row--one-row {
36
+ grid-template-columns: minmax(150px, var(--search-input-max-inline-size));
30
37
  }
31
38
 
32
39
  .active-item {
33
- grid-area: active-item;
34
40
  background-color: var(--mer-surface__elevation--01);
35
41
  border-radius: var(--mer-border__radius--sm);
36
42
  padding: var(--mer-spacing--xs) var(--mer-spacing--sm);
@@ -57,19 +63,8 @@
57
63
  color: var(--mer-text__primary--active);
58
64
  }
59
65
 
60
- .view-mode__toggle-checkboxes {
61
- grid-template-columns: max-content max-content;
62
- }
63
-
64
- .field__items-view-type {
65
- align-items: center;
66
- }
67
- .field__items-view-type .label {
68
- margin-block-start: 0 !important;
69
- }
70
-
71
- .field__toggle-checkboxes .label {
72
- margin-block-start: 0 !important;
66
+ .dummy-control-block-size {
67
+ block-size: 32px;
73
68
  }
74
69
 
75
70
  .trees {
@@ -161,6 +161,7 @@ export class GxIdeSelectKbItems {
161
161
  }
162
162
  });
163
163
  this.activeItemNode = undefined;
164
+ this.renderFooter = false;
164
165
  this.nodeListFlattenedTreeModel = [];
165
166
  this.loading = true;
166
167
  this.nodesVersionsViewType = "tree";
@@ -177,15 +178,16 @@ export class GxIdeSelectKbItems {
177
178
  this.itemContextMenuCallback = undefined;
178
179
  this.itemsList = [];
179
180
  this.multiSelection = false;
181
+ this.showActiveItemLink = false;
180
182
  this.selectionChanged = undefined;
181
183
  }
182
184
  watchNodeListHandler(newItemsList) {
183
- if (newItemsList.length > 0) {
184
- this.loading = false;
185
- }
186
185
  __classPrivateFieldGet(this, _GxIdeSelectKbItems_updateViews, "f").call(this, newItemsList);
187
186
  // Check and update activeItem
188
187
  this.activeItemNode = findFirstActiveNode(newItemsList);
188
+ if (newItemsList.length > 0) {
189
+ this.loading = false;
190
+ }
189
191
  }
190
192
  async componentWillLoad() {
191
193
  __classPrivateFieldSet(this, _GxIdeSelectKbItems__componentLocale, await Locale.getComponentStrings(this.el), "f");
@@ -194,6 +196,10 @@ export class GxIdeSelectKbItems {
194
196
  { value: VIEW_AS_LIST_ID, caption: "List" }
195
197
  ], "f");
196
198
  this.watchNodeListHandler(this.itemsList);
199
+ this.renderFooter =
200
+ this.dialogActions.length > 0 ||
201
+ !!this.cancelCallback ||
202
+ !!this.confirmCallback;
197
203
  }
198
204
  /**
199
205
  * Suspends or reactivates the shortcuts
@@ -220,14 +226,15 @@ export class GxIdeSelectKbItems {
220
226
  });
221
227
  }
222
228
  render() {
223
- return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: __classPrivateFieldGet(this, _GxIdeSelectKbItems_shortcutsSrc, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeSelectKbItems_chShortcutsEl, el, "f")) }), h("section", { class: "section" }, h("header", { class: "header control-header field-group spacing-body-block-start spacing-body-inline" }, h("div", { class: "field-group view-mode__toggle-checkboxes" }, h("div", { class: "field field-inline field__items-view-type" }, h("label", { class: "label", htmlFor: "view-mode" }, "Select view mode:"), h("ch-radio-group-render", { class: "radio-group", id: "view-mode", model: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsModel, "f"), onChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsChangedHandler, "f"), value: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsModel, "f")[0].value })), this.checkboxType !== "none" && (h("div", { class: "field field-inline field__toggle-checkboxes" }, h("label", { class: "label", htmlFor: "toggle-checkboxes" }, "Toggle Checkboxes"), h("ch-checkbox", { class: "checkbox", id: "toggle-checkboxes", checkedValue: TOGGLE_CHECKBOXES_CHECKED_VALUE, value: TOGGLE_CHECKBOXES_CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleCheckboxesChangedHandler, "f") })))), h("ch-edit", { class: "input pattern-filter", placeholder: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").header.searchPatternPlaceholder, startImgSrc: SYSTEM_SEARCH_ICON, onInput: __classPrivateFieldGet(this, _GxIdeSelectKbItems_patternSearchValueChangedHandler, "f") }), this.activeItemNode && (h("div", { class: "active-item" }, h("span", { class: "active-item__icon-container" }, h("ch-image", { class: "icon-md active-item__icon", src: this.activeItemNode.iconStart || ACTIVE_ITEM_DEFAULT_ICON, containerRef: null })), __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").header.activeItem, h("button", { class: "active-item__link", onClick: __classPrivateFieldGet(this, _GxIdeSelectKbItems_scrollIntoActiveVersionNode, "f") }, this.activeItemNode.caption)))), h("div", { class: "spacing-body-inline-start trees" }, this.loading ? (h("gx-ide-loader", { loaderTitle: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").loader.title, show: true })) : (h("ch-tree-view-render", { class: "tree-view", model: this.nodesVersionsViewType === "tree"
229
+ return (h(Host, { class: { "widget": true, "has-footer": this.renderFooter } }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: __classPrivateFieldGet(this, _GxIdeSelectKbItems_shortcutsSrc, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeSelectKbItems_chShortcutsEl, el, "f")) }), h("section", { class: "section" }, h("header", { part: "header", class: "header control-header field-group spacing-body-block-start spacing-body-inline" }, h("div", { class: "header__first-row" }, h("div", { class: "field field-inline" }, h("label", { class: "label", htmlFor: "view-mode" }, "Select view mode:"), h("ch-radio-group-render", { class: "radio-group dummy-control-block-size", id: "view-mode", model: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsModel, "f"), onChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsChangedHandler, "f"), value: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsModel, "f")[0].value })), this.checkboxType !== "none" && (h("div", { class: "field field-inline" }, h("label", { class: "label", htmlFor: "toggle-checkboxes" }, "Toggle Checkboxes"), h("ch-checkbox", { class: "checkbox dummy-control-block-size", id: "toggle-checkboxes", checkedValue: TOGGLE_CHECKBOXES_CHECKED_VALUE, value: TOGGLE_CHECKBOXES_CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleCheckboxesChangedHandler, "f") })))), h("div", { class: {
230
+ "header__second-row": true,
231
+ "header__second-row--one-row": !this.showActiveItemLink
232
+ } }, h("ch-edit", { class: "input", placeholder: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").header.searchPatternPlaceholder, startImgSrc: SYSTEM_SEARCH_ICON, onInput: __classPrivateFieldGet(this, _GxIdeSelectKbItems_patternSearchValueChangedHandler, "f"), accessibleName: "search pattern" }), this.activeItemNode && this.showActiveItemLink && (h("div", { class: "active-item" }, h("span", { class: "active-item__icon-container" }, h("ch-image", { class: "icon-md active-item__icon", src: this.activeItemNode.iconStart ||
233
+ ACTIVE_ITEM_DEFAULT_ICON, containerRef: null })), __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").header.activeItem, h("button", { class: "active-item__link", onClick: __classPrivateFieldGet(this, _GxIdeSelectKbItems_scrollIntoActiveVersionNode, "f") }, this.activeItemNode.caption))))), h("div", { class: "spacing-body-inline-start trees" }, this.loading ? (h("gx-ide-loader", { loaderTitle: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").loader.title, description: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").loader.description, show: true })) : (h("ch-tree-view-render", { class: "tree-view", model: this.nodesVersionsViewType === "tree"
224
234
  ? this.nodeVersionsListTreeModel
225
235
  : this.nodeListFlattenedTreeModel, "show-lines": this.nodesVersionsViewType === "tree" ? "all" : "none", expandableButton: this.nodesVersionsViewType === "tree" ? "decorative" : "no", onItemContextmenu: __classPrivateFieldGet(this, _GxIdeSelectKbItems_contextMenuHandler, "f"), onCheckedItemsChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedItemsChangeHandler, "f"), onSelectedItemsChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedItemsChangeHandler, "f"), expandOnClick: this.expandOnClick, multiSelection: this.multiSelection, filter: this.searchPatternValue, filterType: "caption", toggleCheckboxes: this.toggleCheckboxes, ref: (el) => {
226
236
  __classPrivateFieldSet(this, _GxIdeSelectKbItems_treeViewRenderEl, el, "f");
227
- } }))), (this.dialogActions.length > 0 ||
228
- this.cancelCallback ||
229
- this.confirmCallback) &&
230
- __classPrivateFieldGet(this, _GxIdeSelectKbItems_renderFooter, "f").call(this))));
237
+ } }))), this.renderFooter && __classPrivateFieldGet(this, _GxIdeSelectKbItems_renderFooter, "f").call(this))));
231
238
  }
232
239
  static get is() { return "gx-ide-select-kb-items"; }
233
240
  static get encapsulation() { return "shadow"; }
@@ -452,6 +459,24 @@ export class GxIdeSelectKbItems {
452
459
  "reflect": false,
453
460
  "defaultValue": "false"
454
461
  },
462
+ "showActiveItemLink": {
463
+ "type": "boolean",
464
+ "mutable": false,
465
+ "complexType": {
466
+ "original": "boolean",
467
+ "resolved": "boolean",
468
+ "references": {}
469
+ },
470
+ "required": false,
471
+ "optional": true,
472
+ "docs": {
473
+ "tags": [],
474
+ "text": "Used to define if the component must show the \"Active item\" link or not"
475
+ },
476
+ "attribute": "show-active-item-link",
477
+ "reflect": false,
478
+ "defaultValue": "false"
479
+ },
455
480
  "selectionChanged": {
456
481
  "type": "unknown",
457
482
  "mutable": false,
@@ -477,6 +502,7 @@ export class GxIdeSelectKbItems {
477
502
  static get states() {
478
503
  return {
479
504
  "activeItemNode": {},
505
+ "renderFooter": {},
480
506
  "nodeListFlattenedTreeModel": {},
481
507
  "loading": {},
482
508
  "nodesVersionsViewType": {},