@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.
- package/dist/cjs/{index-ebe8245e.js → index-532bcc28.js} +0 -34
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/sankhyablocks.cjs.js +2 -2
- package/dist/cjs/snk-application.cjs.entry.js +114 -14
- package/dist/cjs/snk-data-unit.cjs.entry.js +70 -36
- package/dist/cjs/snk-form.cjs.entry.js +1 -1
- package/dist/cjs/snk-grid.cjs.entry.js +2 -2
- package/dist/cjs/snk-pesquisa.cjs.entry.js +6 -3
- package/dist/cjs/snk-taskbar.cjs.entry.js +15 -34
- package/dist/cjs/{taskbar-elements-589a3744.js → taskbar-elements-9d47b416.js} +4 -2
- package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
- package/dist/collection/components/snk-application/snk-application.js +122 -40
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +103 -64
- package/dist/collection/components/snk-form/snk-form.js +5 -5
- package/dist/collection/components/snk-grid/snk-grid.js +3 -3
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +49 -10
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +5 -1
- package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +3 -1
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +17 -33
- package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +16 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +2 -0
- package/dist/components/snk-application2.js +114 -14
- package/dist/components/snk-data-unit.js +69 -35
- package/dist/components/snk-pesquisa2.js +5 -2
- package/dist/components/snk-taskbar2.js +14 -32
- package/dist/esm/{index-7565ae23.js → index-0b078db7.js} +0 -34
- package/dist/esm/loader.js +2 -2
- package/dist/esm/sankhyablocks.js +2 -2
- package/dist/esm/snk-application.entry.js +114 -14
- package/dist/esm/snk-data-unit.entry.js +70 -36
- package/dist/esm/snk-form.entry.js +1 -1
- package/dist/esm/snk-grid.entry.js +2 -2
- package/dist/esm/snk-pesquisa.entry.js +6 -3
- package/dist/esm/snk-taskbar.entry.js +13 -32
- package/dist/esm/{taskbar-elements-b6822601.js → taskbar-elements-3ba30bf4.js} +4 -2
- package/dist/esm/teste-pesquisa.entry.js +1 -1
- package/dist/sankhyablocks/p-1c19b89c.entry.js +1 -0
- package/dist/sankhyablocks/p-21c2457b.entry.js +1 -0
- package/dist/sankhyablocks/{p-bb8d8fe7.entry.js → p-560fdf54.entry.js} +1 -1
- package/dist/sankhyablocks/p-574764bf.js +1 -0
- package/dist/sankhyablocks/p-8f7b9a85.entry.js +1 -0
- package/dist/sankhyablocks/{p-e7ade160.entry.js → p-9c225717.entry.js} +1 -1
- package/dist/sankhyablocks/p-a45dba1a.js +2 -0
- package/dist/sankhyablocks/{p-bb31ea2a.entry.js → p-a8305c35.entry.js} +1 -1
- package/dist/sankhyablocks/{p-a4b2fa10.entry.js → p-bc14f01e.entry.js} +3 -3
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-application/snk-application.d.ts +89 -12
- package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -1
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +20 -3
- package/dist/types/components.d.ts +216 -2
- package/dist/types/lib/http/data-fetcher/fetchers/dataunit-fetcher.d.ts +2 -0
- package/package.json +1 -1
- package/dist/collection/components/snk-taskbar/component/snk-popup-button.js +0 -7
- package/dist/sankhyablocks/p-306224bf.entry.js +0 -1
- package/dist/sankhyablocks/p-4ee1e12b.js +0 -1
- package/dist/sankhyablocks/p-6d82d7fd.entry.js +0 -1
- package/dist/sankhyablocks/p-88278b85.entry.js +0 -1
- package/dist/sankhyablocks/p-90b832f7.js +0 -2
- 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-
|
|
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
|
-
|
|
7330
|
-
|
|
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
|
|
7392
|
+
this._popUp.opened = true;
|
|
7350
7393
|
}
|
|
7394
|
+
/**
|
|
7395
|
+
* Fecha o popup, liberando o conteúdo.
|
|
7396
|
+
*/
|
|
7351
7397
|
async closePopUp() {
|
|
7352
|
-
|
|
7353
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
7562
|
-
this._popUp
|
|
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
|
|
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-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
92
|
-
|
|
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.
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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(--
|
|
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
|
-
|
|
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 {
|
|
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-
|
|
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
|
-
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
|
|
125
|
-
|
|
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-
|
|
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
|
}
|
|
@@ -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,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}replaceAccentuatedChars(s){return null==s?s:this.replaceToSpace(s,["&","<",">","""]).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-
|
|
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}
|