@sankhyalabs/sankhyablocks 5.10.1 → 5.10.3

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 (70) hide show
  1. package/dist/cjs/snk-attach.cjs.entry.js +3 -2
  2. package/dist/cjs/snk-detail-view.cjs.entry.js +2 -2
  3. package/dist/cjs/snk-entity-list.cjs.entry.js +2 -1
  4. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +5 -3
  5. package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -2
  6. package/dist/cjs/snk-form-view.cjs.entry.js +1 -1
  7. package/dist/cjs/{snk-guides-viewer-b2d40bc4.js → snk-guides-viewer-0ab3746e.js} +1 -1
  8. package/dist/cjs/snk-guides-viewer.cjs.entry.js +1 -1
  9. package/dist/cjs/snk-simple-bar_2.cjs.entry.js +1 -0
  10. package/dist/collection/collection-manifest.json +2 -17
  11. package/dist/collection/components/snk-attach/snk-attach.js +3 -2
  12. package/dist/collection/components/snk-attach/structure/index.js +1 -1
  13. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +1 -1
  14. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +1 -1
  15. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +1 -1
  16. package/dist/collection/components/snk-entity-list/snk-entity-list.js +2 -1
  17. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +2 -2
  18. package/dist/collection/components/snk-filter-field-search/snk-filter-field-search.js +1 -1
  19. package/dist/collection/components/snk-filter-field-search/subcomponents/list-item.js +1 -1
  20. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.js +3 -1
  21. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +15 -0
  22. package/dist/components/snk-attach2.js +3 -2
  23. package/dist/components/snk-detail-view2.js +2 -2
  24. package/dist/components/snk-entity-list.js +2 -1
  25. package/dist/components/snk-filter-field-search2.js +2 -2
  26. package/dist/components/snk-filter-modal.js +2 -2
  27. package/dist/components/snk-filter-param-config2.js +3 -1
  28. package/dist/components/snk-form-view2.js +1 -1
  29. package/dist/components/snk-simple-crud2.js +1 -0
  30. package/dist/esm/snk-attach.entry.js +3 -2
  31. package/dist/esm/snk-detail-view.entry.js +2 -2
  32. package/dist/esm/snk-entity-list.entry.js +2 -1
  33. package/dist/esm/snk-filter-field-search_2.entry.js +5 -3
  34. package/dist/esm/snk-filter-modal.entry.js +2 -2
  35. package/dist/esm/snk-form-view.entry.js +1 -1
  36. package/dist/esm/{snk-guides-viewer-11a02781.js → snk-guides-viewer-767f5a74.js} +1 -1
  37. package/dist/esm/snk-guides-viewer.entry.js +1 -1
  38. package/dist/esm/snk-simple-bar_2.entry.js +1 -0
  39. package/dist/sankhyablocks/{p-7f0afee1.js → p-551165d8.js} +1 -1
  40. package/dist/sankhyablocks/{p-71215dc2.entry.js → p-56d70073.entry.js} +1 -1
  41. package/dist/sankhyablocks/{p-8819be14.entry.js → p-7956b9dd.entry.js} +1 -1
  42. package/dist/sankhyablocks/p-9e50681c.entry.js +1 -0
  43. package/dist/sankhyablocks/p-ba511f48.entry.js +1 -0
  44. package/dist/sankhyablocks/p-de9caf1e.entry.js +1 -0
  45. package/dist/sankhyablocks/{p-4eae2812.entry.js → p-ec1c64be.entry.js} +1 -1
  46. package/dist/sankhyablocks/{p-1c836fad.entry.js → p-f3241ada.entry.js} +1 -1
  47. package/dist/sankhyablocks/{p-554e2f83.entry.js → p-f43629f3.entry.js} +1 -1
  48. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  49. package/dist/types/components/snk-application/snk-application.d.ts +259 -0
  50. package/dist/types/components/snk-attach/structure/crud-config-builder.d.ts +1 -1
  51. package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +1 -2
  52. package/dist/types/components/snk-attach/structure/index.d.ts +1 -1
  53. package/dist/types/components/snk-crud/snk-crud.d.ts +79 -0
  54. package/dist/types/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender.d.ts +40 -0
  55. package/dist/types/components/snk-entity-list/snk-entity-list.d.ts +2 -5
  56. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.d.ts +36 -0
  57. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.d.ts +28 -0
  58. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +28 -0
  59. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +47 -0
  60. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +30 -0
  61. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-text.d.ts +24 -0
  62. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +44 -0
  63. package/dist/types/components/snk-filter-bar/filter-list/snk-filter-list.d.ts +74 -0
  64. package/dist/types/components/snk-grid/snk-grid.d.ts +97 -0
  65. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +68 -0
  66. package/dist/types/components.d.ts +4 -0
  67. package/package.json +2 -2
  68. package/dist/sankhyablocks/p-83765829.entry.js +0 -1
  69. package/dist/sankhyablocks/p-c842c6f1.entry.js +0 -1
  70. package/dist/sankhyablocks/p-e9f42525.entry.js +0 -1
