@sankhyalabs/sankhyablocks 1.3.31-beta.12 → 1.3.31-beta.14

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 (40) hide show
  1. package/dist/cjs/{SnkMessageBuilder-13239761.js → SnkMessageBuilder-bb55d4c4.js} +2 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  4. package/dist/cjs/snk-application.cjs.entry.js +60 -2
  5. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  6. package/dist/cjs/snk-form_2.cjs.entry.js +1 -1
  7. package/dist/cjs/snk-taskbar.cjs.entry.js +27 -30
  8. package/dist/cjs/{taskbar-elements-73d524e5.js → taskbar-elements-2888ceb6.js} +4 -0
  9. package/dist/collection/components/snk-application/snk-application.js +49 -1
  10. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +4 -0
  11. package/dist/collection/components/snk-taskbar/snk-taskbar.js +29 -30
  12. package/dist/collection/lib/http/data-fetcher/fetchers/totals-fetcher.js +47 -0
  13. package/dist/collection/lib/message/resources/snk-taskbar.msg.js +2 -1
  14. package/dist/components/SnkMessageBuilder.js +2 -1
  15. package/dist/components/snk-application2.js +60 -1
  16. package/dist/components/snk-taskbar2.js +30 -29
  17. package/dist/esm/{SnkMessageBuilder-3835f9d8.js → SnkMessageBuilder-17d91b88.js} +2 -1
  18. package/dist/esm/loader.js +1 -1
  19. package/dist/esm/sankhyablocks.js +1 -1
  20. package/dist/esm/snk-application.entry.js +60 -2
  21. package/dist/esm/snk-data-unit.entry.js +1 -1
  22. package/dist/esm/snk-form_2.entry.js +1 -1
  23. package/dist/esm/snk-taskbar.entry.js +27 -30
  24. package/dist/esm/{taskbar-elements-6d01a640.js → taskbar-elements-5ea74223.js} +5 -1
  25. package/dist/sankhyablocks/{p-962d9bdd.entry.js → p-825d2c38.entry.js} +7 -2
  26. package/dist/sankhyablocks/p-ab694dbc.js +1 -0
  27. package/dist/sankhyablocks/p-b559117b.js +1 -0
  28. package/dist/sankhyablocks/{p-2df33095.entry.js → p-ce2d1214.entry.js} +1 -1
  29. package/dist/sankhyablocks/p-d25803a1.entry.js +1 -0
  30. package/dist/sankhyablocks/{p-9b427c4c.entry.js → p-edf81d2c.entry.js} +1 -1
  31. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  32. package/dist/types/components/snk-application/snk-application.d.ts +8 -0
  33. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +3 -0
  34. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +15 -0
  35. package/dist/types/components.d.ts +5 -1
  36. package/dist/types/lib/http/data-fetcher/fetchers/totals-fetcher.d.ts +8 -0
  37. package/package.json +1 -1
  38. package/dist/sankhyablocks/p-72bccbb6.js +0 -1
  39. package/dist/sankhyablocks/p-bab507ad.entry.js +0 -1
  40. package/dist/sankhyablocks/p-dd10a5e3.js +0 -1
@@ -12,13 +12,16 @@ import { PesquisaFetcher } from "../../lib/http/data-fetcher/fetchers/pesquisa-f
12
12
  import { Option } from "@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box";
13
13
  import AuthFetcher, { AutorizationType } from "../../lib/http/data-fetcher/fetchers/auth-fetcher";
14
14
  import { SnkErrorHandler } from "./errorhandler/snk-error-handler";
15
+ import { TotalsFetcher } from "../../lib/http/data-fetcher/fetchers/totals-fetcher";
15
16
  import { SnkMessageBuilder } from "../../lib/message/SnkMessageBuilder";
