@genexus/genexus-ide-ui 1.0.68 → 1.0.70

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 (77) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-new-version.cjs.entry.js +101 -0
  3. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -0
  4. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +2 -1
  5. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-sign-in.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +372 -0
  9. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -0
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/collection/collection-manifest.json +2 -0
  12. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.en.json +16 -0
  13. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.ja.json +16 -0
  14. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.zh.json +16 -0
  15. package/dist/collection/components/new-version/new-version.css +17 -0
  16. package/dist/collection/components/new-version/new-version.js +181 -0
  17. package/dist/collection/components/new-version/new-version.js.map +1 -0
  18. package/dist/collection/components/select-kb-items/select-kb-items.js +20 -1
  19. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  20. package/dist/collection/components/sign-in/gx-ide-assets/sign-in/langs/sign-in.lang.en.json +3 -3
  21. package/dist/collection/components/sign-in/sign-in.js +1 -1
  22. package/dist/collection/components/sign-in/sign-in.js.map +1 -1
  23. package/dist/collection/components/ww-files/gx-ide-assets/ww-files/langs/ww-files.lang.en.json +45 -0
  24. package/dist/collection/components/ww-files/gx-ide-assets/ww-files/langs/ww-files.lang.ja.json +45 -0
  25. package/dist/collection/components/ww-files/gx-ide-assets/ww-files/langs/ww-files.lang.zh.json +45 -0
  26. package/dist/collection/components/ww-files/helpers.js +11 -0
  27. package/dist/collection/components/ww-files/helpers.js.map +1 -0
  28. package/dist/collection/components/ww-files/ww-files.css +147 -0
  29. package/dist/collection/components/ww-files/ww-files.js +822 -0
  30. package/dist/collection/components/ww-files/ww-files.js.map +1 -0
  31. package/dist/collection/testing/locale.e2e.js +2 -0
  32. package/dist/collection/testing/locale.e2e.js.map +1 -1
  33. package/dist/components/gx-ide-new-version.d.ts +11 -0
  34. package/dist/components/gx-ide-new-version.js +124 -0
  35. package/dist/components/gx-ide-new-version.js.map +1 -0
  36. package/dist/components/gx-ide-select-kb-items.js +3 -1
  37. package/dist/components/gx-ide-select-kb-items.js.map +1 -1
  38. package/dist/components/gx-ide-sign-in.js +1 -1
  39. package/dist/components/gx-ide-sign-in.js.map +1 -1
  40. package/dist/components/gx-ide-ww-files.d.ts +11 -0
  41. package/dist/components/gx-ide-ww-files.js +427 -0
  42. package/dist/components/gx-ide-ww-files.js.map +1 -0
  43. package/dist/esm/genexus-ide-ui.js +1 -1
  44. package/dist/esm/gx-ide-new-version.entry.js +97 -0
  45. package/dist/esm/gx-ide-new-version.entry.js.map +1 -0
  46. package/dist/esm/gx-ide-select-kb-items.entry.js +2 -1
  47. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  48. package/dist/esm/gx-ide-sign-in.entry.js +1 -1
  49. package/dist/esm/gx-ide-sign-in.entry.js.map +1 -1
  50. package/dist/esm/gx-ide-ww-files.entry.js +368 -0
  51. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -0
  52. package/dist/esm/loader.js +1 -1
  53. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  54. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  55. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.en.json +16 -0
  56. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.ja.json +16 -0
  57. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.zh.json +16 -0
  58. package/dist/genexus-ide-ui/gx-ide-assets/sign-in/langs/sign-in.lang.en.json +3 -3
  59. package/dist/genexus-ide-ui/gx-ide-assets/ww-files/langs/ww-files.lang.en.json +45 -0
  60. package/dist/genexus-ide-ui/gx-ide-assets/ww-files/langs/ww-files.lang.ja.json +45 -0
  61. package/dist/genexus-ide-ui/gx-ide-assets/ww-files/langs/ww-files.lang.zh.json +45 -0
  62. package/dist/genexus-ide-ui/{p-842a081e.entry.js → p-6b957e82.entry.js} +2 -4
  63. package/dist/genexus-ide-ui/p-6b957e82.entry.js.map +1 -0
  64. package/dist/genexus-ide-ui/{p-6331b2f2.entry.js → p-72d32141.entry.js} +10 -8
  65. package/dist/genexus-ide-ui/p-72d32141.entry.js.map +1 -0
  66. package/dist/genexus-ide-ui/p-839f1b44.entry.js +564 -0
  67. package/dist/genexus-ide-ui/p-839f1b44.entry.js.map +1 -0
  68. package/dist/genexus-ide-ui/p-c91af626.entry.js +149 -0
  69. package/dist/genexus-ide-ui/p-c91af626.entry.js.map +1 -0
  70. package/dist/types/components/new-version/new-version.d.ts +36 -0
  71. package/dist/types/components/select-kb-items/select-kb-items.d.ts +4 -0
  72. package/dist/types/components/ww-files/helpers.d.ts +3 -0
  73. package/dist/types/components/ww-files/ww-files.d.ts +172 -0
  74. package/dist/types/components.d.ts +251 -12
  75. package/package.json +1 -1
  76. package/dist/genexus-ide-ui/p-6331b2f2.entry.js.map +0 -1
  77. package/dist/genexus-ide-ui/p-842a081e.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"select-kb-items.js","sourceRoot":"","sources":["../../../src/components/select-kb-items/select-kb-items.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Watch,\n Method\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n\nimport {\n checkItems,\n convertItemsListToTreeViewModel,\n convertItemsNodeListToFlattenedTreeViewModel,\n expandItems,\n searchParentsItems,\n selectItems,\n unselectAllNodes\n} from \"./helpers\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ContextMenuInfo } from \"../../common/types\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/tooltip\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst SYSTEM_SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\nconst VIEW_AS_TREE_ID: NodesVersionsViewType = \"tree\";\nconst VIEW_AS_LIST_ID: NodesVersionsViewType = \"list\";\n\nconst TOGGLE_CHECKBOXES_CHECKED_VALUE = \"on\";\n\n@Component({\n tag: \"gx-ide-select-kb-items\",\n styleUrl: \"select-kb-items.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-kb-items\"]\n})\nexport class GxIdeSelectKbItems {\n #_componentLocale: any;\n\n #checkedNodesIds: string[] = [];\n #chShortcutsEl: HTMLChShortcutsElement;\n #selectedNodesIds: string[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/select-kb-items/shortcuts.json`\n );\n #updatedModelList: ItemNode[] = [];\n\n #viewItemsAsModel: RadioGroupItemModel[];\n\n @Element() el: HTMLGxIdeSelectKbItemsElement;\n #treeViewRenderEl: HTMLChTreeViewRenderElement;\n\n /**\n * Represents the nodes list model\n */\n @State() nodeListFlattenedTreeModel: TreeViewItemModel[] = [];\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * View type for the nodes.\n */\n @State() nodesVersionsViewType: NodesVersionsViewType = \"tree\";\n\n /**\n * Represents the nodes tree model\n */\n @State() nodeVersionsListTreeModel: TreeViewItemModel[] = [];\n\n /**\n * \"Search Pattern\" input value, used to filter the nodes tree/list.\n */\n @State() searchPatternValue: string = null;\n\n /**\n * It maps to the ch-tree-view-render \"toggleCheckboxes\" property.\n */\n @State() toggleCheckboxes: boolean = true;\n\n /**\n * Callback emitted when the 'cancel' button is pressed\n */\n @Prop() readonly cancelCallback?: () => Promise<void>;\n /**\n * Defines which nodes of the component have checkboxes.\n */\n @Prop() readonly checkboxType: CheckboxType;\n\n /**\n * Callback emitted when the items checked items change\n */\n @Prop() readonly checkedChanged?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Callback emitted when the 'select' button is pressed\n */\n @Prop() readonly confirmCallback?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback)\n */\n @Prop() readonly dialogActions: DialogAction[] = [];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Represents the itemLis list model\n */\n @Prop() readonly itemsList: ItemNode[] = [];\n\n @Watch(\"itemsList\")\n watchNodeListHandler(newItemsList: ItemNode[]) {\n if (newItemsList.length > 0) {\n this.loading = false;\n }\n this.#updateViews(newItemsList);\n }\n\n /**\n * This define if the selection is unique or not\n */\n @Prop() readonly multiSelection?: boolean = false;\n\n /**\n * Callback emitted when the items selection change\n */\n @Prop() readonly selectionChanged?: (selectedItem: string[]) => Promise<void>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#viewItemsAsModel = [\n { value: VIEW_AS_TREE_ID, caption: this.#_componentLocale.main.tree },\n { value: VIEW_AS_LIST_ID, caption: \"List\" }\n ];\n this.watchNodeListHandler(this.itemsList);\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Allow to update the selected items\n */\n @Method()\n async updateSelection(selectedItemsIds: string[]) {\n // first clear selected\n this.#treeViewRenderEl.updateItemsProperties(this.#selectedNodesIds, {\n selected: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(selectedItemsIds, {\n selected: true\n });\n }\n\n #cancelHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #checkedItemsChangeHandler = async (\n e: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const checkedNodesIds: string[] = [];\n e.detail.forEach(node => {\n node.item.checked && checkedNodesIds.push(node.item.id);\n });\n this.#checkedNodesIds = checkedNodesIds;\n this.#updatedModelList = checkItems(this.itemsList, this.#checkedNodesIds);\n\n if (this.checkedChanged) {\n this.checkedChanged(this.#checkedNodesIds);\n }\n };\n\n #confirmHandler = () => {\n if (this.confirmCallback) {\n this.confirmCallback(this.#checkedNodesIds);\n }\n };\n\n #contextMenuHandler = async (\n e: CustomEvent<{\n id: string;\n itemRef: HTMLChTreeViewItemElement;\n metadata: string;\n contextmenuEvent: PointerEvent;\n }>\n ) => {\n if (this.itemContextMenuCallback) {\n let info: ContextMenuInfo;\n const isSelected = this.#selectedNodesIds.find(id => id === e.detail.id);\n if (!this.#selectedNodesIds.length || !isSelected) {\n await this.#treeViewRenderEl.updateItemsProperties(\n this.#selectedNodesIds,\n { selected: false }\n );\n await this.#treeViewRenderEl.updateItemsProperties([e.detail.id], {\n selected: true\n });\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: [e.detail.id]\n };\n } else {\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: this.#selectedNodesIds\n };\n }\n this.itemContextMenuCallback(info);\n }\n };\n\n #executeDialogAction = (\n callback: (checkedNodesIds: string[], selectedNodesIds: string[]) => void\n ) => {\n return () => {\n callback(this.#checkedNodesIds, this.#selectedNodesIds);\n };\n };\n\n #patternSearchValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.searchPatternValue = event.detail.toString();\n };\n\n #renderActionButtons = (): HTMLElement[] => {\n return (\n <div>\n {this.dialogActions.map(action => {\n return (\n <button\n class={\"button-tertiary\"}\n part={`button button-${action.name}`}\n onClick={this.#executeDialogAction(action.callback)}\n disabled={this.loading}\n >\n {action.name}\n </button>\n );\n })}\n </div>\n );\n };\n\n #renderFooter = (): HTMLElement => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end control-footer-space-between\">\n {this.#renderActionButtons()}\n <div class=\"buttons-spacer \">\n {this.cancelCallback && (\n <button\n class={\"button-secondary\"}\n part={\"cancel-button\"}\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n )}\n {this.confirmCallback && (\n <button\n class={\"button-primary\"}\n part={\"confirm-button\"}\n onClick={this.#confirmHandler}\n disabled={this.loading}\n >\n {this.#_componentLocale.footer.select}\n </button>\n )}\n </div>\n </footer>\n );\n };\n\n #selectedItemsChangeHandler = (\n e: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n const selectedNodesIds: string[] = [];\n unselectAllNodes(this.itemsList);\n e.detail.forEach(node => {\n selectedNodesIds.push(node.item.id);\n });\n this.#selectedNodesIds = selectedNodesIds;\n if (this.selectionChanged) {\n this.selectionChanged(this.#selectedNodesIds);\n }\n\n this.#updatedModelList = selectItems(this.itemsList, selectedNodesIds);\n };\n\n #toggleAndSelectNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsSelected = selectItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(newItemsSelected, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #toggleCheckedNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(this.itemsList, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #updateViews = (newItemsList: ItemNode[]) => {\n this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n\n this.nodeListFlattenedTreeModel =\n convertItemsNodeListToFlattenedTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n };\n\n #viewItemsAsChangedHandler = async (event: CustomEvent<string>) => {\n const selectedViewType = event.detail as NodesVersionsViewType;\n this.nodesVersionsViewType = selectedViewType;\n if (this.nodesVersionsViewType === \"tree\") {\n await this.#toggleAndSelectNodesInModelItems(this.#selectedNodesIds);\n await this.#toggleCheckedNodesInModelItems(this.#checkedNodesIds);\n }\n this.#updateViews(this.#updatedModelList);\n };\n\n #toggleCheckboxesChangedHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n this.toggleCheckboxes = event.detail === TOGGLE_CHECKBOXES_CHECKED_VALUE;\n };\n\n render() {\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 <section class=\"section\">\n <header class=\"control-header field-group spacing-body-block-start spacing-body-inline\">\n <div class=\"field-group view-mode__toggle-checkboxes\">\n <div class=\"field field-inline field__items-view-type\">\n <label class=\"label\" htmlFor=\"view-mode\">\n Select view mode:\n </label>\n <ch-radio-group-render\n class=\"radio-group\"\n id=\"view-mode\"\n model={this.#viewItemsAsModel}\n onChange={this.#viewItemsAsChangedHandler}\n value={this.#viewItemsAsModel[0].value}\n ></ch-radio-group-render>\n </div>\n\n {this.checkboxType !== \"none\" && (\n <div class=\"field field-inline field__toggle-checkboxes\">\n <label class=\"label\" htmlFor=\"toggle-checkboxes\">\n Toggle Checkboxes\n </label>\n <ch-checkbox\n class=\"checkbox\"\n id=\"toggle-checkboxes\"\n checkedValue={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n value={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n onInput={this.#toggleCheckboxesChangedHandler}\n ></ch-checkbox>\n </div>\n )}\n </div>\n\n <ch-edit\n class=\"input pattern-filter\"\n placeholder={\n this.#_componentLocale.header.searchPatternPlaceholder\n }\n startImgSrc={SYSTEM_SEARCH_ICON}\n onInput={this.#patternSearchValueChangedHandler}\n ></ch-edit>\n </header>\n\n <div class=\"spacing-body-inline-start trees\">\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n show\n ></gx-ide-loader>\n ) : (\n <ch-tree-view-render\n class=\"tree-view\"\n model={\n this.nodesVersionsViewType === \"tree\"\n ? this.nodeVersionsListTreeModel\n : this.nodeListFlattenedTreeModel\n }\n show-lines={\n this.nodesVersionsViewType === \"tree\" ? \"all\" : \"none\"\n }\n expandableButton={\n this.nodesVersionsViewType === \"tree\" ? \"decorative\" : \"no\"\n }\n onItemContextmenu={this.#contextMenuHandler}\n onCheckedItemsChange={this.#checkedItemsChangeHandler}\n onSelectedItemsChange={this.#selectedItemsChangeHandler}\n multiSelection={this.multiSelection}\n filter={this.searchPatternValue}\n filterType=\"caption\"\n toggleCheckboxes={this.toggleCheckboxes}\n ref={(el: HTMLChTreeViewRenderElement) => {\n this.#treeViewRenderEl = el as HTMLChTreeViewRenderElement;\n }}\n ></ch-tree-view-render>\n )}\n </div>\n {(this.dialogActions.length > 0 ||\n this.cancelCallback ||\n this.confirmCallback) &&\n this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type CheckboxType = \"none\" | \"all\" | \"leaf\" | \"custom\";\n\nexport type DialogAction = {\n name: string;\n callback: DialogActionCallback;\n};\n\nexport type DialogActionCallback = (...args: any[]) => void;\n\nexport type ItemCommon = {\n icon: string;\n expanded: boolean;\n};\n\nexport type ItemNode = {\n checkbox?: boolean;\n checked?: boolean;\n expanded?: boolean;\n iconStart?: string;\n iconEnd?: string;\n id: string;\n name: string;\n nodes?: ItemNode[];\n selected?: boolean;\n type: ItemType;\n};\n\nexport type ItemType = {\n id: string;\n name: string;\n};\n\ntype NodesVersionsViewType = \"tree\" | \"list\";\n"]}
