@genexus/genexus-ide-ui 1.0.23 → 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.
- package/dist/cjs/{form-validation-0019e158.js → form-validation-178cf461.js} +1 -19
- package/dist/cjs/form-validation-178cf461.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +10 -28
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +197 -61
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +190 -122
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +149 -43
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -3
- package/dist/collection/components/ai-assistant/ai-assistant.css +2 -2
- package/dist/collection/components/ai-assistant/ai-assistant.js +3 -2
- package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
- package/dist/collection/components/ai-assistant/ai-message.css +38 -13
- package/dist/collection/components/ai-assistant/ai-message.js +11 -27
- package/dist/collection/components/ai-assistant/ai-message.js.map +1 -1
- package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +1 -0
- package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.ja.json +2 -1
- package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.en.json +4 -0
- package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.ja.json +3 -0
- package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.zh.json +3 -0
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.css +33 -0
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +350 -0
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -0
- package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.en.json +13 -0
- package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +3 -0
- package/dist/collection/components/team-dev/connect-gx-server/helpers.js +17 -0
- package/dist/collection/components/team-dev/connect-gx-server/helpers.js.map +1 -0
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +39 -0
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +381 -0
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -0
- 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
- 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
- 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
- package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/shortcuts.json +10 -0
- package/dist/collection/components/team-dev/create-kb-from-server/helpers.js +12 -0
- package/dist/collection/components/team-dev/create-kb-from-server/helpers.js.map +1 -0
- package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +27 -0
- package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.ja.json +27 -0
- package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.zh.json +27 -0
- package/dist/collection/components/team-dev/share-kb/gx-ide-assets/share-kb/shortcuts.json +10 -0
- package/dist/collection/components/team-dev/share-kb/helpers.js +12 -0
- package/dist/collection/components/team-dev/share-kb/helpers.js.map +1 -0
- package/dist/collection/components/team-dev/share-kb/share-kb.css +39 -0
- package/dist/collection/components/team-dev/share-kb/share-kb.js +349 -0
- package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -0
- package/dist/collection/components/welcome-page/welcome-page.css +2 -16
- package/dist/collection/components/welcome-page/welcome-page.js +1 -1
- package/dist/collection/components/welcome-page/welcome-page.js.map +1 -1
- package/dist/components/ai-message.js +10 -28
- package/dist/components/ai-message.js.map +1 -1
- package/dist/components/form-validation.js +1 -18
- package/dist/components/form-validation.js.map +1 -1
- package/dist/components/gx-ide-ai-assistant.js +4 -3
- package/dist/components/gx-ide-ai-assistant.js.map +1 -1
- package/dist/components/gx-ide-connect-gx-server.js +211 -82
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +204 -148
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +160 -61
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-welcome-page.js +2 -2
- package/dist/components/gx-ide-welcome-page.js.map +1 -1
- package/dist/esm/{form-validation-44b2c2a8.js → form-validation-cd0215c6.js} +2 -19
- package/dist/esm/form-validation-cd0215c6.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-ai-assistant.entry.js +4 -3
- package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +10 -28
- package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +198 -62
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +191 -123
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +149 -43
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-welcome-page.entry.js +2 -2
- package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +1 -0
- package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.ja.json +2 -1
- package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.en.json +4 -0
- package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.en.json +8 -12
- package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +2 -16
- package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +20 -12
- package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +20 -12
- package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +25 -1
- package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/shortcuts.json +5 -2
- package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +22 -8
- package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.ja.json +23 -9
- package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.zh.json +25 -1
- package/dist/genexus-ide-ui/gx-ide-assets/share-kb/shortcuts.json +5 -2
- package/dist/genexus-ide-ui/{p-7a2d3f1c.entry.js → p-10beeb25.entry.js} +32 -30
- package/dist/genexus-ide-ui/p-10beeb25.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-289c3290.js +39 -0
- package/dist/genexus-ide-ui/p-289c3290.js.map +1 -0
- package/dist/genexus-ide-ui/p-2c6dd837.entry.js +305 -0
- package/dist/genexus-ide-ui/p-2c6dd837.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-407c31c6.entry.js +264 -0
- package/dist/genexus-ide-ui/p-407c31c6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3adbc04c.entry.js → p-4cbaa118.entry.js} +11 -11
- package/dist/genexus-ide-ui/p-673480ac.entry.js +88 -0
- package/dist/genexus-ide-ui/p-673480ac.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-26b2037d.entry.js → p-9e810ad5.entry.js} +5 -4
- package/dist/genexus-ide-ui/p-9e810ad5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-e31b4df0.entry.js +249 -0
- package/dist/genexus-ide-ui/p-e31b4df0.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3d5fea0a.entry.js → p-ed7eada1.entry.js} +2 -2
- package/dist/types/components/ai-assistant/ai-message.d.ts +1 -1
- package/dist/types/components/team-dev/connect-gx-server/connect-gx-server.d.ts +50 -0
- package/dist/types/components/team-dev/connect-gx-server/helpers.d.ts +4 -0
- package/dist/types/components/team-dev/create-kb-from-server/create-kb-from-server.d.ts +82 -0
- package/dist/types/components/team-dev/create-kb-from-server/helpers.d.ts +3 -0
- package/dist/types/components/team-dev/share-kb/helpers.d.ts +3 -0
- package/dist/types/components/team-dev/share-kb/share-kb.d.ts +73 -0
- package/dist/types/components/welcome-page/welcome-page.d.ts +4 -1
- package/dist/types/components.d.ts +119 -151
- package/package.json +3 -3
- package/dist/cjs/form-validation-0019e158.js.map +0 -1
- package/dist/collection/components/connect-gx-server/connect-gx-server.css +0 -609
- package/dist/collection/components/connect-gx-server/connect-gx-server.js +0 -258
- package/dist/collection/components/connect-gx-server/connect-gx-server.js.map +0 -1
- package/dist/collection/components/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.en.json +0 -17
- package/dist/collection/components/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +0 -17
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +0 -638
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +0 -349
- package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +0 -1
- 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
- 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
- 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
- package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/shortcuts.json +0 -7
- package/dist/collection/components/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +0 -13
- package/dist/collection/components/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.ja.json +0 -13
- package/dist/collection/components/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.zh.json +0 -3
- package/dist/collection/components/share-kb/gx-ide-assets/share-kb/shortcuts.json +0 -7
- package/dist/collection/components/share-kb/share-kb.css +0 -636
- package/dist/collection/components/share-kb/share-kb.js +0 -189
- package/dist/collection/components/share-kb/share-kb.js.map +0 -1
- package/dist/esm/form-validation-44b2c2a8.js.map +0 -1
- package/dist/genexus-ide-ui/p-02bc66c1.entry.js +0 -129
- package/dist/genexus-ide-ui/p-02bc66c1.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-26b2037d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-58e13823.entry.js +0 -158
- package/dist/genexus-ide-ui/p-58e13823.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5dfb7c66.entry.js +0 -106
- package/dist/genexus-ide-ui/p-5dfb7c66.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-7a2d3f1c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-b8624c0b.js +0 -56
- package/dist/genexus-ide-ui/p-b8624c0b.js.map +0 -1
- package/dist/genexus-ide-ui/p-cf2c8b3c.entry.js +0 -241
- package/dist/genexus-ide-ui/p-cf2c8b3c.entry.js.map +0 -1
- package/dist/types/components/connect-gx-server/connect-gx-server.d.ts +0 -62
- package/dist/types/components/create-kb-from-server/create-kb-from-server.d.ts +0 -97
- package/dist/types/components/share-kb/share-kb.d.ts +0 -53
- /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
- /package/dist/genexus-ide-ui/{p-3adbc04c.entry.js.map → p-4cbaa118.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3d5fea0a.entry.js.map → p-ed7eada1.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapKbsModelToActionListModel","kbsData","listBoxItems","forEach","kb","push","id","type","caption","name","createKbFromServerCss","CSS_BUNDLES","GxIdeCreateKbFromServer","_GxIdeCreateKbFromServer_chSearchIcon","set","this","getIconPath","category","colorType","_GxIdeCreateKbFromServer_showMoreIcon","_GxIdeCreateKbFromServer_versionsSelect","value","_GxIdeCreateKbFromServer__componentLocale","_GxIdeCreateKbFromServer_kbsActionListModel","_GxIdeCreateKbFromServer_kbVersionsIds","_GxIdeCreateKbFromServer_shortcutsSrc","getAssetPath","_GxIdeCreateKbFromServer_selectedKbId","_GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser","_GxIdeCreateKbFromServer_searchKbsEl","_GxIdeCreateKbFromServer_versionSelectedTypeEl","_GxIdeCreateKbFromServer_localKBNameEl","_GxIdeCreateKbFromServer_cancelHandler","cancelCallback","_GxIdeCreateKbFromServer_changeConnectionHandler","async","changeConnectionCallback","authenticationType","connectionData","serverUrl","userName","userPassword","_GxIdeCreateKbFromServer_createHandler","versionSelectedType","__classPrivateFieldSet","createKBCallback","selectedKB","__classPrivateFieldGet","versionSelected","localKBName","localKbNameInputValue","versionList","then","formSubmitResult","validatableControls","validateControls","_GxIdeCreateKbFromServer_evaluateTooltipRender","controlReference","_b","_a","get","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeCreateKbFromServer_filterValueChangedHandler","event","filterValue","detail","toLowerCase","kbsFilteredActionListModel","filter","item","includes","_GxIdeCreateKbFromServer_init","getGXserverKBsCallback","result","_GxIdeCreateKbFromServer_initializeValidatableControls","validatableControl","reference","undefined","_GxIdeCreateKbFromServer_inputLocalKbNameHandler","_GxIdeCreateKbFromServer_selectedVersionHandler","selectKBVersionsCallback","length","versionsValueInput","toString","concat","versionSelectedFieldValue","map","kbVersion","_GxIdeCreateKbFromServer_selectKbChangeHandler","enableSelectVersionsButton","_GxIdeCreateKbFromServer_versionsChangedHandler","_GxIdeCreateKbFromServer_renderFooter","onClick","part","footer","cancel","disabled","createKb","Map","componentDidLoad","focus","call","componentWillLoad","Locale","getComponentStrings","el","render","Host","model","src","ref","chShortcutsEl","header","user","change","startImgSrc","onInput","placeholder","searchKbsPlaceholder","selection","onSelectedItemsChange","onChange","htmlFor","versionsLabel","readonly","versionsPlaceholder","versionsPlaceholderDisabled","localKbNameLabel","localKbNamePlaceholder"],"sources":["src/components/team-dev/create-kb-from-server/helpers.ts","src/components/team-dev/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["import { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\nimport { KBData } from \"./create-kb-from-server\";\n\nexport const mapKbsModelToActionListModel = (\n kbsData: KBData[]\n): ActionListItemModel[] => {\n const listBoxItems: ActionListItemModel[] = [];\n kbsData.forEach(kb => {\n listBoxItems.push({\n id: kb.id,\n type: \"actionable\",\n caption: kb.name\n });\n });\n return listBoxItems;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { mapKbsModelToActionListModel } from \"./helpers\";\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ChActionListRenderCustomEvent,\n ChEditCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\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 #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" }\n // { value: \"Select\", caption: \"Select Version\" } TODO: display once \"gx-ide-select-kb-versions\" is ready.\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbsActionListModel: ActionListItemModel[] = [];\n #kbVersionsIds: string[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n #kbNameAlreadyEditedByUser: boolean = false;\n\n #searchKbsEl!: HTMLChEditElement;\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n #localKBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n /**\n * The current kbn name value.\n */\n @State() localKbNameInputValue: string = \"\";\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * KBs filtered\n */\n @State() kbsFilteredActionListModel: ActionListItemModel[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback!: (\n kbInfo: KnowledgeBaseInfo\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback!: (\n data: GXServerConnectionData\n ) => Promise<KBData[]>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n componentDidLoad() {\n (this.#searchKbsEl as HTMLElement).focus();\n\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n\n this.#initializeValidatableControls();\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n await this.#init();\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #createHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersionsIds = [];\n }\n this.createKBCallback({\n selectedKB: this.#selectedKbId,\n versionSelected: this.versionSelectedType,\n localKBName: this.localKbNameInputValue,\n versionList: this.#kbVersionsIds\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.kbsFilteredActionListModel = this.#kbsActionListModel.filter(\n (item: ActionListItemActionable) =>\n item.caption.toLowerCase().includes(this.filterValue)\n );\n };\n\n #init = async () => {\n await this.getGXserverKBsCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n }).then(result => {\n this.#kbsActionListModel = mapKbsModelToActionListModel(result);\n this.kbsFilteredActionListModel = this.#kbsActionListModel;\n this.filterValue = \"\";\n });\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#localKBNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #inputLocalKbNameHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.localKbNameInputValue = event.detail as string;\n this.#kbNameAlreadyEditedByUser = true;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.versionsValueInput = result.length\n .toString()\n .concat(this.#_componentLocale.kb.versionSelectedFieldValue);\n this.#kbVersionsIds = result.map(kbVersion =>\n kbVersion.id.toString()\n );\n }\n });\n }\n };\n\n #selectKbChangeHandler = (\n event: ChActionListRenderCustomEvent<ActionListItemModelExtended[]>\n ): void => {\n const item = event.detail[0]?.item as ActionListItemActionable;\n if (item === undefined) {\n this.enableSelectVersionsButton = false;\n this.#selectedKbId = undefined;\n return;\n }\n this.enableSelectVersionsButton = true;\n this.#selectedKbId = item.id;\n if (this.#kbNameAlreadyEditedByUser) {\n return;\n }\n this.localKbNameInputValue = item.caption;\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // create kb button\n class=\"button-primary\"\n onClick={this.enableSelectVersionsButton && this.#createHandler}\n disabled={!this.enableSelectVersionsButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.createKb}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n\n <section class=\"main field-group spacing-body\">\n <ch-edit\n class=\"input search-kbs\"\n id=\"local-kb-name\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={this.#_componentLocale.kb.searchKbsPlaceholder}\n ref={el => (this.#searchKbsEl = el as HTMLChEditElement)}\n ></ch-edit>\n\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n onSelectedItemsChange={this.#selectKbChangeHandler}\n model={this.kbsFilteredActionListModel}\n ></ch-action-list-render>\n\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={el =>\n (this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement)\n }\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-sm\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"localKbName\">\n {this.#_componentLocale.kb.localKbNameLabel}\n </label>\n <ch-edit\n // local kb name\n class=\"input\"\n id=\"local-kb-name\"\n value={this.localKbNameInputValue}\n onInput={this.#inputLocalKbNameHandler}\n placeholder={this.#_componentLocale.kb.localKbNamePlaceholder}\n ref={(el: HTMLChEditElement) =>\n (this.#localKBNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#localKBNameEl)}\n </div>\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type KBVersion = {\n id: number;\n name: string;\n type: VersionType;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type KnowledgeBaseInfo = {\n selectedKB: string;\n versionSelected: VersionOption;\n localKBName: string;\n versionList: string[];\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n\nexport type VersionType = \"Branch\" | \"Frozen\";\n"],"mappings":"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"}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { r as e, h as t, H as s, g as i } from "./p-aaed592c.js";
|
|
2
|
+
|
|
3
|
+
import { c as a } from "./p-78b90603.js";
|
|
4
|
+
|
|
5
|
+
import { L as n } from "./p-74d59062.js";
|
|
6
|
+
|
|
7
|
+
import { v as o } from "./p-289c3290.js";
|
|
8
|
+
|
|
9
|
+
const mapAuthenticationTypeToComboBoxModel = e => e.map((e => ({
|
|
10
|
+
value: e.id,
|
|
11
|
+
caption: e.name
|
|
12
|
+
})));
|
|
13
|
+
|
|
14
|
+
const mapServerUrlsToComboBoxModel = e => e.map((e => ({
|
|
15
|
+
value: e,
|
|
16
|
+
caption: e
|
|
17
|
+
})));
|
|
18
|
+
|
|
19
|
+
const r = ':host{display:grid;block-size:100%;overflow:auto;grid-template-rows:1fr max-content}.main{display:grid;grid-template-areas:"server-url server-url" "authentication-type ." "user-name user-password";grid-auto-rows:max-content;grid-template-columns:1fr 1fr}.section{display:contents}.authentication-type{grid-area:authentication-type}.server-url{grid-area:server-url}.user-name{grid-area:user-name}.user-password{grid-area:user-password}';
|
|
20
|
+
|
|
21
|
+
var l = undefined && undefined.__classPrivateFieldGet || function(e, t, s, i) {
|
|
22
|
+
if (s === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
|
|
23
|
+
if (typeof t === "function" ? e !== t || !i : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
24
|
+
return s === "m" ? i : s === "a" ? i.call(e) : i ? i.value : t.get(e);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var d = undefined && undefined.__classPrivateFieldSet || function(e, t, s, i, a) {
|
|
28
|
+
if (i === "m") throw new TypeError("Private method is not writable");
|
|
29
|
+
if (i === "a" && !a) throw new TypeError("Private accessor was defined without a setter");
|
|
30
|
+
if (typeof t === "function" ? e !== t || !a : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
31
|
+
return i === "a" ? a.call(e, s) : a ? a.value = s : t.set(e, s), s;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
var h, c, u, f, p, v, m, w, b, g, y, k, M;
|
|
35
|
+
|
|
36
|
+
const x = [ "resets/box-sizing", "components/tab", "components/tooltip", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "chameleon/scrollbar" ];
|
|
37
|
+
|
|
38
|
+
const W = class {
|
|
39
|
+
constructor(s) {
|
|
40
|
+
e(this, s);
|
|
41
|
+
/**
|
|
42
|
+
* The component hard-coded strings translations.
|
|
43
|
+
*/
|
|
44
|
+
// eslint-disable-next-line @stencil-community/own-props-must-be-private
|
|
45
|
+
h.set(this, void 0);
|
|
46
|
+
c.set(this, void 0);
|
|
47
|
+
u.set(this, void 0);
|
|
48
|
+
f.set(this, void 0);
|
|
49
|
+
p.set(this, (() => {
|
|
50
|
+
this.cancelCallback();
|
|
51
|
+
}));
|
|
52
|
+
v.set(this, (async () => {
|
|
53
|
+
this.connectCallback(this.gxServerConnectionData).then((e => {
|
|
54
|
+
this.validatableControls = o(e, this.validatableControls);
|
|
55
|
+
}));
|
|
56
|
+
}));
|
|
57
|
+
// TODO: evaluate if this should be a global helper function.
|
|
58
|
+
// It is used on other dialogs as well.
|
|
59
|
+
m.set(this, (e => {
|
|
60
|
+
var s, i, n;
|
|
61
|
+
return ((i = (s = this.validatableControls) === null || s === void 0 ? void 0 : s.get(e === null || e === void 0 ? void 0 : e.id)) === null || i === void 0 ? void 0 : i.hasError) && ((n = this.validatableControls.get(e.id)) === null || n === void 0 ? void 0 : n.message) && t("ch-tooltip", {
|
|
62
|
+
class: "tooltip",
|
|
63
|
+
actionElement: e,
|
|
64
|
+
blockAlign: a.tooltipSettings.blockAlign,
|
|
65
|
+
inlineAlign: a.tooltipSettings.inlineAlign,
|
|
66
|
+
delay: a.tooltipSettings.delay
|
|
67
|
+
}, this.validatableControls.get(e.id).message);
|
|
68
|
+
}));
|
|
69
|
+
w.set(this, (() => {
|
|
70
|
+
var e, t, s, i, a, n, o, r;
|
|
71
|
+
this.authenticationTypesChanged(this.authenticationTypes);
|
|
72
|
+
this.serverUrlsChanged(this.serverUrls);
|
|
73
|
+
// set initial values:
|
|
74
|
+
// server url
|
|
75
|
+
this.gxServerConnectionData.serverUrl = ((e = this.defaultConnectionData) === null || e === void 0 ? void 0 : e.serverUrl) || ((t = this.serverUrlsComboBoxModel[0]) === null || t === void 0 ? void 0 : t.value);
|
|
76
|
+
// authentication type
|
|
77
|
+
this.gxServerConnectionData.authenticationType = {
|
|
78
|
+
id: ((s = this.defaultConnectionData) === null || s === void 0 ? void 0 : s.authenticationType.id) || ((i = this.authenticationTypesComboBoxModel[0]) === null || i === void 0 ? void 0 : i.value),
|
|
79
|
+
name: ((a = this.defaultConnectionData) === null || a === void 0 ? void 0 : a.authenticationType.name) || ((n = this.authenticationTypesComboBoxModel[0]) === null || n === void 0 ? void 0 : n.caption)
|
|
80
|
+
};
|
|
81
|
+
// user name
|
|
82
|
+
this.gxServerConnectionData.userName = (o = this.defaultConnectionData) === null || o === void 0 ? void 0 : o.userName;
|
|
83
|
+
this.gxServerConnectionData.userPassword = (r = this.defaultConnectionData) === null || r === void 0 ? void 0 : r.userPassword;
|
|
84
|
+
}));
|
|
85
|
+
b.set(this, (() => {
|
|
86
|
+
// populate #controlsValidation with the controls that could have errors.
|
|
87
|
+
const e = [ l(this, c, "f"), l(this, u, "f"), l(this, f, "f") ];
|
|
88
|
+
e.forEach((e => {
|
|
89
|
+
if (e.id) {
|
|
90
|
+
this.validatableControls.set(e.id, {
|
|
91
|
+
reference: e,
|
|
92
|
+
hasError: false,
|
|
93
|
+
message: undefined
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}));
|
|
97
|
+
}));
|
|
98
|
+
// handlers that update this.gxServerConnectionData:
|
|
99
|
+
g.set(this, (e => {
|
|
100
|
+
this.gxServerConnectionData.serverUrl = e.detail;
|
|
101
|
+
}));
|
|
102
|
+
y.set(this, (e => {
|
|
103
|
+
const t = e.detail;
|
|
104
|
+
const s = this.authenticationTypes.findIndex((e => e.id === t));
|
|
105
|
+
const i = this.authenticationTypes[s].name;
|
|
106
|
+
this.gxServerConnectionData.authenticationType = {
|
|
107
|
+
id: t,
|
|
108
|
+
name: i
|
|
109
|
+
};
|
|
110
|
+
}));
|
|
111
|
+
k.set(this, (e => {
|
|
112
|
+
this.gxServerConnectionData.userName = e.detail;
|
|
113
|
+
}));
|
|
114
|
+
M.set(this, (e => {
|
|
115
|
+
this.gxServerConnectionData.userPassword = e.detail;
|
|
116
|
+
}));
|
|
117
|
+
this.authenticationTypesComboBoxModel = undefined;
|
|
118
|
+
this.gxServerConnectionData = {
|
|
119
|
+
authenticationType: {
|
|
120
|
+
id: null,
|
|
121
|
+
name: null
|
|
122
|
+
},
|
|
123
|
+
serverUrl: null,
|
|
124
|
+
userName: null,
|
|
125
|
+
userPassword: null
|
|
126
|
+
};
|
|
127
|
+
this.serverUrlsComboBoxModel = undefined;
|
|
128
|
+
this.validatableControls = new Map;
|
|
129
|
+
this.authenticationTypes = undefined;
|
|
130
|
+
this.cancelCallback = undefined;
|
|
131
|
+
this.connectCallback = undefined;
|
|
132
|
+
this.defaultConnectionData = undefined;
|
|
133
|
+
this.enableCustomServer = false;
|
|
134
|
+
this.serverUrls = undefined;
|
|
135
|
+
}
|
|
136
|
+
authenticationTypesChanged(e) {
|
|
137
|
+
if (e === null || e === void 0 ? void 0 : e.length) {
|
|
138
|
+
this.authenticationTypesComboBoxModel = mapAuthenticationTypeToComboBoxModel(e);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
serverUrlsChanged(e) {
|
|
142
|
+
if (e === null || e === void 0 ? void 0 : e.length) {
|
|
143
|
+
this.serverUrlsComboBoxModel = mapServerUrlsToComboBoxModel(e);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
async componentWillLoad() {
|
|
147
|
+
d(this, h, await n.getComponentStrings(this.el), "f");
|
|
148
|
+
l(this, w, "f").call(this);
|
|
149
|
+
}
|
|
150
|
+
async componentDidLoad() {
|
|
151
|
+
l(this, b, "f").call(this);
|
|
152
|
+
}
|
|
153
|
+
render() {
|
|
154
|
+
var e, i, a, n;
|
|
155
|
+
return t(s, {
|
|
156
|
+
class: "widget"
|
|
157
|
+
}, t("ch-theme", {
|
|
158
|
+
model: x
|
|
159
|
+
}), t("section", {
|
|
160
|
+
class: "section"
|
|
161
|
+
}, t("div", {
|
|
162
|
+
class: "main field-group spacing-body"
|
|
163
|
+
}, t("div", {
|
|
164
|
+
// server urls
|
|
165
|
+
class: "field field-block server-url"
|
|
166
|
+
}, t("label", {
|
|
167
|
+
class: "label",
|
|
168
|
+
htmlFor: "server-url"
|
|
169
|
+
}, l(this, h, "f").main.serverURLLabel), t("ch-combo-box-render", {
|
|
170
|
+
id: "server-url",
|
|
171
|
+
class: "combo-box",
|
|
172
|
+
accessibleName: "Server Url",
|
|
173
|
+
model: this.serverUrlsComboBoxModel,
|
|
174
|
+
placeholder: "Select a server URL",
|
|
175
|
+
value: (e = this.gxServerConnectionData) === null || e === void 0 ? void 0 : e.serverUrl,
|
|
176
|
+
onInput: l(this, g, "f"),
|
|
177
|
+
suggest: this.enableCustomServer,
|
|
178
|
+
suggestOptions: {
|
|
179
|
+
alreadyProcessed: true,
|
|
180
|
+
autoExpand: false,
|
|
181
|
+
hideMatchesAndShowNonMatches: false,
|
|
182
|
+
highlightMatchedItems: false,
|
|
183
|
+
matchCase: false,
|
|
184
|
+
regularExpression: false,
|
|
185
|
+
renderActiveItemIconOnExpand: true,
|
|
186
|
+
strict: false
|
|
187
|
+
},
|
|
188
|
+
ref: e => d(this, f, e, "f")
|
|
189
|
+
}), l(this, m, "f").call(this, l(this, f, "f"))), t("div", {
|
|
190
|
+
// authentication types
|
|
191
|
+
class: "field field-block authentication-type"
|
|
192
|
+
}, t("label", {
|
|
193
|
+
class: "label",
|
|
194
|
+
htmlFor: "authentication-type"
|
|
195
|
+
}, l(this, h, "f").main.authenticationTypeLabel), t("ch-combo-box-render", {
|
|
196
|
+
id: "authentication-type",
|
|
197
|
+
class: "combo-box",
|
|
198
|
+
accessibleName: "Authentication Types",
|
|
199
|
+
model: this.authenticationTypesComboBoxModel,
|
|
200
|
+
placeholder: "Select an authentication type",
|
|
201
|
+
value: (i = this.gxServerConnectionData) === null || i === void 0 ? void 0 : i.authenticationType.id,
|
|
202
|
+
onInput: l(this, y, "f")
|
|
203
|
+
})), t("div", {
|
|
204
|
+
// username
|
|
205
|
+
class: "field field-block user-name"
|
|
206
|
+
}, t("label", {
|
|
207
|
+
class: "label",
|
|
208
|
+
htmlFor: "username"
|
|
209
|
+
}, l(this, h, "f").main.usernameLabel), t("ch-edit", {
|
|
210
|
+
type: "text",
|
|
211
|
+
id: "username",
|
|
212
|
+
class: "input",
|
|
213
|
+
value: (a = this.gxServerConnectionData) === null || a === void 0 ? void 0 : a.userName,
|
|
214
|
+
onInput: l(this, k, "f"),
|
|
215
|
+
ref: e => d(this, c, e, "f")
|
|
216
|
+
}), l(this, m, "f").call(this, l(this, c, "f"))), t("div", {
|
|
217
|
+
// user password
|
|
218
|
+
class: "field field-block user-password"
|
|
219
|
+
}, t("label", {
|
|
220
|
+
class: "label",
|
|
221
|
+
htmlFor: "password"
|
|
222
|
+
}, l(this, h, "f").main.passwordLabel), t("ch-edit", {
|
|
223
|
+
type: "password",
|
|
224
|
+
id: "password",
|
|
225
|
+
class: "input",
|
|
226
|
+
value: (n = this.gxServerConnectionData) === null || n === void 0 ? void 0 : n.userPassword,
|
|
227
|
+
onInput: l(this, M, "f"),
|
|
228
|
+
ref: e => d(this, u, e, "f")
|
|
229
|
+
}), l(this, m, "f").call(this, l(this, u, "f")))), t("footer", {
|
|
230
|
+
class: "control-footer-with-border spacing-body"
|
|
231
|
+
}, t("div", {
|
|
232
|
+
class: "buttons-spacer"
|
|
233
|
+
}, t("button", {
|
|
234
|
+
// cancel button
|
|
235
|
+
class: "button-secondary",
|
|
236
|
+
onClick: l(this, p, "f")
|
|
237
|
+
}, l(this, h, "f").footer.cancelButtonCaption), t("button", {
|
|
238
|
+
// connect button
|
|
239
|
+
class: "button-primary",
|
|
240
|
+
onClick: l(this, v, "f")
|
|
241
|
+
}, l(this, h, "f").footer.connectButtonCaption)))));
|
|
242
|
+
}
|
|
243
|
+
static get assetsDirs() {
|
|
244
|
+
return [ "gx-ide-assets/connect-gx-server" ];
|
|
245
|
+
}
|
|
246
|
+
get el() {
|
|
247
|
+
return i(this);
|
|
248
|
+
}
|
|
249
|
+
static get watchers() {
|
|
250
|
+
return {
|
|
251
|
+
authenticationTypes: [ "authenticationTypesChanged" ],
|
|
252
|
+
serverUrls: [ "serverUrlsChanged" ]
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
h = new WeakMap, c = new WeakMap, u = new WeakMap, f = new WeakMap, p = new WeakMap,
|
|
258
|
+
v = new WeakMap, m = new WeakMap, w = new WeakMap, b = new WeakMap, g = new WeakMap,
|
|
259
|
+
y = new WeakMap, k = new WeakMap, M = new WeakMap;
|
|
260
|
+
|
|
261
|
+
W.style = r;
|
|
262
|
+
|
|
263
|
+
export { W as gx_ide_connect_gx_server };
|
|
264
|
+
//# sourceMappingURL=p-407c31c6.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapAuthenticationTypeToComboBoxModel","authenticationTypes","map","authenticationType","value","id","caption","name","mapServerUrlsToComboBoxModel","serverUrls","serverUrl","connectGxServerCss","CSS_BUNDLES","HTMLGxIdeConnectGxServer","_HTMLGxIdeConnectGxServer_componentLocale","set","this","_HTMLGxIdeConnectGxServer_usernameRef","_HTMLGxIdeConnectGxServer_passwordRef","_HTMLGxIdeConnectGxServer_serverUrlRef","_HTMLGxIdeConnectGxServer_cancelClickHandler","cancelCallback","_HTMLGxIdeConnectGxServer_connectClickHandler","async","connectCallback","gxServerConnectionData","then","formSubmitResult","validatableControls","validateControls","_HTMLGxIdeConnectGxServer_evaluateTooltipRender","controlReference","_b","_a","get","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_HTMLGxIdeConnectGxServer_init","authenticationTypesChanged","serverUrlsChanged","defaultConnectionData","serverUrlsComboBoxModel","_d","authenticationTypesComboBoxModel","_e","_f","userName","_g","userPassword","_h","_HTMLGxIdeConnectGxServer_initializeValidatableControls","__classPrivateFieldGet","forEach","validatableControl","reference","undefined","_HTMLGxIdeConnectGxServer_serverUrlInputEventHandler","event","detail","_HTMLGxIdeConnectGxServer_authenticationInputEventHandler","authenticationTypeId","authenticationTypeIndex","findIndex","authType","authenticationTypeName","_HTMLGxIdeConnectGxServer_usernameInputEventHandler","_HTMLGxIdeConnectGxServer_passwordInputEventHandler","Map","newAuthenticationTypes","length","newServerUrls","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","call","componentDidLoad","render","Host","model","htmlFor","main","serverURLLabel","accessibleName","placeholder","onInput","suggest","enableCustomServer","suggestOptions","alreadyProcessed","autoExpand","hideMatchesAndShowNonMatches","highlightMatchedItems","matchCase","regularExpression","renderActiveItemIconOnExpand","strict","ref","authenticationTypeLabel","usernameLabel","type","passwordLabel","onClick","footer","cancelButtonCaption","connectButtonCaption"],"sources":["src/components/team-dev/connect-gx-server/helpers.ts","src/components/team-dev/connect-gx-server/connect-gx-server.scss?tag=gx-ide-connect-gx-server&encapsulation=shadow","src/components/team-dev/connect-gx-server/connect-gx-server.tsx"],"sourcesContent":["import { AuthenticationType } from \"./connect-gx-server\";\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\n\nexport const mapAuthenticationTypeToComboBoxModel = (\n authenticationTypes: AuthenticationType[]\n): ComboBoxModel => {\n return authenticationTypes.map(authenticationType => {\n return {\n value: authenticationType.id,\n caption: authenticationType.name\n };\n });\n};\n\nexport const mapServerUrlsToComboBoxModel = (\n serverUrls: string[]\n): ComboBoxModel => {\n return serverUrls.map(serverUrl => {\n return {\n value: serverUrl,\n caption: serverUrl\n };\n });\n};\n",":host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: 1fr max-content;\n}\n\n.main {\n display: grid;\n grid-template-areas:\n \"server-url server-url\"\n \"authentication-type .\"\n \"user-name user-password\";\n grid-auto-rows: max-content;\n grid-template-columns: 1fr 1fr;\n}\n\n.section {\n display: contents;\n}\n\n.authentication-type {\n grid-area: authentication-type;\n}\n.server-url {\n grid-area: server-url;\n}\n.user-name {\n grid-area: user-name;\n}\n.user-password {\n grid-area: user-password;\n}\n","// Stencil\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\n// Other Libraries\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport {\n mapAuthenticationTypeToComboBoxModel,\n mapServerUrlsToComboBoxModel\n} from \"./helpers\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-connect-gx-server\",\n styleUrl: \"connect-gx-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/connect-gx-server\"]\n})\nexport class HTMLGxIdeConnectGxServer {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeConnectGxServerElement;\n #usernameRef!: HTMLChEditElement;\n #passwordRef!: HTMLChEditElement;\n #serverUrlRef!: HTMLChComboBoxRenderElement;\n\n @State() authenticationTypesComboBoxModel: ComboBoxModel;\n @State() gxServerConnectionData: GXServerConnectionData = {\n authenticationType: {\n id: null,\n name: null\n },\n serverUrl: null,\n userName: null,\n userPassword: null\n };\n @State() serverUrlsComboBoxModel: ComboBoxModel;\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * List of authentication types.\n */\n @Prop() readonly authenticationTypes!: AuthenticationType[];\n @Watch(\"authenticationTypes\")\n authenticationTypesChanged(newAuthenticationTypes: AuthenticationType[]) {\n if (newAuthenticationTypes?.length) {\n this.authenticationTypesComboBoxModel =\n mapAuthenticationTypeToComboBoxModel(newAuthenticationTypes);\n }\n }\n\n /**\n * Callback that must be invoked when the 'Cancel' button is pressed.\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Connect' button is pressed.\n */\n @Prop() readonly connectCallback!: (\n data: GXServerConnectionData\n ) => Promise<FormSubmitResult>;\n\n /**\n * Initial user values for the case in which the user returns to the login modal after successful authentication.\n */\n @Prop() readonly defaultConnectionData?: GXServerConnectionData;\n\n /**\n * true if the user should be allowed to manually enter a server URL.\n */\n @Prop() readonly enableCustomServer: boolean = false;\n\n /**\n * Array of cataloged server URLs to be displayed in the combo.\n */\n @Prop() readonly serverUrls: string[];\n @Watch(\"serverUrls\")\n serverUrlsChanged(newServerUrls: string[]) {\n if (newServerUrls?.length) {\n this.serverUrlsComboBoxModel =\n mapServerUrlsToComboBoxModel(newServerUrls);\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n this.#init();\n }\n\n async componentDidLoad() {\n this.#initializeValidatableControls();\n }\n\n #cancelClickHandler = () => {\n this.cancelCallback();\n };\n\n #connectClickHandler = async () => {\n this.connectCallback(this.gxServerConnectionData).then(\n (formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n }\n );\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #init = () => {\n this.authenticationTypesChanged(this.authenticationTypes);\n this.serverUrlsChanged(this.serverUrls);\n // set initial values:\n // server url\n this.gxServerConnectionData.serverUrl =\n this.defaultConnectionData?.serverUrl ||\n this.serverUrlsComboBoxModel[0]?.value;\n // authentication type\n this.gxServerConnectionData.authenticationType = {\n id:\n (this.defaultConnectionData?.authenticationType.id as string) ||\n this.authenticationTypesComboBoxModel[0]?.value,\n name:\n (this.defaultConnectionData?.authenticationType.name as string) ||\n this.authenticationTypesComboBoxModel[0]?.caption\n };\n\n // user name\n this.gxServerConnectionData.userName = this.defaultConnectionData?.userName;\n this.gxServerConnectionData.userPassword =\n this.defaultConnectionData?.userPassword;\n };\n\n #initializeValidatableControls = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#usernameRef,\n this.#passwordRef,\n this.#serverUrlRef\n ];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n // handlers that update this.gxServerConnectionData:\n #serverUrlInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.serverUrl = event.detail as string;\n };\n #authenticationInputEventHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n const authenticationTypeId = event.detail as string;\n const authenticationTypeIndex = this.authenticationTypes.findIndex(\n authType => {\n return authType.id === authenticationTypeId;\n }\n );\n const authenticationTypeName =\n this.authenticationTypes[authenticationTypeIndex].name;\n\n this.gxServerConnectionData.authenticationType = {\n id: authenticationTypeId,\n name: authenticationTypeName\n };\n };\n #usernameInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.userName = event.detail as string;\n };\n #passwordInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.userPassword = event.detail as string;\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <div class=\"main field-group spacing-body\">\n <div\n // server urls\n class=\"field field-block server-url\"\n >\n <label class=\"label\" htmlFor=\"server-url\">\n {this.#componentLocale.main.serverURLLabel}\n </label>\n <ch-combo-box-render\n id=\"server-url\"\n class=\"combo-box\"\n accessibleName=\"Server Url\"\n model={this.serverUrlsComboBoxModel}\n placeholder=\"Select a server URL\"\n value={this.gxServerConnectionData?.serverUrl}\n onInput={this.#serverUrlInputEventHandler}\n suggest={this.enableCustomServer}\n suggestOptions={{\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n renderActiveItemIconOnExpand: true,\n strict: false\n }}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#serverUrlRef = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#serverUrlRef)}\n </div>\n\n <div\n // authentication types\n class=\"field field-block authentication-type\"\n >\n <label class=\"label\" htmlFor=\"authentication-type\">\n {this.#componentLocale.main.authenticationTypeLabel}\n </label>\n <ch-combo-box-render\n id=\"authentication-type\"\n class=\"combo-box\"\n accessibleName=\"Authentication Types\"\n model={this.authenticationTypesComboBoxModel}\n placeholder=\"Select an authentication type\"\n value={this.gxServerConnectionData?.authenticationType.id}\n onInput={this.#authenticationInputEventHandler}\n ></ch-combo-box-render>\n </div>\n\n <div\n // username\n class=\"field field-block user-name\"\n >\n <label class=\"label\" htmlFor=\"username\">\n {this.#componentLocale.main.usernameLabel}\n </label>\n <ch-edit\n type=\"text\"\n id=\"username\"\n class=\"input\"\n value={this.gxServerConnectionData?.userName}\n onInput={this.#usernameInputEventHandler}\n ref={(el: HTMLChEditElement) =>\n (this.#usernameRef = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#usernameRef)}\n </div>\n\n <div\n // user password\n class=\"field field-block user-password\"\n >\n <label class=\"label\" htmlFor=\"password\">\n {this.#componentLocale.main.passwordLabel}\n </label>\n <ch-edit\n type=\"password\"\n id=\"password\"\n class=\"input\"\n value={this.gxServerConnectionData?.userPassword}\n onInput={this.#passwordInputEventHandler}\n ref={(el: HTMLChEditElement) =>\n (this.#passwordRef = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#passwordRef)}\n </div>\n </div>\n\n <footer class=\"control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelClickHandler}\n >\n {this.#componentLocale.footer.cancelButtonCaption}\n </button>\n\n <button\n // connect button\n class=\"button-primary\"\n onClick={this.#connectClickHandler}\n >\n {this.#componentLocale.footer.connectButtonCaption}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type GXServerConnectionData = {\n authenticationType: AuthenticationType;\n serverUrl: string;\n userName: string;\n userPassword: string;\n};\n\nexport type AuthenticationType = {\n id: string;\n name: string;\n};\n"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { r, m as h } from "./p-014916d7.js";
|
|
|
8
8
|
|
|
9
9
|
import { g as d } from "./p-3ef5a5a6.js";
|
|
10
10
|
|
|
11
|
-
import { v as c } from "./p-
|
|
11
|
+
import { v as c } from "./p-289c3290.js";
|
|
12
12
|
|
|
13
13
|
import { r as l } from "./p-1252519a.js";
|
|
14
14
|
|
|
@@ -27,7 +27,7 @@ var p = undefined && undefined.__classPrivateFieldSet || function(t, e, i, s, n)
|
|
|
27
27
|
return s === "a" ? n.call(t, i) : n ? n.value = i : e.set(t, i), i;
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var m, b, v, g, w, k, _, y, M, W, x, C, j, E, S, I, T, z, F, A, D, L, P, H, R, V, q, B, G, J;
|
|
31
31
|
|
|
32
32
|
const K = [
|
|
33
33
|
// TODO: review if "utils/form--full" is required.
|
|
@@ -44,8 +44,8 @@ const U = "advanced";
|
|
|
44
44
|
const X = class {
|
|
45
45
|
constructor(s) {
|
|
46
46
|
t(this, s);
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
m.set(this, false);
|
|
48
|
+
b.set(this, void 0);
|
|
49
49
|
v.set(this, false);
|
|
50
50
|
/**
|
|
51
51
|
* frontEndsState saves the id's of the front ends checkboxes that are checked
|
|
@@ -291,9 +291,9 @@ const X = class {
|
|
|
291
291
|
u(this, F, "f").call(this);
|
|
292
292
|
}
|
|
293
293
|
componentDidRender() {
|
|
294
|
-
if (this.advancedTabIsVisible && !u(this,
|
|
294
|
+
if (this.advancedTabIsVisible && !u(this, m, "f")) {
|
|
295
295
|
// just call this once.
|
|
296
|
-
p(this,
|
|
296
|
+
p(this, m, true, "f");
|
|
297
297
|
}
|
|
298
298
|
}
|
|
299
299
|
async componentWillLoad() {
|
|
@@ -311,9 +311,9 @@ const X = class {
|
|
|
311
311
|
* Suspends or reactivates the shortcuts
|
|
312
312
|
*/ async suspendShortcuts(t) {
|
|
313
313
|
if (t) {
|
|
314
|
-
u(this,
|
|
314
|
+
u(this, b, "f").suspend = true;
|
|
315
315
|
} else {
|
|
316
|
-
u(this,
|
|
316
|
+
u(this, b, "f").suspend = false;
|
|
317
317
|
}
|
|
318
318
|
}
|
|
319
319
|
render() {
|
|
@@ -323,7 +323,7 @@ const X = class {
|
|
|
323
323
|
model: K
|
|
324
324
|
}), i("ch-shortcuts", {
|
|
325
325
|
src: u(this, y, "f"),
|
|
326
|
-
ref: t => p(this,
|
|
326
|
+
ref: t => p(this, b, t, "f")
|
|
327
327
|
}), i("section", {
|
|
328
328
|
class: "section"
|
|
329
329
|
}, i("header", {
|
|
@@ -421,7 +421,7 @@ const X = class {
|
|
|
421
421
|
}
|
|
422
422
|
};
|
|
423
423
|
|
|
424
|
-
|
|
424
|
+
m = new WeakMap, b = new WeakMap, v = new WeakMap, g = new WeakMap, w = new WeakMap,
|
|
425
425
|
k = new WeakMap, _ = new WeakMap, y = new WeakMap, M = new WeakMap, W = new WeakMap,
|
|
426
426
|
x = new WeakMap, C = new WeakMap, j = new WeakMap, E = new WeakMap, S = new WeakMap,
|
|
427
427
|
I = new WeakMap, T = new WeakMap, z = new WeakMap, F = new WeakMap, A = new WeakMap,
|
|
@@ -431,4 +431,4 @@ V = new WeakMap, q = new WeakMap, B = new WeakMap, G = new WeakMap, J = new Weak
|
|
|
431
431
|
X.style = f;
|
|
432
432
|
|
|
433
433
|
export { X as gx_ide_new_environment };
|
|
434
|
-
//# sourceMappingURL=p-
|
|
434
|
+
//# sourceMappingURL=p-4cbaa118.entry.js.map
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { r as e, h as s, g as r } from "./p-aaed592c.js";
|
|
2
|
+
|
|
3
|
+
import { L as a } from "./p-74d59062.js";
|
|
4
|
+
|
|
5
|
+
import { h as o } from "./p-014916d7.js";
|
|
6
|
+
|
|
7
|
+
const i = ':host{font-family:var(--mer-font-family--primary)}.message{color:var(--mer-color__neutral-gray--100);display:grid;grid-template-rows:0fr;transition:grid-template-rows 100ms;transition:grid-template-rows 100ms, -ms-grid-rows 100ms;}.message__outer-wrapper{overflow:hidden}.message__inner-wrapper{padding:var(--mer-spacing--sm) var(--mer-spacing--sm);border-radius:var(--mer-border__radius--sm);border-inline-start:var(--mer-border__width--md) solid transparent;background-color:var(--mer-color__neutral-gray--1200);margin-block-start:var(--mer-spacing--xs)}.message__role{display:inline-block;font-weight:var(--mer-font__weight--semi-bold);margin-block-end:var(--mer-spacing--xs);display:inline-grid;grid-template-columns:max-content max-content;gap:6px}.message__role:before{content:"";display:grid;place-self:center flex-end;inline-size:4px;block-size:4px;border-radius:50%;background-color:currentcolor}.message__role--user{color:var(--mer-color__primary--300)}.message__role--hidden{display:none}.message__caption{font-size:var(--mer-font__size--xs);line-height:var(--mer-line-height--regular);position:relative}.message--visible{grid-template-rows:1fr}.message--copying{pointer-events:none}.message--copying span:not(.copied),.message--copying .message__caption{color:transparent;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.message--user .message__inner-wrapper{background-color:rgba(91, 167, 255, 0.08);border-color:var(--mer-border-color__primary)}.message--assistant-action .message__inner-wrapper{background-color:rgba(63, 168, 155, 0.05);border-color:var(--mer-border-color__success)}.message--assistant-chat .message__inner-wrapper{background-color:var(--mer-surface__elevation--01)}.message--assistant-in-progress{color:var(--mer-color__neutral-gray--500)}.message--assistant-in-progress .message__inner-wrapper{font-style:italic;display:grid;grid-template-columns:1fr auto;gap:var(--mer-spacing--xs)}.message--assistant-in-progress .message__inner-wrapper .message__caption{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.message--assistant-in-progress .message__inner-wrapper .animation-wrapper{flex:none}.message--assistant-error .message__inner-wrapper{background-color:rgba(251, 124, 132, 0.05);border-color:var(--mer-border-color__error)}.message:last-child{margin-block-end:0}:host(:first-child) .message__inner-wrapper{margin-block-end:0}.animation-wrapper{width:45px;display:flex;align-items:center;justify-content:center}.dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:2.5px;background-color:var(--mer-color__neutral-gray--400);color:var(--mer-color__neutral-gray--400);box-shadow:9999px 0 0 -5px;animation:dot-pulse 1.5s infinite linear;animation-delay:0.25s}.dot-pulse::before,.dot-pulse::after{content:"";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:2.5px;background-color:var(--mer-color__neutral-gray--400);color:var(--mer-color__neutral-gray--400)}.dot-pulse::before{box-shadow:9984px 0 0 -5px;animation:dot-pulse-before 1.5s infinite linear;animation-delay:0s}.dot-pulse::after{box-shadow:10014px 0 0 -5px;animation:dot-pulse-after 1.5s infinite linear;animation-delay:0.5s}@keyframes dot-pulse-before{0%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}60%,100%{box-shadow:9984px 0 0 -5px}}@keyframes dot-pulse{0%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}60%,100%{box-shadow:9999px 0 0 -5px}}@keyframes dot-pulse-after{0%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}60%,100%{box-shadow:10014px 0 0 -5px}}.copied{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--mer-color__neutral-gray--300);display:flex;gap:var(--mer-spacing--2xs)}.hiChar{color:var(--mer-color__primary--200);filter:brightness(1.3)}';
|
|
8
|
+
|
|
9
|
+
const t = class {
|
|
10
|
+
constructor(s) {
|
|
11
|
+
e(this, s);
|
|
12
|
+
this.copyable = false;
|
|
13
|
+
// 7.LISTENERS //
|
|
14
|
+
// 8.PUBLIC METHODS API //
|
|
15
|
+
// 9.LOCAL METHODS //
|
|
16
|
+
this.evaluateMessageIsCopyable = () => {
|
|
17
|
+
this.copyable = this.messageType !== "assistant-in-progress" && this.messageType !== "assistant-action";
|
|
18
|
+
};
|
|
19
|
+
this.visible = false;
|
|
20
|
+
this.showCopiedMessage = false;
|
|
21
|
+
this.message = undefined;
|
|
22
|
+
this.messageType = undefined;
|
|
23
|
+
this.filterValue = undefined;
|
|
24
|
+
this.hidden = undefined;
|
|
25
|
+
this.translations = undefined;
|
|
26
|
+
}
|
|
27
|
+
// 5.EVENTS (EMIT) //
|
|
28
|
+
// 6.COMPONENT LIFECYCLE METHODS //
|
|
29
|
+
async componentWillLoad() {
|
|
30
|
+
this._componentLocale = await a.getComponentStrings(this.el);
|
|
31
|
+
this.evaluateMessageIsCopyable();
|
|
32
|
+
}
|
|
33
|
+
componentDidRender() {
|
|
34
|
+
setTimeout((() => {
|
|
35
|
+
/* Without the timeout it appears instantly (no apparent transition)*/
|
|
36
|
+
this.visible = true;
|
|
37
|
+
const e = this.el.parentElement;
|
|
38
|
+
e.scrollTo(0, 0);
|
|
39
|
+
}), 0);
|
|
40
|
+
}
|
|
41
|
+
// 10.RENDER() FUNCTION //
|
|
42
|
+
render() {
|
|
43
|
+
return s("li", {
|
|
44
|
+
class: {
|
|
45
|
+
message: true,
|
|
46
|
+
"message--visible": this.visible && !this.hidden,
|
|
47
|
+
[`message--${[ this.messageType ]}`]: true,
|
|
48
|
+
"message--assistant": this.messageType !== "user",
|
|
49
|
+
"message--copyable": this.copyable,
|
|
50
|
+
"message--copying": this.showCopiedMessage
|
|
51
|
+
}
|
|
52
|
+
}, s("div", {
|
|
53
|
+
class: "message__outer-wrapper"
|
|
54
|
+
}, s("div", {
|
|
55
|
+
class: {
|
|
56
|
+
"message__inner-wrapper": true
|
|
57
|
+
}
|
|
58
|
+
}, this.messageType === "user" ? s("span", {
|
|
59
|
+
class: "message__role message__role--user"
|
|
60
|
+
}, this._componentLocale.you) : s("span", {
|
|
61
|
+
class: {
|
|
62
|
+
message__role: this.messageType !== "assistant-in-progress",
|
|
63
|
+
"message__role--hidden": this.messageType === "assistant-in-progress",
|
|
64
|
+
"message__role--assistant": true
|
|
65
|
+
}
|
|
66
|
+
}, this._componentLocale.assistant), s("div", {
|
|
67
|
+
class: {
|
|
68
|
+
message__caption: true,
|
|
69
|
+
"message__caption--in-progress": this.messageType === "assistant-in-progress"
|
|
70
|
+
}
|
|
71
|
+
}, o(this.message, this.filterValue)), this.messageType === "assistant-in-progress" ? s("div", {
|
|
72
|
+
class: "animation-wrapper"
|
|
73
|
+
}, s("div", {
|
|
74
|
+
class: "dot-pulse"
|
|
75
|
+
})) : null)));
|
|
76
|
+
}
|
|
77
|
+
static get assetsDirs() {
|
|
78
|
+
return [ "gx-ide-assets/ai-message" ];
|
|
79
|
+
}
|
|
80
|
+
get el() {
|
|
81
|
+
return r(this);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
t.style = i;
|
|
86
|
+
|
|
87
|
+
export { t as gx_ide_ai_message };
|
|
88
|
+
//# sourceMappingURL=p-673480ac.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["aiMessageCss","GxIdeAiMessage","this","copyable","evaluateMessageIsCopyable","messageType","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidRender","setTimeout","visible","messagesList","parentElement","scrollTo","render","h","class","message","hidden","showCopiedMessage","you","message__role","assistant","message__caption","hiChar","filterValue"],"sources":["src/components/ai-assistant/ai-message.scss?tag=gx-ide-ai-message&encapsulation=shadow","src/components/ai-assistant/ai-message.tsx"],"sourcesContent":["@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n font-family: var(--mer-font-family--primary);\n}\n/*--- Messages ---*/\n.message {\n color: var(--mer-color__neutral-gray--100);\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 100ms;\n transition: grid-template-rows 100ms, -ms-grid-rows 100ms;\n &__outer-wrapper {\n overflow: hidden;\n }\n &__inner-wrapper {\n padding: var(--mer-spacing--sm) var(--mer-spacing--sm);\n border-radius: var(--mer-border__radius--sm);\n border-inline-start: var(--mer-border__width--md) solid transparent;\n background-color: var(--mer-color__neutral-gray--1200);\n margin-block-start: var(--mer-spacing--xs);\n }\n &__role {\n display: inline-block;\n font-weight: var(--mer-font__weight--semi-bold);\n margin-block-end: var(--mer-spacing--xs);\n display: inline-grid;\n grid-template-columns: max-content max-content;\n gap: 6px;\n &:before {\n content: \"\";\n display: grid;\n place-self: center flex-end;\n inline-size: 4px;\n block-size: 4px;\n border-radius: 50%;\n background-color: currentcolor;\n }\n\n &--user {\n color: var(--mer-color__primary--300);\n }\n &--assistant {\n }\n &--hidden {\n display: none;\n }\n }\n &__caption {\n font-size: var(--mer-font__size--xs);\n line-height: var(--mer-line-height--regular);\n position: relative;\n }\n &--visible {\n grid-template-rows: 1fr;\n }\n &--copying {\n pointer-events: none;\n span:not(.copied),\n .message__caption {\n color: transparent;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n }\n }\n /*--- Types of messages ---*/\n &--user {\n .message__inner-wrapper {\n background-color: rgba(91, 167, 255, 0.08);\n border-color: var(--mer-border-color__primary);\n }\n }\n &--assistant-action {\n .message__inner-wrapper {\n background-color: rgba(63, 168, 155, 0.05);\n border-color: var(--mer-border-color__success);\n }\n }\n &--assistant-chat {\n .message__inner-wrapper {\n background-color: var(--mer-surface__elevation--01);\n }\n }\n &--assistant-in-progress {\n color: var(--mer-color__neutral-gray--500);\n .message__inner-wrapper {\n font-style: italic;\n display: grid;\n grid-template-columns: 1fr auto;\n gap: var(--mer-spacing--xs);\n\n .message__caption {\n @include ellipsis;\n flex: 1;\n }\n .animation-wrapper {\n flex: none;\n }\n }\n }\n &--assistant-error {\n .message__inner-wrapper {\n background-color: rgba(251, 124, 132, 0.05);\n border-color: var(--mer-border-color__error);\n }\n }\n &--copyable {\n }\n &:last-child {\n margin-block-end: 0;\n }\n}\n:host(:first-child) {\n .message {\n &__inner-wrapper {\n margin-block-end: 0;\n }\n }\n}\n\n/*--- Dot Pulse Sweet Animation ---*/\n.animation-wrapper {\n width: 45px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n$color: var(--mer-color__neutral-gray--400);\n.dot-pulse {\n position: relative;\n left: -9999px;\n width: 5px;\n height: 5px;\n border-radius: 2.5px;\n background-color: $color;\n color: $color;\n box-shadow: 9999px 0 0 -5px;\n animation: dot-pulse 1.5s infinite linear;\n animation-delay: 0.25s;\n &::before,\n &::after {\n content: \"\";\n display: inline-block;\n position: absolute;\n top: 0;\n width: 5px;\n height: 5px;\n border-radius: 2.5px;\n background-color: $color;\n color: $color;\n }\n &::before {\n box-shadow: 9984px 0 0 -5px;\n animation: dot-pulse-before 1.5s infinite linear;\n animation-delay: 0s;\n }\n &::after {\n box-shadow: 10014px 0 0 -5px;\n animation: dot-pulse-after 1.5s infinite linear;\n animation-delay: 0.5s;\n }\n}\n@keyframes dot-pulse-before {\n 0% {\n box-shadow: 9984px 0 0 -5px;\n }\n 30% {\n box-shadow: 9984px 0 0 2px;\n }\n 60%,\n 100% {\n box-shadow: 9984px 0 0 -5px;\n }\n}\n@keyframes dot-pulse {\n 0% {\n box-shadow: 9999px 0 0 -5px;\n }\n 30% {\n box-shadow: 9999px 0 0 2px;\n }\n 60%,\n 100% {\n box-shadow: 9999px 0 0 -5px;\n }\n}\n@keyframes dot-pulse-after {\n 0% {\n box-shadow: 10014px 0 0 -5px;\n }\n 30% {\n box-shadow: 10014px 0 0 2px;\n }\n 60%,\n 100% {\n box-shadow: 10014px 0 0 -5px;\n }\n}\n\n/*--- Copy Message ---*/\n.copied {\n position: absolute;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mer-color__neutral-gray--300);\n display: flex;\n gap: var(--mer-spacing--2xs);\n}\n\n@include hiChar;\n","/* STENCIL IMPORTS */\nimport { Component, h, Prop, Element, State } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { MessageType } from \"./ai-assistant\";\nimport { hiChar } from \"../../common/helpers\";\n\n@Component({\n tag: \"gx-ide-ai-message\",\n styleUrl: \"ai-message.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ai-message\"]\n})\nexport class GxIdeAiMessage {\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 /* The message allows to be copied*/\n private _componentLocale: any;\n private copyable = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeAiMessageElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * This wil display the message if true\n */\n @State() visible = false;\n\n /**\n * This wil show the user a text, indicating that the message has been copied\n */\n @State() showCopiedMessage = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The actual message\n */\n @Prop() readonly message: string;\n\n /**\n * The message type\n */\n @Prop() readonly messageType: MessageType;\n\n /**\n * The filter value\n */\n @Prop() readonly filterValue: string;\n\n /**\n * It hides the message (used for the filter)\n */\n @Prop() readonly hidden: boolean;\n\n /**\n * An object with the needed string translations.\n */\n @Prop() readonly translations: Translations;\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateMessageIsCopyable();\n }\n\n componentDidRender() {\n setTimeout(() => {\n /* Without the timeout it appears instantly (no apparent transition)*/\n this.visible = true;\n const messagesList = this.el.parentElement;\n messagesList.scrollTo(0, 0);\n }, 0);\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateMessageIsCopyable = () => {\n this.copyable =\n this.messageType !== \"assistant-in-progress\" &&\n this.messageType !== \"assistant-action\";\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <li\n class={{\n \"message\": true,\n \"message--visible\": this.visible && !this.hidden,\n [`message--${[this.messageType]}`]: true,\n \"message--assistant\": this.messageType !== \"user\",\n \"message--copyable\": this.copyable,\n \"message--copying\": this.showCopiedMessage\n }}\n >\n <div class=\"message__outer-wrapper\">\n <div\n class={{\n \"message__inner-wrapper\": true\n }}\n >\n {this.messageType === \"user\" ? (\n <span class=\"message__role message__role--user\">\n {this._componentLocale.you}\n </span>\n ) : (\n <span\n class={{\n \"message__role\": this.messageType !== \"assistant-in-progress\",\n \"message__role--hidden\":\n this.messageType === \"assistant-in-progress\",\n \"message__role--assistant\": true\n }}\n >\n {this._componentLocale.assistant}\n </span>\n )}\n <div\n class={{\n \"message__caption\": true,\n \"message__caption--in-progress\":\n this.messageType === \"assistant-in-progress\"\n }}\n >\n {hiChar(this.message, this.filterValue)}\n </div>\n {this.messageType === \"assistant-in-progress\" ? (\n <div class=\"animation-wrapper\">\n <div class=\"dot-pulse\"></div>\n </div>\n ) : null}\n </div>\n </div>\n </li>\n );\n }\n}\n\nexport type Translations = {\n [key: string]: string;\n};\n"],"mappings":";;;;;;AAAA,MAAMA,IAAe;;MCcRC,IAAc;;;IAmBjBC,KAAAC,WAAW;;;;QAqEXD,KAAAE,4BAA4B;MAClCF,KAAKC,WACHD,KAAKG,gBAAgB,2BACrBH,KAAKG,gBAAgB;AAAkB;mBA7DxB;6BAKU;;;;;;;;;EAiC7B,uBAAMC;IACJJ,KAAKK,yBAAyBC,EAAOC,oBAAoBP,KAAKQ;IAC9DR,KAAKE;;EAGP,kBAAAO;IACEC,YAAW;;MAETV,KAAKW,UAAU;MACf,MAAMC,IAAeZ,KAAKQ,GAAGK;MAC7BD,EAAaE,SAAS,GAAG;AAAE,QAC1B;;;EAiBL,MAAAC;IACE,OACEC,EAAA;MACEC,OAAO;QACLC,SAAW;QACX,oBAAoBlB,KAAKW,YAAYX,KAAKmB;QAC1C,CAAC,YAAY,EAACnB,KAAKG,kBAAiB;QACpC,sBAAsBH,KAAKG,gBAAgB;QAC3C,qBAAqBH,KAAKC;QAC1B,oBAAoBD,KAAKoB;;OAG3BJ,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEC,OAAO;QACL,0BAA0B;;OAG3BjB,KAAKG,gBAAgB,SACpBa,EAAA;MAAMC,OAAM;OACTjB,KAAKK,iBAAiBgB,OAGzBL,EAAA;MACEC,OAAO;QACLK,eAAiBtB,KAAKG,gBAAgB;QACtC,yBACEH,KAAKG,gBAAgB;QACvB,4BAA4B;;OAG7BH,KAAKK,iBAAiBkB,YAG3BP,EAAA;MACEC,OAAO;QACLO,kBAAoB;QACpB,iCACExB,KAAKG,gBAAgB;;OAGxBsB,EAAOzB,KAAKkB,SAASlB,KAAK0B,eAE5B1B,KAAKG,gBAAgB,0BACpBa,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAKC,OAAM;UAEX"}
|