@genexus/genexus-ide-ui 1.0.5 → 1.0.7

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 (32) hide show
  1. package/dist/cjs/assets-manager-64c42a1e.js.map +1 -1
  2. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +5 -5
  3. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +38 -5
  5. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  6. package/dist/collection/components/kb-manager-export/kb-manager-export.css +9 -16
  7. package/dist/collection/components/kb-manager-export/kb-manager-export.js +4 -4
  8. package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
  9. package/dist/collection/components/object-selector/object-selector.css +4 -598
  10. package/dist/collection/components/object-selector/object-selector.js +37 -4
  11. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  12. package/dist/components/assets-manager.js.map +1 -1
  13. package/dist/components/gx-ide-kb-manager-export.js +5 -5
  14. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  15. package/dist/components/gx-ide-object-selector.js +38 -5
  16. package/dist/components/gx-ide-object-selector.js.map +1 -1
  17. package/dist/esm/assets-manager-120996e9.js.map +1 -1
  18. package/dist/esm/gx-ide-kb-manager-export.entry.js +5 -5
  19. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  20. package/dist/esm/gx-ide-object-selector.entry.js +38 -5
  21. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  22. package/dist/genexus-ide-ui/genexus-ide-ui.css +7 -0
  23. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  24. package/dist/genexus-ide-ui/p-3824978b.entry.js +525 -0
  25. package/dist/genexus-ide-ui/p-3824978b.entry.js.map +1 -0
  26. package/dist/genexus-ide-ui/{p-2cb766ce.entry.js → p-69e879be.entry.js} +33 -31
  27. package/dist/genexus-ide-ui/p-69e879be.entry.js.map +1 -0
  28. package/dist/genexus-ide-ui/p-6df9fab1.js.map +1 -1
  29. package/package.json +5 -5
  30. package/dist/genexus-ide-ui/p-2cb766ce.entry.js.map +0 -1
  31. package/dist/genexus-ide-ui/p-b7384b06.entry.js +0 -507
  32. package/dist/genexus-ide-ui/p-b7384b06.entry.js.map +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genexus/genexus-ide-ui",
3
3
  "license": "Apache-2.0",
4
- "version": "1.0.5",
4
+ "version": "1.0.7",
5
5
  "description": "GeneXus IDE UI components",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.js",
@@ -34,13 +34,13 @@
34
34
  },