1
+ {"version":3,"file":"select-kb-items.js","sourceRoot":"","sources":["../../../src/components/select-kb-items/select-kb-items.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACP,MAAM,eAAe,CAAC;AAQvB,OAAO,EACL,UAAU,EACV,+BAA+B,EAC/B,4CAA4C,EAC5C,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAkB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;IACtB,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,kBAAkB;CACnB,CAAC;AAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC;IACrC,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,YAAY;CACxB,CAAC,CAAC;AAEH,MAAM,eAAe,GAA0B,MAAM,CAAC;AACtD,MAAM,eAAe,GAA0B,MAAM,CAAC;AAEtD,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAQ7C,MAAM,OAAO,kBAAkB;;QAC7B,uDAAuB;QAEvB,8CAA6B,EAAE,EAAC;QAChC,oDAAuC;QACvC,+CAA8B,EAAE,EAAC;QACjC,2CAAgB,YAAY,CAC1B,gDAAgD,CACjD,EAAC;QACF,+CAAgC,EAAE,EAAC;QAEnC,uDAAyC;QAGzC,uDAA+C;QAgI/C,4CAAiB,GAAG,EAAE;YACpB,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;QACH,CAAC,EAAC;QAEF,wDAA6B,KAAK,EAChC,CAAsD,EACtD,EAAE;YACF,MAAM,eAAe,GAAa,EAAE,CAAC;YACrC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,uBAAA,IAAI,uCAAoB,eAAe,MAAA,CAAC;YACxC,uBAAA,IAAI,wCAAqB,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAA,IAAI,2CAAiB,CAAC,MAAA,CAAC;YAE3E,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,uBAAA,IAAI,2CAAiB,CAAC,CAAC;aAC5C;QACH,CAAC,EAAC;QAEF,6CAAkB,GAAG,EAAE;YACrB,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,uBAAA,IAAI,2CAAiB,CAAC,CAAC;aAC7C;QACH,CAAC,EAAC;QAEF,iDAAsB,KAAK,EACzB,CAKE,EACF,EAAE;YACF,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAChC,IAAI,IAAqB,CAAC;gBAC1B,MAAM,UAAU,GAAG,uBAAA,IAAI,4CAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,uBAAA,IAAI,4CAAkB,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE;oBACjD,MAAM,uBAAA,IAAI,4CAAkB,CAAC,qBAAqB,CAChD,uBAAA,IAAI,4CAAkB,EACtB,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC;oBACF,MAAM,uBAAA,IAAI,4CAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;wBAChE,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;oBACH,IAAI,GAAG;wBACL,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO;wBAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO;wBAC1C,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;qBACzB,CAAC;iBACH;qBAAM;oBACL,IAAI,GAAG;wBACL,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO;wBAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO;wBAC1C,SAAS,EAAE,uBAAA,IAAI,4CAAkB;qBAClC,CAAC;iBACH;gBACD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;aACpC;QACH,CAAC,EAAC;QAEF,kDAAuB,CACrB,QAAyE,EACzE,EAAE;YACF,OAAO,GAAG,EAAE;gBACV,QAAQ,CAAC,uBAAA,IAAI,2CAAiB,EAAE,uBAAA,IAAI,4CAAkB,CAAC,CAAC;YAC1D,CAAC,CAAC;QACJ,CAAC,EAAC;QAEF,+DAAoC,CAClC,KAAuC,EACvC,EAAE;YACF,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpD,CAAC,EAAC;QAEF,kDAAuB,GAAkB,EAAE;YACzC,OAAO,CACL,eACG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAC/B,OAAO,CACL,cACE,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,iBAAiB,MAAM,CAAC,IAAI,EAAE,EACpC,OAAO,EAAE,uBAAA,IAAI,+CAAqB,MAAzB,IAAI,EAAsB,MAAM,CAAC,QAAQ,CAAC,EACnD,QAAQ,EAAE,IAAI,CAAC,OAAO,IAErB,MAAM,CAAC,IAAI,CACL,CACV,CAAC;YACJ,CAAC,CAAC,CACE,CACP,CAAC;QACJ,CAAC,EAAC;QAEF,2CAAgB,GAAgB,EAAE;YAChC,OAAO,CACL,cAAQ,KAAK,EAAC,2GAA2G;gBACtH,uBAAA,IAAI,+CAAqB,MAAzB,IAAI,CAAuB;gBAC5B,WAAK,KAAK,EAAC,iBAAiB;oBACzB,IAAI,CAAC,cAAc,IAAI,CACtB,cACE,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,uBAAA,IAAI,yCAAe,IAE3B,uBAAA,IAAI,4CAAkB,CAAC,MAAM,CAAC,MAAM,CAC9B,CACV;oBACA,IAAI,CAAC,eAAe,IAAI,CACvB,cACE,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,uBAAA,IAAI,0CAAgB,EAC7B,QAAQ,EAAE,IAAI,CAAC,OAAO,IAErB,uBAAA,IAAI,4CAAkB,CAAC,MAAM,CAAC,MAAM,CAC9B,CACV,CACG,CACC,CACV,CAAC;QACJ,CAAC,EAAC;QAEF,yDAA8B,CAC5B,CAA2C,EAC3C,EAAE;YACF,MAAM,gBAAgB,GAAa,EAAE,CAAC;YACtC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACtB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,uBAAA,IAAI,wCAAqB,gBAAgB,MAAA,CAAC;YAC1C,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,gBAAgB,CAAC,uBAAA,IAAI,4CAAkB,CAAC,CAAC;aAC/C;YAED,uBAAA,IAAI,wCAAqB,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,MAAA,CAAC;QACzE,CAAC,EAAC;QAEF,+DAAoC,KAAK,EAAE,gBAA0B,EAAE,EAAE;YACvE,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC3E,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACvE,MAAM,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YACtE,uBAAA,IAAI,uCAAa,MAAjB,IAAI,EAAc,gBAAgB,CAAC,CAAC;QACtC,CAAC,EAAC;QAEF,6DAAkC,KAAK,EAAE,gBAA0B,EAAE,EAAE;YACrE,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC3E,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACpE,uBAAA,IAAI,uCAAa,MAAjB,IAAI,EAAc,gBAAgB,CAAC,CAAC;QACtC,CAAC,EAAC;QAEF,0CAAe,CAAC,YAAwB,EAAE,EAAE;YAC1C,IAAI,CAAC,yBAAyB,GAAG,+BAA+B,CAC9D,YAAY,EACZ,IAAI,CAAC,YAAY,CAClB,CAAC;YAEF,IAAI,CAAC,0BAA0B;gBAC7B,4CAA4C,CAC1C,YAAY,EACZ,IAAI,CAAC,YAAY,CAClB,CAAC;QACN,CAAC,EAAC;QAEF,wDAA6B,KAAK,EAAE,KAA0B,EAAE,EAAE;YAChE,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAA+B,CAAC;YAC/D,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC;YAC9C,IAAI,IAAI,CAAC,qBAAqB,KAAK,MAAM,EAAE;gBACzC,MAAM,uBAAA,IAAI,4DAAkC,MAAtC,IAAI,EAAmC,uBAAA,IAAI,4CAAkB,CAAC,CAAC;gBACrE,MAAM,uBAAA,IAAI,0DAAgC,MAApC,IAAI,EAAiC,uBAAA,IAAI,2CAAiB,CAAC,CAAC;aACnE;YACD,uBAAA,IAAI,uCAAa,MAAjB,IAAI,EAAc,uBAAA,IAAI,4CAAkB,CAAC,CAAC;QAC5C,CAAC,EAAC;QAEF,6DAAkC,CAChC,KAAiD,EACjD,EAAE;YACF,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,KAAK,+BAA+B,CAAC;QAC3E,CAAC,EAAC;0CA/SyD,EAAE;uBAKjC,IAAI;qCAKwB,MAAM;yCAKJ,EAAE;kCAKtB,IAAI;gCAKL,IAAI;;;6BAeC,IAAI;;;6BAeG,EAAE;;yBAYV,EAAE;8BAaC,KAAK;;;IAVjD,oBAAoB,CAAC,YAAwB;QAC3C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;QACD,uBAAA,IAAI,uCAAa,MAAjB,IAAI,EAAc,YAAY,CAAC,CAAC;IAClC,CAAC;IAYD,KAAK,CAAC,iBAAiB;QACrB,uBAAA,IAAI,wCAAqB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;QACnE,uBAAA,IAAI,wCAAqB;YACvB,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,uBAAA,IAAI,4CAAkB,CAAC,IAAI,CAAC,IAAI,EAAE;YACrE,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE;SAC5C,MAAA,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,gBAAgB,CAAC,gBAAyB;QAC9C,IAAI,gBAAgB,EAAE;YACpB,uBAAA,IAAI,yCAAe,CAAC,OAAO,GAAG,IAAI,CAAC;SACpC;aAAM;YACL,uBAAA,IAAI,yCAAe,CAAC,OAAO,GAAG,KAAK,CAAC;SACrC;IACH,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,eAAe,CAAC,gBAA0B;QAC9C,uBAAuB;QACvB,uBAAA,IAAI,4CAAkB,CAAC,qBAAqB,CAAC,uBAAA,IAAI,4CAAkB,EAAE;YACnE,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,cAAc;QACd,uBAAA,IAAI,4CAAkB,CAAC,qBAAqB,CAAC,gBAAgB,EAAE;YAC7D,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAwLD,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAC,QAAQ;YAClB,gBAAU,KAAK,EAAE,WAAW,GAAa;YACzC,oBACE,GAAG,EAAE,uBAAA,IAAI,wCAAc,EACvB,GAAG,EAAE,CAAC,EAA0B,EAAE,EAAE,CAClC,CAAC,uBAAA,IAAI,qCAAkB,EAA4B,MAAA,CAAC,GAExC;YAChB,eAAS,KAAK,EAAC,SAAS;gBACtB,cAAQ,KAAK,EAAC,yEAAyE;oBACrF,WAAK,KAAK,EAAC,0CAA0C;wBACnD,WAAK,KAAK,EAAC,2CAA2C;4BACpD,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,WAAW,wBAEhC;4BACR,6BACE,KAAK,EAAC,aAAa,EACnB,EAAE,EAAC,WAAW,EACd,KAAK,EAAE,uBAAA,IAAI,4CAAkB,EAC7B,QAAQ,EAAE,uBAAA,IAAI,qDAA2B,EACzC,KAAK,EAAE,uBAAA,IAAI,4CAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,GACf,CACrB;wBAEL,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,CAC/B,WAAK,KAAK,EAAC,6CAA6C;4BACtD,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,mBAAmB,wBAExC;4BACR,mBACE,KAAK,EAAC,UAAU,EAChB,EAAE,EAAC,mBAAmB,EACtB,YAAY,EAAE,+BAA+B,EAC7C,KAAK,EAAE,+BAA+B,EACtC,OAAO,EAAE,uBAAA,IAAI,0DAAgC,GAChC,CACX,CACP,CACG;oBAEN,eACE,KAAK,EAAC,sBAAsB,EAC5B,WAAW,EACT,uBAAA,IAAI,4CAAkB,CAAC,MAAM,CAAC,wBAAwB,EAExD,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,uBAAA,IAAI,4DAAkC,GACtC,CACJ;gBAET,WAAK,KAAK,EAAC,iCAAiC,IACzC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACd,qBACE,WAAW,EAAE,uBAAA,IAAI,4CAAkB,CAAC,MAAM,CAAC,KAAK,EAChD,IAAI,SACW,CAClB,CAAC,CAAC,CAAC,CACF,2BACE,KAAK,EAAC,WAAW,EACjB,KAAK,EACH,IAAI,CAAC,qBAAqB,KAAK,MAAM;wBACnC,CAAC,CAAC,IAAI,CAAC,yBAAyB;wBAChC,CAAC,CAAC,IAAI,CAAC,0BAA0B,gBAGnC,IAAI,CAAC,qBAAqB,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAExD,gBAAgB,EACd,IAAI,CAAC,qBAAqB,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAE7D,iBAAiB,EAAE,uBAAA,IAAI,8CAAoB,EAC3C,oBAAoB,EAAE,uBAAA,IAAI,qDAA2B,EACrD,qBAAqB,EAAE,uBAAA,IAAI,sDAA4B,EACvD,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAC/B,UAAU,EAAC,SAAS,EACpB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,GAAG,EAAE,CAAC,EAA+B,EAAE,EAAE;wBACvC,uBAAA,IAAI,wCAAqB,EAAiC,MAAA,CAAC;oBAC7D,CAAC,GACoB,CACxB,CACG;gBACL,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;oBAC7B,IAAI,CAAC,cAAc;oBACnB,IAAI,CAAC,eAAe,CAAC;oBACrB,uBAAA,IAAI,wCAAc,MAAlB,IAAI,CAAgB,CACd,CACL,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Watch,\n Method\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n\nimport {\n checkItems,\n convertItemsListToTreeViewModel,\n convertItemsNodeListToFlattenedTreeViewModel,\n expandItems,\n searchParentsItems,\n selectItems,\n unselectAllNodes\n} from \"./helpers\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ContextMenuInfo } from \"../../common/types\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/tooltip\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst SYSTEM_SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\nconst VIEW_AS_TREE_ID: NodesVersionsViewType = \"tree\";\nconst VIEW_AS_LIST_ID: NodesVersionsViewType = \"list\";\n\nconst TOGGLE_CHECKBOXES_CHECKED_VALUE = \"on\";\n\n@Component({\n tag: \"gx-ide-select-kb-items\",\n styleUrl: \"select-kb-items.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-kb-items\"]\n})\nexport class GxIdeSelectKbItems {\n #_componentLocale: any;\n\n #checkedNodesIds: string[] = [];\n #chShortcutsEl: HTMLChShortcutsElement;\n #selectedNodesIds: string[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/select-kb-items/shortcuts.json`\n );\n #updatedModelList: ItemNode[] = [];\n\n #viewItemsAsModel: RadioGroupItemModel[];\n\n @Element() el: HTMLGxIdeSelectKbItemsElement;\n #treeViewRenderEl: HTMLChTreeViewRenderElement;\n\n /**\n * Represents the nodes list model\n */\n @State() nodeListFlattenedTreeModel: TreeViewItemModel[] = [];\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * View type for the nodes.\n */\n @State() nodesVersionsViewType: NodesVersionsViewType = \"tree\";\n\n /**\n * Represents the nodes tree model\n */\n @State() nodeVersionsListTreeModel: TreeViewItemModel[] = [];\n\n /**\n * \"Search Pattern\" input value, used to filter the nodes tree/list.\n */\n @State() searchPatternValue: string = null;\n\n /**\n * It maps to the ch-tree-view-render \"toggleCheckboxes\" property.\n */\n @State() toggleCheckboxes: boolean = true;\n\n /**\n * Callback emitted when the 'cancel' button is pressed\n */\n @Prop() readonly cancelCallback?: () => Promise<void>;\n\n /**\n * Defines which nodes of the component have checkboxes.\n */\n @Prop() readonly checkboxType: CheckboxType;\n\n /**\n * Define if a item node is expanded on click interaction. If false item-node will only be expanded on double click.\n */\n @Prop() readonly expandOnClick: boolean = true;\n\n /**\n * Callback emitted when the items checked items change\n */\n @Prop() readonly checkedChanged?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Callback emitted when the 'select' button is pressed\n */\n @Prop() readonly confirmCallback?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback)\n */\n @Prop() readonly dialogActions: DialogAction[] = [];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Represents the itemLis list model\n */\n @Prop() readonly itemsList: ItemNode[] = [];\n\n @Watch(\"itemsList\")\n watchNodeListHandler(newItemsList: ItemNode[]) {\n if (newItemsList.length > 0) {\n this.loading = false;\n }\n this.#updateViews(newItemsList);\n }\n\n /**\n * This define if the selection is unique or not\n */\n @Prop() readonly multiSelection?: boolean = false;\n\n /**\n * Callback emitted when the items selection change\n */\n @Prop() readonly selectionChanged?: (selectedItem: string[]) => Promise<void>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#viewItemsAsModel = [\n { value: VIEW_AS_TREE_ID, caption: this.#_componentLocale.main.tree },\n { value: VIEW_AS_LIST_ID, caption: \"List\" }\n ];\n this.watchNodeListHandler(this.itemsList);\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Allow to update the selected items\n */\n @Method()\n async updateSelection(selectedItemsIds: string[]) {\n // first clear selected\n this.#treeViewRenderEl.updateItemsProperties(this.#selectedNodesIds, {\n selected: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(selectedItemsIds, {\n selected: true\n });\n }\n\n #cancelHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #checkedItemsChangeHandler = async (\n e: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const checkedNodesIds: string[] = [];\n e.detail.forEach(node => {\n node.item.checked && checkedNodesIds.push(node.item.id);\n });\n this.#checkedNodesIds = checkedNodesIds;\n this.#updatedModelList = checkItems(this.itemsList, this.#checkedNodesIds);\n\n if (this.checkedChanged) {\n this.checkedChanged(this.#checkedNodesIds);\n }\n };\n\n #confirmHandler = () => {\n if (this.confirmCallback) {\n this.confirmCallback(this.#checkedNodesIds);\n }\n };\n\n #contextMenuHandler = async (\n e: CustomEvent<{\n id: string;\n itemRef: HTMLChTreeViewItemElement;\n metadata: string;\n contextmenuEvent: PointerEvent;\n }>\n ) => {\n if (this.itemContextMenuCallback) {\n let info: ContextMenuInfo;\n const isSelected = this.#selectedNodesIds.find(id => id === e.detail.id);\n if (!this.#selectedNodesIds.length || !isSelected) {\n await this.#treeViewRenderEl.updateItemsProperties(\n this.#selectedNodesIds,\n { selected: false }\n );\n await this.#treeViewRenderEl.updateItemsProperties([e.detail.id], {\n selected: true\n });\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: [e.detail.id]\n };\n } else {\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: this.#selectedNodesIds\n };\n }\n this.itemContextMenuCallback(info);\n }\n };\n\n #executeDialogAction = (\n callback: (checkedNodesIds: string[], selectedNodesIds: string[]) => void\n ) => {\n return () => {\n callback(this.#checkedNodesIds, this.#selectedNodesIds);\n };\n };\n\n #patternSearchValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.searchPatternValue = event.detail.toString();\n };\n\n #renderActionButtons = (): HTMLElement[] => {\n return (\n <div>\n {this.dialogActions.map(action => {\n return (\n <button\n class={\"button-tertiary\"}\n part={`button button-${action.name}`}\n onClick={this.#executeDialogAction(action.callback)}\n disabled={this.loading}\n >\n {action.name}\n </button>\n );\n })}\n </div>\n );\n };\n\n #renderFooter = (): HTMLElement => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end control-footer-space-between\">\n {this.#renderActionButtons()}\n <div class=\"buttons-spacer \">\n {this.cancelCallback && (\n <button\n class={\"button-secondary\"}\n part={\"cancel-button\"}\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n )}\n {this.confirmCallback && (\n <button\n class={\"button-primary\"}\n part={\"confirm-button\"}\n onClick={this.#confirmHandler}\n disabled={this.loading}\n >\n {this.#_componentLocale.footer.select}\n </button>\n )}\n </div>\n </footer>\n );\n };\n\n #selectedItemsChangeHandler = (\n e: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n const selectedNodesIds: string[] = [];\n unselectAllNodes(this.itemsList);\n e.detail.forEach(node => {\n selectedNodesIds.push(node.item.id);\n });\n this.#selectedNodesIds = selectedNodesIds;\n if (this.selectionChanged) {\n this.selectionChanged(this.#selectedNodesIds);\n }\n\n this.#updatedModelList = selectItems(this.itemsList, selectedNodesIds);\n };\n\n #toggleAndSelectNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsSelected = selectItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(newItemsSelected, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #toggleCheckedNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(this.itemsList, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #updateViews = (newItemsList: ItemNode[]) => {\n this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n\n this.nodeListFlattenedTreeModel =\n convertItemsNodeListToFlattenedTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n };\n\n #viewItemsAsChangedHandler = async (event: CustomEvent<string>) => {\n const selectedViewType = event.detail as NodesVersionsViewType;\n this.nodesVersionsViewType = selectedViewType;\n if (this.nodesVersionsViewType === \"tree\") {\n await this.#toggleAndSelectNodesInModelItems(this.#selectedNodesIds);\n await this.#toggleCheckedNodesInModelItems(this.#checkedNodesIds);\n }\n this.#updateViews(this.#updatedModelList);\n };\n\n #toggleCheckboxesChangedHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n this.toggleCheckboxes = event.detail === TOGGLE_CHECKBOXES_CHECKED_VALUE;\n };\n\n render() {\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 <section class=\"section\">\n <header class=\"control-header field-group spacing-body-block-start spacing-body-inline\">\n <div class=\"field-group view-mode__toggle-checkboxes\">\n <div class=\"field field-inline field__items-view-type\">\n <label class=\"label\" htmlFor=\"view-mode\">\n Select view mode:\n </label>\n <ch-radio-group-render\n class=\"radio-group\"\n id=\"view-mode\"\n model={this.#viewItemsAsModel}\n onChange={this.#viewItemsAsChangedHandler}\n value={this.#viewItemsAsModel[0].value}\n ></ch-radio-group-render>\n </div>\n\n {this.checkboxType !== \"none\" && (\n <div class=\"field field-inline field__toggle-checkboxes\">\n <label class=\"label\" htmlFor=\"toggle-checkboxes\">\n Toggle Checkboxes\n </label>\n <ch-checkbox\n class=\"checkbox\"\n id=\"toggle-checkboxes\"\n checkedValue={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n value={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n onInput={this.#toggleCheckboxesChangedHandler}\n ></ch-checkbox>\n </div>\n )}\n </div>\n\n <ch-edit\n class=\"input pattern-filter\"\n placeholder={\n this.#_componentLocale.header.searchPatternPlaceholder\n }\n startImgSrc={SYSTEM_SEARCH_ICON}\n onInput={this.#patternSearchValueChangedHandler}\n ></ch-edit>\n </header>\n\n <div class=\"spacing-body-inline-start trees\">\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n show\n ></gx-ide-loader>\n ) : (\n <ch-tree-view-render\n class=\"tree-view\"\n model={\n this.nodesVersionsViewType === \"tree\"\n ? this.nodeVersionsListTreeModel\n : this.nodeListFlattenedTreeModel\n }\n show-lines={\n this.nodesVersionsViewType === \"tree\" ? \"all\" : \"none\"\n }\n expandableButton={\n this.nodesVersionsViewType === \"tree\" ? \"decorative\" : \"no\"\n }\n onItemContextmenu={this.#contextMenuHandler}\n onCheckedItemsChange={this.#checkedItemsChangeHandler}\n onSelectedItemsChange={this.#selectedItemsChangeHandler}\n expandOnClick={this.expandOnClick}\n multiSelection={this.multiSelection}\n filter={this.searchPatternValue}\n filterType=\"caption\"\n toggleCheckboxes={this.toggleCheckboxes}\n ref={(el: HTMLChTreeViewRenderElement) => {\n this.#treeViewRenderEl = el as HTMLChTreeViewRenderElement;\n }}\n ></ch-tree-view-render>\n )}\n </div>\n {(this.dialogActions.length > 0 ||\n this.cancelCallback ||\n this.confirmCallback) &&\n this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type CheckboxType = \"none\" | \"all\" | \"leaf\" | \"custom\";\n\nexport type DialogAction = {\n name: string;\n callback: DialogActionCallback;\n};\n\nexport type DialogActionCallback = (...args: any[]) => void;\n\nexport type ItemCommon = {\n icon: string;\n expanded: boolean;\n};\n\nexport type ItemNode = {\n checkbox?: boolean;\n checked?: boolean;\n expanded?: boolean;\n iconStart?: string;\n iconEnd?: string;\n id: string;\n name: string;\n nodes?: ItemNode[];\n selected?: boolean;\n type: ItemType;\n};\n\nexport type ItemType = {\n id: string;\n name: string;\n};\n\ntype NodesVersionsViewType = \"tree\" | \"list\";\n"]}
@@ -2,9 +2,9 @@
2
2
  "illustrationAriaLabel": "GeneXus Next geometric shapes illustration",
