@sankhyalabs/sankhyablocks 8.16.0-dev.70 → 8.16.0-dev.72

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. package/dist/cjs/{ContinuousInsertUtils-54d44192.js → ContinuousInsertUtils-6e536e37.js} +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{pesquisa-fetcher-f3454c23.js → pesquisa-fetcher-3b86b6c4.js} +6 -1
  4. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +33 -11
  5. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  6. package/dist/cjs/snk-actions-button_5.cjs.entry.js +1 -1
  7. package/dist/cjs/snk-application.cjs.entry.js +1 -1
  8. package/dist/cjs/snk-attach.cjs.entry.js +1 -1
  9. package/dist/cjs/snk-crud.cjs.entry.js +1 -1
  10. package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
  11. package/dist/cjs/snk-detail-view.cjs.entry.js +2 -2
  12. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1 -1
  13. package/dist/cjs/snk-grid.cjs.entry.js +2 -2
  14. package/dist/cjs/{snk-guides-viewer-b20b0cfd.js → snk-guides-viewer-84cb012b.js} +1 -1
  15. package/dist/cjs/snk-guides-viewer.cjs.entry.js +2 -2
  16. package/dist/cjs/snk-pesquisa.cjs.entry.js +21 -34
  17. package/dist/cjs/snk-simple-crud.cjs.entry.js +2 -2
  18. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  19. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +0 -1
  20. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +41 -5
  21. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +4 -1
  22. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +36 -7
  23. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +6 -0
  24. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +10 -0
  25. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +22 -34
  26. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +0 -1
  27. package/dist/components/ISave.js +7 -2
  28. package/dist/components/pesquisa-grid2.js +21 -6
  29. package/dist/components/pesquisa-tree2.js +15 -6
  30. package/dist/components/snk-filter-modal.js +1 -1
  31. package/dist/components/snk-pesquisa2.js +23 -35
  32. package/dist/esm/{ContinuousInsertUtils-25e7bd9a.js → ContinuousInsertUtils-91011e01.js} +1 -1
  33. package/dist/esm/loader.js +1 -1
  34. package/dist/esm/{pesquisa-fetcher-0af41f09.js → pesquisa-fetcher-767abffa.js} +7 -2
  35. package/dist/esm/pesquisa-grid_2.entry.js +33 -11
  36. package/dist/esm/sankhyablocks.js +1 -1
  37. package/dist/esm/snk-actions-button_5.entry.js +1 -1
  38. package/dist/esm/snk-application.entry.js +1 -1
  39. package/dist/esm/snk-attach.entry.js +1 -1
  40. package/dist/esm/snk-crud.entry.js +1 -1
  41. package/dist/esm/snk-data-exporter.entry.js +1 -1
  42. package/dist/esm/snk-detail-view.entry.js +2 -2
  43. package/dist/esm/snk-filter-bar_4.entry.js +1 -1
  44. package/dist/esm/snk-grid.entry.js +2 -2
  45. package/dist/esm/{snk-guides-viewer-94918cf7.js → snk-guides-viewer-45ee10ff.js} +1 -1
  46. package/dist/esm/snk-guides-viewer.entry.js +2 -2
  47. package/dist/esm/snk-pesquisa.entry.js +21 -34
  48. package/dist/esm/snk-simple-crud.entry.js +2 -2
  49. package/dist/sankhyablocks/{p-68134a67.entry.js → p-035c63df.entry.js} +1 -1
  50. package/dist/sankhyablocks/{p-469384a2.entry.js → p-03e37897.entry.js} +1 -1
  51. package/dist/sankhyablocks/{p-4ca8e061.entry.js → p-0e6874ca.entry.js} +1 -1
  52. package/dist/sankhyablocks/{p-471785a1.entry.js → p-1bab295e.entry.js} +1 -1
  53. package/dist/sankhyablocks/{p-d92d4f91.entry.js → p-1c2d8a9a.entry.js} +1 -1
  54. package/dist/sankhyablocks/p-4fe8bb73.js +6 -0
  55. package/dist/sankhyablocks/{p-3150ad41.js → p-6cfa8913.js} +1 -1
  56. package/dist/sankhyablocks/{p-8bd86610.entry.js → p-6e0adddc.entry.js} +1 -1
  57. package/dist/sankhyablocks/{p-16cc8640.entry.js → p-853074f4.entry.js} +3 -3
  58. package/dist/sankhyablocks/{p-3a3d4055.entry.js → p-935aa4fa.entry.js} +1 -1
  59. package/dist/sankhyablocks/p-cfd229f4.entry.js +1 -0
  60. package/dist/sankhyablocks/{p-09067bee.entry.js → p-dd7fb984.entry.js} +1 -1
  61. package/dist/sankhyablocks/p-e74eb86d.entry.js +1 -0
  62. package/dist/sankhyablocks/{p-e5430b29.entry.js → p-edbe8e15.entry.js} +1 -1
  63. package/dist/sankhyablocks/{p-8a1ee5b5.js → p-ee759111.js} +1 -1
  64. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  65. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +11 -5
  66. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +8 -4
  67. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +6 -1
  68. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +5 -6
  69. package/dist/types/components.d.ts +18 -2
  70. package/package.json +1 -1
  71. package/dist/sankhyablocks/p-618a29ed.entry.js +0 -1
  72. package/dist/sankhyablocks/p-798386c7.js +0 -6
  73. package/dist/sankhyablocks/p-a3803d7c.entry.js +0 -1
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const pesquisaFetcher = require('./pesquisa-fetcher-f3454c23.js');
7
+ const pesquisaFetcher = require('./pesquisa-fetcher-3b86b6c4.js');
8
8
  require('./DataFetcher-65879b2c.js');
9
9
  require('./index-1dfc7a6e.js');
10
10
  require('./ISave-e91b70a7.js');
@@ -13,13 +13,12 @@ require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
13
13
  require('./dataunit-fetcher-8ea97d88.js');
14
14
  require('./filter-item-type.enum-a7ffdaa6.js');
15
15
  require('./form-config-fetcher-90126e4c.js');
16
- const EzScrollDirection = require('@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection');
17
16
  require('./PrintUtils-bcaeb82f.js');