@@ -0,0 +1,74 @@
1
+ import { EventEmitter } from '../../../stencil-public-runtime';
2
+ export declare class SnkFilterList {
3
+ _element: HTMLElement;
4
+ _popoverContainer: HTMLElement;
5
+ _popover: HTMLElement;
6
+ _filterInput: HTMLEzFilterInputElement;
7
+ _floatingID: number;
8
+ _detailIsVisible: boolean;
9
+ _selectableItemsCount: number;
10
+ _preselection: number;
11
+ _filterArgument: string;
12
+ _showAll: boolean;
13
+ /**
14
+ * Define o label usado no ez-button do filtro.
15
+ */
16
+ label: string;
17
+ /**
18
+ * Define o ícone usado no ez-button do filtro.
19
+ */
20
+ iconName: string;
21
+ /**
22
+ * Guarda a lista de filtros.
23
+ */
24
+ items: Array<ListItem>;
25
+ /**
26
+ * Usado pra flexibilizar os verbetes e mensagens de acordo com o SnkMessageBuilder.
27
+ */
28
+ getMessage: (key: string, props?: any) => string;
29
+ /**
30
+ * Define o texto exibido quando a lista está vazia.
31
+ */
32
+ emptyText: string;
33
+ /**
34
+ * Define o texto exibido no componente de busca.
35
+ */
36
+ findFilterText: string;
37
+ /**
38
+ * Define a classe CSS a ser adicionada no botão (usado principalmente para sinalizar o filtro aplicado).
39
+ */
40
+ buttonClass: string;
41
+ /**
42
+ * Disparado quando um item da lista é clicado.
43
+ */
44
+ snkItemSelected: EventEmitter<string>;
45
+ private showDetail;
46
+ innerClickCheck: (_floatingContainer: HTMLElement, node: HTMLElement) => boolean;
47
+ /**
48
+ * Oculta os detalhes do componente snk-filter-list.
49
+ */
50
+ hideDetail(): Promise<void>;
51
+ private onListCloseCallback;
52
+ private buttonClick;
53
+ componentDidLoad(): void;
54
+ componentDidRender(): void;
55
+ buildIdElement(buttonElement: HTMLButtonElement, name: string): void;
56
+ buildItemElement(item: InternalListItem): HTMLElement;
57
+ itemSelected(itemName: string): void;
58
+ getFilterItems(): any;
59
+ getFooterItems(): ListItem[];
60
+ keyDownHandler(event: KeyboardEvent): void;
61
+ changePreselection(newSelection: number): void;
62
+ render(): any;
63
+ }
64
+ export interface ListItem {
65
+ label: string;
66
+ name: string;
67
+ kind: string;
68
+ iconName?: string;
69
+ }
70
+ interface InternalListItem extends ListItem {
71
+ iconClass?: string;
72
+ labelClass?: string;
73
+ }
74
+ export {};
@@ -0,0 +1,97 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { DataUnit } from '@sankhyalabs/core';
3
+ import { IGridConfig, IStatusResolver, StatusResolverFunction } from '@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController';
4
+ import { DataState } from '../snk-data-unit/snk-data-unit';
5
+ import { Action, TaskbarManager } from '../snk-taskbar/snk-taskbar';
6
+ import { SnkApplication } from '../snk-application/snk-application';
7
+ import { PresentationMode } from '../../lib/@types';
8
+ import TaskbarProcessor from '../snk-taskbar/processor/taskbar-processor';
9
+ import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
10
+ export declare class SnkGrid {
11
+ _grid: HTMLEzGridElement;
12
+ _snkDataUnit: HTMLSnkDataUnitElement;
13
+ _snkGridConfig: HTMLSnkGridConfigElement;
14
+ _snkEmailSender: HTMLSnkExporterEmailSenderElement;
15
+ _snkFilterBar: HTMLSnkFilterBarElement;
16
+ _dataUnitLoadLockerResolver?: Function;
17
+ _topTaskbarProcessor: TaskbarProcessor;
18
+ _headerTaskbarProcessor: TaskbarProcessor;
19
+ _element: HTMLElement;
20
+ _dataUnit: DataUnit;
21
+ _dataState: DataState;
22
+ _gridConfig: IGridConfig;
23
+ _popUpGridConfig: boolean;
24
+ _application: SnkApplication;
25
+ /**
26
+ * Nome usado para salvar/recuperar a configuração.
27
+ */
28
+ configName: string;
29
+ /**
30
+ * Lista de ações que devem ser usadas no botão "Mais opções" do componente snk-taskbar.
31
+ */
32
+ actionsList: Array<Action>;
33
+ /**
34
+ * Determina se a grade está vinculada a um detalhe.
35
+ */
36
+ isDetail: boolean;
37
+ /**
38
+ * Gerenciador das barras de tarefas. É possível determinar botões específicos
39
+ * ou mesmo gerenciar o estado dos botões.
40
+ */
41
+ taskbarManager: TaskbarManager;
42
+ /**
43
+ * Configuração do valor da coluna de status.
44
+ * Exemplo: '{ "RECDESP": { "-1" : "#BD0025", "1" : "#157A00" } }'
45
+ */
46
+ statusResolver: IStatusResolver | StatusResolverFunction;
47
+ /**
48
+ * Determina se pode haver mais de uma linha selecionada.
49
+ */
50
+ multipleSelection: boolean;
51
+ /**
52
+ * Altera o modo de apresentação dos botões do snk-taskbar.
53
+ */
54
+ presentationMode: PresentationMode;
55
+ /**
56
+ * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
57
+ */
58
+ messagesBuilder: SnkMessageBuilder;
59
+ /**
60
+ * Emitido sempre que houver click de botão ou ação.
61
+ */
62
+ actionClick: EventEmitter<string>;
63
+ /**
64
+ * Emitido sempre que houver duplo click na grade.
65
+ */
66
+ gridDoubleClick: EventEmitter<void>;
67
+ /**
68
+ * Exibe a janela de configurações da grade.
69
+ */
70
+ showConfig(): Promise<void>;
71
+ /**
72
+ * Fecha a janela de configurações da grade.
73
+ */
74
+ hideConfig(): Promise<void>;
75
+ /**
76
+ * Atribui o valor da configuração da grade.
77
+ */
78
+ setConfig(config: IGridConfig): Promise<void>;
79
+ private openGridConfig;
80
+ private closeGridConfig;
81
+ private setGridConfig;
82
+ private loadConfig;
83
+ private gridConfigChangeHandler;
84
+ private modalConfigChangeHandler;
85
+ private buildColumnsMetadata;
86
+ private getPaginationInfo;
87
+ private getExporterOffset;
88
+ private dataExporterProviderStore;
89
+ private addElementID;
90
+ componentWillLoad(): void;
91
+ getHeaderDisabledButtons(): Array<string>;
92
+ componentWillRender(): void;
93
+ getTopTaskBarId(sufix: string): string;
94
+ private getPrimaryButton;
95
+ private onEzGridReady;
96
+ render(): any;
97
+ }
@@ -0,0 +1,68 @@
1
+ import { DataUnit, Record, UnitMetadata } from '@sankhyalabs/core';
2
+ import { EventEmitter } from '../../stencil-public-runtime';
3
+ import { VIEW_MODE, SIMPLE_CRUD_MODE } from '../../lib/utils/constants';
4
+ import { DataState } from '../snk-data-unit/snk-data-unit';
5
+ import TaskbarProcessor from '../snk-taskbar/processor/taskbar-processor';
6
+ import { TaskbarManager } from '../snk-taskbar/snk-taskbar';
7
+ import InMemoryLoader from '../../lib/dataUnit/InMemoryLoader';
8
+ import { IFormConfig } from '@sankhyalabs/ezui/dist/types/utils/form/interfaces';
9
+ import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
10
+ import { IGridConfig } from '@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController';
11
+ export declare class SnkSimpleCrud {
12
+ private readonly REGULAR_DEFAULT_BTNS;
13
+ private readonly REGULAR_SELECTED_BTNS;
14
+ _viewStack: HTMLEzViewStackElement;
15
+ _snkGrid: HTMLSnkGridElement;
16
+ _inMemoryLoader: InMemoryLoader;
17
+ _metadata: UnitMetadata;
18
+ private _element;
19
+ _currentViewMode: VIEW_MODE;
20
+ _config: {};
21
+ dataState: DataState;
22
+ dataUnit: DataUnit;
23
+ mode: SIMPLE_CRUD_MODE;
24
+ gridConfig: IGridConfig;
25
+ formConfig: IFormConfig;
26
+ useCancelConfirm: boolean;
27
+ /**
28
+ * Emitido quando há qualquer mudança de estado no DataUnit.
29
+ */
30
+ dataStateChange: EventEmitter<DataState>;
31
+ /**
32
+ * Emitido quando o DataUnit está pronto.
33
+ */
34
+ dataUnitReady: EventEmitter<DataUnit>;
35
+ /**
36
+ * Emitido sempre que houver click de botão ou ação.
37
+ */
38
+ actionClick: EventEmitter<string>;
39
+ /**
40
+ * Gerenciador das barras de tarefas. É possível determinar botões específicos
41
+ * ou mesmo gerenciar o estado dos botões.
42
+ */
43
+ taskbarManager: TaskbarManager;
44
+ /**
45
+ * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
46
+ */
47
+ messagesBuilder: SnkMessageBuilder;
48
+ _taskbarProcessor: TaskbarProcessor;
49
+ resolveInMemoryBtns(taskbarButtons: Array<string>): Array<string>;
50
+ /**
51
+ * Usado para alternar a visão entre GRID e FORM externamente.
52
+ */
53
+ goToView(view: VIEW_MODE): Promise<void>;
54
+ actionClickListener(evt: CustomEvent): void;
55
+ onModeChange(): void;
56
+ observeDataState(newValue: DataState, oldValue: DataState): void;
57
+ componentWillRender(): void;
58
+ componentWillLoad(): void;
59
+ getTaskBarId(): string;
60
+ initInMemoryDataUnit(): void;
61
+ setMetadata(metadata: UnitMetadata): Promise<void>;
62
+ setRecords(records: Array<Record>): Promise<void>;
63
+ getRecords(): Promise<Array<Record>>;
64
+ processMetadata(): void;
65
+ onDataStateChange(evt: any): void;
66
+ getTaskBarDisabledButtons(): Array<string>;
67
+ render(): any;
68
+ }
@@ -2321,6 +2321,10 @@ declare namespace LocalJSX {
2321
2321
  */
2322
2322
  "messagesBuilder"?: SnkMessageBuilder;
2323
2323
  "mode"?: SIMPLE_CRUD_MODE;
2324
+ /**
2325
+ * Emitido sempre que houver click de botão ou ação.
2326
+ */
2327
+ "onActionClick"?: (event: SnkSimpleCrudCustomEvent<string>) => void;
2324
2328
  /**
2325
2329
  * Emitido quando há qualquer mudança de estado no DataUnit.
2326
2330
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/sankhyablocks",
3
- "version": "5.10.1",
3
+ "version": "5.10.3",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -35,7 +35,7 @@
35
35
  "dependencies": {
36
36
  "@shopify/draggable": "^1.0.0-beta.8",
37
37
  "@stencil/store": "^2.0.4",
38
- "graphql": "^16.6.0",
38
+ "graphql": "~16.6.0",
39
39
  "graphql-request": "^4.2.0"
40
40
  },
41
41
  "devDependencies": {
@@ -1 +0,0 @@
1
- import{r as t,c as s,h as e,g as i}from"./p-b9667fbe.js";import{ElementIDUtils as r,ApplicationContext as a,DataUnit as n,StringUtils as o,SortMode as l,DataType as h,ChangeOperation as d,ObjectUtils as m,UserInterface as c}from"@sankhyalabs/core";import{c as u,S as p}from"./p-17375123.js";import{T as b}from"./p-d410f45a.js";import"./p-41d92871.js";import"./p-11028eba.js";import{P as g}from"./p-4c2015a9.js";import{T as k}from"./p-39082fc3.js";import"./p-6a02e236.js";import"./p-112455b1.js";const f=class{constructor(e){t(this,e),this.clickBreadcrumbItem=s(this,"clickBreadcrumbItem",3),this.exit=s(this,"exit",3),this.label=void 0,this.breadcrumbItens=void 0,this.messagesBuilder=void 0}getMessage(t,s){var e;return this.messagesBuilder?this.messagesBuilder.getMessage(t,s):(null===(e=this._application)||void 0===e?void 0:e.messagesBuilder)?this._application.messagesBuilder.getMessage(t,s):void 0}componentDidLoad(){this._element&&(r.addIDInfo(this._element),this._application=a.getContextValue("__SNK__APPLICATION__"))}render(){return e("div",{class:"simple-bar__container ez-margin-vertical--medium ez-padding--extra-small"},e("div",{class:"simple-bar__left-slot"},e("ez-button",{class:"ez-padding-right--medium",title:this.getMessage("snkSimpleBar.backTitle"),mode:"icon",iconName:"arrow_back",size:"medium",onClick:()=>this.exit.emit()}),e("div",{class:"simple-bar__column"},e("h1",{class:"ez-title ez-title--primary ez-title--extra-large"},this.label),e("ez-breadcrumb",{items:this.breadcrumbItens,onSelectedItem:({detail:t})=>this.clickBreadcrumbItem.emit(t)}))),e("div",{class:"simple-bar__right-slot"},e("slot",{name:"rightSlot"})))}get _element(){return i(this)}};f.style=".sc-snk-simple-bar-h{display:flex;height:100%;width:100%}.simple-bar__container.sc-snk-simple-bar{flex:1;display:flex;align-items:stretch;gap:var(--space--small)}.simple-bar__left-slot.sc-snk-simple-bar{min-width:280px;flex:1;display:flex;align-items:center}.simple-bar__right-slot.sc-snk-simple-bar{flex:1;display:flex;align-items:center;justify-content:flex-end}.simple-bar__column.sc-snk-simple-bar{flex:1;display:flex;flex-direction:column}";class v{constructor(t,s){this.records=s||[],this.metadata=t,this._dataUnit=new n("InMemoryDataUnit"),this._dataUnit.metadataLoader=()=>this.metadaLoader(),this._dataUnit.dataLoader=(t,s)=>this.dataLoader(t,s),this._dataUnit.saveLoader=(t,s)=>this.saveLoader(t,s),this._dataUnit.removeLoader=(t,s)=>this.removeLoader(t,s),this.dataUnit.loadMetadata().then((()=>this.dataUnit.loadData()))}get dataUnit(){return this._dataUnit}get records(){return this._records}set records(t){this._records=null==t?void 0:t.map((t=>(t.__record__id__||(t.__record__id__=this.generateUniqueId()),t))),this._dataUnit&&(this._dataUnit.records=[...this._records])}get metadata(){return this._metadata}set metadata(t){this._metadata=t,this._dataUnit&&(this._dataUnit.metadata=this._metadata)}generateUniqueId(){return o.generateUUID()}metadaLoader(){return Promise.resolve(this._metadata)}dataLoader(t,s){let e=[...this._records];return s.sort&&s.sort.forEach((t=>{e=e.sort(((s,e)=>{const i=s[t.field],r=e[t.field];return this.getSortFn(t.dataType)(i,r)*(t.mode==l.ASC?1:-1)}))})),Promise.resolve({records:e})}getSortFn(t){switch(t){case h.NUMBER:return this.sortNumber;case h.DATE:return this.sortDate;case h.OBJECT:return this.sortObject;default:return o.compare}}sortObject(t,s){return o.compare(t.label,s.label)}sortNumber(t,s){return t-s}sortDate(t,s){let e=t.getTime(),i=s.getTime();return e===i?0:e<i?-1:1}saveLoader(t,s){return new Promise((t=>{let e=[];s.forEach((t=>{let{record:s,updatingFields:i,operation:r}=t,a=!1;r!==d.INSERT&&r!==d.COPY||(s.__old__id__=s.__record__id__,s.__record__id__=this.generateUniqueId(),a=!0);const n=Object.assign(Object.assign({},s),i);if(a)this.records.push(n);else{const t=this.records.findIndex((t=>t.__record__id__==n.__record__id__));this.records[t]=n}e.push(n)})),t(e)}))}removeLoader(t,s){return new Promise((t=>{this._records=this._records.filter((t=>!s.includes(t.__record__id__))),t(s)}))}}const _=class{constructor(e){t(this,e),this.dataStateChange=s(this,"dataStateChange",3),this.dataUnitReady=s(this,"dataUnitReady",3),this.REGULAR_DEFAULT_BTNS=["INSERT","REFRESH","PREVIOUS","NEXT","DIVIDER"],this.REGULAR_SELECTED_BTNS=["INSERT","REFRESH","PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","DIVIDER"],this._taskbarProcessor=new k({"snkSimpleCrudTaskbar.form_regular":this.resolveInMemoryBtns(this.REGULAR_DEFAULT_BTNS).concat(b.GRID_MODE),"snkSimpleCrudTaskbar.grid_regular":this.resolveInMemoryBtns(this.REGULAR_DEFAULT_BTNS).concat(b.FORM_MODE),"snkSimpleCrudTaskbar.form_selected":this.resolveInMemoryBtns(this.REGULAR_SELECTED_BTNS).concat(b.GRID_MODE),"snkSimpleCrudTaskbar.grid_selected":this.resolveInMemoryBtns(this.REGULAR_SELECTED_BTNS).concat(b.FORM_MODE),"snkSimpleCrudTaskbar.finish_edition":["CANCEL","SAVE"]}),this._currentViewMode=u.GRID,this._config=void 0,this.dataState=void 0,this.dataUnit=void 0,this.mode=p.SERVER,this.gridConfig=void 0,this.formConfig=void 0,this.useCancelConfirm=!0,this.taskbarManager=void 0,this.messagesBuilder=void 0}resolveInMemoryBtns(t){const s=[...t];return this.mode===p.IN_MEMORY&&s.splice(1,1),s}async goToView(t){this._currentViewMode=t,this._viewStack&&this._viewStack.show(t)}actionClickListener(t){const s=t.detail;s===b.GRID_MODE?this.goToView(u.GRID):s===b.FORM_MODE&&this.goToView(u.FORM),t.stopPropagation()}onModeChange(){this.mode==p.IN_MEMORY&&this.initInMemoryDataUnit()}observeDataState(t,s){m.objectToString(s)!=m.objectToString(t)&&this.dataStateChange.emit(t)}componentWillRender(){this._taskbarProcessor.process(this.getTaskBarId(),this.taskbarManager,this.dataState,this.getTaskBarDisabledButtons())}componentWillLoad(){this.processMetadata(),this.onModeChange()}getTaskBarId(){var t,s,e;return(null===(t=this.dataState)||void 0===t?void 0:t.isDirty)?"snkSimpleCrudTaskbar.finish_edition":(null===(s=this.dataState)||void 0===s?void 0:s.selectionInfo)&&!this.dataState.selectionInfo.isAllRecords()&&(null===(e=this.dataState.selectionInfo.records)||void 0===e?void 0:e.length)>0?this._currentViewMode===u.GRID?"snkSimpleCrudTaskbar.grid_selected":"snkSimpleCrudTaskbar.form_selected":this._currentViewMode===u.GRID?"snkSimpleCrudTaskbar.grid_regular":"snkSimpleCrudTaskbar.form_regular"}initInMemoryDataUnit(){this._inMemoryLoader=new v(this._metadata),this.dataUnit=this._inMemoryLoader.dataUnit,this.dataUnitReady.emit(this.dataUnit)}setMetadata(t){return this._inMemoryLoader?this._inMemoryLoader.metadata=t:this.dataUnit&&(this.dataUnit.metadata=t),Promise.resolve()}setRecords(t){return this._inMemoryLoader?this._inMemoryLoader.records=t:this.dataUnit&&(this.dataUnit.records=t),Promise.resolve()}getRecords(){return Promise.resolve(this.dataUnit.records)}processMetadata(){const t=this._element.querySelectorAll("snk-field-metadata"),s=[],e={fields:[],emptyConfig:!1};t.forEach((t=>{const i={name:t.getAttribute("name")||t.getAttribute("label"),label:t.getAttribute("label"),dataType:h[t.getAttribute("dataType")]||h.TEXT,userInterface:c[t.getAttribute("userInterface")]||c.SHORTTEXT,readOnly:"true"==t.getAttribute("readOnly"),required:"true"==t.getAttribute("required"),tab:t.getAttribute("tab")||void 0,visible:"false"!=t.getAttribute("visible")};e.fields.push({name:i.name,tab:i.tab,visible:i.visible}),s.push(i)})),s.length>0&&(this.formConfig||(this.formConfig=e),this._metadata={name:"SimpleCrud",label:"SimpleCrud",fields:s})}onDataStateChange(t){this.dataState=Object.assign({},t.detail)}getTaskBarDisabledButtons(){var t,s;const e=[];return(null===(t=this.dataState)||void 0===t?void 0:t.hasNext)||e.push(b.NEXT),(null===(s=this.dataState)||void 0===s?void 0:s.hasPrevious)||e.push(b.PREVIOUS),e}render(){var t;return e("snk-data-unit",{class:"simple-crud__container",dataUnit:this.dataUnit,useCancelConfirm:this.useCancelConfirm,onDataStateChange:t=>this.onDataStateChange(t),onInsertionMode:()=>this.goToView(u.FORM),onDataUnitReady:t=>this.dataUnitReady.emit(t.detail),onMessagesBuilderUpdated:t=>this.messagesBuilder=t.detail},e("header",null,e("slot",{name:"snkSimpleCrudHeader"})),e("section",{class:"ez-flex ez-box ez-box--shadow"},e("snk-taskbar",{class:"simple-crud__taskbar ez-box ez-box--shadow ez-padding--medium",dataUnit:this.dataUnit,primaryButton:(null===(t=this.dataState)||void 0===t?void 0:t.isDirty)?"SAVE":"INSERT","data-element-id":"grid_left",messagesBuilder:this.messagesBuilder,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,slot:"leftButtons",presentationMode:g.SECONDARY}),e("ez-view-stack",{class:"ez-flex ez-flex--column",ref:t=>this._viewStack=t,"data-element-id":"simple-crud"},e("stack-item",null,e("ez-grid",{dataUnit:this.dataUnit,onEzDoubleClick:()=>this.goToView(u.FORM),config:this.gridConfig,"no-header":!0},e("div",{slot:"footer"},e("slot",{name:"snkSimpleCrudFooter"})))),e("stack-item",null,e("ez-form",{dataUnit:this.dataUnit,config:this.formConfig})))))}get _element(){return i(this)}static get watchers(){return{mode:["onModeChange"],dataState:["observeDataState"]}}};_.style=".sc-snk-simple-crud-h{display:flex;height:100%;width:100%}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:auto;row-gap:12px;height:100%;width:100%}.simple-crud__taskbar.sc-snk-simple-crud{z-index:var(--more-visible, 2);margin-bottom:var(--space--medium)}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;min-height:300px}ez-form.sc-snk-simple-crud{min-height:300px}";export{f as snk_simple_bar,_ as snk_simple_crud}
@@ -1 +0,0 @@
1
- import{r as i,c as t,h as l,H as s}from"./p-b9667fbe.js";import{ApplicationContext as o}from"@sankhyalabs/core";const n=class{constructor(l){i(this,l),this.valueChanged=t(this,"valueChanged",7),this.saveConfig=t(this,"saveConfig",7),this._searchValue=void 0,this._ezListSource=[],this.config=void 0,this.rightListSlotBuilder=void 0,this.maxHeightList=""}async reloadList(){this.loadListSource(),this.saveConfig.emit(this.config)}observeConfig(){var i,t;null===(t=null===(i=this._searchElement)||void 0===i?void 0:i.clearValue)||void 0===t||t.call(i)}ezListChangeListener(i){var t,l,s,o;null===(s=null!==(t=this.config.value)&&void 0!==t?t:null===(l=this.config.value)||void 0===l?void 0:l.elements)||void 0===s||s.forEach((t=>{var l,s;t&&t.id===(null===(l=i.detail)||void 0===l?void 0:l.id)&&(t.check=null===(s=i.detail)||void 0===s?void 0:s.check)})),this.saveConfig.emit(this.config),this.valueChanged.emit(null===(o=this.config)||void 0===o?void 0:o.value)}loadListSource(){var i,t,l,s,o,n,e,v;this._ezListSource=[],null===(v=null!==(o=null!==(t=null===(i=this.config)||void 0===i?void 0:i.value)&&void 0!==t?t:null===(s=null===(l=this.config)||void 0===l?void 0:l.value)||void 0===s?void 0:s.elements)&&void 0!==o?o:null===(e=null===(n=this.config)||void 0===n?void 0:n.value)||void 0===e?void 0:e.members)||void 0===v||v.forEach((i=>{i&&this._ezListSource.push({label:`${i.id} - ${i.label}`,check:i.check,id:i.id})}))}componentDidLoad(){var i,t,l,s,n,e,v,d,a,h,r,u;let c=null!==(e=null!==(l=null===(t=null===(i=this.config)||void 0===i?void 0:i.value)||void 0===t?void 0:t.elements)&&void 0!==l?l:null===(n=null===(s=this.config)||void 0===s?void 0:s.value)||void 0===n?void 0:n.members)&&void 0!==e?e:null===(v=this.config)||void 0===v?void 0:v.value,f=[];Array.isArray(c)?f=c:f.push(null===(a=null===(d=this.config)||void 0===d?void 0:d.value)||void 0===a?void 0:a.members),this.config.value=f,this._entityName=null===(u=null===(r=null===(h=this.config)||void 0===h?void 0:h.props)||void 0===r?void 0:r.searchContext)||void 0===u?void 0:u.entity,this._application=o.getContextValue("__SNK__APPLICATION__"),this.loadListSource()}optionLoader({mode:i,argument:t}){var l,s,o,n;if(void 0===this._application)return;const e=null===(o=null===(s=null===(l=this.config)||void 0===l?void 0:l.props)||void 0===s?void 0:s.searchContext)||void 0===o?void 0:o.searchOptions,v={entityDescription:null===(n=this.config)||void 0===n?void 0:n.label,entity:this._entityName,searchOptions:e};return this._application.executePreparedSearch(i,t,v)}onEzSearchChange(i){var t,l,s,o,n,e,v,d;null!=i.detail&&void 0===(null===(n=null!==(s=null!==(t=this.config.value)&&void 0!==t?t:null===(l=this.config.value)||void 0===l?void 0:l.elements)&&void 0!==s?s:null===(o=this.config.value)||void 0===o?void 0:o.members)||void 0===n?void 0:n.find((t=>{var l;return(null==t?void 0:t.id)==(null===(l=i.detail)||void 0===l?void 0:l.value)})))&&(this.config=Object.assign(Object.assign({},this.config),{value:[...null!==(v=null===(e=this.config)||void 0===e?void 0:e.value)&&void 0!==v?v:[],{id:i.detail.value,check:!0,label:i.detail.label}]}),this.loadListSource(),this.saveConfig.emit(this.config),this.valueChanged.emit(null===(d=this.config)||void 0===d?void 0:d.value))}getMessage(i,t){var l;return null===(l=this._application)||void 0===l?void 0:l.messagesBuilder.getMessage(i,t)}render(){var i;return l(s,null,l("ez-search",{ref:i=>this._searchElement=i,optionLoader:i=>this.optionLoader(i),value:this._searchValue,label:null===(i=this.config)||void 0===i?void 0:i.label,onEzChange:i=>this.onEzSearchChange(i)}),l("label",{class:"label"},this.getMessage("snkEntityList.selected")),l("div",{style:this.maxHeightList?{"max-height":this.maxHeightList}:{},class:{"snk-entity-list--overflow":!!this.maxHeightList}},l("ez-list",{ref:i=>this._ezList=i,id:"snkEntityList",listMode:"check",dataSource:this._ezListSource,hoverFeedback:!0,itemSlotBuilder:this.rightListSlotBuilder,onEzCheckChange:i=>this.ezListChangeListener(i)})))}static get watchers(){return{config:["observeConfig"]}}};n.style=".sc-snk-entity-list-h{--snk-entity-list--label--font-size:var(--text--medium, 14px);--snk-entity-list--label--font-family:var(--font-pattern, Arial);--snk-entity-list--label--color:var(--title--primary, #000);--snk-entity-list--label--disabled--color:var(--text--disable, #AFB6C0)}.label.sc-snk-entity-list{flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--snk-entity-list--label--color);font-size:var(--snk-entity-list--label--font-size);font-family:var(--snk-entity-list--label--font-family);cursor:default;padding-left:var(--space--small);padding-bottom:var(--space--extra-small)}.snk-entity-list--overflow.sc-snk-entity-list{overflow:auto}.snk-entity-list--overflow.sc-snk-entity-list::-webkit-scrollbar{width:var(--space--small);min-width:var(--space--small);max-width:var(--space--small)}";export{n as snk_entity_list}
@@ -1 +0,0 @@
1
- import{h as e,r as i,c as t,g as s}from"./p-b9667fbe.js";import{S as l}from"./p-f4184ce7.js";import{UserInterface as a,JSUtils as n,ElementIDUtils as r,ApplicationContext as o,StringUtils as h,DataType as c}from"@sankhyalabs/core";import{ModalAction as d}from"@sankhyalabs/ezui/dist/collection/components/ez-modal-container";import{c as u,d as f,e as p,F as m}from"./p-4c2015a9.js";const v={[a.SHORTTEXT]:"text",[a.LONGTEXT]:"text",[a.INTEGERNUMBER]:"number",[a.DECIMALNUMBER]:"number",[a.DATE]:"calendar",[a.DATETIME]:"calendar",[a.SWITCH]:"boolean",[a.CHECKBOX]:"check-circle-inverted",[a.OPTIONSELECTOR]:"list",[a.SEARCH]:"search",[a.HTML]:"tag_code",[a.IMAGE]:"png",[a.FILE]:"edit-file",[a.TIME]:"timer-outline",[a.ELAPSEDTIME]:"timer",[a.MASKEDTEXT]:"text",[a.PASSWORD]:"email"},b=({userInterface:i,description:t})=>e("ez-icon",{iconName:v[i],className:"ez-padding-left--small",title:t}),g="__SNK__APPLICATION__",k=class{constructor(e){i(this,e),this.ezSelectFilterItem=t(this,"ezSelectFilterItem",7),this._filterMetadataStorage=new Map,this._currentMetadata=null,this._filterText="",this._isLoading=!1,this.searchable=!0,this.fieldsDataSource=void 0,this.breadcrumbItems=[],this.linkItems=[],this.fieldItems=[]}async show(){var e;return null===(e=this._ezPopover)||void 0===e||e.show(),this.loadData()}async applyFilter(e){if(this.searchable)throw new Error("This method is not available when searchable is true");this.handleFilterChange(e)}async loadData(){let e;this._isLoading=!0,null!=this._currentLink&&(e=this._filterMetadataStorage.get(this._currentLink.uri)),e||(e=await this.fieldsDataSource.fetchData(this._currentLink),this._currentLink=e.currentLink,this._filterMetadataStorage.set(this._currentLink.uri,e));const{fields:i,links:t}=e||{};if(!Array.isArray(i)||!Array.isArray(t))throw new Error("Invalid metadata");this._currentMetadata=e,this.mapDataSourceToLinkItems(),this.mapDataSourceToFieldItems(),this._isLoading=!1,this._ezFieldList.scrollToTop(),this._ezLinkList.scrollToTop()}mapDataSourceToLinkItems(){var e;const{links:i}=this._currentMetadata,t=this.getMessage("snkFilterFieldSearch.linkLabel",{link:null===(e=this._currentLink)||void 0===e?void 0:e.description}),s=i.map((e=>Object.assign({label:e.description},e)));this.linkItems=[{group:t,items:s}],0===this.breadcrumbItems.length&&(this.breadcrumbItems=[Object.assign({id:n.generateUUID(),label:this._currentLink.description},this._currentLink)])}mapDataSourceToFieldItems(){var e;const{fields:i}=this._currentMetadata,t=this.getMessage("snkFilterFieldSearch.fieldLabel",{link:null===(e=this._currentLink)||void 0===e?void 0:e.description}),s=i.filter((e=>{if(!this._currentLink)return!0;const i=e.description.toLowerCase().includes(this._filterText.toLowerCase()),t=e.name.toLowerCase().includes(this._filterText.toLowerCase());return i||t})).map((e=>Object.assign({label:e.description},e)));this.fieldItems=[{group:t,items:s}]}handleFilterChange(e){this._isLoading||(this._filterText=e,this.mapDataSourceToFieldItems())}handleSelectLink({detail:e}){if(this._isLoading)return;const i=this.breadcrumbItems.findIndex((i=>i.id===e.id));e.cache=this._filterMetadataStorage.has(e.uri),this.breadcrumbItems=i>-1?this.breadcrumbItems.slice(0,i+1):[...this.breadcrumbItems,Object.assign({id:n.generateUUID(),label:e.description},e)];const t=Object.assign(Object.assign({},e),{type:l.LINK});this._currentLink=t,this.ezSelectFilterItem.emit(t),this.loadData()}handleSelectField({detail:e}){var i;const t=this.breadcrumbItems.map((e=>e.label)).join(">>"),s=Object.assign(Object.assign({},e),{type:l.FIELD,path:`${t} >> ${e.description}`});this.ezSelectFilterItem.emit(s),null===(i=this._ezPopover)||void 0===i||i.hide()}getElementID(e){return{[r.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:r.getInternalIDInfo(e)}}getMessage(e,i){var t,s,l;return this._application||(this._application=o.getContextValue(g)),null===(l=null===(s=null===(t=this._application)||void 0===t?void 0:t.messagesBuilder)||void 0===s?void 0:s.getMessage)||void 0===l?void 0:l.call(s,e,i)}componentWillLoad(){this._application=o.getContextValue(g)}componentDidLoad(){r.addIDInfoIfNotExists(this._ezPopover,"popover")}disconnectedCallback(){var e;this._filterMetadataStorage.clear(),null===(e=this._ezPopover)||void 0===e||e.hide()}render(){var i;const t=this.getMessage("snkFilterFieldSearch.searchLabel");return e("ez-popover",Object.assign({ref:e=>this._ezPopover=e,role:"dialog",overlayType:"none","aria-hidden":!(null===(i=this._ezPopover)||void 0===i?void 0:i.opened)},this.getElementID("EzPopover")),e("div",{class:"snk-filter-field-search__container"},e("header",{class:"snk-filter-field-search__header"},this.searchable&&!!t&&e("ez-filter-input",Object.assign({class:"snk-filter-field-search__input",label:t,asyncSearch:!0,canShowError:!1,onEzSearching:e=>this.handleFilterChange.bind(this)(e.detail),"aria-label":t,"aria-required":"false","aria-invalid":"false"},this.getElementID("EzFilterInput"))),this.breadcrumbItems.length>0&&e("ez-breadcrumb",Object.assign({items:this.breadcrumbItems,onSelectedItem:this.handleSelectLink.bind(this),role:"navigation","aria-current":"step"},this.getElementID("EzBreadcrumb"))),e("hr",{class:"ez-divider-horizontal ez-margin-vertical--medium"})),e("section",{class:"snk-filter-field-search__section"},e("ez-list",Object.assign({ref:e=>this._ezLinkList=e,class:"snk-filter-field-search__list",id:"filterLinkList",useGroups:!0,dataSource:this.linkItems,onEzSelectItem:this.handleSelectLink.bind(this),hoverFeedback:!0,ezSelectable:!0,itemSlotBuilder:({fieldCount:i})=>e("ez-badge",{label:i}),"aria-describedby":"filterLinkLabel"},this.getElementID("EzListLinks"))),e("ez-list",Object.assign({ref:e=>this._ezFieldList=e,class:"snk-filter-field-search__list",id:"filterFieldList",useGroups:!0,dataSource:this.fieldItems,onEzSelectItem:this.handleSelectField.bind(this),hoverFeedback:!0,ezSelectable:!0,itemSlotBuilder:b,"aria-describedby":"filterFieldLabel"},this.getElementID("EzListFields"))))))}};k.style=".sc-snk-filter-field-search-h{--snk-filter-field-search--container-width:468px;--snk-filter-field-search--container-height:322px}.snk-filter-field-search__container.sc-snk-filter-field-search{display:flex;flex-direction:column;padding:var(--space--medium);width:var(--snk-filter-field-search--container-width);height:var(--snk-filter-field-search--container-height)}.snk-filter-field-search__section.sc-snk-filter-field-search{display:grid;grid-template-columns:1fr 1fr;place-items:flex-start;overflow:hidden;gap:var(--space--small)}.snk-filter-field-search__input.sc-snk-filter-field-search{margin-bottom:var(--space--medium)}.snk-filter-field-search__list_container.sc-snk-filter-field-search{display:flex;flex-direction:column}.snk-filter-field-search__list.sc-snk-filter-field-search{overflow-y:auto}";class z{static buildFilterExpression(e){if(null==e)return;const i=this.buildVariableParameterValue(e);let t=e.expression||"";switch(e.operand){case u.IN:t+=` ${e.operand} (${i})`;break;case u.NULL:case u.NOT_NULL:t+=` IS ${i}`;break;case u.LIKE:t+=` LIKE '%${i}%'`;break;case u.START_WITH:t+=` LIKE '${i}%'`;break;case u.FINISHED_WITH:t+=` LIKE '%${i}'`;break;default:t+=` ${e.operand} ${i}`}return t}static buildVariableParameterValue(e){if(null!=e){if(null!=e.systemConfig){const i=e.systemConfig;return`?:{entidade=${i.entity||""};campo=${i.fieldName||""}}`}if(null!=e.userConfig){const i=e.userConfig;return`?:{desc=${i.description||""};tipo=${i.type||""}}`}return`?:{entidade=${e.entityName||""};campo=${e.fieldName||""}}`}}}const C=class{constructor(e){i(this,e),this._opened=!1,this._configType=f.SYSTEM_CONFIG,this._expressionItem=void 0,this._informedInstance=!1,this._canSave=!1,this.messagesBuilder=void 0}open(e){return this._opened=!0,this._expressionItem=e,this.loadValues(),new Promise((e=>{this._promiseResolver=e}))}close(){return this._opened=!1,new Promise((e=>{this._promiseResolver=e}))}getMessage(e,i){var t;return null===(t=this.messagesBuilder)||void 0===t?void 0:t.getMessage(e,i)}getConfigValue(e,i,t=""){var s,l,a;return(null===(l=null===(s=this._expressionItem)||void 0===s?void 0:s[e])||void 0===l?void 0:l[i])||(null===(a=this._expressionItem)||void 0===a?void 0:a[t||i])}loadValues(){var e;const i=this.getConfigValue("systemConfig","entity","entityName"),t=this.getConfigValue("systemConfig","fieldName"),s=this.getConfigValue("userConfig","description"),l=this.getConfigValue("userConfig","type");this._configType=null!=(null===(e=this._expressionItem)||void 0===e?void 0:e.userConfig)?f.USER_CONFIG:f.SYSTEM_CONFIG,h.isEmpty(i)||h.isEmpty(t)||(this._instanceElement.value={value:i,label:""},this._fieldElement.value={value:t,label:""}),h.isEmpty(s)||h.isEmpty(l)||(this._descriptionElement.value=s,this._typeElement.value=l),this.buildFilterExpression()}changeDefinitionUsed(e){if(this._configType=null!=e?e:f.SYSTEM_CONFIG,this._configType===f.SYSTEM_CONFIG){const e=this.getConfigValue("systemConfig","entity","entityName"),i=this.getConfigValue("systemConfig","fieldName");this._instanceElement.value=this._instanceElement.value||{value:e,label:""},this._fieldElement.value=this._fieldElement.value||{value:i,label:""}}else if(this._configType===f.USER_CONFIG){const e=this.getConfigValue("userConfig","description"),i=this.getConfigValue("userConfig","type");this._descriptionElement.value=this._descriptionElement.value||e,this._typeElement.value=this._typeElement.value||i}this.buildFilterExpression()}getTypeValue(){var e;const i=null===(e=this._typeElement)||void 0===e?void 0:e.value;return(null==i?void 0:i.value)||i}getExpressionValues(){var e,i,t,s,l;let a,n;return this._configType===f.SYSTEM_CONFIG?a={entity:null===(i=null===(e=this._instanceElement)||void 0===e?void 0:e.value)||void 0===i?void 0:i.value,fieldName:null===(s=null===(t=this._fieldElement)||void 0===t?void 0:t.value)||void 0===s?void 0:s.value}:this._configType===f.USER_CONFIG&&(n={description:null===(l=this._descriptionElement)||void 0===l?void 0:l.value,type:this.getTypeValue()}),Object.assign(Object.assign(Object.assign({},this._expressionItem),{systemConfig:a}),{userConfig:n})}isEnabled(e){return this._configType===e}isInformedInstance(){var e,i;return!h.isEmpty(null===(i=null===(e=this._instanceElement)||void 0===e?void 0:e.value)||void 0===i?void 0:i.value)}save(){var e;this._expressionItem=Object.assign(Object.assign({},this.getExpressionValues()),{expression:null===(e=this._expressionElement)||void 0===e?void 0:e.value}),this._promiseResolver(this._expressionItem),this._opened=!1}buildFilterExpression(){var e;this._informedInstance=this.isInformedInstance();const i=z.buildFilterExpression(this.getExpressionValues());this._expressionElement.value=i||(null===(e=this._expressionItem)||void 0===e?void 0:e.expression),this._canSave=this.getCanSave()}handleChangeInstance(){this._informedInstance=this.isInformedInstance(),null==this._fieldElement||h.isEmpty(this._fieldElement.value)||(this._fieldElement.value=null),this.buildFilterExpression()}getInstanceCriteria(){var e,i;const t=null===(i=null===(e=this._instanceElement)||void 0===e?void 0:e.value)||void 0===i?void 0:i.value;return{expression:"this.NOMETAB = (SELECT NOMETAB FROM TDDINS WHERE NOMEINSTANCIA = ?)",params:[{name:"NOMEINSTANCIA",dataType:c.TEXT,value:t}]}}onSearch({mode:e,argument:i},t){if(null==this._application)return;const s=t===p.FIELD,l=s?this.getInstanceCriteria():void 0,a=this.getMessage("snkFilterParamConfig.label"+(s?"Field":"Instance"));return this._application.executePreparedSearch(e,i,{entity:t,entityDescription:a,criteria:l,searchOptions:{descriptionFieldName:s?"DESCRCAMPO":"DESCRINSTANCIA",codeFieldName:s?"NOMECAMPO":"NOMEINSTANCIA",showInactives:!1}})}getElementID(e){return{[r.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:r.getInternalIDInfo(e)}}getCanSave(){var e;if(this._configType===f.USER_CONFIG){const i=null===(e=this._descriptionElement)||void 0===e?void 0:e.value,t=this.getTypeValue();return!h.isEmpty(i)&&!h.isEmpty(t)}return!0}componentWillLoad(){this._application=o.getContextValue("__SNK__APPLICATION__")}render(){return r.addIDInfoIfNotExists(this._element,"snkFilterParamConfig"),e("ez-popup",Object.assign({useHeader:!1,size:"small",heightMode:"auto",opened:this._opened},this.getElementID("popup")),e("ez-modal-container",Object.assign({onEzModalAction:e=>{e.detail===d.CLOSE&&this.close()},modalTitle:this.getMessage("snkFilterParamConfig.modalTitle")},this.getElementID("modalContainer")),e("div",{class:"ez-flex"},e("div",{class:"ez-col ez-col--sd-6 ez-flex--column"},e("ez-radio-button",Object.assign({value:this._configType,onEzChange:e=>this.changeDefinitionUsed(e.detail)},this.getElementID("systemConfigOption")),e("ez-radio-button-option",{label:this.getMessage("snkFilterParamConfig.labelSystemConfig"),value:f.SYSTEM_CONFIG})),e("ez-search",Object.assign({ref:e=>this._instanceElement=e,label:this.getMessage("snkFilterParamConfig.labelInstance"),enabled:this.isEnabled(f.SYSTEM_CONFIG),suppressEmptyOption:!0,showOptionValue:!1,showSelectedValue:!1,onEzChange:()=>this.handleChangeInstance(),optionLoader:e=>this.onSearch(e,p.INSTANCE)},this.getElementID("configFindEntity"))),e("ez-search",Object.assign({ref:e=>this._fieldElement=e,label:this.getMessage("snkFilterParamConfig.labelField"),enabled:this.isEnabled(f.SYSTEM_CONFIG)&&this._informedInstance,suppressEmptyOption:!0,showOptionValue:!1,showSelectedValue:!1,onEzChange:()=>this.buildFilterExpression(),optionLoader:e=>this.onSearch(e,p.FIELD)},this.getElementID("configFindField")))),e("div",{class:"ez-flex ez-padding--medium"},e("hr",{class:"ez-divider-vertical"})),e("div",{class:"ez-col ez-col--sd-6 ez-flex--column"},e("ez-radio-button",Object.assign({value:this._configType,onEzChange:e=>this.changeDefinitionUsed(e.detail)},this.getElementID("userConfigOption")),e("ez-radio-button-option",{label:this.getMessage("snkFilterParamConfig.labelUserConfig"),value:f.USER_CONFIG})),e("ez-text-input",Object.assign({ref:e=>this._descriptionElement=e,label:this.getMessage("snkFilterParamConfig.labelDescription"),enabled:this.isEnabled(f.USER_CONFIG),onEzChange:()=>this.buildFilterExpression()},this.getElementID("configParamLabel"))),e("ez-combo-box",Object.assign({ref:e=>this._typeElement=e,label:this.getMessage("snkFilterParamConfig.labelType"),enabled:this.isEnabled(f.USER_CONFIG),suppressEmptyOption:!0,onEzChange:()=>this.buildFilterExpression()},this.getElementID("configParamType")),Object.keys(m).map((i=>e("option",{value:m[i]},this.getMessage(`snkFilterParamConfig.labelTypeValues.${i.toLowerCase()}`))))))),e("ez-text-area",Object.assign({ref:e=>this._expressionElement=e,class:"snk-filter-param-config__expression",label:this.getMessage("snkFilterParamConfig.labelExpression"),enabled:!1},this.getElementID("presentationExpression"))),e("div",{class:"ez-col ez-col--sd-12 ez-flex--justify-end ez-margin-vertical--small"},e("ez-button",Object.assign({class:"ez-padding-right--medium",label:this.getMessage("snkFilterParamConfig.labelCancel"),onClick:()=>this.close()},this.getElementID("cancelEditParam"))),e("ez-button",Object.assign({class:"ez-button--primary",label:this.getMessage("snkFilterParamConfig.labelSave"),onClick:()=>this.save(),enabled:this._canSave},this.getElementID("saveEditParam"))))))}get _element(){return s(this)}};C.style=":host{--snk-filter-param-config__expression--color:var(--title--primary, #2b3a54);display:flex;position:relative}.snk-filter-param-config__expression{--text-area__input--disabled--color:var(--snk-filter-param-config__expression--color)}";export{k as snk_filter_field_search,C as snk_filter_param_config}