35
35
  "peerDependencies": {
36
36
  "@genexus/gemini": "*2.0.1",
37
- "@genexus/chameleon-controls-library": ">=6.0.0-next.37",
38
- "@genexus/mercury": "*0.8.11"
37
+ "@genexus/chameleon-controls-library": ">=6.0.0-next.38",
38
+ "@genexus/mercury": "*0.9.2"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@genexus/gemini": "*2.0.1",
42
- "@genexus/chameleon-controls-library": ">=6.0.0-next.37",
43
- "@genexus/mercury": "*0.8.11",
42
+ "@genexus/chameleon-controls-library": ">=6.0.0-next.38",
43
+ "@genexus/mercury": "*0.9.2",
44
44
  "@stencil-community/eslint-plugin": "~0.7.1",
45
45
  "@stencil/core": "~4.9.0",
46
46
  "@stencil/sass": "~1.4.0",
@@ -1 +0,0 @@
1
- {"version":3,"names":["KB_PROPERTY","KB_OBJECT","getPropertyIcon","typeId","kbPropertiesTypes","find","propertyType","id","icon","convertObjectTypeToTreeItem","objectType","caption","name","startImgSrc","leaf","parts","expanded","items","convertObjectToTreeItem","object","objectTypes","get","metadata","convertPropertyToTreeItem","property","updateObjectsTreeModel","objects","objectTypesMap","objectsSet","actualTreeState","updatedTreeData","forEach","has","objectTreeItem","objectTypeTreeItemIndex","findIndex","treeItem","objectTypeTreeItem","push","add","convertKbPropertiesDataToTreeItemData","properties","propertyAlreadyExists","node","undefined","propertyTreeItem","unshift","clearKbPropertiesFromTree","filter","item","kbManagerExportCss","FILE_ICON","getIconPath","category","colorType","SETTINGS_ICON","GENERAL_REFERENCES_ICON","MENUS_NEW_OBJECT_ICON","TREE_VIEW_ICON","CHECKBOX_CHECKED_VALUE","CSS_BUNDLES","GxIdeKbManagerExport","_GxIdeKbManagerExport_addKbDescriptionEl","set","this","_GxIdeKbManagerExport_componentLocale","_GxIdeKbManagerExport_animateEmptyState","_GxIdeKbManagerExport_exportAllEl","_GxIdeKbManagerExport_fileNameEl","_GxIdeKbManagerExport_kBPropertiesData","_GxIdeKbManagerExport_objectTypesMap","Map","_GxIdeKbManagerExport_objectsSet","Set","_GxIdeKbManagerExport_addKBPropertiesCallbackHandler","async","e","addKbPropertiesIsChecked","detail","target","value","__classPrivateFieldSet","addKBPropertiesCallback","__classPrivateFieldGet","length","objectsTreeViewModel","_GxIdeKbManagerExport_addObjectsCallbackHandler","exportAllIsChecked","addedObjects","addObjectsCallback","_GxIdeKbManagerExport_updateObjects","call","_GxIdeKbManagerExport_addReferencesCallbackHandler","addReferencesCallback","checkedObjectsIds","_GxIdeKbManagerExport_cancelCallbackHandler","cancelled","cancelCallback","exportingIsInProcess","_GxIdeKbManagerExport_clearButtonHandler","clear","_GxIdeKbManagerExport_evaluateContentToDisplay","hasObjects","h","isAnimated","stateTitle","main","noObjectsToDisplay","key","class","onClick","beginByADdingSomeObjects","stateIconSrc","exportAllMessage","checkbox","checked","dragDisabled","dropDisabled","_GxIdeKbManagerExport_evaluateTreeViewFilters","filterType","model","showLines","toggleCheckboxes","sortItemsCallback","_GxIdeKbManagerExport_sortTreeItems","onCheckedItemsChange","_GxIdeKbManagerExport_objectsTreeCheckedItemsChangedHandler","_GxIdeKbManagerExport_evaluateObjects","_GxIdeKbManagerExport_exportAllChangedHandler","event","_GxIdeKbManagerExport_exportCallbackHandler","fileName","checkedKbPropertiesIds","checkedPropertiesIds","checkedObjectIds","exportCallback","then","allItemsWithCheckbox","values","atLeastOnePropertyItemIsChecked","atLeastOneObjectItemIsChecked","subModel","sort","a","b","localeCompare","_GxIdeKbManagerExport_renderFooter","referencesButtonEnabled","clearButtonEnabled","disabled","part","footer","clearButton","src","addReferencesButton","addButton","objectsDataArray","newObjectsTreeModel","objectsTreeViewModelChanged","newObjectsTreeViewModel","objectTypesChanged","newObjectTypesArray","_GxIdeKbManagerExport_instances","_GxIdeKbManagerExport_objectsTypesArrayToMap","componentWillLoad","Locale","getComponentStrings","el","render","exportButtonEnabled","cancelButtonEnabled","Host","htmlFor","header","exportFileName","autoFocus","ref","exportButton","cancelButton","optionsButton","title","optionsCallback","addKnowledgeBaseDescription","checkedValue","onInput","exportAll","loader","cancelLabel","loaderTitle","show","objectTypesArray"],"sources":["src/components/kb-manager-export/helpers.ts","src/components/kb-manager-export/kb-manager-export.scss?tag=gx-ide-kb-manager-export&encapsulation=shadow","src/components/kb-manager-export/kb-manager-export.tsx"],"sourcesContent":["// /* Tree View */\nimport {\n TreeViewItemModel,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { ObjectData, KBPropertyData, KBPropertyType } from \"./types\";\nimport { ObjectType } from \"../../common/types\";\nexport const KB_PROPERTY = \"property\";\nexport const KB_OBJECT = \"object\";\n\nconst getPropertyIcon = (\n typeId: string,\n kbPropertiesTypes: KBPropertyType[]\n): string =>\n // The object icon has to be retrieved from the ObjectTypes array, by\n // matching the ObjectData typeId with the ObjectType id\n kbPropertiesTypes.find(propertyType => propertyType.id === typeId).icon;\n\nconst convertObjectTypeToTreeItem = (\n objectType: ObjectType\n): TreeViewItemModel => ({\n caption: objectType.name,\n id: objectType.id,\n startImgSrc: objectType.icon,\n leaf: false,\n parts: \"object-type tree-view-item\",\n expanded: true,\n items: []\n});\n\nconst convertObjectToTreeItem = (\n object: ObjectData,\n objectTypes: Map<string, ObjectType>\n): TreeViewItemModel => ({\n caption: object.name,\n id: object.id,\n startImgSrc: objectTypes.get(object.typeId).icon,\n parts: \"object tree-view-item\",\n metadata: KB_OBJECT,\n leaf: true\n});\n\nconst convertPropertyToTreeItem = (\n property: KBPropertyData,\n kbPropertiesTypes: KBPropertyType[]\n): TreeViewItemModel => ({\n caption: property.name,\n id: property.id,\n startImgSrc: getPropertyIcon(property.typeId, kbPropertiesTypes),\n parts: \"property tree-view-item\",\n metadata: KB_PROPERTY,\n leaf: true\n});\n\n/**\n * Updates the tree model with the provided objects.\n * Objects may already exist and are placed under their parent node.\n * If the parent node doesn't exist (identified by typeId on ObjectTypes),\n * it is created and added at the bottom.\n *\n * @param {ObjectData[] | undefined} objects - The array of objects to update.\n * @param {Map<string, ObjectType>} objectTypesMap - A map of object types by ID.\n * @param {Set<string>} objectsSet - A set of existing object IDs.\n * @param {TreeViewModel} actualTreeState - The current tree state to be updated.\n * @returns {TreeViewModel} - The updated tree view model.\n */\nexport const updateObjectsTreeModel = (\n objects: ObjectData[] | undefined,\n objectTypesMap: Map<string, ObjectType>,\n objectsSet: Set<string>,\n actualTreeState: TreeViewModel\n): TreeViewModel => {\n if (!objects) {\n return [...actualTreeState];\n }\n\n const updatedTreeData: TreeViewModel = [...actualTreeState];\n objects.forEach(object => {\n // objects that already exists in the actual actualTreeState should not be added.\n\n if (objectsSet.has(object.id)) {\n // object already exists\n return;\n }\n\n const objectTreeItem = convertObjectToTreeItem(object, objectTypesMap);\n\n // TODO: Improve the algorithm efficiency. This check visits potentially all nodes\n // from the TreeViewModel on each iteration. Using a Map to pre-store the TreeView\n // nodes would improve efficiency.\n const objectTypeTreeItemIndex = updatedTreeData.findIndex(\n treeItem => treeItem.id === object.typeId\n );\n\n if (objectTypeTreeItemIndex === -1) {\n // Create and add new object type tree item\n const objectType = objectTypesMap.get(object.typeId);\n if (objectType) {\n const objectTypeTreeItem = convertObjectTypeToTreeItem(objectType);\n objectTypeTreeItem.items.push(objectTreeItem);\n updatedTreeData.push(objectTypeTreeItem);\n }\n } else {\n // objectType exists already. insert object as children of the object type tree item.\n updatedTreeData[objectTypeTreeItemIndex].items.push(objectTreeItem);\n }\n\n objectsSet.add(object.id);\n });\n\n return updatedTreeData;\n};\n\n/**\n * Converts an array of KB properties data into tree item data for a tree view.\n *\n * @param {KBPropertyData[]} properties - The array of KB property data.\n * @param {KBPropertyType[]} kbPropertiesTypes - The array of KB property types.\n * @param {TreeViewModel} actualTreeState - The current state of the tree.\n * @returns {TreeViewModel} - The updated tree view item models.\n */\nexport const convertKbPropertiesDataToTreeItemData = (\n properties: KBPropertyData[],\n kbPropertiesTypes: KBPropertyType[],\n actualTreeState: TreeViewModel\n): TreeViewModel => {\n if (!properties) {\n return [...actualTreeState];\n }\n\n const updatedTreeData: TreeViewModel = [...actualTreeState];\n properties.forEach(property => {\n // properties have no parent node, and they should be added at the beginning of the tree\n const propertyAlreadyExists =\n updatedTreeData.find(node => node.id === property.id) !== undefined;\n if (propertyAlreadyExists) {\n return;\n }\n const propertyTreeItem = convertPropertyToTreeItem(\n property,\n kbPropertiesTypes\n );\n updatedTreeData.unshift(propertyTreeItem);\n });\n return updatedTreeData;\n};\n\n/**\n * Removes properties from the tree model.\n *\n * @param {TreeViewModel} actualTreeState - The current state of the tree,\n * containing various tree view items.\n * @returns {TreeViewModel} - A new array of tree view items that excludes\n * any items with metadata of type `KB_PROPERTY`.\n */\nexport const clearKbPropertiesFromTree = (\n actualTreeState: TreeViewModel\n): TreeViewModel =>\n actualTreeState.filter(item => item.metadata !== KB_PROPERTY);\n",".section {\n display: grid;\n block-size: 100%;\n grid-template:\n \"export-file-name buttons-container buttons-container buttons-container\" max-content\n \"checkboxes checkboxes checkboxes checkboxes\" max-content\n \"main main main main\" 1fr\n \"footer footer footer footer\" max-content\n / 1fr max-content max-content max-content;\n}\n\n.header {\n display: contents;\n\n .export-file-name {\n grid-area: export-file-name;\n }\n\n &__buttons-container {\n grid-area: buttons-container;\n display: flex;\n gap: var(\n --mer-spacing--sm\n ); //TODO : Should be using a semantic token like \"--buttons-container-gap\"\n }\n\n &__checkboxes {\n grid-area: checkboxes;\n grid-template-columns: max-content 1fr;\n }\n}\n\n.main {\n grid-area: main;\n position: relative;\n}\n\n.footer {\n grid-area: footer;\n justify-content: space-between;\n\n .clear-btn {\n margin-inline-end: auto;\n }\n}\n","import { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\nimport { ChCheckboxCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport {\n TreeViewItemModelExtended,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport {\n updateObjectsTreeModel,\n convertKbPropertiesDataToTreeItemData,\n clearKbPropertiesFromTree\n} from \"./helpers\";\nimport { ObjectType } from \"../../common/types\";\n\nimport { KB_PROPERTY, KB_OBJECT } from \"./helpers\";\nimport {\n KBPropertiesCallback,\n KBPropertyData,\n KBPropertyType,\n ObjectData,\n ExportFileDirectoryCallback,\n OptionsCallback,\n AddObjectsCallback,\n ExportCallback,\n AddReferencesCallback,\n CancelCallback\n} from \"./types\";\n\nimport { getIconPath } from \"@genexus/mercury\";\n\nconst FILE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"file\",\n colorType: \"on-elevation\"\n});\nconst SETTINGS_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"settings\",\n colorType: \"primary\"\n});\nconst GENERAL_REFERENCES_ICON = getIconPath({\n category: \"window-tools\",\n name: \"references\",\n colorType: \"neutral\"\n});\nconst MENUS_NEW_OBJECT_ICON = getIconPath({\n category: \"menus\",\n name: \"new-object\",\n colorType: \"on-primary\"\n});\nconst TREE_VIEW_ICON = getIconPath({\n category: \"controls\",\n name: \"treeview\"\n});\nconst CHECKBOX_CHECKED_VALUE = \"true\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/icon\",\n \"components/tree-view\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-kb-manager-export\",\n styleUrl: \"kb-manager-export.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-export\"]\n})\nexport class GxIdeKbManagerExport {\n #addKbDescriptionEl!: HTMLChCheckboxElement;\n #componentLocale: any;\n #animateEmptyState: boolean = false;\n #exportAllEl!: HTMLChCheckboxElement;\n #fileNameEl!: HTMLChEditElement;\n #kBPropertiesData!: KBPropertyData[];\n /**\n * Stores the object types information (name, and icon)\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #objectTypesMap: Map<string, ObjectType> = new Map();\n /**\n * Stores the object's id that have been added.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #objectsSet: Set<string> = new Set();\n\n @Element() el: HTMLGxIdeKbManagerExportElement;\n\n @State() addKbPropertiesIsChecked = false;\n @State() atLeastOnePropertyItemIsChecked = false;\n @State() atLeastOneObjectItemIsChecked = false;\n @State() checkedObjectsIds: string[] = [];\n @State() checkedPropertiesIds: string[] = [];\n @State() exportAllIsChecked = false;\n @State() exportingIsInProcess = false;\n @State() hasObjects: boolean;\n @State() objectsTreeViewModel: TreeViewModel = [];\n @Watch(\"objectsTreeViewModel\")\n objectsTreeViewModelChanged(newObjectsTreeViewModel: TreeViewModel) {\n this.hasObjects =\n newObjectsTreeViewModel && newObjectsTreeViewModel.length > 0;\n if (!this.hasObjects) {\n this.atLeastOnePropertyItemIsChecked = false;\n this.atLeastOneObjectItemIsChecked = false;\n }\n }\n\n /**\n * Callback invoked when the user wants to include KB properties.\n */\n @Prop() readonly addKBPropertiesCallback!: KBPropertiesCallback;\n\n /**\n * Callback invoked when the user wants to add objects.\n */\n @Prop() readonly addObjectsCallback!: AddObjectsCallback;\n\n /**\n *Callback invoked when the user wants to add all the references for the selected objects.\n *@param itemIds:string[] The selected item ids\n *@returns : Returns an object with the items and its references\n */\n @Prop() readonly addReferencesCallback!: AddReferencesCallback;\n\n /**\n * Callback invoked when the user wants to cancel the export process.\n * @returns It returns a boolean indicating whether the process could be canceled or not.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n *Callback invoked when the user wants to initiate the export process.\n *@param fileName:string\n *@param itemIds:string[] The selected item ids\n *@returns : It returns a boolean indicating whether the process was successful\n */\n @Prop() readonly exportCallback!: ExportCallback;\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly exportFileDirectoryCallback!: ExportFileDirectoryCallback;\n\n /**\n * It allows defining the default Export File Name\n */\n @Prop() readonly fileName: string;\n\n /**\n * Array with the possible types of KB properties\n */\n @Prop() readonly kbPropertiesTypes: KBPropertyType[];\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Array of possible object types\n */\n @Prop() readonly objectTypes: ObjectType[];\n @Watch(\"objectTypes\")\n objectTypesChanged(newObjectTypesArray: ObjectType[]) {\n this.#objectsTypesArrayToMap(newObjectTypesArray);\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#evaluateObjects();\n this.#objectsTypesArrayToMap(this.objectTypes);\n }\n\n #addKBPropertiesCallbackHandler = async (\n e: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.addKbPropertiesIsChecked =\n e.detail.target.value === CHECKBOX_CHECKED_VALUE;\n if (this.addKbPropertiesIsChecked) {\n this.#kBPropertiesData = await this.addKBPropertiesCallback();\n if (this.#kBPropertiesData.length) {\n this.objectsTreeViewModel = convertKbPropertiesDataToTreeItemData(\n this.#kBPropertiesData,\n this.kbPropertiesTypes,\n this.objectsTreeViewModel\n );\n }\n } else {\n // previous properties (if any) should be removed\n this.objectsTreeViewModel = clearKbPropertiesFromTree(\n this.objectsTreeViewModel\n );\n }\n };\n\n #addObjectsCallbackHandler = async () => {\n this.#exportAllEl.value = undefined;\n this.exportAllIsChecked = false;\n const addedObjects = await this.addObjectsCallback();\n this.#updateObjects(addedObjects);\n };\n\n #addReferencesCallbackHandler = async () => {\n const objects: ObjectData[] = await this.addReferencesCallback(\n this.checkedObjectsIds\n );\n this.#updateObjects(objects);\n };\n\n #cancelCallbackHandler = async () => {\n const cancelled = await this.cancelCallback();\n if (cancelled) {\n this.exportingIsInProcess = false;\n }\n };\n\n #clearButtonHandler = () => {\n this.objectsTreeViewModel = [];\n this.#objectsSet.clear();\n this.#addKbDescriptionEl.value = undefined;\n this.#exportAllEl.value = undefined;\n };\n\n #evaluateContentToDisplay = () => {\n // Nothing to display on the tree-view\n if (!this.hasObjects && !this.exportAllIsChecked) {\n return (\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateTitle={this.#componentLocale.main.noObjectsToDisplay}\n key=\"no-objects-empty-state\"\n >\n <button\n class=\"button-primary\"\n onClick={this.#addObjectsCallbackHandler}\n >\n {this.#componentLocale.main.beginByADdingSomeObjects}\n </button>\n </gx-ide-empty-state>\n );\n } else {\n this.#animateEmptyState = true; // improve performance if is first render\n }\n\n if (this.exportAllIsChecked) {\n return (\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={TREE_VIEW_ICON}\n stateTitle={this.#componentLocale.main.exportAllMessage}\n key=\"exporting-all-empty-state\"\n ></gx-ide-empty-state>\n );\n } else {\n this.#animateEmptyState = true; // improve performance if is first render\n }\n\n return (\n <ch-tree-view-render\n class=\"tree-view\"\n checkbox\n checked\n dragDisabled\n dropDisabled\n filter={this.#evaluateTreeViewFilters()}\n filterType={\n this.addKbPropertiesIsChecked && !this.exportAllIsChecked\n ? \"none\"\n : \"metadata\"\n }\n model={this.objectsTreeViewModel}\n showLines=\"last\"\n toggleCheckboxes\n sortItemsCallback={this.#sortTreeItems}\n onCheckedItemsChange={this.#objectsTreeCheckedItemsChangedHandler}\n ></ch-tree-view-render>\n );\n };\n\n #evaluateObjects = () => {\n this.hasObjects =\n this.objectsTreeViewModel && this.objectsTreeViewModel.length > 0;\n };\n\n #evaluateTreeViewFilters = (): string => {\n if (this.addKbPropertiesIsChecked && this.exportAllIsChecked) {\n return KB_PROPERTY; // only show properties\n }\n if (!this.addKbPropertiesIsChecked && !this.exportAllIsChecked) {\n return KB_OBJECT; // only show objects\n }\n return \"none\";\n };\n\n #exportAllChangedHandler = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.exportAllIsChecked = event.detail.target.value !== \"undefined\";\n };\n\n #exportCallbackHandler = async () => {\n this.exportingIsInProcess = true;\n const fileName: string = this.#fileNameEl.value;\n const checkedKbPropertiesIds = this.addKbPropertiesIsChecked\n ? this.checkedPropertiesIds\n : [];\n const checkedObjectIds = this.exportAllIsChecked\n ? undefined\n : this.checkedObjectsIds;\n this.exportCallback(\n fileName,\n checkedKbPropertiesIds,\n checkedObjectIds\n ).then(() => {\n this.exportingIsInProcess = false;\n });\n // returns Promise<boolean> but no procedure was detailed on the spec.\n };\n\n #objectsTypesArrayToMap(objectTypesArray: ObjectType[]) {\n objectTypesArray.forEach(objectType => {\n this.#objectTypesMap.set(objectType.id, objectType);\n });\n }\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n // filter 'checked objects' and 'checked properties' ids\n const checkedObjectsIds: string[] = [];\n const checkedPropertiesIds: string[] = [];\n const allItemsWithCheckbox = [...event.detail.values()];\n allItemsWithCheckbox.forEach(node => {\n if (node.item.checked && node.item.metadata === KB_OBJECT) {\n checkedObjectsIds.push(node.item.id);\n } else if (node.item.checked && node.item.metadata === KB_PROPERTY) {\n checkedPropertiesIds.push(node.item.id);\n }\n });\n this.checkedObjectsIds = checkedObjectsIds;\n this.checkedPropertiesIds = checkedPropertiesIds;\n\n this.atLeastOnePropertyItemIsChecked = this.checkedPropertiesIds.length > 0;\n this.atLeastOneObjectItemIsChecked = this.checkedObjectsIds.length > 0;\n };\n\n #sortTreeItems = (subModel: TreeViewModel) => {\n // \"property\" items should be added on top.\n // else sort alphabetically by \"caption\" value.\n return subModel.sort((a, b) => {\n if (a.metadata === \"property\" && b.metadata !== \"property\") {\n return -1;\n }\n if (b.metadata === \"property\" && a.metadata !== \"property\") {\n return 1;\n }\n\n return a.caption.localeCompare(b.caption);\n });\n };\n\n #renderFooter = (): HTMLElement => {\n const referencesButtonEnabled = this.atLeastOneObjectItemIsChecked;\n const clearButtonEnabled = this.objectsTreeViewModel.length > 0;\n return (\n <footer class=\"footer control-footer-with-border\">\n <button\n class=\"button-tertiary clear-btn\"\n disabled={!clearButtonEnabled}\n part=\"clear-button\"\n onClick={clearButtonEnabled && this.#clearButtonHandler}\n >\n {this.#componentLocale.footer.clearButton}\n </button>\n\n <button\n class=\"button-secondary button-icon-and-text\"\n part=\"references-button\"\n disabled={!referencesButtonEnabled}\n onClick={\n referencesButtonEnabled && this.#addReferencesCallbackHandler\n }\n >\n <ch-image\n class=\"icon-sm\"\n disabled={!referencesButtonEnabled}\n src={GENERAL_REFERENCES_ICON}\n ></ch-image>\n {this.#componentLocale.footer.addReferencesButton}\n </button>\n\n <button\n // Add button\n class=\"button-primary button-icon-and-text\"\n disabled={this.exportAllIsChecked}\n part=\"add-button\"\n onClick={!this.exportAllIsChecked && this.#addObjectsCallbackHandler}\n >\n <ch-image\n class=\"icon-sm\"\n disabled={this.exportAllIsChecked}\n src={MENUS_NEW_OBJECT_ICON}\n ></ch-image>\n {this.#componentLocale.footer.addButton}\n </button>\n </footer>\n );\n };\n\n #updateObjects = (objectsDataArray: ObjectData[]) => {\n if (objectsDataArray.length) {\n const newObjectsTreeModel = updateObjectsTreeModel(\n objectsDataArray,\n this.#objectTypesMap,\n this.#objectsSet,\n this.objectsTreeViewModel\n );\n this.objectsTreeViewModel = newObjectsTreeModel;\n }\n };\n\n render(): void {\n const exportButtonEnabled =\n this.atLeastOnePropertyItemIsChecked ||\n this.atLeastOneObjectItemIsChecked ||\n this.exportAllIsChecked;\n\n const cancelButtonEnabled = this.exportingIsInProcess;\n\n return (\n <Host class=\"spacing-body-block-start spacing-body-inline\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section field-group\">\n <header class=\"header\">\n <div class=\"field field-inline export-file-name\">\n <label class=\"label\" htmlFor=\"xpz-file\">\n {this.#componentLocale.header.exportFileName}\n </label>\n <ch-edit\n autoFocus\n id=\"xpz-file\"\n class=\"form-input\"\n part=\"xpz-file\"\n value={this.fileName}\n startImgSrc={FILE_ICON}\n ref={(el: HTMLChEditElement) =>\n (this.#fileNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"header__buttons-container\">\n <button\n id=\"export-kb-btn\"\n class=\"button-primary export-btn\"\n part=\"export-btn\"\n disabled={!exportButtonEnabled}\n onClick={exportButtonEnabled && this.#exportCallbackHandler}\n >\n {this.#componentLocale.header.exportButton}\n </button>\n <button\n id=\"cancel-kb-export-btn\"\n class=\"button-secondary cancel-btn\"\n part=\"cancel-button\"\n disabled={!cancelButtonEnabled}\n onClick={cancelButtonEnabled && this.#cancelCallbackHandler}\n >\n {this.#componentLocale.header.cancelButton}\n </button>\n\n <button\n aria-label={this.#componentLocale.header.optionsButton}\n title={this.#componentLocale.header.optionsButton}\n class=\"button-tertiary button-icon-only options-btn\"\n part=\"select-kb-btn\"\n onClick={this.optionsCallback}\n >\n <ch-image class=\"icon-md\" src={SETTINGS_ICON}></ch-image>\n </button>\n </div>\n\n <div class=\"header__checkboxes field-group\">\n <ch-checkbox\n class=\"checkbox add-kb-description\"\n part=\"add-kb-description\"\n caption={this.#componentLocale.main.addKnowledgeBaseDescription}\n checkedValue={CHECKBOX_CHECKED_VALUE}\n onInput={this.#addKBPropertiesCallbackHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#addKbDescriptionEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox export-all\"\n part=\"export-all-checkbox\"\n checkedValue={CHECKBOX_CHECKED_VALUE}\n caption={this.#componentLocale.main.exportAll}\n onInput={this.#exportAllChangedHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#exportAllEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </div>\n </header>\n\n <div class=\"main\">\n {this.#evaluateContentToDisplay()}\n {this.loader && this.exportingIsInProcess && (\n <gx-ide-loader\n cancelLabel={this.#componentLocale.loader.cancelLabel}\n loaderTitle={this.#componentLocale.loader.title}\n cancelCallback={this.#cancelCallbackHandler}\n show\n class=\"loader\"\n ></gx-ide-loader>\n )}\n </div>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,507 +0,0 @@
1
- import { r as t, a as e, h as a, H as i, g as r } from "./p-aaed592c.js";
2
-
3
- import { g as o } from "./p-6df9fab1.js";
4
-
5
- import { L as s } from "./p-74d59062.js";
6
-
7
- import { c as l } from "./p-8cf892b5.js";
8
-
9
- import { a as n } from "./p-14e6ef41.js";
10
-
11
- import { F as c } from "./p-13feb5cf.js";
12
-
13
- // - - - - - - - - - - - -
14
- // Data Mappings
15
- // - - - - - - - - - - - -
16
- // ch-combo-box-render
17
- const mapObjectTypeToComboBoxItemModel = t => t.map((t => ({
18
- value: t.id,
19
- caption: t.name
20
- })));
21
-
22
- const mapCategoryToComboBoxItemModel = t => t.map((t => ({
23
- value: t.id,
24
- caption: t.label
25
- })));
26
-
27
- const d = ':root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{block-size:100%;display:grid;grid-template-rows:auto 1fr auto;overflow:auto}.filter-layout{grid-template:"pattern type" "category module" "modified modified";grid-template-columns:1fr 1fr}.pattern{grid-area:pattern}.type{grid-area:type}.category{grid-area:category}.module{grid-area:module}.modified-accordion{grid-area:modified;display:flex;flex-direction:column}.field-group-modified{grid-template-columns:1fr 1fr 1fr}gx-ide-container::part(content){display:grid}ch-tabular-grid{overflow:auto;max-width:100%}.tabular-grid-object-selector ch-tabular-grid-cell:is(:nth-child(5)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.objects-count{display:grid;grid-template-columns:1fr 1fr;border-block-start:var(--mer-border__width--sm) solid var(--mer-color__elevation--04)}.objects-selected{text-align:start}.objects-matching{text-align:end}.objects-selected,.objects-matching{padding:var(--mer-spacing--xs) var(--mer-spacing--md)}div.buttons-footer{justify-content:space-between}ch-tabular-grid-rowset-empty{position:relative}ch-tabular-grid.empty-result::part(main){overflow:hidden}input::-webkit-datetime-edit-fields-wrapper{padding:none}';
28
-
29
- var f = undefined && undefined.__classPrivateFieldGet || function(t, e, a, i) {
30
- if (a === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
31
- if (typeof e === "function" ? t !== e || !i : !e.has(t)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
32
- return a === "m" ? i : a === "a" ? i.call(t) : i ? i.value : e.get(t);
33
- };
34
-
35
- var g = undefined && undefined.__classPrivateFieldSet || function(t, e, a, i, r) {
36
- if (i === "m") throw new TypeError("Private method is not writable");
37
- if (i === "a" && !r) throw new TypeError("Private accessor was defined without a setter");
38
- if (typeof e === "function" ? t !== e || !r : !e.has(t)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
39
- return i === "a" ? r.call(t, a) : r ? r.value = a : e.set(t, a), a;
40
- };
41
-
42
- var h, b, m, u, v, p, y, x, w, k, z, _, j, M, W, T, C, D, $, E, F, I, P, S, N, L, q, K, V, A;
43
-
44
- const B = [ "resets/box-sizing", "utils/form--full", "components/accordion", "components/tabular-grid", "utils/typography", "utils/layout" ];
45
-
46
- const H = o({
47
- category: "window-tools",
48
- name: "filter",
49
- colorType: "on-elevation"
50
- });
51
-
52
- const R = o({
53
- category: "system",
54
- name: "user",
55
- colorType: "on-elevation"
56
- });
57
-
58
- const G = [ {
59
- id: "modified",
60
- caption: "Modified",
61
- expanded: false
62
- } ];
63
-
64
- let J = null;
65
-
66
- const O = class {
67
- constructor(i) {
68
- t(this, i);
69
- h.set(this, void 0);
70
- b.set(this, e(`./gx-ide-assets/object-selector/shortcuts.json`));
71
- m.set(this, null);
72
- /* References needed to collect data */ u.set(this, void 0);
73
- v.set(this, void 0);
74
- p.set(this, void 0);
75
- y.set(this, void 0);
76
- x.set(this, void 0);
77
- w.set(this, void 0);
78
- k.set(this, void 0);
79
- z.set(this, void 0);
80
- _.set(this, void 0);
81
- j.set(this, (() => {
82
- this.cancelCallback();
83
- }));
84
- M.set(this, (t => {
85
- if (t.key === "Enter") {
86
- f(this, I, "f").call(this, t);
87
- }
88
- }));
89
- W.set(this, (() => {
90
- f(this, z, "f").selectAllRows(false);
91
- }));
92
- T.set(this, (t => {
93
- const e = f(this, h, "f");
94
- if (t === "selected") {
95
- if (this.selectedObjectsIdsArray.length === 0) {
96
- return e.objCount.selected.none;
97
- }
98
- if (this.selectedObjectsIdsArray.length === 1) {
99
- return `1 ${e.objCount.selected.one}`;
100
- }
101
- return `${this.selectedObjectsIdsArray.length} ${e.objCount.selected.many}`;
102
- }
103
- // type === "matching"
104
- if (this.objects.length === 0) {
105
- return e.objCount.matching.none;
106
- }
107
- if (this.objects.length === 1) {
108
- return `1 ${e.objCount.matching.one}`;
109
- }
110
- return `${this.objects.length} ${e.objCount.matching.many}`;
111
- }));
112
- C.set(this, (() => {
113
- const t = new Date;
114
- const e = t.toISOString().split("T")[0];
115
- const a = t.toISOString().split("T")[1].slice(0, 5);
116
- // Only take 'HH:MM' part
117
- return `${e}T${a}`;
118
- }));
119
- D.set(this, (t => {
120
- this.modifiedAfterValue = t.detail;
121
- if (this.modifiedAfterValue !== c.DATE_TIME || this.modifiedAfterValue === c.DATE_TIME && f(this, k, "f").value) {
122
- // if "modified" is "after date/time" only refresh ui if date/time is valid.
123
- f(this, P, "f").call(this);
124
- }
125
- }));
126
- $.set(this, (t => {
127
- this.selectedObjectsIdsArray = t.detail.rowsId;
128
- }));
129
- E.set(this, (t => {
130
- // just prevent keypress propagation
131
- if (t.key === "Enter") {
132
- t.stopPropagation();
133
- }
134
- }));
135
- F.set(this, (() => {
136
- this.newObjectCallback();
137
- }));
138
- I.set(this, (t => {
139
- t.stopPropagation();
140
- this.openSelectionCallback(this.selectedObjectsIdsArray);
141
- }));
142
- P.set(this, (() => {
143
- var t, e, a, i, r, o;
144
- /* 'modified' checkbox, should only be considered if 'date' || 'user' */ const s = f(this, x, "f").value;
145
- const l = (e = (t = f(this, w, "f")) === null || t === void 0 ? void 0 : t.value) === null || e === void 0 ? void 0 : e.trim();
146
- const n = {
147
- pattern: (a = f(this, u, "f")) === null || a === void 0 ? void 0 : a.value,
148
- type: f(this, v, "f").value,
149
- category: f(this, p, "f").value,
150
- module: (r = (i = f(this, y, "f")) === null || i === void 0 ? void 0 : i.value) === null || r === void 0 ? void 0 : r.id,
151
- modifiedAfter: s ? s : null,
152
- modifiedBy: l ? l : null,
153
- modifiedDate: s === c.DATE_TIME ? new Date((o = f(this, k, "f")) === null || o === void 0 ? void 0 : o.value) : null
154
- };
155
- this.loading = true;
156
- this.objects = [];
157
- this.loadCallback(n).then((t => {
158
- if (t) {
159
- this.objects = f(this, A, "f").call(this, t);
160
- }
161
- this.selectedObjectsIdsArray = [];
162
- f(this, W, "f").call(this);
163
- this.loading = false;
164
- }));
165
- }));
166
- S.set(this, (() => a("form", {
167
- class: "field-group filter-layout spacing-body"
168
- }, a("div", {
169
- class: "field field-block pattern"
170
- }, a("label", {
171
- class: "label",
172
- htmlFor: "pattern"
173
- }, f(this, h, "f").filter.pattern), a("ch-edit", {
174
- accessibleName: f(this, h, "f").filter.pattern,
175
- debounce: l.inputDebounce,
176
- class: "form-input",
177
- part: "filter-pattern",
178
- id: "pattern",
179
- name: "pattern",
180
- value: this.patternValue,
181
- mode: "text",
182
- ref: t => g(this, u, t, "f"),
183
- onInput: f(this, P, "f")
184
- })), a("div", {
185
- class: "field field-block type"
186
- }, a("label", {
187
- class: "label",
188
- htmlFor: "type"
189
- }, f(this, h, "f").filter.type), a("ch-combo-box-render", {
190
- accessibleName: f(this, h, "f").filter.type,
191
- class: "combo-box",
192
- disabled: !this.types,
193
- value: this.defaultType,
194
- part: "filter-type",
195
- id: "type",
196
- model: mapObjectTypeToComboBoxItemModel(this.types),
197
- ref: t => g(this, v, t, "f"),
198
- onInput: f(this, P, "f")
199
- })), a("div", {
200
- class: "field field-block category"
201
- }, a("label", {
202
- class: "label",
203
- htmlFor: "category"
204
- }, f(this, h, "f").filter.category), a("ch-combo-box-render", {
205
- id: "category",
206
- class: "combo-box",
207
- accessibleName: f(this, h, "f").filter.category,
208
- disabled: !this.categories,
209
- model: mapCategoryToComboBoxItemModel(this.categories),
210
- value: this.defaultCategory,
211
- part: "filter-category",
212
- onInput: this.categories && f(this, P, "f"),
213
- ref: t => g(this, p, t, "f")
214
- })), a("gx-ide-entity-selector", {
215
- class: "module",
216
- id: "module",
217
- value: this.defaultModule,
218
- ref: t => g(this, y, t, "f"),
219
- labelCaption: f(this, h, "f").filter.module,
220
- labelPosition: "block-start",
221
- onValueChanged: f(this, P, "f"),
222
- defaultValue: this.defaultModule,
223
- selectEntityCallback: this.selectModuleCallback
224
- }), a("ch-accordion-render", {
225
- class: "accordion-outlined modified-accordion",
226
- model: G
227
- }, a("div", {
228
- slot: "modified",
229
- class: "spacing-body"
230
- }, a("div", {
231
- class: "field-group field-group-modified"
232
- }, a("div", {
233
- class: "field field-block after"
234
- }, a("label", {
235
- class: "label",
236
- htmlFor: "after-type"
237
- }, f(this, h, "f").filter.after), a("ch-combo-box-render", {
238
- class: "combo-box",
239
- value: this.modifiedAfterValue,
240
- part: "filter-after-type",
241
- id: "after-type",
242
- model: f(this, m, "f"),
243
- ref: t => g(this, x, t, "f"),
244
- onInput: f(this, D, "f")
245
- })), a("div", {
246
- class: "field field-block"
247
- }, a("label", {
248
- class: "label",
249
- htmlFor: "user-name"
250
- }, f(this, h, "f").filter.user), a("ch-edit", {
251
- class: "form-input",
252
- part: "filter-user",
253
- value: this.patternValue,
254
- ref: t => g(this, w, t, "f"),
255
- id: "user-name",
256
- name: "userName",
257
- startImgSrc: R,
258
- onInput: f(this, P, "f")
259
- })), a("div", {
260
- class: "field field-block"
261
- }, a("label", {
262
- class: {
263
- label: true,
264
- "label--disabled": this.modifiedAfterValue !== "afterDateTime"
265
- },
266
- htmlFor: "modified-date"
267
- }, f(this, h, "f").filter.dateTime), a("input", {
268
- type: "datetime-local",
269
- class: "form-input input-date-time",
270
- id: "modified-date",
271
- name: "modifiedDate",
272
- part: "filter-pattern",
273
- value: this.patternValue,
274
- max: J,
275
- ref: t => g(this, k, t, "f"),
276
- disabled: this.modifiedAfterValue !== "afterDateTime",
277
- onInput: f(this, P, "f")
278
- }))))))));
279
- N.set(this, (() => a("footer", null, a("div", {
280
- class: "objects-count",
281
- slot: "footer-above"
282
- }, a("p", {
283
- class: "text-body-regular-s objects-selected",
284
- part: "objects-selected"
285
- }, f(this, T, "f").call(this, "selected")), a("p", {
286
- class: "text-body-regular-s objects-matching",
287
- part: "objects-matching"
288
- }, f(this, T, "f").call(this, "matching"))), a("div", {
289
- class: "buttons-footer control-footer-with-border"
290
- }, a("button", {
291
- class: "button-secondary",
292
- part: "button button-new",
293
- onClick: !this.loading ? f(this, F, "f") : undefined,
294
- disabled: this.loading
295
- }, f(this, h, "f").footer.btnNew), a("div", {
296
- class: "end buttons-container"
297
- }, a("button", {
298
- class: "button-secondary",
299
- part: "button button-cancel",
300
- onClick: f(this, j, "f")
301
- }, f(this, h, "f").footer.btnCancel), a("button", {
302
- class: "button-primary",
303
- part: "button button-confirm",
304
- onClick: f(this, I, "f"),
305
- disabled: this.loading
306
- }, f(this, h, "f").footer.btnConfirm), this.multiSelection ? a("button", {
307
- class: "button-secondary",
308
- onClick: f(this, q, "f"),
309
- part: "button button-select-all"
310
- }, f(this, h, "f").footer.btnSelectAll) : null)))));
311
- L.set(this, (() => a("ch-tabular-grid", {
312
- class: {
313
- "tabular-grid": true,
314
- "tabular-grid-object-selector": true,
315
- "empty-result": this.objects.length === 0
316
- },
317
- rowSelectionMode: this.multiSelection ? "multiple" : "single",
318
- ref: t => g(this, z, t, "f"),
319
- part: "ch-grid-objects",
320
- onKeyDown: f(this, M, "f"),
321
- onSelectionChanged: f(this, $, "f"),
322
- onDblClick: f(this, I, "f")
323
- }, a("ch-tabular-grid-columnset", {
324
- class: "tabular-grid-column-set"
325
- }, a("ch-tabular-grid-column", {
326
- "column-name-position": "text",
327
- settingable: false,
328
- size: l.tabularGrid.colSize.maxContent,
329
- class: "tabular-grid-column"
330
- }), a("ch-tabular-grid-column", {
331
- "column-name": f(this, h, "f").tableHead.name,
332
- "column-name-position": "text",
333
- settingable: false,
334
- size: l.tabularGrid.colSize.maxContent,
335
- class: "tabular-grid-column"
336
- }), a("ch-tabular-grid-column", {
337
- "column-name": f(this, h, "f").tableHead.type,
338
- "column-name-position": "text",
339
- settingable: false,
340
- size: l.tabularGrid.colSize.maxContent,
341
- class: "tabular-grid-column"
342
- }), a("ch-tabular-grid-column", {
343
- "column-name": f(this, h, "f").tableHead.module,
344
- "column-name-position": "text",
345
- settingable: false,
346
- size: l.tabularGrid.colSize.maxContent,
347
- class: "tabular-grid-column"
348
- }), a("ch-tabular-grid-column", {
349
- "column-name": f(this, h, "f").tableHead.description,
350
- "column-name-position": "text",
351
- settingable: false,
352
- size: l.tabularGrid.colSize.commonDouble,
353
- class: "tabular-grid-column"
354
- }), a("ch-tabular-grid-column", {
355
- "column-name": f(this, h, "f").tableHead.modifiedDate,
356
- "column-name-position": "text",
357
- settingable: false,
358
- size: l.tabularGrid.colSize.maxContent,
359
- class: "tabular-grid-column"
360
- }), a("ch-tabular-grid-column", {
361
- "column-name": f(this, h, "f").tableHead.importDate,
362
- "column-name-position": "text",
363
- settingable: false,
364
- size: l.tabularGrid.colSize.maxContent,
365
- class: "tabular-grid-column"
366
- })), this.objects.length ? a("ch-tabular-grid-rowset", {
367
- class: "tabular-grid-rowset"
368
- }, this.objects.map((t => a("ch-tabular-grid-row", {
369
- rowid: t.id,
370
- key: t.id,
371
- class: "tabular-grid-row"
372
- }, a("ch-tabular-grid-cell", {
373
- class: "tabular-grid-cell"
374
- }, a("ch-image", {
375
- src: t.icon,
376
- class: "icon-md"
377
- })), a("ch-tabular-grid-cell", {
378
- class: "tabular-grid-cell"
379
- }, t.name), a("ch-tabular-grid-cell", {
380
- class: "tabular-grid-cell"
381
- }, t.type), a("ch-tabular-grid-cell", {
382
- class: "tabular-grid-cell"
383
- }, t.module), a("ch-tabular-grid-cell", {
384
- class: "tabular-grid-cell"
385
- }, t.description), a("ch-tabular-grid-cell", {
386
- class: "tabular-grid-cell"
387
- }, `${n(t.modifiedDate, "date-time")}`), a("ch-tabular-grid-cell", {
388
- class: "tabular-grid-cell"
389
- }, `${n(t.importDate, "date-time")}`))))) : a("ch-tabular-grid-rowset", {
390
- class: "tabular-grid-rowset"
391
- }, a("ch-tabular-grid-rowset-empty", null, this.loader && this.loading ? a("gx-ide-loader", {
392
- loaderTitle: f(this, h, "f").loader.title,
393
- show: true
394
- }) : a("gx-ide-empty-state", {
395
- stateIconSrc: H,
396
- stateTitle: f(this, h, "f").emptyState.title
397
- }))))));
398
- q.set(this, (() => {
399
- f(this, z, "f").selectAllRows();
400
- }));
401
- K.set(this, (() => {
402
- this.modifiedAfterValue = c.NONE;
403
- }));
404
- V.set(this, (() => {
405
- g(this, m, [ {
406
- caption: f(this, h, "f").filter.afterNone,
407
- value: c.NONE
408
- }, {
409
- caption: f(this, h, "f").filter[c.DATE_TIME],
410
- value: c.DATE_TIME
411
- }, {
412
- caption: f(this, h, "f").filter[c.IMPORT],
413
- value: c.IMPORT
414
- }, {
415
- caption: f(this, h, "f").filter[c.LAST_BUILD],
416
- value: c.LAST_BUILD
417
- } ], "f");
418
- }));
419
- A.set(this, (t => t.sort(((t, e) => {
420
- const a = t.name.toLowerCase(), i = e.name.toLowerCase();
421
- if (a < i) {
422
- return -1;
423
- }
424
- if (a > i) {
425
- return 1;
426
- }
427
- return 0;
428
- }))));
429
- this.filterModified = false;
430
- this.loading = false;
431
- this.modifiedAfterValue = undefined;
432
- this.objects = [];
433
- this.selectedObjectsIdsArray = [];
434
- this.cancelCallback = undefined;
435
- this.categories = undefined;
436
- this.defaultCategory = undefined;
437
- this.defaultModule = undefined;
438
- this.defaultType = undefined;
439
- this.loader = false;
440
- this.loadCallback = undefined;
441
- this.multiSelection = false;
442
- this.newObjectCallback = undefined;
443
- this.openSelectionCallback = undefined;
444
- this.patternValue = undefined;
445
- this.selectModuleCallback = undefined;
446
- this.types = undefined;
447
- }
448
- async connectedCallback() {
449
- J = f(this, C, "f").call(this);
450
- }
451
- async componentWillLoad() {
452
- g(this, h, await s.getComponentStrings(this.el), "f");
453
- f(this, V, "f").call(this);
454
- f(this, K, "f").call(this);
455
- }
456
- componentDidLoad() {
457
- f(this, P, "f").call(this);
458
- f(this, u, "f").focus();
459
- }
460
- componentDidRender() {}
461
- /**
462
- * Suspends or reactivates the shortcuts
463
- */ async suspendShortcuts(t) {
464
- if (t) {
465
- f(this, _, "f").suspend = true;
466
- } else {
467
- f(this, _, "f").suspend = false;
468
- }
469
- }
470
- /**
471
- * Validate necessary data input
472
- */ async validate() {
473
- const t = true;
474
- return t;
475
- }
476
- render() {
477
- return a(i, {
478
- onKeyPress: f(this, E, "f")
479
- }, a("ch-theme", {
480
- model: B
481
- }), f(this, S, "f").call(this), f(this, L, "f").call(this), f(this, N, "f").call(this), a("ch-shortcuts", {
482
- src: f(this, b, "f"),
483
- ref: t => g(this, _, t, "f")
484
- }));
485
- }
486
- static get delegatesFocus() {
487
- return true;
488
- }
489
- static get assetsDirs() {
490
- return [ "gx-ide-assets/object-selector" ];
491
- }
492
- get el() {
493
- return r(this);
494
- }
495
- };
496
-
497
- h = new WeakMap, b = new WeakMap, m = new WeakMap, u = new WeakMap, v = new WeakMap,
498
- p = new WeakMap, y = new WeakMap, x = new WeakMap, w = new WeakMap, k = new WeakMap,
499
- z = new WeakMap, _ = new WeakMap, j = new WeakMap, M = new WeakMap, W = new WeakMap,
500
- T = new WeakMap, C = new WeakMap, D = new WeakMap, $ = new WeakMap, E = new WeakMap,
501
- F = new WeakMap, I = new WeakMap, P = new WeakMap, S = new WeakMap, N = new WeakMap,
502
- L = new WeakMap, q = new WeakMap, K = new WeakMap, V = new WeakMap, A = new WeakMap;
503
-
504
- O.style = d;
505
-
506
- export { O as gx_ide_object_selector };
507
- //# sourceMappingURL=p-b7384b06.entry.js.map