@genexus/genexus-ide-ui 1.0.71 → 1.0.73

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 (47) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +282 -0
  3. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -0
  4. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +24 -11
  5. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/collection-manifest.json +1 -0
  8. package/dist/collection/components/bpm/task-documents/gx-ide-assets/bpm-task-documents/langs/bpm-task-documents.lang.en.json +23 -0
  9. package/dist/collection/components/bpm/task-documents/gx-ide-assets/bpm-task-documents/langs/bpm-task-documents.lang.ja.json +23 -0
  10. package/dist/collection/components/bpm/task-documents/gx-ide-assets/bpm-task-documents/langs/bpm-task-documents.lang.zh.json +23 -0
  11. package/dist/collection/components/bpm/task-documents/gx-ide-assets/bpm-task-documents/shortcuts.json +15 -0
  12. package/dist/collection/components/bpm/task-documents/helpers.js +34 -0
  13. package/dist/collection/components/bpm/task-documents/helpers.js.map +1 -0
  14. package/dist/collection/components/bpm/task-documents/task-documents.css +26 -0
  15. package/dist/collection/components/bpm/task-documents/task-documents.js +440 -0
  16. package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -0
  17. package/dist/collection/components/data-selector/data-selector.js +26 -13
  18. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  19. package/dist/collection/testing/locale.e2e.js +1 -0
  20. package/dist/collection/testing/locale.e2e.js.map +1 -1
  21. package/dist/components/gx-ide-bpm-task-documents.d.ts +11 -0
  22. package/dist/components/gx-ide-bpm-task-documents.js +313 -0
  23. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -0
  24. package/dist/components/gx-ide-data-selector.js +24 -11
  25. package/dist/components/gx-ide-data-selector.js.map +1 -1
  26. package/dist/esm/genexus-ide-ui.js +1 -1
  27. package/dist/esm/gx-ide-bpm-task-documents.entry.js +278 -0
  28. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -0
  29. package/dist/esm/gx-ide-data-selector.entry.js +24 -11
  30. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  31. package/dist/esm/loader.js +1 -1
  32. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  33. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  34. package/dist/genexus-ide-ui/gx-ide-assets/bpm-task-documents/langs/bpm-task-documents.lang.en.json +23 -0
  35. package/dist/genexus-ide-ui/gx-ide-assets/bpm-task-documents/langs/bpm-task-documents.lang.ja.json +23 -0
  36. package/dist/genexus-ide-ui/gx-ide-assets/bpm-task-documents/langs/bpm-task-documents.lang.zh.json +23 -0
  37. package/dist/genexus-ide-ui/gx-ide-assets/bpm-task-documents/shortcuts.json +15 -0
  38. package/dist/genexus-ide-ui/p-a3361024.entry.js +419 -0
  39. package/dist/genexus-ide-ui/p-a3361024.entry.js.map +1 -0
  40. package/dist/genexus-ide-ui/{p-c624a8da.entry.js → p-eee8a8a9.entry.js} +61 -47
  41. package/dist/genexus-ide-ui/p-eee8a8a9.entry.js.map +1 -0
  42. package/dist/types/components/bpm/task-documents/helpers.d.ts +8 -0
  43. package/dist/types/components/bpm/task-documents/task-documents.d.ts +71 -0
  44. package/dist/types/components/data-selector/data-selector.d.ts +2 -2
  45. package/dist/types/components.d.ts +152 -64
  46. package/package.json +1 -1
  47. package/dist/genexus-ide-ui/p-c624a8da.entry.js.map +0 -1
@@ -16,28 +16,28 @@ var c = undefined && undefined.__classPrivateFieldGet || function(t, e, i, s) {
16
16
  return i === "m" ? s : i === "a" ? s.call(t) : s ? s.value : e.get(t);
17
17
  };
18
18
 