3
3
  "illustrationFigureAriaLabel": "Geometric shape illustration",
4
4
  "illustrationAlternativeText": "GeneXus Next isologotype",
5
- "title": "Welcome to GeneXus Next Desktop",
6
- "descriptionText": "(This description is to be defined)",
5
+ "title": "Log in to GeneXus Next Desktop",
6
+ "descriptionText": "The most advanced professional IDE to build and evolve Intelligent Enterprise Systems. ",
7
7
  "byContinuingTextFirstPart": "By continuing you agree to ",
8
8
  "byContinuingCallBackText": "terms and conditions",
9
- "signInButtonCaption": "Sign In"
9
+ "signInButtonCaption": "Log In"
10
10
  }
@@ -43,7 +43,7 @@ export class GxIdeUiSplash {
43
43
  return (h(Host, null, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "slide" }, h("div", { class: "slide__illustration", role: "img", "aria-label": __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").illustrationAriaLabel }, h("img", {
44
44
  // base image (acts like a background)
45
45
  src: COPYRIGHTS_ILLUSTRATION, class: "slide__illustration", alt: __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").illustrationFigureAriaLabel
46
- })), h("div", { class: "slide__sign-in" }, h("div", { class: "slide__sign-in-container" }, h("header", { class: "slide__sign-in-header" }, h("img", { src: ICON_NEXT, alt: __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").illustrationAlternativeText }), h("h2", { class: "slide__sign-in-title" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").title)), h("div", { class: "slide__sign-in-description" }, h("p", { hidden: true }, h("span", null, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").descriptionText)), h("span", null, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").byContinuingTextFirstPart, h("a", { class: "terms-conditions", onClick: this.termsCallback }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").byContinuingCallBackText))), h("div", null, h("button", { class: "button-primary sign-in-btn", onClick: this.signInCallback }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").signInButtonCaption)))))));
46
+ })), h("div", { class: "slide__sign-in" }, h("div", { class: "slide__sign-in-container" }, h("header", { class: "slide__sign-in-header" }, h("img", { src: ICON_NEXT, alt: __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").illustrationAlternativeText }), h("h2", { class: "slide__sign-in-title" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").title)), h("div", { class: "slide__sign-in-description" }, h("p", null, h("span", null, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").descriptionText)), h("span", null, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").byContinuingTextFirstPart, h("a", { class: "terms-conditions", onClick: this.termsCallback }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").byContinuingCallBackText))), h("div", null, h("button", { class: "button-primary sign-in-btn", onClick: this.signInCallback }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").signInButtonCaption)))))));
47
47
  }
