@sankhyalabs/sankhyablocks 1.3.31-beta.5 → 1.3.31-beta.7

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 (59) hide show
  1. package/dist/cjs/{index-ebe8245e.js → index-532bcc28.js} +0 -34
  2. package/dist/cjs/loader.cjs.js +2 -2
  3. package/dist/cjs/sankhyablocks.cjs.js +2 -2
  4. package/dist/cjs/snk-application.cjs.entry.js +114 -14
  5. package/dist/cjs/snk-data-unit.cjs.entry.js +70 -36
  6. package/dist/cjs/snk-form.cjs.entry.js +1 -1
  7. package/dist/cjs/snk-grid.cjs.entry.js +2 -2
  8. package/dist/cjs/snk-pesquisa.cjs.entry.js +6 -3
  9. package/dist/cjs/snk-taskbar.cjs.entry.js +15 -34
  10. package/dist/cjs/{taskbar-elements-589a3744.js → taskbar-elements-9d47b416.js} +4 -2
  11. package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
  12. package/dist/collection/components/snk-application/snk-application.js +122 -40
  13. package/dist/collection/components/snk-data-unit/snk-data-unit.js +103 -64
  14. package/dist/collection/components/snk-form/snk-form.js +5 -5
  15. package/dist/collection/components/snk-grid/snk-grid.js +3 -3
  16. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +49 -10
  17. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +5 -1
  18. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +3 -1
  19. package/dist/collection/components/snk-taskbar/snk-taskbar.js +17 -33
  20. package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +16 -0
  21. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +2 -0
  22. package/dist/components/snk-application2.js +114 -14
  23. package/dist/components/snk-data-unit.js +69 -35
  24. package/dist/components/snk-pesquisa2.js +5 -2
  25. package/dist/components/snk-taskbar2.js +14 -32
  26. package/dist/esm/{index-7565ae23.js → index-0b078db7.js} +0 -34
  27. package/dist/esm/loader.js +2 -2
  28. package/dist/esm/sankhyablocks.js +2 -2
  29. package/dist/esm/snk-application.entry.js +114 -14
  30. package/dist/esm/snk-data-unit.entry.js +70 -36
  31. package/dist/esm/snk-form.entry.js +1 -1
  32. package/dist/esm/snk-grid.entry.js +2 -2
  33. package/dist/esm/snk-pesquisa.entry.js +6 -3
  34. package/dist/esm/snk-taskbar.entry.js +13 -32
  35. package/dist/esm/{taskbar-elements-b6822601.js → taskbar-elements-3ba30bf4.js} +4 -2
  36. package/dist/esm/teste-pesquisa.entry.js +1 -1
  37. package/dist/sankhyablocks/p-1c19b89c.entry.js +1 -0
  38. package/dist/sankhyablocks/p-21c2457b.entry.js +1 -0
  39. package/dist/sankhyablocks/{p-bb8d8fe7.entry.js → p-560fdf54.entry.js} +1 -1
  40. package/dist/sankhyablocks/p-574764bf.js +1 -0
  41. package/dist/sankhyablocks/p-8f7b9a85.entry.js +1 -0
  42. package/dist/sankhyablocks/{p-e7ade160.entry.js → p-9c225717.entry.js} +1 -1
  43. package/dist/sankhyablocks/p-a45dba1a.js +2 -0
  44. package/dist/sankhyablocks/{p-bb31ea2a.entry.js → p-a8305c35.entry.js} +1 -1
  45. package/dist/sankhyablocks/{p-a4b2fa10.entry.js → p-bc14f01e.entry.js} +3 -3
  46. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  47. package/dist/types/components/snk-application/snk-application.d.ts +89 -12
  48. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -1
  49. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +20 -3
  50. package/dist/types/components.d.ts +216 -2
  51. package/dist/types/lib/http/data-fetcher/fetchers/dataunit-fetcher.d.ts +2 -0
  52. package/package.json +1 -1
  53. package/dist/collection/components/snk-taskbar/component/snk-popup-button.js +0 -7
  54. package/dist/sankhyablocks/p-306224bf.entry.js +0 -1
  55. package/dist/sankhyablocks/p-4ee1e12b.js +0 -1
  56. package/dist/sankhyablocks/p-6d82d7fd.entry.js +0 -1
  57. package/dist/sankhyablocks/p-88278b85.entry.js +0 -1
  58. package/dist/sankhyablocks/p-90b832f7.js +0 -2
  59. package/dist/types/components/snk-taskbar/component/snk-popup-button.d.ts +0 -12
