@genexus/genexus-ide-ui 0.0.140 → 0.0.142

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 (107) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +78 -0
  3. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -0
  4. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +123 -0
  5. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -0
  6. package/dist/cjs/gx-ide-design-import.cjs.entry.js +567 -0
  7. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -0
  8. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/collection/collection-manifest.json +3 -1
  14. package/dist/collection/components/_helpers/entity-selector/entity-selector.css +2 -2
  15. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  16. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.css +8 -10
  17. package/dist/collection/components/bpm/export-xpdl/export-xpdl.css +574 -0
  18. package/dist/collection/components/bpm/export-xpdl/export-xpdl.js +238 -0
  19. package/dist/collection/components/bpm/export-xpdl/export-xpdl.js.map +1 -0
  20. package/dist/collection/components/bpm/export-xpdl/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.en.json +19 -0
  21. package/dist/collection/components/bpm/objects-selector/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.en.json +17 -0
  22. package/dist/collection/components/bpm/objects-selector/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.ja.json +3 -0
  23. package/dist/collection/components/bpm/objects-selector/helpers.js +17 -0
  24. package/dist/collection/components/bpm/objects-selector/helpers.js.map +1 -0
  25. package/dist/collection/components/bpm/objects-selector/objects-selector.css +574 -0
  26. package/dist/collection/components/bpm/objects-selector/objects-selector.js +259 -0
  27. package/dist/collection/components/bpm/objects-selector/objects-selector.js.map +1 -0
  28. package/dist/collection/components/{import-from-design/import-from-design.js → design-import/design-import.js} +115 -64
  29. package/dist/collection/components/design-import/design-import.js.map +1 -0
  30. package/dist/collection/components/{import-from-design/gx-ide-assets/import-from-design/langs/import-from-design.lang.en.json → design-import/gx-ide-assets/design-import/langs/design-import.lang.en.json} +2 -1
  31. package/dist/components/entity-selector.js +1 -1
  32. package/dist/components/entity-selector.js.map +1 -1
  33. package/dist/components/gx-ide-bpm-export-xpdl.d.ts +11 -0
  34. package/dist/components/gx-ide-bpm-export-xpdl.js +155 -0
  35. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -0
  36. package/dist/components/gx-ide-bpm-objects-selector.d.ts +11 -0
  37. package/dist/components/gx-ide-bpm-objects-selector.js +8 -0
  38. package/dist/components/gx-ide-bpm-objects-selector.js.map +1 -0
  39. package/dist/components/gx-ide-design-import.d.ts +11 -0
  40. package/dist/components/{gx-ide-import-from-design.js → gx-ide-design-import.js} +95 -49
  41. package/dist/components/gx-ide-design-import.js.map +1 -0
  42. package/dist/components/list-selector-item.js +1 -1
  43. package/dist/components/list-selector-item.js.map +1 -1
  44. package/dist/components/objects-selector.js +189 -0
  45. package/dist/components/objects-selector.js.map +1 -0
  46. package/dist/esm/genexus-ide-ui.js +1 -1
  47. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +74 -0
  48. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -0
  49. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +119 -0
  50. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -0
  51. package/dist/esm/gx-ide-design-import.entry.js +563 -0
  52. package/dist/esm/gx-ide-design-import.entry.js.map +1 -0
  53. package/dist/esm/gx-ide-entity-selector.entry.js +1 -1
  54. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  55. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  56. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  57. package/dist/esm/loader.js +1 -1
  58. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  59. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  60. package/dist/genexus-ide-ui/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.en.json +19 -0
  61. package/dist/genexus-ide-ui/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.zh.json +3 -0
  62. package/dist/genexus-ide-ui/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.en.json +17 -0
  63. package/dist/genexus-ide-ui/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.ja.json +3 -0
  64. package/dist/genexus-ide-ui/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.zh.json +3 -0
  65. package/dist/genexus-ide-ui/gx-ide-assets/bpm-timer-duration/langs/timer-duration.lang.ja.json +3 -0
  66. package/dist/genexus-ide-ui/gx-ide-assets/bpm-timer-duration/langs/timer-duration.lang.zh.json +3 -0
  67. package/dist/genexus-ide-ui/gx-ide-assets/{import-from-design/langs/import-from-design.lang.en.json → design-import/langs/design-import.lang.en.json} +2 -1
  68. package/dist/genexus-ide-ui/gx-ide-assets/design-import/langs/design-import.lang.ja.json +3 -0
  69. package/dist/genexus-ide-ui/gx-ide-assets/design-import/langs/design-import.lang.zh.json +3 -0
  70. package/dist/genexus-ide-ui/{p-972b18a0.entry.js → p-0e47720b.entry.js} +2 -2
  71. package/dist/genexus-ide-ui/p-0e47720b.entry.js.map +1 -0
  72. package/dist/genexus-ide-ui/p-7364d5d1.entry.js +109 -0
  73. package/dist/genexus-ide-ui/p-7364d5d1.entry.js.map +1 -0
  74. package/dist/genexus-ide-ui/p-832a8a94.entry.js +160 -0
  75. package/dist/genexus-ide-ui/p-832a8a94.entry.js.map +1 -0
  76. package/dist/genexus-ide-ui/{p-9bf62c5c.entry.js → p-c46c7974.entry.js} +244 -175
  77. package/dist/genexus-ide-ui/p-c46c7974.entry.js.map +1 -0
  78. package/dist/genexus-ide-ui/{p-3345a1bc.entry.js → p-e07809d0.entry.js} +2 -2
  79. package/dist/genexus-ide-ui/p-e07809d0.entry.js.map +1 -0
  80. package/dist/types/components/bpm/export-xpdl/export-xpdl.d.ts +66 -0
  81. package/dist/types/components/bpm/import-gxpm/import-gxpm.d.ts +21 -0
  82. package/dist/types/components/bpm/objects-selector/helpers.d.ts +7 -0
  83. package/dist/types/components/bpm/objects-selector/objects-selector.d.ts +61 -0
  84. package/dist/types/components/{import-from-design/import-from-design.d.ts → design-import/design-import.d.ts} +24 -10
  85. package/dist/types/components.d.ts +371 -208
  86. package/package.json +1 -1
  87. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +0 -522
  88. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js.map +0 -1
  89. package/dist/collection/components/import-from-design/import-from-design.js.map +0 -1
  90. package/dist/components/gx-ide-import-from-design.d.ts +0 -11
  91. package/dist/components/gx-ide-import-from-design.js.map +0 -1
  92. package/dist/esm/gx-ide-import-from-design.entry.js +0 -518
  93. package/dist/esm/gx-ide-import-from-design.entry.js.map +0 -1
  94. package/dist/genexus-ide-ui/p-3345a1bc.entry.js.map +0 -1
  95. package/dist/genexus-ide-ui/p-972b18a0.entry.js.map +0 -1
  96. package/dist/genexus-ide-ui/p-9bf62c5c.entry.js.map +0 -1
  97. /package/dist/collection/components/bpm/{timer-duration/gx-ide-assets/bpm-timer-duration/langs/bpm-timer-duration.lang.ja.json → export-xpdl/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.ja.json} +0 -0
  98. /package/dist/collection/components/bpm/{timer-duration/gx-ide-assets/bpm-timer-duration/langs/bpm-timer-duration.lang.zh.json → export-xpdl/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.zh.json} +0 -0
  99. /package/dist/collection/components/{import-from-design/gx-ide-assets/import-from-design/langs/import-from-design.lang.zh.json → bpm/objects-selector/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.zh.json} +0 -0
  100. /package/dist/collection/components/bpm/timer-duration/gx-ide-assets/bpm-timer-duration/langs/{bpm-timer-duration.lang.en.json → timer-duration.lang.en.json} +0 -0
  101. /package/dist/collection/components/{import-from-design/gx-ide-assets/import-from-design/langs/import-from-design.lang.ja.json → bpm/timer-duration/gx-ide-assets/bpm-timer-duration/langs/timer-duration.lang.ja.json} +0 -0
  102. /package/dist/{genexus-ide-ui/gx-ide-assets/bpm-timer-duration/langs/bpm-timer-duration.lang.zh.json → collection/components/bpm/timer-duration/gx-ide-assets/bpm-timer-duration/langs/timer-duration.lang.zh.json} +0 -0
  103. /package/dist/collection/components/{import-from-design/import-from-design.css → design-import/design-import.css} +0 -0
  104. /package/dist/{genexus-ide-ui/gx-ide-assets/bpm-timer-duration/langs/bpm-timer-duration.lang.ja.json → collection/components/design-import/gx-ide-assets/design-import/langs/design-import.lang.ja.json} +0 -0
  105. /package/dist/{genexus-ide-ui/gx-ide-assets/import-from-design/langs/import-from-design.lang.zh.json → collection/components/design-import/gx-ide-assets/design-import/langs/design-import.lang.zh.json} +0 -0
  106. /package/dist/genexus-ide-ui/gx-ide-assets/{import-from-design/langs/import-from-design.lang.ja.json → bpm-export-xpdl/langs/bpm-export-xpdl.lang.ja.json} +0 -0
  107. /package/dist/genexus-ide-ui/gx-ide-assets/bpm-timer-duration/langs/{bpm-timer-duration.lang.en.json → timer-duration.lang.en.json} +0 -0
