@genexus/genexus-ide-ui 1.0.24 → 1.0.25

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 (123) hide show
  1. package/dist/cjs/{form-validation-0019e158.js → form-validation-178cf461.js} +1 -19
  2. package/dist/cjs/form-validation-178cf461.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +197 -61
  5. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +190 -122
  7. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +149 -43
  11. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/collection/collection-manifest.json +3 -3
  14. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.css +33 -0
  15. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +350 -0
  16. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -0
  17. package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.en.json +13 -0
  18. package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +3 -0
  19. package/dist/collection/components/team-dev/connect-gx-server/helpers.js +17 -0
  20. package/dist/collection/components/team-dev/connect-gx-server/helpers.js.map +1 -0
  21. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +39 -0
  22. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +381 -0
  23. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -0
  24. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +27 -0
  25. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +27 -0
  26. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +27 -0
  27. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/shortcuts.json +10 -0
  28. package/dist/collection/components/team-dev/create-kb-from-server/helpers.js +12 -0
  29. package/dist/collection/components/team-dev/create-kb-from-server/helpers.js.map +1 -0
  30. package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +27 -0
  31. package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.ja.json +27 -0
  32. package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.zh.json +27 -0
  33. package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/shortcuts.json +10 -0
  34. package/dist/collection/components/team-dev/share-kb/helpers.js +12 -0
  35. package/dist/collection/components/team-dev/share-kb/helpers.js.map +1 -0
  36. package/dist/collection/components/team-dev/share-kb/share-kb.css +39 -0
  37. package/dist/collection/components/team-dev/share-kb/share-kb.js +349 -0
  38. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -0
  39. package/dist/components/form-validation.js +1 -18
  40. package/dist/components/form-validation.js.map +1 -1
  41. package/dist/components/gx-ide-connect-gx-server.js +211 -82
  42. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  43. package/dist/components/gx-ide-create-kb-from-server.js +204 -148
  44. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  45. package/dist/components/gx-ide-share-kb.js +160 -61
  46. package/dist/components/gx-ide-share-kb.js.map +1 -1
  47. package/dist/esm/{form-validation-44b2c2a8.js → form-validation-cd0215c6.js} +2 -19
  48. package/dist/esm/form-validation-cd0215c6.js.map +1 -0
  49. package/dist/esm/genexus-ide-ui.js +1 -1
  50. package/dist/esm/gx-ide-connect-gx-server.entry.js +198 -62
  51. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  52. package/dist/esm/gx-ide-create-kb-from-server.entry.js +191 -123
  53. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  54. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  55. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  56. package/dist/esm/gx-ide-share-kb.entry.js +149 -43
  57. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  58. package/dist/esm/loader.js +1 -1
  59. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  60. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  61. package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.en.json +8 -12
  62. package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +2 -16
  63. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +20 -12
  64. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +20 -12
  65. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +25 -1
  66. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/shortcuts.json +5 -2
  67. package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +22 -8
  68. package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.ja.json +23 -9
  69. package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.zh.json +25 -1
  70. package/dist/genexus-ide-ui/gx-ide-assets/share-kb/shortcuts.json +5 -2
  71. package/dist/genexus-ide-ui/p-289c3290.js +39 -0
  72. package/dist/genexus-ide-ui/p-289c3290.js.map +1 -0
  73. package/dist/genexus-ide-ui/p-2c6dd837.entry.js +305 -0
  74. package/dist/genexus-ide-ui/p-2c6dd837.entry.js.map +1 -0
  75. package/dist/genexus-ide-ui/p-407c31c6.entry.js +264 -0
  76. package/dist/genexus-ide-ui/p-407c31c6.entry.js.map +1 -0
  77. package/dist/genexus-ide-ui/{p-3adbc04c.entry.js → p-4cbaa118.entry.js} +11 -11
  78. package/dist/genexus-ide-ui/p-e31b4df0.entry.js +249 -0
  79. package/dist/genexus-ide-ui/p-e31b4df0.entry.js.map +1 -0
  80. package/dist/genexus-ide-ui/{p-3d5fea0a.entry.js → p-ed7eada1.entry.js} +2 -2
  81. package/dist/types/components/team-dev/connect-gx-server/connect-gx-server.d.ts +50 -0
  82. package/dist/types/components/team-dev/connect-gx-server/helpers.d.ts +4 -0
  83. package/dist/types/components/team-dev/create-kb-from-server/create-kb-from-server.d.ts +82 -0
  84. package/dist/types/components/team-dev/create-kb-from-server/helpers.d.ts +3 -0
  85. package/dist/types/components/team-dev/share-kb/helpers.d.ts +3 -0
  86. package/dist/types/components/team-dev/share-kb/share-kb.d.ts +73 -0
  87. package/dist/types/components.d.ts +119 -151
  88. package/package.json +1 -1
  89. package/dist/cjs/form-validation-0019e158.js.map +0 -1
  90. package/dist/collection/components/connect-gx-server/connect-gx-server.css +0 -609
  91. package/dist/collection/components/connect-gx-server/connect-gx-server.js +0 -258
  92. package/dist/collection/components/connect-gx-server/connect-gx-server.js.map +0 -1
  93. package/dist/collection/components/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.en.json +0 -17
  94. package/dist/collection/components/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +0 -17
  95. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +0 -638
  96. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +0 -349
  97. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +0 -1
  98. package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +0 -19
  99. package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +0 -19
  100. package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +0 -3
  101. package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/shortcuts.json +0 -7
  102. package/dist/collection/components/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +0 -13
  103. package/dist/collection/components/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.ja.json +0 -13
  104. package/dist/collection/components/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.zh.json +0 -3
  105. package/dist/collection/components/share-kb/gx-ide-assets/share-kb/shortcuts.json +0 -7
  106. package/dist/collection/components/share-kb/share-kb.css +0 -636
  107. package/dist/collection/components/share-kb/share-kb.js +0 -189
  108. package/dist/collection/components/share-kb/share-kb.js.map +0 -1
  109. package/dist/esm/form-validation-44b2c2a8.js.map +0 -1
  110. package/dist/genexus-ide-ui/p-02bc66c1.entry.js +0 -129
  111. package/dist/genexus-ide-ui/p-02bc66c1.entry.js.map +0 -1
  112. package/dist/genexus-ide-ui/p-58e13823.entry.js +0 -158
  113. package/dist/genexus-ide-ui/p-58e13823.entry.js.map +0 -1
  114. package/dist/genexus-ide-ui/p-b8624c0b.js +0 -56
  115. package/dist/genexus-ide-ui/p-b8624c0b.js.map +0 -1
  116. package/dist/genexus-ide-ui/p-cf2c8b3c.entry.js +0 -241
  117. package/dist/genexus-ide-ui/p-cf2c8b3c.entry.js.map +0 -1
  118. package/dist/types/components/connect-gx-server/connect-gx-server.d.ts +0 -62
  119. package/dist/types/components/create-kb-from-server/create-kb-from-server.d.ts +0 -97
  120. package/dist/types/components/share-kb/share-kb.d.ts +0 -53
  121. /package/dist/collection/components/{connect-gx-server → team-dev/connect-gx-server}/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.zh.json +0 -0
  122. /package/dist/genexus-ide-ui/{p-3adbc04c.entry.js.map → p-4cbaa118.entry.js.map} +0 -0
  123. /package/dist/genexus-ide-ui/{p-3d5fea0a.entry.js.map → p-ed7eada1.entry.js.map} +0 -0
