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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) 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-grid.cjs.entry.js +2 -2
  13. package/dist/cjs/{snk-guides-viewer-b20b0cfd.js → snk-guides-viewer-84cb012b.js} +1 -1
  14. package/dist/cjs/snk-guides-viewer.cjs.entry.js +2 -2
  15. package/dist/cjs/snk-pesquisa.cjs.entry.js +21 -34
  16. package/dist/cjs/snk-simple-crud.cjs.entry.js +2 -2
  17. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +0 -1
  18. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +41 -5
  19. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +4 -1
  20. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +36 -7
  21. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +6 -0
  22. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +10 -0
  23. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +22 -34
  24. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +0 -1
  25. package/dist/components/ISave.js +7 -2
  26. package/dist/components/pesquisa-grid2.js +21 -6
  27. package/dist/components/pesquisa-tree2.js +15 -6
  28. package/dist/components/snk-pesquisa2.js +23 -35
  29. package/dist/esm/{ContinuousInsertUtils-25e7bd9a.js → ContinuousInsertUtils-91011e01.js} +1 -1
  30. package/dist/esm/loader.js +1 -1
  31. package/dist/esm/{pesquisa-fetcher-0af41f09.js → pesquisa-fetcher-767abffa.js} +7 -2
  32. package/dist/esm/pesquisa-grid_2.entry.js +33 -11
  33. package/dist/esm/sankhyablocks.js +1 -1
  34. package/dist/esm/snk-actions-button_5.entry.js +1 -1
  35. package/dist/esm/snk-application.entry.js +1 -1
  36. package/dist/esm/snk-attach.entry.js +1 -1
  37. package/dist/esm/snk-crud.entry.js +1 -1
  38. package/dist/esm/snk-data-exporter.entry.js +1 -1
  39. package/dist/esm/snk-detail-view.entry.js +2 -2
  40. package/dist/esm/snk-grid.entry.js +2 -2
  41. package/dist/esm/{snk-guides-viewer-94918cf7.js → snk-guides-viewer-45ee10ff.js} +1 -1
  42. package/dist/esm/snk-guides-viewer.entry.js +2 -2
  43. package/dist/esm/snk-pesquisa.entry.js +21 -34
  44. package/dist/esm/snk-simple-crud.entry.js +2 -2
  45. package/dist/sankhyablocks/{p-68134a67.entry.js → p-035c63df.entry.js} +1 -1
  46. package/dist/sankhyablocks/{p-469384a2.entry.js → p-03e37897.entry.js} +1 -1
  47. package/dist/sankhyablocks/{p-4ca8e061.entry.js → p-0e6874ca.entry.js} +1 -1
  48. package/dist/sankhyablocks/{p-471785a1.entry.js → p-1bab295e.entry.js} +1 -1
  49. package/dist/sankhyablocks/{p-d92d4f91.entry.js → p-1c2d8a9a.entry.js} +1 -1
  50. package/dist/sankhyablocks/p-4fe8bb73.js +6 -0
  51. package/dist/sankhyablocks/{p-3150ad41.js → p-6cfa8913.js} +1 -1
  52. package/dist/sankhyablocks/{p-8bd86610.entry.js → p-6e0adddc.entry.js} +1 -1
  53. package/dist/sankhyablocks/{p-16cc8640.entry.js → p-853074f4.entry.js} +3 -3
  54. package/dist/sankhyablocks/{p-3a3d4055.entry.js → p-935aa4fa.entry.js} +1 -1
  55. package/dist/sankhyablocks/p-cfd229f4.entry.js +1 -0
  56. package/dist/sankhyablocks/{p-09067bee.entry.js → p-dd7fb984.entry.js} +1 -1
  57. package/dist/sankhyablocks/p-e74eb86d.entry.js +1 -0
  58. package/dist/sankhyablocks/{p-8a1ee5b5.js → p-ee759111.js} +1 -1
  59. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  60. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +11 -5
  61. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +8 -4
  62. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +6 -1
  63. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +5 -6
  64. package/dist/types/components.d.ts +18 -2
  65. package/package.json +1 -1
  66. package/dist/sankhyablocks/p-618a29ed.entry.js +0 -1
  67. package/dist/sankhyablocks/p-798386c7.js +0 -6
  68. package/dist/sankhyablocks/p-a3803d7c.entry.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { UnitMetadata } from '@sankhyalabs/core';