19
- var d = undefined && undefined.__classPrivateFieldSet || function(t, e, i, s, a) {
19
+ var h = undefined && undefined.__classPrivateFieldSet || function(t, e, i, s, a) {
20
20
  if (s === "m") throw new TypeError("Private method is not writable");
21
21
  if (s === "a" && !a) throw new TypeError("Private accessor was defined without a setter");
22
22
  if (typeof e === "function" ? t !== e || !a : !e.has(t)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
23
23
  return s === "a" ? a.call(t, i) : a ? a.value = i : e.set(t, i), i;
24
24
  };
25
25
 
26
- var h, u, f, p, b, g, m, w, y, k, v, M, W, x, j, C, _, E, T, z;
26
+ var d, u, f, p, b, g, m, w, y, k, v, M, W, x, j, C, _, E, T, z, D;
27
27
 
28
28
  // Best performance bundle
29
- const D = [ "resets/box-sizing", "components/button", "components/edit", "components/tabular-grid", "components/icon", "utils/form", "utils/layout", "utils/spacing", "chameleon/scrollbar" ];
29
+ const P = [ "resets/box-sizing", "components/button", "components/edit", "components/tabular-grid", "components/icon", "utils/form", "utils/layout", "utils/spacing", "chameleon/scrollbar" ];
30
30
 
31
- const P = o({
31
+ const S = o({
32
32
  category: "window-tools",
33
33
  name: "filter",
34
34
  colorType: "on-elevation"
35
35
  });
36
36
 
37
- const S = class {
37
+ const F = class {
38
38
  constructor(s) {
39
39
  t(this, s);
40
- h.set(this, void 0);
40
+ d.set(this, void 0);
41
41
  // used to select the first item after "loadItemsCallback"
42
42
  u.set(this, false);
43
43
  // used to select the first item after "loadItemsCallback"
@@ -52,9 +52,9 @@ const S = class {
52
52
  * After items have been loaded and rendered, the first row should be selected.
53
53
  */ k.set(this, (() => {
54
54
  if (c(this, u, "f")) {
55
- c(this, y, "f").selectRow(c(this, h, "f"));
55
+ c(this, y, "f").selectRow(c(this, d, "f"));
56
56
  }
57
- d(this, u, false, "f");
57
+ h(this, u, false, "f");
58
58
  }));
59
59
  v.set(this, (t => {
60
60
  if (t.key === "Enter") {
@@ -100,9 +100,9 @@ const S = class {
100
100
  this.loading = true;
101
101
  this.loadItemsCallback(s).then((t => {
102
102
  if (t.length) {
103
- this.objects = c(this, z, "f").call(this, t);
104
- d(this, h, this.objects[0].id, "f");
105
- d(this, u, true, "f");
103
+ this.objects = c(this, D, "f").call(this, t);
104
+ h(this, d, this.objects[0].id, "f");
105
+ h(this, u, true, "f");
106
106
  }
107
107
  this.selectedObjectsIds = [];
108
108
  this.loading = false;
@@ -123,13 +123,13 @@ const S = class {
123
123
  part: "filter-pattern",
124
124
  debounce: r.inputDebounce,
125
125
  onInput: c(this, _, "f"),
126
- ref: t => d(this, g, t, "f")
126
+ ref: t => h(this, g, t, "f")
127
127
  })), i("gx-ide-entity-selector", {
128
128
  id: "object-selector",
129
129
  value: this.defaultModule,
130
130
  defaultValue: this.defaultModule,
131
131
  selectEntityCallback: this.selectObjectCallback,
132
- ref: t => d(this, m, t, "f"),
132
+ ref: t => h(this, m, t, "f"),
133
133
  class: "entity",
134
134
  onValueChanged: c(this, _, "f")
135
135
  })) ]));
@@ -137,7 +137,7 @@ const S = class {
137
137
  const t = !this.objects.length;
138
138
  const e = this.loader && this.loading;
139
139
  if (!t || e) {
140
- d(this, p, true, "f");
140
+ h(this, p, true, "f");
141
141
  // improve performance if is first render
142
142
  }
143
143
  return i("ch-tabular-grid", {
@@ -150,7 +150,7 @@ const S = class {
150
150
  onKeyDown: c(this, v, "f"),
151
151
  part: "ch-grid-objects",
152
152
  onSelectionChanged: this.objects.length ? c(this, j, "f") : undefined,
153
- ref: t => d(this, y, t, "f")
153
+ ref: t => h(this, y, t, "f")
154
154
  }, i("ch-tabular-grid-columnset", {
155
155
  class: "tabular-grid-column-set"
156
156
  }, i("ch-tabular-grid-column", {
@@ -200,11 +200,35 @@ const S = class {
200
200
  show: true
201
201
  }) : i("gx-ide-empty-state", {
202
202
  isAnimated: c(this, p, "f"),
203
- stateIconSrc: P,
203
+ stateIconSrc: S,
204
204
  stateTitle: c(this, f, "f").emptyState.title
205
205
  }))));
206
206
  }));
207
- z.set(this, (t =>
207
+ z.set(this, (() => {
208
+ if (!this.editCallback && !this.newVariableCallback) {
209
+ return null;
210
+ }
211
+ const t = this.newVariableCallback && !this.loading;
212
+ const e = this.editCallback && !this.loading && this.selectedObjectsIds.length;
213
+ return i("div", {
214
+ class: "buttons-spacer"
215
+ }, this.newVariableCallback ? i("button", {
216
+ // New Variable Button
217
+ class: "button-secondary",
218
+ disabled: !t,
219
+ part: "button button-new",
220
+ type: "button",
221
+ onClick: c(this, C, "f")
222
+ }, c(this, f, "f").footer.btnNew) : [], this.editCallback ? i("button", {
223
+ // Edit Button
224
+ class: "button-secondary",
225
+ disabled: !e,
226
+ part: "button button-edit",
227
+ type: "button",
228
+ onClick: e && c(this, W, "f")
229
+ }, c(this, f, "f").footer.btnEdit) : []);
230
+ }));
231
+ D.set(this, (t =>
208
232
  // TODO (make this a common helper function
209
233
  // and use it in other dialog grids that
210
234
  // require filter by name).
@@ -233,7 +257,7 @@ const S = class {
233
257
  this.selectionType = "multiple";
234
258
  }
235
259
  async componentWillLoad() {
236
- d(this, f, await n.getComponentStrings(this.el), "f");
260
+ h(this, f, await n.getComponentStrings(this.el), "f");
237
261
  }
238
262
  connectedCallback() {
239
263
  c(this, _, "f").call(this);
@@ -261,39 +285,28 @@ const S = class {
261
285
  }
262
286
  render() {
263
287
  const t = !this.loading;
264
- const e = !this.loading && this.selectedObjectsIds.length;
265
- const a = !this.loading;
288
+ const e = !!this.newVariableCallback || !!this.editCallback;
266
289
  return i(s, {
267
290
  onKeyPress: c(this, x, "f"),
268
291
  class: "widget"
269
292
  }, i("ch-theme", {
270
- model: D
293
+ model: P
271
294
  }), i("ch-shortcuts", {
272
295
  src: c(this, b, "f"),
273
- ref: t => d(this, w, t, "f")
296
+ ref: t => h(this, w, t, "f")
274
297
  }), i("section", {
275
298
  class: "section"
276
299
  }, i("header", {
277
300
  class: "header control-header-with-border spacing-body-block-start spacing-body-inline"
278
301
  }, c(this, E, "f").call(this)), c(this, T, "f").call(this), i("footer", {
279
- class: "footer control-footer-with-border control-footer-space-between spacing-body-inline spacing-body-block-end"
280
- }, i("div", {
281
- class: "buttons-spacer"
282
- }, i("button", {
283
- // New Variable Button
284
- class: "button-secondary",
285
- disabled: !t,
286
- part: "button button-new",
287
- type: "button",
288
- onClick: c(this, C, "f")
289
- }, c(this, f, "f").footer.btnNew), i("button", {
290
- // Edit Button
291
- class: "button-secondary",
292
- disabled: !e,
293
- part: "button button-edit",
294
- type: "button",
295
- onClick: e && c(this, W, "f")
296
- }, c(this, f, "f").footer.btnEdit)), i("div", {
302
+ class: {
303
+ footer: true,
304
+ "control-footer-with-border": true,
305
+ "control-footer-space-between": e,
306
+ "spacing-body-inline": true,
307
+ "spacing-body-block-end": true
308
+ }
309
+ }, c(this, z, "f").call(this), i("div", {
297
310
  class: "buttons-spacer"
298
311
  }, i("button", {
299
312
  // Cancel Button
@@ -305,9 +318,9 @@ const S = class {
305
318
  // Confirm Button
306
319
  class: "button-primary",
307
320
  part: "button button-ok",
308
- disabled: !a,
321
+ disabled: !t,
309
322
  type: "button",
310
- onClick: a && c(this, M, "f")
323
+ onClick: t && c(this, M, "f")
311
324
  }, c(this, f, "f").footer.btnConfirm)))));
312
325
  }
313
326
  static get delegatesFocus() {
@@ -321,12 +334,13 @@ const S = class {
321
334
  }
322
335
  };
323
336
 
324
- h = new WeakMap, u = new WeakMap, f = new WeakMap, p = new WeakMap, b = new WeakMap,
337
+ d = new WeakMap, u = new WeakMap, f = new WeakMap, p = new WeakMap, b = new WeakMap,
325
338
  g = new WeakMap, m = new WeakMap, w = new WeakMap, y = new WeakMap, k = new WeakMap,
326
339
  v = new WeakMap, M = new WeakMap, W = new WeakMap, x = new WeakMap, j = new WeakMap,
327
- C = new WeakMap, _ = new WeakMap, E = new WeakMap, T = new WeakMap, z = new WeakMap;
340
+ C = new WeakMap, _ = new WeakMap, E = new WeakMap, T = new WeakMap, z = new WeakMap,
341
+ D = new WeakMap;
328
342
 
329
- S.style = l;
343
+ F.style = l;
330
344
 
331
- export { S as gx_ide_data_selector };
332
- //# sourceMappingURL=p-c624a8da.entry.js.map
345
+ export { F as gx_ide_data_selector };
346
+ //# sourceMappingURL=p-eee8a8a9.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["dataSelectorCss","CSS_BUNDLES","FILTER_ICON","getIconPath","category","name","colorType","GxIdeDataSelector","_GxIdeDataSelector_firstGridObjectId","set","this","_GxIdeDataSelector_loadItemsCallbackJustCalled","_GxIdeDataSelector_componentLocale","_GxIdeDataSelector_animateEmptyState","_GxIdeDataSelector_shortcutsSrc","getAssetPath","_GxIdeDataSelector_filterPatternEl","_GxIdeDataSelector_filterObjectEl","_GxIdeDataSelector_chShortcutsEl","_GxIdeDataSelector_chTabularGridObjectsEl","_GxIdeDataSelector_evaluateFirstRowSelection","__classPrivateFieldGet","selectRow","__classPrivateFieldSet","_GxIdeDataSelector_chGridKeyDownHandler","e","key","_GxIdeDataSelector_confirmCallbackHandler","call","stopPropagation","confirmCallback","selectedObjectsIds","_GxIdeDataSelector_editCallbackHandler","async","result","editCallback","_GxIdeDataSelector_refreshUIWithNewConfiguration","_GxIdeDataSelector_hostKeyPressHandler","_GxIdeDataSelector_objectsSelectionChangedHandler","event","detail","rowsId","_GxIdeDataSelector_newVariableCallbackHandler","response","newVariableCallback","objects","filters","pattern","_a","value","object","_c","_b","id","loading","loadItemsCallback","then","items","length","_GxIdeDataSelector_sortObjectsByName","_GxIdeDataSelector_renderFilter","h","class","htmlFor","filter","autoFocus","part","debounce","config","inputDebounce","onInput","ref","el","defaultModule","defaultValue","selectEntityCallback","selectObjectCallback","onValueChanged","_GxIdeDataSelector_renderObjects","gridIsEmpty","displayLoader","loader","data","rowSelectionMode","selectionType","onKeyDown","onSelectionChanged","undefined","settingable","size","tabularGrid","colSize","maxContent","tableHead","common","dataType","description","map","obj","rowid","onDblClick","src","type","loaderTitle","title","show","isAnimated","stateIconSrc","stateTitle","emptyState","_GxIdeDataSelector_renderEditButtons","newVariableButtonEnabled","editButtonEnabled","disabled","onClick","footer","btnNew","btnEdit","sort","a","b","nameA","toLowerCase","nameB","componentWillLoad","Locale","getComponentStrings","connectedCallback","componentDidLoad","focus","componentDidRender","suspendShortcuts","suspend","validate","isValid","render","okButtonEnabled","footerJustifySpaceBetween","Host","onKeyPress","model","cancelCallback","btnCancel","btnConfirm"],"sources":["src/components/data-selector/data-selector.scss?tag=gx-ide-data-selector&encapsulation=shadow","src/components/data-selector/data-selector.tsx"],"sourcesContent":["@import \"../../../node_modules/@genexus/mercury/dist/mercury.scss\"; // for the tabular-grid-cell-layout mixin\n\n:host {\n display: grid;\n grid-template-rows: max-content 1fr max-content;\n overflow: auto;\n block-size: 100%;\n}\n\n.section {\n display: contents;\n}\n\n.header__field-group {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n\n.tabular-grid {\n contain: size;\n}\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".data\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 2,\n 3,\n 4\n )\n);\n\nch-tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\nch-tabular-grid-rowset-empty {\n // to make the loader be positioned relative to 'ch-tabular-grid-rowset-empty'\n position: relative;\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\n\nimport { Locale } from \"../../common/locale\";\n\nimport { config } from \"../../common/config\";\nimport { EntityData } from \"../../common/types\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { TabularGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\n\n// Best performance bundle\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/edit\",\n \"components/tabular-grid\",\n \"components/icon\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\n\n@Component({\n tag: \"gx-ide-data-selector\",\n styleUrl: \"data-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/data-selector\"]\n})\nexport class GxIdeDataSelector {\n #firstGridObjectId: string; // used to select the first item after \"loadItemsCallback\"\n #loadItemsCallbackJustCalled: boolean = false; // used to select the first item after \"loadItemsCallback\"\n\n #componentLocale: any;\n #animateEmptyState: boolean = false;\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/data-selector/shortcuts.json`);\n /* References needed to collect data */\n #filterPatternEl!: HTMLChEditElement;\n #filterObjectEl!: HTMLGxIdeEntitySelectorElement;\n #chShortcutsEl: HTMLChShortcutsElement;\n #chTabularGridObjectsEl: HTMLChTabularGridElement;\n\n @Element() el: HTMLGxIdeDataSelectorElement;\n\n /**\n * True if loadItemsCallback has been called and has not been resolved yet.\n */\n @State() loading: boolean = true;\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ItemData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when the user presses the 'OK' button\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Callback invoked when user presses the edit button. Receives the first\n * selected element id as a parameter.\n */\n @Prop() readonly editCallback: EditCallback;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadItemsCallback!: LoadItemsCallback;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newVariableCallback: NewVariableCallback;\n\n /**\n * Callback invoked when the action is executed in the Object filter. It returns\n * the information of the selected object (id and name) or 'undefined' if it was\n * canceled.\n */\n @Prop() readonly selectObjectCallback: SelectObjectCallback;\n\n /**\n * Single if multiple object selection is not allowed. Default is multiple\n */\n @Prop() readonly selectionType: \"single\" | \"multiple\" = \"multiple\";\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n connectedCallback() {\n this.#refreshUIWithNewConfiguration();\n }\n\n componentDidLoad() {\n this.#filterPatternEl.focus();\n }\n\n componentDidRender() {\n this.#evaluateFirstRowSelection();\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n /**\n * After items have been loaded and rendered, the first row should be selected.\n */\n #evaluateFirstRowSelection = () => {\n if (this.#loadItemsCallbackJustCalled) {\n this.#chTabularGridObjectsEl.selectRow(this.#firstGridObjectId);\n }\n this.#loadItemsCallbackJustCalled = false;\n };\n\n #chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.#confirmCallbackHandler(e);\n }\n };\n\n #confirmCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.confirmCallback(this.selectedObjectsIds);\n };\n\n #editCallbackHandler = async (e: MouseEvent): Promise<void> => {\n e.stopPropagation();\n if (this.selectedObjectsIds[0]) {\n const result = await this.editCallback(this.selectedObjectsIds[0]);\n if (result) {\n this.#refreshUIWithNewConfiguration();\n }\n }\n };\n\n #hostKeyPressHandler = (e: KeyboardEvent) => {\n // TODO : revise why this is necessary\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n #objectsSelectionChangedHandler = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n this.selectedObjectsIds = event.detail.rowsId;\n };\n\n #newVariableCallbackHandler = async () => {\n const response = await this.newVariableCallback();\n if (response) {\n this.#refreshUIWithNewConfiguration();\n }\n };\n #refreshUIWithNewConfiguration = (): void => {\n this.objects = [];\n const filters: FiltersData = {\n pattern: this.#filterPatternEl?.value,\n object: this.#filterObjectEl?.value?.id\n };\n this.loading = true;\n this.loadItemsCallback(filters).then((items: ItemData[]) => {\n if (items.length) {\n this.objects = this.#sortObjectsByName(items);\n this.#firstGridObjectId = this.objects[0].id;\n this.#loadItemsCallbackJustCalled = true;\n }\n this.selectedObjectsIds = [];\n this.loading = false;\n });\n };\n\n #renderFilter = (): Element[] => {\n return [\n <div class=\"header__field-group field-group\">\n <div class=\"field field-block pattern-field\">\n <label class=\"label\" htmlFor=\"filter-pattern\">\n {this.#componentLocale.filter.pattern}\n </label>\n <ch-edit\n autoFocus\n id=\"filter-pattern\"\n name=\"filter-pattern\"\n class=\"input pattern-input\"\n part=\"filter-pattern\"\n debounce={config.inputDebounce}\n onInput={this.#refreshUIWithNewConfiguration}\n ref={(el: HTMLChEditElement) =>\n (this.#filterPatternEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n <gx-ide-entity-selector\n id=\"object-selector\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectObjectCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#filterObjectEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"entity\"\n onValueChanged={this.#refreshUIWithNewConfiguration}\n ></gx-ide-entity-selector>\n </div>\n ];\n };\n\n #renderObjects = (): Element => {\n const gridIsEmpty = !this.objects.length;\n const displayLoader = this.loader && this.loading;\n if (!gridIsEmpty || displayLoader) {\n this.#animateEmptyState = true; // improve performance if is first render\n }\n return (\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"empty-result\": this.objects.length === 0,\n \"data\": true\n }}\n rowSelectionMode={this.selectionType}\n onKeyDown={this.#chGridKeyDownHandler}\n part=\"ch-grid-objects\"\n onSelectionChanged={\n this.objects.length ? this.#objectsSelectionChangedHandler : undefined\n }\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chTabularGridObjectsEl = el as HTMLChTabularGridElement)\n }\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.dataType}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {!gridIsEmpty ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: ItemData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n onDblClick={this.#confirmCallbackHandler}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image\n src={\n obj.type === \"attribute\"\n ? \"objects/attribute\"\n : \"objects-parts/variables\"\n }\n class=\"icon-md\"\n ></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.dataType}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n {displayLoader ? (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n show\n ></gx-ide-loader>\n ) : (\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n ></gx-ide-empty-state>\n )}\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #renderEditButtons = (): JSX.Element | null => {\n if (!this.editCallback && !this.newVariableCallback) {\n return null;\n }\n\n const newVariableButtonEnabled = this.newVariableCallback && !this.loading;\n const editButtonEnabled =\n this.editCallback && !this.loading && this.selectedObjectsIds.length;\n\n return (\n <div class=\"buttons-spacer\">\n {this.newVariableCallback ? (\n <button\n // New Variable Button\n class=\"button-secondary\"\n disabled={!newVariableButtonEnabled}\n part=\"button button-new\"\n type=\"button\"\n onClick={this.#newVariableCallbackHandler}\n >\n {this.#componentLocale.footer.btnNew}\n </button>\n ) : (\n []\n )}\n {this.editCallback ? (\n <button\n // Edit Button\n class=\"button-secondary\"\n disabled={!editButtonEnabled}\n part=\"button button-edit\"\n type=\"button\"\n onClick={editButtonEnabled && this.#editCallbackHandler}\n >\n {this.#componentLocale.footer.btnEdit}\n </button>\n ) : (\n []\n )}\n </div>\n );\n };\n\n #sortObjectsByName = (objects: ItemData[]): ItemData[] =>\n // TODO (make this a common helper function\n // and use it in other dialog grids that\n // require filter by name).\n objects.sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n });\n\n render() {\n const okButtonEnabled = !this.loading;\n const footerJustifySpaceBetween: boolean =\n !!this.newVariableCallback || !!this.editCallback;\n\n return (\n <Host onKeyPress={this.#hostKeyPressHandler} class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-block-start spacing-body-inline\">\n {this.#renderFilter()}\n </header>\n {this.#renderObjects()}\n <footer\n class={{\n \"footer\": true,\n \"control-footer-with-border\": true,\n \"control-footer-space-between\": footerJustifySpaceBetween,\n \"spacing-body-inline\": true,\n \"spacing-body-block-end\": true\n }}\n >\n {this.#renderEditButtons()}\n <div class=\"buttons-spacer\">\n <button\n // Cancel Button\n class=\"button-secondary\"\n part=\"button button-cancel\"\n type=\"button\"\n onClick={this.cancelCallback}\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n <button\n // Confirm Button\n class=\"button-primary\"\n part=\"button button-ok\"\n disabled={!okButtonEnabled}\n type=\"button\"\n onClick={okButtonEnabled && this.#confirmCallbackHandler}\n >\n {this.#componentLocale.footer.btnConfirm}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type NewVariableCallback = () => Promise<boolean> | undefined;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectObjectCallback = () => Promise<EntityData | undefined>;\n\nexport type EditCallback = (id: string) => Promise<boolean> | undefined;\n\nexport type ConfirmCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadItemsCallback = (filters: FiltersData) => Promise<ItemData[]>;\n\nexport type FiltersData = {\n pattern?: string;\n object?: string;\n};\n\nexport type ItemData = {\n type: ItemType;\n id: string;\n name: string;\n dataType: string;\n description: string;\n};\n\nexport type ItemType = \"variable\" | \"attribute\";\n"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { TaskDocumentData } from "./task-documents";
2
+ import { ActionListItemModel } from "@genexus/chameleon-controls-library/dist/types/components/action-list/types";
3
+ import { ComboBoxItemModel } from "@genexus/chameleon-controls-library/dist/types/components/combo-box/types";
4
+ export declare const taskDocumentsToActionListItemModel: (objects: TaskDocumentData[], selectedDocument?: TaskDocumentData) => ActionListItemModel[];
5
+ /**
6
+ * @description This function converts string[] to ComboBoxItemModel[]
7
+ */
8
+ export declare const convertSuggestedDocumentsToSuggestItems: (suggestedDocuments: string[]) => ComboBoxItemModel[];
@@ -0,0 +1,71 @@
1
+ import { EventEmitter } from "../../../stencil-public-runtime";
2
+ import { ActionListItemModel } from "@genexus/chameleon-controls-library/dist/types/components/action-list/types";
3
+ import { ComboBoxItemModel } from "@genexus/chameleon-controls-library/dist/types/components/combo-box/types";
4
+ export declare class GxIdeBpmTaskDocuments {
5
+ #private;
6
+ el: HTMLGxIdeBpmTaskDocumentsElement;
7
+ /**
8
+ * Documents state for the action list
9
+ */
10
+ documentsActionListState: ActionListItemModel[];
11
+ documentName: string;
12
+ /**
13
+ * Document selected in the action list
14
+ */
15
+ selectedDocument: TaskDocumentData;
16
+ /**
17
+ * Possible suggestions for the documents
18
+ */
19
+ suggestedDocuments: ComboBoxItemModel[];
20
+ /**
21
+ * @property documents
22
+ * @description The current value of the documents for the task
23
+ */
24
+ documents: TaskDocumentData[];
25
+ /**
26
+ * @property cancelCallback
27
+ * @description Callback invoked when the user cancels the application declaration (Cancel button)
28
+ */
29
+ readonly cancelCallback: CancelCallback;
30
+ /**
31
+ * @property confirmCallback
32
+ * @description Callback invoked when the user confirms the application declaration (Ok button)
33
+ */
34
+ readonly confirmCallback: ConfirmCallback;
35
+ /**
36
+ * @property selectDocumentCallback
37
+ * @description Callback invoked when the user presses the '...' button to access the WorkflowDocuments selection dialog. Returns the name of the document to be inserted in the input or 'undefined' if it was canceled.
38
+ */
39
+ readonly selectDocumentCallback: SelectDocumentCallback;
40
+ /**
41
+ * @property suggestDocumentsCallback
42
+ * @description Callback that must be called to obtain options for the document input.
43
+ */
44
+ readonly suggestDocumentsCallback: SuggestDocumentsCallback;
45
+ /**
46
+ * @description Gets fired when the component has rendered for the first time.
47
+ */
48
+ componentDidRenderFirstTime: EventEmitter<string>;
49
+ componentWillLoad(): Promise<void>;
50
+ componentDidRender(): void;
51
+ /**
52
+ * Suspends or reactivates the shortcuts
53
+ */
54
+ suspendShortcuts(suspendShortcuts: boolean): Promise<void>;
55
+ render(): any;
56
+ }
57
+ export type TaskDocumentData = {
58
+ name: string;
59
+ readEnabled: boolean;
60
+ readRequired: boolean;
61
+ newEnabled: boolean;
62
+ newRequired: boolean;
63
+ updateEnabled: boolean;
64
+ updateRequired: boolean;
65
+ deleteEnabled: boolean;
66
+ deleteRequired: boolean;
67
+ };
68
+ export type SuggestDocumentsCallback = (documentName: string) => Promise<string[] | undefined>;
69
+ export type SelectDocumentCallback = () => Promise<string | undefined>;
70
+ export type ConfirmCallback = (data: TaskDocumentData[]) => Promise<void>;
71
+ export type CancelCallback = () => Promise<void>;
@@ -71,10 +71,10 @@ export declare class GxIdeDataSelector {
71
71
  validate(): Promise<boolean>;
72
72
  render(): any;
73
73
  }
74
- export type NewVariableCallback = () => Promise<boolean>;
74
+ export type NewVariableCallback = () => Promise<boolean> | undefined;
75
75
  export type CancelCallback = () => Promise<void>;
76
76
  export type SelectObjectCallback = () => Promise<EntityData | undefined>;
77
- export type EditCallback = (id: string) => Promise<boolean>;
77
+ export type EditCallback = (id: string) => Promise<boolean> | undefined;
78
78
  export type ConfirmCallback = (ids: string[]) => Promise<void>;
79
79
  export type LoadItemsCallback = (filters: FiltersData) => Promise<ItemData[]>;
80
80
  export type FiltersData = {