17
+ import { Filter } from "@sankhyalabs/core";
16
18
  export declare class SnkApplication {
17
19
  _parameters: ParametersFetcher;
18
20
  _urlParams: Map<string, any>;
19
21
  _dataUnitFetcher: DataUnitFetcher;
20
22
  _formConfigFetcher: FormConfigFetcher;
21
23
  _gridConfigFetcher: GridConfigFetcher;
24
+ _totalsFetcher: TotalsFetcher;
22
25
  _pesquisaFetcher: PesquisaFetcher;
23
26
  _authFetcher: AuthFetcher;
24
27
  _resourceID: string;
@@ -140,6 +143,10 @@ export declare class SnkApplication {
140
143
  * Busca a configuração de grade.
141
144
  */
142
145
  loadGridConfig(name: string): Promise<IGridConfig>;
146
+ /**
147
+ * Busca os totalizadores da grade.
148
+ */
149
+ loadTotals(name: string, resourceID: string, filters: Array<Filter>): Promise<Map<string, number>>;
143
150
  /**
144
151
  * Salva a configuração de grade.
145
152
  */
@@ -157,6 +164,7 @@ export declare class SnkApplication {
157
164
  private get dataUnitFetcher();
158
165
  private get formConfigFetcher();
159
166
  private get gridConfigFetcher();
167
+ private get totalsFetcher();
160
168
  private get pesquisaFetcher();
161
169
  private get authFetcher();
162
170
  executeSearch(searchArgument: any, fieldName: string, dataUnit: DataUnit): Promise<Array<Option> | Option>;
@@ -22,4 +22,7 @@ export declare enum AuthorizationElements {
22
22
  INSERT = "INSERT",
23
23
  CONFIG_GRID = "CONFIG_GRID"
24
24
  }
25
+ export declare enum VisibleWhenForbidden {
26
+ CONFIG_GRID = "CONFIG_GRID"
27
+ }
25
28
  export declare const buildElem: (element: TaskbarElement, className: string, getTitle: (element: TaskbarElement) => string, action: (element: string | TaskbarElement) => void, isEnabled: (element: TaskbarElement) => boolean, actions: Array<Action>) => HTMLElement;
@@ -30,6 +30,21 @@ export declare class SnkTaskbar {
30
30
  actionClick: EventEmitter<string>;
31
31
  _permissions: any;
32
32
  _definitions: Array<string>;
33
+ _titleKeyByElement: {
34
+ UPDATE: string;
35
+ PREVIOUS: string;
36
+ NEXT: string;
37
+ REFRESH: string;
38
+ CLONE: string;
39
+ REMOVE: string;
40
+ MORE_OPTIONS: string;
41
+ INSERT: string;
42
+ CANCEL: string;
43
+ SAVE: string;
44
+ GRID_MODE: string;
45
+ CONFIG_GRID: string;
46
+ FORM_MODE: string;
47
+ };
33
48
  observeButtons(): void;
34
49
  elementsFromString(strButtons: string): Array<TaskbarElement>;
35
50
  private isAllowed;
@@ -7,7 +7,7 @@
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { SnkMessageBuilder } from "./lib/message/SnkMessageBuilder";
9
9
  import { AutorizationType } from "./lib/http/data-fetcher/fetchers/auth-fetcher";
10
- import { DataUnit } from "@sankhyalabs/core";
10
+ import { DataUnit, Filter } from "@sankhyalabs/core";
11
11
  import { DialogType, MessageOptions } from "@sankhyalabs/ezui/dist/collection/utils";
12
12
  import { FieldConfig, RecordValidator } from "@sankhyalabs/ezui/dist/types/components/ez-form/ez-form";
13
13
  import { IGridConfig } from "@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController";
@@ -100,6 +100,10 @@ export namespace Components {
100
100
  * Busca a configuração de grade.
101
101
  */
102
102
  "loadGridConfig": (name: string) => Promise<IGridConfig>;
103
+ /**
104
+ * Busca os totalizadores da grade.
105
+ */
106
+ "loadTotals": (name: string, resourceID: string, filters: Array<Filter>) => Promise<Map<string, number>>;
103
107
  /**
104
108
  * Exibe um diálogo de mensagem comum
105
109
  */
@@ -0,0 +1,8 @@
1
+ import { Filter } from "@sankhyalabs/core";
2
+ export declare class TotalsFetcher {
3
+ private templateByQuery;
4
+ constructor();
5
+ private buldTemplates;
6
+ private getTotals;
7
+ fetchTotals(name: string, resourceID: string, filters?: Array<Filter>): Promise<Map<string, number>>;
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/sankhyablocks",
3
- "version": "1.3.31-beta.12",
3
+ "version": "1.3.31-beta.14",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1 +0,0 @@
1
- const e={saveInfo:{clone:"Duplicação realizada!",insert:"Inclusão realizada!",update:"Aleração realizada!"},cancelInfo:{clone:"Duplicação descartada!",insert:"A inclusão descartada!",update:"A edição foi descartada!"},removeInfo:"Registro removido com sucesso!",cancelConfirmationTitle:"Aviso",cancelConfirmation:"As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?",removeConfirmationTitle:"Excluir",removeConfirmation:"Deseja realmente excluir o registro atual?",forbiddenUpdate:"Não é possível fazer alterações. Verifique as permissões de acesso.",forbiddenInsert:"Não é possível incluir. Verifique as permissões de acesso.",forbiddenClone:"Não é possível duplicar. Verifique as permissões de acesso.",forbiddenRemove:"Não é possível remover. Verifique as permissões de acesso."},s={title:{clone:"Duplicar registro",insert:"Cadastrar registro",update:"Alterar registro",clean:"{{ENTITY_NAME}}"},goBackTitle:"Voltar"},r={titleUpdate:"Editar",titlePrevious:"Anterior",titleNext:"Próximo",titleRefresh:"Atualizar",titleClone:"Duplicar",titleRemove:"Excluir",titleMoreOptions:"Mais Opções",titleInsert:"Cadastrar",titleCancel:"Cancelar",titleSave:"Salvar",titleGridMode:"Modo Grade",titleConfigGrid:"Configuração da grade",titleFormMode:"Modo Formulário"};class a{constructor(){this._defaults={snkDataUnit:e,snkForm:s,snkTaskbar:r},this._currentOperation=i.CLEAN,this.loadAppMessages().then((e=>{this._appMessages=e}),(e=>{console.info("O arquivo de mensagens personalizadas não foi encontrado no caminho /messages/appmessages.js",e)}))}set currentOperation(e){this._currentOperation=e}getMessage(e,s){if(null==e)return;var r=e.split(".");let a=this.resolveMessage(r,this._appMessages);if(null==a&&(a=this.resolveMessage(r,this._defaults)),this.customMessageBuilder){const r=this.customMessageBuilder(e,a,s);a=r.message,s=r.params}return this.postProcess(a,s)}resolveMessage(e,s){if(null==s)return;const r=s[e[0]];return r?this.isOperationSensitive(r)?r[this._currentOperation]:1===e.length||null==r||"string"==typeof r?r:this.resolveMessage(e.slice(1),r):void 0}isOperationSensitive(e){return null!=e[i.CLONE]||null!=e[i.INSERT]||null!=e[i.UPDATE]||null!=e[i.CLEAN]}postProcess(e,s){if(e){const r=/(.*?)\{\{(.+?)\}\}/g;let a,i="",t=e;for(;null!==(a=r.exec(e));){const[r,o,n]=a,l=a.index+r.length;t=l<e.length?e.substring(l):"";let d=s?s[n]:void 0;null==d&&(d=""),i+=o+d}return i+t}return e}loadAppMessages(){return new Promise(((e,s)=>{const r="dev"!==window.applicationenv?`/${window.MGE_MODULE_NAME}/labsApps/${window.APPLICATION_NAME}/messages/appmessages.js`:"/messages/appmessages.js";import(r).then((s=>{e(s.default)})).catch((e=>{s(e)}))}))}}var i;!function(e){e.CLONE="clone",e.INSERT="insert",e.UPDATE="update",e.CLEAN="clean"}(i||(i={}));export{i as O,a as S}
@@ -1 +0,0 @@
1
- import{r as t,c as s,h as e,H as i}from"./p-cd1dc099.js";import{ApplicationContext as r}from"@sankhyalabs/core";import{A as a,T as n,b as h}from"./p-dd10a5e3.js";const c=class{constructor(e){t(this,e),this.actionClick=s(this,"actionClick",7)}observeButtons(){this._definitions=void 0}elementsFromString(t){const s=[];return t&&t.split(",").forEach((t=>{t=t.trim(),this.isAllowed(t)&&s.push(t.trim())})),s}isAllowed(t){return!a[t]||!!this._permissions&&(this._permissions.isSup||this._permissions[t])}getTitle(t){switch(t){case n.UPDATE:return this._application.messagesBuilder.getMessage("snkTaskbar.titleUpdate",{});case n.PREVIOUS:return this._application.messagesBuilder.getMessage("snkTaskbar.titlePrevious",{});case n.NEXT:return this._application.messagesBuilder.getMessage("snkTaskbar.titleNext",{});case n.REFRESH:return this._application.messagesBuilder.getMessage("snkTaskbar.titleRefresh",{});case n.CLONE:return this._application.messagesBuilder.getMessage("snkTaskbar.titleClone",{});case n.REMOVE:return this._application.messagesBuilder.getMessage("snkTaskbar.titleRemove",{});case n.MORE_OPTIONS:return this._application.messagesBuilder.getMessage("snkTaskbar.titleMoreOptions",{});case n.INSERT:return this._application.messagesBuilder.getMessage("snkTaskbar.titleInsert",{});case n.CANCEL:return this._application.messagesBuilder.getMessage("snkTaskbar.titleCancel",{});case n.SAVE:return this._application.messagesBuilder.getMessage("snkTaskbar.titleSave",{});case n.GRID_MODE:return this._application.messagesBuilder.getMessage("snkTaskbar.titleGridMode",{});case n.CONFIG_GRID:return this._application.messagesBuilder.getMessage("snkTaskbar.titleConfigGrid",{});case n.FORM_MODE:return this._application.messagesBuilder.getMessage("snkTaskbar.titleFormMode",{})}return""}elementClick(t){if(this.dataUnit)switch(t){case n.PREVIOUS:this.dataUnit.previousRecord();break;case n.NEXT:this.dataUnit.nextRecord();break;case n.REFRESH:this.dataUnit.loadData();break;case n.CLONE:this.dataUnit.copySelected();break;case n.REMOVE:this.dataUnit.removeSelectedRecords();break;case n.INSERT:this.dataUnit.addRecord();break;case n.CANCEL:this.dataUnit.cancelEdition();break;case n.SAVE:this.dataUnit.saveData()}this.actionClick.emit(t)}isEnabled(t){return!(this.disabledButtons&&this.disabledButtons.includes(t))}getElement(t,s){let e,i=s===this.primaryButton?"ez-button--primary ":"";return t>1&&(i+="ez-padding-left--medium"),e=h(s,i,(t=>this.getTitle(t)),(t=>this.elementClick(t)),(t=>this.isEnabled(t)),this.actionsList),e}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__"),this._application?this._application.getAllAccess().then((t=>this._permissions=t)):this._permissions={}}componentWillRender(){null==this._definitions&&this._permissions&&(this._definitions=this.elementsFromString(this.buttons))}render(){if(void 0===this._definitions)return;let t=0;return e(i,null,this._definitions.map((s=>(s===n.DIVIDER?t=0:t++,n[s]?this.getElement(t,n[s]):e("slot",{name:s})))))}static get watchers(){return{buttons:["observeButtons"]}}};c.style=".sc-snk-taskbar-h{display:flex}";export{c as snk_taskbar}
@@ -1 +0,0 @@
1
- import{h as e}from"./p-cd1dc099.js";var t,n;!function(e){e.PREVIOUS="PREVIOUS",e.NEXT="NEXT",e.REFRESH="REFRESH",e.UPDATE="UPDATE",e.CLONE="CLONE",e.REMOVE="REMOVE",e.INSERT="INSERT",e.CANCEL="CANCEL",e.SAVE="SAVE",e.GRID_MODE="GRID_MODE",e.FORM_MODE="FORM_MODE",e.CONFIG_GRID="CONFIG_GRID",e.MORE_OPTIONS="MORE_OPTIONS",e.DIVIDER="DIVIDER"}(t||(t={})),function(e){e.UPDATE="UPDATE",e.CLONE="CLONE",e.REMOVE="REMOVE",e.INSERT="INSERT",e.CONFIG_GRID="CONFIG_GRID"}(n||(n={}));const r=(n,r,c,i,l,o)=>{switch(n){case t.PREVIOUS:return s("chevron-left",n,r,c,i,l);case t.NEXT:return s("chevron-right",n,r,c,i,l);case t.REFRESH:return s("sync",n,r,c,i,l);case t.UPDATE:return s("edit",n,r,c,i,l);case t.CLONE:return s("copy",n,r,c,i,l);case t.REMOVE:return s("delete",n,r,c,i,l);case t.INSERT:return a("plus",n,r,c,i,l);case t.CANCEL:return e("ez-button",{title:c(n),label:c(n),size:"small",enabled:l(n),onClick:()=>i(n)});case t.SAVE:return a("save",n,r,c,i,l);case t.GRID_MODE:return s("table",n,r,c,i,l);case t.FORM_MODE:return s("list",n,r,c,i,l);case t.CONFIG_GRID:return s("settings-inverted",n,r,c,i,l);case t.MORE_OPTIONS:return o&&o.length>0?e("ez-actions-button",{title:c(n),size:"small",class:r,enabled:l(n),onEzAction:e=>i(e.detail.value),actions:o}):void 0;case t.DIVIDER:return e("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium"})}};function s(t,n,r,s,a,c){return e("ez-button",{key:t,title:s(n),mode:"icon",size:"small",class:r,iconName:t,enabled:c(n),onClick:()=>a(n)})}function a(t,n,r,s,a,c){return e("ez-button",{key:t,title:s(n),label:s(n),size:"small",class:r,enabled:c(n),onClick:()=>a(n)},e("ez-icon",{class:"ez-padding-right--small",slot:"leftIcon",iconName:t}))}export{n as A,t as T,r as b}