48
48
  static get is() { return "gx-ide-sign-in"; }
49
49
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../../../src/components/sign-in/sign-in.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,UAAU;AACV,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGhF,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,uBAAuB,GAAG,YAAY,CAC1C,iEAAiE,CAClE,CAAC;AACF,MAAM,SAAS,GAAG,YAAY,CAC5B,mDAAmD,CACpD,CAAC;AACF,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;CACpB,CAAC;AAQF,MAAM,OAAO,aAAa;;QACxB;;WAEG;QACH,wEAAwE;QACxE,iDAAsB;;;;IActB,KAAK,CAAC,iBAAiB;QACrB,uBAAA,IAAI,kCAAoB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;IACpE,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,gBAAU,KAAK,EAAE,WAAW,GAAa;YACzC,eAAS,KAAK,EAAC,OAAO;gBACpB,WACE,KAAK,EAAC,qBAAqB,EAC3B,IAAI,EAAC,KAAK,gBACE,uBAAA,IAAI,sCAAiB,CAAC,qBAAqB;oBAEvD;wBACE,sCAAsC;wBACtC,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAC,qBAAqB,EAC3B,GAAG,EAAE,uBAAA,IAAI,sCAAiB,CAAC,2BAA2B,GACtD,CACE;gBAEN,WAAK,KAAK,EAAC,gBAAgB;oBACzB,WAAK,KAAK,EAAC,0BAA0B;wBACnC,cAAQ,KAAK,EAAC,uBAAuB;4BACnC,WACE,GAAG,EAAE,SAAS,EACd,GAAG,EAAE,uBAAA,IAAI,sCAAiB,CAAC,2BAA2B,GACtD;4BACF,UAAI,KAAK,EAAC,sBAAsB,IAC7B,uBAAA,IAAI,sCAAiB,CAAC,KAAK,CACzB,CACE;wBACT,WAAK,KAAK,EAAC,4BAA4B;4BACrC,SAAG,MAAM;gCACP,gBAAO,uBAAA,IAAI,sCAAiB,CAAC,eAAe,CAAQ,CAClD;4BACJ;gCACG,uBAAA,IAAI,sCAAiB,CAAC,yBAAyB;gCAChD,SAAG,KAAK,EAAC,kBAAkB,EAAC,OAAO,EAAE,IAAI,CAAC,aAAa,IACpD,uBAAA,IAAI,sCAAiB,CAAC,wBAAwB,CAC7C,CACC,CACH;wBACN;4BACE,cACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAE,IAAI,CAAC,cAAc,IAE3B,uBAAA,IAAI,sCAAiB,CAAC,mBAAmB,CACnC,CACL,CACF,CACF,CACE,CACL,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["// Stencil\nimport { Component, Host, h, Prop, Element, getAssetPath } from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/welcome-page/images/copyrights-illustration.png`\n);\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"components/button\"\n];\n\n@Component({\n tag: \"gx-ide-sign-in\",\n styleUrl: \"sign-in.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/sign-in\"]\n})\nexport class GxIdeUiSplash {\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: HTMLGxIdeSignInElement;\n\n /**\n * Callback executed when the user click on the \"term and conditions\" link\n */\n @Prop() readonly termsCallback: () => Promise<void>;\n\n /**\n * Callback executed when the user click the Sign In button\n */\n @Prop() readonly signInCallback: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"slide\">\n <div\n class=\"slide__illustration\"\n role=\"img\"\n aria-label={this.#componentLocale.illustrationAriaLabel}\n >\n <img\n // base image (acts like a background)\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt={this.#componentLocale.illustrationFigureAriaLabel}\n />\n </div>\n\n <div class=\"slide__sign-in\">\n <div class=\"slide__sign-in-container\">\n <header class=\"slide__sign-in-header\">\n <img\n src={ICON_NEXT}\n alt={this.#componentLocale.illustrationAlternativeText}\n />\n <h2 class=\"slide__sign-in-title\">\n {this.#componentLocale.title}\n </h2>\n </header>\n <div class=\"slide__sign-in-description\">\n <p hidden>\n <span>{this.#componentLocale.descriptionText}</span>\n </p>\n <span>\n {this.#componentLocale.byContinuingTextFirstPart}\n <a class=\"terms-conditions\" onClick={this.termsCallback}>\n {this.#componentLocale.byContinuingCallBackText}\n </a>\n </span>\n </div>\n <div>\n <button\n class=\"button-primary sign-in-btn\"\n onClick={this.signInCallback}\n >\n {this.#componentLocale.signInButtonCaption}\n </button>\n </div>\n </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../../../src/components/sign-in/sign-in.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,UAAU;AACV,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGhF,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,uBAAuB,GAAG,YAAY,CAC1C,iEAAiE,CAClE,CAAC;AACF,MAAM,SAAS,GAAG,YAAY,CAC5B,mDAAmD,CACpD,CAAC;AACF,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;CACpB,CAAC;AAQF,MAAM,OAAO,aAAa;;QACxB;;WAEG;QACH,wEAAwE;QACxE,iDAAsB;;;;IActB,KAAK,CAAC,iBAAiB;QACrB,uBAAA,IAAI,kCAAoB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;IACpE,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,gBAAU,KAAK,EAAE,WAAW,GAAa;YACzC,eAAS,KAAK,EAAC,OAAO;gBACpB,WACE,KAAK,EAAC,qBAAqB,EAC3B,IAAI,EAAC,KAAK,gBACE,uBAAA,IAAI,sCAAiB,CAAC,qBAAqB;oBAEvD;wBACE,sCAAsC;wBACtC,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAC,qBAAqB,EAC3B,GAAG,EAAE,uBAAA,IAAI,sCAAiB,CAAC,2BAA2B,GACtD,CACE;gBAEN,WAAK,KAAK,EAAC,gBAAgB;oBACzB,WAAK,KAAK,EAAC,0BAA0B;wBACnC,cAAQ,KAAK,EAAC,uBAAuB;4BACnC,WACE,GAAG,EAAE,SAAS,EACd,GAAG,EAAE,uBAAA,IAAI,sCAAiB,CAAC,2BAA2B,GACtD;4BACF,UAAI,KAAK,EAAC,sBAAsB,IAC7B,uBAAA,IAAI,sCAAiB,CAAC,KAAK,CACzB,CACE;wBACT,WAAK,KAAK,EAAC,4BAA4B;4BACrC;gCACE,gBAAO,uBAAA,IAAI,sCAAiB,CAAC,eAAe,CAAQ,CAClD;4BACJ;gCACG,uBAAA,IAAI,sCAAiB,CAAC,yBAAyB;gCAChD,SAAG,KAAK,EAAC,kBAAkB,EAAC,OAAO,EAAE,IAAI,CAAC,aAAa,IACpD,uBAAA,IAAI,sCAAiB,CAAC,wBAAwB,CAC7C,CACC,CACH;wBACN;4BACE,cACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAE,IAAI,CAAC,cAAc,IAE3B,uBAAA,IAAI,sCAAiB,CAAC,mBAAmB,CACnC,CACL,CACF,CACF,CACE,CACL,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["// Stencil\nimport { Component, Host, h, Prop, Element, getAssetPath } from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/welcome-page/images/copyrights-illustration.png`\n);\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"components/button\"\n];\n\n@Component({\n tag: \"gx-ide-sign-in\",\n styleUrl: \"sign-in.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/sign-in\"]\n})\nexport class GxIdeUiSplash {\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: HTMLGxIdeSignInElement;\n\n /**\n * Callback executed when the user click on the \"term and conditions\" link\n */\n @Prop() readonly termsCallback: () => Promise<void>;\n\n /**\n * Callback executed when the user click the Sign In button\n */\n @Prop() readonly signInCallback: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"slide\">\n <div\n class=\"slide__illustration\"\n role=\"img\"\n aria-label={this.#componentLocale.illustrationAriaLabel}\n >\n <img\n // base image (acts like a background)\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt={this.#componentLocale.illustrationFigureAriaLabel}\n />\n </div>\n\n <div class=\"slide__sign-in\">\n <div class=\"slide__sign-in-container\">\n <header class=\"slide__sign-in-header\">\n <img\n src={ICON_NEXT}\n alt={this.#componentLocale.illustrationAlternativeText}\n />\n <h2 class=\"slide__sign-in-title\">\n {this.#componentLocale.title}\n </h2>\n </header>\n <div class=\"slide__sign-in-description\">\n <p>\n <span>{this.#componentLocale.descriptionText}</span>\n </p>\n <span>\n {this.#componentLocale.byContinuingTextFirstPart}\n <a class=\"terms-conditions\" onClick={this.termsCallback}>\n {this.#componentLocale.byContinuingCallBackText}\n </a>\n </span>\n </div>\n <div>\n <button\n class=\"button-primary sign-in-btn\"\n onClick={this.signInCallback}\n >\n {this.#componentLocale.signInButtonCaption}\n </button>\n </div>\n </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "Name",
3
+ "location": "Location",
4
+ "filter": {
5
+ "title": "Filters",
6
+ "name": "Name",
7
+ "type": "Type",
8
+ "content": "Search contents",
9
+ "category": "Category",
10
+ "moduleFolder": "Module/Folder",
11
+ "search": "Search contents",
12
+ "allDescendants": "All descendants",
13
+ "modified": "Modified",
14
+ "user": "User",
15
+ "dateTime": "Date/time",
16
+ "after": "After",
17
+ "accordionCaption": "Advanced Filter",
18
+ "afterNone": "None",
19
+ "afterDateTime": "After Date/Time",
20
+ "afterLastBuild": "After Last Build",
21
+ "afterImport": "After Import",
22
+ "btnMore": "More >>",
23
+ "btnLess": "<< Less"
24
+ },
25
+ "objCount": {
26
+ "selected": "selected object(s)",
27
+ "matching": "matching object(s)"
28
+ },
29
+ "tableHead": {
30
+ "name": "Name",
31
+ "type": "Type",
32
+ "module": "Module",
33
+ "description": "Description",
34
+ "modifiedDate": "Modified Date",
35
+ "importDate": "Import Date",
36
+ "lastBuildDate": "Last Build Date",
37
+ "lastUser": "Last User"
38
+ },
39
+ "footer": {
40
+ "btnSelectAll": "Select All",
41
+ "btnNew": "New File",
42
+ "btnOk": "OK",
43
+ "btnCancel": "Cancel"
44
+ }
45
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "",
3
+ "location": "",
4
+ "filter": {
5
+ "title": "",
6
+ "name": "",
7
+ "type": "",
8
+ "content": "",
9
+ "category": "",
10
+ "moduleFolder": "",
11
+ "search": "",
12
+ "allDescendants": "",
13
+ "modified": "",
14
+ "user": "",
15
+ "dateTime": "",
16
+ "after": "",
17
+ "accordionCaption": "",
18
+ "afterNone": "",
19
+ "afterDateTime": "",
20
+ "afterLastBuild": "",
21
+ "afterImport": "",
22
+ "btnMore": "",
23
+ "btnLess": ""
24
+ },
25
+ "objCount": {
26
+ "selected": "",
27
+ "matching": ""
28
+ },
29
+ "tableHead": {
30
+ "name": "",
31
+ "type": "",
32
+ "module": "",
33
+ "description": "",
34
+ "modifiedDate": "",
35
+ "importDate": "",
36
+ "lastBuildDate": "",
37
+ "lastUser": ""
38
+ },
39
+ "footer": {
40
+ "btnSelectAll": "",
41
+ "btnNew": "",
42
+ "btnOk": "",
43
+ "btnCancel": ""
44
+ }
45
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "",
3
+ "location": "",
4
+ "filter": {
5
+ "title": "",
6
+ "name": "",
7
+ "type": "",
8
+ "content": "",
9
+ "category": "",
10
+ "moduleFolder": "",
11
+ "search": "",
12
+ "allDescendants": "",
13
+ "modified": "",
14
+ "user": "",
15
+ "dateTime": "",
16
+ "after": "",
17
+ "accordionCaption": "",
18
+ "afterNone": "",
19
+ "afterDateTime": "",
20
+ "afterLastBuild": "",
21
+ "afterImport": "",
22
+ "btnMore": "",
23
+ "btnLess": ""
24
+ },
25
+ "objCount": {
26
+ "selected": "",
27
+ "matching": ""
28
+ },
29
+ "tableHead": {
30
+ "name": "",
31
+ "type": "",
32
+ "module": "",
33
+ "description": "",
34
+ "modifiedDate": "",
35
+ "importDate": "",
36
+ "lastBuildDate": "",
37
+ "lastUser": ""
38
+ },
39
+ "footer": {
40
+ "btnSelectAll": "",
41
+ "btnNew": "",
42
+ "btnOk": "",
43
+ "btnCancel": ""
44
+ }
45
+ }
@@ -0,0 +1,11 @@
1
+ export const mapOptionsToComboBoxItemModel = (options) => {
2
+ return options.map(option => {
3
+ var _a;
4
+ return {
5
+ value: option.id,
6
+ caption: option.label,
7
+ startImgSrc: (_a = option.iconName) !== null && _a !== void 0 ? _a : ""
8
+ };
9
+ });
10
+ };
11
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/ww-files/helpers.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,OAAmB,EACJ,EAAE;IACjB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;;QAC1B,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,EAAE;YAChB,OAAO,EAAE,MAAM,CAAC,KAAK;YACrB,WAAW,EAAE,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE;SACnC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { GxOption } from \"../..\";\n\nexport const mapOptionsToComboBoxItemModel = (\n options: GxOption[]\n): ComboBoxModel => {\n return options.map(option => {\n return {\n value: option.id,\n caption: option.label,\n startImgSrc: option.iconName ?? \"\"\n };\n });\n};\n"]}
@@ -0,0 +1,147 @@
1
+ /*Gx Ide*/
2
+ /*@container queries*/
3
+ /* hiChar styles
4
+ Found on /common/helpers.tsx hiChar function is used to add a span/class to every character that matches a search value. It is used to help the user see why the filter results are filtered. The span/class on the characters are useless without proper styling.
5
+ */
6
+ @keyframes spin {
7
+ 0% {
8
+ transform: rotate(0deg);
9
+ }
10
+ 100% {
11
+ transform: rotate(360deg);
12
+ }
13
+ }
14
+ :host {
15
+ container-type: inline-size;
16
+ display: grid;
17
+ block-size: 100%;
18
+ overflow: auto;
19
+ grid-template-rows: max-content 1fr max-content;
20
+ }
21
+
22
+ .hide {
23
+ display: none !important;
24
+ }
25
+
26
+ .section {
27
+ display: contents;
28
+ }
29
+
30
+ .header {
31
+ grid-template-areas: "name module-folder" "advanced-filter-accordion advanced-filter-accordion";
32
+ grid-template-columns: 1fr 1fr;
33
+ grid-auto-rows: max-content max-content;
34
+ }
35
+
36
+ .name {
37
+ grid-area: name;
38
+ }
39
+
40
+ .module-folder {
41
+ grid-area: module-folder;
42
+ }
43
+
44
+ .advanced-filter-accordion {
45
+ grid-area: advanced-filter-accordion;
46
+ }
47
+
48
+ .main {
49
+ display: grid;
50
+ grid-template-columns: 1fr auto;
51
+ gap: var(--mer-spacing--md);
52
+ overflow: auto;
53
+ padding-block-start: var(--mer-spacing--md);
54
+ }
55
+
56
+ .main__grid {
57
+ display: grid;
58
+ grid-template-rows: max-content 1fr;
59
+ gap: var(--mer-spacing--md);
60
+ overflow: auto;
61
+ }
62
+
63
+ .main__filter {
64
+ display: grid;
65
+ grid-auto-rows: max-content;
66
+ gap: var(--mer-spacing--sm);
67
+ overflow: auto;
68
+ }
69
+
70
+ .search-content {
71
+ inline-size: 100%;
72
+ }
73
+
74
+ .filter-row {
75
+ display: grid;
76
+ grid-template-columns: 1fr 2fr;
77
+ gap: var(--mer-spacing--md);
78
+ }
79
+
80
+ .category-column {
81
+ grid-column: 1;
82
+ }
83
+
84
+ .checkboxes-column {
85
+ grid-column: 2;
86
+ display: flex;
87
+ flex-direction: row;
88
+ gap: var(--mer-spacing--md);
89
+ align-items: center;
90
+ min-block-size: 100%;
91
+ justify-content: flex-start;
92
+ padding-block-start: 1.75rem;
93
+ }
94
+
95
+ .modified-inputs {
96
+ display: grid;
97
+ grid-template-columns: repeat(3, 1fr);
98
+ gap: var(--mer-spacing--md);
99
+ margin-block-start: var(--mer-spacing--sm);
100
+ }
101
+ .modified-inputs .field {
102
+ display: flex;
103
+ flex-direction: column;
104
+ gap: var(--mer-spacing--sm);
105
+ }
106
+ .modified-inputs .field.hide {
107
+ display: none;
108
+ }
109
+ .modified-inputs .field .input,
110
+ .modified-inputs .field .combo-box {
111
+ width: 100%;
112
+ }
113
+
114
+ .tabular-grid-ww-files {
115
+ overflow: auto;
116
+ inline-size: 100%;
117
+ border-inline-end: var(--section-common-border);
118
+ }
119
+
120
+ .main__files-container {
121
+ display: grid;
122
+ grid-template-columns: repeat(4, 1fr);
123
+ gap: var(--mer-spacing--xs);
124
+ position: relative;
125
+ z-index: 1;
126
+ }
127
+
128
+ .hiChar {
129
+ color: var(--mer-color__primary--200);
130
+ filter: brightness(1.3);
131
+ }
132
+
133
+ .tabular-grid-ww-files ch-tabular-grid-cell:is(:nth-child(4)) {
134
+ padding-block: var(--grid-cell__padding-block);
135
+ padding-inline: var(--grid-cell__padding-inline);
136
+ align-items: start;
137
+ justify-content: start;
138
+ display: inline-block;
139
+ white-space: nowrap;
140
+ overflow: hidden;
141
+ text-overflow: ellipsis;
142
+ }
143
+ @container (max-width: 992px) {
144
+ .main__files-container {
145
+ grid-template-columns: repeat(3, 1fr);
146
+ }
147
+ }