@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
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-7565ae23.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-0b078db7.js';
2
2
  import { ErrorException, StringUtils, DataUnit, DataType, ChangeOperation, DateUtils, ObjectUtils, WaitingChangeException, WarningException, DependencyType, ApplicationContext, ErrorTracking } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
 
@@ -6687,6 +6687,7 @@ class WaitingRequest {
6687
6687
  class DataUnitFetcher {
6688
6688
  constructor() {
6689
6689
  this.templateByQuery = new Map();
6690
+ this._loadDataTimeout = {};
6690
6691
  this.buldTemplates();
6691
6692
  }
6692
6693
  buldTemplates() {
@@ -6784,6 +6785,21 @@ class DataUnitFetcher {
6784
6785
  });
6785
6786
  }
6786
6787
  loadData(dataUnit, request) {
6788
+ const duName = dataUnit.name;
6789
+ if (this._loadDataTimeout[duName]) {
6790
+ clearTimeout(this._loadDataTimeout[duName]);
6791
+ delete this._loadDataTimeout[duName];
6792
+ }
6793
+ return new Promise((resolve, reject) => {
6794
+ this._loadDataTimeout[duName] = setTimeout(() => {
6795
+ delete this._loadDataTimeout[duName];
6796
+ this.doLoadData(dataUnit, request)
6797
+ .then(result => resolve(result))
6798
+ .catch(reason => reject(reason));
6799
+ }, 200);
6800
+ });
6801
+ }
6802
+ doLoadData(dataUnit, request) {
6787
6803
  return new Promise((resolve, reject) => {
6788
6804
  var _a;
6789
6805
  const { sort, filters, limit, offset, quickFilter } = request;
@@ -7105,6 +7121,8 @@ class PesquisaFetcher {
7105
7121
  }`);
7106
7122
  }
7107
7123
  loadSearchOptions(entityName, argument, criteria, options) {
7124
+ const cleanText = (argument === null || argument === void 0 ? void 0 : argument.trim()) || undefined;
7125
+ argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
7108
7126
  return new Promise((resolve, reject) => {
7109
7127
  DataFetcher.get()
7110
7128
  .callGraphQL({
@@ -7294,6 +7312,9 @@ const SnkApplication = class {
7294
7312
  }
7295
7313
  });
7296
7314
  }
7315
+ /**
7316
+ * Caso o usuário logado seja o SUP.
7317
+ */
7297
7318
  async isUserSup() {
7298
7319
  return new Promise((resolve, reject) => {
7299
7320
  this.auth.then((authorization) => {
@@ -7303,6 +7324,9 @@ const SnkApplication = class {
7303
7324
  });
7304
7325
  });
7305
7326
  }
7327
+ /**
7328
+ * Se o usuário logado tem permissão pra determinada ação.
7329
+ */
7306
7330
  async hasAccess(access) {
7307
7331
  return new Promise((resolve, reject) => {
7308
7332
  this.auth.then((authorization) => {
@@ -7312,6 +7336,9 @@ const SnkApplication = class {
7312
7336
  });
7313
7337
  });
7314
7338
  }
7339
+ /**
7340
+ * Retorna todos os acessos do usuário logado.
7341
+ */
7315
7342
  async getAllAccess() {
7316
7343
  return new Promise((resolve, reject) => {
7317
7344
  this.auth.then((authorization) => {
@@ -7326,34 +7353,54 @@ const SnkApplication = class {
7326
7353
  });
7327
7354
  });
7328
7355
  }
7329
- async getAuthList(_auth) {
7330
- return await (new MGEAuthorization()).parseFromJSON(_auth);
7331
- }
7356
+ /**
7357
+ * Retorna o valor de um parâmetro do tipo string.
7358
+ */
7332
7359
  async getStringParam(name) {
7333
7360
  return this.parameters.asString(name, this.resourceID);
7334
7361
  }
7362
+ /**
7363
+ * Retorna o valor de um parâmetro do tipo Inteiro.
7364
+ */
7335
7365
  async getIntParam(name) {
7336
7366
  return this.parameters.asInteger(name, this.resourceID);
7337
7367
  }
7368
+ /**
7369
+ * Retorna o valor de um parâmetro do tipo Decimal.
7370
+ */
7338
7371
  async getFloatParam(name) {
7339
7372
  return this.parameters.asFloat(name, this.resourceID);
7340
7373
  }
7374
+ /**
7375
+ * Retorna o valor de um parâmetro do tipo booleano.
7376
+ */
7341
7377
  async getBooleanParam(name) {
7342
7378
  return this.parameters.asBoolean(name, this.resourceID);
7343
7379
  }
7380
+ /**
7381
+ * Retorna o valor de um parâmetro do tipo data.
7382
+ */
7344
7383
  async getDateParam(name) {
7345
7384
  return this.parameters.asDate(name, this.resourceID);
7346
7385
  }
7386
+ /**
7387
+ * Mostra o conteúdo passado em um Popup
7388
+ */
7347
7389
  async showPopUp(content) {
7390
+ this.clearPopUpContent();
7348
7391
  this._popUp.appendChild(content);
7349
- this._popUp["opened"] = true;
7392
+ this._popUp.opened = true;
7350
7393
  }
7394
+ /**
7395
+ * Fecha o popup, liberando o conteúdo.
7396
+ */
7351
7397
  async closePopUp() {
7352
- Array.from(this._popUp.children).forEach(c => {
7353
- this._popUp.removeChild(c);
7354
- });
7355
- this._popUp["opened"] = false;
7398
+ this.clearPopUpContent();
7399
+ this._popUp.opened = false;
7356
7400
  }
7401
+ /**
7402
+ * Verifica se a licença do cliente tem determinado opcional (produto)
7403
+ */
7357
7404
  async temOpcional(opcional) {
7358
7405
  const opts = opcional.split(",");
7359
7406
  return new Promise((resolve, reject) => {
@@ -7377,6 +7424,10 @@ const SnkApplication = class {
7377
7424
  });
7378
7425
  });
7379
7426
  }
7427
+ /**
7428
+ * Retorna a configuração de um recurso por service broker
7429
+ * Veja também o método "loadConfig"
7430
+ */
7380
7431
  async getConfig(key) {
7381
7432
  let payload = {
7382
7433
  "serviceName": "SystemUtilsSP.getConf",
@@ -7394,6 +7445,9 @@ const SnkApplication = class {
7394
7445
  .catch(error => reject(error));
7395
7446
  });
7396
7447
  }
7448
+ /**
7449
+ * Salva a configuração de determinado recurso.
7450
+ */
7397
7451
  async saveConfig(key, data) {
7398
7452
  let payload = {
7399
7453
  "serviceName": "SystemUtilsSP.saveConf",
@@ -7412,19 +7466,31 @@ const SnkApplication = class {
7412
7466
  .catch(error => reject(error));
7413
7467
  });
7414
7468
  }
7469
+ /**
7470
+ * Acessa informações de contexto "empurrados" na abertura da tela
7471
+ */
7415
7472
  async getAttributeFromHTMLWrapper(attribName) {
7416
7473
  return Promise.resolve(window[attribName]);
7417
7474
  }
7475
+ /**
7476
+ * Abre determinada tela, repassando pkObject
7477
+ */
7418
7478
  async openApp(resourceId, pkObject) {
7419
7479
  Workspace.openAppActivity(resourceId, pkObject);
7420
7480
  }
7481
+ /**
7482
+ * Cria o DataUnit a partir do nome da entidade.
7483
+ */
7421
7484
  async createDataunit(entityName) {
7422
7485
  return new Promise(resolve => {
7423
7486
  const dataUnit = this.dataUnitFetcher.getDataUnit(entityName, this.resourceID);
7424
7487
  dataUnit.loadMetadata().then(() => resolve(dataUnit));
7425
7488
  });
7426
7489
  }
7427
- async getOrCreateDataUnit(entityName, dataUnitName) {
7490
+ /**
7491
+ * Cria e armazena o DataUnit em um cache
7492
+ */
7493
+ async getDataUnit(entityName, dataUnitName) {
7428
7494
  return new Promise((resolve, reject) => {
7429
7495
  const dataUnit = this._duCache.get(dataUnitName);
7430
7496
  if (dataUnit) {
@@ -7440,30 +7506,57 @@ const SnkApplication = class {
7440
7506
  }
7441
7507
  });
7442
7508
  }
7509
+ /**
7510
+ * Retorna o resourceID da tela em questão.
7511
+ */
7443
7512
  async getResourceID() {
7444
7513
  return Promise.resolve(this.resourceID);
7445
7514
  }
7515
+ /**
7516
+ * Mostra o diálogo de alerta de acordo com os parâmetros passados.
7517
+ */
7446
7518
  async alert(title, message, icon, options) {
7447
7519
  return ApplicationUtils.alert(title, message, icon, options);
7448
7520
  }
7521
+ /**
7522
+ * Mostra o diálogo de erro de acordo com os parâmetros passados.
7523
+ */
7449
7524
  async error(title, message, icon, options) {
7450
7525
  return ApplicationUtils.error(title, message, icon, options);
7451
7526
  }
7527
+ /**
7528
+ * Exibe um diálogo de confirmação
7529
+ */
7452
7530
  async confirm(title, message, icon, critical, options) {
7453
7531
  return ApplicationUtils.confirm(title, message, icon, critical, options);
7454
7532
  }
7533
+ /**
7534
+ * Mostra uma informação efêmera (de segundo plano).
7535
+ */
7455
7536
  async info(message, options) {
7456
7537
  return ApplicationUtils.info(message, options);
7457
7538
  }
7539
+ /**
7540
+ * Busca a configuração de formulário.
7541
+ */
7458
7542
  async loadFormConfig(name) {
7459
7543
  return this.formConfigFetcher.loadFormConfig(name, this.resourceID);
7460
7544
  }
7545
+ /**
7546
+ * Busca a configuração de grade.
7547
+ */
7461
7548
  async loadGridConfig(name) {
7462
7549
  return this.gridConfigFetcher.getConfig(name, this.resourceID);
7463
7550
  }
7551
+ /**
7552
+ * Salva a configuração de grade.
7553
+ */
7464
7554
  async saveGridConfig(config) {
7465
7555
  return this.gridConfigFetcher.saveConfig(config, this.resourceID);
7466
7556
  }
7557
+ async getAuthList(_auth) {
7558
+ return await (new MGEAuthorization()).parseFromJSON(_auth);
7559
+ }
7467
7560
  get urlParams() {
7468
7561
  if (!this._urlParams) {
7469
7562
  this._urlParams = UrlUtils.getQueryParams(location.search);
@@ -7541,7 +7634,7 @@ const SnkApplication = class {
7541
7634
  pesquisaContent.searchLoader = (text) => this.pesquisaFetcher.loadAdvancedSearch(ENTITYNAME, text, criteria, searchOptions);
7542
7635
  pesquisaContent.selectItem = (option) => {
7543
7636
  accept(option);
7544
- this.cleanPopUpTitle();
7637
+ this.clearPopUpTitle();
7545
7638
  this.closePopUp();
7546
7639
  };
7547
7640
  this.setPopUpTitle(DESCRIPTIONENTITY);
@@ -7558,11 +7651,18 @@ const SnkApplication = class {
7558
7651
  accept(window['isDebugMode']);
7559
7652
  });
7560
7653
  }
7561
- cleanPopUpTitle() {
7562
- this._popUp['ezTitle'] = "";
7654
+ clearPopUpContent() {
7655
+ if (this._popUp) {
7656
+ Array.from(this._popUp.children).forEach(c => {
7657
+ this._popUp.removeChild(c);
7658
+ });
7659
+ }
7660
+ }
7661
+ clearPopUpTitle() {
7662
+ this._popUp.ezTitle = "";
7563
7663
  }
7564
7664
  setPopUpTitle(title) {
7565
- this._popUp['ezTitle'] = title;
7665
+ this._popUp.ezTitle = title;
7566
7666
  }
7567
7667
  componentWillLoad() {
7568
7668
  this._errorHandler = new SnkErrorHandler(this);
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement, H as Host } from './index-7565ae23.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement, H as Host } from './index-0b078db7.js';
2
2
  import { Action, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
 
@@ -7,12 +7,23 @@ const snkDataUnitCss = ".sc-snk-data-unit-h{display:flex;flex-direction:column;h
7
7
  const SnkDataUnit = class {
8
8
  constructor(hostRef) {
9
9
  registerInstance(this, hostRef);
10
- this.insertionMode = createEvent(this, "insertionMode", 7);
11
10
  this.dataStateChange = createEvent(this, "dataStateChange", 7);
12
11
  this.dataUnitReady = createEvent(this, "dataUnitReady", 7);
12
+ this.insertionMode = createEvent(this, "insertionMode", 7);
13
13
  this._onDataUnitResolve = [];
14
+ /**
15
+ * Determina quantas linhas são retornadas por página
16
+ */
17
+ this.pageSize = 150;
18
+ /**
19
+ * Quando ativada essa propriedade faz com que haja uma carga imediata no DataUnit
20
+ */
21
+ this.autoLoad = true;
14
22
  this._dataUnitObserver = (action) => {
15
- let msg = this.getActionInfo(action.type);
23
+ let msg;
24
+ if (!this.isTransitionAction(action.type)) {
25
+ msg = this.getActionInfo(action.type);
26
+ }
16
27
  if (msg) {
17
28
  ApplicationUtils.info(msg);
18
29
  }
@@ -36,6 +47,38 @@ const SnkDataUnit = class {
36
47
  this.dataState = duState;
37
48
  };
38
49
  }
50
+ observePageSize() {
51
+ if (this.dataUnit) {
52
+ this.dataUnit.pageSize = this.pageSize;
53
+ }
54
+ }
55
+ observeDataUnitName(newValue, oldValue) {
56
+ if (oldValue != newValue) {
57
+ this.dataUnit = undefined;
58
+ this.dataUnitName = newValue;
59
+ this.loadDataUnit();
60
+ }
61
+ }
62
+ observeEntityName(newValue, oldValue) {
63
+ if (oldValue != newValue) {
64
+ this.dataUnit = undefined;
65
+ this.entityName = newValue;
66
+ this.loadDataUnit();
67
+ }
68
+ }
69
+ observeDataState(newValue, oldValue) {
70
+ if (oldValue != newValue) {
71
+ this.dataStateChange.emit(newValue);
72
+ }
73
+ }
74
+ observeDataUnit() {
75
+ this.dataUnitReady.emit(this.dataUnit);
76
+ }
77
+ /**
78
+ * Pode-se obter o dataUnit através desse método. Outra forma, é ouvir o evento de
79
+ *
80
+ * @returns dataUnit
81
+ */
39
82
  async getDataUnit() {
40
83
  return new Promise((resolve) => {
41
84
  if (this.dataUnit) {
@@ -76,7 +119,11 @@ const SnkDataUnit = class {
76
119
  .then((result) => resolve(result ? action : undefined));
77
120
  break;
78
121
  case Action.REMOVING_RECORDS:
79
- ApplicationUtils.confirm(this.i18n("components.delete"), this.i18n("components.confirmRemoveRecord"), "delete", true, { btnConfirmDanger: true })
122
+ let msg = undefined;
123
+ if (this.messageBuilder) {
124
+ msg = this.messageBuilder(action.type, this.dataState, this.dataUnit);
125
+ }
126
+ ApplicationUtils.confirm(this.i18n("components.delete"), msg || this.i18n("components.confirmRemoveRecord"), "delete", true, { btnConfirmDanger: true })
80
127
  .then((result) => resolve(result ? action : undefined));
81
128
  break;
82
129
  default:
@@ -84,48 +131,32 @@ const SnkDataUnit = class {
84
131
  }
85
132
  });
86
133
  }
134
+ isTransitionAction(action) {
135
+ switch (action) {
136
+ case Action.LOADING_METADATA:
137
+ case Action.LOADING_DATA:
138
+ case Action.SAVING_DATA:
139
+ case Action.REMOVING_RECORDS:
140
+ case Action.CHANGING_DATA:
141
+ return true;
142
+ default:
143
+ return false;
144
+ }
145
+ }
87
146
  getActionInfo(action) {
88
147
  if (this.messageBuilder) {
89
148
  return this.messageBuilder(action, this.dataState, this.dataUnit);
90
149
  }
91
- else {
92
- if (action === Action.EDITION_CANCELED) {
93
- return this.i18n("components.editionCanceled");
94
- }
95
- }
96
- }
97
- observePageSize() {
98
- if (this.dataUnit) {
99
- this.dataUnit.pageSize = this.pageSize;
100
- }
101
- }
102
- observeDataUnitName(newValue, oldValue) {
103
- if (oldValue != newValue) {
104
- this.dataUnit = undefined;
105
- this.dataUnitName = newValue;
106
- this.loadDataUnit();
107
- }
108
- }
109
- observeEntityName(newValue, oldValue) {
110
- if (oldValue != newValue) {
111
- this.dataUnit = undefined;
112
- this.entityName = newValue;
113
- this.loadDataUnit();
150
+ if (action === Action.EDITION_CANCELED) {
151
+ return this.i18n("components.editionCanceled");
114
152
  }
115
153
  }
116
- observeDataState(newValue, oldValue) {
117
- if (oldValue != newValue) {
118
- this.dataStateChange.emit(newValue);
119
- }
120
- }
121
- observeDataUnit() {
122
- this.dataUnitReady.emit(this.dataUnit);
123
- }
124
154
  async loadDataUnit() {
125
155
  if (!this.dataUnit) {
126
156
  const app = ApplicationContext.getContextValue("__SNK__APPLICATION__");
127
157
  if (app && this.entityName) {
128
- this.dataUnit = await app.getOrCreateDataUnit(this.entityName, this.dataUnitName);
158
+ const cacheName = this.dataUnitName ? this.dataUnitName : this.entityName;
159
+ this.dataUnit = await app.getDataUnit(this.entityName, cacheName);
129
160
  this.dataUnit.pageSize = this.pageSize;
130
161
  this.dataUnit.unsubscribe(this._dataUnitObserver);
131
162
  this.dataUnit.addInterceptor(this);
@@ -150,6 +181,9 @@ const SnkDataUnit = class {
150
181
  };
151
182
  return pt_br[key];
152
183
  }
184
+ //---------------------------------------------
185
+ // Lifecycle web component
186
+ //---------------------------------------------
153
187
  componentDidRender() {
154
188
  this.loadDataUnit();
155
189
  }
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-7565ae23.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-0b078db7.js';
2
2
  import { ApplicationContext } from '@sankhyalabs/core';
3
3
 
4
4
  const snkFormCss = ".sc-snk-form-h{display:block}";
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-7565ae23.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-0b078db7.js';
2
2
  import { ApplicationContext } from '@sankhyalabs/core';
3
- import { T as TaskbarElement } from './taskbar-elements-b6822601.js';
3
+ import { T as TaskbarElement } from './taskbar-elements-3ba30bf4.js';
4
4
 
5
5
  const snkGridCss = ".sc-snk-grid-h{display:flex;height:100%;width:100%}";
6
6
 
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, h, H as Host } from './index-7565ae23.js';
1
+ import { r as registerInstance, h, H as Host } from './index-0b078db7.js';
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 = class {
7
7
  constructor(hostRef) {
@@ -295,7 +295,10 @@ const SnkPesquisa = class {
295
295
  : 'Os resultados de sua pesquisa aparecerão aqui...';
296
296
  }
297
297
  render() {
298
- 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) => {
298
+ var _a;
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" }), this.argument && ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value)
300
+ ? h("button", { slot: "rightIcon", class: "snk-pesquisa__btn", onClick: () => this.clearSearch() }, h("ez-icon", { iconName: "close" }))
301
+ : 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) => {
299
302
  return (h("ez-card-item", { onEzClick: (event) => this.createOption(event.detail), item: item }));
300
303
  })))));
301
304
  }
@@ -1,13 +1,6 @@
1
- import { h, r as registerInstance, c as createEvent, H as Host } from './index-7565ae23.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-0b078db7.js';
2
2
  import { ApplicationContext } from '@sankhyalabs/core';
3
- import { A as AuthorizationElements, T as TaskbarElement, b as buildElem } from './taskbar-elements-b6822601.js';
4
-
5
- const SnkPopupButton = ({ className, title, source, opened, setOpened, actionClick }) => {
6
- return (h("div", { class: "ez-flex " + className },
7
- h("ez-button", { id: "moreOptionsButton", title: title, mode: "icon", iconName: "dots-vertical", size: "small", onClick: () => setOpened(true) }),
8
- h("ez-popover", { opened: opened, autoClose: true, innerElement: ["moreOptionsButton", "moreOptionsDiv"], onEzVisibilityChange: (event) => setOpened(event.detail) },
9
- 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) }))))));
10
- };
3
+ import { A as AuthorizationElements, T as TaskbarElement, b as buildElem } from './taskbar-elements-3ba30bf4.js';
11
4
 
12
5
  const snkTaskbarCss = ".sc-snk-taskbar-h{display:flex}";
13
6
 
@@ -15,7 +8,6 @@ const SnkTaskbar = class {
15
8
  constructor(hostRef) {
16
9
  registerInstance(this, hostRef);
17
10
  this.actionClick = createEvent(this, "actionClick", 7);
18
- this._moreOptionsOpened = false;
19
11
  }
20
12
  observeButtons() {
21
13
  this._definitions = undefined;
@@ -88,10 +80,6 @@ const SnkTaskbar = class {
88
80
  }
89
81
  this.actionClick.emit(elem);
90
82
  }
91
- actionClickHandler(act) {
92
- this._moreOptionsOpened = false;
93
- this.actionClick.emit(act.key);
94
- }
95
83
  isEnabled(elem) {
96
84
  return !(this.disabledButtons && this.disabledButtons.includes(elem));
97
85
  }
@@ -101,29 +89,22 @@ const SnkTaskbar = class {
101
89
  if (index > 1) {
102
90
  className += "ez-padding-left--medium";
103
91
  }
104
- if (def === TaskbarElement.MORE_OPTIONS) {
105
- 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;
106
- }
107
- else {
108
- element = buildElem(def, className, elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem));
109
- }
92
+ element = buildElem(def, className, elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.actionsList);
110
93
  return element;
111
94
  }
112
95
  // Lifecycle
113
- componentWillRender() {
114
- if (this._permissions === undefined) {
115
- const snkApplication = ApplicationContext.getContextValue("__SNK__APPLICATION__");
116
- if (snkApplication) {
117
- snkApplication.getAllAccess().then(access => this._permissions = access);
118
- }
119
- else {
120
- this._permissions = {};
121
- }
96
+ componentWillLoad() {
97
+ const snkApplication = ApplicationContext.getContextValue("__SNK__APPLICATION__");
98
+ if (snkApplication) {
99
+ snkApplication.getAllAccess().then(access => this._permissions = access);
122
100
  }
123
101
  else {
124
- if (this._definitions == undefined) {
125
- this._definitions = this.elementsFromString(this.buttons);
126
- }
102
+ this._permissions = {};
103
+ }
104
+ }
105
+ componentWillRender() {
106
+ if (this._definitions == undefined && this._permissions) {
107
+ this._definitions = this.elementsFromString(this.buttons);
127
108
  }
128
109
  }
129
110
  render() {
@@ -1,4 +1,4 @@
1
- import { h } from './index-7565ae23.js';
1
+ import { h } from './index-0b078db7.js';
2
2
 
3
3
  var TaskbarElement;
4
4
  (function (TaskbarElement) {
@@ -25,7 +25,7 @@ var AuthorizationElements;
25
25
  AuthorizationElements["INSERT"] = "INSERT";
26
26
  AuthorizationElements["CONFIG_GRID"] = "CONFIG_GRID";
27
27
  })(AuthorizationElements || (AuthorizationElements = {}));
28
- const buildElem = (element, className, getTitle, action, isEnabled) => {
28
+ const buildElem = (element, className, getTitle, action, isEnabled, actions) => {
29
29
  switch (element) {
30
30
  case TaskbarElement.PREVIOUS:
31
31
  return iconButton("chevron-left", element, className, getTitle, action, isEnabled);
@@ -51,6 +51,8 @@ const buildElem = (element, className, getTitle, action, isEnabled) => {
51
51
  return iconButton("list", element, className, getTitle, action, isEnabled);
52
52
  case TaskbarElement.CONFIG_GRID:
53
53
  return iconButton("settings-inverted", element, className, getTitle, action, isEnabled);
54
+ case TaskbarElement.MORE_OPTIONS:
55
+ return h("ez-actions-button", { size: "small", class: className, enabled: isEnabled(element), onEzAction: (evt) => action(evt.detail.value), actions: actions });
54
56
  case TaskbarElement.DIVIDER:
55
57
  return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium" });
56
58
  }
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-7565ae23.js';
1
+ import { r as registerInstance, h } from './index-0b078db7.js';
2
2
  import { DataUnit, DataType, UserInterface } from '@sankhyalabs/core';
3
3
 
4
4
  const testePesquisaCss = ":host{display:block}";
@@ -0,0 +1 @@
1
+ import{r as s,h as t,H as e}from"./p-a45dba1a.js";import{ObjectUtils as i,StringUtils as r}from"@sankhyalabs/core";const n=class{constructor(t){s(this,t),this._mdByName={},this._startHighlightTag="<span class='card-item__highlight'>",this._endHighlightTag="</span>",this._specialCharsRegex=/[[.\-\$\+\*,_\&\(\)%\/\\#@!:\|\=\'\"]/gim,this._charsWithAccentuation="ÁÉÍÓÚ_ÃÕ_ÂÊÎÔÛ_ÀÈÌÒÙ_Ü_Ç_áéíóú_ãõ_âêîôû_àèìòù_ü_ç",this._charsWithoutAccentuation="AEIOU_AO_AEIOU_AEIOU_U_C_aeiou_ao_aeiou_aeiou_u_c",this._changeDeboucingTimeout=null,this._limitCharsToSearch=3,this._deboucingTime=450,this._startLoading=!1}observeArgument(){this._textInput&&(this._textInput.value=this.argument)}clearSearch(){this.argument="",this._itemList=void 0}buildDetails(s,t){let e={};for(let i=0;i<s.length;i++){const r=s[i],n=t[r.fieldName];e[r.description]=this.highlightValue(t.__matchFields,r.options&&r.options[n]||n,s,!0)}return e}buildFirstFields(s,t,e=6){return s&&Array.isArray(s)&&s.forEach((s=>{let e=this.removeReference(t,this._mdByName[s]);e&&t.unshift(e)})),t=t.slice(0,e)}doSearch(s){this.searchLoader&&"function"==typeof this.searchLoader&&(this._startLoading=!0,this.searchLoader(s).then((s=>{if(this._startLoading=!1,s){let t=(s=i.stringToObject(s.json.$)).descriptionField,e=s.pkField;if(t&&e){let i=[];s.data.forEach((r=>{var n;let a=this.filterFieldsMetadata(s,r),o=this.buildFirstFields(r.__matchFields,a),l={key:this.highlightValue(r.__matchFields,null===(n=r[e])||void 0===n?void 0:n.toString(),o,!0),title:this.highlightValue(r.__matchFields,r[t],o,!0),details:this.buildDetails(o,r)};i.push(l)})),this._itemList=i}}})).catch((s=>{this._startLoading=!1,this._itemList=[],console.warn(s)})))}filterFieldsMetadata(s,t){return s.fieldsMetadata.filter((e=>{let i=!r.isEmpty(t[e.fieldName])&&!1!==e.visible&&"B"!==e.type&&s.pkField!==e.fieldName&&s.descriptionField!==e.fieldName&&(e.isPrimaryKey||!e.isLinkField)&&!("S"===e.type&&"H"===e.presentationType);return i&&(this._mdByName[e.fieldName]=e),("string"!=typeof t[e.fieldName]||!(t[e.fieldName].indexOf("<img")>-1||t[e.fieldName].indexOf("<svg")>-1))&&i}))}removeAtIndex(s,t){if(t>=0&&t<s.length)return s.splice(t,1)[0]}removeReference(s,t){let e=this.indexOf(s,t);return this.removeAtIndex(s,e)}indexOf(s,t){let e=-1;return Array.isArray(s)&&this.find(s,((s,i)=>(e=i,this.equals(t,s)))),e}equals(s,t){return i.objectToString(s)===i.objectToString(t)}find(s,t){if(s)for(let e=0,i=s.length;e<i;e++)if(t(s[e],e,s))return s[e]}highlightValue(s,t,e,i){let r=this.replaceHtmlEntities(t);if(this.argument&&(i||this.isIn(s,e.fieldName))){const s=this.getArgumentNumber();let t=(isNaN(s)?this.argument:s.toString()).split(/%|,|\s+/),i=0,n=this.replaceAccentuatedChars(r);t.forEach((s=>{if(s){s=this.replaceAccentuatedChars(s);let t=this.getSpecialCharacters(s);null!=t&&t.length>0&&(s=this.removeSpecialCharacters(s)),(e.mask||"CGC_CPF"===e.uiType||"Phone"===e.uiType)&&(s=s.split("").join("\\.?\\-?\\/?\\(?\\)?"));let a=new RegExp(s,"ig");a.lastIndex=i;let o=a.exec(n);if(o&&o.length>0){i=o.index;let s=o[0].length,t=r.substring(i,i+s),e=(null==t?void 0:t.trim())?this._startHighlightTag+t+this._endHighlightTag:"",a=r.substring(0,i),l=r.substring(i+s);r=a+e+l,i+=e.length,n=this.replaceAccentuatedChars(r)}}}))}return r}replaceHtmlEntities(s){return null==s?s:String(s).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}replaceAccentuatedChars(s){return null==s?s:this.replaceToSpace(s,["&amp;","&lt;","&gt;","&quot;"]).replace(/[^\w ]/g,(s=>{let t=this._charsWithAccentuation.indexOf(s);return t>-1&&(s=this._charsWithoutAccentuation.charAt(t)),s||""}))}replaceToSpace(s,t=[]){return null==s||t.forEach((t=>{const e=new RegExp(t,"g");let i="";for(let s=0;s<t.length;s++)i+=" ";s=String(s).replace(e,i)})),s}isIn(s,t){return this.indexOf(s,t)>-1}getSpecialCharacters(s){let t,e=[];for(;t=this._specialCharsRegex.exec(s);)e.push(s[t.index]);return e}removeSpecialCharacters(s){return this.getSpecialCharacters(s).forEach((t=>{s=this.replaceAll(s,t,"")})),s}replaceAll(s,t,e){let i=(null!=s?s:"").indexOf(t);for(;i>-1;)i=(s=s.replace(t,e)).indexOf(t);return s}getArgumentNumber(){return Number(this.argument||void 0)}createOption(s){const{key:t,title:e}=s,i=new RegExp(this._startHighlightTag,"g"),r=new RegExp(this._endHighlightTag,"g"),n={value:null==t?void 0:t.replace(i,"").replace(r,""),label:null==e?void 0:e.replace(i,"").replace(r,"")};this.selectItem(n)}onChangeValue(s){if(this.clearDeboucingTimeout(),this._startLoading)return void(this._changeDeboucingTimeout=setTimeout((()=>{this.onChangeValue(s)}),this._deboucingTime));this.argument=(s.detail||"").trim();const t=this.getArgumentNumber();this.argument&&(!isNaN(t)||this.argument.length>=this._limitCharsToSearch)?this._changeDeboucingTimeout=setTimeout((()=>{this.doSearch(isNaN(t)?this.argument:t.toString())}),this._deboucingTime):this._itemList=void 0}clearDeboucingTimeout(){this._changeDeboucingTimeout&&(clearTimeout(this._changeDeboucingTimeout),this._changeDeboucingTimeout=void 0)}onClickSearch(){this.doSearch((this.argument||"").trim())}getMessageView(){return this._startLoading?"Aguarde, buscando registros...":this._itemList?this._itemList.length>=1?`${this._itemList.length} ${this._itemList.length>1?"registros encontrados":"registro encontrado"}`:"Nenhum registro encontrado":"Os resultados de sua pesquisa aparecerão aqui..."}render(){var s;return t(e,null,t("div",{class:"snk-pesquisa"},t("div",{class:"snk-pesquisa__input"},t("ez-text-input",{label:"Buscar",class:"ez-margin-right--medium",canShowError:!1,ref:s=>this._textInput=s,onEzChange:s=>this.onChangeValue(s),value:this.argument},t("ez-icon",{slot:"leftIcon",iconName:"search"}),this.argument&&(null===(s=this._textInput)||void 0===s?void 0:s.value)?t("button",{slot:"rightIcon",class:"snk-pesquisa__btn",onClick:()=>this.clearSearch()},t("ez-icon",{iconName:"close"})):void 0),t("ez-button",{class:"ez-button--primary",label:"Pesquisar",onClick:()=>this.onClickSearch()})),t("label",{class:"snk-pesquisa__records"},this.getMessageView()),t("div",{class:"snk-pesquisa__content"},this._itemList&&this._itemList.map((s=>t("ez-card-item",{onEzClick:s=>this.createOption(s.detail),item:s}))))))}static get watchers(){return{argument:["observeArgument"]}}};n.style=".sc-snk-pesquisa-h{--snk-pesquisa--font-size:var(--text--medium, 14px);--snk-pesquisa--font-family:var(--font-pattern, Arial);--snk-pesquisa--font-weight:var(--text-weight--medium, 400);--snk-pesquisa__records--color:var(--text--primary, #626e82);--snk-pesquisa__records--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)}";export{n as snk_pesquisa}
@@ -0,0 +1 @@
1
+ import{r as t,c as s,h as e,g as i,H as a}from"./p-a45dba1a.js";import{Action as n,ApplicationContext as o}from"@sankhyalabs/core";import{ApplicationUtils as h}from"@sankhyalabs/ezui/dist/collection/utils";const r=class{constructor(e){t(this,e),this.dataStateChange=s(this,"dataStateChange",7),this.dataUnitReady=s(this,"dataUnitReady",7),this.insertionMode=s(this,"insertionMode",7),this._onDataUnitResolve=[],this.pageSize=150,this.autoLoad=!0,this._dataUnitObserver=t=>{let s;this.isTransitionAction(t.type)||(s=this.getActionInfo(t.type)),s&&h.info(s),t.type!==n.RECORDS_ADDED&&t.type!==n.RECORDS_COPIED||this.insertionMode.emit();const e={insertionMode:!1,hasNext:this.dataUnit.hasNext(),hasPrevious:this.dataUnit.hasPrevious(),copyMode:!1,isDirty:this.dataUnit.isDirty(),selectedRecords:this.dataUnit.getSelectedRecords()};this.dataUnit.records.forEach((t=>{t.__record__id__.startsWith("NEW_")&&(e.insertionMode=!0,e.copyMode||(e.copyMode=null!=t.__record__source__id__))})),this.dataState=e}}observePageSize(){this.dataUnit&&(this.dataUnit.pageSize=this.pageSize)}observeDataUnitName(t,s){s!=t&&(this.dataUnit=void 0,this.dataUnitName=t,this.loadDataUnit())}observeEntityName(t,s){s!=t&&(this.dataUnit=void 0,this.entityName=t,this.loadDataUnit())}observeDataState(t,s){s!=t&&this.dataStateChange.emit(t)}observeDataUnit(){this.dataUnitReady.emit(this.dataUnit)}async getDataUnit(){return new Promise((t=>{this.dataUnit?t(this.dataUnit):this._onDataUnitResolve.push(t)}))}async interceptAction(t){return new Promise((s=>{switch(t.type){case n.SAVING_DATA:if(this.beforeSave){const e=this.beforeSave(this.dataUnit);e instanceof Promise?e.then((e=>s(e?t:void 0))):s(e?t:void 0)}else s(t);break;case n.DATA_SAVED:this.afterSave?this.afterSave(this.dataUnit):s(t);break;case n.EDITION_CANCELED:h.confirm(this.i18n("components.warning"),this.i18n("components.confirmCancelEdition")).then((e=>s(e?t:void 0)));break;case n.REMOVING_RECORDS:let e;this.messageBuilder&&(e=this.messageBuilder(t.type,this.dataState,this.dataUnit)),h.confirm(this.i18n("components.delete"),e||this.i18n("components.confirmRemoveRecord"),"delete",!0,{btnConfirmDanger:!0}).then((e=>s(e?t:void 0)));break;default:s(t)}}))}isTransitionAction(t){switch(t){case n.LOADING_METADATA:case n.LOADING_DATA:case n.SAVING_DATA:case n.REMOVING_RECORDS:case n.CHANGING_DATA:return!0;default:return!1}}getActionInfo(t){return this.messageBuilder?this.messageBuilder(t,this.dataState,this.dataUnit):t===n.EDITION_CANCELED?this.i18n("components.editionCanceled"):void 0}async loadDataUnit(){if(!this.dataUnit){const t=o.getContextValue("__SNK__APPLICATION__");if(t&&this.entityName){const s=this.dataUnitName?this.dataUnitName:this.entityName;let e;for(this.dataUnit=await t.getDataUnit(this.entityName,s),this.dataUnit.pageSize=this.pageSize,this.dataUnit.unsubscribe(this._dataUnitObserver),this.dataUnit.addInterceptor(this),this.dataUnit.subscribe(this._dataUnitObserver);e=this._onDataUnitResolve.pop();)e(this.dataUnit);this.autoLoad&&this.dataUnit.loadData()}}}i18n(t){return{"components.warning":"Aviso","components.delete":"Excluir","components.confirmRemoveRecord":"Deseja realmente excluir o registro atual?","components.confirmCancelEdition":"As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de sair?</b>","components.editionCanceled":"Todas as alterações foram descartadas."}[t]}componentDidRender(){this.loadDataUnit()}render(){return e(a,null)}get element(){return i(this)}static get watchers(){return{pageSize:["observePageSize"],dataUnitName:["observeDataUnitName"],entityName:["observeEntityName"],dataState:["observeDataState"],dataUnit:["observeDataUnit"]}}};r.style=".sc-snk-data-unit-h{display:flex;flex-direction:column;height:100%}";export{r as snk_data_unit}
@@ -1 +1 @@
1
- import{r as t,c as i,h as s,g as e}from"./p-90b832f7.js";import{ApplicationContext as a}from"@sankhyalabs/core";import{T as o}from"./p-4ee1e12b.js";const n=class{constructor(s){t(this,s),this.actionClick=i(this,"actionClick",7)}getHeaderButtons(){return this._dataState&&this._dataState.selectedRecords.length>0?"UPDATE,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,REFRESH":"REFRESH"}actionClickHandler(t){t.detail===o.CONFIG_GRID&&this._grid&&this._grid.openGridConfig()}componentWillLoad(){let t=this._element.parentElement;for(;t;){if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){this._snkDataUnit=t,this._dataUnit=this._snkDataUnit.dataUnit,this._dataUnit||this._snkDataUnit.addEventListener("dataUnitReady",(t=>{this._dataUnit=t.detail})),this._snkDataUnit.addEventListener("dataStateChange",(t=>{this._dataState=t.detail}));break}t=t.parentElement}}componentWillRender(){if(this._dataUnit&&!this._configLoaded){const t=a.getContextValue("__SNK__APPLICATION__");t&&t.loadGridConfig(this.configName).then((t=>{this._gridConfig=t,this._configLoaded=!0}))}}render(){if(this._configLoaded&&this._dataUnit)return s("div",{class:"ez-flex ez-flex--column ez-flex-item--auto ez-padding--large"},s("div",{class:"ez-row ez-padding-bottom--medium ez-margin-bottom--medium"},s("div",{class:"ez-col ez-col--sd-9 ez-col--tb-9 ez-align--bottom"},s("slot",null)),s("div",{class:"ez-col ez-col--sd-3 ez-col--tb-3 ez-align--right"},s("snk-taskbar",{onActionClick:t=>this.actionClickHandler(t),key:"topTaskbar",dataUnit:this._dataUnit,buttons:"FORM_MODE,CONFIG_GRID,INSERT",primaryButton:"INSERT"}))),s("ez-grid",{ref:t=>this._grid=t,dataUnit:this._dataUnit,key:"grid-"+this._snkDataUnit.entityName,config:this._gridConfig},s("snk-taskbar",{dataUnit:this._dataUnit,buttons:this.getHeaderButtons(),slot:"leftButtons",actionsList:this.actionsList})))}get _element(){return e(this)}};n.style=".sc-snk-grid-h{display:flex;height:100%;width:100%}";export{n as snk_grid}
1
+ import{r as t,c as i,h as s,g as e}from"./p-a45dba1a.js";import{ApplicationContext as a}from"@sankhyalabs/core";import{T as o}from"./p-574764bf.js";const n=class{constructor(s){t(this,s),this.actionClick=i(this,"actionClick",7)}getHeaderButtons(){return this._dataState&&this._dataState.selectedRecords.length>0?"UPDATE,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,REFRESH":"REFRESH"}actionClickHandler(t){t.detail===o.CONFIG_GRID&&this._grid&&this._grid.openGridConfig()}componentWillLoad(){let t=this._element.parentElement;for(;t;){if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){this._snkDataUnit=t,this._dataUnit=this._snkDataUnit.dataUnit,this._dataUnit||this._snkDataUnit.addEventListener("dataUnitReady",(t=>{this._dataUnit=t.detail})),this._snkDataUnit.addEventListener("dataStateChange",(t=>{this._dataState=t.detail}));break}t=t.parentElement}}componentWillRender(){if(this._dataUnit&&!this._configLoaded){const t=a.getContextValue("__SNK__APPLICATION__");t&&t.loadGridConfig(this.configName).then((t=>{this._gridConfig=t,this._configLoaded=!0}))}}render(){if(this._configLoaded&&this._dataUnit)return s("div",{class:"ez-flex ez-flex--column ez-flex-item--auto ez-padding--large"},s("div",{class:"ez-row ez-padding-bottom--medium ez-margin-bottom--medium"},s("div",{class:"ez-col ez-col--sd-9 ez-col--tb-9 ez-align--bottom"},s("slot",null)),s("div",{class:"ez-col ez-col--sd-3 ez-col--tb-3 ez-align--right"},s("snk-taskbar",{onActionClick:t=>this.actionClickHandler(t),key:"topTaskbar",dataUnit:this._dataUnit,buttons:"FORM_MODE,CONFIG_GRID,INSERT",primaryButton:"INSERT"}))),s("ez-grid",{ref:t=>this._grid=t,dataUnit:this._dataUnit,key:"grid-"+this._snkDataUnit.entityName,config:this._gridConfig},s("snk-taskbar",{dataUnit:this._dataUnit,buttons:this.getHeaderButtons(),slot:"leftButtons",actionsList:this.actionsList})))}get _element(){return e(this)}};n.style=".sc-snk-grid-h{display:flex;height:100%;width:100%}";export{n as snk_grid}
@@ -0,0 +1 @@
1
+ import{h as e}from"./p-a45dba1a.js";var n,t;!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"}(n||(n={})),function(e){e.UPDATE="UPDATE",e.CLONE="CLONE",e.REMOVE="REMOVE",e.INSERT="INSERT",e.CONFIG_GRID="CONFIG_GRID"}(t||(t={}));const a=(t,a,c,i,l,o)=>{switch(t){case n.PREVIOUS:return r("chevron-left",t,a,c,i,l);case n.NEXT:return r("chevron-right",t,a,c,i,l);case n.REFRESH:return r("sync",t,a,c,i,l);case n.UPDATE:return r("edit",t,a,c,i,l);case n.CLONE:return r("copy",t,a,c,i,l);case n.REMOVE:return r("delete",t,a,c,i,l);case n.INSERT:return s("plus",t,a,c,i,l);case n.CANCEL:return e("ez-button",{label:c(t),size:"small",enabled:l(t),onClick:()=>i(t)});case n.SAVE:return s("save",t,a,c,i,l);case n.GRID_MODE:return r("table",t,a,c,i,l);case n.FORM_MODE:return r("list",t,a,c,i,l);case n.CONFIG_GRID:return r("settings-inverted",t,a,c,i,l);case n.MORE_OPTIONS:return e("ez-actions-button",{size:"small",class:a,enabled:l(t),onEzAction:e=>i(e.detail.value),actions:o});case n.DIVIDER:return e("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium"})}};function r(n,t,a,r,s,c){return e("ez-button",{key:n,title:r(t),mode:"icon",size:"small",class:a,iconName:n,enabled:c(t),onClick:()=>s(t)})}function s(n,t,a,r,s,c){return e("ez-button",{key:n,title:r(t),label:r(t),size:"small",class:a,enabled:c(t),onClick:()=>s(t)},e("ez-icon",{class:"ez-padding-right--small",slot:"leftIcon",iconName:n}))}export{t as A,n as T,a as b}
@@ -0,0 +1 @@
1
+ import{r as t,c as s,h as i,H as e}from"./p-a45dba1a.js";import{ApplicationContext as r}from"@sankhyalabs/core";import{A as a,T as o,b as h}from"./p-574764bf.js";const n=class{constructor(i){t(this,i),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){const s={[o.UPDATE]:"Editar",[o.PREVIOUS]:"Anterior",[o.NEXT]:"Próximo",[o.REFRESH]:"Atualizar",[o.CLONE]:"Duplicar",[o.REMOVE]:"Excluir",[o.MORE_OPTIONS]:"Mais Opções",[o.INSERT]:"Cadastrar",[o.CANCEL]:"Cancelar",[o.SAVE]:"Salvar",[o.GRID_MODE]:"Modo Grade",[o.CONFIG_GRID]:"Configuração da grade",[o.FORM_MODE]:"Modo Formulário"};return s[t]?s[t]:""}elementClick(t){if(this.dataUnit)switch(t){case o.PREVIOUS:this.dataUnit.previousRecord();break;case o.NEXT:this.dataUnit.nextRecord();break;case o.REFRESH:this.dataUnit.loadData();break;case o.CLONE:this.dataUnit.copySelected();break;case o.REMOVE:this.dataUnit.removeSelectedRecords();break;case o.INSERT:this.dataUnit.addRecord();break;case o.CANCEL:this.dataUnit.cancelEdition();break;case o.SAVE:this.dataUnit.saveData()}this.actionClick.emit(t)}isEnabled(t){return!(this.disabledButtons&&this.disabledButtons.includes(t))}getElement(t,s){let i,e=s===this.primaryButton?"ez-button--primary ":"";return t>1&&(e+="ez-padding-left--medium"),i=h(s,e,(t=>this.getTitle(t)),(t=>this.elementClick(t)),(t=>this.isEnabled(t)),this.actionsList),i}componentWillLoad(){const t=r.getContextValue("__SNK__APPLICATION__");t?t.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 i(e,null,this._definitions.map((s=>(s===o.DIVIDER?t=0:t++,o[s]?this.getElement(t,o[s]):i("slot",{name:s})))))}static get watchers(){return{buttons:["observeButtons"]}}};n.style=".sc-snk-taskbar-h{display:flex}";export{n as snk_taskbar}