@genexus/genexus-ide-ui 0.0.144 → 0.0.146

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 (35) 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 +102 -60
  3. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +8 -1
  5. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +25 -22
  8. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +189 -177
  9. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
  10. package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +13 -14
  11. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +48 -1
  12. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
  13. package/dist/components/gx-ide-create-kb-from-server.js +153 -99
  14. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  15. package/dist/components/gx-ide-gam-installation-settings.js +10 -1
  16. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  17. package/dist/esm/genexus-ide-ui.js +1 -1
  18. package/dist/esm/gx-ide-create-kb-from-server.entry.js +102 -60
  19. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  20. package/dist/esm/gx-ide-gam-installation-settings.entry.js +8 -1
  21. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  22. package/dist/esm/loader.js +1 -1
  23. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  24. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  25. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +13 -14
  26. package/dist/genexus-ide-ui/{p-81144669.entry.js → p-0ba8ddf3.entry.js} +51 -38
  27. package/dist/genexus-ide-ui/p-0ba8ddf3.entry.js.map +1 -0
  28. package/dist/genexus-ide-ui/{p-2191d598.entry.js → p-3051fa72.entry.js} +185 -135
  29. package/dist/genexus-ide-ui/p-3051fa72.entry.js.map +1 -0
  30. package/dist/types/components/create-kb-from-server/create-kb-from-server.d.ts +51 -49
  31. package/dist/types/components/gam-installation-settings/gam-installation-settings.d.ts +11 -0
  32. package/dist/types/components.d.ts +61 -69
  33. package/package.json +1 -1
  34. package/dist/genexus-ide-ui/p-2191d598.entry.js.map +0 -1
  35. package/dist/genexus-ide-ui/p-81144669.entry.js.map +0 -1
@@ -51,43 +51,50 @@ const n = class {
51
51
  }, this._componentLocale.header.headerTextUpdate.firstSentence), r("gxg-text", {
52
52
  type: "text-regular"
53
53
  }, this._componentLocale.header.headerTextUpdate.secondSentence) ]);
54
- this.renderFilters = () => r("div", {
55
- class: "filters"
56
- }, r("gxg-title", {
57
- type: "title-05"
58
- }, this._componentLocale.filters.filtersHeading), r("div", {
59
- class: "filters__wrapper"
60
- }, r("div", {
61
- class: "filters__wrapper-left"
62
- }, r("gxg-label", {
63
- labelPosition: "above",
64
- center: false
65
- }, "Front End Objects"), r("div", {
66
- class: "filters__front-end-objects"
67
- }, r("gxg-form-checkbox", {
68
- label: this._componentLocale.filters.webPanelsCheckbox,
69
- part: "web-panels-checkbox",
70
- slot: "footer-start",
71
- ref: e => this.webPanelsCheckboxEl = e
72
- }), r("gxg-form-checkbox", {
73
- label: this._componentLocale.filters.panelsCheckbox,
74
- part: "panels-checkbox",
75
- slot: "footer-start",
76
- ref: e => this.panelsCheckboxEl = e
77
- }))), r("div", {
78
- class: "filters__wrapper-right"
79
- }, r("gxg-combo-box", {
80
- label: this._componentLocale.filters.futureUpgradesComboLabel,
81
- disableFilter: true,
82
- part: "future-upgrades-combo",
83
- ref: e => this.futureUpgradesComboEl = e
84
- }, r("gxg-combo-box-item", {
85
- value: "automatic"
86
- }, this._componentLocale.manageFutureUpgrades.installAutomatically), r("gxg-combo-box-item", {
87
- value: "prompt"
88
- }, this._componentLocale.manageFutureUpgrades.promptMe), r("gxg-combo-box-item", {
89
- value: "never"
90
- }, this._componentLocale.manageFutureUpgrades.neverUpdate)))));
54
+ this.renderFilters = () => {
55
+ var e;
56
+ return r("div", {
57
+ class: "filters"
58
+ }, r("gxg-title", {
59
+ type: "title-05"
60
+ }, this._componentLocale.filters.filtersHeading), r("div", {
61
+ class: "filters__wrapper"
62
+ }, r("div", {
63
+ class: "filters__wrapper-left"
64
+ }, r("gxg-label", {
65
+ labelPosition: "above",
66
+ center: false
67
+ }, "Front End Objects"), r("div", {
68
+ class: "filters__front-end-objects"
69
+ }, r("gxg-form-checkbox", {
70
+ label: this._componentLocale.filters.webPanelsCheckbox,
71
+ part: "web-panels-checkbox",
72
+ slot: "footer-start",
73
+ ref: e => this.webPanelsCheckboxEl = e,
74
+ checked: (e = this.defaultConfiguration) === null || e === void 0 ? void 0 : e.importWebPanels
75
+ }), r("gxg-form-checkbox", {
76
+ label: this._componentLocale.filters.panelsCheckbox,
77
+ part: "panels-checkbox",
78
+ slot: "footer-start",
79
+ ref: e => this.panelsCheckboxEl = e,
80
+ checked: this.defaultConfiguration.importPanels && this.canSelectPanels,
81
+ disabled: !this.canSelectPanels
82
+ }))), r("div", {
83
+ class: "filters__wrapper-right"
84
+ }, r("gxg-combo-box", {
85
+ label: this._componentLocale.filters.futureUpgradesComboLabel,
86
+ disableFilter: true,
87
+ part: "future-upgrades-combo",
88
+ ref: e => this.futureUpgradesComboEl = e,
89
+ value: this.defaultConfiguration.futureUpgrades
90
+ }, r("gxg-combo-box-item", {
91
+ value: "automatic"
92
+ }, this._componentLocale.manageFutureUpgrades.installAutomatically), r("gxg-combo-box-item", {
93
+ value: "prompt"
94
+ }, this._componentLocale.manageFutureUpgrades.promptMe), r("gxg-combo-box-item", {
95
+ value: "never"
96
+ }, this._componentLocale.manageFutureUpgrades.neverUpdate)))));
97
+ };
91
98
  this.fileName = "";
92
99
  this.selectedFile = undefined;
93
100
  this.importingIsInProcess = false;
@@ -96,6 +103,12 @@ const n = class {
96
103
  this.repairCallback = undefined;
97
104
  this.saveCallback = undefined;
98
105
  this.cancelCallback = undefined;
106
+ this.defaultConfiguration = {
107
+ importWebPanels: true,
108
+ importPanels: false,
109
+ futureUpgrades: "prompt"
110
+ };
111
+ this.canSelectPanels = false;
99
112
  }
100
113
  // 6.COMPONENT LIFECYCLE METHODS //