18
17
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
19
18
  require('@sankhyalabs/core/dist/utils/SortingUtils');
20
19
  require('./ResourceIDUtils-5ff86aa7.js');
21
20
 
22
- const snkPesquisaCss = ".sc-snk-pesquisa-h{--snk-pesquisa--font-size:var(--text--medium, 14px);--snk-pesquisa--font-family:var(--font-pattern, Arial);--snk-pesquisa--font-weight:var(--text-weight--medium, 400);--snk-pesquisa__records--color:var(--text--primary, #626e82);--snk-pesquisa__records--color-secondary:var(--text--secondary, #626e82);--snk-pesquisa__records--padding-vertical:var(--space--medium, 12px);--snk-pesquisa__content--padding-right:var(--space--small, 6px);--snk-pesquisa__btn--color:var(--title--primary, #2B3A54);--snk-pesquisa__btn-disabled--color:var(--text--disable, #AFB6C0);--snk-pesquisa__btn-hover--color:var(--color--primary, #4e4e4e);--snk-pesquisa__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-pesquisa__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-pesquisa__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-pesquisa__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-pesquisa__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-pesquisa__scrollbar--width:var(--space--medium, 12px);height:100%;display:flex;flex-direction:column;overflow-y:auto}.snk-pesquisa.sc-snk-pesquisa{display:flex;flex-direction:column;height:100%}.snk-pesquisa__input.sc-snk-pesquisa{display:flex;width:100%;box-sizing:border-box;padding-top:4px;padding-right:4px}.snk-pesquisa__input.sc-snk-pesquisa ez-icon.sc-snk-pesquisa{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.snk-pesquisa__content.sc-snk-pesquisa{display:flex;flex-direction:column;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--snk-pesquisa__scrollbar--color-clicked) var(--snk-pesquisa__scrollbar--color-background);padding-right:var(--snk-pesquisa__content--padding-right)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar{background-color:var(--snk-pesquisa__scrollbar--color-background);width:var(--snk-pesquisa__scrollbar--width);max-width:var(--snk-pesquisa__scrollbar--width);min-width:var(--snk-pesquisa__scrollbar--width)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-track{background-color:var(--snk-pesquisa__scrollbar--color-background);border-radius:var(--snk-pesquisa__scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb{background-color:var(--snk-pesquisa__scrollbar--color-default);border-radius:var(--snk-pesquisa__scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:vertical:hover,.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-pesquisa__scrollbar--color-hover)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:vertical:active,.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-pesquisa__scrollbar--color-clicked)}.snk-pesquisa__records-label.sc-snk-pesquisa{display:flex;flex-direction:row;justify-content:space-between;font-family:var(--snk-pesquisa--font-family);font-weight:var(--snk-pesquisa--font-weight);font-size:var(--snk-pesquisa--font-size);padding-bottom:var(--snk-pesquisa__records--padding-vertical);padding-top:var(--snk-pesquisa__records--padding-vertical)}.snk-pesquisa__records.sc-snk-pesquisa{color:var(--snk-pesquisa__records--color)}.snk-pesquisa__records-limit.sc-snk-pesquisa{color:var(--snk-pesquisa__records--color-secondary)}.snk-pesquisa__records-limit.hidden.sc-snk-pesquisa,.snk-pesquisa__records.hidden.sc-snk-pesquisa{visibility:hidden}.snk-pesquisa__btn.sc-snk-pesquisa{outline:none;border:none;background:none;cursor:pointer;color:var(--snk-pesquisa__btn--color)}.snk-pesquisa__btn.sc-snk-pesquisa:disabled{cursor:unset;color:var(--snk-pesquisa__btn-disabled--color)}.snk-pesquisa__btn.sc-snk-pesquisa:disabled:hover{cursor:unset;color:var(--snk-pesquisa__btn-disabled--color)}.snk-pesquisa__btn.sc-snk-pesquisa:hover{color:var(--snk-pesquisa__btn-hover--color)}";
21
+ const snkPesquisaCss = ".sc-snk-pesquisa-h{--snk-pesquisa--font-size:var(--text--medium, 14px);--snk-pesquisa--font-family:var(--font-pattern, Arial);--snk-pesquisa--font-weight:var(--text-weight--medium, 400);--snk-pesquisa__records--color:var(--text--primary, #626e82);--snk-pesquisa__records--color-secondary:var(--text--secondary, #626e82);--snk-pesquisa__records--padding-vertical:var(--space--medium, 12px);--snk-pesquisa__content--padding-right:var(--space--small, 6px);--snk-pesquisa__btn--color:var(--title--primary, #2B3A54);--snk-pesquisa__btn-disabled--color:var(--text--disable, #AFB6C0);--snk-pesquisa__btn-hover--color:var(--color--primary, #4e4e4e);--snk-pesquisa__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-pesquisa__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-pesquisa__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-pesquisa__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-pesquisa__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-pesquisa__scrollbar--width:var(--space--medium, 12px);height:100%;display:flex;flex-direction:column;overflow-y:auto}.snk-pesquisa.sc-snk-pesquisa{display:flex;flex-direction:column;height:100%}.snk-pesquisa__input.sc-snk-pesquisa{display:flex;width:100%;box-sizing:border-box;padding-top:4px;padding-right:4px}.snk-pesquisa__input.sc-snk-pesquisa ez-icon.sc-snk-pesquisa{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.snk-pesquisa__content.sc-snk-pesquisa{display:flex;flex-direction:column;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--snk-pesquisa__scrollbar--color-clicked) var(--snk-pesquisa__scrollbar--color-background);padding-right:var(--snk-pesquisa__content--padding-right);height:100vh}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar{background-color:var(--snk-pesquisa__scrollbar--color-background);width:var(--snk-pesquisa__scrollbar--width);max-width:var(--snk-pesquisa__scrollbar--width);min-width:var(--snk-pesquisa__scrollbar--width)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-track{background-color:var(--snk-pesquisa__scrollbar--color-background);border-radius:var(--snk-pesquisa__scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb{background-color:var(--snk-pesquisa__scrollbar--color-default);border-radius:var(--snk-pesquisa__scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:vertical:hover,.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-pesquisa__scrollbar--color-hover)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:vertical:active,.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-pesquisa__scrollbar--color-clicked)}.snk-pesquisa__records-label.sc-snk-pesquisa{display:flex;flex-direction:row;justify-content:space-between;font-family:var(--snk-pesquisa--font-family);font-weight:var(--snk-pesquisa--font-weight);font-size:var(--snk-pesquisa--font-size);padding-bottom:var(--snk-pesquisa__records--padding-vertical);padding-top:var(--snk-pesquisa__records--padding-vertical)}.snk-pesquisa__records-label.hidden.sc-snk-pesquisa{display:none}.snk-pesquisa__records.sc-snk-pesquisa{color:var(--snk-pesquisa__records--color)}.snk-pesquisa__records-limit.sc-snk-pesquisa{color:var(--snk-pesquisa__records--color-secondary)}.snk-pesquisa__records-limit.hidden.sc-snk-pesquisa,.snk-pesquisa__records.hidden.sc-snk-pesquisa{visibility:hidden}.snk-pesquisa__btn.sc-snk-pesquisa{outline:none;border:none;background:none;cursor:pointer;color:var(--snk-pesquisa__btn--color)}.snk-pesquisa__btn.sc-snk-pesquisa:disabled{cursor:unset;color:var(--snk-pesquisa__btn-disabled--color)}.snk-pesquisa__btn.sc-snk-pesquisa:disabled:hover{cursor:unset;color:var(--snk-pesquisa__btn-disabled--color)}.snk-pesquisa__btn.sc-snk-pesquisa:hover{color:var(--snk-pesquisa__btn-hover--color)}.snk-pesquisa__cards-container.sc-snk-pesquisa{height:100%;overflow-y:auto}";
23
22
 
