@genexus/genexus-ide-ui 1.1.27 → 1.1.29

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 (93) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +3 -5
  3. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js +162 -0
  5. package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js.map +1 -0
  6. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +1 -5
  7. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +13 -0
  9. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-sign-in.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-start-page.cjs.entry.js +2 -2
  13. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/collection/collection-manifest.json +1 -0
  16. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +2 -1
  17. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +3 -2
  18. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +2 -1
  19. package/dist/collection/components/curl-inspector/curl-inspector.css +50 -0
  20. package/dist/collection/components/curl-inspector/curl-inspector.js +327 -0
  21. package/dist/collection/components/curl-inspector/curl-inspector.js.map +1 -0
  22. package/dist/collection/components/curl-inspector/gx-ide-assets/curl-inspector/langs/curl-inspector.lang.en.json +14 -0
  23. package/dist/collection/components/curl-inspector/gx-ide-assets/curl-inspector/langs/curl-inspector.lang.ja.json +14 -0
  24. package/dist/collection/components/curl-inspector/gx-ide-assets/curl-inspector/langs/curl-inspector.lang.zh.json +14 -0
  25. package/dist/collection/components/curl-inspector/gx-ide-assets/curl-inspector/shortcuts.json +31 -0
  26. package/dist/collection/components/select-kb-items/select-kb-items.js +34 -0
  27. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  28. package/dist/collection/components/sign-in/sign-in.css +0 -1
  29. package/dist/collection/components/start-page/start-page.js +2 -2
  30. package/dist/collection/components/start-page/start-page.js.map +1 -1
  31. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +3 -5
  32. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  33. package/dist/collection/showcase/chat-container/chat.showcase.js +1 -5
  34. package/dist/collection/showcase/chat-container/chat.showcase.js.map +1 -1
  35. package/dist/collection/testing/locale.e2e.js +2 -1
  36. package/dist/collection/testing/locale.e2e.js.map +1 -1
  37. package/dist/components/gx-ide-create-kb-from-server.js +3 -5
  38. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  39. package/dist/components/gx-ide-curl-inspector.d.ts +11 -0
  40. package/dist/components/gx-ide-curl-inspector.js +194 -0
  41. package/dist/components/gx-ide-curl-inspector.js.map +1 -0
  42. package/dist/components/gx-ide-sc-chat-container.js +1 -5
  43. package/dist/components/gx-ide-sc-chat-container.js.map +1 -1
  44. package/dist/components/gx-ide-sign-in.js +1 -1
  45. package/dist/components/gx-ide-sign-in.js.map +1 -1
  46. package/dist/components/gx-ide-start-page.js +2 -2
  47. package/dist/components/gx-ide-start-page.js.map +1 -1
  48. package/dist/components/select-kb-items.js +15 -1
  49. package/dist/components/select-kb-items.js.map +1 -1
  50. package/dist/esm/genexus-ide-ui.js +1 -1
  51. package/dist/esm/gx-ide-create-kb-from-server.entry.js +3 -5
  52. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  53. package/dist/esm/gx-ide-curl-inspector.entry.js +158 -0
  54. package/dist/esm/gx-ide-curl-inspector.entry.js.map +1 -0
  55. package/dist/esm/gx-ide-sc-chat-container.entry.js +1 -5
  56. package/dist/esm/gx-ide-sc-chat-container.entry.js.map +1 -1
  57. package/dist/esm/gx-ide-select-kb-items.entry.js +13 -0
  58. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  59. package/dist/esm/gx-ide-sign-in.entry.js +1 -1
  60. package/dist/esm/gx-ide-sign-in.entry.js.map +1 -1
  61. package/dist/esm/gx-ide-start-page.entry.js +2 -2
  62. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  63. package/dist/esm/loader.js +1 -1
  64. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  65. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  66. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +2 -1
  67. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +3 -2
  68. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +2 -1
  69. package/dist/genexus-ide-ui/gx-ide-assets/curl-inspector/langs/curl-inspector.lang.en.json +14 -0
  70. package/dist/genexus-ide-ui/gx-ide-assets/curl-inspector/langs/curl-inspector.lang.ja.json +14 -0
  71. package/dist/genexus-ide-ui/gx-ide-assets/curl-inspector/langs/curl-inspector.lang.zh.json +14 -0
  72. package/dist/genexus-ide-ui/gx-ide-assets/curl-inspector/shortcuts.json +31 -0
  73. package/dist/genexus-ide-ui/{p-4cd4f013.entry.js → p-06fbe725.entry.js} +2 -2
  74. package/dist/genexus-ide-ui/p-06fbe725.entry.js.map +1 -0
  75. package/dist/genexus-ide-ui/{p-413c0800.entry.js → p-29db37fd.entry.js} +3 -4
  76. package/dist/genexus-ide-ui/p-29db37fd.entry.js.map +1 -0
  77. package/dist/genexus-ide-ui/{p-ddbd4891.entry.js → p-4abe6a5c.entry.js} +25 -13
  78. package/dist/genexus-ide-ui/p-4abe6a5c.entry.js.map +1 -0
  79. package/dist/genexus-ide-ui/{p-6b525369.entry.js → p-aae7f543.entry.js} +5 -3
  80. package/dist/genexus-ide-ui/p-aae7f543.entry.js.map +1 -0
  81. package/dist/genexus-ide-ui/p-c3400671.entry.js +217 -0
  82. package/dist/genexus-ide-ui/p-c3400671.entry.js.map +1 -0
  83. package/dist/genexus-ide-ui/{p-afd84bc7.entry.js → p-e4f2a587.entry.js} +41 -44
  84. package/dist/genexus-ide-ui/p-e4f2a587.entry.js.map +1 -0
  85. package/dist/types/components/curl-inspector/curl-inspector.d.ts +56 -0
  86. package/dist/types/components/select-kb-items/select-kb-items.d.ts +4 -0
  87. package/dist/types/components.d.ts +129 -54
  88. package/package.json +1 -1
  89. package/dist/genexus-ide-ui/p-413c0800.entry.js.map +0 -1
  90. package/dist/genexus-ide-ui/p-4cd4f013.entry.js.map +0 -1
  91. package/dist/genexus-ide-ui/p-6b525369.entry.js.map +0 -1
  92. package/dist/genexus-ide-ui/p-afd84bc7.entry.js.map +0 -1
  93. package/dist/genexus-ide-ui/p-ddbd4891.entry.js.map +0 -1