2
2
  import { ITreeItem } from '@sankhyalabs/ezui/src/components/ez-tree/interfaces/ITreeItem';
3
- import { IGridConfig } from '@sankhyalabs/ezui/.diststorybook/types/components/ez-grid/controller/EzGridController';
3
+ import { IGridConfig } from '@sankhyalabs/ezui/src/components/ez-grid/controller/EzGridController';
4
4
  export declare function buildGridMetadata(rawValue: any): UnitMetadata;
5
5
  export declare function parseLegacyTree(legacy: LegacyTree): ITreeItem[];
6
6
  export interface LegacyTreeItem {
@@ -17,3 +17,8 @@ export interface LegacyNode {
17
17
  no: LegacyTreeItem[];
18
18
  }
19
19
  export declare function parseGridConfig(rawConfig: any): IGridConfig | undefined;
20
+ export declare enum PESQUISA_VIEW_MODE {
21
+ GRID = 0,
22
+ CARDS = 1,
23
+ TREE = 2
24
+ }
@@ -1,4 +1,5 @@
1
1
  import { IOption } from '@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box';
2
+ import { PESQUISA_VIEW_MODE } from './pesquisaHelper';
2
3
  export declare class SnkPesquisa {
3
4
  private _textInput;
4
5
  private _pesquisaTree;
@@ -16,10 +17,12 @@ export declare class SnkPesquisa {
16
17
  private _pkField;
17
18
  private _descriptionField;
18
19
  private pesquisaFetcher;
20
+ private _viewStack;
19
21
  private _element;
20
22
  private _itemList;
21
23
  private _startLoading;
22
24
  private _presentationMode;
25
+ _currentView: PESQUISA_VIEW_MODE;
23
26
  /**
24
27
  * Função responsável em carregar os itens do componente snk-pesquisa.
25
28
  */
@@ -83,14 +86,10 @@ export declare class SnkPesquisa {
83
86
  private getMessageView;
84
87
  componentWillLoad(): Promise<void>;
85
88
  componentDidLoad(): Promise<void>;
86
- private onClickList;
87
- private enableListButton;
89
+ private handleChangeViewMode;
90
+ private chooseViewMode;
88
91
  private hideLimitMessage;
89
92
  private hideRecordsMessage;
90
93
  private getButtonModeInfo;
91
- private renderContent;
92
- private renderTree;
93
- private renderCards;
94
- private renderPesquisaGrid;
95
94
  render(): any;
96
95
  }
@@ -6,8 +6,8 @@
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { DataUnit, Filter, KeyboardManager, Record, UnitMetadata } from "@sankhyalabs/core";
9
- import { IOption } from "@sankhyalabs/ezui/.diststorybook/types/components/ez-combo-box/ez-combo-box";
10
- import { ITreeItem } from "@sankhyalabs/ezui/.diststorybook/types/components/ez-tree/interfaces/ITreeItem";
9
+ import { IOption } from "@sankhyalabs/ezui/src/components/ez-search/ez-search";
10
+ import { ITreeItem } from "@sankhyalabs/ezui/src/components/ez-tree/interfaces/ITreeItem";
11
11
  import { IAction } from "./components/snk-actions-button/actions/interfaces/IAction";
12
12
  import { SnkMessageBuilder } from "./lib/message/SnkMessageBuilder";
13
13
  import { DataFetcher, Options } from "./lib/http/data-fetcher/DataFetcher";
@@ -84,6 +84,10 @@ export namespace Components {
84
84
  * Campo que representa a chave primária do registro
85
85
  */
86
86
  "pkField": string;
87
+ /**
88
+ * Define se deve carregar configurações da grade
89
+ */
90
+ "shouldLoadConfig": boolean;
87
91
  }
88
92
  interface PesquisaTree {
89
93
  /**
@@ -95,6 +99,10 @@ export namespace Components {
95
99
  * Argumentos que serão usados ao chamar a função treeLoader.
96
100
  */
97
101
  "argument": string;
102
+ /**
103
+ * Informa se a árvore hierárquica deve ou não ser carregada.
104
+ */
105
+ "shouldLoadTree": boolean;
98
106
  /**
99
107
  * Função responsável por carregar a árvore hierárquica do componente
100
108
  */
@@ -2581,6 +2589,10 @@ declare namespace LocalJSX {
2581
2589
  * Campo que representa a chave primária do registro
2582
2590
  */
2583
2591
  "pkField"?: string;
2592
+ /**
2593
+ * Define se deve carregar configurações da grade
2594
+ */
2595
+ "shouldLoadConfig"?: boolean;
2584
2596
  }
2585
2597
  interface PesquisaTree {
2586
2598
  /**
@@ -2592,6 +2604,10 @@ declare namespace LocalJSX {
2592
2604
  */
2593
2605
  "argument"?: string;
2594
2606
  "onPesquisaTreeSelectItem"?: (event: PesquisaTreeCustomEvent<IOption>) => void;
2607
+ /**
2608
+ * Informa se a árvore hierárquica deve ou não ser carregada.
2609
+ */
2610
+ "shouldLoadTree"?: boolean;
2595
2611
  /**
2596
2612
  * Função responsável por carregar a árvore hierárquica do componente
2597
2613
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/sankhyablocks",
3
- "version": "8.16.0-dev.71",
3
+ "version": "8.16.0-dev.72",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1 +0,0 @@
1
- import{r as i,c as t,h as s,H as e,F as a}from"./p-d2d301a6.js";import{I as o}from"./p-ddefbbc7.js";import"./p-d62228fb.js";import{P as n}from"./p-798386c7.js";import"@sankhyalabs/core";import"./p-30cf616e.js";import"./p-21749402.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff1990ad.js";import"./p-1435701f.js";import{ApplicationUtils as r}from"@sankhyalabs/ezui/dist/collection/utils";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";import"./p-8d884fab.js";const l=class{constructor(s){i(this,s),this.pesquisaGridSelectItem=t(this,"pesquisaGridSelectItem",7),this._pesquisaFetcher=new n,this.metadata=void 0,this.dataSource=[],this.pkField=void 0,this.descriptionField=void 0,this.entityName=void 0,this._inMemoryLoader=void 0,this._dataunit=void 0,this._gridConfig=void 0}observeDataSource(i){this._inMemoryLoader&&this._dataunit&&i&&(this._inMemoryLoader.records=[...i])}async componentWillLoad(){this.initializeDataUnit(),this._gridConfig=await this._pesquisaFetcher.loadPesquisaGridConfig(this.entityName)}initializeDataUnit(){var i;this._inMemoryLoader=new o(this.metadata,null!==(i=this.dataSource)&&void 0!==i?i:[]),this._dataunit=this._inMemoryLoader.dataUnit,this._dataunit.pageSize=0}handleDbClick(i){this.pesquisaGridSelectItem.emit({value:i[this.pkField],label:i[this.descriptionField]})}async handleConfigChanged({detail:i}){var t;const s=null!==(t=null==i?void 0:i.columns)&&void 0!==t?t:[];await this._pesquisaFetcher.savePesquisaGridConfig(this.entityName,s)}render(){return s(e,null,s("ez-grid",{dataUnit:this._dataunit,config:this._gridConfig,canEdit:!1,suppressCheckboxColumn:!0,compact:!0,autoFocus:!1,onEzDoubleClick:({detail:i})=>this.handleDbClick(i),onConfigChange:async i=>this.handleConfigChanged(i)}))}static get watchers(){return{dataSource:["observeDataSource"]}}};l.style=".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}";const h=class{constructor(s){i(this,s),this.pesquisaTreeSelectItem=t(this,"pesquisaTreeSelectItem",7),this.treeLoader=void 0,this.argument=void 0,this.allowsNonAnalytic=!1,this.items=[]}async applyFilter(){await this._tree.applyFilter(this.argument)}async loadTree(){if(!this.treeLoader||"function"!=typeof this.treeLoader)return;const i=await this.treeLoader((this.argument||"").trim());this.items=[...i]}expandOrCloseAllItems(i,t){return i.map((i=>Object.assign(Object.assign({},i),{expanded:t,children:i.children?this.expandOrCloseAllItems(i.children,t):void 0})))}handleExpandAll(){this.items=[...this.expandOrCloseAllItems(this.items,!0)]}handleCloseAll(){this.items=[...this.expandOrCloseAllItems(this.items,!1)]}handleDbClick(i){var t;this.allowsNonAnalytic||(null===(t=i.props)||void 0===t?void 0:t.analitico)?this.pesquisaTreeSelectItem.emit({value:i.id,label:i.label}):r.error("Erro","Há pelo menos um registro inválido selecionado. Você deve selecionar itens do tipo 'analítico'.")}async componentWillLoad(){await this.loadTree()}renderEmptyMessate(){return s("div",{class:"ez-flex ez-flex--justify-center ez-flex--align-items-center ez-margin--large ez-text ez-text--xlarge ez-text--secondary"},s("span",null,"Nenhum registro encontrado..."))}render(){var i;return s(e,null,(null===(i=this.items)||void 0===i?void 0:i.length)?s(a,null,s("div",{class:"actions-container"},s("ez-button",{size:"small",mode:"icon",class:"ez-margin-right--small",iconName:"show-list",title:"Expandir",onClick:()=>this.handleExpandAll()}),s("ez-button",{size:"small",mode:"icon",iconName:"hide-list",title:"Recolher",onClick:()=>this.handleCloseAll()})),s("ez-tree",{ref:i=>this._tree=i,onEzDbClickItem:({detail:i})=>this.handleDbClick(i),items:this.items})):this.renderEmptyMessate())}};h.style=".sc-pesquisa-tree-h{--snk-pesquisa--tree__action-container--top:var(--space--sm);--snk-pesquisa--tree__action-container--right:var(--space--small);--snk-pesquisa--tree__min-height:var(--space--extra-large);background:var(--background--xlight, #FFF);position:relative;display:inline-block;min-height:var(--snk-pesquisa--tree__min-height)}.sc-pesquisa-tree-h:hover .actions-container.sc-pesquisa-tree{display:flex}.actions-container.sc-pesquisa-tree{flex-direction:row;position:absolute;top:var(--snk-pesquisa--tree__action-container--top);right:var(--snk-pesquisa--tree__action-container--right);display:none}";export{l as pesquisa_grid,h as pesquisa_tree}
@@ -1,6 +0,0 @@
1
- import{UserInterface as e,DataType as t,ApplicationContext as n,ErrorException as i}from"@sankhyalabs/core";import{d as o,D as r}from"./p-d62228fb.js";function a(e){const t=(n=e.fieldsMetadata)&&n.length?n.map((e=>({name:e.fieldName,label:e.description,dataType:u(e.type),userInterface:l(e),properties:s(e)}))):[];var n;return{label:e.entityDescription,name:e.descriptionField,fields:t}}function s(e){const t={};return t.options=function(e){const t=e.options;if(!t)return;const n=[];return Object.keys(t).forEach((e=>{n.push({label:e,value:t[e]})})),n}(e),t.mask=function(e){const t=e.uiType;return t?String(t).toLowerCase():void 0}(e),t}function l(t){const n=t.options;return n&&Object.keys(n).length>0?e.OPTIONSELECTOR:"D"===t.type?e.DATE:"H"===t.type?e.DATETIME:"T"===t.type?e.TIME:void 0}function u(e){switch(e){case"F":return t.NUMBER;case"D":case"H":return t.DATE;case"B":return t.OBJECT;default:return t.TEXT}}function c(e){return Object.assign({id:e.codigo,label:`${e.caminho} - ${e.descricao}`,bold:"N"===e.analitico,props:{analitico:"S"===e.analitico}},e.no&&{children:e.no.map(c)})}class d{constructor(){this._defaultPageSize=100,this._templateByQuery=new Map,this._searchListenersByDataUnit=new Map,this.buldTemplates()}buldTemplates(){this._templateByQuery.set("search",o.gql`query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
2
- $queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria options: $options){
3
- value
4
- label
5
- }
6
- }`)}loadSearchOptions(e,n,i,o){var a;const s=(null==n?void 0:n.toString().trim())||void 0;n=isNaN(Number(s))&&s?`%${s}`:s,null==i||i.params.forEach((e=>{e.dataType===t.OBJECT&&(e.value=JSON.stringify(e.value))}));const l=this.applySearchListener(v.beforeSearch,e,n,i,o),u={argument:(null==l?void 0:l.argument)||n,entityName:e,criteria:(null==l?void 0:l.criteria)||i,options:(null==l?void 0:l.searchOptions)||o};return u.options&&(null===(a=u.options)||void 0===a||delete a.dataUnitId),new Promise(((e,t)=>{r.get().callGraphQL({values:u,query:this._templateByQuery.get("search")}).then((t=>{e(t)})).catch((e=>{t(e)}))}))}loadAdvancedSearch(e,o,a,s){var l,u,c,d,f;const m=this.applySearchListener(v.beforeSearch,e,o,a,s),g={argument:(null==m?void 0:m.argument)||o,criteria:(null==m?void 0:m.criteria)||a,searchOptions:Object.assign(Object.assign({},s),null==m?void 0:m.searchOptions)},p={query:{$:null===(l=g.criteria)||void 0===l?void 0:l.expression}};(null===(c=null===(u=g.criteria)||void 0===u?void 0:u.params)||void 0===c?void 0:c.length)>0&&(p.params={param:g.criteria.params.map((e=>{let o=e.value;if("string"==typeof o){const e=/CTX\{([^}]+)\}/.exec(o);e&&(o=n.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${e[1]})__`))}if(e.dataType===t.NUMBER&&void 0===o)throw new i("Falha detectada",`O campo ${e.name} deve ser informado.`);let r=e.dataType;return r===t.OBJECT?(o=o.value,r="S"):r=function(e){switch(e){case t.NUMBER:return"I";case t.DATE:return"D";default:return"S"}}(e.dataType),{$:o,type:r}}))});const h=null!=s?Object.assign(Object.assign({},null==g?void 0:g.searchOptions),{pkFieldName:s.codeFieldName,label:s.descriptionFieldName,fieldName:s.codeFieldName,useDescriptionOptions:!1,enableRowsCounter:!0}):void 0,y={serviceName:"PesquisaSP.getSuggestion",requestBody:{criteria:Object.assign({entityName:e,compacted:!1,ignoreEntityCriteria:null!==(d=null==h?void 0:h.ignoreEntityCriteria)&&void 0!==d&&d,limit:this._defaultPageSize,query:{$:g.argument},orderByDesc:!1,externalCriteria:p,localEntityName:null===(f=g.searchOptions)||void 0===f?void 0:f.rootEntity},{options:h}),clientEventList:{clientEvent:[]}}},S={urlParams:{quietMode:!0}};return new Promise(((e,t)=>{r.get().callServiceBroker("PesquisaSP.getSuggestion",JSON.stringify(y),S).then((t=>e(t))).catch((e=>t(e)))}))}addSearchListener(e,t,n){var i;const o=this._searchListenersByDataUnit.get(t)||[],r=o.find((t=>t.entity===e));if(r){for(const e of Object.keys(n))if(e in r.listener){if((null===(i=r.listener[e])||void 0===i?void 0:i.toString())===n[e].toString())continue;r.listener[e]=n[e]}}else this._searchListenersByDataUnit.set(t,[...o,{entity:e,listener:n}]);return()=>{const n=o.filter((t=>t.entity!==e));n.length?this._searchListenersByDataUnit.set(t,n):this._searchListenersByDataUnit.delete(t)}}applySearchListener(e,t,n,i,o){var r;const a=null==o?void 0:o.dataUnitId;if(!a)return;const s=null===(r=this._searchListenersByDataUnit.get(a))||void 0===r?void 0:r.find((({entity:e})=>e===t));if(!s)return;const{listener:l}=s;return e in l?l[e]({argument:n,criteria:i,searchOptions:o}):void 0}async loadPresentationConfig(e){var t,n;let i=function(e){return{config:{chave:`PesquisaContent:${e}`,tipo:"T"}}}(e);const o=await r.get().callServiceBroker("SystemUtilsSP.getConf",JSON.stringify(i));return null!==(n=null===(t=null==o?void 0:o.config)||void 0===t?void 0:t.lastUsedMode)&&void 0!==n?n:"list"}async savePresentationConfig(e,t){let n=function(e,t){return{config:{lastUsedMode:t,chave:`PesquisaContent:${e}`,tipo:"T"}}}(e,t);await r.get().callServiceBroker("SystemUtilsSP.saveConf",JSON.stringify(n))}async loadPesquisaGridConfig(e){const t=function(e){return{gridConfig:{configName:`GrdCfgHtml5:grdcfg.dynaform.pesquisa.${e}`}}}(e);return function(e){var t,n;const i=[],o=null!==(n=null===(t=null==e?void 0:e.gridConfig)||void 0===t?void 0:t.field)&&void 0!==n?n:{};if(Object.keys(o).forEach((e=>i.push(o[e]))),i.length)return{columns:i}}(await r.get().callServiceBroker("GridConfig.getGridConfigFromJson",JSON.stringify(t)))}async savePesquisaGridConfig(e,t){const n=function(e,t){const n={};return null==t||t.forEach(((e,t)=>n[`field${t}`]=e)),{gridConfig:{compactMode:!0,configName:`GrdCfgHtml5:grdcfg.dynaform.pesquisa.${e}`,field:n}}}(e,t);await r.get().callServiceBroker("GridConfig.saveGridConfigFromJSON",JSON.stringify(n))}async loadTree(e,t,n,i){const o=this.buildLoadTreeRequestBody(e,t,n,i);return(null!==(s=null===(a=(await r.get().callServiceBroker("Pesquisa.getStructuredData",JSON.stringify(o))).arvore)||void 0===a?void 0:a.no)&&void 0!==s?s:[]).map(c);var a,s}buildLoadTreeRequestBody(e,t,n,i){var o,r,a;const s=this.applySearchListener(v.beforeSearch,e,t,n,i);console.log("criteria: ",n);const l=null!==(o=null==s?void 0:s.searchOptions)&&void 0!==o?o:i,u=null===(r=null==s?void 0:s.criteria)||void 0===r?void 0:r.expression,c=null===(a=null==s?void 0:s.criteria)||void 0===a?void 0:a.params,d={nome:e,nomeInstanciaLocal:null==l?void 0:l.rootEntity,codeFieldName:null==l?void 0:l.codeFieldName};return u&&(d.criterioLiteral={expressao:{$:u},parametro:c}),{instancia:d}}}var v;!function(e){e.beforeSearch="beforeSearch"}(v||(v={}));export{d as P,a as b}
@@ -1 +0,0 @@
1
- import{r as s,h as i,H as e,g as t}from"./p-d2d301a6.js";import{ObjectUtils as r,StringUtils as a,ElementIDUtils as o}from"@sankhyalabs/core";import{P as n,b as l}from"./p-798386c7.js";import"./p-d62228fb.js";import"./p-30cf616e.js";import"./p-21749402.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ddefbbc7.js";import"./p-ff1990ad.js";import"./p-1435701f.js";import{EzScrollDirection as c}from"@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";const u=class{constructor(i){s(this,i),this._mdByName={},this._startHighlightTag="<span class='card-item__highlight'>",this._endHighlightTag="</span>",this._specialCharsRegex=/[[.\-\$\+\*,_\&\(\)%\/\\#@!:\|\=\'\"]/gim,this._charsWithAccentuation="ÁÉÍÓÚ_ÃÕ_ÂÊÎÔÛ_ÀÈÌÒÙ_Ü_Ç_áéíóú_ãõ_âêîôû_àèìòù_ü_ç",this._charsWithoutAccentuation="AEIOU_AO_AEIOU_AEIOU_U_C_aeiou_ao_aeiou_aeiou_u_c",this._changeDeboucingTimeout=null,this._limitCharsToSearch=3,this._deboucingTime=450,this._gridDataSource=[],this.pesquisaFetcher=new n,this._itemList=void 0,this._startLoading=!1,this._presentationMode="list",this.searchLoader=void 0,this.treeLoader=void 0,this.selectItem=void 0,this.entityName=void 0,this.argument=void 0,this.isHierarchyEntity=!1,this.allowsNonAnalytic=!1}observeArgument(){this._textInput&&(this._textInput.value=this.argument)}clearSearch(){this.argument="",this._itemList=void 0}buildDetails(s,i){let e={};for(let t=0;t<s.length;t++){const r=s[t],a=i[r.fieldName];e[r.description]=this.highlightValue(i.__matchFields,r.options&&r.options[a]||a,s,!0)}return e}buildFirstFields(s,i,e=6){return s&&Array.isArray(s)&&s.forEach((s=>{let e=this.removeReference(i,this._mdByName[s]);e&&i.unshift(e)})),i=i.slice(0,e)}doSearch(s){this.searchLoader&&"function"==typeof this.searchLoader&&(this._startLoading=!0,this.searchLoader(s).then((s=>{s&&this.processSearchResponse(s)})).finally((()=>{this._startLoading=!1})))}processSearchResponse(s){let i=(s=r.stringToObject(s.json.$)).descriptionField,e=s.pkField;e&&(this._gridMetadata=l(s),this._gridDataSource=[...s.data],this._pkField=e,this._descriptionField=i,this._itemList=this.buildCardItemList(s,e,i))}buildCardItemList(s,i,e){var t;return null===(t=s.data)||void 0===t?void 0:t.map((t=>{var r;let a=this.filterFieldsMetadata(s,t),o=this.buildFirstFields(t.__matchFields,a);return{key:this.highlightValue(t.__matchFields,null===(r=t[i])||void 0===r?void 0:r.toString(),o,!0),title:e?this.highlightValue(t.__matchFields,t[e],o,!0):"",details:this.buildDetails(o,t)}}))}filterFieldsMetadata(s,i){return s.fieldsMetadata.filter((e=>{let t=!a.isEmpty(i[e.fieldName])&&!1!==e.visible&&"B"!==e.type&&s.pkField!==e.fieldName&&s.descriptionField!==e.fieldName&&(e.isPrimaryKey||!e.isLinkField)&&!("S"===e.type&&"H"===e.presentationType);return t&&(this._mdByName[e.fieldName]=e),("string"!=typeof i[e.fieldName]||!(i[e.fieldName].indexOf("<img")>-1||i[e.fieldName].indexOf("<svg")>-1))&&t}))}removeAtIndex(s,i){if(i>=0&&i<s.length)return s.splice(i,1)[0]}removeReference(s,i){let e=this.indexOf(s,i);return this.removeAtIndex(s,e)}indexOf(s,i){let e=-1;return Array.isArray(s)&&this.find(s,((s,t)=>(e=t,this.equals(i,s)))),e}equals(s,i){return r.objectToString(s)===r.objectToString(i)}find(s,i){if(s)for(let e=0,t=s.length;e<t;e++)if(i(s[e],e,s))return s[e]}highlightValue(s,i,e,t){let r=this.replaceHtmlEntities(i);if(this.argument&&(t||this.isIn(s,e.fieldName))){const s=this.getArgumentNumber();let i=(isNaN(s)?this.argument:s.toString()).split(/%|,|\s+/),t=0,a=this.replaceAccentuatedChars(r);i.forEach((s=>{if(s){s=this.replaceAccentuatedChars(s);let i=this.getSpecialCharacters(s);null!=i&&i.length>0&&(s=this.removeSpecialCharacters(s)),(e.mask||"CGC_CPF"===e.uiType||"Phone"===e.uiType)&&(s=s.split("").join("\\.?\\-?\\/?\\(?\\)?"));let o=new RegExp(s,"ig");o.lastIndex=t;let n=o.exec(a);if(n&&n.length>0){t=n.index;let s=n[0].length,i=r.substring(t,t+s),e=(null==i?void 0:i.trim())?this._startHighlightTag+i+this._endHighlightTag:"",o=r.substring(0,t),l=r.substring(t+s);r=o+e+l,t+=e.length,a=this.replaceAccentuatedChars(r)}}}))}return r}replaceHtmlEntities(s){return null==s?s:String(s).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}replaceAccentuatedChars(s){return null==s?s:this.replaceToSpace(s,["&amp;","&lt;","&gt;","&quot;"]).replace(/[^\w ]/g,(s=>{let i=this._charsWithAccentuation.indexOf(s);return i>-1&&(s=this._charsWithoutAccentuation.charAt(i)),s||""}))}replaceToSpace(s,i=[]){return null==s||i.forEach((i=>{const e=new RegExp(i,"g");let t="";for(let s=0;s<i.length;s++)t+=" ";s=String(s).replace(e,t)})),s}isIn(s,i){return this.indexOf(s,i)>-1}getSpecialCharacters(s){let i,e=[];for(;i=this._specialCharsRegex.exec(s);)e.push(s[i.index]);return e}removeSpecialCharacters(s){return this.getSpecialCharacters(s).forEach((i=>{s=this.replaceAll(s,i,"")})),s}replaceAll(s,i,e){let t=(null!=s?s:"").indexOf(i);for(;t>-1;)t=(s=s.replace(i,e)).indexOf(i);return s}getArgumentNumber(){return Number(this.argument||void 0)}createOption(s){let{key:i,title:e}=s;const t=new RegExp(this._startHighlightTag,"g"),r=new RegExp(this._endHighlightTag,"g");e=a.decodeHtmlEntities(e);const o={value:null==i?void 0:i.replace(t,"").replace(r,""),label:null==e?void 0:e.replace(t,"").replace(r,"")};this.selectItem(o)}onChangeValue(s){var i;if(this.clearDeboucingTimeout(),this._startLoading)return void(this._changeDeboucingTimeout=setTimeout((()=>{this.onChangeValue(s)}),this._deboucingTime));if(this.argument=(s.detail||"").trim(),this.isHierarchyEntity&&"list"===this._presentationMode)return void(null===(i=this._pesquisaTree)||void 0===i||i.applyFilter());const e=this.getArgumentNumber();this.argument&&(!isNaN(e)||this.argument.length>=this._limitCharsToSearch)?this._changeDeboucingTimeout=setTimeout((()=>{this.doSearch(isNaN(e)?this.argument:e.toString())}),this._deboucingTime):this._itemList=void 0}clearDeboucingTimeout(){this._changeDeboucingTimeout&&(clearTimeout(this._changeDeboucingTimeout),this._changeDeboucingTimeout=void 0)}onClickSearch(){this.doSearch((this.argument||"").trim())}getMessageView(){return this._startLoading?"Aguarde, buscando registros...":this._itemList?this._itemList.length>=1?`${this._itemList.length} ${this._itemList.length>1?"registros encontrados":"registro encontrado"}`:"Nenhum registro encontrado":"Os resultados de sua pesquisa aparecerão aqui..."}async componentWillLoad(){const s=await this.pesquisaFetcher.loadPresentationConfig(this.entityName);this._presentationMode="list"===s?"list":"table"}async componentDidLoad(){o.addIDInfo(this._element)}async onClickList(){this._presentationMode="list"===this._presentationMode?"table":"list",await this.pesquisaFetcher.savePresentationConfig(this.entityName,this._presentationMode)}enableListButton(){var s;return(null===(s=this._itemList)||void 0===s?void 0:s.length)>0}hideLimitMessage(){return!this._itemList||("list"===this._presentationMode?!!this.isHierarchyEntity||this._itemList.length<=100:this._itemList.length<=150)}hideRecordsMessage(){return"list"===this._presentationMode&&this.isHierarchyEntity}getButtonModeInfo(){return"list"===this._presentationMode?{iconName:"table",title:"Modo grade"}:this.isHierarchyEntity?{iconName:"hierarchical-tree",title:"Modo árvore hierárquica"}:{iconName:"list",title:"Modo lista"}}renderContent(){if(this._itemList)return"list"===this._presentationMode?this.isHierarchyEntity?this.renderTree():this.renderCards():this.renderPesquisaGrid()}renderTree(){return i("ez-scroller",{direction:c.VERTICAL},i("pesquisa-tree",{ref:s=>this._pesquisaTree=s,argument:this.argument,treeLoader:this.treeLoader,allowsNonAnalytic:this.allowsNonAnalytic,onPesquisaTreeSelectItem:({detail:s})=>this.selectItem(s)}))}renderCards(){return i("ez-scroller",{direction:c.VERTICAL},i("div",{class:"snk-pesquisa__cards-container"},this._itemList.map((s=>i("ez-card-item",{onEzClick:s=>this.createOption(s.detail),item:s})))))}renderPesquisaGrid(){return i("pesquisa-grid",{metadata:this._gridMetadata,dataSource:this._gridDataSource,pkField:this._pkField,descriptionField:this._descriptionField,entityName:this.entityName,onPesquisaGridSelectItem:({detail:s})=>this.selectItem(s)})}render(){var s;return i(e,null,i("div",{class:"snk-pesquisa"},i("div",{class:"snk-pesquisa__input"},i("ez-text-input",{label:"Buscar",class:"ez-margin-right--medium",canShowError:!1,ref:s=>this._textInput=s,onEzChange:s=>this.onChangeValue(s),value:this.argument,"data-element-id":"searchInput"},i("ez-icon",{slot:"leftIcon",iconName:"search"}),this.argument&&(null===(s=this._textInput)||void 0===s?void 0:s.value)?i("button",{slot:"rightIcon",class:"snk-pesquisa__btn",onClick:()=>this.clearSearch()},i("ez-icon",{iconName:"close"})):void 0),i("ez-button",{class:"ez-button--primary",label:"Pesquisar",onClick:()=>this.onClickSearch()}),i("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()})),i("div",{class:"snk-pesquisa__records-label"},i("label",{class:"snk-pesquisa__records "+(this.hideRecordsMessage()?"hidden":"")},this.getMessageView()),i("label",{class:"snk-pesquisa__records-limit "+(this.hideLimitMessage()?"hidden":"")},"Essa pesquisa foi limitada, existem mais resultados.")),i("div",{class:"snk-pesquisa__content"},this.renderContent())))}get _element(){return t(this)}static get watchers(){return{argument:["observeArgument"]}}};u.style=".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)}";export{u as snk_pesquisa}