24
23
  const SnkPesquisa = class {
25
24
  constructor(hostRef) {
@@ -38,6 +37,7 @@ const SnkPesquisa = class {
38
37
  this._itemList = undefined;
39
38
  this._startLoading = false;
40
39
  this._presentationMode = "list";
40
+ this._currentView = undefined;
41
41
  this.searchLoader = undefined;
42
42
  this.treeLoader = undefined;
43
43
  this.selectItem = undefined;
@@ -340,25 +340,29 @@ const SnkPesquisa = class {
340
340
  }
341
341
  async componentDidLoad() {
342
342
  core.ElementIDUtils.addIDInfo(this._element);
343
+ await this.chooseViewMode();
343
344
  }
344
- async onClickList() {
345
+ async handleChangeViewMode() {
345
346
  this._presentationMode = this._presentationMode === 'list' ? 'table' : 'list';
347
+ await this.chooseViewMode();
346
348
  await this.pesquisaFetcher.savePresentationConfig(this.entityName, this._presentationMode);
347
349
  }
348
- enableListButton() {
349
- var _a;
350
- return ((_a = this._itemList) === null || _a === void 0 ? void 0 : _a.length) > 0;
350
+ async chooseViewMode() {
351
+ var _a, _b;
352
+ if (this._presentationMode !== 'list') {
353
+ await ((_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.show(pesquisaFetcher.PESQUISA_VIEW_MODE.GRID));
354
+ this._currentView = pesquisaFetcher.PESQUISA_VIEW_MODE.GRID;
355
+ return;
356
+ }
357
+ const view = this.isHierarchyEntity ? pesquisaFetcher.PESQUISA_VIEW_MODE.TREE : pesquisaFetcher.PESQUISA_VIEW_MODE.CARDS;
358
+ await ((_b = this._viewStack) === null || _b === void 0 ? void 0 : _b.show(view));
359
+ this._currentView = view;
351
360
  }
352
361
  //Os limites de exibição são diferentes para lista e grade
353
362
  hideLimitMessage() {
354
363
  if (!this._itemList)
355
364
  return true;
356
- if (this._presentationMode === "list") {
357
- if (this.isHierarchyEntity)
358
- return true;
359
- return this._itemList.length <= 100;
360
- }
361
- return this._itemList.length <= 150;
365
+ return this._itemList.length < 100;
362
366
  }
363
367
  hideRecordsMessage() {
364
368
  return (this._presentationMode === "list" && this.isHierarchyEntity);
@@ -381,30 +385,13 @@ const SnkPesquisa = class {
381
385
  title: 'Modo lista',
382
386
  };
383
387
  }
384
- renderContent() {
385
- if (!this._itemList)
386
- return;
387
- if (this._presentationMode === 'list') {
388
- return this.isHierarchyEntity ? this.renderTree() : this.renderCards();
389
- }
390
- return this.renderPesquisaGrid();
391
- }
392
- renderTree() {
393
- return index.h("ez-scroller", { direction: EzScrollDirection.EzScrollDirection.VERTICAL }, index.h("pesquisa-tree", { ref: (element) => this._pesquisaTree = element, argument: this.argument, treeLoader: this.treeLoader, allowsNonAnalytic: this.allowsNonAnalytic, onPesquisaTreeSelectItem: ({ detail }) => this.selectItem(detail) }));
394
- }
395
- renderCards() {
396
- return (index.h("ez-scroller", { direction: EzScrollDirection.EzScrollDirection.VERTICAL }, index.h("div", { class: "snk-pesquisa__cards-container" }, this._itemList.map((item) => {
397
- return (index.h("ez-card-item", { onEzClick: (event) => this.createOption(event.detail), item: item }));
398
- }))));
399
- }
400
- renderPesquisaGrid() {
401
- return index.h("pesquisa-grid", { metadata: this._gridMetadata, dataSource: this._gridDataSource, pkField: this._pkField, descriptionField: this._descriptionField, entityName: this.entityName, onPesquisaGridSelectItem: ({ detail }) => this.selectItem(detail) });
402
- }
403
388
  render() {
404
- var _a;
389
+ var _a, _b;
405
390
  return (index.h(index.Host, null, index.h("div", { class: "snk-pesquisa" }, index.h("div", { class: "snk-pesquisa__input" }, index.h("ez-text-input", { label: "Buscar", class: "ez-margin-right--medium", canShowError: false, ref: (ref) => this._textInput = ref, onEzChange: (event) => this.onChangeValue(event), value: this.argument, "data-element-id": "searchInput" }, index.h("ez-icon", { slot: "leftIcon", iconName: "search" }), this.argument && ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value)
406
391
  ? index.h("button", { slot: "rightIcon", class: "snk-pesquisa__btn", onClick: () => this.clearSearch() }, index.h("ez-icon", { iconName: "close" }))
407
- : undefined), index.h("ez-button", { class: "ez-button--primary", label: "Pesquisar", onClick: () => this.onClickSearch() }), index.h("ez-button", { class: "ez-margin-left--medium", mode: "icon", iconName: this.getButtonModeInfo().iconName, title: this.getButtonModeInfo().title, onClick: async () => await this.onClickList(), enabled: this.enableListButton() })), index.h("div", { class: "snk-pesquisa__records-label" }, index.h("label", { class: `snk-pesquisa__records ${this.hideRecordsMessage() ? "hidden" : ""}` }, this.getMessageView()), index.h("label", { class: `snk-pesquisa__records-limit ${this.hideLimitMessage() ? "hidden" : ""}` }, "Essa pesquisa foi limitada, existem mais resultados.")), index.h("div", { class: "snk-pesquisa__content" }, this.renderContent()))));
392
+ : undefined), index.h("ez-button", { class: "ez-button--primary", label: "Pesquisar", onClick: () => this.onClickSearch() }), index.h("ez-button", { class: "ez-margin-left--medium", mode: "icon", iconName: this.getButtonModeInfo().iconName, title: this.getButtonModeInfo().title, onClick: async () => await this.handleChangeViewMode() })), index.h("div", { class: `snk-pesquisa__records-label ${this._currentView === pesquisaFetcher.PESQUISA_VIEW_MODE.TREE ? 'hidden' : ''}` }, index.h("label", { class: `snk-pesquisa__records ${this.hideRecordsMessage() ? "hidden" : ""}` }, this.getMessageView()), index.h("label", { class: `snk-pesquisa__records-limit ${this.hideLimitMessage() ? "hidden" : ""}` }, "Essa pesquisa foi limitada, existem mais resultados.")), index.h("div", { class: "snk-pesquisa__content" }, index.h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, index.h("stack-item", null, index.h("pesquisa-grid", { metadata: this._gridMetadata, dataSource: this._gridDataSource, pkField: this._pkField, descriptionField: this._descriptionField, entityName: this.entityName, shouldLoadConfig: this._currentView === pesquisaFetcher.PESQUISA_VIEW_MODE.GRID, onPesquisaGridSelectItem: ({ detail }) => this.selectItem(detail) })), index.h("stack-item", null, index.h("div", { class: 'snk-pesquisa__cards-container' }, (_b = this._itemList) === null || _b === void 0 ? void 0 : _b.map((item) => {
393
+ return (index.h("ez-card-item", { onEzClick: (event) => this.createOption(event.detail), item: item }));
394
+ }))), index.h("stack-item", null, index.h("pesquisa-tree", { ref: (element) => this._pesquisaTree = element, argument: this.argument, treeLoader: this.treeLoader, allowsNonAnalytic: this.allowsNonAnalytic, shouldLoadTree: this._currentView === pesquisaFetcher.PESQUISA_VIEW_MODE.TREE, onPesquisaTreeSelectItem: ({ detail }) => this.selectItem(detail) })))))));
408
395
  }