@@ -0,0 +1,327 @@
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
+ };
8
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
9
+ if (kind === "m")
10
+ throw new TypeError("Private method is not writable");
11
+ if (kind === "a" && !f)
12
+ throw new TypeError("Private accessor was defined without a setter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
14
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
+ };
17
+ var _GxIdeCurlInspector_componentLocale, _GxIdeCurlInspector_chShortcutsEl, _GxIdeCurlInspector_descriptionEl, _GxIdeCurlInspector_moduleEntitySelector, _GxIdeCurlInspector_nameEl, _GxIdeCurlInspector_editorEl, _GxIdeCurlInspector_curlContentChangeHandler, _GxIdeCurlInspector_keydownHandler, _GxIdeCurlInspector_initializeValidatableControls, _GxIdeCurlInspector_evaluateTooltipRender, _GxIdeCurlInspector_validateForm, _GxIdeCurlInspector_handleEditorChange, _GxIdeCurlInspector_handleSlotChange, _GxIdeCurlInspector_createHandler;
18
+ import { Host, h } from "@stencil/core";
19
+ import { config } from "../../common/config";
20
+ import { Locale } from "../../common/locale";
21
+ import { validateControls } from "../../common/form-validation";
22
+ const CSS_BUNDLES = [
23
+ "resets/box-sizing",
24
+ "components/tooltip",
25
+ "utils/form--full",
26
+ "utils/layout",
27
+ "utils/typography",
28
+ "utils/spacing",
29
+ "chameleon/scrollbar"
30
+ ];
31
+ export class GxIdeCurlInspector {
32
+ constructor() {
33
+ _GxIdeCurlInspector_componentLocale.set(this, void 0);
34
+ _GxIdeCurlInspector_chShortcutsEl.set(this, void 0);
35
+ _GxIdeCurlInspector_descriptionEl.set(this, void 0);
36
+ _GxIdeCurlInspector_moduleEntitySelector.set(this, void 0);
37
+ _GxIdeCurlInspector_nameEl.set(this, void 0);
38
+ _GxIdeCurlInspector_editorEl.set(this, void 0);
39
+ _GxIdeCurlInspector_curlContentChangeHandler.set(this, void 0);
40
+ _GxIdeCurlInspector_keydownHandler.set(this, void 0);
41
+ _GxIdeCurlInspector_initializeValidatableControls.set(this, () => {
42
+ const validatableControls = [
43
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_nameEl, "f"),
44
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_moduleEntitySelector, "f")
45
+ ];
46
+ validatableControls.forEach(validatableControl => {
47
+ if (validatableControl.id) {
48
+ this.validatableControls.set(validatableControl.id, {
49
+ reference: validatableControl,
50
+ hasError: false,
51
+ message: undefined
52
+ });
53
+ }
54
+ });
55
+ });
56
+ _GxIdeCurlInspector_evaluateTooltipRender.set(this, (controlReference) => {
57
+ var _a, _b, _c;
58
+ 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) &&
59
+ ((_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));
60
+ });
61
+ _GxIdeCurlInspector_validateForm.set(this, () => {
62
+ var _a, _b, _c, _d, _e;
63
+ const name = ((_b = (_a = __classPrivateFieldGet(this, _GxIdeCurlInspector_nameEl, "f")) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.trim()) || "";
64
+ const parentId = ((_d = (_c = __classPrivateFieldGet(this, _GxIdeCurlInspector_moduleEntitySelector, "f")) === null || _c === void 0 ? void 0 : _c.value) === null || _d === void 0 ? void 0 : _d.id) || "";
65
+ const curl = ((_e = this.curlContent) === null || _e === void 0 ? void 0 : _e.trim()) || "";
66
+ const isNameValid = this.validateNameCallback
67
+ ? this.validateNameCallback(name)
68
+ : Boolean(name);
69
+ const isParentValid = Boolean(parentId);
70
+ const isCurlValid = Boolean(curl);
71
+ this.isFormValid = isNameValid && isParentValid && isCurlValid;
72
+ });
73
+ _GxIdeCurlInspector_handleEditorChange.set(this, () => {
74
+ if (__classPrivateFieldGet(this, _GxIdeCurlInspector_editorEl, "f")) {
75
+ this.curlContent = __classPrivateFieldGet(this, _GxIdeCurlInspector_editorEl, "f").text;
76
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_validateForm, "f").call(this);
77
+ }
78
+ });
79
+ _GxIdeCurlInspector_handleSlotChange.set(this, (e) => {
80
+ const elements = e.target.assignedElements();
81
+ if (elements.length) {
82
+ __classPrivateFieldSet(this, _GxIdeCurlInspector_editorEl, elements[0], "f");
83
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_editorEl, "f").addEventListener("input", __classPrivateFieldGet(this, _GxIdeCurlInspector_handleEditorChange, "f"));
84
+ __classPrivateFieldSet(this, _GxIdeCurlInspector_curlContentChangeHandler, ((event) => {
85
+ this.curlContent = event.detail.content;
86
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_handleEditorChange, "f").call(this);
87
+ }), "f");
88
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_editorEl, "f").addEventListener("curl-content-change", __classPrivateFieldGet(this, _GxIdeCurlInspector_curlContentChangeHandler, "f"));
89
+ __classPrivateFieldSet(this, _GxIdeCurlInspector_keydownHandler, (event) => {
90
+ if ((event.ctrlKey || event.metaKey) && event.key === "v") {
91
+ setTimeout(() => {
92
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_handleEditorChange, "f").call(this);
93
+ }, 0);
94
+ }
95
+ }, "f");
96
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_editorEl, "f").addEventListener("keydown", __classPrivateFieldGet(this, _GxIdeCurlInspector_keydownHandler, "f"));
97
+ this.curlContent = __classPrivateFieldGet(this, _GxIdeCurlInspector_editorEl, "f").text;
98
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_validateForm, "f").call(this);
99
+ }
100
+ });
101
+ _GxIdeCurlInspector_createHandler.set(this, () => {
102
+ var _a;
103
+ const data = {
104
+ name: __classPrivateFieldGet(this, _GxIdeCurlInspector_nameEl, "f").value,
105
+ description: __classPrivateFieldGet(this, _GxIdeCurlInspector_descriptionEl, "f").value,
106
+ parentId: (_a = __classPrivateFieldGet(this, _GxIdeCurlInspector_moduleEntitySelector, "f").value) === null || _a === void 0 ? void 0 : _a.id,
107
+ curl: this.curlContent
108
+ };
109
+ this.confirmCallback(data).then((formSubmitResult) => {
110
+ this.validatableControls = validateControls(formSubmitResult, this.validatableControls);
111
+ });
112
+ });
113
+ this.showTooltipError = false;
114
+ this.isFormValid = false;
115
+ this.curlContent = "";
116
+ this.validatableControls = new Map();
117
+ this.cancelCallback = undefined;
118
+ this.confirmCallback = undefined;
119
+ this.defaultParent = undefined;
120
+ this.parent = undefined;
121
+ this.selectModuleCallback = undefined;
122
+ this.validateNameCallback = undefined;
123
+ }
124
+ async componentWillLoad() {
125
+ __classPrivateFieldSet(this, _GxIdeCurlInspector_componentLocale, await Locale.getComponentStrings(this.el), "f");
126
+ }
127
+ componentDidLoad() {
128
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_initializeValidatableControls, "f").call(this);
129
+ }
130
+ disconnectedCallback() {
131
+ if (__classPrivateFieldGet(this, _GxIdeCurlInspector_editorEl, "f") && __classPrivateFieldGet(this, _GxIdeCurlInspector_editorEl, "f").removeEventListener) {
132
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_editorEl, "f").removeEventListener("input", __classPrivateFieldGet(this, _GxIdeCurlInspector_handleEditorChange, "f"));
133
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_editorEl, "f").removeEventListener("curl-content-change", __classPrivateFieldGet(this, _GxIdeCurlInspector_curlContentChangeHandler, "f"));
134
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_editorEl, "f").removeEventListener("keydown", __classPrivateFieldGet(this, _GxIdeCurlInspector_keydownHandler, "f"));
135
+ }
136
+ }
137
+ /**
138
+ * Suspends or reactivates the shortcuts
139
+ */
140
+ async suspendShortcuts(suspendShortcuts) {
141
+ __classPrivateFieldGet(this, _GxIdeCurlInspector_chShortcutsEl, "f").suspend = suspendShortcuts;
142
+ }
143
+ render() {
144
+ return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: "./gx-ide-assets/curl-inspector/shortcuts.json", ref: (el) => (__classPrivateFieldSet(this, _GxIdeCurlInspector_chShortcutsEl, el, "f")) }), h("section", { class: "section" }, h("header", { class: "header field-group spacing-body control-header" }, h("div", { class: "field-group field-group-name-description-module" }, h("label", { class: "label name-label", htmlFor: "input-name" }, __classPrivateFieldGet(this, _GxIdeCurlInspector_componentLocale, "f").header.nameFieldLabel), h("ch-edit", { class: "input name-input", id: "input-name", ref: (el) => (__classPrivateFieldSet(this, _GxIdeCurlInspector_nameEl, el, "f")), onInput: __classPrivateFieldGet(this, _GxIdeCurlInspector_validateForm, "f") }), __classPrivateFieldGet(this, _GxIdeCurlInspector_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeCurlInspector_nameEl, "f")), h("label", { class: "label description-label", htmlFor: "input-description" }, __classPrivateFieldGet(this, _GxIdeCurlInspector_componentLocale, "f").header.descriptionFieldLabel), h("ch-edit", { class: "input description-input", id: "input-description", ref: (el) => (__classPrivateFieldSet(this, _GxIdeCurlInspector_descriptionEl, el, "f")) }), h("label", { class: "label module-label", htmlFor: "input-module" }, __classPrivateFieldGet(this, _GxIdeCurlInspector_componentLocale, "f").header.moduleFolderLabel), h("gx-ide-entity-selector", { class: "module module-entity-selector", id: "module", value: this.defaultParent, ref: (el) => (__classPrivateFieldSet(this, _GxIdeCurlInspector_moduleEntitySelector, el, "f")), labelPosition: "none", defaultValue: this.defaultParent, selectEntityCallback: this.selectModuleCallback }), __classPrivateFieldGet(this, _GxIdeCurlInspector_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeCurlInspector_moduleEntitySelector, "f")))), h("div", { class: "main field-group scrollable" }, h("slot", { name: "CurlTextEditor", onSlotchange: __classPrivateFieldGet(this, _GxIdeCurlInspector_handleSlotChange, "f") })), h("footer", { class: "control-footer control-footer spacing-body-block-end spacing-body-inline" }, h("div", { class: "buttons-spacer" }, h("button", { class: "button-secondary", id: "button-cancel", onClick: this.cancelCallback, part: "button-cancel" }, __classPrivateFieldGet(this, _GxIdeCurlInspector_componentLocale, "f").footer.btnCancel), h("button", { class: "button-primary", id: "button-ok", onClick: __classPrivateFieldGet(this, _GxIdeCurlInspector_createHandler, "f"), part: "button-ok", disabled: !this.isFormValid }, __classPrivateFieldGet(this, _GxIdeCurlInspector_componentLocale, "f").footer.btnCreate))))));
145
+ }
146
+ static get is() { return "gx-ide-curl-inspector"; }
147
+ static get encapsulation() { return "shadow"; }
148
+ static get originalStyleUrls() {
149
+ return {
150
+ "$": ["curl-inspector.scss"]
151
+ };
152
+ }
153
+ static get styleUrls() {
154
+ return {
155
+ "$": ["curl-inspector.css"]
156
+ };
157
+ }
158
+ static get assetsDirs() { return ["gx-ide-assets/curl-inspector"]; }
159
+ static get properties() {
160
+ return {
161
+ "cancelCallback": {
162
+ "type": "unknown",
163
+ "mutable": false,
164
+ "complexType": {
165
+ "original": "() => Promise<void>",
166
+ "resolved": "() => Promise<void>",
167
+ "references": {
168
+ "Promise": {
169
+ "location": "global",
170
+ "id": "global::Promise"
171
+ }
172
+ }
173
+ },
174
+ "required": false,
175
+ "optional": false,
176
+ "docs": {
177
+ "tags": [],
178
+ "text": "Callback that must be invoked when the user wants to cancel the operation"
179
+ }
180
+ },
181
+ "confirmCallback": {
182
+ "type": "unknown",
183
+ "mutable": false,
184
+ "complexType": {
185
+ "original": "(\n data: CurlImportData\n ) => Promise<FormSubmitResult>",
186
+ "resolved": "(data: CurlImportData) => Promise<FormSubmitResult>",
187
+ "references": {
188
+ "CurlImportData": {
189
+ "location": "local",
190
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/curl-inspector/curl-inspector.tsx",
191
+ "id": "src/components/curl-inspector/curl-inspector.tsx::CurlImportData"
192
+ },
193
+ "Promise": {
194
+ "location": "global",
195
+ "id": "global::Promise"
196
+ },
197
+ "FormSubmitResult": {
198
+ "location": "import",
199
+ "path": "../../common/types",
200
+ "id": "src/common/types.ts::FormSubmitResult"
201
+ }
202
+ }
203
+ },
204
+ "required": true,
205
+ "optional": false,
206
+ "docs": {
207
+ "tags": [],
208
+ "text": "Callback that must be invoked when the user confirms the creation. Receives the data\nnecessary to create the procedure."
209
+ }
210
+ },
211
+ "defaultParent": {
212
+ "type": "unknown",
213
+ "mutable": false,
214
+ "complexType": {
215
+ "original": "EntityData",
216
+ "resolved": "{ id: string; name: string; iconSrc?: string; }",
217
+ "references": {
218
+ "EntityData": {
219
+ "location": "local",
220
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/curl-inspector/curl-inspector.tsx",
221
+ "id": "src/components/curl-inspector/curl-inspector.tsx::EntityData"
222
+ }
223
+ }
224
+ },
225
+ "required": false,
226
+ "optional": false,
227
+ "docs": {
228
+ "tags": [],
229
+ "text": "Default value for Module/Folder field"
230
+ }
231
+ },
232
+ "parent": {
233
+ "type": "unknown",
234
+ "mutable": false,
235
+ "complexType": {
236
+ "original": "EntityData",
237
+ "resolved": "{ id: string; name: string; iconSrc?: string; }",
238
+ "references": {
239
+ "EntityData": {
240
+ "location": "local",
241
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/curl-inspector/curl-inspector.tsx",
242
+ "id": "src/components/curl-inspector/curl-inspector.tsx::EntityData"
243
+ }
244
+ }
245
+ },
246
+ "required": false,
247
+ "optional": false,
248
+ "docs": {
249
+ "tags": [],
250
+ "text": "Actual value for Module/Folder field"
251
+ }
252
+ },
253
+ "selectModuleCallback": {
254
+ "type": "unknown",
255
+ "mutable": false,
256
+ "complexType": {
257
+ "original": "SelectModuleCallback",
258
+ "resolved": "() => Promise<EntityData>",
259
+ "references": {
260
+ "SelectModuleCallback": {
261
+ "location": "local",
262
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/curl-inspector/curl-inspector.tsx",
263
+ "id": "src/components/curl-inspector/curl-inspector.tsx::SelectModuleCallback"
264
+ }
265
+ }
266
+ },
267
+ "required": false,
268
+ "optional": false,
269
+ "docs": {
270
+ "tags": [],
271
+ "text": "Callback invoked when the action is executed in the Module/Folder filter. It returns the\ninformation of the selected object (id and name) or 'undefined' if it was canceled."
272
+ }
273
+ },
274
+ "validateNameCallback": {
275
+ "type": "unknown",
276
+ "mutable": false,
277
+ "complexType": {
278
+ "original": "(name: string) => boolean",
279
+ "resolved": "(name: string) => boolean",
280
+ "references": {}
281
+ },
282
+ "required": false,
283
+ "optional": true,
284
+ "docs": {
285
+ "tags": [],
286
+ "text": "Callback to validate the name. Should return true if the name is valid, false otherwise."
287
+ }
288
+ }
289
+ };
290
+ }
291
+ static get states() {
292
+ return {
293
+ "showTooltipError": {},
294
+ "isFormValid": {},
295
+ "curlContent": {},
296
+ "validatableControls": {}
297
+ };
298
+ }
299
+ static get methods() {
300
+ return {
301
+ "suspendShortcuts": {
302
+ "complexType": {
303
+ "signature": "(suspendShortcuts: boolean) => Promise<void>",
304
+ "parameters": [{
305
+ "name": "suspendShortcuts",
306
+ "type": "boolean",
307
+ "docs": ""
308
+ }],
309
+ "references": {
310
+ "Promise": {
311
+ "location": "global",
312
+ "id": "global::Promise"
313
+ }
314
+ },
315
+ "return": "Promise<void>"
316
+ },
317
+ "docs": {
318
+ "text": "Suspends or reactivates the shortcuts",
319
+ "tags": []
320
+ }
321
+ }
322
+ };
323
+ }
324
+ static get elementRef() { return "el"; }
325
+ }
326
+ _GxIdeCurlInspector_componentLocale = new WeakMap(), _GxIdeCurlInspector_chShortcutsEl = new WeakMap(), _GxIdeCurlInspector_descriptionEl = new WeakMap(), _GxIdeCurlInspector_moduleEntitySelector = new WeakMap(), _GxIdeCurlInspector_nameEl = new WeakMap(), _GxIdeCurlInspector_editorEl = new WeakMap(), _GxIdeCurlInspector_curlContentChangeHandler = new WeakMap(), _GxIdeCurlInspector_keydownHandler = new WeakMap(), _GxIdeCurlInspector_initializeValidatableControls = new WeakMap(), _GxIdeCurlInspector_evaluateTooltipRender = new WeakMap(), _GxIdeCurlInspector_validateForm = new WeakMap(), _GxIdeCurlInspector_handleEditorChange = new WeakMap(), _GxIdeCurlInspector_handleSlotChange = new WeakMap(), _GxIdeCurlInspector_createHandler = new WeakMap();
327
+ //# sourceMappingURL=curl-inspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curl-inspector.js","sourceRoot":"","sources":["../../../src/components/curl-inspector/curl-inspector.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n Prop,\n Element,\n State,\n Method,\n h\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { config } from \"../../common/config\";\nimport { Locale } from \"../../common/locale\";\nimport { FormSubmitResult } from \"../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-curl-inspector\",\n styleUrl: \"curl-inspector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/curl-inspector\"]\n})\nexport class GxIdeCurlInspector {\n #componentLocale: any;\n #chShortcutsEl: HTMLChShortcutsElement;\n #descriptionEl!: HTMLChEditElement;\n #moduleEntitySelector!: HTMLGxIdeEntitySelectorElement;\n #nameEl!: HTMLChEditElement;\n #editorEl: TextProviderElement;\n #curlContentChangeHandler: EventListener;\n #keydownHandler: EventListener;\n\n @Element() el: HTMLGxIdeCurlInspectorElement;\n\n @State() showTooltipError: boolean = false;\n @State() isFormValid: boolean = false;\n @State() curlContent: string = \"\";\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * Callback that must be invoked when the user wants to cancel the operation\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the user confirms the creation. Receives the data\n * necessary to create the procedure.\n */\n @Prop() readonly confirmCallback!: (\n data: CurlImportData\n ) => Promise<FormSubmitResult>;\n\n /**\n * Default value for Module/Folder field\n */\n @Prop() readonly defaultParent: EntityData;\n\n /**\n * Actual value for Module/Folder field\n */\n @Prop() readonly parent: EntityData;\n\n /**\n * Callback invoked when the action is executed in the Module/Folder filter. It returns the\n * information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback: SelectModuleCallback;\n\n /**\n * Callback to validate the name. Should return true if the name is valid, false otherwise.\n */\n @Prop() readonly validateNameCallback?: (name: string) => boolean;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.#initializeValidatableControls();\n }\n\n disconnectedCallback() {\n if (this.#editorEl && this.#editorEl.removeEventListener) {\n this.#editorEl.removeEventListener(\"input\", this.#handleEditorChange);\n this.#editorEl.removeEventListener(\n \"curl-content-change\",\n this.#curlContentChangeHandler\n );\n this.#editorEl.removeEventListener(\"keydown\", this.#keydownHandler);\n }\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n this.#chShortcutsEl.suspend = suspendShortcuts;\n }\n\n #initializeValidatableControls = () => {\n const validatableControls: HTMLElement[] = [\n this.#nameEl,\n this.#moduleEntitySelector\n ];\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 #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 #validateForm = () => {\n const name = this.#nameEl?.value?.trim() || \"\";\n const parentId = this.#moduleEntitySelector?.value?.id || \"\";\n const curl = this.curlContent?.trim() || \"\";\n\n const isNameValid = this.validateNameCallback\n ? this.validateNameCallback(name)\n : Boolean(name);\n const isParentValid = Boolean(parentId);\n const isCurlValid = Boolean(curl);\n\n this.isFormValid = isNameValid && isParentValid && isCurlValid;\n };\n\n #handleEditorChange = () => {\n if (this.#editorEl) {\n this.curlContent = this.#editorEl.text;\n this.#validateForm();\n }\n };\n\n #handleSlotChange = (e: Event) => {\n const elements = (e.target as HTMLSlotElement).assignedElements();\n if (elements.length) {\n this.#editorEl = elements[0] as TextProviderElement;\n\n this.#editorEl.addEventListener(\"input\", this.#handleEditorChange);\n\n this.#curlContentChangeHandler = ((event: CustomEvent) => {\n this.curlContent = event.detail.content;\n this.#handleEditorChange();\n }) as EventListener;\n\n this.#editorEl.addEventListener(\n \"curl-content-change\",\n this.#curlContentChangeHandler\n );\n\n this.#keydownHandler = (event: KeyboardEvent) => {\n if ((event.ctrlKey || event.metaKey) && event.key === \"v\") {\n setTimeout(() => {\n this.#handleEditorChange();\n }, 0);\n }\n };\n\n this.#editorEl.addEventListener(\"keydown\", this.#keydownHandler);\n\n this.curlContent = this.#editorEl.text;\n this.#validateForm();\n }\n };\n\n #createHandler = () => {\n const data: CurlImportData = {\n name: this.#nameEl.value,\n description: this.#descriptionEl.value,\n parentId: this.#moduleEntitySelector.value?.id,\n curl: this.curlContent\n };\n this.confirmCallback(data).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={\"./gx-ide-assets/curl-inspector/shortcuts.json\"}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section\">\n <header class=\"header field-group spacing-body control-header\">\n <div class=\"field-group field-group-name-description-module\">\n <label class=\"label name-label\" htmlFor=\"input-name\">\n {this.#componentLocale.header.nameFieldLabel}\n </label>\n <ch-edit\n class=\"input name-input\"\n id=\"input-name\"\n ref={(el: HTMLChEditElement) =>\n (this.#nameEl = el as HTMLChEditElement)\n }\n onInput={this.#validateForm}\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#nameEl)}\n\n <label\n class=\"label description-label\"\n htmlFor=\"input-description\"\n >\n {this.#componentLocale.header.descriptionFieldLabel}\n </label>\n <ch-edit\n class=\"input description-input\"\n id=\"input-description\"\n ref={(el: HTMLChEditElement) =>\n (this.#descriptionEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n\n <label class=\"label module-label\" htmlFor=\"input-module\">\n {this.#componentLocale.header.moduleFolderLabel}\n </label>\n <gx-ide-entity-selector\n class=\"module module-entity-selector\"\n id=\"module\"\n value={this.defaultParent}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#moduleEntitySelector =\n el as HTMLGxIdeEntitySelectorElement)\n }\n labelPosition=\"none\"\n defaultValue={this.defaultParent}\n selectEntityCallback={this.selectModuleCallback}\n ></gx-ide-entity-selector>\n {this.#evaluateTooltipRender(this.#moduleEntitySelector)}\n </div>\n </header>\n <div class=\"main field-group scrollable\">\n <slot\n name=\"CurlTextEditor\"\n onSlotchange={this.#handleSlotChange}\n ></slot>\n </div>\n <footer class=\"control-footer control-footer spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n id=\"button-cancel\"\n onClick={this.cancelCallback}\n part=\"button-cancel\"\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n <button\n class=\"button-primary\"\n id=\"button-ok\"\n onClick={this.#createHandler}\n part=\"button-ok\"\n disabled={!this.isFormValid}\n >\n {this.#componentLocale.footer.btnCreate}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type CurlImportData = {\n name: string;\n description: string;\n parentId: string;\n curl: string;\n};\n\nexport type EntityData = {\n id: string;\n name: string;\n iconSrc?: string;\n};\n\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\ninterface ItextProvider {\n readonly text: string;\n}\n\ntype TextProviderElement = HTMLElement & ItextProvider;\n"]}
@@ -0,0 +1,14 @@
1
+ {
2
+ "header": {
3
+ "nameFieldLabel": "Name",
4
+ "descriptionFieldLabel": "Description",
5
+ "moduleFolderLabel": "Module/Folder"
6
+ },
7
+ "footer": {
8
+ "btnCancel": "Cancel",
9
+ "btnCreate": "Create Procedure"
10
+ },
11
+ "error": {
12
+ "errorMessage": "Error"
13
+ }
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "header": {
3
+ "nameFieldLabel": "Name",
4
+ "descriptionFieldLabel": "Description",
5
+ "moduleFolderLabel": "Module/Folder"
6
+ },
7
+ "footer": {
8
+ "btnCancel": "Cancel",
9
+ "btnCreate": "Create Procedure"
10
+ },
11
+ "error": {
12
+ "errorMessage": "Error"
13
+ }
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "header": {
3
+ "nameFieldLabel": "Name",
4
+ "descriptionFieldLabel": "Description",
5
+ "moduleFolderLabel": "Module/Folder"
6
+ },
7
+ "footer": {
8
+ "btnCancel": "Cancel",
9
+ "btnCreate": "Create Procedure"
10
+ },
11
+ "error": {
12
+ "errorMessage": "Error"
13
+ }
14
+ }
@@ -0,0 +1,31 @@
1
+ [
2
+ {
3
+ "selector": "[part='button-ok']",
4
+ "keyShortcuts": "Enter",
5
+ "action": "click",
6
+ "conditions": {
7
+ "focusExclude": "[part='button-cancel']"
8
+ }
9
+ },
10
+ {
11
+ "selector": "[part='button-ok']",
12
+ "keyShortcuts": "Ctrl+Enter",
13
+ "action": "click",
14
+ "conditions": {
15
+ "focusExclude": "[part='button-cancel']"
16
+ }
17
+ },
18
+ {
19
+ "selector": "[part='button-ok']",
20
+ "keyShortcuts": "Cmd+Enter",
21
+ "action": "click",
22
+ "conditions": {
23
+ "focusExclude": "[part='button-cancel']"
24
+ }
25
+ },
26
+ {
27
+ "selector": "[part='button-cancel']",
28
+ "keyShortcuts": "Escape",
29
+ "action": "click"
30
+ }
31
+ ]
@@ -225,6 +225,19 @@ export class GxIdeSelectKbItems {
225
225
  selected: true
226
226
  });