@@ -0,0 +1 @@
1
+ {"file":"gx-ide-bpm-export-xpdl.entry.js","mappings":"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","names":[],"sources":["src/components/bpm/export-xpdl/export-xpdl.scss?tag=gx-ide-bpm-export-xpdl&encapsulation=shadow","src/components/bpm/export-xpdl/export-xpdl.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/temporary-tokens-chameleon.scss\";\n\n:host {\n display: block;\n}\n\n.header {\n display: grid;\n grid-template-columns: 1fr min-content min-content;\n grid-template-areas:\n \"label label label\"\n \"input cancel export\";\n grid-gap: var(--gx-ide-grid-column-gap);\n\n .label {\n grid-area: label;\n }\n .input {\n grid-area: input;\n }\n .cancel {\n grid-area: cancel;\n }\n .export {\n grid-area: export;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { ObjectData } from \"../objects-selector/helpers\";\n\n/* import { renderListItems } from \"../../../common/render-list-item\"; */\n\n@Component({\n tag: \"gx-ide-bpm-export-xpdl\",\n styleUrl: \"export-xpdl.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-export-xpdl\"]\n})\nexport class GxIdeBpmExportXpdl {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmExportXpdlElement;\n private exportInputEl: HTMLInputElement;\n private bpmObjectSelectorEl: HTMLGxIdeBpmObjectsSelectorElement;\n\n // 3.STATE() VARIABLES //\n\n @State() emptyInput = true;\n @State() emptyObjects = true;\n @State() notExporting = true;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Callback function invoked when the user presses the 'Create' button.\n * This function is expected to handle the export process based on the provided export data.\n *\n * @param {ExportData} exportData - The data required for the export process.\n * @returns {Promise<boolean>} A promise that resolves to a boolean indicating the success of the export operation.\n * Returns `true` if the export was successful, and `false` otherwise.\n */\n @Prop() readonly exportCallback: ExportCallback;\n\n /**\n * Callback invoked when user press 'Cancel' button\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when the user presses the 'Add' button. associated with gx-ide-bpm-objects-selector\n * This function is expected to return a list of selected objects' basic information.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly addCallback: () => Promise<ObjectData[]>;\n\n /**\n * Callback invoked when the user presses the 'References' button. associated with gx-ide-bpm-objects-selector\n * Receives a parameter which is an array of IDs of the objects currently added to the list.\n * Returns a Promise that resolves to an array of ObjectData, where each ObjectData contains the ID, icon, and name of an object.\n * @param {string[]} ids - An array of IDs of the objects currently added to the list.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly referencesCallback: (ids: string[]) => Promise<ObjectData[]>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private exportHandler = () => {\n if (this.exportCallback) {\n this.notExporting = false;\n\n const data: ExportData = {\n directoryName: this.exportInputEl.value,\n Objects: this.bpmObjectSelectorEl.selection ?? {\n includeAll: false,\n objectIds: []\n }\n };\n\n this.exportCallback(data)\n .then(() => {\n this.notExporting = true;\n })\n .catch(error => {\n console.error(\"Export callback failed:\", error);\n this.notExporting = true;\n });\n }\n };\n\n private inputHandle = async () => {\n this.emptyInput = !this.exportInputEl.value?.length;\n };\n\n private handleSelectionChanged = () => {\n this.emptyObjects = !this.bpmObjectSelectorEl.selection.objectIds.length;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"header\">\n <label htmlFor=\"export-directory\" class=\"label\">\n {this._componentLocale.main.exportInputLabel}\n </label>\n <input\n type=\"text\"\n id=\"export-directory\"\n class=\"input-text input\"\n onInput={this.inputHandle}\n ref={el => (this.exportInputEl = el as HTMLInputElement)}\n />\n <button\n class=\"export\"\n disabled={this.emptyInput || this.emptyObjects}\n onClick={this.exportHandler}\n >\n {this._componentLocale.main.exportButton}\n </button>\n <button\n class=\"cancel\"\n disabled={this.notExporting}\n onClick={this.cancelCallback}\n >\n {this._componentLocale.main.cancelButton}\n </button>\n </div>\n\n <gx-ide-bpm-objects-selector\n id=\"gx-ide-bpm-objects-selector\"\n addCallback={this.addCallback}\n referencesCallback={this.referencesCallback}\n ref={el =>\n (this.bpmObjectSelectorEl =\n el as HTMLGxIdeBpmObjectsSelectorElement)\n }\n onSelectionChanged={this.handleSelectionChanged}\n ></gx-ide-bpm-objects-selector>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type ExportCallback = (exportData: ExportData) => Promise<boolean>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type ExportData = {\n directoryName: string;\n Objects: SelectionData;\n};\n\nexport type SelectionData = {\n includeAll: boolean;\n objectIds: string[];\n};\n"],"version":3}
@@ -0,0 +1,119 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-5bd24426.js';
2
+ import { c as config } from './config-a492e15e.js';
3
+ import { L as Locale } from './locale-3c32f251.js';
4
+ import { r as renderListItems } from './render-list-item-9953ed8a.js';
5
+
6
+ const objectsToListItemData = (objects) => {
7
+ const itemsData = [];
8
+ objects.forEach(object => {
9
+ const itemId = object.id;
10
+ const itemValue = object.name;
11
+ const itemIcon = object.icon;
12
+ const itemChecked = false;
13
+ itemsData.push({
14
+ itemId: itemId,
15
+ itemValue: itemValue,
16
+ itemIcon: itemIcon,
17
+ itemChecked: itemChecked
18
+ });
19
+ });
20
+ return itemsData;
21
+ };
22
+
23
+ const objectsSelectorCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}p{margin:0;font-size:var(--mer-font__size--xxs)}.control-wrapper{display:flex;gap:var(--mer-spacing--xs);align-items:center}.control-wrapper--vertical{flex-direction:column;align-items:start}.controls-wrapper{display:flex;gap:var(--mer-spacing--xs)}.controls-wrapper--vertical{flex-direction:column;align-items:start}.input-text{box-sizing:border-box;background-color:transparent;border:var(--mer-border__width--sm) solid var(--mer-border-color__dim);border-radius:var(--mer-border__width--lg);height:26px;color:var(--mer-text__bright);font-size:var(--mer-font__size--xxs)}.input-text--full-width{align-self:stretch}:host{display:block}.header{display:grid;grid-template-columns:1fr min-content min-content;grid-template-areas:\"label label label\" \"input cancel export\";grid-gap:var(--gx-ide-grid-column-gap)}.header .label{grid-area:label}.header .input{grid-area:input}.header .cancel{grid-area:cancel}.header .export{grid-area:export}";
24
+
25
+ const GxIdeBpmExportXpdl = class {
26
+ constructor(hostRef) {
27
+ registerInstance(this, hostRef);
28
+ this.componentDidRenderFirstTime = createEvent(this, "componentDidRenderFirstTime", 7);
29
+ this.selectionChanged = createEvent(this, "selectionChanged", 7);
30
+ this.renderedFirstTime = false;
31
+ this.includeAll = false;
32
+ // 7.LISTENERS //
33
+ // 8.PUBLIC METHODS API //
34
+ // 9.LOCAL METHODS //
35
+ this.objectSelectionChangedHandler = (selectedItem) => {
36
+ const selectedObjects = Array.isArray(selectedItem.detail)
37
+ ? selectedItem.detail
38
+ : [selectedItem.detail];
39
+ this.selectedObjects = selectedObjects.map(item => item.itemId);
40
+ };
41
+ this.removeObjectsHandler = () => {
42
+ this.objects = this.objects.filter(object => !this.selectedObjects.includes(object.id));
43
+ this.selectedObjects = [];
44
+ this.updateSelection(false);
45
+ };
46
+ this.removeAllObjectsHandler = () => {
47
+ this.objects = [];
48
+ this.selectedObjects = [];
49
+ this.updateSelection(false);
50
+ };
51
+ this.includeAllHandler = () => {
52
+ this.includeAll = this.includeAllCheckboxEl.checked;
53
+ if (this.includeAll) {
54
+ this.selectedObjects = this.objects.map(object => object.id);
55
+ this.objects = [];
56
+ this.updateSelection(true);
57
+ }
58
+ else {
59
+ this.selectedObjects = [];
60
+ this.updateSelection(false);
61
+ }
62
+ this.selectionChanged.emit();
63
+ };
64
+ this.addCallbackHandler = async () => {
65
+ if (this.addCallback) {
66
+ const resultObjects = await this.addCallback();
67
+ const newObjects = resultObjects.filter(resultObj => !this.objects.some(existingObj => existingObj.id === resultObj.id));
68
+ this.objects = [...this.objects, ...newObjects];
69
+ this.updateSelection(false);
70
+ }
71
+ };
72
+ this.referencesCallbackHandler = async () => {
73
+ if (this.referencesCallback && this.objects.length > 0) {
74
+ const ids = this.objects.map(obj => obj.id);
75
+ const resultObjects = await this.referencesCallback(ids);
76
+ const newObjects = resultObjects.filter(resultObj => !this.objects.some(existingObj => existingObj.id === resultObj.id));
77
+ this.objects = [...this.objects, ...newObjects];
78
+ this.updateSelection(false);
79
+ }
80
+ };
81
+ this.updateSelection = (includeAll) => {
82
+ const data = {
83
+ includeAll: this.includeAllCheckboxEl.checked,
84
+ objectIds: includeAll
85
+ ? this.selectedObjects
86
+ : this.objects.map(object => object.id)
87
+ };
88
+ this.selection = data;
89
+ this.selectionChanged.emit();
90
+ };
91
+ this.objects = [];
92
+ this.selectedObjects = [];
93
+ this.displayTitle = false;
94
+ this.selection = undefined;
95
+ this.addCallback = undefined;
96
+ this.referencesCallback = undefined;
97
+ }
98
+ // 6.COMPONENT LIFECYCLE METHODS //
99
+ async componentWillLoad() {
100
+ this._componentLocale = await Locale.getComponentStrings(this.el);
101
+ }
102
+ componentDidRender() {
103
+ if (!this.renderedFirstTime) {
104
+ this.componentDidRenderFirstTime.emit(this.el);
105
+ this.renderedFirstTime = true;
106
+ }
107
+ }
108
+ // 10.RENDER() FUNCTION //
109
+ render() {
110
+ return (h(Host, { class: "gx-ide-component gx-ide-bpm-objects-selector" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null, slimmerFooter: config.gxIdeContainer.slimmerFooter }, h("gx-ide-list-selector", { id: "path-list", type: "multi-selection", listName: "path-list", ordered: true, onSelectionChanged: this.objectSelectionChangedHandler, class: "path-list" }, renderListItems(objectsToListItemData(this.objects))), h("div", { class: "controls-wrapper" }, h("label", { htmlFor: "include-all" }, this._componentLocale.main.includeAllLabel), h("ch-checkbox", { id: "include-all", accessibleName: this._componentLocale.main.includeAllLabel, checkedValue: "true", unCheckedValue: "false", value: "checked", onInput: this.includeAllHandler, ref: el => (this.includeAllCheckboxEl = el) }), h("button", { onClick: this.addCallbackHandler, disabled: this.includeAll }, this._componentLocale.main.addButton), h("button", { onClick: this.referencesCallbackHandler, disabled: this.objects.length === 0 }, this._componentLocale.main.referencesButton), h("button", { onClick: this.removeObjectsHandler, disabled: this.selectedObjects.length === 0 || this.includeAll }, this._componentLocale.main.removeButton, " (", this.selectedObjects.length, ")")), h("button", { slot: "footer-end", onClick: this.removeAllObjectsHandler, disabled: this.includeAll }, this._componentLocale.main.clearButton)))));
111
+ }
112
+ static get assetsDirs() { return ["gx-ide-assets/bpm-objects-selector"]; }
113
+ get el() { return getElement(this); }
114
+ };
115
+ GxIdeBpmExportXpdl.style = objectsSelectorCss;
116
+
117
+ export { GxIdeBpmExportXpdl as gx_ide_bpm_objects_selector };
118
+
119
+ //# sourceMappingURL=gx-ide-bpm-objects-selector.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"gx-ide-bpm-objects-selector.entry.js","mappings":"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","names":[],"sources":["src/components/bpm/objects-selector/helpers.ts","src/components/bpm/objects-selector/objects-selector.scss?tag=gx-ide-bpm-objects-selector&encapsulation=shadow","src/components/bpm/objects-selector/objects-selector.tsx"],"sourcesContent":["import { ItemData } from \"../../_helpers/list-selector/list-selector-item/list-selector-item\";\n\nexport type ObjectData = {\n id: string;\n icon: string;\n name: string;\n};\n\nexport const objectsToListItemData = (objects: ObjectData[]): ItemData[] => {\n const itemsData: ItemData[] = [];\n objects.forEach(object => {\n const itemId = object.id;\n const itemValue = object.name;\n const itemIcon: string = object.icon;\n const itemChecked: boolean = false;\n itemsData.push({\n itemId: itemId,\n itemValue: itemValue,\n itemIcon: itemIcon,\n itemChecked: itemChecked\n });\n });\n return itemsData;\n};\n","@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/temporary-tokens-chameleon.scss\";\n\n:host {\n display: block;\n}\n\n.header {\n display: grid;\n grid-template-columns: 1fr min-content min-content;\n grid-template-areas:\n \"label label label\"\n \"input cancel export\";\n grid-gap: var(--gx-ide-grid-column-gap);\n\n .label {\n grid-area: label;\n }\n .input {\n grid-area: input;\n }\n .cancel {\n grid-area: cancel;\n }\n .export {\n grid-area: export;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { CheckedItemsInfo } from \"../../_helpers/list-selector/list-selector\";\n\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { renderListItems } from \"../../../common/render-list-item\";\nimport { ObjectData, objectsToListItemData } from \"./helpers\";\n\n@Component({\n tag: \"gx-ide-bpm-objects-selector\",\n styleUrl: \"objects-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-objects-selector\"]\n})\nexport class GxIdeBpmExportXpdl {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n private includeAll = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmObjectsSelectorElement;\n private includeAllCheckboxEl: HTMLChCheckboxElement;\n\n // 3.STATE() VARIABLES //\n\n @State() objects: ObjectData[] = [];\n\n /**\n * Contains the list of selected object ids\n */\n @State() selectedObjects: string[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n *The current selection in the list of objects\n */\n @Prop({ mutable: true }) selection: SelectionData;\n\n /**\n * Callback invoked when the user presses the 'Add' button.\n * This function is expected to return a list of selected objects' basic information.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly addCallback: () => Promise<ObjectData[]>;\n\n /**\n * Callback invoked when the user presses the 'References' button.\n * Receives a parameter which is an array of IDs of the objects currently added to the list.\n * Returns a Promise that resolves to an array of ObjectData, where each ObjectData contains the ID, icon, and name of an object.\n * @param {string[]} ids - An array of IDs of the objects currently added to the list.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly referencesCallback: (ids: string[]) => Promise<ObjectData[]>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event()\n componentDidRenderFirstTime: EventEmitter<HTMLGxIdeBpmObjectsSelectorElement>;\n\n /**\n * @description Gets fired when the objects selection list change or when 'Select All' checkbox state changes.\n */\n @Event() selectionChanged: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(this.el);\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private objectSelectionChangedHandler = (\n selectedItem: CustomEvent<CheckedItemsInfo>\n ) => {\n const selectedObjects = Array.isArray(selectedItem.detail)\n ? selectedItem.detail\n : [selectedItem.detail];\n\n this.selectedObjects = selectedObjects.map(item => item.itemId);\n };\n\n private removeObjectsHandler = () => {\n this.objects = this.objects.filter(\n object => !this.selectedObjects.includes(object.id)\n );\n\n this.selectedObjects = [];\n this.updateSelection(false);\n };\n\n private removeAllObjectsHandler = () => {\n this.objects = [];\n this.selectedObjects = [];\n this.updateSelection(false);\n };\n\n private includeAllHandler = () => {\n this.includeAll = this.includeAllCheckboxEl.checked;\n if (this.includeAll) {\n this.selectedObjects = this.objects.map(object => object.id);\n this.objects = [];\n this.updateSelection(true);\n } else {\n this.selectedObjects = [];\n this.updateSelection(false);\n }\n\n this.selectionChanged.emit();\n };\n private addCallbackHandler = async () => {\n if (this.addCallback) {\n const resultObjects = await this.addCallback();\n const newObjects = resultObjects.filter(\n resultObj =>\n !this.objects.some(existingObj => existingObj.id === resultObj.id)\n );\n this.objects = [...this.objects, ...newObjects];\n this.updateSelection(false);\n }\n };\n\n private referencesCallbackHandler = async () => {\n if (this.referencesCallback && this.objects.length > 0) {\n const ids = this.objects.map(obj => obj.id);\n\n const resultObjects = await this.referencesCallback(ids);\n\n const newObjects = resultObjects.filter(\n resultObj =>\n !this.objects.some(existingObj => existingObj.id === resultObj.id)\n );\n\n this.objects = [...this.objects, ...newObjects];\n this.updateSelection(false);\n }\n };\n\n private updateSelection = (includeAll: boolean) => {\n const data: SelectionData = {\n includeAll: this.includeAllCheckboxEl.checked,\n objectIds: includeAll\n ? this.selectedObjects\n : this.objects.map(object => object.id)\n };\n\n this.selection = data;\n this.selectionChanged.emit();\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component gx-ide-bpm-objects-selector\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <gx-ide-list-selector\n id=\"path-list\"\n type=\"multi-selection\"\n listName=\"path-list\"\n ordered\n onSelectionChanged={this.objectSelectionChangedHandler}\n class=\"path-list\"\n >\n {renderListItems(objectsToListItemData(this.objects))}\n </gx-ide-list-selector>\n\n <div class=\"controls-wrapper\">\n <label htmlFor=\"include-all\">\n {this._componentLocale.main.includeAllLabel}\n </label>\n <ch-checkbox\n id=\"include-all\"\n accessibleName={this._componentLocale.main.includeAllLabel}\n checkedValue=\"true\"\n unCheckedValue=\"false\"\n value=\"checked\"\n onInput={this.includeAllHandler}\n ref={el =>\n (this.includeAllCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n <button\n onClick={this.addCallbackHandler}\n disabled={this.includeAll}\n >\n {this._componentLocale.main.addButton}\n </button>\n <button\n onClick={this.referencesCallbackHandler}\n disabled={this.objects.length === 0}\n >\n {this._componentLocale.main.referencesButton}\n </button>\n <button\n onClick={this.removeObjectsHandler}\n disabled={this.selectedObjects.length === 0 || this.includeAll}\n >\n {this._componentLocale.main.removeButton} (\n {this.selectedObjects.length})\n </button>\n </div>\n\n <button\n slot=\"footer-end\"\n onClick={this.removeAllObjectsHandler}\n disabled={this.includeAll}\n >\n {this._componentLocale.main.clearButton}\n </button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type SelectionData = {\n includeAll: boolean;\n objectIds: string[];\n};\n"],"version":3}