409
396
  get _element() { return index.getElement(this); }
410
397
  static get watchers() { return {
@@ -8,8 +8,8 @@ const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const constants = require('./constants-35ddd366.js');
9
9
  const taskbarElements = require('./taskbar-elements-9ad1f9c0.js');
10
10
  require('./DataFetcher-65879b2c.js');
11
- require('./pesquisa-fetcher-f3454c23.js');
12
- const ContinuousInsertUtils = require('./ContinuousInsertUtils-54d44192.js');
11
+ require('./pesquisa-fetcher-3b86b6c4.js');
12
+ const ContinuousInsertUtils = require('./ContinuousInsertUtils-6e536e37.js');
13
13
  const index = require('./index-1dfc7a6e.js');
14
14
  require('./ISave-e91b70a7.js');
15
15
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
@@ -24,7 +24,7 @@ ez-modal {
24
24
 
25
25
  .snk-filter-modal__rendered-items {
26
26
  max-height: 760px;
27
- overflow-x: clip;
27
+ overflow-x: hidden;
28
28
  overflow-y: auto;
29
29
  }
30
30
 
@@ -1,5 +1,4 @@
1
1
  :host {
2
- height: 100vh;
3
2
  background: var(--background--xlight, #FFF);
4
3
  overflow-x: auto;
5
4
  }
@@ -9,21 +9,31 @@ export class PesquisaGrid {
9
9
  this.pkField = undefined;
10
10
  this.descriptionField = undefined;
11
11
  this.entityName = undefined;
12
+ this.shouldLoadConfig = false;
13
+ this._gridConfig = undefined;
12
14
  this._inMemoryLoader = undefined;
13
15
  this._dataunit = undefined;
14
- this._gridConfig = undefined;
15
16
  }
16
17
  observeDataSource(newValue) {
17
18
  if (!this._inMemoryLoader || !this._dataunit || !newValue)
18
19
  return;
19
20
  this._inMemoryLoader.records = [...newValue];
20
21
  }
21
- async componentWillLoad() {
22
+ observeMetadata() {
22
23
  this.initializeDataUnit();
24
+ }
25
+ async observeShouldLoadConfig(newValue) {
26
+ if (!newValue || this._gridConfig)
27
+ return;
28
+ await this.loadGridConfig();
29
+ }
30
+ async loadGridConfig() {
23
31
  this._gridConfig = await this._pesquisaFetcher.loadPesquisaGridConfig(this.entityName);
24
32
  }
25
33
  initializeDataUnit() {
26
34
  var _a;
35
+ if (!this.metadata)
36
+ return;
27
37
  this._inMemoryLoader = new InMemoryLoader(this.metadata, (_a = this.dataSource) !== null && _a !== void 0 ? _a : []);
28
38
  this._dataunit = this._inMemoryLoader.dataUnit;
29
39
  this._dataunit.pageSize = 0;
@@ -41,6 +51,8 @@ export class PesquisaGrid {
41
51
  await this._pesquisaFetcher.savePesquisaGridConfig(this.entityName, columns);
42
52
  }
43
53
  render() {
54
+ if (!this.metadata || !this._dataunit)
55
+ return;
44
56
  return (h(Host, null, h("ez-grid", { dataUnit: this._dataunit, config: this._gridConfig, canEdit: false, suppressCheckboxColumn: true, compact: true, autoFocus: false, onEzDoubleClick: ({ detail }) => this.handleDbClick(detail), onConfigChange: async (event) => this.handleConfigChanged(event) })));
45
57
  }
46
58
  static get is() { return "pesquisa-grid"; }
@@ -148,14 +160,32 @@ export class PesquisaGrid {
148
160
  },
149
161
  "attribute": "entity-name",
150
162
  "reflect": false
163
+ },
164
+ "shouldLoadConfig": {
165
+ "type": "boolean",
166
+ "mutable": false,
167
+ "complexType": {
168
+ "original": "boolean",
169
+ "resolved": "boolean",
170
+ "references": {}
171
+ },
172
+ "required": false,
173
+ "optional": false,
174
+ "docs": {
175
+ "tags": [],
176
+ "text": "Define se deve carregar configura\u00E7\u00F5es da grade"
177
+ },
178
+ "attribute": "should-load-config",
179
+ "reflect": false,
180
+ "defaultValue": "false"
151
181
  }
152
182
  };
153
183
  }
154
184
  static get states() {
155
185
  return {
186
+ "_gridConfig": {},
156
187
  "_inMemoryLoader": {},
157
- "_dataunit": {},
158
- "_gridConfig": {}
188
+ "_dataunit": {}
159
189
  };
160
190
  }
161
191
  static get events() {
@@ -175,7 +205,7 @@ export class PesquisaGrid {
175
205
  "references": {
176
206
  "IOption": {
177
207
  "location": "import",
178
- "path": "@sankhyalabs/ezui/.diststorybook/types/components/ez-combo-box/ez-combo-box"
208
+ "path": "@sankhyalabs/ezui/src/components/ez-search/ez-search"
179
209
  }
180
210
  }
181
211
  }
@@ -185,6 +215,12 @@ export class PesquisaGrid {
185
215
  return [{
186
216
  "propName": "dataSource",
187
217
  "methodName": "observeDataSource"
218
+ }, {
219
+ "propName": "metadata",
220
+ "methodName": "observeMetadata"
221
+ }, {
222
+ "propName": "shouldLoadConfig",
223
+ "methodName": "observeShouldLoadConfig"
188
224
  }];
189
225
  }
190
226
  }
@@ -8,8 +8,11 @@
8
8
 
9
9
  background: var(--background--xlight, #FFF);
10
10
  position: relative;
11
- display: inline-block;
12
11
  min-height: var(--snk-pesquisa--tree__min-height);
12
+
13
+ height: 100%;
14
+ display: block;
15
+ overflow-y: auto;
13
16
  }
14
17
 
15
18
  :host:hover .actions-container{
@@ -5,12 +5,20 @@ export class PesquisaTree {
5
5
  this.treeLoader = undefined;
6
6
  this.argument = undefined;
7
7
  this.allowsNonAnalytic = false;
8
+ this.shouldLoadTree = false;
8
9
  this.items = [];
9
10
  }
10
11
  async applyFilter() {
11
12
  await this._tree.applyFilter(this.argument);
12
13
  }
14
+ async observeShouldLoadTree(newValue) {
15
+ if (!newValue || this.items.length > 0)
16
+ return;
17
+ await this.loadTree();
18
+ }
13
19
  async loadTree() {
20
+ if (!this.shouldLoadTree)
21
+ return;
14
22
  if (!this.treeLoader || typeof this.treeLoader !== 'function')
15
23
  return;
16
24
  const response = await this.treeLoader((this.argument || '').trim());
@@ -39,16 +47,13 @@ export class PesquisaTree {
39
47
  };
40
48
  this.pesquisaTreeSelectItem.emit(option);
41
49
  }
42
- async componentWillLoad() {
43
- await this.loadTree();
44
- }
45
- renderEmptyMessate() {
50
+ renderEmptyMessage() {
46
51
  return (h("div", { class: "ez-flex ez-flex--justify-center ez-flex--align-items-center ez-margin--large ez-text ez-text--xlarge ez-text--secondary" }, h("span", null, "Nenhum registro encontrado...")));
47
52
  }
48
53
  render() {
49
54
  var _a;
50
55
  return (h(Host, null, !((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) ?
51
- this.renderEmptyMessate() :
56
+ this.renderEmptyMessage() :
52
57
  h(Fragment, null, h("div", { class: 'actions-container' }, h("ez-button", { size: 'small', mode: 'icon', class: 'ez-margin-right--small', iconName: 'show-list', title: "Expandir", onClick: () => this.handleExpandAll() }), h("ez-button", { size: 'small', mode: 'icon', iconName: 'hide-list', title: "Recolher", onClick: () => this.handleCloseAll() })), h("ez-tree", { ref: (element) => this._tree = element, onEzDbClickItem: ({ detail }) => this.handleDbClick(detail), items: this.items }))));
53
58
  }
54
59
  static get is() { return "pesquisa-tree"; }
@@ -80,7 +85,7 @@ export class PesquisaTree {
80
85
  },
81
86
  "ITreeItem": {
82
87
  "location": "import",
83
- "path": "@sankhyalabs/ezui/.diststorybook/types/components/ez-tree/interfaces/ITreeItem"
88
+ "path": "@sankhyalabs/ezui/src/components/ez-tree/interfaces/ITreeItem"
84
89
  }
85
90
  }
86
91
  },
@@ -125,6 +130,24 @@ export class PesquisaTree {
125
130
  "attribute": "allows-non-analytic",
126
131
  "reflect": false,
127
132
  "defaultValue": "false"
133
+ },
134
+ "shouldLoadTree": {
135
+ "type": "boolean",
136
+ "mutable": false,
137
+ "complexType": {
138
+ "original": "boolean",
139
+ "resolved": "boolean",
140
+ "references": {}
141
+ },
142
+ "required": false,
143
+ "optional": false,
144
+ "docs": {
145
+ "tags": [],
146
+ "text": "Informa se a \u00E1rvore hier\u00E1rquica deve ou n\u00E3o ser carregada."
147
+ },
148
+ "attribute": "should-load-tree",
149
+ "reflect": false,
150
+ "defaultValue": "false"
128
151
  }
129
152
  };
130
153
  }
@@ -150,7 +173,7 @@ export class PesquisaTree {
150
173
  "references": {
151
174
  "IOption": {
152
175
  "location": "import",
153
- "path": "@sankhyalabs/ezui/.diststorybook/types/components/ez-combo-box/ez-combo-box"
176
+ "path": "@sankhyalabs/ezui/src/components/ez-search/ez-search"
154
177
  }
155
178
  }
156
179
  }
@@ -176,4 +199,10 @@ export class PesquisaTree {
176
199
  }
177
200
  };
178
201
  }