@@ -1,189 +0,0 @@
1
- // Define your constants
2
- const AUTHENTICATION_TYPE = ["GeneXus Account", "Local"];
3
- /* STENCIL IMPORTS */
4
- import { Host, h, getAssetPath } from "@stencil/core";
5
- /* OTHER LIBRARIES IMPORTS */
6
- /* CUSTOM IMPORTS */
7
- import { Locale } from "../../common/locale";
8
- import { config } from "../../common/config";
9
- import { formSubmitValidation } from "../../common/form-validation";
10
- import { renderFormItems } from "../../common/common";
11
- export class GxIdeShareKb {
12
- constructor() {
13
- this.renderedFirstTime = false;
14
- this.shortcutsSrc = getAssetPath(`./gx-ide-assets/share-kb/shortcuts.json`);
15
- // 7.LISTENERS //
16
- // 8.PUBLIC METHODS API //
17
- this.createKBCallbackHandler = async () => {
18
- const kbData = {
19
- name: this.kbNameEl.value,
20
- serverUrl: this.serverUrlEl.value,
21
- authenticationType: this.authTypeEl.value,
22
- user: this.userNameEl.value,
23
- password: this.passwordEl.value
24
- };
25
- const createCallbackPromise = this.createKBCallback(kbData);
26
- createCallbackPromise.then(formSubmitResult => {
27
- formSubmitValidation(formSubmitResult, this);
28
- });
29
- };
30
- this.displayTitle = false;
31
- this.kbName = undefined;
32
- this.serverUrls = undefined;
33
- this.enableCustomServer = true;
34
- this.createKBCallback = undefined;
35
- }
36
- // 6.COMPONENT LIFECYCLE METHODS //
37
- async componentWillLoad() {
38
- this._componentLocale = await Locale.getComponentStrings(this.el);
39
- }
40
- componentDidLoad() {
41
- this.kbNameEl.focus();
42
- }
43
- componentDidRender() {
44
- if (!this.renderedFirstTime) {
45
- this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
46
- this.renderedFirstTime = true;
47
- }
48
- }
49
- // 9.LOCAL METHODS //
50
- // 10.RENDER() FUNCTION //
51
- render() {
52
- return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null, slimmerFooter: config.gxIdeContainer.slimmerFooter }, h("main", { class: "main" }, h("gxg-label", { labelPosition: "start", class: "kb-label", noMargin: true }, this._componentLocale.main.kbName), h("gxg-form-text", { labelPosition: "start", placeholder: "SalesInventory", "max-width": "100%", value: this.kbName, toolTip: config.tooltip, ref: (el) => (this.kbNameEl = el), part: "kb-name", class: "kb-input" }), h("gxg-label", { labelPosition: "start", class: "server-url-label", noMargin: true }, this._componentLocale.main.serverUrl), h("gxg-combo-box", { disableFilter: !this.enableCustomServer, labelPosition: "start", placeholder: "https://myexampleserver.com", strict: true, toolTip: config.tooltip, value: this.serverUrls[0], ref: (el) => (this.serverUrlEl = el), part: "server-url", class: "server-url-input" }, renderFormItems("gxg-combo-box-item", this.serverUrls.map((item) => ({
53
- id: item,
54
- label: item
55
- })), "server-url")), h("gxg-label", { labelPosition: "start", class: "auth-type-label", noMargin: true }, this._componentLocale.main.authentication), h("gxg-combo-box", { labelPosition: "start", placeholder: "https://myexampleserver.com", "max-width": "100%", value: AUTHENTICATION_TYPE[0], ref: (el) => (this.authTypeEl = el), part: "auth-type", class: "auth-type-input" }, renderFormItems("gxg-combo-box-item", AUTHENTICATION_TYPE.map((item) => ({
56
- id: item,
57
- label: item
58
- })), "auth-type")), h("gxg-label", { labelPosition: "start", class: "user-name-label", noMargin: true }, this._componentLocale.main.userName), h("gxg-form-text", { labelPosition: "start", placeholder: "My User", "max-width": "100%", toolTip: config.tooltip, ref: (el) => (this.userNameEl = el), part: "user-name", class: "user-name-input" }), h("gxg-label", { labelPosition: "start", class: "password-label", noMargin: true }, this._componentLocale.main.password), h("gxg-form-text", { labelPosition: "start", password: true, toolTip: config.tooltip, "max-width": "100%", ref: (el) => (this.passwordEl = el), part: "password", class: "password-input" })), h("gxg-button", { slot: "footer-end", type: "primary-text-icon", icon: "gemini-tools/share", onClick: this.createKBCallbackHandler, part: "share-kb" }, this._componentLocale.footer.shareBtn))), h("gxg-shortcuts", { src: this.shortcutsSrc })));
59
- }
60
- static get is() { return "gx-ide-share-kb"; }
61
- static get encapsulation() { return "shadow"; }
62
- static get originalStyleUrls() {
63
- return {
64
- "$": ["share-kb.scss"]
65
- };
66
- }
67
- static get styleUrls() {
68
- return {
69
- "$": ["share-kb.css"]
70
- };
71
- }
72
- static get assetsDirs() { return ["gx-ide-assets/share-kb"]; }
73
- static get properties() {
74
- return {
75
- "displayTitle": {
76
- "type": "boolean",
77
- "mutable": false,
78
- "complexType": {
79
- "original": "false",
80
- "resolved": "boolean",
81
- "references": {}
82
- },
83
- "required": false,
84
- "optional": false,
85
- "docs": {
86
- "tags": [],
87
- "text": "If true it displays the component title on the header"
88
- },
89
- "attribute": "display-title",
90
- "reflect": false,
91
- "defaultValue": "false"
92
- },
93
- "kbName": {
94
- "type": "string",
95
- "mutable": false,
96
- "complexType": {
97
- "original": "string",
98
- "resolved": "string",
99
- "references": {}
100
- },
101
- "required": true,
102
- "optional": false,
103
- "docs": {
104
- "tags": [],
105
- "text": "The name of the kb"
106
- },
107
- "attribute": "kb-name",
108
- "reflect": false
109
- },
110
- "serverUrls": {
111
- "type": "unknown",
112
- "mutable": false,
113
- "complexType": {
114
- "original": "string[]",
115
- "resolved": "string[]",
116
- "references": {}
117
- },
118
- "required": true,
119
- "optional": false,
120
- "docs": {
121
- "tags": [],
122
- "text": "Urls array of cataloged servers to be shown on combo"
123
- }
124
- },
125
- "enableCustomServer": {
126
- "type": "boolean",
127
- "mutable": false,
128
- "complexType": {
129
- "original": "boolean",
130
- "resolved": "boolean",
131
- "references": {}
132
- },
133
- "required": false,
134
- "optional": false,
135
- "docs": {
136
- "tags": [],
137
- "text": "True if user can introduce server url manually"
138
- },
139
- "attribute": "enable-custom-server",
140
- "reflect": false,
141
- "defaultValue": "true"
142
- },
143
- "createKBCallback": {
144
- "type": "unknown",
145
- "mutable": false,
146
- "complexType": {
147
- "original": "CreateKBCallback",
148
- "resolved": "(data: ShareKBData) => Promise<FormSubmitResult>",
149
- "references": {
150
- "CreateKBCallback": {
151
- "location": "local",
152
- "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/share-kb/share-kb.tsx",
153
- "id": "src/components/share-kb/share-kb.tsx::CreateKBCallback"
154
- }
155
- }
156
- },
157
- "required": true,
158
- "optional": false,
159
- "docs": {
160
- "tags": [],
161
- "text": "Callback invoked when Share button is pressed"
162
- }
163
- }
164
- };
165
- }
166
- static get events() {
167
- return [{
168
- "method": "componentDidRenderFirstTime",
169
- "name": "componentDidRenderFirstTime",
170
- "bubbles": true,
171
- "cancelable": true,
172
- "composed": true,
173
- "docs": {
174
- "tags": [{
175
- "name": "description",
176
- "text": "Gets fired when the component has rendered for the first time."
177
- }],
178
- "text": ""
179
- },
180
- "complexType": {
181
- "original": "string",
182
- "resolved": "string",
183
- "references": {}
184
- }
185
- }];
186
- }
187
- static get elementRef() { return "el"; }
188
- }
189
- //# sourceMappingURL=share-kb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"share-kb.js","sourceRoot":"","sources":["../../../src/components/share-kb/share-kb.tsx"],"names":[],"mappings":"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","sourcesContent":["// Define your constants\nconst AUTHENTICATION_TYPE = [\"GeneXus Account\", \"Local\"];\n\n/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport {\n FormSubmitResult,\n GxServerAuthenticationType\n} from \"../../common/types\";\nimport { config } from \"../../common/config\";\nimport { formSubmitValidation } from \"../../common/form-validation\";\nimport { renderFormItems } from \"../../common/common\";\n\n@Component({\n tag: \"gx-ide-share-kb\",\n styleUrl: \"share-kb.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/share-kb\"]\n})\nexport class GxIdeShareKb {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/share-kb/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeShareKbElement;\n private kbNameEl: HTMLGxgFormTextElement;\n private serverUrlEl: HTMLGxgComboBoxElement;\n private authTypeEl: HTMLGxgComboBoxElement;\n private userNameEl: HTMLGxgFormTextElement;\n private passwordEl: HTMLGxgFormTextElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * The name of the kb\n */\n @Prop() readonly kbName!: string;\n\n /**\n * Urls array of cataloged servers to be shown on combo\n */\n @Prop() readonly serverUrls!: string[];\n\n /**\n * True if user can introduce server url manually\n */\n @Prop() readonly enableCustomServer: boolean = true;\n\n /**\n * Callback invoked when Share button is pressed\n */\n @Prop() readonly createKBCallback!: CreateKBCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.kbNameEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n private createKBCallbackHandler = async () => {\n const kbData: ShareKBData = {\n name: this.kbNameEl.value,\n serverUrl: this.serverUrlEl.value,\n authenticationType: this.authTypeEl.value,\n user: this.userNameEl.value,\n password: this.passwordEl.value\n };\n const createCallbackPromise = this.createKBCallback(kbData);\n createCallbackPromise.then(formSubmitResult => {\n formSubmitValidation(formSubmitResult, this);\n });\n };\n\n // 9.LOCAL METHODS //\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <main class=\"main\">\n {/* #kb name */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\" noMargin>\n {this._componentLocale.main.kbName}\n </gxg-label>\n <gxg-form-text\n labelPosition=\"start\"\n placeholder=\"SalesInventory\"\n max-width=\"100%\"\n value={this.kbName}\n toolTip={config.tooltip}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.kbNameEl = el as HTMLGxgFormTextElement)\n }\n part=\"kb-name\"\n class=\"kb-input\"\n ></gxg-form-text>\n\n {/* #server url */}\n <gxg-label\n labelPosition=\"start\"\n class=\"server-url-label\"\n noMargin\n >\n {this._componentLocale.main.serverUrl}\n </gxg-label>\n <gxg-combo-box\n disableFilter={!this.enableCustomServer}\n labelPosition=\"start\"\n placeholder=\"https://myexampleserver.com\"\n strict\n toolTip={config.tooltip}\n value={this.serverUrls[0]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.serverUrlEl = el as HTMLGxgComboBoxElement)\n }\n part=\"server-url\"\n class=\"server-url-input\"\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.serverUrls.map((item: string) => ({\n id: item,\n label: item\n })),\n \"server-url\"\n )}\n </gxg-combo-box>\n\n {/* #authentication type */}\n <gxg-label labelPosition=\"start\" class=\"auth-type-label\" noMargin>\n {this._componentLocale.main.authentication}\n </gxg-label>\n <gxg-combo-box\n labelPosition=\"start\"\n placeholder=\"https://myexampleserver.com\"\n max-width=\"100%\"\n value={AUTHENTICATION_TYPE[0]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.authTypeEl = el as HTMLGxgComboBoxElement)\n }\n part=\"auth-type\"\n class=\"auth-type-input\"\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n AUTHENTICATION_TYPE.map((item: string) => ({\n id: item,\n label: item\n })),\n \"auth-type\"\n )}\n </gxg-combo-box>\n\n {/* #user name */}\n <gxg-label labelPosition=\"start\" class=\"user-name-label\" noMargin>\n {this._componentLocale.main.userName}\n </gxg-label>\n <gxg-form-text\n labelPosition=\"start\"\n placeholder=\"My User\"\n max-width=\"100%\"\n toolTip={config.tooltip}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.userNameEl = el as HTMLGxgFormTextElement)\n }\n part=\"user-name\"\n class=\"user-name-input\"\n ></gxg-form-text>\n\n {/* #password */}\n <gxg-label labelPosition=\"start\" class=\"password-label\" noMargin>\n {this._componentLocale.main.password}\n </gxg-label>\n <gxg-form-text\n labelPosition=\"start\"\n password\n toolTip={config.tooltip}\n max-width=\"100%\"\n ref={(el: HTMLGxgFormTextElement) =>\n (this.passwordEl = el as HTMLGxgFormTextElement)\n }\n part=\"password\"\n class=\"password-input\"\n ></gxg-form-text>\n </main>\n <gxg-button\n slot=\"footer-end\"\n type=\"primary-text-icon\"\n icon=\"gemini-tools/share\"\n onClick={this.createKBCallbackHandler}\n part=\"share-kb\"\n >\n {this._componentLocale.footer.shareBtn}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts src={this.shortcutsSrc}></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport type CreateKBCallback = (data: ShareKBData) => Promise<FormSubmitResult>;\nexport type ShareKBData = {\n name: string;\n serverUrl: string;\n authenticationType: GxServerAuthenticationType;\n user: string;\n password: string;\n};\n"]}
@@ -1 +0,0 @@
1
- {"file":"form-validation-44b2c2a8.js","mappings":"AAGA;MACa,oBAAoB,GAAG,CAClC,MAA+C,EAC/C,GAAQ;;IAER,MAAA,MAAM,CAAC,WAAW,0CAAE,OAAO,CAAC,OAAO;QACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,MAAM,SAAS,GAAkB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QACjD,IAAI,SAAS,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE;YAC3C,SAAS,CAAC,gBAAgB,GAAG,OAAO,CAAC;YACrC,SAAS,CAAC,iBAAiB,GAAG,OAAO,CAAC;SACvC;aAAM,IAAI,SAAS,IAAI,CAAC,QAAQ,EAAE;YACjC,SAAS,CAAC,gBAAgB,GAAG,eAAe,CAAC;YAC7C,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC;SACpC;KACF,CAAC,CAAC;AACL,EAAE;AAEF;AACA,MAAM,kCAAkC,GAAG;IACzC,aAAa,EAAE,gBAAgB;IAC/B,qBAAqB,EAAE,iBAAiB;IACxC,SAAS,EAAE,aAAa;CAChB,CAAC;AAEX,MAAM,gBAAgB,GAAG,CAAC,QAAiB,EAAE,OAAoB;IAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,UAAU,GACd,kCAAkC,CAChC,cAAiE,CAClE,CAAC;IACJ,IAAI,QAAQ,EAAE;QACZ,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KACnC;SAAM;QACL,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KACtC;AACH,CAAC,CAAC;MAEW,gBAAgB,GAAG,CAC9B,gBAAkC,EAClC,mBAAmD;IAEnD,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAChE,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC;QACjC,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC;QAC3C,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,SAAS,EAAE;;YAE/B,gBAAgB,CAAC,aAAa,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5D,0BAA0B,CAAC,GAAG,CAAC,QAAQ,kCAClC,gBAAgB,KACnB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,WAAW,CAAC,OAAO,IAC5B,CAAC;SACJ;KACF,CAAC,CAAC;;IAEH,OAAO,0BAA0B,CAAC;AACpC;;;;","names":[],"sources":["src/common/form-validation.ts"],"sourcesContent":["import { FormSubmitResult, ConnectionResultData } from \"../common/types\";\nimport { FormComponent } from \"@genexus/gemini/dist/types/common/interfaces\";\n\n// formSubmitValidation will be deprecated. use \"validateControls\" instead.\nexport const formSubmitValidation = (\n result: FormSubmitResult | ConnectionResultData,\n ref: any\n) => {\n result.fieldErrors?.forEach(element => {\n const key = element.key;\n const message = element.message;\n const hasError = element.hasError;\n\n const reference: FormComponent = ref[`${key}El`];\n if (reference && hasError && message.trim()) {\n reference.validationStatus = \"error\";\n reference.validationMessage = message;\n } else if (reference && !hasError) {\n reference.validationStatus = \"indeterminate\";\n reference.validationMessage = null;\n }\n });\n};\n\n// TODO: Improve the way we mark components with error. We must not use error classes.\nconst formElementsErrorClassesDictionary = {\n \"ch-checkbox\": \"checkbox-error\",\n \"ch-combo-box-render\": \"combo-box-error\",\n \"ch-edit\": \"input-error\"\n} as const;\n\nconst toggleErrorClass = (hasError: boolean, element: HTMLElement) => {\n const elementTagName = element.tagName.toLowerCase();\n const errorClass =\n formElementsErrorClassesDictionary[\n elementTagName as keyof typeof formElementsErrorClassesDictionary\n ];\n if (hasError) {\n element.classList.add(errorClass);\n } else {\n element.classList.remove(errorClass);\n }\n};\n\nexport const validateControls = (\n formSubmitResult: FormSubmitResult,\n validatableControls: Map<string, ControlValidation>\n): Map<string, ControlValidation> => {\n const validatableControlsUpdated = new Map(validatableControls);\n formSubmitResult.fieldErrors.forEach(fieldResult => {\n const fieldKey = fieldResult.key;\n const fieldHasError = fieldResult.hasError;\n const controlMapRecord = validatableControlsUpdated.get(fieldKey);\n if (controlMapRecord?.reference) {\n // toggle class to add or remove error style\n toggleErrorClass(fieldHasError, controlMapRecord.reference);\n validatableControlsUpdated.set(fieldKey, {\n ...controlMapRecord,\n hasError: fieldHasError,\n message: fieldResult.message\n });\n }\n });\n // return validatableControls updated.\n return validatableControlsUpdated;\n};\n\nexport type ControlValidation = {\n reference: HTMLElement;\n hasError: boolean;\n message: string;\n};\n"],"version":3}
@@ -1,129 +0,0 @@
1
- import { r as e, c as r, h as t, H as o, g as a } from "./p-aaed592c.js";
2
-
3
- import { c as i } from "./p-78b90603.js";
4
-
5
- import { L as s } from "./p-74d59062.js";
6
-
7
- import { f as l } from "./p-b8624c0b.js";
8
-
9
- const n = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block}.user-details-container{display:flex;gap:var(--gx-ide-form-items-gap)}.wrapper{display:flex;flex-direction:column;gap:var(--mer-spacing--md)}";
10
-
11
- const g = class {
12
- constructor(o) {
13
- e(this, o);
14
- this.componentDidRenderFirstTime = r(this, "componentDidRenderFirstTime", 7);
15
- this.renderedFirstTime = false;
16
- // 7.LISTENERS //
17
- // 8.PUBLIC METHODS API //
18
- // 9.LOCAL METHODS //
19
- this.renderServerUrls = () => {
20
- var e;
21
- if ((e = this.serverUrls) === null || e === void 0 ? void 0 : e.length) {
22
- return this.serverUrls.map((e => t("gxg-combo-box-item", null, e)));
23
- }
24
- return [];
25
- };
26
- this.continueWithGxServerHandler = e => {
27
- this.displayLoginControls = !e.detail.value;
28
- };
29
- this.evaluateDisplayLoginControls = () => {
30
- if (this.enableUserLogged) {
31
- this.displayLoginControls = false;
32
- } else {
33
- this.displayLoginControls = true;
34
- }
35
- };
36
- this.connectHandler = () => {
37
- if (this.connectCallback) {
38
- this.connectCallback({
39
- serverUrl: this.serverURLEl.value,
40
- continueWithGeneXusAccount: this.continueWithGeneXusAccountEl.checked,
41
- user: this.userNameEl.value,
42
- password: this.passwordEl.value
43
- }).then((e => {
44
- console.log(e);
45
- l(e, this);
46
- }));
47
- }
48
- };
49
- this.displayLoginControls = false;
50
- this.displayTitle = false;
51
- this.serverUrls = undefined;
52
- this.enableCustomServer = false;
53
- this.defaultConnectionData = undefined;
54
- this.enableUserLogged = false;
55
- this.connectCallback = undefined;
56
- this.cancelCallback = undefined;
57
- }
58
- // 6.COMPONENT LIFECYCLE METHODS //
59
- async componentWillLoad() {
60
- this._componentLocale = await s.getComponentStrings(this.el);
61
- this.evaluateDisplayLoginControls();
62
- }
63
- componentDidRender() {
64
- if (!this.renderedFirstTime) {
65
- this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
66
- this.renderedFirstTime = true;
67
- }
68
- }
69
- // 10.RENDER() FUNCTION //
70
- render() {
71
- var e, r, a;
72
- return t(o, {
73
- class: "gx-ide-component"
74
- }, t("div", {
75
- class: "gx-ide-main-wrapper"
76
- }, t("gx-ide-container", {
77
- containerTitle: this.displayTitle ? this._componentLocale.componentName : null,
78
- slimmerFooter: i.gxIdeContainer.slimmerFooter
79
- }, t("div", {
80
- class: "wrapper"
81
- }, t("gxg-combo-box", {
82
- label: this._componentLocale.main.serverUrl,
83
- disableFilter: !this.enableCustomServer,
84
- value: (e = this.defaultConnectionData) === null || e === void 0 ? void 0 : e.serverUrl,
85
- ref: e => this.serverURLEl = e,
86
- toolTip: i.tooltip
87
- }, this.renderServerUrls()), t("gxg-form-checkbox", {
88
- label: this._componentLocale.main.continueWithGxAccount,
89
- onChange: this.continueWithGxServerHandler,
90
- checked: this.enableUserLogged,
91
- disabled: !this.enableUserLogged,
92
- ref: e => this.continueWithGeneXusAccountEl = e
93
- }), this.displayLoginControls ? t("div", {
94
- class: "user-details-container"
95
- }, t("gxg-form-text", {
96
- label: this._componentLocale.main.userName,
97
- labelPosition: "above",
98
- disabled: !this.displayLoginControls,
99
- value: (r = this.defaultConnectionData) === null || r === void 0 ? void 0 : r.user,
100
- ref: e => this.userNameEl = e,
101
- toolTip: i.tooltip
102
- }), t("gxg-form-text", {
103
- label: this._componentLocale.main.password,
104
- labelPosition: "above",
105
- disabled: !this.displayLoginControls,
106
- value: (a = this.defaultConnectionData) === null || a === void 0 ? void 0 : a.password,
107
- ref: e => this.passwordEl = e,
108
- password: true,
109
- toolTip: i.tooltip
110
- })) : null), t("gxg-button", {
111
- slot: "footer-end",
112
- type: "outlined"
113
- }, this._componentLocale.main.cancel), t("gxg-button", {
114
- slot: "footer-end",
115
- onClick: this.connectHandler
116
- }, this._componentLocale.main.connect))));
117
- }
118
- static get assetsDirs() {
119
- return [ "gx-ide-assets/connect-gx-server" ];
120
- }
121
- get el() {
122
- return a(this);
123
- }
124
- };
125
-
126
- g.style = n;
127
-
128
- export { g as gx_ide_connect_gx_server };
129
- //# sourceMappingURL=p-02bc66c1.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["connectGxServerCss","GxIdeConnectGxServer","this","renderedFirstTime","renderServerUrls","_a","serverUrls","length","map","serverUrl","h","continueWithGxServerHandler","event","displayLoginControls","detail","value","evaluateDisplayLoginControls","enableUserLogged","connectHandler","connectCallback","serverURLEl","continueWithGeneXusAccount","continueWithGeneXusAccountEl","checked","user","userNameEl","password","passwordEl","then","formSubmitResult","console","log","formSubmitValidation","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidRender","componentDidRenderFirstTime","emit","componentName","render","Host","class","containerTitle","displayTitle","slimmerFooter","config","gxIdeContainer","label","main","disableFilter","enableCustomServer","defaultConnectionData","ref","toolTip","tooltip","continueWithGxAccount","onChange","disabled","userName","labelPosition","_b","_c","slot","type","cancel","onClick","connect"],"sources":["src/components/connect-gx-server/connect-gx-server.scss?tag=gx-ide-connect-gx-server&encapsulation=shadow","src/components/connect-gx-server/connect-gx-server.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n\n.user-details-container {\n display: flex;\n gap: var(--gx-ide-form-items-gap);\n}\n\n.wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--md);\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { config } from \"../../common/config\";\nimport { Locale } from \"../../common/locale\";\nimport { formSubmitValidation } from \"../../common/form-validation\";\nimport { ConnectionResultData } from \"../../common/types\";\n\n@Component({\n tag: \"gx-ide-connect-gx-server\",\n styleUrl: \"connect-gx-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/connect-gx-server\"]\n})\nexport class GxIdeConnectGxServer {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeConnectGxServerElement;\n\n private serverURLEl!: HTMLGxgComboBoxElement;\n private userNameEl!: HTMLGxgFormTextElement;\n private passwordEl!: HTMLGxgFormTextElement;\n private continueWithGeneXusAccountEl!: HTMLGxgFormCheckboxElement;\n\n // 3.STATE() VARIABLES //\n\n //\n @State() displayLoginControls: boolean = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Array of cataloged server URLs\n */\n @Prop() readonly serverUrls: string[];\n\n /**\n * 'true' if the user should be allowed to manually enter a server URL in serverUrls.\n */\n @Prop() readonly enableCustomServer: boolean = false;\n\n /**\n * Initial user values for the case in which the user returns to the login modal after a successful authentication.\n */\n @Prop() readonly defaultConnectionData?: GXServerConnectionDefault;\n\n /**\n * If 'true', shows the enabled and checked 'Continue with GX Account' checkbox. If 'false', shows the checkbox unchecked and disabled, and displays the options to enter username and password directly. Even if 'true', allow the user to deselect the checkbox and enter username and password.\n */\n @Prop() readonly enableUserLogged: boolean = false;\n\n /**\n * If 'true', shows the enabled and checked 'Continue with GX Account' checkbox. If 'false', shows the checkbox unchecked and disabled, and displays the options to enter username and password directly. Even if 'true', allow the user to deselect the checkbox and enter username and password.\n */\n @Prop() readonly connectCallback: (\n data: GXServerConnectionData\n ) => Promise<ConnectionResultData>;\n\n /**\n * Callback that allows canceling the server connection process.\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateDisplayLoginControls();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private renderServerUrls = (): HTMLGxgComboBoxItemElement[] => {\n if (this.serverUrls?.length) {\n return this.serverUrls.map(serverUrl => {\n return <gxg-combo-box-item>{serverUrl}</gxg-combo-box-item>;\n });\n }\n return [];\n };\n\n private continueWithGxServerHandler = (\n event: CustomEvent<{ id: string; value: boolean; disabled?: boolean }>\n ) => {\n this.displayLoginControls = !event.detail.value;\n };\n\n private evaluateDisplayLoginControls = () => {\n if (this.enableUserLogged) {\n this.displayLoginControls = false;\n } else {\n this.displayLoginControls = true;\n }\n };\n\n private connectHandler = () => {\n if (this.connectCallback) {\n this.connectCallback({\n serverUrl: this.serverURLEl.value,\n continueWithGeneXusAccount: this.continueWithGeneXusAccountEl.checked,\n user: this.userNameEl.value,\n password: this.passwordEl.value\n }).then((formSubmitResult: ConnectionResultData) => {\n console.log(formSubmitResult);\n formSubmitValidation(formSubmitResult, this);\n });\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"wrapper\">\n {/* server url */}\n <gxg-combo-box\n label={this._componentLocale.main.serverUrl}\n disableFilter={!this.enableCustomServer}\n value={this.defaultConnectionData?.serverUrl}\n ref={el => (this.serverURLEl = el as HTMLGxgComboBoxElement)}\n toolTip={config.tooltip}\n >\n {this.renderServerUrls()}\n </gxg-combo-box>\n\n {/* continue with GeneXus account */}\n <gxg-form-checkbox\n label={this._componentLocale.main.continueWithGxAccount}\n onChange={this.continueWithGxServerHandler}\n checked={this.enableUserLogged}\n disabled={!this.enableUserLogged}\n ref={el =>\n (this.continueWithGeneXusAccountEl =\n el as HTMLGxgFormCheckboxElement)\n }\n ></gxg-form-checkbox>\n\n {this.displayLoginControls ? (\n <div class=\"user-details-container\">\n {/* username */}\n <gxg-form-text\n label={this._componentLocale.main.userName}\n labelPosition=\"above\"\n disabled={!this.displayLoginControls}\n value={this.defaultConnectionData?.user}\n ref={el => (this.userNameEl = el as HTMLGxgFormTextElement)}\n toolTip={config.tooltip}\n ></gxg-form-text>\n {/* password */}\n <gxg-form-text\n label={this._componentLocale.main.password}\n labelPosition=\"above\"\n disabled={!this.displayLoginControls}\n value={this.defaultConnectionData?.password}\n ref={el => (this.passwordEl = el as HTMLGxgFormTextElement)}\n password\n toolTip={config.tooltip}\n ></gxg-form-text>\n </div>\n ) : null}\n </div>\n\n {/* cancel and connect buttons */}\n <gxg-button slot=\"footer-end\" type=\"outlined\">\n {this._componentLocale.main.cancel}\n </gxg-button>\n <gxg-button slot=\"footer-end\" onClick={this.connectHandler}>\n {this._componentLocale.main.connect}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type GXServerConnectionDefault = {\n serverUrl: string;\n user: string;\n password: string;\n};\n\nexport type GXServerConnectionData = GXServerConnectionDefault & {\n continueWithGeneXusAccount: boolean;\n};\n"],"mappings":";;;;;;;;AAAA,MAAMA,IAAqB;;MCwBdC,IAAoB;;;;IAOvBC,KAAAC,oBAAoB;;;;QAoFpBD,KAAAE,mBAAmB;;MACzB,KAAIC,IAAAH,KAAKI,gBAAU,QAAAD,WAAA,aAAAA,EAAEE,QAAQ;QAC3B,OAAOL,KAAKI,WAAWE,KAAIC,KAClBC,EAAA,4BAAqBD;;MAGhC,OAAO;AAAE;IAGHP,KAAAS,8BACNC;MAEAV,KAAKW,wBAAwBD,EAAME,OAAOC;AAAK;IAGzCb,KAAAc,+BAA+B;MACrC,IAAId,KAAKe,kBAAkB;QACzBf,KAAKW,uBAAuB;aACvB;QACLX,KAAKW,uBAAuB;;;IAIxBX,KAAAgB,iBAAiB;MACvB,IAAIhB,KAAKiB,iBAAiB;QACxBjB,KAAKiB,gBAAgB;UACnBV,WAAWP,KAAKkB,YAAYL;UAC5BM,4BAA4BnB,KAAKoB,6BAA6BC;UAC9DC,MAAMtB,KAAKuB,WAAWV;UACtBW,UAAUxB,KAAKyB,WAAWZ;WACzBa,MAAMC;UACPC,QAAQC,IAAIF;UACZG,EAAqBH,GAAkB3B;AAAK;;;gCAtGT;wBAOT;;8BAUe;;4BAUF;;;;;EAuB7C,uBAAM+B;IACJ/B,KAAKgC,yBAAyBC,EAAOC,oBAAoBlC,KAAKmC;IAC9DnC,KAAKc;;EAGP,kBAAAsB;IACE,KAAKpC,KAAKC,mBAAmB;MAC3BD,KAAKqC,4BAA4BC,KAC/BtC,KAAKgC,iBAAiBO;MAExBvC,KAAKC,oBAAoB;;;;EAiD7B,MAAAuC;;IACE,OACEhC,EAACiC,GAAI;MAACC,OAAM;OACVlC,EAAA;MAAKkC,OAAM;OACTlC,EAAA;MACEmC,gBACE3C,KAAK4C,eAAe5C,KAAKgC,iBAAiBO,gBAAgB;MAE5DM,eAAeC,EAAOC,eAAeF;OAErCrC,EAAA;MAAKkC,OAAM;OAETlC,EAAA;MACEwC,OAAOhD,KAAKgC,iBAAiBiB,KAAK1C;MAClC2C,gBAAgBlD,KAAKmD;MACrBtC,QAAOV,IAAAH,KAAKoD,2BAAqB,QAAAjD,WAAA,aAAAA,EAAEI;MACnC8C,KAAKlB,KAAOnC,KAAKkB,cAAciB;MAC/BmB,SAASR,EAAOS;OAEfvD,KAAKE,qBAIRM,EAAA;MACEwC,OAAOhD,KAAKgC,iBAAiBiB,KAAKO;MAClCC,UAAUzD,KAAKS;MACfY,SAASrB,KAAKe;MACd2C,WAAW1D,KAAKe;MAChBsC,KAAKlB,KACFnC,KAAKoB,+BACJe;QAILnC,KAAKW,uBACJH,EAAA;MAAKkC,OAAM;OAETlC,EAAA;MACEwC,OAAOhD,KAAKgC,iBAAiBiB,KAAKU;MAClCC,eAAc;MACdF,WAAW1D,KAAKW;MAChBE,QAAOgD,IAAA7D,KAAKoD,2BAAqB,QAAAS,WAAA,aAAAA,EAAEvC;MACnC+B,KAAKlB,KAAOnC,KAAKuB,aAAaY;MAC9BmB,SAASR,EAAOS;QAGlB/C,EAAA;MACEwC,OAAOhD,KAAKgC,iBAAiBiB,KAAKzB;MAClCoC,eAAc;MACdF,WAAW1D,KAAKW;MAChBE,QAAOiD,IAAA9D,KAAKoD,2BAAqB,QAAAU,WAAA,aAAAA,EAAEtC;MACnC6B,KAAKlB,KAAOnC,KAAKyB,aAAaU;MAC9BX,UAAQ;MACR8B,SAASR,EAAOS;UAGlB,OAIN/C,EAAA;MAAYuD,MAAK;MAAaC,MAAK;OAChChE,KAAKgC,iBAAiBiB,KAAKgB,SAE9BzD,EAAA;MAAYuD,MAAK;MAAaG,SAASlE,KAAKgB;OACzChB,KAAKgC,iBAAiBiB,KAAKkB"}
@@ -1,158 +0,0 @@
1
- import { r as e, c as r, a, h as t, H as o, g as i } from "./p-aaed592c.js";
2
-
3
- import { L as s } from "./p-74d59062.js";
4
-
5
- import { c as l } from "./p-78b90603.js";
6
-
7
- import { f as n } from "./p-b8624c0b.js";
8
-
9
- import { r as g } from "./p-3ef5a5a6.js";
10
-
11
- const c = ':root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block}.main{display:grid;column-gap:var(--gx-ide-grid-column-gap);row-gap:var(--gx-ide-grid-row-gap);grid-template-columns:auto 1fr;grid-template-areas:"kb-label kb-input " "server-label server-input" "auth-type-label auth-type-input" "user-name-label user-name-input" "password-label password-input"}.main .kb-name-label{grid-area:kb-label}.main .kb-input{grid-area:kb-input}.main .server-url-label{grid-area:server-label}.main .server-url-input{grid-area:server-input}.main .auth-type-label{grid-area:auth-type-label}.main .auth-type-input{grid-area:auth-type-input}.main .user-name-label{grid-area:user-name-label}.main .user-name-input{grid-area:user-name-input}.main .password-label{grid-area:password-label}.main .password-input{grid-area:password-input}';
12
-
13
- // Define your constants
14
- const d = [ "GeneXus Account", "Local" ];
15
-
16
- const b = class {
17
- constructor(t) {
18
- e(this, t);
19
- this.componentDidRenderFirstTime = r(this, "componentDidRenderFirstTime", 7);
20
- this.renderedFirstTime = false;
21
- this.shortcutsSrc = a(`./gx-ide-assets/share-kb/shortcuts.json`);
22
- // 7.LISTENERS //
23
- // 8.PUBLIC METHODS API //
24
- this.createKBCallbackHandler = async () => {
25
- const e = {
26
- name: this.kbNameEl.value,
27
- serverUrl: this.serverUrlEl.value,
28
- authenticationType: this.authTypeEl.value,
29
- user: this.userNameEl.value,
30
- password: this.passwordEl.value
31
- };
32
- const r = this.createKBCallback(e);
33
- r.then((e => {
34
- n(e, this);
35
- }));
36
- };
37
- this.displayTitle = false;
38
- this.kbName = undefined;
39
- this.serverUrls = undefined;
40
- this.enableCustomServer = true;
41
- this.createKBCallback = undefined;
42
- }
43
- // 6.COMPONENT LIFECYCLE METHODS //
44
- async componentWillLoad() {
45
- this._componentLocale = await s.getComponentStrings(this.el);
46
- }
47
- componentDidLoad() {
48
- this.kbNameEl.focus();
49
- }
50
- componentDidRender() {
51
- if (!this.renderedFirstTime) {
52
- this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
53
- this.renderedFirstTime = true;
54
- }
55
- }
56
- // 9.LOCAL METHODS //
57
- // 10.RENDER() FUNCTION //
58
- render() {
59
- return t(o, {
60
- class: "gx-ide-component"
61
- }, t("div", {
62
- class: "gx-ide-main-wrapper"
63
- }, t("gx-ide-container", {
64
- containerTitle: this.displayTitle ? this._componentLocale.componentName : null,
65
- slimmerFooter: l.gxIdeContainer.slimmerFooter
66
- }, t("main", {
67
- class: "main"
68
- }, t("gxg-label", {
69
- labelPosition: "start",
70
- class: "kb-label",
71
- noMargin: true
72
- }, this._componentLocale.main.kbName), t("gxg-form-text", {
73
- labelPosition: "start",
74
- placeholder: "SalesInventory",
75
- "max-width": "100%",
76
- value: this.kbName,
77
- toolTip: l.tooltip,
78
- ref: e => this.kbNameEl = e,
79
- part: "kb-name",
80
- class: "kb-input"
81
- }), t("gxg-label", {
82
- labelPosition: "start",
83
- class: "server-url-label",
84
- noMargin: true
85
- }, this._componentLocale.main.serverUrl), t("gxg-combo-box", {
86
- disableFilter: !this.enableCustomServer,
87
- labelPosition: "start",
88
- placeholder: "https://myexampleserver.com",
89
- strict: true,
90
- toolTip: l.tooltip,
91
- value: this.serverUrls[0],
92
- ref: e => this.serverUrlEl = e,
93
- part: "server-url",
94
- class: "server-url-input"
95
- }, g("gxg-combo-box-item", this.serverUrls.map((e => ({
96
- id: e,
97
- label: e
98
- }))), "server-url")), t("gxg-label", {
99
- labelPosition: "start",
100
- class: "auth-type-label",
101
- noMargin: true
102
- }, this._componentLocale.main.authentication), t("gxg-combo-box", {
103
- labelPosition: "start",
104
- placeholder: "https://myexampleserver.com",
105
- "max-width": "100%",
106
- value: d[0],
107
- ref: e => this.authTypeEl = e,
108
- part: "auth-type",
109
- class: "auth-type-input"
110
- }, g("gxg-combo-box-item", d.map((e => ({
111
- id: e,
112
- label: e
113
- }))), "auth-type")), t("gxg-label", {
114
- labelPosition: "start",
115
- class: "user-name-label",
116
- noMargin: true
117
- }, this._componentLocale.main.userName), t("gxg-form-text", {
118
- labelPosition: "start",
119
- placeholder: "My User",
120
- "max-width": "100%",
121
- toolTip: l.tooltip,
122
- ref: e => this.userNameEl = e,
123
- part: "user-name",
124
- class: "user-name-input"
125
- }), t("gxg-label", {
126
- labelPosition: "start",
127
- class: "password-label",
128
- noMargin: true
129
- }, this._componentLocale.main.password), t("gxg-form-text", {
130
- labelPosition: "start",
131
- password: true,
132
- toolTip: l.tooltip,
133
- "max-width": "100%",
134
- ref: e => this.passwordEl = e,
135
- part: "password",
136
- class: "password-input"
137
- })), t("gxg-button", {
138
- slot: "footer-end",
139
- type: "primary-text-icon",
140
- icon: "gemini-tools/share",
141
- onClick: this.createKBCallbackHandler,
142
- part: "share-kb"
143
- }, this._componentLocale.footer.shareBtn))), t("gxg-shortcuts", {
144
- src: this.shortcutsSrc
145
- }));
146
- }
147
- static get assetsDirs() {
148
- return [ "gx-ide-assets/share-kb" ];
149
- }
150
- get el() {
151
- return i(this);
152
- }
153
- };
154
-
155
- b.style = c;
156
-
157
- export { b as gx_ide_share_kb };
158
- //# sourceMappingURL=p-58e13823.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["shareKbCss","AUTHENTICATION_TYPE","GxIdeShareKb","this","renderedFirstTime","shortcutsSrc","getAssetPath","createKBCallbackHandler","async","kbData","name","kbNameEl","value","serverUrl","serverUrlEl","authenticationType","authTypeEl","user","userNameEl","password","passwordEl","createCallbackPromise","createKBCallback","then","formSubmitResult","formSubmitValidation","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","emit","componentName","render","h","Host","class","containerTitle","displayTitle","slimmerFooter","config","gxIdeContainer","labelPosition","noMargin","main","kbName","placeholder","toolTip","tooltip","ref","part","disableFilter","enableCustomServer","strict","serverUrls","renderFormItems","map","item","id","label","authentication","userName","slot","type","icon","onClick","footer","shareBtn","src"],"sources":["src/components/share-kb/share-kb.scss?tag=gx-ide-share-kb&encapsulation=shadow","src/components/share-kb/share-kb.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n\n.main {\n display: grid;\n column-gap: var(--gx-ide-grid-column-gap);\n row-gap: var(--gx-ide-grid-row-gap);\n grid-template-columns: auto 1fr;\n grid-template-areas:\n \"kb-label kb-input \"\n \"server-label server-input\"\n \"auth-type-label auth-type-input\"\n \"user-name-label user-name-input\"\n \"password-label password-input\";\n\n .kb-name-label {\n grid-area: kb-label;\n }\n .kb-input {\n grid-area: kb-input;\n }\n .server-url-label {\n grid-area: server-label;\n }\n .server-url-input {\n grid-area: server-input;\n }\n .auth-type-label {\n grid-area: auth-type-label;\n }\n .auth-type-input {\n grid-area: auth-type-input;\n }\n .user-name-label {\n grid-area: user-name-label;\n }\n .user-name-input {\n grid-area: user-name-input;\n }\n .password-label {\n grid-area: password-label;\n }\n .password-input {\n grid-area: password-input;\n }\n}\n","// Define your constants\nconst AUTHENTICATION_TYPE = [\"GeneXus Account\", \"Local\"];\n\n/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport {\n FormSubmitResult,\n GxServerAuthenticationType\n} from \"../../common/types\";\nimport { config } from \"../../common/config\";\nimport { formSubmitValidation } from \"../../common/form-validation\";\nimport { renderFormItems } from \"../../common/common\";\n\n@Component({\n tag: \"gx-ide-share-kb\",\n styleUrl: \"share-kb.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/share-kb\"]\n})\nexport class GxIdeShareKb {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/share-kb/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeShareKbElement;\n private kbNameEl: HTMLGxgFormTextElement;\n private serverUrlEl: HTMLGxgComboBoxElement;\n private authTypeEl: HTMLGxgComboBoxElement;\n private userNameEl: HTMLGxgFormTextElement;\n private passwordEl: HTMLGxgFormTextElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * The name of the kb\n */\n @Prop() readonly kbName!: string;\n\n /**\n * Urls array of cataloged servers to be shown on combo\n */\n @Prop() readonly serverUrls!: string[];\n\n /**\n * True if user can introduce server url manually\n */\n @Prop() readonly enableCustomServer: boolean = true;\n\n /**\n * Callback invoked when Share button is pressed\n */\n @Prop() readonly createKBCallback!: CreateKBCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.kbNameEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n private createKBCallbackHandler = async () => {\n const kbData: ShareKBData = {\n name: this.kbNameEl.value,\n serverUrl: this.serverUrlEl.value,\n authenticationType: this.authTypeEl.value,\n user: this.userNameEl.value,\n password: this.passwordEl.value\n };\n const createCallbackPromise = this.createKBCallback(kbData);\n createCallbackPromise.then(formSubmitResult => {\n formSubmitValidation(formSubmitResult, this);\n });\n };\n\n // 9.LOCAL METHODS //\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <main class=\"main\">\n {/* #kb name */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\" noMargin>\n {this._componentLocale.main.kbName}\n </gxg-label>\n <gxg-form-text\n labelPosition=\"start\"\n placeholder=\"SalesInventory\"\n max-width=\"100%\"\n value={this.kbName}\n toolTip={config.tooltip}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.kbNameEl = el as HTMLGxgFormTextElement)\n }\n part=\"kb-name\"\n class=\"kb-input\"\n ></gxg-form-text>\n\n {/* #server url */}\n <gxg-label\n labelPosition=\"start\"\n class=\"server-url-label\"\n noMargin\n >\n {this._componentLocale.main.serverUrl}\n </gxg-label>\n <gxg-combo-box\n disableFilter={!this.enableCustomServer}\n labelPosition=\"start\"\n placeholder=\"https://myexampleserver.com\"\n strict\n toolTip={config.tooltip}\n value={this.serverUrls[0]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.serverUrlEl = el as HTMLGxgComboBoxElement)\n }\n part=\"server-url\"\n class=\"server-url-input\"\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.serverUrls.map((item: string) => ({\n id: item,\n label: item\n })),\n \"server-url\"\n )}\n </gxg-combo-box>\n\n {/* #authentication type */}\n <gxg-label labelPosition=\"start\" class=\"auth-type-label\" noMargin>\n {this._componentLocale.main.authentication}\n </gxg-label>\n <gxg-combo-box\n labelPosition=\"start\"\n placeholder=\"https://myexampleserver.com\"\n max-width=\"100%\"\n value={AUTHENTICATION_TYPE[0]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.authTypeEl = el as HTMLGxgComboBoxElement)\n }\n part=\"auth-type\"\n class=\"auth-type-input\"\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n AUTHENTICATION_TYPE.map((item: string) => ({\n id: item,\n label: item\n })),\n \"auth-type\"\n )}\n </gxg-combo-box>\n\n {/* #user name */}\n <gxg-label labelPosition=\"start\" class=\"user-name-label\" noMargin>\n {this._componentLocale.main.userName}\n </gxg-label>\n <gxg-form-text\n labelPosition=\"start\"\n placeholder=\"My User\"\n max-width=\"100%\"\n toolTip={config.tooltip}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.userNameEl = el as HTMLGxgFormTextElement)\n }\n part=\"user-name\"\n class=\"user-name-input\"\n ></gxg-form-text>\n\n {/* #password */}\n <gxg-label labelPosition=\"start\" class=\"password-label\" noMargin>\n {this._componentLocale.main.password}\n </gxg-label>\n <gxg-form-text\n labelPosition=\"start\"\n password\n toolTip={config.tooltip}\n max-width=\"100%\"\n ref={(el: HTMLGxgFormTextElement) =>\n (this.passwordEl = el as HTMLGxgFormTextElement)\n }\n part=\"password\"\n class=\"password-input\"\n ></gxg-form-text>\n </main>\n <gxg-button\n slot=\"footer-end\"\n type=\"primary-text-icon\"\n icon=\"gemini-tools/share\"\n onClick={this.createKBCallbackHandler}\n part=\"share-kb\"\n >\n {this._componentLocale.footer.shareBtn}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts src={this.shortcutsSrc}></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport type CreateKBCallback = (data: ShareKBData) => Promise<FormSubmitResult>;\nexport type ShareKBData = {\n name: string;\n serverUrl: string;\n authenticationType: GxServerAuthenticationType;\n user: string;\n password: string;\n};\n"],"mappings":"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"}