@@ -6688,6 +6688,7 @@ class WaitingRequest {
6688
6688
  class DataUnitFetcher {
6689
6689
  constructor() {
6690
6690
  this.templateByQuery = new Map();
6691
+ this._loadDataTimeout = {};
6691
6692
  this.buldTemplates();
6692
6693
  }
6693
6694
  buldTemplates() {
@@ -6785,6 +6786,21 @@ class DataUnitFetcher {
6785
6786
  });
6786
6787
  }
6787
6788
  loadData(dataUnit, request) {
6789
+ const duName = dataUnit.name;
6790
+ if (this._loadDataTimeout[duName]) {
6791
+ clearTimeout(this._loadDataTimeout[duName]);
6792
+ delete this._loadDataTimeout[duName];
6793
+ }
6794
+ return new Promise((resolve, reject) => {
6795
+ this._loadDataTimeout[duName] = setTimeout(() => {
6796
+ delete this._loadDataTimeout[duName];
6797
+ this.doLoadData(dataUnit, request)
6798
+ .then(result => resolve(result))
6799
+ .catch(reason => reject(reason));
6800
+ }, 200);
6801
+ });
6802
+ }
6803
+ doLoadData(dataUnit, request) {
6788
6804
  return new Promise((resolve, reject) => {
6789
6805
  var _a;
6790
6806
  const { sort, filters, limit, offset, quickFilter } = request;
@@ -7106,6 +7122,8 @@ class PesquisaFetcher {
7106
7122
  }`);
7107
7123
  }
7108
7124
  loadSearchOptions(entityName, argument, criteria, options) {
7125
+ const cleanText = (argument === null || argument === void 0 ? void 0 : argument.trim()) || undefined;
7126
+ argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
7109
7127
  return new Promise((resolve, reject) => {
7110
7128
  DataFetcher.get()
7111
7129
  .callGraphQL({
@@ -7296,6 +7314,9 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
7296
7314
  }
7297
7315
  });
7298
7316
  }
7317
+ /**
7318
+ * Caso o usuário logado seja o SUP.
7319
+ */
7299
7320
  async isUserSup() {
7300
7321
  return new Promise((resolve, reject) => {
7301
7322
  this.auth.then((authorization) => {
@@ -7305,6 +7326,9 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
7305
7326
  });
7306
7327
  });
7307
7328
  }
7329
+ /**
7330
+ * Se o usuário logado tem permissão pra determinada ação.
7331
+ */
7308
7332
  async hasAccess(access) {
7309
7333
  return new Promise((resolve, reject) => {
7310
7334
  this.auth.then((authorization) => {
@@ -7314,6 +7338,9 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
7314
7338
  });
7315
7339
  });
7316
7340
  }
7341
+ /**
7342
+ * Retorna todos os acessos do usuário logado.
7343
+ */
7317
7344
  async getAllAccess() {
7318
7345
  return new Promise((resolve, reject) => {
7319
7346
  this.auth.then((authorization) => {
@@ -7328,34 +7355,54 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
7328
7355
  });
7329
7356
  });
7330
7357
  }
7331
- async getAuthList(_auth) {
7332
- return await (new MGEAuthorization()).parseFromJSON(_auth);
7333
- }
7358
+ /**
7359
+ * Retorna o valor de um parâmetro do tipo string.
7360
+ */
7334
7361
  async getStringParam(name) {
7335
7362
  return this.parameters.asString(name, this.resourceID);
7336
7363
  }
7364
+ /**
7365
+ * Retorna o valor de um parâmetro do tipo Inteiro.
7366
+ */
7337
7367
  async getIntParam(name) {
7338
7368
  return this.parameters.asInteger(name, this.resourceID);
7339
7369
  }
7370
+ /**
7371
+ * Retorna o valor de um parâmetro do tipo Decimal.
7372
+ */
7340
7373
  async getFloatParam(name) {
7341
7374
  return this.parameters.asFloat(name, this.resourceID);
7342
7375
  }
7376
+ /**
7377
+ * Retorna o valor de um parâmetro do tipo booleano.
7378
+ */
7343
7379
  async getBooleanParam(name) {
7344
7380
  return this.parameters.asBoolean(name, this.resourceID);
7345
7381
  }
7382
+ /**
7383
+ * Retorna o valor de um parâmetro do tipo data.
7384
+ */
7346
7385
  async getDateParam(name) {
7347
7386
  return this.parameters.asDate(name, this.resourceID);
7348
7387
  }
7388
+ /**
7389
+ * Mostra o conteúdo passado em um Popup
7390
+ */
7349
7391
  async showPopUp(content) {
7392
+ this.clearPopUpContent();
7350
7393
  this._popUp.appendChild(content);
7351
- this._popUp["opened"] = true;
7394
+ this._popUp.opened = true;
7352
7395
  }
7396
+ /**
7397
+ * Fecha o popup, liberando o conteúdo.
7398
+ */
7353
7399
  async closePopUp() {
7354
- Array.from(this._popUp.children).forEach(c => {
7355
- this._popUp.removeChild(c);
7356
- });
7357
- this._popUp["opened"] = false;
7400
+ this.clearPopUpContent();
7401
+ this._popUp.opened = false;
7358
7402
  }
7403
+ /**
7404
+ * Verifica se a licença do cliente tem determinado opcional (produto)
7405
+ */
7359
7406
  async temOpcional(opcional) {
7360
7407
  const opts = opcional.split(",");
7361
7408
  return new Promise((resolve, reject) => {
@@ -7379,6 +7426,10 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
7379
7426
  });
7380
7427
  });
7381
7428
  }
7429
+ /**
7430
+ * Retorna a configuração de um recurso por service broker
7431
+ * Veja também o método "loadConfig"
7432
+ */
7382
7433
  async getConfig(key) {
7383
7434
  let payload = {
7384
7435
  "serviceName": "SystemUtilsSP.getConf",
@@ -7396,6 +7447,9 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
7396
7447
  .catch(error => reject(error));
7397
7448
  });
7398
7449
  }
7450
+ /**
7451
+ * Salva a configuração de determinado recurso.
7452
+ */
7399
7453
  async saveConfig(key, data) {
7400
7454
  let payload = {
7401
7455
  "serviceName": "SystemUtilsSP.saveConf",
@@ -7414,19 +7468,31 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
7414
7468
  .catch(error => reject(error));
7415
7469
  });
7416
7470
  }
7471
+ /**
7472
+ * Acessa informações de contexto "empurrados" na abertura da tela
7473
+ */
7417
7474
  async getAttributeFromHTMLWrapper(attribName) {
7418
7475
  return Promise.resolve(window[attribName]);
7419
7476
  }
7477
+ /**
7478
+ * Abre determinada tela, repassando pkObject
7479
+ */
7420
7480
  async openApp(resourceId, pkObject) {
7421
7481
  Workspace.openAppActivity(resourceId, pkObject);
7422
7482
  }
7483
+ /**
7484
+ * Cria o DataUnit a partir do nome da entidade.
7485
+ */
7423
7486
  async createDataunit(entityName) {
7424
7487
  return new Promise(resolve => {
7425
7488
  const dataUnit = this.dataUnitFetcher.getDataUnit(entityName, this.resourceID);
7426
7489
  dataUnit.loadMetadata().then(() => resolve(dataUnit));
7427
7490
  });
7428
7491
  }
7429
- async getOrCreateDataUnit(entityName, dataUnitName) {
7492
+ /**
7493
+ * Cria e armazena o DataUnit em um cache
7494
+ */
7495
+ async getDataUnit(entityName, dataUnitName) {
7430
7496
  return new Promise((resolve, reject) => {
7431
7497
  const dataUnit = this._duCache.get(dataUnitName);
7432
7498
  if (dataUnit) {
@@ -7442,30 +7508,57 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
7442
7508
  }
7443
7509
  });
7444
7510
  }
7511
+ /**
7512
+ * Retorna o resourceID da tela em questão.
7513
+ */
7445
7514
  async getResourceID() {
7446
7515
  return Promise.resolve(this.resourceID);
7447
7516
  }
7517
+ /**
7518
+ * Mostra o diálogo de alerta de acordo com os parâmetros passados.
7519
+ */
7448
7520
  async alert(title, message, icon, options) {
7449
7521
  return ApplicationUtils.alert(title, message, icon, options);
7450
7522
  }
7523
+ /**
7524
+ * Mostra o diálogo de erro de acordo com os parâmetros passados.
7525
+ */
7451
7526
  async error(title, message, icon, options) {
7452
7527
  return ApplicationUtils.error(title, message, icon, options);
7453
7528
  }
7529
+ /**
7530
+ * Exibe um diálogo de confirmação
7531
+ */
7454
7532
  async confirm(title, message, icon, critical, options) {
7455
7533
  return ApplicationUtils.confirm(title, message, icon, critical, options);
7456
7534
  }
7535
+ /**
7536
+ * Mostra uma informação efêmera (de segundo plano).
7537
+ */
7457
7538
  async info(message, options) {
7458
7539
  return ApplicationUtils.info(message, options);
7459
7540
  }
7541
+ /**
7542
+ * Busca a configuração de formulário.
7543
+ */
7460
7544
  async loadFormConfig(name) {
7461
7545
  return this.formConfigFetcher.loadFormConfig(name, this.resourceID);
7462
7546
  }
7547
+ /**
7548
+ * Busca a configuração de grade.
7549
+ */
7463
7550
  async loadGridConfig(name) {
7464
7551
  return this.gridConfigFetcher.getConfig(name, this.resourceID);
7465
7552
  }
7553
+ /**
7554
+ * Salva a configuração de grade.
7555
+ */
7466
7556
  async saveGridConfig(config) {
7467
7557
  return this.gridConfigFetcher.saveConfig(config, this.resourceID);
7468
7558
  }
7559
+ async getAuthList(_auth) {
7560
+ return await (new MGEAuthorization()).parseFromJSON(_auth);
7561
+ }
7469
7562
  get urlParams() {
7470
7563
  if (!this._urlParams) {
7471
7564
  this._urlParams = UrlUtils.getQueryParams(location.search);
@@ -7543,7 +7636,7 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
7543
7636
  pesquisaContent.searchLoader = (text) => this.pesquisaFetcher.loadAdvancedSearch(ENTITYNAME, text, criteria, searchOptions);
7544
7637
  pesquisaContent.selectItem = (option) => {
7545
7638
  accept(option);
7546
- this.cleanPopUpTitle();
7639
+ this.clearPopUpTitle();
7547
7640
  this.closePopUp();
7548
7641
  };
7549
7642
  this.setPopUpTitle(DESCRIPTIONENTITY);
@@ -7560,11 +7653,18 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
7560
7653
  accept(window['isDebugMode']);
7561
7654
  });
7562
7655
  }
7563
- cleanPopUpTitle() {
7564
- this._popUp['ezTitle'] = "";
7656
+ clearPopUpContent() {
7657
+ if (this._popUp) {
7658
+ Array.from(this._popUp.children).forEach(c => {
7659
+ this._popUp.removeChild(c);
7660
+ });
7661
+ }
7662
+ }
7663
+ clearPopUpTitle() {
7664
+ this._popUp.ezTitle = "";
7565
7665
  }
7566
7666
  setPopUpTitle(title) {
7567
- this._popUp['ezTitle'] = title;
7667
+ this._popUp.ezTitle = title;
7568
7668
  }
7569
7669
  componentWillLoad() {
7570
7670
  this._errorHandler = new SnkErrorHandler(this);
@@ -7609,7 +7709,7 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
7609
7709
  "getAttributeFromHTMLWrapper": [64],
7610
7710
  "openApp": [64],
7611
7711
  "createDataunit": [64],
7612
- "getOrCreateDataUnit": [64],
7712
+ "getDataUnit": [64],
7613
7713
  "getResourceID": [64],
7614
7714
  "alert": [64],
7615
7715
  "error": [64],
@@ -8,12 +8,23 @@ const SnkDataUnit$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
8
8
  constructor() {
9
9
  super();
10
10
  this.__registerHost();
11
- this.insertionMode = createEvent(this, "insertionMode", 7);
12
11
  this.dataStateChange = createEvent(this, "dataStateChange", 7);
13
12
  this.dataUnitReady = createEvent(this, "dataUnitReady", 7);
13
+ this.insertionMode = createEvent(this, "insertionMode", 7);
14
14
  this._onDataUnitResolve = [];
15
+ /**
16
+ * Determina quantas linhas são retornadas por página
17
+ */
18
+ this.pageSize = 150;
19
+ /**
20
+ * Quando ativada essa propriedade faz com que haja uma carga imediata no DataUnit
21
+ */
22
+ this.autoLoad = true;
15
23
  this._dataUnitObserver = (action) => {
16
- let msg = this.getActionInfo(action.type);
24
+ let msg;
25
+ if (!this.isTransitionAction(action.type)) {
26
+ msg = this.getActionInfo(action.type);
27
+ }
17
28
  if (msg) {
18
29
  ApplicationUtils.info(msg);
19
30
  }
@@ -37,6 +48,38 @@ const SnkDataUnit$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
37
48
  this.dataState = duState;
38
49
  };
39
50
  }
51
+ observePageSize() {
52
+ if (this.dataUnit) {
53
+ this.dataUnit.pageSize = this.pageSize;
54
+ }
55
+ }
56
+ observeDataUnitName(newValue, oldValue) {
57
+ if (oldValue != newValue) {
58
+ this.dataUnit = undefined;
59
+ this.dataUnitName = newValue;
60
+ this.loadDataUnit();
61
+ }
62
+ }
63
+ observeEntityName(newValue, oldValue) {
64
+ if (oldValue != newValue) {
65
+ this.dataUnit = undefined;
66
+ this.entityName = newValue;
67
+ this.loadDataUnit();
68
+ }
69
+ }
70
+ observeDataState(newValue, oldValue) {
71
+ if (oldValue != newValue) {
72
+ this.dataStateChange.emit(newValue);
73
+ }
74
+ }
75
+ observeDataUnit() {
76
+ this.dataUnitReady.emit(this.dataUnit);
77
+ }
78
+ /**
79
+ * Pode-se obter o dataUnit através desse método. Outra forma, é ouvir o evento de
80
+ *
81
+ * @returns dataUnit
82
+ */
40
83
  async getDataUnit() {
41
84
  return new Promise((resolve) => {
42
85
  if (this.dataUnit) {
@@ -77,7 +120,11 @@ const SnkDataUnit$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
77
120
  .then((result) => resolve(result ? action : undefined));
78
121
  break;
79
122
  case Action.REMOVING_RECORDS:
80
- ApplicationUtils.confirm(this.i18n("components.delete"), this.i18n("components.confirmRemoveRecord"), "delete", true, { btnConfirmDanger: true })
123
+ let msg = undefined;
124
+ if (this.messageBuilder) {
125
+ msg = this.messageBuilder(action.type, this.dataState, this.dataUnit);
126
+ }
127
+ ApplicationUtils.confirm(this.i18n("components.delete"), msg || this.i18n("components.confirmRemoveRecord"), "delete", true, { btnConfirmDanger: true })
81
128
  .then((result) => resolve(result ? action : undefined));
82
129
  break;
83
130
  default:
@@ -85,48 +132,32 @@ const SnkDataUnit$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
85
132
  }
86
133
  });
87
134
  }
135
+ isTransitionAction(action) {
136
+ switch (action) {
137
+ case Action.LOADING_METADATA:
138
+ case Action.LOADING_DATA:
139
+ case Action.SAVING_DATA:
140
+ case Action.REMOVING_RECORDS:
141
+ case Action.CHANGING_DATA:
142
+ return true;
143
+ default:
144
+ return false;
145
+ }
146
+ }
88
147
  getActionInfo(action) {
89
148
  if (this.messageBuilder) {
90
149
  return this.messageBuilder(action, this.dataState, this.dataUnit);
91
150
  }
92
- else {
93
- if (action === Action.EDITION_CANCELED) {
94
- return this.i18n("components.editionCanceled");
95
- }
96
- }
97
- }
98
- observePageSize() {
99
- if (this.dataUnit) {
100
- this.dataUnit.pageSize = this.pageSize;
101
- }
102
- }
103
- observeDataUnitName(newValue, oldValue) {
104
- if (oldValue != newValue) {
105
- this.dataUnit = undefined;
106
- this.dataUnitName = newValue;
107
- this.loadDataUnit();
108
- }
109
- }
110
- observeEntityName(newValue, oldValue) {
111
- if (oldValue != newValue) {
112
- this.dataUnit = undefined;
113
- this.entityName = newValue;
114
- this.loadDataUnit();
151
+ if (action === Action.EDITION_CANCELED) {
152
+ return this.i18n("components.editionCanceled");
115
153
  }
116
154
  }
117
- observeDataState(newValue, oldValue) {
118
- if (oldValue != newValue) {
119
- this.dataStateChange.emit(newValue);
120
- }
121
- }
122
- observeDataUnit() {
123
- this.dataUnitReady.emit(this.dataUnit);
124
- }
125
155
  async loadDataUnit() {
126
156
  if (!this.dataUnit) {
127
157
  const app = ApplicationContext.getContextValue("__SNK__APPLICATION__");
128
158
  if (app && this.entityName) {
129
- this.dataUnit = await app.getOrCreateDataUnit(this.entityName, this.dataUnitName);
159
+ const cacheName = this.dataUnitName ? this.dataUnitName : this.entityName;
160
+ this.dataUnit = await app.getDataUnit(this.entityName, cacheName);
130
161
  this.dataUnit.pageSize = this.pageSize;
131
162
  this.dataUnit.unsubscribe(this._dataUnitObserver);
132
163
  this.dataUnit.addInterceptor(this);
@@ -151,6 +182,9 @@ const SnkDataUnit$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
151
182
  };
152
183
  return pt_br[key];
153
184
  }
185
+ //---------------------------------------------
186
+ // Lifecycle web component
187
+ //---------------------------------------------
154
188
  componentDidRender() {
155
189
  this.loadDataUnit();
156
190
  }
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { ObjectUtils, StringUtils } from '@sankhyalabs/core';
3
3
 
4
- const snkPesquisaCss = ".sc-snk-pesquisa-h{--snk-pesquisa--font-size:var(--text--medium, 14px);--snk-pesquisa--font-family:var(--font-pattern, Arial);--snk-pesquisa--font-weight:var(--text-weight--medium, 400);--snk-pesquisa__records--color:var(--text--primary, #626e82);--snk-pesquisa__records--padding-vertical:var(--space--medium, 12px);--snk-pesquisa__content--padding-right:var(--space--small, 6px);--snk-pesquisa__content-scrollbar--background-color:var(--text--primary, #626e82);--snk-pesquisa__content-scrollbar--border-radius:var(--border--radius-medium, 12px);--snk-pesquisa__content-scrollbar--width:var(--space--medium, 12px) display: block;max-height:100%;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-close.sc-snk-pesquisa{cursor:pointer}.snk-pesquisa__content.sc-snk-pesquisa{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding-right:var(--snk-pesquisa__content--padding-right)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-track{background-color:#f0f2f5;border-radius:var(--snk-pesquisa__content-scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb{background-color:var(--snk-pesquisa__content-scrollbar--background-color);border-radius:var(--snk-pesquisa__content-scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar{background-color:#f0f2f5;width:var(--snk-pesquisa__content-scrollbar--width);max-width:var(--snk-pesquisa__content-scrollbar--width);min-width:var(--snk-pesquisa__content-scrollbar--width)}.snk-pesquisa__records.sc-snk-pesquisa{font-family:var(--snk-pesquisa--font-family);font-weight:var(--snk-pesquisa--font-weight);font-size:var(--snk-pesquisa--font-size);color:var(--snk-pesquisa__records--color);padding-bottom:var(--snk-pesquisa__records--padding-vertical);padding-top:var(--snk-pesquisa__records--padding-vertical)}";
4
+ const snkPesquisaCss = ".sc-snk-pesquisa-h{--snk-pesquisa--font-size:var(--text--medium, 14px);--snk-pesquisa--font-family:var(--font-pattern, Arial);--snk-pesquisa--font-weight:var(--text-weight--medium, 400);--snk-pesquisa__records--color:var(--text--primary, #626e82);--snk-pesquisa__records--padding-vertical:var(--space--medium, 12px);--snk-pesquisa__content--padding-right:var(--space--small, 6px);--snk-pesquisa__content-scrollbar--background-color:var(--title--primary, #2B3A54);--snk-pesquisa__content-scrollbar--border-radius:var(--border--radius-small, 6px);--snk-pesquisa__content-scrollbar--width:var(--space--medium, 12px);--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);max-height:100%;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;height:100%;overflow-y:auto;padding-right:var(--snk-pesquisa__content--padding-right)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-track{background-color:#f0f2f5;border-radius:var(--snk-pesquisa__content-scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb{background-color:var(--snk-pesquisa__content-scrollbar--background-color);border-radius:var(--snk-pesquisa__content-scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar{background-color:#f0f2f5;width:var(--snk-pesquisa__content-scrollbar--width);max-width:var(--snk-pesquisa__content-scrollbar--width);min-width:var(--snk-pesquisa__content-scrollbar--width)}.snk-pesquisa__records.sc-snk-pesquisa{font-family:var(--snk-pesquisa--font-family);font-weight:var(--snk-pesquisa--font-weight);font-size:var(--snk-pesquisa--font-size);color:var(--snk-pesquisa__records--color);padding-bottom:var(--snk-pesquisa__records--padding-vertical);padding-top:var(--snk-pesquisa__records--padding-vertical)}.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)}";
5
5
 
6
6
  const SnkPesquisa = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
7
  constructor() {
@@ -296,7 +296,10 @@ const SnkPesquisa = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
296
296
  : 'Os resultados de sua pesquisa aparecerão aqui...';
297
297
  }
298
298
  render() {
299
- return (h(Host, null, h("div", { class: "snk-pesquisa" }, h("div", { class: "snk-pesquisa__input" }, h("ez-text-input", { label: "Buscar", class: "ez-margin-right--medium", canShowError: false, ref: (ref) => this._textInput = ref, onEzChange: (event) => this.onChangeValue(event), value: this.argument }, h("ez-icon", { slot: "leftIcon", iconName: "search" }), h("ez-icon", { class: "snk-pesquisa__input-close", slot: "rightIcon", iconName: "close", onClick: () => { this.clearSearch(); } })), h("ez-button", { class: "ez-button--primary", label: "Pesquisar", onClick: () => this.onClickSearch() })), h("label", { class: "snk-pesquisa__records" }, this.getMessageView()), h("div", { class: "snk-pesquisa__content" }, this._itemList && this._itemList.map((item) => {
299
+ var _a;
300
+ return (h(Host, null, h("div", { class: "snk-pesquisa" }, h("div", { class: "snk-pesquisa__input" }, h("ez-text-input", { label: "Buscar", class: "ez-margin-right--medium", canShowError: false, ref: (ref) => this._textInput = ref, onEzChange: (event) => this.onChangeValue(event), value: this.argument }, h("ez-icon", { slot: "leftIcon", iconName: "search" }), this.argument && ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value)
301
+ ? h("button", { slot: "rightIcon", class: "snk-pesquisa__btn", onClick: () => this.clearSearch() }, h("ez-icon", { iconName: "close" }))
302
+ : undefined), h("ez-button", { class: "ez-button--primary", label: "Pesquisar", onClick: () => this.onClickSearch() })), h("label", { class: "snk-pesquisa__records" }, this.getMessageView()), h("div", { class: "snk-pesquisa__content" }, this._itemList && this._itemList.map((item) => {
300
303
  return (h("ez-card-item", { onEzClick: (event) => this.createOption(event.detail), item: item }));
301
304
  })))));
302
305
  }
@@ -1,13 +1,6 @@
1
1
  import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
2
2
  import { ApplicationContext } from '@sankhyalabs/core';
3
3
 
4
- const SnkPopupButton = ({ className, title, source, opened, setOpened, actionClick }) => {
5
- return (h("div", { class: "ez-flex " + className },
6
- h("ez-button", { id: "moreOptionsButton", title: title, mode: "icon", iconName: "dots-vertical", size: "small", onClick: () => setOpened(true) }),
7
- h("ez-popover", { opened: opened, autoClose: true, innerElement: ["moreOptionsButton", "moreOptionsDiv"], onEzVisibilityChange: (event) => setOpened(event.detail) },
8
- h("div", { id: "moreOptionsDiv", class: "ez-padding--small" }, source.map((option, index) => h("ez-button", { className: "btn-options", size: "small", label: option.label, key: index, onClick: () => actionClick(option) }))))));
9
- };
10
-
11
4
  var TaskbarElement;
12
5
  (function (TaskbarElement) {
13
6
  TaskbarElement["PREVIOUS"] = "PREVIOUS";
@@ -33,7 +26,7 @@ var AuthorizationElements;
33
26
  AuthorizationElements["INSERT"] = "INSERT";
34
27
  AuthorizationElements["CONFIG_GRID"] = "CONFIG_GRID";
35
28
  })(AuthorizationElements || (AuthorizationElements = {}));
36
- const buildElem = (element, className, getTitle, action, isEnabled) => {
29
+ const buildElem = (element, className, getTitle, action, isEnabled, actions) => {
37
30
  switch (element) {
38
31
  case TaskbarElement.PREVIOUS:
39
32
  return iconButton("chevron-left", element, className, getTitle, action, isEnabled);
@@ -59,6 +52,8 @@ const buildElem = (element, className, getTitle, action, isEnabled) => {
59
52
  return iconButton("list", element, className, getTitle, action, isEnabled);
60
53
  case TaskbarElement.CONFIG_GRID:
61
54
  return iconButton("settings-inverted", element, className, getTitle, action, isEnabled);
55
+ case TaskbarElement.MORE_OPTIONS:
56
+ return h("ez-actions-button", { size: "small", class: className, enabled: isEnabled(element), onEzAction: (evt) => action(evt.detail.value), actions: actions });
62
57
  case TaskbarElement.DIVIDER:
63
58
  return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium" });
64
59
  }
@@ -78,7 +73,6 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
78
73
  super();
79
74
  this.__registerHost();
80
75
  this.actionClick = createEvent(this, "actionClick", 7);
81
- this._moreOptionsOpened = false;
82
76
  }
83
77
  observeButtons() {
84
78
  this._definitions = undefined;
@@ -151,10 +145,6 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
151
145
  }
152
146
  this.actionClick.emit(elem);
153
147
  }
154
- actionClickHandler(act) {
155
- this._moreOptionsOpened = false;
156
- this.actionClick.emit(act.key);
157
- }
158
148
  isEnabled(elem) {
159
149
  return !(this.disabledButtons && this.disabledButtons.includes(elem));
160
150
  }
@@ -164,29 +154,22 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
164
154
  if (index > 1) {
165
155
  className += "ez-padding-left--medium";
166
156
  }
167
- if (def === TaskbarElement.MORE_OPTIONS) {
168
- element = this.actionsList ? h(SnkPopupButton, { className: className, title: this.getTitle(def), source: this.actionsList, opened: this._moreOptionsOpened, setOpened: opened => this._moreOptionsOpened = opened, actionClick: act => this.actionClickHandler(act) }) : undefined;
169
- }
170
- else {
171
- element = buildElem(def, className, elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem));
172
- }
157
+ element = buildElem(def, className, elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.actionsList);
173
158
  return element;
174
159
  }
175
160
  // Lifecycle
176
- componentWillRender() {
177
- if (this._permissions === undefined) {
178
- const snkApplication = ApplicationContext.getContextValue("__SNK__APPLICATION__");
179
- if (snkApplication) {
180
- snkApplication.getAllAccess().then(access => this._permissions = access);
181
- }
182
- else {
183
- this._permissions = {};
184
- }
161
+ componentWillLoad() {
162
+ const snkApplication = ApplicationContext.getContextValue("__SNK__APPLICATION__");
163
+ if (snkApplication) {
164
+ snkApplication.getAllAccess().then(access => this._permissions = access);
185
165
  }
186
166
  else {
187
- if (this._definitions == undefined) {
188
- this._definitions = this.elementsFromString(this.buttons);
189
- }
167
+ this._permissions = {};
168
+ }
169
+ }
170
+ componentWillRender() {
171
+ if (this._definitions == undefined && this._permissions) {
172
+ this._definitions = this.elementsFromString(this.buttons);
190
173
  }
191
174
  }
192
175
  render() {
@@ -219,7 +202,6 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
219
202
  "primaryButton": [1, "primary-button"],
220
203
  "disabledButtons": [16],
221
204
  "dataUnit": [16],
222
- "_moreOptionsOpened": [32],
223
205
  "_permissions": [32]
224
206
  }]);
225
207
  function defineCustomElement() {
@@ -187,10 +187,6 @@ const h = (nodeName, vnodeData, ...children) => {
187
187
  }
188
188
  }
189
189
  }
190
- if (typeof nodeName === 'function') {
191
- // nodeName is a functional component
192
- return nodeName(vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils);
193
- }
194
190
  const vnode = newVNode(nodeName, null);
195
191
  vnode.$attrs$ = vnodeData;
196
192
  if (vNodeChildren.length > 0) {
@@ -225,36 +221,6 @@ const newVNode = (tag, text) => {
225
221
  };
226
222
  const Host = {};
227
223
  const isHost = (node) => node && node.$tag$ === Host;
228
- const vdomFnUtils = {
229
- forEach: (children, cb) => children.map(convertToPublic).forEach(cb),
230
- map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate),
231
- };
232
- const convertToPublic = (node) => ({
233
- vattrs: node.$attrs$,
234
- vchildren: node.$children$,
235
- vkey: node.$key$,
236
- vname: node.$name$,
237
- vtag: node.$tag$,
238
- vtext: node.$text$,
239
- });
240
- const convertToPrivate = (node) => {
241
- if (typeof node.vtag === 'function') {
242
- const vnodeData = Object.assign({}, node.vattrs);
243
- if (node.vkey) {
244
- vnodeData.key = node.vkey;
245
- }
246
- if (node.vname) {
247
- vnodeData.name = node.vname;
248
- }
249
- return h(node.vtag, vnodeData, ...(node.vchildren || []));
250
- }
251
- const vnode = newVNode(node.vtag, node.vtext);
252
- vnode.$attrs$ = node.vattrs;
253
- vnode.$children$ = node.vchildren;
254
- vnode.$key$ = node.vkey;
255
- vnode.$name$ = node.vname;
256
- return vnode;
257
- };
258
224
  /**
259
225
  * Production setAccessor() function based on Preact by
260
226
  * Jason Miller (@developit)
@@ -1,4 +1,4 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-7565ae23.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-0b078db7.js';
2
2
 
3
3
  /*
4
4
  Stencil Client Patch Esm v2.16.1 | MIT Licensed | https://stenciljs.com
@@ -10,7 +10,7 @@ const patchEsm = () => {
10
10
  const defineCustomElements = (win, options) => {
11
11
  if (typeof window === 'undefined') return Promise.resolve();
12
12
  return patchEsm().then(() => {
13
- return bootstrapLazy([["teste-pesquisa",[[1,"teste-pesquisa"]]],["snk-form",[[2,"snk-form",{"formTitle":[1,"form-title"],"configName":[1,"config-name"],"actionsList":[16],"_dataUnit":[32],"_configLoaded":[32],"_dataState":[32]}]]],["snk-grid",[[6,"snk-grid",{"configName":[1,"config-name"],"actionsList":[16],"_dataUnit":[32],"_configLoaded":[32],"_dataState":[32]}]]],["snk-data-unit",[[2,"snk-data-unit",{"dataState":[1040],"dataUnitName":[1,"data-unit-name"],"entityName":[1,"entity-name"],"pageSize":[2,"page-size"],"dataUnit":[1040],"messageBuilder":[16],"beforeSave":[16],"afterSave":[16],"autoLoad":[4,"auto-load"],"getDataUnit":[64]}]]],["snk-pesquisa",[[2,"snk-pesquisa",{"searchLoader":[16],"selectItem":[16],"argument":[1025],"_itemList":[32],"_startLoading":[32]}]]],["snk-application",[[2,"snk-application",{"isUserSup":[64],"hasAccess":[64],"getAllAccess":[64],"getStringParam":[64],"getIntParam":[64],"getFloatParam":[64],"getBooleanParam":[64],"getDateParam":[64],"showPopUp":[64],"closePopUp":[64],"temOpcional":[64],"getConfig":[64],"saveConfig":[64],"getAttributeFromHTMLWrapper":[64],"openApp":[64],"createDataunit":[64],"getOrCreateDataUnit":[64],"getResourceID":[64],"alert":[64],"error":[64],"confirm":[64],"info":[64],"loadFormConfig":[64],"loadGridConfig":[64],"saveGridConfig":[64],"executeSearch":[64],"isDebugMode":[64]}]]],["snk-taskbar",[[6,"snk-taskbar",{"buttons":[1],"actionsList":[16],"primaryButton":[1,"primary-button"],"disabledButtons":[16],"dataUnit":[16],"_moreOptionsOpened":[32],"_permissions":[32]}]]]], options);
13
+ return bootstrapLazy([["teste-pesquisa",[[1,"teste-pesquisa"]]],["snk-form",[[2,"snk-form",{"formTitle":[1,"form-title"],"configName":[1,"config-name"],"actionsList":[16],"_dataUnit":[32],"_configLoaded":[32],"_dataState":[32]}]]],["snk-grid",[[6,"snk-grid",{"configName":[1,"config-name"],"actionsList":[16],"_dataUnit":[32],"_configLoaded":[32],"_dataState":[32]}]]],["snk-data-unit",[[2,"snk-data-unit",{"dataState":[1040],"dataUnitName":[1,"data-unit-name"],"entityName":[1,"entity-name"],"pageSize":[2,"page-size"],"dataUnit":[1040],"messageBuilder":[16],"beforeSave":[16],"afterSave":[16],"autoLoad":[4,"auto-load"],"getDataUnit":[64]}]]],["snk-pesquisa",[[2,"snk-pesquisa",{"searchLoader":[16],"selectItem":[16],"argument":[1025],"_itemList":[32],"_startLoading":[32]}]]],["snk-application",[[2,"snk-application",{"isUserSup":[64],"hasAccess":[64],"getAllAccess":[64],"getStringParam":[64],"getIntParam":[64],"getFloatParam":[64],"getBooleanParam":[64],"getDateParam":[64],"showPopUp":[64],"closePopUp":[64],"temOpcional":[64],"getConfig":[64],"saveConfig":[64],"getAttributeFromHTMLWrapper":[64],"openApp":[64],"createDataunit":[64],"getDataUnit":[64],"getResourceID":[64],"alert":[64],"error":[64],"confirm":[64],"info":[64],"loadFormConfig":[64],"loadGridConfig":[64],"saveGridConfig":[64],"executeSearch":[64],"isDebugMode":[64]}]]],["snk-taskbar",[[6,"snk-taskbar",{"buttons":[1],"actionsList":[16],"primaryButton":[1,"primary-button"],"disabledButtons":[16],"dataUnit":[16],"_permissions":[32]}]]]], options);
14
14
  });
15
15
  };
16
16
 
@@ -1,4 +1,4 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-7565ae23.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-0b078db7.js';
2
2
 
3
3
  /*
4
4
  Stencil Client Patch Browser v2.16.1 | MIT Licensed | https://stenciljs.com
@@ -13,5 +13,5 @@ const patchBrowser = () => {
13
13
  };
14
14
 
15
15
  patchBrowser().then(options => {
16
- return bootstrapLazy([["teste-pesquisa",[[1,"teste-pesquisa"]]],["snk-form",[[2,"snk-form",{"formTitle":[1,"form-title"],"configName":[1,"config-name"],"actionsList":[16],"_dataUnit":[32],"_configLoaded":[32],"_dataState":[32]}]]],["snk-grid",[[6,"snk-grid",{"configName":[1,"config-name"],"actionsList":[16],"_dataUnit":[32],"_configLoaded":[32],"_dataState":[32]}]]],["snk-data-unit",[[2,"snk-data-unit",{"dataState":[1040],"dataUnitName":[1,"data-unit-name"],"entityName":[1,"entity-name"],"pageSize":[2,"page-size"],"dataUnit":[1040],"messageBuilder":[16],"beforeSave":[16],"afterSave":[16],"autoLoad":[4,"auto-load"],"getDataUnit":[64]}]]],["snk-pesquisa",[[2,"snk-pesquisa",{"searchLoader":[16],"selectItem":[16],"argument":[1025],"_itemList":[32],"_startLoading":[32]}]]],["snk-application",[[2,"snk-application",{"isUserSup":[64],"hasAccess":[64],"getAllAccess":[64],"getStringParam":[64],"getIntParam":[64],"getFloatParam":[64],"getBooleanParam":[64],"getDateParam":[64],"showPopUp":[64],"closePopUp":[64],"temOpcional":[64],"getConfig":[64],"saveConfig":[64],"getAttributeFromHTMLWrapper":[64],"openApp":[64],"createDataunit":[64],"getOrCreateDataUnit":[64],"getResourceID":[64],"alert":[64],"error":[64],"confirm":[64],"info":[64],"loadFormConfig":[64],"loadGridConfig":[64],"saveGridConfig":[64],"executeSearch":[64],"isDebugMode":[64]}]]],["snk-taskbar",[[6,"snk-taskbar",{"buttons":[1],"actionsList":[16],"primaryButton":[1,"primary-button"],"disabledButtons":[16],"dataUnit":[16],"_moreOptionsOpened":[32],"_permissions":[32]}]]]], options);
16
+ return bootstrapLazy([["teste-pesquisa",[[1,"teste-pesquisa"]]],["snk-form",[[2,"snk-form",{"formTitle":[1,"form-title"],"configName":[1,"config-name"],"actionsList":[16],"_dataUnit":[32],"_configLoaded":[32],"_dataState":[32]}]]],["snk-grid",[[6,"snk-grid",{"configName":[1,"config-name"],"actionsList":[16],"_dataUnit":[32],"_configLoaded":[32],"_dataState":[32]}]]],["snk-data-unit",[[2,"snk-data-unit",{"dataState":[1040],"dataUnitName":[1,"data-unit-name"],"entityName":[1,"entity-name"],"pageSize":[2,"page-size"],"dataUnit":[1040],"messageBuilder":[16],"beforeSave":[16],"afterSave":[16],"autoLoad":[4,"auto-load"],"getDataUnit":[64]}]]],["snk-pesquisa",[[2,"snk-pesquisa",{"searchLoader":[16],"selectItem":[16],"argument":[1025],"_itemList":[32],"_startLoading":[32]}]]],["snk-application",[[2,"snk-application",{"isUserSup":[64],"hasAccess":[64],"getAllAccess":[64],"getStringParam":[64],"getIntParam":[64],"getFloatParam":[64],"getBooleanParam":[64],"getDateParam":[64],"showPopUp":[64],"closePopUp":[64],"temOpcional":[64],"getConfig":[64],"saveConfig":[64],"getAttributeFromHTMLWrapper":[64],"openApp":[64],"createDataunit":[64],"getDataUnit":[64],"getResourceID":[64],"alert":[64],"error":[64],"confirm":[64],"info":[64],"loadFormConfig":[64],"loadGridConfig":[64],"saveGridConfig":[64],"executeSearch":[64],"isDebugMode":[64]}]]],["snk-taskbar",[[6,"snk-taskbar",{"buttons":[1],"actionsList":[16],"primaryButton":[1,"primary-button"],"disabledButtons":[16],"dataUnit":[16],"_permissions":[32]}]]]], options);
17
17
  });