@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
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mapOptionsToComboBoxItemModel","options","map","option","value","id","caption","label","startImgSrc","_a","iconName","wwFilesCss","CSS_BUNDLES","FILTER_AFTER_DATE_TIME","FILTER_AFTER_LAST_BUILD","FILTER_AFTER_IMPORT","GxIdeWWFiles","_GxIdeWWFiles_componentLocale","set","this","_GxIdeWWFiles_ACCORDION_FILTER_ID","_GxIdeWWFiles_ACCORDION_MODEL","_GxIdeWWFiles_chGridEl","_GxIdeWWFiles_filterAfterTypeEl","_GxIdeWWFiles_filterAllDescendantsEl","_GxIdeWWFiles_filterCategoryEl","_GxIdeWWFiles_filterModifiedDateEl","_GxIdeWWFiles_filterModuleEl","_GxIdeWWFiles_filterModifiedEl","_GxIdeWWFiles_filterNameEl","_GxIdeWWFiles_filterSearchContentsEl","_GxIdeWWFiles_filterUserEl","_GxIdeWWFiles_renderHeader","h","class","htmlFor","__classPrivateFieldGet","filter","name","ref","el","__classPrivateFieldSet","filterFilesInputValue","onInput","_GxIdeWWFiles_handleFilterInput","part","moduleFolder","labelPosition","defaultModule","defaultValue","selectEntityCallback","selectModuleCallback","model","onExpandedChange","_GxIdeWWFiles_expandedHandler","slot","showSearchContents","content","_GxIdeWWFiles_handleSearchContentsInput","category","defaultCategory","disabled","categories","categoriesComboBoxModel","_GxIdeWWFiles_getObjects","allDescendants","checkedValue","modified","_GxIdeWWFiles_filterModifiedCallbackHandle","hide","filterModified","after","afterCurrentValue","filterAfterOptions","_GxIdeWWFiles_filterAfterTypeCallbackHandle","user","dateTime","type","_GxIdeWWFiles_renderObjects","rowSelectionMode","columnName","columnNameHidden","settingable","size","config","tabularGrid","colSize","maxContent","tableHead","common","showType","module","showDescription","description","commonDouble","showModifiedDate","modifiedDate","showLastUser","lastUser","showImportDate","importDate","showLastBuildDate","lastBuildDate","filteredFiles","length","obj","rowid","src","icon","_GxIdeWWFiles_hiChar","call","toLowerCase","_GxIdeWWFiles_formatDate","text","search","parts","split","RegExp","i","key","date","toISOString","slice","filters","searchContents","parent","modifiedAfter","modifiedBy","Date","loadCallback","then","items","objects","_GxIdeWWFiles_filterFiles","selectedObjectsIds","_GxIdeWWFiles_deselectAll","filterValue","_b","file","nameMatch","includes","typeMatch","moduleMatch","descriptionMatch","modifiedDateMatch","toString","lastUserMatch","_c","importDateMatch","_d","contentsMatch","_e","event","detail","_GxIdeWWFiles_deleteSelectionCallbackHandle","deleteSelectionCallback","selectAllRows","e","advancedFilterAccordionExpanded","expanded","filterMore","enabledModifiedControls","newValue","_GxIdeWWFiles_listenChanges","addEventListener","ev","rowsId","selectionChangeCallback","_GxIdeWWFiles_openSelectionCallbackHandle","preventDefault","stopPropagation","contextMenuCallback","selection","selectedRowsId","clientX","clientY","_GxIdeWWFiles_newFileCallbackHandle","newFileCallback","openSelectionCallback","_GxIdeWWFiles_selectAll","categoriesChanged","newCategories","componentWillLoad","Locale","getComponentStrings","accordionCaption","componentDidLoadEvent","emit","componentDidLoad","keyDownHandler","eventInfo","document","activeElement","validate","isValid","reload","undefined","render","Host","objCount","matching","onClick","footer","btnSelectAll","btnNew"],"sources":["src/components/ww-files/helpers.tsx","src/components/ww-files/ww-files.scss?tag=gx-ide-ww-files&encapsulation=shadow","src/components/ww-files/ww-files.tsx"],"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","@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/mercury.scss\";\n\n:host {\n container-type: inline-size;\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.hide {\n display: none !important;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - - -\n// Header\n// - - - - - - - - - - - -\n\n.header {\n grid-template-areas:\n \"name module-folder\"\n \"advanced-filter-accordion advanced-filter-accordion\";\n grid-template-columns: 1fr 1fr;\n grid-auto-rows: max-content max-content;\n}\n\n.name {\n grid-area: name;\n}\n\n.module-folder {\n grid-area: module-folder;\n}\n\n.advanced-filter-accordion {\n grid-area: advanced-filter-accordion;\n}\n\n// - - - - - - - - - - - -\n// Main\n// - - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr auto;\n gap: var(--mer-spacing--md);\n overflow: auto;\n padding-block-start: var(--mer-spacing--md);\n}\n\n.main__grid {\n display: grid;\n grid-template-rows: max-content 1fr;\n gap: var(--mer-spacing--md);\n overflow: auto;\n}\n\n.main__filter {\n display: grid;\n grid-auto-rows: max-content;\n gap: var(--mer-spacing--sm);\n overflow: auto;\n}\n\n// Search Content\n.search-content {\n inline-size: 100%;\n}\n\n// Category and Checkboxes Row\n.filter-row {\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: var(--mer-spacing--md);\n}\n\n.category-column {\n grid-column: 1;\n}\n\n.checkboxes-column {\n grid-column: 2;\n display: flex;\n flex-direction: row;\n gap: var(--mer-spacing--md);\n align-items: center;\n min-block-size: 100%;\n justify-content: flex-start;\n padding-block-start: 1.75rem;\n}\n\n// Modified Inputs\n.modified-inputs {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: var(--mer-spacing--md);\n margin-block-start: var(--mer-spacing--sm);\n\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--sm);\n\n &.hide {\n display: none;\n }\n\n .input,\n .combo-box {\n width: 100%;\n }\n }\n}\n\n// - - - - - - - - - - - -\n// Grid\n// - - - - - - - - - - - -\n\n.tabular-grid-ww-files {\n overflow: auto;\n inline-size: 100%;\n border-inline-end: var(--section-common-border);\n}\n\n.main__files-container {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: var(--mer-spacing--xs);\n position: relative;\n z-index: 1;\n}\n\n@include hiChar;\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-ww-files\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 4\n )\n);\n\n// - - - - - - - - - - - -\n// Responsive\n// - - - - - - - - - - - -\n\n@container (max-width: 992px) {\n .main__files-container {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Listen,\n Watch\n} from \"@stencil/core\";\n\nimport { ChGridRowContextMenuEvent } from \"@genexus/chameleon-controls-library\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport { GxOption } from \"../../common/types\";\nimport { EntityData, ContextMenuInfo } from \"../../common/types\";\nimport { config } from \"../../common/config\";\nimport { mapOptionsToComboBoxItemModel } from \"./helpers\";\nimport {\n AccordionModel,\n ComboBoxModel\n} from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/accordion\",\n \"components/edit\",\n \"components/tabular-grid\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\"\n];\n\nconst FILTER_AFTER_DATE_TIME = \"afterDateTime\";\nconst FILTER_AFTER_LAST_BUILD = \"afterLastBuild\";\nconst FILTER_AFTER_IMPORT = \"afterImport\";\n\n@Component({\n tag: \"gx-ide-ww-files\",\n styleUrl: \"ww-files.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ww-files\"]\n})\nexport class GxIdeWWFiles {\n #componentLocale: any;\n #ACCORDION_FILTER_ID = \"advanced-filter\";\n #ACCORDION_MODEL: AccordionModel = [];\n\n @Element() el: HTMLGxIdeWwFilesElement;\n\n #chGridEl!: HTMLChTabularGridElement;\n #filterAfterTypeEl!: HTMLChComboBoxRenderElement;\n #filterAllDescendantsEl!: HTMLChCheckboxElement;\n #filterCategoryEl!: HTMLChComboBoxRenderElement;\n #filterModifiedDateEl!: HTMLChEditElement;\n #filterModuleEl!: HTMLGxIdeEntitySelectorElement;\n #filterModifiedEl!: HTMLChCheckboxElement;\n #filterNameEl!: HTMLChEditElement;\n #filterSearchContentsEl!: HTMLChEditElement;\n #filterUserEl!: HTMLChEditElement;\n\n // representations of GxOption[] as ComboBoxModel\n @State() categoriesComboBoxModel: ComboBoxModel = [];\n\n /**\n * The current value of the \"After\" combo box options.\n */\n @State() afterCurrentValue: string = FILTER_AFTER_DATE_TIME;\n\n /**\n * The options for the \"After\" combo-box\n */\n @State() filterAfterOptions: ComboBoxModel;\n\n /**\n * When true, modified controls will be enabled, otherwise disabled.\n */\n @State() enabledModifiedControls: boolean = false;\n\n /**\n * For show or hide the filters relative to modifiers\n */\n @State() filterModified = false;\n\n /**\n * For show or hide advanced filters\n */\n @State() filterMore = false;\n\n /**\n * The files rendered in the table\n */\n @State() objects: ObjectData[] = [];\n\n /**\n * Files filter input value\n */\n @State() filterFilesInputValue = \"\";\n\n /**\n * Files rendered in the table after filtering\n */\n @State() filteredFiles: ObjectData[] = [];\n\n /**\n * The selected files in the table of files\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * Controls the expanded state of the advanced filter accordion\n */\n @State() advancedFilterAccordionExpanded: boolean = false;\n\n /**\n * The categories render in the filter category selector\n */\n @Prop() readonly categories!: GxOption[];\n @Watch(\"categories\")\n categoriesChanged(newCategories: GxOption[]) {\n this.categoriesComboBoxModel = mapOptionsToComboBoxItemModel(newCategories);\n }\n\n /**\n * The default value for the category filter\n */\n @Prop() readonly defaultCategory: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * The modules/folders render in the module/folder selector\n */\n @Prop() readonly filterModules!: GxOption[];\n\n /**\n * The types render in the filter type selector\n */\n @Prop() readonly types!: GxOption[];\n\n /**\n * This is a function provided by the developer for show the context menu of the selected files.\n */\n @Prop() readonly contextMenuCallback!: ContextMenuCallback;\n\n /**\n * This is a function provided by the developer for delete the selected files.\n */\n @Prop() readonly deleteSelectionCallback!: DeleteSelectionCallback;\n\n /**\n * This is a function provided by the developer that return a list of files to populate the table of files.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n *\n */\n @Prop() readonly newFileCallback!: NewFileCallback;\n\n /**\n * This is a function provided by the developer to expand the data of files that is double-clicked or entered.\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback!: SelectModuleCallback;\n\n /**\n * This is a function provided by the developer for expanded the data of files that is double-clicked or entered.\n */\n @Prop() readonly selectionChangeCallback!: SelectionChangeCallback;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * Controls whether to show the Search contents field in the advanced filter section\n */\n @Prop() showSearchContents = false;\n\n /**\n * Controls whether to show the description column in the grid\n */\n @Prop() showDescription = false;\n\n /**\n * Controls whether to show the modified date column in the grid\n */\n @Prop() showModifiedDate = false;\n\n /**\n * Controls whether to show the last user column in the grid\n */\n @Prop() showLastUser = false;\n\n /**\n * Controls whether to show the import date column in the grid\n */\n @Prop() showImportDate = false;\n\n /**\n * Controls whether to show the type column in the grid\n */\n @Prop() showType = false;\n\n /**\n * Controls whether to show the last build date column in the grid\n */\n @Prop() showLastBuildDate = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n // initialize combo-box models\n this.categoriesChanged(this.categories);\n\n // initialize \"After\" combo-box options\n this.filterAfterOptions = [\n {\n caption: this.#componentLocale.filter[FILTER_AFTER_DATE_TIME],\n value: FILTER_AFTER_DATE_TIME\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER_LAST_BUILD],\n value: FILTER_AFTER_LAST_BUILD\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER_IMPORT],\n value: FILTER_AFTER_IMPORT\n }\n ];\n this.afterCurrentValue = FILTER_AFTER_DATE_TIME;\n\n // initialize accordion model with proper configuration\n this.#ACCORDION_MODEL = [\n {\n id: this.#ACCORDION_FILTER_ID,\n caption: this.#componentLocale.filter.accordionCaption,\n expanded: this.advancedFilterAccordionExpanded\n }\n ];\n\n // initialize filtered files\n this.filteredFiles = this.objects;\n\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.#listenChanges();\n this.#getObjects();\n }\n\n @Listen(\"keydown\", { passive: true })\n keyDownHandler(eventInfo: KeyboardEvent) {\n if (document.activeElement === this.el) {\n switch (eventInfo.key) {\n case \"Enter\":\n eventInfo.preventDefault();\n this.#openSelectionCallbackHandle();\n break;\n case \"Delete\":\n eventInfo.preventDefault();\n this.#deleteSelectionCallbackHandle();\n break;\n case \"Escape\":\n eventInfo.preventDefault();\n this.#deselectAll();\n break;\n }\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n /**\n * This method reload the view, refreshing the filters and the table of files.\n */\n @Method()\n async reload(): Promise<void> {\n this.filterFilesInputValue = \"\";\n this.#filterUserEl.value = null;\n this.#filterAfterTypeEl.value = null;\n this.afterCurrentValue = null;\n this.#filterModifiedEl.value = undefined;\n this.#filterAllDescendantsEl.value = undefined;\n this.#filterModuleEl.value = this.defaultModule;\n this.#filterCategoryEl.value = null;\n this.#filterSearchContentsEl.value = null;\n this.#filterNameEl.value = null;\n this.filterMore = false;\n this.#getObjects();\n }\n\n #renderHeader = (): Element[] => {\n return [\n <div class=\"field field-block name\">\n <label class=\"label\" htmlFor=\"filter-files\">\n {this.#componentLocale.filter.name}\n </label>\n <ch-edit\n id=\"filter-files\"\n class=\"input\"\n ref={(el: HTMLChEditElement) => (this.#filterNameEl = el)}\n value={this.filterFilesInputValue}\n onInput={this.#handleFilterInput}\n part=\"filter-files\"\n ></ch-edit>\n </div>,\n\n <div class=\"field field-block module-folder\">\n <label class=\"label\" htmlFor=\"module-folder\">\n {this.#componentLocale.filter.moduleFolder}\n </label>\n\n <gx-ide-entity-selector\n part=\"filter-module-folder\"\n id=\"module/folder\"\n labelPosition=\"none\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#filterModuleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n ></gx-ide-entity-selector>\n </div>,\n\n <ch-accordion-render\n class=\"accordion-outlined advanced-filter-accordion\"\n model={this.#ACCORDION_MODEL}\n onExpandedChange={this.#expandedHandler}\n >\n <div slot={this.#ACCORDION_FILTER_ID} class=\"spacing-body\">\n <div class=\"main__filter\">\n {/* Primera fila - Search Content */}\n {this.showSearchContents && (\n <div class=\"search-content\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"filter-content\">\n {this.#componentLocale.filter.content}\n </label>\n <ch-edit\n id=\"filter-content\"\n class=\"input\"\n ref={(el: HTMLChEditElement) =>\n (this.#filterSearchContentsEl = el as HTMLChEditElement)\n }\n onInput={this.#handleSearchContentsInput}\n part=\"filter-content\"\n ></ch-edit>\n </div>\n </div>\n )}\n\n {/* Segunda fila - Category y Checkboxes */}\n <div class=\"filter-row\">\n <div class=\"category-column\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"filter-category\">\n {this.#componentLocale.filter.category}\n </label>\n <ch-combo-box-render\n id=\"filter-category\"\n class=\"combo-box\"\n value={this.defaultCategory}\n disabled={!this.categories}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#filterCategoryEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={this.categoriesComboBoxModel}\n part=\"filter-category\"\n onInput={this.#getObjects}\n ></ch-combo-box-render>\n </div>\n </div>\n\n <div class=\"checkboxes-column\">\n <ch-checkbox\n class=\"checkbox\"\n caption={this.#componentLocale.filter.allDescendants}\n checkedValue=\"filterAllDescendants\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#filterAllDescendantsEl = el as HTMLChCheckboxElement)\n }\n onInput={this.#getObjects}\n part=\"filter-all-descendants\"\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox align-center\"\n caption={this.#componentLocale.filter.modified}\n checkedValue=\"filterModified\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#filterModifiedEl = el as HTMLChCheckboxElement)\n }\n onInput={this.#filterModifiedCallbackHandle}\n part=\"filter-modified\"\n ></ch-checkbox>\n </div>\n\n <div class=\"empty-column\"></div>\n </div>\n\n {/* Tercera fila - Modified inputs */}\n <div\n class={{ \"modified-inputs\": true, \"hide\": !this.filterModified }}\n >\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"filter-after-type\">\n {this.#componentLocale.filter.after}\n </label>\n <ch-combo-box-render\n id=\"filter-after-type\"\n class=\"combo-box\"\n value={this.afterCurrentValue}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#filterAfterTypeEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={this.filterAfterOptions}\n onInput={this.#filterAfterTypeCallbackHandle}\n part=\"filter-after-type\"\n ></ch-combo-box-render>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"filter-user\">\n {this.#componentLocale.filter.user}\n </label>\n <ch-edit\n id=\"filter-user\"\n class=\"input\"\n ref={(el: HTMLChEditElement) =>\n (this.#filterUserEl = el as HTMLChEditElement)\n }\n onInput={this.#getObjects}\n part=\"filter-user\"\n ></ch-edit>\n </div>\n\n <div\n class={{\n \"field field-block\": true,\n \"hide\": this.afterCurrentValue !== FILTER_AFTER_DATE_TIME\n }}\n >\n <label class=\"label\" htmlFor=\"filter-modified-date\">\n {this.#componentLocale.filter.dateTime}\n </label>\n <ch-edit\n id=\"filter-modified-date\"\n type=\"date\"\n class=\"input\"\n ref={(el: HTMLChEditElement) =>\n (this.#filterModifiedDateEl = el as HTMLChEditElement)\n }\n onInput={this.#getObjects}\n part=\"filter-modified-date\"\n ></ch-edit>\n </div>\n </div>\n </div>\n </div>\n </ch-accordion-render>\n ];\n };\n\n #renderObjects = (): Element => {\n return (\n <div class=\"field-group main__grid\">\n <ch-tabular-grid\n ref={(el: HTMLChTabularGridElement) => (this.#chGridEl = el)}\n class=\"tabular-grid tabular-grid-ww-files\"\n rowSelectionMode=\"multiple\"\n part=\"ch-grid-files\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnName=\"\"\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.name}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n\n {this.showType && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.type}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.module}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n\n {this.showDescription && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.description}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n {this.showModifiedDate && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.modifiedDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n {this.showLastUser && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.lastUser}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n {this.showImportDate && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.importDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n\n {this.showLastBuildDate && (\n <ch-tabular-grid-column\n columnName={this.#componentLocale.tableHead.lastBuildDate}\n columnNameHidden={false}\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n )}\n </ch-tabular-grid-columnset>\n\n {this.filteredFiles.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.filteredFiles.map((obj: ObjectData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.icon}></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#hiChar(\n obj.name.toLowerCase(),\n this.filterFilesInputValue\n )}\n </ch-tabular-grid-cell>\n {this.showType && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#hiChar(\n obj.type.toLowerCase(),\n this.filterFilesInputValue\n )}\n </ch-tabular-grid-cell>\n )}\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#hiChar(\n obj.module.toLowerCase(),\n this.filterFilesInputValue\n )}\n </ch-tabular-grid-cell>\n {this.showDescription && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#hiChar(\n obj.description.toLowerCase(),\n this.filterFilesInputValue\n )}\n </ch-tabular-grid-cell>\n )}\n {this.showModifiedDate && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#hiChar(\n obj.modifiedDate\n ? this.#formatDate(obj.modifiedDate)\n : \"\",\n this.filterFilesInputValue\n )}\n </ch-tabular-grid-cell>\n )}\n {this.showLastUser && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#hiChar(\n obj.lastUser?.toLowerCase() || \"\",\n this.filterFilesInputValue\n )}\n </ch-tabular-grid-cell>\n )}\n {this.showImportDate && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#hiChar(\n obj.importDate ? this.#formatDate(obj.importDate) : \"\",\n this.filterFilesInputValue\n )}\n </ch-tabular-grid-cell>\n )}\n {this.showLastBuildDate && (\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#hiChar(\n obj.lastBuildDate\n ? this.#formatDate(obj.lastBuildDate)\n : \"\",\n this.filterFilesInputValue\n )}\n </ch-tabular-grid-cell>\n )}\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : null}\n </ch-tabular-grid>\n </div>\n );\n };\n\n #hiChar = (text: string, search: string): Element[] | string => {\n if (!search) return text;\n const parts = text.split(new RegExp(`(${search})`, \"gi\"));\n return parts.map((part, i) =>\n part.toLowerCase() === search.toLowerCase() ? (\n <span key={i} class=\"highlight\">\n {part}\n </span>\n ) : (\n part\n )\n );\n };\n\n #formatDate = (date: Date): string => {\n return date.toISOString().slice(0, 10);\n };\n\n #getObjects = () => {\n const filters: ObjectFiltersData = {\n name: this.#filterNameEl.value,\n searchContents: this.showSearchContents\n ? this.#filterSearchContentsEl?.value\n : null,\n category: this.#filterCategoryEl.value,\n parent: this.#filterModuleEl.value ? this.#filterModuleEl.value.id : null,\n allDescendants: !!this.#filterAllDescendantsEl.value,\n modifiedAfter: this.filterModified ? this.afterCurrentValue : null,\n modifiedBy: this.filterModified ? this.#filterUserEl.value : null,\n modifiedDate:\n this.filterModified && this.afterCurrentValue === FILTER_AFTER_DATE_TIME\n ? new Date(this.#filterModifiedDateEl.value)\n : null\n };\n\n this.loadCallback(filters).then((items: ObjectData[]) => {\n this.objects = items;\n this.#filterFiles();\n this.selectedObjectsIds = [];\n this.#deselectAll();\n });\n };\n\n #filterFiles = () => {\n const filterValue = this.filterFilesInputValue.toLowerCase();\n const searchContents = this.showSearchContents\n ? this.#filterSearchContentsEl?.value?.toLowerCase() || \"\"\n : \"\";\n\n this.filteredFiles = this.objects.filter(file => {\n const nameMatch = file.name.toLowerCase().includes(filterValue);\n const typeMatch = file.type.toLowerCase().includes(filterValue);\n const moduleMatch = file.module.toLowerCase().includes(filterValue);\n const descriptionMatch = file.description\n ?.toLowerCase()\n .includes(filterValue);\n const modifiedDateMatch = file.modifiedDate\n ?.toString()\n .includes(filterValue);\n const lastUserMatch = file.lastUser?.toLowerCase().includes(filterValue);\n const importDateMatch = file.importDate?.toString().includes(filterValue);\n const contentsMatch = searchContents\n ? file.description?.toLowerCase().includes(searchContents)\n : true;\n\n return (\n (nameMatch ||\n typeMatch ||\n moduleMatch ||\n descriptionMatch ||\n modifiedDateMatch ||\n lastUserMatch ||\n importDateMatch) &&\n contentsMatch\n );\n });\n };\n\n #handleFilterInput = (event: CustomEvent<any> | InputEvent) => {\n this.filterFilesInputValue = event.detail.toLowerCase();\n this.#filterFiles();\n };\n\n #handleSearchContentsInput = () => {\n this.#filterFiles();\n };\n\n #deleteSelectionCallbackHandle = (): void => {\n this.deleteSelectionCallback(this.selectedObjectsIds);\n };\n #deselectAll = (): void => {\n (this.#chGridEl as any).selectAllRows(false);\n };\n\n #expandedHandler = (e: CustomEvent<{ id: string; expanded: boolean }>) => {\n if (e.detail.id === this.#ACCORDION_FILTER_ID) {\n this.advancedFilterAccordionExpanded = e.detail.expanded;\n this.filterMore = e.detail.expanded;\n }\n };\n #filterModifiedCallbackHandle = () => {\n this.filterModified = !!this.#filterModifiedEl.value;\n this.enabledModifiedControls = this.filterModified;\n if (!this.filterModified) {\n // Reset related fields when unchecking Modified\n this.#filterUserEl.value = null;\n this.#filterAfterTypeEl.value = null;\n this.afterCurrentValue = null;\n this.#filterModifiedDateEl.value = null;\n } else {\n // Restore default values when checking Modified\n this.afterCurrentValue = FILTER_AFTER_DATE_TIME;\n this.#filterAfterTypeEl.value = FILTER_AFTER_DATE_TIME;\n }\n this.#getObjects();\n };\n\n #filterAfterTypeCallbackHandle = () => {\n const newValue = this.#filterAfterTypeEl.value;\n // Validar que el valor sea uno de los permitidos\n if (\n [\n FILTER_AFTER_DATE_TIME,\n FILTER_AFTER_LAST_BUILD,\n FILTER_AFTER_IMPORT\n ].includes(newValue)\n ) {\n this.afterCurrentValue = newValue;\n } else {\n // Si no es un valor válido, establecer el valor por defecto\n this.afterCurrentValue = FILTER_AFTER_DATE_TIME;\n this.#filterAfterTypeEl.value = FILTER_AFTER_DATE_TIME;\n }\n this.#getObjects();\n };\n\n #listenChanges = (): void => {\n /* module/folder */\n this.#filterModuleEl.addEventListener(\"valueChanged\", () => {\n this.#getObjects();\n });\n\n // for grid selection\n this.#chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n this.selectionChangeCallback(this.selectedObjectsIds);\n });\n\n this.#chGridEl.addEventListener(\"rowDoubleClicked\", (): void => {\n this.#openSelectionCallbackHandle();\n });\n\n this.#chGridEl.addEventListener(\n \"rowContextMenu\",\n (ev: CustomEvent<ChGridRowContextMenuEvent>): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.contextMenuCallback({\n selection: ev.detail.selectedRowsId,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n );\n };\n\n #newFileCallbackHandle = (): void => {\n this.newFileCallback();\n };\n\n #openSelectionCallbackHandle = (): void => {\n this.openSelectionCallback(this.selectedObjectsIds);\n };\n\n #selectAll = (): void => {\n (this.#chGridEl as any).selectAllRows();\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start field-group\">\n {this.#renderHeader()}\n </header>\n\n <div class=\"main\">{this.#renderObjects()}</div>\n\n <footer class=\"control-footer-with-border control-footer-space-between spacing-body\">\n <p\n // matching objects\n class=\"text-body\"\n part=\"objects-matching\"\n >\n {`${this.filteredFiles.length} ${\n this.#componentLocale.objCount.matching\n }`}\n </p>\n\n <div class=\"buttons-spacer\">\n <button\n // select all button\n id=\"button-select-all\"\n class=\"button-secondary\"\n onClick={this.#selectAll}\n part=\"button button--select-all\"\n >\n {this.#componentLocale.footer.btnSelectAll}\n </button>\n\n <button\n // new file button\n id=\"button-new-file\"\n class=\"button-primary button-icon-and-text\"\n onClick={this.#newFileCallbackHandle}\n part=\"button button--new-file\"\n >\n {this.#componentLocale.footer.btnNew}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type SelectionChangeCallback = (ids: string[]) => Promise<void>;\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\nexport type DeleteSelectionCallback = (ids: string[]) => Promise<void>;\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n// export type ContextMenuCallback = (ids: string[]) => Promise<void>;\nexport type ContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport type NewFileCallback = () => Promise<void>;\nexport type LoadCallback = (\n filters: ObjectFiltersData\n) => Promise<ObjectData[]>;\n\nexport interface ObjectFiltersData {\n name?: string;\n searchContents?: string;\n category?: string;\n parent?: string;\n allDescendants?: boolean;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n}\nexport interface ObjectData {\n id: string;\n icon: string;\n name: string;\n type: string;\n description: string;\n parent: string;\n module: string;\n modifiedDate?: Date;\n lastUser?: string;\n importDate?: Date;\n lastBuildDate: Date;\n}\n"],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import { r as e, h as t, H as s, a as i } from "./p-25a9f1d7.js";
2
+
3
+ import { L as n } from "./p-311eedf3.js";
4
+
5
+ const o = ":host{display:grid;block-size:100%;grid-template-rows:1fr max-content}.field-group{grid-auto-rows:max-content}.main{overflow:auto}.section{display:contents}";
6
+
7
+ var a = undefined && undefined.__classPrivateFieldSet || function(e, t, s, i, n) {
8
+ if (i === "m") throw new TypeError("Private method is not writable");
9
+ if (i === "a" && !n) throw new TypeError("Private accessor was defined without a setter");
10
+ if (typeof t === "function" ? e !== t || !n : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
+ return i === "a" ? n.call(e, s) : n ? n.value = s : t.set(e, s), s;
12
+ };
13
+
14
+ var r = undefined && undefined.__classPrivateFieldGet || function(e, t, s, i) {
15
+ if (s === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
16
+ 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");
17
+ return s === "m" ? i : s === "a" ? i.call(e) : i ? i.value : t.get(e);
18
+ };
19
+
20
+ var c, d, l, h, f, u;
21
+
22
+ const p = [ "resets/box-sizing", "utils/form", "utils/spacing", "utils/layout", "chameleon/scrollbar", "components/checkbox", "components/button", "components/edit" ];
23
+
24
+ // ch-checkbox
25
+ const w = "on";
26
+
27
+ const v = "set-new-version-as-active";
28
+
29
+ const m = class {
30
+ constructor(t) {
31
+ e(this, t);
32
+ /**
33
+ * The component hard-coded strings translations.
34
+ */
35
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
36
+ c.set(this, void 0);
37
+ d.set(this, (e => {
38
+ const t = e.target;
39
+ if (t.id === v) {
40
+ this.setNewVersionAsActive = e.detail === w;
41
+ }
42
+ }));
43
+ l.set(this, (e => {
44
+ this.versionName = e.detail;
45
+ }));
46
+ h.set(this, (e => {
47
+ this.versionDescription = e.detail;
48
+ }));
49
+ f.set(this, (async () => {
50
+ this.cancelCallback();
51
+ }));
52
+ u.set(this, (async () => {
53
+ const e = {
54
+ versionName: this.versionName,
55
+ versionDescription: this.versionDescription,
56
+ setNewVersionAsActive: this.setNewVersionAsActive
57
+ };
58
+ this.createCallback(e);
59
+ }));
60
+ this.versionName = undefined;
61
+ this.versionDescription = undefined;
62
+ this.setNewVersionAsActive = false;
63
+ this.cancelCallback = undefined;
64
+ this.createCallback = undefined;
65
+ this.defaultInputValues = undefined;
66
+ }
67
+ defaultInputValuesChanged(e) {
68
+ this.versionName = e === null || e === void 0 ? void 0 : e.versionName;
69
+ this.versionDescription = e === null || e === void 0 ? void 0 : e.versionDescription;
70
+ }
71
+ async componentWillLoad() {
72
+ a(this, c, await n.getComponentStrings(this.el), "f");
73
+ this.defaultInputValuesChanged(this.defaultInputValues);
74
+ }
75
+ render() {
76
+ const e = !this.versionName || this.versionName.length === 0;
77
+ return t(s, {
78
+ class: "widget"
79
+ }, t("ch-theme", {
80
+ model: p
81
+ }), t("section", {
82
+ class: "section"
83
+ }, t("div", {
84
+ class: "main scrollable field-group spacing-body"
85
+ }, t("div", {
86
+ class: "field field-block"
87
+ }, t("label", {
88
+ class: "label",
89
+ htmlFor: "version-name"
90
+ }, r(this, c, "f").labels.name), t("ch-edit", {
91
+ type: "text",
92
+ id: "version-name",
93
+ class: "input",
94
+ placeholder: r(this, c, "f").placeHolders.name,
95
+ value: this.versionName,
96
+ onInput: r(this, l, "f")
97
+ })), t("div", {
98
+ class: "field field-block"
99
+ }, t("label", {
100
+ class: "label",
101
+ htmlFor: "version-description"
102
+ }, r(this, c, "f").labels.description), t("ch-edit", {
103
+ type: "text",
104
+ id: "version-description",
105
+ class: "input",
106
+ placeholder: r(this, c, "f").placeHolders.description,
107
+ value: this.versionDescription,
108
+ onInput: r(this, h, "f")
109
+ })), t("div", {
110
+ class: "field field-inline"
111
+ }, t("ch-checkbox", {
112
+ class: "checkbox",
113
+ id: "set-new-version-as-active",
114
+ checkedValue: w,
115
+ onInput: r(this, d, "f"),
116
+ caption: r(this, c, "f").labels.setActive
117
+ }))), t("footer", {
118
+ class: "control-footer-with-border spacing-body"
119
+ }, t("div", {
120
+ class: "buttons-spacer"
121
+ }, t("button", {
122
+ class: "button-secondary",
123
+ onClick: r(this, f, "f")
124
+ }, r(this, c, "f").buttons.cancel), t("button", {
125
+ class: "button-primary",
126
+ onClick: r(this, u, "f"),
127
+ disabled: e
128
+ }, r(this, c, "f").buttons.create)))));
129
+ }
130
+ static get assetsDirs() {
131
+ return [ "gx-ide-assets/new-version" ];
132
+ }
133
+ get el() {
134
+ return i(this);
135
+ }
136
+ static get watchers() {
137
+ return {
138
+ defaultInputValues: [ "defaultInputValuesChanged" ]
139
+ };
140
+ }
141
+ };
142
+
143
+ c = new WeakMap, d = new WeakMap, l = new WeakMap, h = new WeakMap, f = new WeakMap,
144
+ u = new WeakMap;
145
+
146
+ m.style = o;
147
+
148
+ export { m as gx_ide_new_version };
149
+ //# sourceMappingURL=p-c91af626.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["newVersionCss","CSS_BUNDLES","CHECKED_VALUE","SET_NEW_VERSION_AS_ACTIVE_ID","GxIdeNewVersion","_GxIdeNewVersion_componentLocale","set","this","_GxIdeNewVersion_handleCheckBoxValueChange","event","target","id","setNewVersionAsActive","detail","_GxIdeNewVersion_handleNameValueChange","versionName","_GxIdeNewVersion_handleDescriptionValueChange","versionDescription","_GxIdeNewVersion_cancelClickHandler","async","cancelCallback","_GxIdeNewVersion_createClickHandler","newVersionData","createCallback","defaultInputValuesChanged","newDefaultInputValues","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","defaultInputValues","render","createButtonDisabled","length","h","Host","class","model","htmlFor","__classPrivateFieldGet","labels","name","type","placeholder","placeHolders","value","onInput","description","checkedValue","caption","setActive","onClick","buttons","cancel","disabled","create"],"sources":["src/components/new-version/new-version.scss?tag=gx-ide-new-version&encapsulation=shadow","src/components/new-version/new-version.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: 1fr max-content;\n}\n\n.field-group {\n grid-auto-rows: max-content;\n}\n\n.main {\n overflow: auto;\n}\n\n.section {\n display: contents;\n}\n","import { Component, Host, Prop, Element, State, h, Watch } from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ChCheckboxCustomEvent } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/spacing\",\n \"utils/layout\",\n \"chameleon/scrollbar\",\n \"components/checkbox\",\n \"components/button\",\n \"components/edit\"\n];\n\n// ch-checkbox\nconst CHECKED_VALUE = \"on\";\nconst SET_NEW_VERSION_AS_ACTIVE_ID = \"set-new-version-as-active\";\n\n@Component({\n tag: \"gx-ide-new-version\",\n styleUrl: \"new-version.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-version\"]\n})\nexport class GxIdeNewVersion {\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: HTMLGxIdeNewVersionElement;\n\n /**\n * The version selected name\n */\n @State() versionName: string;\n\n /**\n * The version selected description\n */\n @State() versionDescription: string;\n\n /**\n * Checkbox value to set the new version as active\n */\n @State() setNewVersionAsActive: boolean = false;\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 'Create' button is pressed.\n */\n @Prop() readonly createCallback: (\n newVersionData: NewVersionData\n ) => Promise<void>;\n\n /**\n * This property is used to set the initial values of the input fields when the component is loaded.\n */\n @Prop() readonly defaultInputValues: NewVersionData;\n @Watch(\"defaultInputValues\")\n defaultInputValuesChanged(newDefaultInputValues: NewVersionData) {\n this.versionName = newDefaultInputValues?.versionName;\n this.versionDescription = newDefaultInputValues?.versionDescription;\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.defaultInputValuesChanged(this.defaultInputValues);\n }\n\n #handleCheckBoxValueChange = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n const target = event.target as HTMLInputElement;\n if (target.id === SET_NEW_VERSION_AS_ACTIVE_ID) {\n this.setNewVersionAsActive = event.detail === CHECKED_VALUE;\n }\n };\n\n #handleNameValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.versionName = event.detail as string;\n };\n\n #handleDescriptionValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.versionDescription = event.detail as string;\n };\n\n #cancelClickHandler = async () => {\n this.cancelCallback();\n };\n\n #createClickHandler = async () => {\n const newVersionData: NewVersionData = {\n versionName: this.versionName,\n versionDescription: this.versionDescription,\n setNewVersionAsActive: this.setNewVersionAsActive\n };\n this.createCallback(newVersionData);\n };\n\n render() {\n const createButtonDisabled =\n !this.versionName || this.versionName.length === 0;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <div class=\"main scrollable field-group spacing-body\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"version-name\">\n {this.#componentLocale.labels.name}\n </label>\n <ch-edit\n type=\"text\"\n id=\"version-name\"\n class=\"input\"\n placeholder={this.#componentLocale.placeHolders.name}\n value={this.versionName}\n onInput={this.#handleNameValueChange}\n ></ch-edit>\n </div>\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"version-description\">\n {this.#componentLocale.labels.description}\n </label>\n <ch-edit\n type=\"text\"\n id=\"version-description\"\n class=\"input\"\n placeholder={this.#componentLocale.placeHolders.description}\n value={this.versionDescription}\n onInput={this.#handleDescriptionValueChange}\n ></ch-edit>\n </div>\n <div class=\"field field-inline\">\n <ch-checkbox\n class=\"checkbox\"\n id=\"set-new-version-as-active\"\n checkedValue={CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n caption={this.#componentLocale.labels.setActive}\n ></ch-checkbox>\n </div>\n </div>\n\n <footer class=\"control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n onClick={this.#cancelClickHandler}\n >\n {this.#componentLocale.buttons.cancel}\n </button>\n\n <button\n class=\"button-primary\"\n onClick={this.#createClickHandler}\n disabled={createButtonDisabled}\n >\n {this.#componentLocale.buttons.create}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type NewVersionData = {\n versionName: string;\n versionDescription: string;\n setNewVersionAsActive?: boolean;\n};\n"],"mappings":";;;;AAAA,MAAMA,IAAgB;;;;;;;;;;;;;;;;;ACMtB,MAAMC,IAA8B,EAClC,qBACA,cACA,iBACA,gBACA,uBACA,uBACA,qBACA;;cAIF;MAAMC,IAAgB;;AACtB,MAAMC,IAA+B;;MAQxBC,IAAe;;;;;;;QAK1BC,EAAAC,IAAAC,WAAA;IA8CAC,EAAAF,IAAAC,OACEE;MAEA,MAAMC,IAASD,EAAMC;MACrB,IAAIA,EAAOC,OAAOR,GAA8B;QAC9CI,KAAKK,wBAAwBH,EAAMI,WAAWX;;;IAIlDY,EAAAR,IAAAC,OAA0BE;MACxBF,KAAKQ,cAAcN,EAAMI;AAAgB;IAG3CG,EAAAV,IAAAC,OAAiCE;MAC/BF,KAAKU,qBAAqBR,EAAMI;AAAgB;IAGlDK,EAAAZ,IAAAC,OAAsBY;MACpBZ,KAAKa;AAAgB;IAGvBC,EAAAf,IAAAC,OAAsBY;MACpB,MAAMG,IAAiC;QACrCP,aAAaR,KAAKQ;QAClBE,oBAAoBV,KAAKU;QACzBL,uBAAuBL,KAAKK;;MAE9BL,KAAKgB,eAAeD;AAAe;;;iCAxDK;;;;;EAmB1C,yBAAAE,CAA0BC;IACxBlB,KAAKQ,cAAcU,MAAqB,QAArBA,WAAqB,aAArBA,EAAuBV;IAC1CR,KAAKU,qBAAqBQ,MAAqB,QAArBA,WAAqB,aAArBA,EAAuBR;;EAGnD,uBAAMS;IACJC,EAAApB,MAAIF,SAA0BuB,EAAOC,oBAAoBtB,KAAKuB,KAAG;IACjEvB,KAAKiB,0BAA0BjB,KAAKwB;;EAiCtC,MAAAC;IACE,MAAMC,KACH1B,KAAKQ,eAAeR,KAAKQ,YAAYmB,WAAW;IAEnD,OACEC,EAACC,GAAI;MAACC,OAAM;OACVF,EAAA;MAAUG,OAAOrC;QACjBkC,EAAA;MAASE,OAAM;OACbF,EAAA;MAAKE,OAAM;OACTF,EAAA;MAAKE,OAAM;OACTF,EAAA;MAAOE,OAAM;MAAQE,SAAQ;OAC1BC,EAAAjC,MAAIF,GAAA,KAAkBoC,OAAOC,OAEhCP,EAAA;MACEQ,MAAK;MACLhC,IAAG;MACH0B,OAAM;MACNO,aAAaJ,EAAAjC,MAAIF,GAAA,KAAkBwC,aAAaH;MAChDI,OAAOvC,KAAKQ;MACZgC,SAASP,EAAAjC,MAAIO,GAAA;SAGjBqB,EAAA;MAAKE,OAAM;OACTF,EAAA;MAAOE,OAAM;MAAQE,SAAQ;OAC1BC,EAAAjC,MAAIF,GAAA,KAAkBoC,OAAOO,cAEhCb,EAAA;MACEQ,MAAK;MACLhC,IAAG;MACH0B,OAAM;MACNO,aAAaJ,EAAAjC,MAAIF,GAAA,KAAkBwC,aAAaG;MAChDF,OAAOvC,KAAKU;MACZ8B,SAASP,EAAAjC,MAAIS,GAAA;SAGjBmB,EAAA;MAAKE,OAAM;OACTF,EAAA;MACEE,OAAM;MACN1B,IAAG;MACHsC,cAAc/C;MACd6C,SAASP,EAAAjC,MAAIC,GAAA;MACb0C,SAASV,EAAAjC,MAAIF,GAAA,KAAkBoC,OAAOU;UAK5ChB,EAAA;MAAQE,OAAM;OACZF,EAAA;MAAKE,OAAM;OACTF,EAAA;MACEE,OAAM;MACNe,SAASZ,EAAAjC,MAAIW,GAAA;OAEZsB,EAAAjC,MAAIF,GAAA,KAAkBgD,QAAQC,SAGjCnB,EAAA;MACEE,OAAM;MACNe,SAASZ,EAAAjC,MAAIc,GAAA;MACbkC,UAAUtB;OAETO,EAAAjC,MAAIF,GAAA,KAAkBgD,QAAQG"}
@@ -0,0 +1,36 @@
1
+ export declare class GxIdeNewVersion {
2
+ #private;
3
+ el: HTMLGxIdeNewVersionElement;
4
+ /**
5
+ * The version selected name
6
+ */
7
+ versionName: string;
8
+ /**
9
+ * The version selected description
10
+ */
11
+ versionDescription: string;
12
+ /**
13
+ * Checkbox value to set the new version as active
14
+ */
15
+ setNewVersionAsActive: boolean;
16
+ /**
17
+ * Callback that must be invoked when the 'Cancel' button is pressed.
18
+ */
19
+ readonly cancelCallback: () => Promise<void>;
20
+ /**
21
+ * Callback that must be invoked when the 'Create' button is pressed.
22
+ */
23
+ readonly createCallback: (newVersionData: NewVersionData) => Promise<void>;
24
+ /**
25
+ * This property is used to set the initial values of the input fields when the component is loaded.
26
+ */
27
+ readonly defaultInputValues: NewVersionData;
28
+ defaultInputValuesChanged(newDefaultInputValues: NewVersionData): void;
29
+ componentWillLoad(): Promise<void>;
30
+ render(): any;
31
+ }
32
+ export type NewVersionData = {
33
+ versionName: string;
34
+ versionDescription: string;
35
+ setNewVersionAsActive?: boolean;
36
+ };
@@ -35,6 +35,10 @@ export declare class GxIdeSelectKbItems {
35
35
  * Defines which nodes of the component have checkboxes.
36
36
  */
37
37
  readonly checkboxType: CheckboxType;
38
+ /**
39
+ * Define if a item node is expanded on click interaction. If false item-node will only be expanded on double click.
40
+ */
41
+ readonly expandOnClick: boolean;
38
42
  /**
39
43
  * Callback emitted when the items checked items change
40
44
  */
@@ -0,0 +1,3 @@
1
+ import { ComboBoxModel } from "@genexus/chameleon-controls-library";
2
+ import { GxOption } from "../..";
3
+ export declare const mapOptionsToComboBoxItemModel: (options: GxOption[]) => ComboBoxModel;
@@ -0,0 +1,172 @@
1
+ import { EventEmitter } from "../../stencil-public-runtime";
2
+ import { GxOption } from "../../common/types";
3
+ import { EntityData, ContextMenuInfo } from "../../common/types";
4
+ import { ComboBoxModel } from "@genexus/chameleon-controls-library";
5
+ export declare class GxIdeWWFiles {
6
+ #private;
7
+ el: HTMLGxIdeWwFilesElement;
8
+ categoriesComboBoxModel: ComboBoxModel;
9
+ /**
10
+ * The current value of the "After" combo box options.
11
+ */
12
+ afterCurrentValue: string;
13
+ /**
14
+ * The options for the "After" combo-box
15
+ */
16
+ filterAfterOptions: ComboBoxModel;
17
+ /**
18
+ * When true, modified controls will be enabled, otherwise disabled.
19
+ */
20
+ enabledModifiedControls: boolean;
21
+ /**
22
+ * For show or hide the filters relative to modifiers
23
+ */
24
+ filterModified: boolean;
25
+ /**
26
+ * For show or hide advanced filters
27
+ */
28
+ filterMore: boolean;
29
+ /**
30
+ * The files rendered in the table
31
+ */
32
+ objects: ObjectData[];
33
+ /**
34
+ * Files filter input value
35
+ */
36
+ filterFilesInputValue: string;
37
+ /**
38
+ * Files rendered in the table after filtering
39
+ */
40
+ filteredFiles: ObjectData[];
41
+ /**
42
+ * The selected files in the table of files
43
+ */
44
+ selectedObjectsIds: string[];
45
+ /**
46
+ * Controls the expanded state of the advanced filter accordion
47
+ */
48
+ advancedFilterAccordionExpanded: boolean;
49
+ /**
50
+ * The categories render in the filter category selector
51
+ */
52
+ readonly categories: GxOption[];
53
+ categoriesChanged(newCategories: GxOption[]): void;
54
+ /**
55
+ * The default value for the category filter
56
+ */
57
+ readonly defaultCategory: string;
58
+ /**
59
+ * The default value for the module/folder filter
60
+ */
61
+ readonly defaultModule: EntityData;
62
+ /**
63
+ * The modules/folders render in the module/folder selector
64
+ */
65
+ readonly filterModules: GxOption[];
66
+ /**
67
+ * The types render in the filter type selector
68
+ */
69
+ readonly types: GxOption[];
70
+ /**
71
+ * This is a function provided by the developer for show the context menu of the selected files.
72
+ */
73
+ readonly contextMenuCallback: ContextMenuCallback;
74
+ /**
75
+ * This is a function provided by the developer for delete the selected files.
76
+ */
77
+ readonly deleteSelectionCallback: DeleteSelectionCallback;
78
+ /**
79
+ * This is a function provided by the developer that return a list of files to populate the table of files.
80
+ */
81
+ readonly loadCallback: LoadCallback;
82
+ /**
83
+ *
84
+ */
85
+ readonly newFileCallback: NewFileCallback;
86
+ /**
87
+ * This is a function provided by the developer to expand the data of files that is double-clicked or entered.
88
+ */
89
+ readonly openSelectionCallback: OpenSelectionCallback;
90
+ /**
91
+ * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled.
92
+ */
93
+ readonly selectModuleCallback: SelectModuleCallback;
94
+ /**
95
+ * This is a function provided by the developer for expanded the data of files that is double-clicked or entered.
96
+ */
97
+ readonly selectionChangeCallback: SelectionChangeCallback;
98
+ /**
99
+ * This event is emitted once just after the component is fully loaded and the first render() occurs.
100
+ */
101
+ componentDidLoadEvent: EventEmitter<boolean>;
102
+ /**
103
+ * Controls whether to show the Search contents field in the advanced filter section
104
+ */
105
+ showSearchContents: boolean;
106
+ /**
107
+ * Controls whether to show the description column in the grid
108
+ */
109
+ showDescription: boolean;
110
+ /**
111
+ * Controls whether to show the modified date column in the grid
112
+ */
113
+ showModifiedDate: boolean;
114
+ /**
115
+ * Controls whether to show the last user column in the grid
116
+ */
117
+ showLastUser: boolean;
118
+ /**
119
+ * Controls whether to show the import date column in the grid
120
+ */
121
+ showImportDate: boolean;
122
+ /**
123
+ * Controls whether to show the type column in the grid
124
+ */
125
+ showType: boolean;
126
+ /**
127
+ * Controls whether to show the last build date column in the grid
128
+ */
129
+ showLastBuildDate: boolean;
130
+ componentWillLoad(): Promise<void>;
131
+ componentDidLoad(): void;
132
+ keyDownHandler(eventInfo: KeyboardEvent): void;
133
+ /**
134
+ * Validate necessary data input
135
+ */
136
+ validate(): Promise<boolean>;
137
+ /**
138
+ * This method reload the view, refreshing the filters and the table of files.
139
+ */
140
+ reload(): Promise<void>;
141
+ render(): void;
142
+ }
143
+ export type SelectionChangeCallback = (ids: string[]) => Promise<void>;
144
+ export type OpenSelectionCallback = (ids: string[]) => Promise<void>;
145
+ export type DeleteSelectionCallback = (ids: string[]) => Promise<void>;
146
+ export type SelectModuleCallback = () => Promise<EntityData | undefined>;
147
+ export type ContextMenuCallback = (contextMenuInfo: ContextMenuInfo) => Promise<void>;
148
+ export type NewFileCallback = () => Promise<void>;
149
+ export type LoadCallback = (filters: ObjectFiltersData) => Promise<ObjectData[]>;
150
+ export interface ObjectFiltersData {
151
+ name?: string;
152
+ searchContents?: string;
153
+ category?: string;
154
+ parent?: string;
155
+ allDescendants?: boolean;
156
+ modifiedAfter?: string;
157
+ modifiedBy?: string;
158
+ modifiedDate?: Date;
159
+ }
160
+ export interface ObjectData {
161
+ id: string;
162
+ icon: string;
163
+ name: string;
164
+ type: string;
165
+ description: string;
166
+ parent: string;
167
+ module: string;
168
+ modifiedDate?: Date;
169
+ lastUser?: string;
170
+ importDate?: Date;
171
+ lastBuildDate: Date;
172
+ }