227
227
  }
228
+ /**
229
+ * Allow to update the checked items
230
+ */
231
+ async updateCheckedItems(checkedItemsIds) {
232
+ // first clear checks
233
+ __classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties(__classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"), {
234
+ checked: false
235
+ });
236
+ // then select
237
+ __classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties(checkedItemsIds, {
238
+ checked: true
239
+ });
240
+ }
228
241
  render() {
229
242
  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
243
  "header__second-row": true,
@@ -554,6 +567,27 @@ export class GxIdeSelectKbItems {
554
567
  "text": "Allow to update the selected items",
555
568
  "tags": []
556
569
  }
570
+ },
571
+ "updateCheckedItems": {
572
+ "complexType": {
573
+ "signature": "(checkedItemsIds: string[]) => Promise<void>",
574
+ "parameters": [{
575
+ "name": "checkedItemsIds",
576
+ "type": "string[]",
577
+ "docs": ""
578
+ }],
579
+ "references": {
580
+ "Promise": {
581
+ "location": "global",
582
+ "id": "global::Promise"
583
+ }
584
+ },
585
+ "return": "Promise<void>"
586
+ },
587
+ "docs": {
588
+ "text": "Allow to update the checked items",
589
+ "tags": []
590
+ }
557
591
  }
558
592
  };
559
593
  }