202
+ static get watchers() {
203
+ return [{
204
+ "propName": "shouldLoadTree",
205
+ "methodName": "observeShouldLoadTree"
206
+ }];
207
+ }
179
208
  }
@@ -87,3 +87,9 @@ export function parseGridConfig(rawConfig) {
87
87
  return undefined;
88
88
  return { columns };
89
89
  }
90
+ export var PESQUISA_VIEW_MODE;
91
+ (function (PESQUISA_VIEW_MODE) {
92
+ PESQUISA_VIEW_MODE[PESQUISA_VIEW_MODE["GRID"] = 0] = "GRID";
93
+ PESQUISA_VIEW_MODE[PESQUISA_VIEW_MODE["CARDS"] = 1] = "CARDS";
94
+ PESQUISA_VIEW_MODE[PESQUISA_VIEW_MODE["TREE"] = 2] = "TREE";
95
+ })(PESQUISA_VIEW_MODE || (PESQUISA_VIEW_MODE = {}));
@@ -79,6 +79,7 @@
79
79
  /*public*/
80
80
  scrollbar-color: var(--snk-pesquisa__scrollbar--color-clicked) var(--snk-pesquisa__scrollbar--color-background);
81
81
  padding-right: var(--snk-pesquisa__content--padding-right);
82
+ height: 100vh;
82
83
  }