101
114
  async componentWillLoad() {
@@ -154,4 +167,4 @@ const n = class {
154
167
  n.style = l;
155
168
 
156
169
  export { n as gx_ide_gam_installation_settings };
157
- //# sourceMappingURL=p-81144669.entry.js.map
170
+ //# sourceMappingURL=p-0ba8ddf3.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["gamInstallationSettingsCss","GxIdeGamInstallationSettings","this","renderedFirstTime","repairCallbackHandler","async","saveCallback","data","importWebPanels","webPanelsCheckboxEl","checked","importPanels","panelsCheckboxEl","futureUpgrades","futureUpgradesComboEl","value","repairCallback","saveCallbackHandler","cancelCallbackHandler","cancelCallback","renderHeader","h","class","slot","configurationType","type","_componentLocale","header","headerTextInstallation","firstSentence","secondSentence","thirdSentence","headerTextUpdate","renderFilters","filters","filtersHeading","labelPosition","center","label","webPanelsCheckbox","part","ref","el","_a","defaultConfiguration","panelsCheckbox","canSelectPanels","disabled","futureUpgradesComboLabel","disableFilter","manageFutureUpgrades","installAutomatically","promptMe","neverUpdate","componentWillLoad","Locale","getComponentStrings","componentDidRender","componentDidRenderFirstTime","emit","componentName","render","Host","noHeadingPadding","headingPaddingTop","noContentPadding","noContentGap","noAboveFooterPadding","containerTitle","displayTitle","slimmerFooter","config","gxIdeContainer","footer","footerRepairText","footerSaveText","footerCancelText","enableSecurity","onClick","repairButton","cancelButton","no","confirmButton","yes"],"sources":["src/components/gam-installation-settings/gam-installation-settings.scss?tag=gx-ide-gam-installation-settings&encapsulation=shadow","src/components/gam-installation-settings/gam-installation-settings.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n/*Header*/\n.header {\n border-top: 1px solid var(--gx-ide-container-border-color);\n padding: var(--gx-ide-container__padding) var(--gx-ide-container__padding);\n}\n/*Main*/\n.message-checkbox-container {\n padding: 0 var(--gx-ide-container__padding) var(--gx-ide-container__padding)\n var(--gx-ide-container__padding);\n}\n/*Filters*/\n.filters {\n display: grid;\n gap: var(--gx-ide-grid-column-gap);\n padding: var(--gx-ide-container__padding);\n\n &__wrapper {\n display: flex;\n gap: var(--gx-ide-container__padding);\n\n > * {\n flex: 1;\n }\n }\n &__front-end-objects {\n display: flex;\n gap: var(--gx-ide-grid-column-gap);\n }\n}\n.footer-above {\n display: flex;\n gap: var(--gx-ide-container__padding);\n > * {\n flex: 1;\n font-size: var(--mer-font__size--xxs);\n padding: var(--mer-spacing--xs);\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1.5em;\n }\n > *:first-child {\n border-inline-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n &__right {\n display: flex;\n flex-direction: column;\n }\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\";\n\n@Component({\n tag: \"gx-ide-gam-installation-settings\",\n styleUrl: \"gam-installation-settings.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/gam-installation-settings\"]\n})\nexport class GxIdeGamInstallationSettings {\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: HTMLGxIdeGamInstallationSettingsElement;\n\n private webPanelsCheckboxEl!: HTMLGxgFormCheckboxElement;\n private panelsCheckboxEl!: HTMLGxgFormCheckboxElement;\n private futureUpgradesComboEl!: HTMLGxgComboBoxElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * Current value for Used in objects\n */\n\n @State() fileName: string = \"\";\n @State() selectedFile: File;\n @State() importingIsInProcess = 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 * Specifies the configuration type to be used\n */\n @Prop() readonly configurationType: \"installation\" | \"update\" =\n \"installation\";\n\n /**\n * Callback invoked when the user press repair button\n */\n @Prop() readonly repairCallback: RepairCallback;\n\n /**\n * Callback invoked when the user wants to start the exportation process\n */\n @Prop() readonly saveCallback: SaveCallback;\n\n /**\n * Callback invoked when the user wants to cancel the exportation process\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Defines the default configuration property. Necessary for initializing the dialogue\n * using stored 'game config data' from the server. If undefined, default values are\n * applied.\n */\n @Prop() readonly defaultConfiguration: GamConfigData | undefined = {\n importWebPanels: true,\n importPanels: false,\n futureUpgrades: \"prompt\"\n };\n\n /**\n * Property determining 'Panels' checkbox activation. Enabled only if an SD generator is\n * present in the KB. If not, checkbox is disabled\n */\n @Prop() readonly canSelectPanels: boolean = false;\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 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 repairCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: this.webPanelsCheckboxEl.checked,\n importPanels: this.panelsCheckboxEl.checked,\n futureUpgrades: this.futureUpgradesComboEl.value\n ? this.futureUpgradesComboEl.value\n : null\n };\n await this.repairCallback(data);\n }\n };\n\n private saveCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: this.webPanelsCheckboxEl.checked,\n importPanels: this.panelsCheckboxEl.checked,\n futureUpgrades: this.futureUpgradesComboEl.value\n ? this.futureUpgradesComboEl.value\n : null\n };\n await this.saveCallback(data);\n }\n };\n private cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n /* Renders*/\n private renderHeader = () => {\n return (\n <header class=\"header\" slot=\"header\">\n {this.configurationType === \"installation\"\n ? [\n <gxg-text type=\"text-regular\">\n {\n this._componentLocale.header.headerTextInstallation\n .firstSentence\n }\n </gxg-text>,\n <gxg-text type=\"text-regular\">\n {\n this._componentLocale.header.headerTextInstallation\n .secondSentence\n }\n </gxg-text>,\n <gxg-text type=\"text-regular\">\n {\n this._componentLocale.header.headerTextInstallation\n .thirdSentence\n }\n </gxg-text>\n ]\n : [\n <gxg-text type=\"text-regular\">\n {this._componentLocale.header.headerTextUpdate.firstSentence}\n </gxg-text>,\n <gxg-text type=\"text-regular\">\n {this._componentLocale.header.headerTextUpdate.secondSentence}\n </gxg-text>\n ]}\n {/* header text */}\n </header>\n );\n };\n\n private renderFilters = () => {\n return (\n <div class=\"filters\">\n <gxg-title type=\"title-05\">\n {this._componentLocale.filters.filtersHeading}\n </gxg-title>\n\n <div class=\"filters__wrapper\">\n <div class=\"filters__wrapper-left\">\n <gxg-label labelPosition=\"above\" center={false}>\n Front End Objects\n </gxg-label>\n <div class=\"filters__front-end-objects\">\n <gxg-form-checkbox\n label={this._componentLocale.filters.webPanelsCheckbox}\n part=\"web-panels-checkbox\"\n slot=\"footer-start\"\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.webPanelsCheckboxEl = el as HTMLGxgFormCheckboxElement)\n }\n checked={this.defaultConfiguration?.importWebPanels}\n ></gxg-form-checkbox>\n <gxg-form-checkbox\n label={this._componentLocale.filters.panelsCheckbox}\n part=\"panels-checkbox\"\n slot=\"footer-start\"\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.panelsCheckboxEl = el as HTMLGxgFormCheckboxElement)\n }\n checked={\n this.defaultConfiguration.importPanels && this.canSelectPanels\n }\n disabled={!this.canSelectPanels}\n ></gxg-form-checkbox>\n </div>\n </div>\n <div class=\"filters__wrapper-right\">\n <gxg-combo-box\n label={this._componentLocale.filters.futureUpgradesComboLabel}\n disableFilter\n part=\"future-upgrades-combo\"\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.futureUpgradesComboEl = el as HTMLGxgComboBoxElement)\n }\n value={this.defaultConfiguration.futureUpgrades}\n >\n <gxg-combo-box-item value=\"automatic\">\n {\n this._componentLocale.manageFutureUpgrades\n .installAutomatically\n }\n </gxg-combo-box-item>\n <gxg-combo-box-item value=\"prompt\">\n {this._componentLocale.manageFutureUpgrades.promptMe}\n </gxg-combo-box-item>\n <gxg-combo-box-item value=\"never\">\n {this._componentLocale.manageFutureUpgrades.neverUpdate}\n </gxg-combo-box-item>\n </gxg-combo-box>\n </div>\n </div>\n </div>\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 noHeadingPadding\n headingPaddingTop\n noContentPadding\n noContentGap\n noAboveFooterPadding\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n {this.renderHeader()}\n {this.renderFilters()}\n <div class=\"footer-above\" slot=\"footer-above\">\n {this.configurationType === \"update\" ? (\n <div class=\"footer-above__left\">\n <p>{this._componentLocale.footer.footerRepairText}</p>\n </div>\n ) : null}\n\n <div class=\"footer-above__right\">\n {this.configurationType === \"update\" ? (\n [\n <p>{this._componentLocale.footer.footerSaveText}</p>,\n <p>{this._componentLocale.footer.footerCancelText}</p>\n ]\n ) : (\n // configurationType is \"installation\"\n <p>{this._componentLocale.footer.enableSecurity}</p>\n )}\n </div>\n </div>\n\n {this.configurationType === \"update\" ? (\n <gxg-button\n type=\"outlined\"\n slot=\"footer-start\"\n onClick={this.repairCallbackHandler}\n >\n {this._componentLocale.footer.repairButton}\n </gxg-button>\n ) : null}\n\n <gxg-button\n type=\"outlined\"\n slot=\"footer-end\"\n onClick={this.cancelCallbackHandler}\n >\n {this.configurationType === \"update\"\n ? this._componentLocale.footer.cancelButton\n : this._componentLocale.footer.no}\n </gxg-button>\n <gxg-button slot=\"footer-end\" onClick={this.saveCallbackHandler}>\n {this.configurationType === \"update\"\n ? this._componentLocale.footer.confirmButton\n : this._componentLocale.footer.yes}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type GamConfigData = {\n importWebPanels: boolean;\n importPanels: boolean;\n futureUpgrades: \"never\" | \"prompt\" | \"automatic\";\n};\n\nexport type SaveCallback = (data: GamConfigData) => Promise<void>;\nexport type CancelCallback = () => Promise<void>;\nexport type RepairCallback = (config: GamConfigData) => Promise<void>;\n"],"mappings":";;;;;;AAAA,MAAMA,IAA6B;;MCsBtBC,IAA4B;;;;IAO/BC,KAAAC,oBAAoB;;;;QA6FpBD,KAAAE,wBAAwBC;MAC9B,IAAIH,KAAKI,cAAc;QACrB,MAAMC,IAAsB;UAC1BC,iBAAiBN,KAAKO,oBAAoBC;UAC1CC,cAAcT,KAAKU,iBAAiBF;UACpCG,gBAAgBX,KAAKY,sBAAsBC,QACvCb,KAAKY,sBAAsBC,QAC3B;;cAEAb,KAAKc,eAAeT;;;IAItBL,KAAAe,sBAAsBZ;MAC5B,IAAIH,KAAKI,cAAc;QACrB,MAAMC,IAAsB;UAC1BC,iBAAiBN,KAAKO,oBAAoBC;UAC1CC,cAAcT,KAAKU,iBAAiBF;UACpCG,gBAAgBX,KAAKY,sBAAsBC,QACvCb,KAAKY,sBAAsBC,QAC3B;;cAEAb,KAAKI,aAAaC;;;IAGpBL,KAAAgB,wBAAwB;MAC9BhB,KAAKiB;AAAgB;oBAIfjB,KAAAkB,eAAe,MAEnBC,EAAA;MAAQC,OAAM;MAASC,MAAK;OACzBrB,KAAKsB,sBAAsB,iBACxB,EACEH,EAAA;MAAUI,MAAK;OAEXvB,KAAKwB,iBAAiBC,OAAOC,uBAC1BC,gBAGPR,EAAA;MAAUI,MAAK;OAEXvB,KAAKwB,iBAAiBC,OAAOC,uBAC1BE,iBAGPT,EAAA;MAAUI,MAAK;OAEXvB,KAAKwB,iBAAiBC,OAAOC,uBAC1BG,mBAIT,EACEV,EAAA;MAAUI,MAAK;OACZvB,KAAKwB,iBAAiBC,OAAOK,iBAAiBH,gBAEjDR,EAAA;MAAUI,MAAK;OACZvB,KAAKwB,iBAAiBC,OAAOK,iBAAiBF;IAQrD5B,KAAA+B,gBAAgB;;MACtB,OACEZ,EAAA;QAAKC,OAAM;SACTD,EAAA;QAAWI,MAAK;SACbvB,KAAKwB,iBAAiBQ,QAAQC,iBAGjCd,EAAA;QAAKC,OAAM;SACTD,EAAA;QAAKC,OAAM;SACTD,EAAA;QAAWe,eAAc;QAAQC,QAAQ;SAAK,sBAG9ChB,EAAA;QAAKC,OAAM;SACTD,EAAA;QACEiB,OAAOpC,KAAKwB,iBAAiBQ,QAAQK;QACrCC,MAAK;QACLjB,MAAK;QACLkB,KAAMC,KACHxC,KAAKO,sBAAsBiC;QAE9BhC,UAASiC,IAAAzC,KAAK0C,0BAAoB,QAAAD,WAAA,aAAAA,EAAEnC;UAEtCa,EAAA;QACEiB,OAAOpC,KAAKwB,iBAAiBQ,QAAQW;QACrCL,MAAK;QACLjB,MAAK;QACLkB,KAAMC,KACHxC,KAAKU,mBAAmB8B;QAE3BhC,SACER,KAAK0C,qBAAqBjC,gBAAgBT,KAAK4C;QAEjDC,WAAW7C,KAAK4C;YAItBzB,EAAA;QAAKC,OAAM;SACTD,EAAA;QACEiB,OAAOpC,KAAKwB,iBAAiBQ,QAAQc;QACrCC,eAAa;QACbT,MAAK;QACLC,KAAMC,KACHxC,KAAKY,wBAAwB4B;QAEhC3B,OAAOb,KAAK0C,qBAAqB/B;SAEjCQ,EAAA;QAAoBN,OAAM;SAEtBb,KAAKwB,iBAAiBwB,qBACnBC,uBAGP9B,EAAA;QAAoBN,OAAM;SACvBb,KAAKwB,iBAAiBwB,qBAAqBE,WAE9C/B,EAAA;QAAoBN,OAAM;SACvBb,KAAKwB,iBAAiBwB,qBAAqBG;AAKhD;oBA7MkB;;gCAEI;wBAOA;6BAM9B;;;;gCAsBiE;MACjE7C,iBAAiB;MACjBG,cAAc;MACdE,gBAAgB;;2BAO0B;;;EAW5C,uBAAMyC;IACJpD,KAAKwB,yBAAyB6B,EAAOC,oBAAoBtD,KAAKwC;;EAGhE,kBAAAe;IACE,KAAKvD,KAAKC,mBAAmB;MAC3BD,KAAKwD,4BAA4BC,KAC/BzD,KAAKwB,iBAAiBkC;MAExB1D,KAAKC,oBAAoB;;;;EAgJ7B,MAAA0D;IACE,OACExC,EAACyC,GAAI;MAACxC,OAAM;OACVD,EAAA;MAAKC,OAAM;OACTD,EAAA;MACE0C,kBAAgB;MAChBC,mBAAiB;MACjBC,kBAAgB;MAChBC,cAAY;MACZC,sBAAoB;MACpBC,gBACElE,KAAKmE,eAAenE,KAAKwB,iBAAiBkC,gBAAgB;MAE5DU,eAAeC,EAAOC,eAAeF;OAEpCpE,KAAKkB,gBACLlB,KAAK+B,iBACNZ,EAAA;MAAKC,OAAM;MAAeC,MAAK;OAC5BrB,KAAKsB,sBAAsB,WAC1BH,EAAA;MAAKC,OAAM;OACTD,EAAA,WAAInB,KAAKwB,iBAAiB+C,OAAOC,qBAEjC,MAEJrD,EAAA;MAAKC,OAAM;OACRpB,KAAKsB,sBAAsB,WAAQ,EAEhCH,EAAA,WAAInB,KAAKwB,iBAAiB+C,OAAOE,iBACjCtD,EAAA,WAAInB,KAAKwB,iBAAiB+C,OAAOG;;IAInCvD,EAAA,WAAInB,KAAKwB,iBAAiB+C,OAAOI,mBAKtC3E,KAAKsB,sBAAsB,WAC1BH,EAAA;MACEI,MAAK;MACLF,MAAK;MACLuD,SAAS5E,KAAKE;OAEbF,KAAKwB,iBAAiB+C,OAAOM,gBAE9B,MAEJ1D,EAAA;MACEI,MAAK;MACLF,MAAK;MACLuD,SAAS5E,KAAKgB;OAEbhB,KAAKsB,sBAAsB,WACxBtB,KAAKwB,iBAAiB+C,OAAOO,eAC7B9E,KAAKwB,iBAAiB+C,OAAOQ,KAEnC5D,EAAA;MAAYE,MAAK;MAAauD,SAAS5E,KAAKe;OACzCf,KAAKsB,sBAAsB,WACxBtB,KAAKwB,iBAAiB+C,OAAOS,gBAC7BhF,KAAKwB,iBAAiB+C,OAAOU"}
@@ -1,91 +1,113 @@
1
- import { r as e, c as t, a as r, h as o, H as a, g as i } from "./p-48217969.js";
1
+ import { r as t, c as e, a as r, h as a, H as o, g as i } from "./p-48217969.js";
2
2
 
3
3
  import { L as s } from "./p-74d59062.js";
4
4
 
5
- const l = ":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)}.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-container{display:flex;height:100%;width:100%;box-sizing:border-box}p{margin:0;font-size:var(--mer-font__size--xxs)}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--mer-color__surface)}.header{display:grid;gap:var(--mer-spacing--md);grid-template-rows:auto;grid-template-columns:1fr 1fr min-content;align-items:center;padding:var(--mer-spacing--sm);border-block-end:1px solid var(--mer-border-color__on-elevation--01)}.header__item{display:flex;flex-direction:column;gap:var(--mer-spacing--xxxs)}.main{display:flex;flex-direction:column;gap:var(--mer-spacing--sm);padding:var(--mer-spacing--sm)}.kbs-list{max-height:200px}.versions-container{display:flex;flex-direction:column}.versions-container__input{display:flex;gap:8px}";
5
+ import { r as l } from "./p-350f49ac.js";
6
6
 
7
- const n = class {
7
+ import { f as n } from "./p-00095d68.js";
8
+
9
+ const g = ":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)}.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-container{display:flex;height:100%;width:100%;box-sizing:border-box}p{margin:0;font-size:var(--mer-font__size--xxs)}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--mer-color__surface)}.grid-data{grid-template-columns:repeat(2, 1fr)}.grid-data-account{grid-template-columns:auto 1fr}.grid-data-account>:nth-child(1){grid-area:1/1/2/3}.grid-data-account>:nth-child(6){grid-area:4/2/5/3}.grid-data-kbs{display:flex;flex-direction:column;gap:var(--gx-ide-grid-row-gap)}.grid-data-kbs .search-kbs{width:100%;display:flex}.grid-data-kbs .box-kbs{height:150px}.grid-data-kbs-footer{display:flex}.flex{display:flex}.flex>:nth-child(2){flex:1}";
10
+
11
+ const d = class {
8
12
  constructor(a) {
9
- e(this, a);
10
- this.componentDidRenderFirstTime = t(this, "componentDidRenderFirstTime", 7);
13
+ t(this, a);
14
+ this.componentDidRenderFirstTime = e(this, "componentDidRenderFirstTime", 7);
11
15
  this.renderedFirstTime = false;
12
16
  this.shortcutsSrc = r(`./gx-ide-assets/create-kb-from-server/shortcuts.json`);
17
+ this.kbIdSelected = null;
18
+ this.authenticationTypes = [];
13
19
  // 7.LISTENERS //
14
20
  // 8.PUBLIC METHODS API //
15
21
  // 9.LOCAL METHODS //
16
- this.init = async () => {
17
- if (this.getGXserverKBsCallback) {
18
- await this.getGXserverKBsCallback({
19
- serverUrl: this.serverUrl,
20
- user: this.userName,
21
- password: this.userPassword
22
- }).then((e => {
23
- this.kbsData = e;
24
- }));
25
- }
26
- // get version option
27
- this.versionSelectedType = this.versionSelectedTypeEl.value;
22
+ this.setAuthenticationTypes = () => {
23
+ this.authenticationTypes = [ {
24
+ id: "genexus",
25
+ value: "genexus",
26
+ label: this._componentLocale.authenticationTypes.genexusAccount
27
+ }, {
28
+ id: "local",
29
+ value: "local",
30
+ label: this._componentLocale.authenticationTypes.local
31
+ } ];
28
32
  };
29
- this.cancelHandler = () => {
30
- if (this.cancelCallback) {
31
- this.cancelCallback();
32
- }
33
+ this.addEventListeners = () => {
34
+ this.serverUrlsEl.addEventListener("valueChanged", (() => {
35
+ this.reset();
36
+ }));
37
+ this.searchKBEl.addEventListener("valueChanged", (t => {
38
+ this.kbNameEl.value = "";
39
+ this.kbIdSelected = null;
40
+ this.kbSearchText = t.detail;
41
+ }));
42
+ this.listBoxEl.addEventListener("selectionChanged", (t => {
43
+ const e = t.detail.items;
44
+ let r;
45
+ if (e.length > 0) {
46
+ r = t.detail.items[0];
47
+ }
48
+ if (r) {
49
+ this.kbIdSelected = r.value;
50
+ const t = this.kbs.find((t => t.id === this.kbIdSelected));
51
+ if (t) {
52
+ this.kbNameEl.value = t.name;
53
+ }
54
+ }
55
+ }));
33
56
  };
34
- this.createHandler = async () => {
57
+ this.createKbHandler = () => {
35
58
  if (this.createKBCallback) {
36
- this.createKBCallback(this.selectedKbId, this.versionSelectedType, this.localKBNameEl.value, this.kbVersionsIds);
37
- }
38
- };
39
- this.changeConnectionHandler = async () => {
40
- if (this.changeConnectionCallback) {
41
- this.changeConnectionCallback({
42
- serverUrl: this.serverUrl,
43
- user: this.userName,
44
- password: this.userPassword
59
+ const t = this.createKBCallback({
60
+ id: this.kbIdSelected,
61
+ name: this.kbNameEl.value
45
62
  });
63
+ t.then((t => {
64
+ n(t, this);
65
+ }));
46
66
  }
47
67
  };
48
- this.renderKbs = () => this.kbsData.map((e => o("gx-ide-list-selector-item", {
49
- itemId: e.id,
50
- itemValue: e.name
51
- })));
52
- this.selectionChangedHandler = e => {
53
- this.selectedKbId = e.detail[0].itemId;
54
- };
55
- this.selectedVersionHandler = async () => {
56
- if (this.selectKBVersionsCallback) {
57
- await this.selectKBVersionsCallback(this.selectedKbId).then((e => {
58
- if (e === null || e === void 0 ? void 0 : e.length) {
59
- this.kbVersions = e;
60
- this.kbVersionsIds = e.map((e => e.id.toString()));
68
+ this.connectCallbackHandler = () => {
69
+ var t, e;
70
+ if (this.connectCallback) {
71
+ const r = this.connectCallback({
72
+ serverUrl: this.serverUrlsEl.value,
73
+ authenticationType: this.authenticationTypeEl.value,
74
+ user: (t = this.userNameEl) === null || t === void 0 ? void 0 : t.value,
75
+ password: (e = this.passwordEl) === null || e === void 0 ? void 0 : e.value
76
+ });
77
+ r.then((t => {
78
+ n(t.formResult, this);
79
+ if (t.formResult.success && t.kbs) {
80
+ this.kbs = t.kbs;
81
+ this.selectionKbDisabled = false;
61
82
  }
62
83
  }));
63
84
  }
64
85
  };
65
- this.versionsChangedHandler = e => {
66
- this.versionSelectedType = e.detail.value;
67
- };
68
- this.kbsData = [];
69
- this.kbVersions = [];
70
- this.kbVersionsIds = [];
71
- this.versionSelectedType = undefined;
86
+ this.selectionKbDisabled = true;
87
+ this.kbs = [];
88
+ this.kbSearchText = "";
72
89
  this.displayTitle = false;
73
- this.serverUrl = undefined;
74
- this.userName = undefined;
75
- this.userPassword = undefined;
76
- this.getGXserverKBsCallback = undefined;
77
- this.changeConnectionCallback = undefined;
90
+ this.connectCallback = undefined;
78
91
  this.createKBCallback = undefined;
79
- this.selectKBVersionsCallback = undefined;
80
- this.cancelCallback = undefined;
92
+ this.enableCustomServer = true;
93
+ this.kbName = undefined;
94
+ this.password = undefined;
95
+ this.serverUrls = undefined;
96
+ this.userName = undefined;
97
+ }
98
+ watchPropHandler(t) {
99
+ /* When the list of servers are updated, the first server is selected by default */
100
+ this.kbIdSelected = t[0].id;
101
+ this.kbName = t[0].name;
81
102
  }
82
103
  // 6.METHODS //
83
104
  async componentWillLoad() {
84
105
  this._componentLocale = await s.getComponentStrings(this.el);
106
+ this.setAuthenticationTypes();
85
107
  }
86
108
  componentDidLoad() {
87
- this.searchKbsEl.focus();
88
- this.init();
109
+ this.serverUrlsEl.focus();
110
+ this.addEventListeners();
89
111
  }
90
112
  componentDidRender() {
91
113
  if (!this.renderedFirstTime) {
@@ -93,87 +115,110 @@ const n = class {
93
115
  this.renderedFirstTime = true;
94
116
  }
95
117
  }
118
+ reset() {
119
+ this.kbs = [];
120
+ this.kbIdSelected = null;
121
+ this.selectionKbDisabled = true;
122
+ this.searchKBEl.value = "";
123
+ this.kbSearchText = "";
124
+ }
125
+ // 10.RENDER() FUNCTION //
96
126
  // 11.RENDER() FUNCTION //
97
127
  render() {
98
- return o(a, {
128
+ return a(o, {
99
129
  class: "gx-ide-component"
100
- }, o("div", {
130
+ }, a("div", {
101
131
  class: "gx-ide-main-wrapper"
102
- }, o("gx-ide-container", {
103
- slimmerFooter: true,
104
- noContentPadding: true,
105
- noContentGap: true,
132
+ }, a("gx-ide-container", {
106
133
  containerTitle: this.displayTitle ? this._componentLocale.componentName : null
107
- }, o("div", {
108
- class: "header"
109
- }, o("div", {
110
- class: "header__item"
111
- }, o("gxg-label", {
134
+ }, a("div", {
135
+ class: "flex"
136
+ }, a("gxg-label", {
137
+ labelPosition: "start",
138
+ class: "kb-label"
139
+ }, this._componentLocale.label.serverUrl), a("gxg-combo-box", {
140
+ disableFilter: !this.enableCustomServer,
141
+ ref: t => this.serverUrlsEl = t,
142
+ class: "server-urls-combo-box",
143
+ part: "server-urls"
144
+ }, this.serverUrls ? l("gxg-combo-box-item", this.serverUrls.map((t => ({
145
+ id: t,
146
+ label: t,
147
+ value: t
148
+ }))), "server-urls") : null)), a("div", {
149
+ class: "grid grid-data"
150
+ }, a("div", null, a("div", {
151
+ class: "grid grid-data-account"
152
+ }, a("gxg-combo-box", {
153
+ "tool-tip": true,
154
+ disableFilter: true,
155
+ value: this.authenticationTypes[0].id,
156
+ ref: t => this.authenticationTypeEl = t,
157
+ class: "authentication-type",
158
+ part: "authentication-type",
159
+ onValueChanged: this.evaluateAuthenticationType
160
+ }, l("gxg-combo-box-item", this.authenticationTypes, "authentication-type")), a("gxg-label", {
112
161
  labelPosition: "start",
113
162
  class: "kb-label"
114
- }, this._componentLocale.header.serverUrl), o("p", null, this.serverUrl)), o("div", {
115
- class: "header__item"
116
- }, o("gxg-label", {
163
+ }, `${this._componentLocale.label.userName}:`), a("gxg-form-text", {
164
+ ref: t => this.userNameEl = t,
165
+ "tool-tip": true,
166
+ value: this.userName,
167
+ class: "user-name",
168
+ part: "user-name"
169
+ }), a("gxg-label", {
117
170
  labelPosition: "start",
118
171
  class: "kb-label"
119
- }, this._componentLocale.header.user), o("p", null, this.userName)), o("gxg-button", {
120
- type: "secondary-text-only",
121
- class: "header__button",
122
- onClick: this.changeConnectionHandler
123
- }, this._componentLocale.header.change)), o("main", {
124
- class: "main"
125
- }, o("gxg-form-text", {
126
- icon: "gemini-tools/search",
127
- iconPosition: "start",
128
- placeholder: this._componentLocale.main.searchKB,
129
- maxWidth: "300px",
130
- ref: e => this.searchKbsEl = e
131
- }), o("gx-ide-list-selector", {
132
- listName: "kbs-list",
133
- ellipsis: true,
134
- onSelectionChanged: this.selectionChangedHandler,
135
- class: "kbs-list"
136
- }, this.renderKbs()), o("gxg-form-radio-group", {
137
- row: true,
138
- onChange: this.versionsChangedHandler,
139
- ref: e => this.versionSelectedTypeEl = e
140
- }, o("gxg-form-radio", {
141
- label: this._componentLocale.main.trunkVersion,
142
- id: "Trunk",
143
- value: "Trunk"
144
- }), o("gxg-form-radio", {
145
- label: this._componentLocale.main.allVersions,
146
- id: "All",
147
- value: "All"
148
- }), o("gxg-form-radio", {
149
- label: this._componentLocale.main.selectVersion,
150
- id: "Select",
151
- value: "Select"
152
- })), o("div", {
153
- class: "versions-container"
154
- }, o("gxg-label", {
155
- labelPosition: "above"
156
- }, this._componentLocale.main.selectVersion), o("div", {
157
- class: "versions-container__input"
158
- }, o("gxg-form-text", {
159
- readonly: true,
160
- value: `${this.kbVersions.length.toString()} versions selected`
161
- }), o("gxg-button", {
162
- type: "secondary-icon-only",
163
- icon: "gemini-tools/show-more-horizontal",
164
- onClick: this.selectedVersionHandler
165
- }))), o("gxg-form-text", {
166
- label: "Local KB Name",
167
- labelPosition: "above",
168
- ref: e => this.localKBNameEl = e
169
- })), o("gxg-button", {
170
- type: "outlined",
171
- slot: "footer-end",
172
- onClick: this.cancelHandler
173
- }, this._componentLocale.footer.cancel), o("gxg-button", {
174
- onClick: this.createHandler,
175
- slot: "footer-end"
176
- }, this._componentLocale.footer.create))), o("gxg-shortcuts", {
172
+ }, `${this._componentLocale.label.password}:`), a("gxg-form-text", {
173
+ "tool-tip": true,
174
+ password: true,
175
+ ref: t => this.passwordEl = t,
176
+ value: this.password,
177
+ class: "password",
178
+ part: "password"
179
+ }), a("div", null, a("gxg-button", {
180
+ id: "button-connect",
181
+ type: "primary-text-only",
182
+ onClick: this.connectCallbackHandler,
183
+ part: "button-connect"
184
+ }, this._componentLocale.buttons.connect)))), a("div", {
185
+ class: "grid"
186
+ }, a("div", {
187
+ class: "grid-data-kbs"
188
+ }, a("div", {
189
+ class: "search-kbs"
190
+ }, a("gxg-form-text", {
191
+ ref: t => this.searchKBEl = t,
192
+ class: "search-kb-input",
193
+ part: "search-kb",
194
+ disabled: this.selectionKbDisabled,
195
+ placeholder: this._componentLocale.label.searchKbs
196
+ })), a("div", {
197
+ class: "box-kbs"
198
+ }, a("gxg-list-box", {
199
+ singleSelection: true,
200
+ disabled: this.selectionKbDisabled,
201
+ ref: t => this.listBoxEl = t,
202
+ part: "kbs"
203
+ }, this.kbs.filter((t => t.name.toLowerCase().includes(this.kbSearchText.toLowerCase()))).map((t => a("gxg-list-box-item", {
204
+ value: t.id,
205
+ key: t.id
206
+ }, t.name)))))), a("div", {
207
+ class: "grid grid-data-kbs-footer"
208
+ }, a("gxg-form-text", {
209
+ ref: t => this.kbNameEl = t,
210
+ label: this._componentLocale.localKb,
211
+ value: this.kbName,
212
+ class: "kb-name",
213
+ part: "kb-name",
214
+ disabled: this.selectionKbDisabled
215
+ }), a("div", null, a("gxg-button", {
216
+ id: "button-create",
217
+ type: "primary-text-only",
218
+ onClick: this.createKbHandler,
219
+ part: "button-create",
220
+ disabled: this.selectionKbDisabled
221
+ }, this._componentLocale.buttons.create))))))), a("gxg-shortcuts", {
177
222
  src: this.shortcutsSrc
178
223
  }));
179
224
  }
@@ -183,9 +228,14 @@ const n = class {
183
228
  get el() {
184
229
  return i(this);
185
230
  }
231
+ static get watchers() {
232
+ return {
233
+ kbs: [ "watchPropHandler" ]
234
+ };
235
+ }
186
236
  };
187
237
 
188
- n.style = l;
238
+ d.style = g;
189
239
 
190
- export { n as gx_ide_create_kb_from_server };
191
- //# sourceMappingURL=p-2191d598.entry.js.map
240
+ export { d as gx_ide_create_kb_from_server };
241
+ //# sourceMappingURL=p-3051fa72.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createKbFromServerCss","GxIdeCreateKbFromServer","this","renderedFirstTime","shortcutsSrc","getAssetPath","kbIdSelected","authenticationTypes","setAuthenticationTypes","id","value","label","_componentLocale","genexusAccount","local","addEventListeners","serverUrlsEl","addEventListener","reset","searchKBEl","e","kbNameEl","kbSearchText","detail","listBoxEl","ev","selectedItems","items","selectedItem","length","kbSelected","kbs","find","kb","name","createKbHandler","createKBCallback","createKBCallbackPromise","then","formSubmitResult","formSubmitValidation","connectCallbackHandler","connectCallback","connectCallbackPromise","serverUrl","authenticationType","authenticationTypeEl","user","_a","userNameEl","password","_b","passwordEl","connectionResultData","formResult","success","selectionKbDisabled","watchPropHandler","newKbs","kbName","componentWillLoad","Locale","getComponentStrings","el","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","emit","componentName","render","h","Host","class","containerTitle","displayTitle","labelPosition","disableFilter","enableCustomServer","ref","part","serverUrls","renderFormItems","map","sUrl","onValueChanged","evaluateAuthenticationType","userName","type","onClick","buttons","connect","disabled","placeholder","searchKbs","singleSelection","filter","toLowerCase","includes","key","localKb","create","src"],"sources":["src/components/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n border: 1px solid var(--gxg-border-color--regular);\n background-color: var(--mer-color__surface);\n}\n:host(.gxi-create-kb-from-server--shadow) {\n}\n\n.grid-data {\n grid-template-columns: repeat(2, 1fr);\n}\n.grid-data-account {\n grid-template-columns: auto 1fr;\n > :nth-child(1) {\n grid-area: 1 / 1 / 2 / 3;\n }\n > :nth-child(6) {\n grid-area: 4 / 2 / 5 / 3;\n }\n}\n.grid-data-kbs {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-grid-row-gap);\n .search-kbs {\n width: 100%;\n display: flex;\n }\n .box-kbs {\n height: 150px;\n }\n}\n.grid-data-kbs-footer {\n display: flex;\n}\n.flex {\n display: flex;\n > :nth-child(2) {\n flex: 1;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n State,\n getAssetPath,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { SelectionChangedEvent } from \"@genexus/gemini/dist/types/components/list-box/list-box\";\n/* CUSTOM IMPORTS */\nimport { GxOption } from \"../../common/types\";\nimport { Locale } from \"../../common/locale\";\nimport { renderFormItems } from \"../../common/common\";\nimport {\n FormSubmitResult,\n GxServerAuthenticationType\n} from \"../../common/types\";\nimport { formSubmitValidation } from \"../../common/form-validation\";\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n [key: string]: any;\n\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.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 private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n\n /* References needed to collect data with \"Connect\" and \"Create\" buttons submit*/\n private authenticationTypeEl!: HTMLGxgComboBoxElement;\n private serverUrlsEl!: HTMLGxgComboBoxElement;\n private kbNameEl!: HTMLGxgFormTextElement;\n private passwordEl!: HTMLGxgFormTextElement;\n private userNameEl!: HTMLGxgFormTextElement;\n private searchKBEl!: HTMLGxgFormTextElement;\n private listBoxEl!: HTMLElement;\n private kbIdSelected: string = null;\n private authenticationTypes: GxOption[] = [];\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * Disabled or not the part for select and create the KB\n */\n @State() selectionKbDisabled = true;\n\n /**\n * KBs that return from connect to the server\n */\n\n @State() kbs: KBData[] = [];\n @Watch(\"kbs\")\n watchPropHandler(newKbs: KBData[]) {\n /* When the list of servers are updated, the first server is selected by default */\n this.kbIdSelected = newKbs[0].id;\n this.kbName = newKbs[0].name;\n }\n\n /**\n * KBs search text\n */\n @State() kbSearchText = \"\";\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 * Callback that will be invoked when the user connect to the kb server (‘Connect’ button)\n */\n @Prop() readonly connectCallback: (\n data: GXServerConnectionData\n ) => Promise<ConnectionResultData>;\n\n /**\n * Callback that will be invoked when the user confirms KB creation (‘Create’ button)\n */\n @Prop() readonly createKBCallback: (\n data: CreateKBData\n ) => Promise<FormSubmitResult>;\n\n /**\n * If is true then the user can specify a server url that don't be in the combo box of server urls.\n */\n @Prop() readonly enableCustomServer: boolean = true;\n\n /**\n * The knowledge base default suggested name\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ mutable: true }) kbName: string;\n\n /**\n * Password for the database connection.\n */\n @Prop() readonly password: string;\n\n /**\n * Array of URLs of cataloged servers to be displayed in the combo\n */\n @Prop() readonly serverUrls!: string[];\n\n /**\n * Username for the database connection.\n */\n @Prop() readonly userName: string;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.setAuthenticationTypes();\n }\n\n componentDidLoad() {\n (this.serverUrlsEl as HTMLElement).focus();\n this.addEventListeners();\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 setAuthenticationTypes = () => {\n this.authenticationTypes = [\n {\n id: \"genexus\",\n value: \"genexus\",\n label: this._componentLocale.authenticationTypes.genexusAccount\n },\n {\n id: \"local\",\n value: \"local\",\n label: this._componentLocale.authenticationTypes.local\n }\n ];\n };\n\n private addEventListeners = () => {\n this.serverUrlsEl.addEventListener(\"valueChanged\", () => {\n this.reset();\n });\n\n this.searchKBEl.addEventListener(\n \"valueChanged\",\n (e: CustomEvent<string>) => {\n this.kbNameEl.value = \"\";\n this.kbIdSelected = null;\n this.kbSearchText = e.detail;\n }\n );\n\n this.listBoxEl.addEventListener(\n \"selectionChanged\",\n (ev: CustomEvent<SelectionChangedEvent>): void => {\n const selectedItems = ev.detail.items;\n let selectedItem;\n if (selectedItems.length > 0) {\n selectedItem = ev.detail.items[0];\n }\n if (selectedItem) {\n this.kbIdSelected = selectedItem.value;\n const kbSelected = this.kbs.find(kb => kb.id === this.kbIdSelected);\n if (kbSelected) {\n this.kbNameEl.value = kbSelected.name;\n }\n }\n }\n );\n };\n\n private reset() {\n this.kbs = [];\n this.kbIdSelected = null;\n this.selectionKbDisabled = true;\n this.searchKBEl.value = \"\";\n this.kbSearchText = \"\";\n }\n\n private createKbHandler = (): void => {\n if (this.createKBCallback) {\n const createKBCallbackPromise = this.createKBCallback({\n id: this.kbIdSelected,\n name: this.kbNameEl.value\n });\n createKBCallbackPromise.then((formSubmitResult: FormSubmitResult) => {\n formSubmitValidation(formSubmitResult, this);\n });\n }\n };\n\n private connectCallbackHandler = (): void => {\n if (this.connectCallback) {\n const connectCallbackPromise = this.connectCallback({\n serverUrl: this.serverUrlsEl.value,\n authenticationType: this.authenticationTypeEl.value,\n user: this.userNameEl?.value,\n password: this.passwordEl?.value\n });\n connectCallbackPromise.then(\n (connectionResultData: ConnectionResultData) => {\n formSubmitValidation(connectionResultData.formResult, this);\n if (\n connectionResultData.formResult.success &&\n connectionResultData.kbs\n ) {\n this.kbs = connectionResultData.kbs;\n this.selectionKbDisabled = false;\n }\n }\n );\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n // 11.RENDER() FUNCTION //\n\n render(): void {\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 >\n <div class=\"flex\">\n {/* #kb name */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\">\n {this._componentLocale.label.serverUrl}\n </gxg-label>\n <gxg-combo-box\n disableFilter={!this.enableCustomServer}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.serverUrlsEl = el as HTMLGxgComboBoxElement)\n }\n class=\"server-urls-combo-box\"\n part=\"server-urls\"\n >\n {this.serverUrls\n ? renderFormItems(\n \"gxg-combo-box-item\",\n this.serverUrls.map(sUrl => ({\n id: sUrl,\n label: sUrl,\n value: sUrl\n })),\n \"server-urls\"\n )\n : null}\n </gxg-combo-box>\n </div>\n <div class=\"grid grid-data\">\n <div>\n <div class=\"grid grid-data-account\">\n {/* #authentication type */}\n <gxg-combo-box\n tool-tip\n disableFilter\n value={this.authenticationTypes[0].id}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.authenticationTypeEl = el as HTMLGxgComboBoxElement)\n }\n class=\"authentication-type\"\n part=\"authentication-type\"\n onValueChanged={this.evaluateAuthenticationType}\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.authenticationTypes,\n \"authentication-type\"\n )}\n </gxg-combo-box>\n\n {/* #user name */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\">\n {`${this._componentLocale.label.userName}:`}\n </gxg-label>\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.userNameEl = el as HTMLGxgFormTextElement)\n }\n tool-tip\n value={this.userName}\n class=\"user-name\"\n part=\"user-name\"\n ></gxg-form-text>\n\n {/* #password */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\">\n {`${this._componentLocale.label.password}:`}\n </gxg-label>\n <gxg-form-text\n tool-tip\n password\n ref={(el: HTMLGxgFormTextElement) =>\n (this.passwordEl = el as HTMLGxgFormTextElement)\n }\n value={this.password}\n class=\"password\"\n part=\"password\"\n ></gxg-form-text>\n\n {/* #connect */}\n <div>\n <gxg-button\n id=\"button-connect\"\n type=\"primary-text-only\"\n onClick={this.connectCallbackHandler}\n part=\"button-connect\"\n >\n {this._componentLocale.buttons.connect}\n </gxg-button>\n </div>\n </div>\n </div>\n\n <div class=\"grid\">\n <div class=\"grid-data-kbs\">\n <div class=\"search-kbs\">\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.searchKBEl = el as HTMLGxgFormTextElement)\n }\n class=\"search-kb-input\"\n part=\"search-kb\"\n disabled={this.selectionKbDisabled}\n placeholder={this._componentLocale.label.searchKbs}\n ></gxg-form-text>\n </div>\n <div class=\"box-kbs\">\n <gxg-list-box\n singleSelection\n disabled={this.selectionKbDisabled}\n ref={(el: HTMLElement) => (this.listBoxEl = el)}\n part=\"kbs\"\n >\n {this.kbs\n .filter(kb =>\n kb.name\n .toLowerCase()\n .includes(this.kbSearchText.toLowerCase())\n )\n .map(kb => (\n <gxg-list-box-item value={kb.id} key={kb.id}>\n {kb.name}\n </gxg-list-box-item>\n ))}\n </gxg-list-box>\n </div>\n </div>\n <div class=\"grid grid-data-kbs-footer\">\n {/* #kbName */}\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.kbNameEl = el as HTMLGxgFormTextElement)\n }\n label={this._componentLocale.localKb}\n value={this.kbName}\n class=\"kb-name\"\n part=\"kb-name\"\n disabled={this.selectionKbDisabled}\n ></gxg-form-text>\n\n {/* #create button */}\n <div>\n <gxg-button\n id=\"button-create\"\n type=\"primary-text-only\"\n onClick={this.createKbHandler}\n part=\"button-create\"\n disabled={this.selectionKbDisabled}\n >\n {this._componentLocale.buttons.create}\n </gxg-button>\n </div>\n </div>\n </div>\n </div>\n </gx-ide-container>\n </div>\n <gxg-shortcuts src={this.shortcutsSrc}></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport interface GXServerConnectionData {\n serverUrl: string;\n authenticationType: GxServerAuthenticationType;\n user: string;\n password: string;\n}\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\nexport interface KBData {\n id: string;\n name: string;\n}\nexport interface CreateKBData {\n id: string;\n name: string;\n}\n"],"mappings":"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"}