83
84
 
84
85
  .snk-pesquisa__content::-webkit-scrollbar {
@@ -125,6 +126,10 @@
125
126
  padding-top: var(--snk-pesquisa__records--padding-vertical);
126
127
  }
127
128
 
129
+ .snk-pesquisa__records-label.hidden{
130
+ display: none;
131
+ }
132
+
128
133
  .snk-pesquisa__records {
129
134
  color: var(--snk-pesquisa__records--color);
130
135
  }
@@ -166,3 +171,8 @@
166
171
  /*public*/
167
172
  color: var(--snk-pesquisa__btn-hover--color);
168
173
  }
174
+
175
+ .snk-pesquisa__cards-container{
176
+ height: 100%;
177
+ overflow-y: auto;
178
+ }
@@ -1,8 +1,7 @@
1
1
  import { ElementIDUtils, ObjectUtils, StringUtils } from '@sankhyalabs/core';
2
2
  import { h, Host } from '@stencil/core';
3
- import { buildGridMetadata } from './pesquisaHelper';
3
+ import { buildGridMetadata, PESQUISA_VIEW_MODE } from './pesquisaHelper';
4
4
  import { PesquisaFetcher } from '../../lib';
5
- import { EzScrollDirection } from '@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection';
6
5
  export class SnkPesquisa {
7
6
  constructor() {
8
7
  this._mdByName = {};
@@ -19,6 +18,7 @@ export class SnkPesquisa {
19
18
  this._itemList = undefined;
20
19
  this._startLoading = false;
21
20
  this._presentationMode = "list";
21
+ this._currentView = undefined;
22
22
  this.searchLoader = undefined;
23
23
  this.treeLoader = undefined;
24
24
  this.selectItem = undefined;
@@ -321,25 +321,29 @@ export class SnkPesquisa {
321
321
  }
322
322
  async componentDidLoad() {
323
323
  ElementIDUtils.addIDInfo(this._element);
324
+ await this.chooseViewMode();
324
325
  }
325
- async onClickList() {
326
+ async handleChangeViewMode() {
326
327
  this._presentationMode = this._presentationMode === 'list' ? 'table' : 'list';
328
+ await this.chooseViewMode();
327
329
  await this.pesquisaFetcher.savePresentationConfig(this.entityName, this._presentationMode);
328
330
  }
329
- enableListButton() {
330
- var _a;
331
- return ((_a = this._itemList) === null || _a === void 0 ? void 0 : _a.length) > 0;
331
+ async chooseViewMode() {
332
+ var _a, _b;
333
+ if (this._presentationMode !== 'list') {
334
+ await ((_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.show(PESQUISA_VIEW_MODE.GRID));
335
+ this._currentView = PESQUISA_VIEW_MODE.GRID;
336
+ return;
337
+ }
338
+ const view = this.isHierarchyEntity ? PESQUISA_VIEW_MODE.TREE : PESQUISA_VIEW_MODE.CARDS;
339
+ await ((_b = this._viewStack) === null || _b === void 0 ? void 0 : _b.show(view));
340
+ this._currentView = view;
332
341
  }
333
342
  //Os limites de exibição são diferentes para lista e grade
334
343
  hideLimitMessage() {
335
344
  if (!this._itemList)
336
345
  return true;
337
- if (this._presentationMode === "list") {
338
- if (this.isHierarchyEntity)
339
- return true;
340
- return this._itemList.length <= 100;
341
- }
342
- return this._itemList.length <= 150;
346
+ return this._itemList.length < 100;
343
347
  }
344
348
  hideRecordsMessage() {
345
349
  return (this._presentationMode === "list" && this.isHierarchyEntity);
@@ -362,30 +366,13 @@ export class SnkPesquisa {
362
366
  title: 'Modo lista',
363
367
  };
364
368
  }
365
- renderContent() {
366
- if (!this._itemList)
367
- return;
368
- if (this._presentationMode === 'list') {
369
- return this.isHierarchyEntity ? this.renderTree() : this.renderCards();
370
- }
371
- return this.renderPesquisaGrid();
372
- }
373
- renderTree() {
374
- return h("ez-scroller", { direction: EzScrollDirection.VERTICAL }, h("pesquisa-tree", { ref: (element) => this._pesquisaTree = element, argument: this.argument, treeLoader: this.treeLoader, allowsNonAnalytic: this.allowsNonAnalytic, onPesquisaTreeSelectItem: ({ detail }) => this.selectItem(detail) }));
375
- }
376
- renderCards() {
377
- return (h("ez-scroller", { direction: EzScrollDirection.VERTICAL }, h("div", { class: "snk-pesquisa__cards-container" }, this._itemList.map((item) => {
378
- return (h("ez-card-item", { onEzClick: (event) => this.createOption(event.detail), item: item }));
379
- }))));
380
- }
381
- renderPesquisaGrid() {
382
- return h("pesquisa-grid", { metadata: this._gridMetadata, dataSource: this._gridDataSource, pkField: this._pkField, descriptionField: this._descriptionField, entityName: this.entityName, onPesquisaGridSelectItem: ({ detail }) => this.selectItem(detail) });
383
- }
384
369
  render() {
385
- var _a;
370
+ var _a, _b;
386
371
  return (h(Host, null, h("div", { class: "snk-pesquisa" }, h("div", { class: "snk-pesquisa__input" }, h("ez-text-input", { label: "Buscar", class: "ez-margin-right--medium", canShowError: false, ref: (ref) => this._textInput = ref, onEzChange: (event) => this.onChangeValue(event), value: this.argument, "data-element-id": "searchInput" }, h("ez-icon", { slot: "leftIcon", iconName: "search" }), this.argument && ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value)
387
372
  ? h("button", { slot: "rightIcon", class: "snk-pesquisa__btn", onClick: () => this.clearSearch() }, h("ez-icon", { iconName: "close" }))
388
- : undefined), h("ez-button", { class: "ez-button--primary", label: "Pesquisar", onClick: () => this.onClickSearch() }), h("ez-button", { class: "ez-margin-left--medium", mode: "icon", iconName: this.getButtonModeInfo().iconName, title: this.getButtonModeInfo().title, onClick: async () => await this.onClickList(), enabled: this.enableListButton() })), h("div", { class: "snk-pesquisa__records-label" }, h("label", { class: `snk-pesquisa__records ${this.hideRecordsMessage() ? "hidden" : ""}` }, this.getMessageView()), h("label", { class: `snk-pesquisa__records-limit ${this.hideLimitMessage() ? "hidden" : ""}` }, "Essa pesquisa foi limitada, existem mais resultados.")), h("div", { class: "snk-pesquisa__content" }, this.renderContent()))));
373
+ : undefined), h("ez-button", { class: "ez-button--primary", label: "Pesquisar", onClick: () => this.onClickSearch() }), h("ez-button", { class: "ez-margin-left--medium", mode: "icon", iconName: this.getButtonModeInfo().iconName, title: this.getButtonModeInfo().title, onClick: async () => await this.handleChangeViewMode() })), h("div", { class: `snk-pesquisa__records-label ${this._currentView === PESQUISA_VIEW_MODE.TREE ? 'hidden' : ''}` }, h("label", { class: `snk-pesquisa__records ${this.hideRecordsMessage() ? "hidden" : ""}` }, this.getMessageView()), h("label", { class: `snk-pesquisa__records-limit ${this.hideLimitMessage() ? "hidden" : ""}` }, "Essa pesquisa foi limitada, existem mais resultados.")), h("div", { class: "snk-pesquisa__content" }, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("pesquisa-grid", { metadata: this._gridMetadata, dataSource: this._gridDataSource, pkField: this._pkField, descriptionField: this._descriptionField, entityName: this.entityName, shouldLoadConfig: this._currentView === PESQUISA_VIEW_MODE.GRID, onPesquisaGridSelectItem: ({ detail }) => this.selectItem(detail) })), h("stack-item", null, h("div", { class: 'snk-pesquisa__cards-container' }, (_b = this._itemList) === null || _b === void 0 ? void 0 : _b.map((item) => {
374
+ return (h("ez-card-item", { onEzClick: (event) => this.createOption(event.detail), item: item }));
375
+ }))), h("stack-item", null, h("pesquisa-tree", { ref: (element) => this._pesquisaTree = element, argument: this.argument, treeLoader: this.treeLoader, allowsNonAnalytic: this.allowsNonAnalytic, shouldLoadTree: this._currentView === PESQUISA_VIEW_MODE.TREE, onPesquisaTreeSelectItem: ({ detail }) => this.selectItem(detail) })))))));
389
376
  }
390
377
  static get is() { return "snk-pesquisa"; }
391
378
  static get encapsulation() { return "scoped"; }
@@ -535,7 +522,8 @@ export class SnkPesquisa {
535
522
  return {
536
523
  "_itemList": {},
537
524
  "_startLoading": {},
538
- "_presentationMode": {}
525
+ "_presentationMode": {},
526
+ "_currentView": {}
539
527
  };
540
528
  }
541
529
  static get elementRef() { return "_element"; }
@@ -178,7 +178,6 @@ export class PesquisaFetcher {
178
178
  buildLoadTreeRequestBody(entityName, argument, criteria, searchOptions) {
179
179
  var _a, _b, _c;
180
180
  const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
181
- console.log("criteria: ", criteria);
182
181
  const incomeSearchOptions = (_a = listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) !== null && _a !== void 0 ? _a : searchOptions;
183
182
  const rootEntity = incomeSearchOptions === null || incomeSearchOptions === void 0 ? void 0 : incomeSearchOptions.rootEntity;
184
183
  const codeFieldName = incomeSearchOptions === null || incomeSearchOptions === void 0 ? void 0 : incomeSearchOptions.codeFieldName;
@@ -89,6 +89,12 @@ function parseGridConfig(rawConfig) {
89
89
  return undefined;
90
90
  return { columns };
91
91
  }
92
+ var PESQUISA_VIEW_MODE;
93
+ (function (PESQUISA_VIEW_MODE) {
94
+ PESQUISA_VIEW_MODE[PESQUISA_VIEW_MODE["GRID"] = 0] = "GRID";
95
+ PESQUISA_VIEW_MODE[PESQUISA_VIEW_MODE["CARDS"] = 1] = "CARDS";
96
+ PESQUISA_VIEW_MODE[PESQUISA_VIEW_MODE["TREE"] = 2] = "TREE";
97
+ })(PESQUISA_VIEW_MODE || (PESQUISA_VIEW_MODE = {}));
92
98
 
93
99
  class PesquisaFetcher {
94
100
  constructor() {
@@ -266,7 +272,6 @@ class PesquisaFetcher {
266
272
  buildLoadTreeRequestBody(entityName, argument, criteria, searchOptions) {
267
273
  var _a, _b, _c;
268
274
  const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
269
- console.log("criteria: ", criteria);
270
275
  const incomeSearchOptions = (_a = listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) !== null && _a !== void 0 ? _a : searchOptions;
271
276
  const rootEntity = incomeSearchOptions === null || incomeSearchOptions === void 0 ? void 0 : incomeSearchOptions.rootEntity;
272
277
  const codeFieldName = incomeSearchOptions === null || incomeSearchOptions === void 0 ? void 0 : incomeSearchOptions.codeFieldName;
@@ -389,4 +394,4 @@ var SaveErrorsEnum;
389
394
  SaveErrorsEnum["DESCRIPTION_CANNOT_BE_CHANGED"] = "DESCRIPTION_CANNOT_BE_CHANGED";
390
395
  })(SaveErrorsEnum || (SaveErrorsEnum = {}));
391
396
 
392
- export { DataExporterOption as D, PresentationMode as P, SaveErrorsEnum as S, PesquisaFetcher as a, DataExporterType as b, DataExporterFormat as c, buildGridMetadata as d };
397
+ export { DataExporterOption as D, PresentationMode as P, SaveErrorsEnum as S, PesquisaFetcher as a, DataExporterType as b, DataExporterFormat as c, buildGridMetadata as d, PESQUISA_VIEW_MODE as e };
@@ -8,7 +8,7 @@ import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
8
8
  import './filter-item-type.enum.js';
9
9
  import './form-config-fetcher.js';
10
10
 
11
- const pesquisaGridCss = ".sc-pesquisa-grid-h{height:100vh;background:var(--background--xlight, #FFF);overflow-x:auto}ez-grid.sc-pesquisa-grid{--ez-grid__container--shadow:none;--ez-grid__header--shadow:none}";
11
+ const pesquisaGridCss = ".sc-pesquisa-grid-h{background:var(--background--xlight, #FFF);overflow-x:auto}ez-grid.sc-pesquisa-grid{--ez-grid__container--shadow:none;--ez-grid__header--shadow:none}";
12
12
 
13
13
  const PesquisaGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
14
14
  constructor() {
@@ -21,21 +21,31 @@ const PesquisaGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
21
21
  this.pkField = undefined;
22
22
  this.descriptionField = undefined;
23
23
  this.entityName = undefined;
24
+ this.shouldLoadConfig = false;
25
+ this._gridConfig = undefined;
24
26
  this._inMemoryLoader = undefined;
25
27
  this._dataunit = undefined;
26
- this._gridConfig = undefined;
27
28
  }
28
29
  observeDataSource(newValue) {
29
30
  if (!this._inMemoryLoader || !this._dataunit || !newValue)
30
31
  return;
31
32
  this._inMemoryLoader.records = [...newValue];
32
33
  }
33
- async componentWillLoad() {
34
+ observeMetadata() {
34
35
  this.initializeDataUnit();
36
+ }
37
+ async observeShouldLoadConfig(newValue) {
38
+ if (!newValue || this._gridConfig)
39
+ return;
40
+ await this.loadGridConfig();
41
+ }
42
+ async loadGridConfig() {
35
43
  this._gridConfig = await this._pesquisaFetcher.loadPesquisaGridConfig(this.entityName);
36
44
  }
37
45
  initializeDataUnit() {
38
46
  var _a;
47
+ if (!this.metadata)
48
+ return;
39
49
  this._inMemoryLoader = new InMemoryLoader(this.metadata, (_a = this.dataSource) !== null && _a !== void 0 ? _a : []);
40
50
  this._dataunit = this._inMemoryLoader.dataUnit;
41
51
  this._dataunit.pageSize = 0;
@@ -53,10 +63,14 @@ const PesquisaGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
53
63
  await this._pesquisaFetcher.savePesquisaGridConfig(this.entityName, columns);
54
64
  }
55
65
  render() {
66
+ if (!this.metadata || !this._dataunit)
67
+ return;
56
68
  return (h(Host, null, h("ez-grid", { dataUnit: this._dataunit, config: this._gridConfig, canEdit: false, suppressCheckboxColumn: true, compact: true, autoFocus: false, onEzDoubleClick: ({ detail }) => this.handleDbClick(detail), onConfigChange: async (event) => this.handleConfigChanged(event) })));
57
69
  }
58
70
  static get watchers() { return {
59
- "dataSource": ["observeDataSource"]
71
+ "dataSource": ["observeDataSource"],
72
+ "metadata": ["observeMetadata"],
73
+ "shouldLoadConfig": ["observeShouldLoadConfig"]
60
74
  }; }
61
75
  static get style() { return pesquisaGridCss; }
62
76
  }, [2, "pesquisa-grid", {
@@ -65,9 +79,10 @@ const PesquisaGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
65
79
  "pkField": [1, "pk-field"],
66
80
  "descriptionField": [1, "description-field"],
67
81
  "entityName": [1, "entity-name"],
82
+ "shouldLoadConfig": [4, "should-load-config"],
83
+ "_gridConfig": [32],
68
84
  "_inMemoryLoader": [32],
69
- "_dataunit": [32],
70
- "_gridConfig": [32]
85
+ "_dataunit": [32]
71
86
  }]);
72
87
  function defineCustomElement() {
73
88
  if (typeof customElements === "undefined") {