ngx-sp-infra 5.2.9 → 5.2.11
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/fesm2022/ngx-sp-infra.mjs +111 -79
- package/fesm2022/ngx-sp-infra.mjs.map +1 -1
- package/lib/utils/utils.d.ts +2 -0
- package/package.json +1 -1
|
@@ -11,16 +11,16 @@ import * as i1 from 'ngx-bootstrap/modal';
|
|
|
11
11
|
import { ModalModule } from 'ngx-bootstrap/modal';
|
|
12
12
|
import * as i1$3 from 'ngx-bootstrap/tooltip';
|
|
13
13
|
import { TooltipModule } from 'ngx-bootstrap/tooltip';
|
|
14
|
-
import { Subject, Subscription, debounceTime, distinctUntilChanged, take, tap,
|
|
14
|
+
import { Subject, Subscription, debounceTime, distinctUntilChanged, BehaviorSubject, take as take$1, tap, filter } from 'rxjs';
|
|
15
15
|
import * as i1$2 from '@angular/platform-browser';
|
|
16
16
|
import * as i12 from 'ngx-pagination';
|
|
17
17
|
import { NgxPaginationModule } from 'ngx-pagination';
|
|
18
18
|
import { cloneDeep } from 'lodash';
|
|
19
19
|
import { NgxCurrencyDirective } from 'ngx-currency';
|
|
20
20
|
import { NgxMaskDirective, NgxMaskPipe } from 'ngx-mask';
|
|
21
|
+
import { take } from 'rxjs/operators';
|
|
21
22
|
import * as i1$4 from '@angular/common/http';
|
|
22
23
|
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
|
23
|
-
import { take as take$1 } from 'rxjs/operators';
|
|
24
24
|
import * as i2$1 from 'ngx-drag-drop';
|
|
25
25
|
import { DndModule } from 'ngx-drag-drop';
|
|
26
26
|
import { ImageCropperComponent as ImageCropperComponent$1 } from 'ngx-image-cropper';
|
|
@@ -5501,6 +5501,38 @@ class Utils {
|
|
|
5501
5501
|
}
|
|
5502
5502
|
return 0;
|
|
5503
5503
|
}
|
|
5504
|
+
/** Método de ordenação alfanumérico com possibilidade de direção */
|
|
5505
|
+
static alphanumericSortOld(a, b, direction = 'asc') {
|
|
5506
|
+
const regex = /(\d+|\D+)/g;
|
|
5507
|
+
const stringA = this.propertyIsNullUndefinedOrEmpty(a) ? "" : a;
|
|
5508
|
+
const stringB = this.propertyIsNullUndefinedOrEmpty(b) ? "" : b;
|
|
5509
|
+
const aParts = stringA.toString().match(regex) || [];
|
|
5510
|
+
const bParts = stringB.toString().match(regex) || [];
|
|
5511
|
+
const length = Math.max(aParts.length, bParts.length);
|
|
5512
|
+
for (let i = 0; i < length; i++) {
|
|
5513
|
+
const aPart = aParts[i] || "";
|
|
5514
|
+
const bPart = bParts[i] || "";
|
|
5515
|
+
const aIsNumber = !isNaN(Number(aPart));
|
|
5516
|
+
const bIsNumber = !isNaN(Number(bPart));
|
|
5517
|
+
if (aIsNumber && bIsNumber) {
|
|
5518
|
+
const numCompare = Number(aPart) - Number(bPart);
|
|
5519
|
+
if (numCompare !== 0)
|
|
5520
|
+
return direction === 'asc' ? numCompare : -numCompare;
|
|
5521
|
+
}
|
|
5522
|
+
else if (aIsNumber) {
|
|
5523
|
+
return direction === 'asc' ? -1 : 1;
|
|
5524
|
+
}
|
|
5525
|
+
else if (bIsNumber) {
|
|
5526
|
+
return direction === 'asc' ? 1 : -1;
|
|
5527
|
+
}
|
|
5528
|
+
else {
|
|
5529
|
+
const strCompare = aPart.localeCompare(bPart);
|
|
5530
|
+
if (strCompare !== 0)
|
|
5531
|
+
return direction === 'asc' ? strCompare : -strCompare;
|
|
5532
|
+
}
|
|
5533
|
+
}
|
|
5534
|
+
return 0;
|
|
5535
|
+
}
|
|
5504
5536
|
// #endregion ORDENAÇÃO
|
|
5505
5537
|
// #region ==========> VALIDAÇÕES DE VAZIO <==========
|
|
5506
5538
|
/** Retorna se a variável informada é === null || undefined || "" (string vazia) */
|
|
@@ -6055,7 +6087,7 @@ class TableComponent {
|
|
|
6055
6087
|
recordsList.sort((a, b) => {
|
|
6056
6088
|
const propertyA = this.getProperty(a, attribute).toUpperCase(); // Puxa o nome da coluna que irá ordenar
|
|
6057
6089
|
const propertyB = this.getProperty(b, attribute).toUpperCase(); // Puxa o nome da coluna que irá ordenar
|
|
6058
|
-
return Utils.
|
|
6090
|
+
return Utils.alphanumericSortOld(propertyA, propertyB, this.sortDirection[attribute]);
|
|
6059
6091
|
});
|
|
6060
6092
|
}
|
|
6061
6093
|
}
|
|
@@ -7626,7 +7658,7 @@ class LibTransferListComponent {
|
|
|
7626
7658
|
atualizarSelecoes(origem, destino, origemConfig, origemSelecionados, componenteOrigem, componenteDestino) {
|
|
7627
7659
|
origemSelecionados.forEach(item => destino.push(item));
|
|
7628
7660
|
// destino = [ ...origemSelecionados ];
|
|
7629
|
-
destino.sort((a, b) => Utils.
|
|
7661
|
+
destino.sort((a, b) => Utils.alphanumericSortOld(a.ID, b.ID));
|
|
7630
7662
|
origemSelecionados.forEach(selectedItem => {
|
|
7631
7663
|
const index = origem.findIndex(item => item === selectedItem);
|
|
7632
7664
|
if (index !== -1)
|
|
@@ -8054,59 +8086,6 @@ class InfraSegConfig {
|
|
|
8054
8086
|
}
|
|
8055
8087
|
}
|
|
8056
8088
|
|
|
8057
|
-
class ConfiguracaoSenhaService {
|
|
8058
|
-
// #endregion PRIVATE
|
|
8059
|
-
// #endregion ==========> PROPERTIES <==========
|
|
8060
|
-
// #region ==========> INITIALIZATION <==========
|
|
8061
|
-
constructor(_httpClient) {
|
|
8062
|
-
this._httpClient = _httpClient;
|
|
8063
|
-
// #region ==========> PROPERTIES <==========
|
|
8064
|
-
// #region PRIVATE
|
|
8065
|
-
this._BASE_URL = `https://${window.location.hostname}/SisproErpCloud/Service_Private/Infra/SpInfra2ConfigErpWS/api/InfraSegConfig`; // SpInfra2ConfigErpWS
|
|
8066
|
-
this._HTTP_HEADERS = new HttpHeaders()
|
|
8067
|
-
.set('Content-Type', 'application/json');
|
|
8068
|
-
this._authToken = JSON.parse(localStorage["user_auth_v6"] ?? "{}");
|
|
8069
|
-
this.validateLocalToken();
|
|
8070
|
-
}
|
|
8071
|
-
// #endregion ==========> INITIALIZATION <==========
|
|
8072
|
-
// #region ==========> SERVICE METHODS <==========
|
|
8073
|
-
// #region GET
|
|
8074
|
-
getInfraSegConfig() {
|
|
8075
|
-
const params = new HttpParams().set('TENANT_ID', this._authToken.__tenantId);
|
|
8076
|
-
const headers = this._HTTP_HEADERS
|
|
8077
|
-
.set('Authorization', `Bearer ${this._authToken?.__authToken}`);
|
|
8078
|
-
const url = `${this._BASE_URL}/Get`;
|
|
8079
|
-
return this._httpClient.get(url, { 'params': params, 'headers': headers })
|
|
8080
|
-
.pipe(take(1), tap(response => this.showErrorMessage(response)));
|
|
8081
|
-
}
|
|
8082
|
-
// #endregion GET
|
|
8083
|
-
// #region POST
|
|
8084
|
-
createOrUpdateInfraSegConfig(record) {
|
|
8085
|
-
const headers = this._HTTP_HEADERS
|
|
8086
|
-
.set('Authorization', `Bearer ${this._authToken?.__authToken}`);
|
|
8087
|
-
const url = `${this._BASE_URL}/Create`;
|
|
8088
|
-
return this._httpClient.post(url, record, { 'headers': headers })
|
|
8089
|
-
.pipe(take(1), tap(response => this.showErrorMessage(response)));
|
|
8090
|
-
}
|
|
8091
|
-
// #endregion POST
|
|
8092
|
-
// #endregion ==========> SERVICE METHODS <==========
|
|
8093
|
-
// #region ==========> UTILS <==========
|
|
8094
|
-
showErrorMessage(response) { if (response.Error)
|
|
8095
|
-
throw Error(response.ErrorMessage); }
|
|
8096
|
-
validateLocalToken() {
|
|
8097
|
-
if (!this._authToken)
|
|
8098
|
-
throw new Error("Não há um token correto informado.");
|
|
8099
|
-
}
|
|
8100
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfiguracaoSenhaService, deps: [{ token: i1$4.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8101
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfiguracaoSenhaService, providedIn: 'root' }); }
|
|
8102
|
-
}
|
|
8103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfiguracaoSenhaService, decorators: [{
|
|
8104
|
-
type: Injectable,
|
|
8105
|
-
args: [{
|
|
8106
|
-
providedIn: 'root'
|
|
8107
|
-
}]
|
|
8108
|
-
}], ctorParameters: () => [{ type: i1$4.HttpClient }] });
|
|
8109
|
-
|
|
8110
8089
|
var alertTypes;
|
|
8111
8090
|
(function (alertTypes) {
|
|
8112
8091
|
alertTypes["DANGER"] = "danger";
|
|
@@ -8203,7 +8182,7 @@ class MessageService {
|
|
|
8203
8182
|
});
|
|
8204
8183
|
return bsModalRef.content.confirmResult
|
|
8205
8184
|
.asObservable()
|
|
8206
|
-
.pipe(take
|
|
8185
|
+
.pipe(take(1));
|
|
8207
8186
|
}
|
|
8208
8187
|
/** Exibe uma mesagem do tipo confirmação */
|
|
8209
8188
|
showConfirm(title, message, okText, cancelText, okButton, paramatroOkButton) {
|
|
@@ -8228,7 +8207,7 @@ class MessageService {
|
|
|
8228
8207
|
});
|
|
8229
8208
|
return bsModalRef.content.confirmResult
|
|
8230
8209
|
.asObservable()
|
|
8231
|
-
.pipe(take
|
|
8210
|
+
.pipe(take(1));
|
|
8232
8211
|
}
|
|
8233
8212
|
/**
|
|
8234
8213
|
* Utilize este método para mostrar na tela um modal que não tem fundo branco, bordas e
|
|
@@ -8303,6 +8282,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
8303
8282
|
type: Injectable
|
|
8304
8283
|
}], ctorParameters: () => [{ type: MessageService }, { type: i4.Router }] });
|
|
8305
8284
|
|
|
8285
|
+
class ConfiguracaoSenhaService {
|
|
8286
|
+
// #endregion PRIVATE
|
|
8287
|
+
// #endregion ==========> PROPERTIES <==========
|
|
8288
|
+
// #region ==========> INITIALIZATION <==========
|
|
8289
|
+
constructor(_httpClient) {
|
|
8290
|
+
this._httpClient = _httpClient;
|
|
8291
|
+
// #region ==========> PROPERTIES <==========
|
|
8292
|
+
// #region PRIVATE
|
|
8293
|
+
this._BASE_URL = `https://${window.location.hostname}/SisproErpCloud/Service_Private/Infra/SpInfra2ConfigErpWS/api/InfraSegConfig`; // SpInfra2ConfigErpWS
|
|
8294
|
+
this._HTTP_HEADERS = new HttpHeaders()
|
|
8295
|
+
.set('Content-Type', 'application/json');
|
|
8296
|
+
this._authToken = JSON.parse(localStorage["user_auth_v6"] ?? "{}");
|
|
8297
|
+
this.validateLocalToken();
|
|
8298
|
+
}
|
|
8299
|
+
// #endregion ==========> INITIALIZATION <==========
|
|
8300
|
+
// #region ==========> SERVICE METHODS <==========
|
|
8301
|
+
// #region GET
|
|
8302
|
+
getInfraSegConfig() {
|
|
8303
|
+
const params = new HttpParams().set('TENANT_ID', this._authToken.__tenantId);
|
|
8304
|
+
const headers = this._HTTP_HEADERS
|
|
8305
|
+
.set('Authorization', `Bearer ${this._authToken?.__authToken}`);
|
|
8306
|
+
const url = `${this._BASE_URL}/Get`;
|
|
8307
|
+
return this._httpClient.get(url, { 'params': params, 'headers': headers })
|
|
8308
|
+
.pipe(take$1(1), tap(response => this.showErrorMessage(response)));
|
|
8309
|
+
}
|
|
8310
|
+
// #endregion GET
|
|
8311
|
+
// #region POST
|
|
8312
|
+
createOrUpdateInfraSegConfig(record) {
|
|
8313
|
+
const headers = this._HTTP_HEADERS
|
|
8314
|
+
.set('Authorization', `Bearer ${this._authToken?.__authToken}`);
|
|
8315
|
+
const url = `${this._BASE_URL}/Create`;
|
|
8316
|
+
return this._httpClient.post(url, record, { 'headers': headers })
|
|
8317
|
+
.pipe(take$1(1), tap(response => this.showErrorMessage(response)));
|
|
8318
|
+
}
|
|
8319
|
+
// #endregion POST
|
|
8320
|
+
// #endregion ==========> SERVICE METHODS <==========
|
|
8321
|
+
// #region ==========> UTILS <==========
|
|
8322
|
+
showErrorMessage(response) { if (response.Error)
|
|
8323
|
+
throw Error(response.ErrorMessage); }
|
|
8324
|
+
validateLocalToken() {
|
|
8325
|
+
if (!this._authToken)
|
|
8326
|
+
throw new Error("Não há um token correto informado.");
|
|
8327
|
+
}
|
|
8328
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfiguracaoSenhaService, deps: [{ token: i1$4.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8329
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfiguracaoSenhaService, providedIn: 'root' }); }
|
|
8330
|
+
}
|
|
8331
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfiguracaoSenhaService, decorators: [{
|
|
8332
|
+
type: Injectable,
|
|
8333
|
+
args: [{
|
|
8334
|
+
providedIn: 'root'
|
|
8335
|
+
}]
|
|
8336
|
+
}], ctorParameters: () => [{ type: i1$4.HttpClient }] });
|
|
8337
|
+
|
|
8306
8338
|
class LibConfigSenhaComponent {
|
|
8307
8339
|
// #endregion PUBLIC
|
|
8308
8340
|
// #endregion ==========> PROPERTIES <==========
|
|
@@ -8470,11 +8502,11 @@ class LibConfigSenhaComponent {
|
|
|
8470
8502
|
}
|
|
8471
8503
|
}
|
|
8472
8504
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibConfigSenhaComponent, deps: [{ token: ConfiguracaoSenhaService }, { token: MessageService }, { token: TenantService }, { token: i1$2.Title }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8473
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: LibConfigSenhaComponent, isStandalone: true, selector: "lib-config-senha", ngImport: i0, template: "<lib-header [breadcrumbList]=\"[ 'Infra', 'Configura\u00E7\u00E3o de Senha' ]\" pageTitle=\"Configura\u00E7\u00E3o de Senha\"\n mode=\"edit\" [hideButtons]=\"[ 'Cancelar' ]\" (create)=\"onSubmit()\" (update)=\"onSubmit()\" />\n\n\n<!-- #region BODY -->\n<lib-container>\n\n <div innerContent1>\n <form *ngIf=\"$infraSegConfigRecord; else loading\" [formGroup]=\"form\">\n\n <div class=\"d-flex justify-content-start align-items-center\">\n <div class=\"mb-3\">\n <h2 class=\"fs-5\">Atualmente seu n\u00EDvel de seguran\u00E7a \u00E9 \n <span class=\"rounded text-white p-1 px-2 fw-bold\"\n [ngClass]=\"{\n 'bg-danger': initialLevel === 1,\n 'bg-warning': initialLevel === 2,\n 'bg-success': initialLevel === 3,\n 'bg-primary': initialLevel === 4,\n }\" >\n\n @switch (initialLevel) {\n @case (1) { Baixo }\n @case (2) { M\u00E9dio }\n @case (3) { Alto }\n @case (4) { Personalizado }\n }\n\n <!-- <strong *ngIf=\"initialLevel === 1\"> Baixo </strong>\n <strong class=\"text-dark\" *ngIf=\"initialLevel === 2\"> M\u00E9dio </strong>\n <strong *ngIf=\"initialLevel === 3\"> Alto </strong>\n <strong *ngIf=\"initialLevel === 4\"> Personalizado </strong> -->\n </span>\n </h2>\n </div>\n </div>\n <div class=\"border rounded mb-4\">\n <div class=\"card-body\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">Selecione um n\u00EDvel de seguran\u00E7a abaixo:</h3>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option1\" autocomplete=\"off\" [value]=\"1\" (change)=\"onSelectLevel(Level)\" >\n <label [class.btn-outline-danger]=\"Level === 1\" [class.bg-danger]=\"Level === 1\" class=\"btn btn-secondary m-2\" for=\"option1\"><lib-icon iconName=\"cadeado-aberto-outline\"/> Baixo </label>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option2\" autocomplete=\"off\" [value]=\"2\" (change)=\"onSelectLevel(Level)\" >\n <label [class.bg-warning]=\"Level === 2\" [class.btn-outline-warning]=\"Level === 2\" class=\" btn btn-secondary text-light m-2\" for=\"option2\"><lib-icon iconName=\"cadeado-semiaberto-outline\"/> M\u00E9dio</label>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option3\" autocomplete=\"off\" [value]=\"3\" (change)=\"onSelectLevel(Level)\" >\n <label [class.btn-outline-success]=\"Level === 3\" [class.bg-success]=\"Level === 3\" class=\"btn btn-secondary m-2\" for=\"option3\"><lib-icon iconName=\"cadeado-outline\"/> Alto</label>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option4\" autocomplete=\"off\" [value]=\"4\" (change)=\"onSelectLevel(Level)\" >\n <label [class.btn-outline-primary]=\"Level === 4\" [class.bg-primary]=\"Level === 4\" class=\"btn btn-secondary m-2\" for=\"option4\"><lib-icon iconName=\"chave\"/> Personalizado</label>\n </div>\n </div>\n\n <div class=\"border rounded p-3 mb-4\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">A senha deve conter:</h3>\n\n <div class=\"row\">\n <div class=\"col-3\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"numeros\"> N\u00FAmero </label>\n <input formControlName=\"Is_Numeros\" class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"numeros\">\n </div>\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"letraMaiuscula\"> Letra Mai\u00FAscula </label>\n <input formControlName=\"Is_LetrasMaiusculas\" class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"letraMaiuscula\">\n </div>\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"caracteresEspeciais\">Caractere especial</label>\n <input formControlName=\"Is_CaracteresEspeciais\" class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"caracteresEspeciais\">\n <lib-icon class=\"ms-1\" iconName=\"info\" iconColor=\"blue\" iconSize=\"small\" tooltip=\"Caracteres sugeridos: ! @ # $ % & * ( ) _ + = [ ] { } | ?\" />\n </div>\n </div>\n\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"qtnTrocaSenhaInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe a quantidade em dias que a senha ser\u00E1 v\u00E1lida, ap\u00F3s este per\u00EDodo a senha dever\u00E1 ser trocada pelo usu\u00E1rio.\" />\n Validade em dias\n </label>\n <input formControlName=\"QtnTrocaSenha\" type=\"number\" class=\"form-control form-input\" id=\"qtnTrocaSenhaInput\" tooltip=\"Informe a quantidade em dias que a senha ser\u00E1 v\u00E1lida, ap\u00F3s este per\u00EDodo a senha dever\u00E1 ser trocada pelo usu\u00E1rio.\" >\n <app-field-error-message [control]=\"form.get('QtnTrocaSenha')\"></app-field-error-message>\n </div>\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"qtnMinimaInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe a quantidade m\u00EDnima de caracteres que a senha deve ter.\" />\n Tamanho m\u00EDnimo\n </label>\n <input formControlName=\"QtnMinima\" type=\"number\" class=\"form-control form-input\" id=\"qtnMinimaInput\" tooltip=\"Informe a quantidade m\u00EDnima de caracteres que a senha deve ter.\">\n <app-field-error-message [control]=\"form.get('QtnMinima')\"></app-field-error-message>\n </div>\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"qtnRepeticaoInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe quantas senhas diferentes o usu\u00E1rio dever\u00E1 usar antes que possa repetir alguma j\u00E1 utilizada.\" />\n Repeti\u00E7\u00E3o\n </label>\n <input formControlName=\"QtnRepeticao\" type=\"number\" class=\"form-control form-input\" id=\"qtnRepeticaoInput\" tooltip=\"Informe quantas senhas diferentes o usu\u00E1rio dever\u00E1 usar antes que possa repetir alguma j\u00E1 utilizada.\">\n <app-field-error-message [control]=\"form.get('QtnRepeticao')\"></app-field-error-message>\n </div>\n \n <!-- <div class=\"container col row\">\n \n </div> -->\n </div>\n </div>\n\n <div class=\"border rounded p-3\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">Bloqueios:</h3>\n\n <div class=\"row\">\n <!-- <div class=\"col-2 form-check form-switch\">\n <label class=\"form-check-label\" for=\"isDropSessionCheck\"> Derrubar multiplas sess\u00F5es</label>\n <input class=\"form-check-input\" id=\"isDropSessionCheck\" formControlName=\"Is_DropSession\" type=\"checkbox\" role=\"switch\">\n </div> -->\n \n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"diasInatividadeInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe quantos dias um usu\u00E1rio poder\u00E1 ficar sem entrar no sistema, ao exceder este n\u00FAmero o usu\u00E1rio ser\u00E1 desativado perdendo o acesso ao sistema, e somente os Administradores poder\u00E3o ativ\u00E1-lo novamente.\" />\n Dias de Inatividade\n </label>\n <input id=\"diasInatividadeInput\" formControlName=\"QtnInatividade\" type=\"number\" class=\"form-control form-input\" tooltip=\"Informe quantos dias um usu\u00E1rio poder\u00E1 ficar sem entrar no sistema, ao exceder este n\u00FAmero o usu\u00E1rio ser\u00E1 desativado perdendo o acesso ao sistema, e somente os Administradores poder\u00E3o ativ\u00E1-lo novamente.\">\n <app-field-error-message [control]=\"form.get('QtnInatividade')\"></app-field-error-message>\n </div>\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"tentativasDeAcessoInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe a quantidade de tentativas consecutivas de acesso ao sistema sem sucesso antes de bloquear o usu\u00E1rio, exigindo que ele fa\u00E7a uma recupera\u00E7\u00E3o de senha.\" />\n Tentativas de acesso\n </label>\n <input id=\"tentativasDeAcessoInput\" formControlName=\"QtnTentativa\" type=\"number\" class=\"form-control form-input\" tooltip=\"Informe a quantidade de tentativas consecutivas de acesso ao sistema sem sucesso antes de bloquear o usu\u00E1rio, exigindo que ele fa\u00E7a uma recupera\u00E7\u00E3o de senha.\">\n <app-field-error-message [control]=\"form.get('QtnTentativa')\"></app-field-error-message>\n </div>\n\n <!-- <div class=\"container col-6 row\">\n\n </div> -->\n </div>\n </div>\n\n <!-- Palavras do Guilherme: \"oculteia eles\", \"um dia implementamos\" -->\n <!-- #region MARK: LINKS OCULTADOS -->\n <!-- <div class=\"card p-3 mt-3\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">Redefini\u00E7\u00E3o de senha:</h3>\n <a href=\"#\" class=\"link-primary\">Obrigar todos os usu\u00E1rios a trocarem sua senha no pr\u00F3ximo login</a>\n <a href=\"#\" class=\"link-primary\">Selecionar usu\u00E1rios para trocarem sua senha no pr\u00F3ximo login</a>\n </div> -->\n <!-- #endregion LINKS OCULTADOS -->\n\n\n <!-- <div class=\"border rounded\">\n <div class=\"card-body\">\n \n\n </div>\n </div> -->\n\n </form>\n </div>\n\n</lib-container>\n<!-- #endregion BODY -->\n\n<!-- #region SPINNER -->\n<ng-template #loading>\n <div class=\"w-100 text-center\">\n <!-- <div class=\"spinner-border\" style=\"width: 3rem; height: 3rem;\" role=\"status\"> <span class=\"visually-hidden\">Carregando...</span> </div> -->\n <lib-spinner />\n </div>\n</ng-template>\n\n<ng-template #loadingIsAtivo>\n <div class=\"spinner-border spinner-border-sm me-2\" role=\"status\"> <span class=\"visually-hidden\">Carregando...</span> </div>\n</ng-template>\n<!-- #endregion SPINNER -->\n", styles: [""], dependencies: [{ kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: ContentContainerComponent, selector: "lib-container", inputs: ["documentation", "tabs", "advancedTabs", "containerTitle", "currentTab"], outputs: ["onChangeTab"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RequiredDirective, selector: "label[libRequired], span[libRequired], p[libRequired]", inputs: ["libRequired", "requiredID"] }, { kind: "component", type: FieldErrorMessageComponent, selector: "app-field-error-message, lib-error-message", inputs: ["customMessage", "control", "label"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }] }); }
|
|
8505
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: LibConfigSenhaComponent, isStandalone: true, selector: "lib-config-senha", providers: [TenantService], ngImport: i0, template: "<lib-header [breadcrumbList]=\"[ 'Infra', 'Configura\u00E7\u00E3o de Senha' ]\" pageTitle=\"Configura\u00E7\u00E3o de Senha\"\n mode=\"edit\" [hideButtons]=\"[ 'Cancelar' ]\" (create)=\"onSubmit()\" (update)=\"onSubmit()\" />\n\n\n<!-- #region BODY -->\n<lib-container>\n\n <div innerContent1>\n <form *ngIf=\"$infraSegConfigRecord; else loading\" [formGroup]=\"form\">\n\n <div class=\"d-flex justify-content-start align-items-center\">\n <div class=\"mb-3\">\n <h2 class=\"fs-5\">Atualmente seu n\u00EDvel de seguran\u00E7a \u00E9 \n <span class=\"rounded text-white p-1 px-2 fw-bold\"\n [ngClass]=\"{\n 'bg-danger': initialLevel === 1,\n 'bg-warning': initialLevel === 2,\n 'bg-success': initialLevel === 3,\n 'bg-primary': initialLevel === 4,\n }\" >\n\n @switch (initialLevel) {\n @case (1) { Baixo }\n @case (2) { M\u00E9dio }\n @case (3) { Alto }\n @case (4) { Personalizado }\n }\n\n <!-- <strong *ngIf=\"initialLevel === 1\"> Baixo </strong>\n <strong class=\"text-dark\" *ngIf=\"initialLevel === 2\"> M\u00E9dio </strong>\n <strong *ngIf=\"initialLevel === 3\"> Alto </strong>\n <strong *ngIf=\"initialLevel === 4\"> Personalizado </strong> -->\n </span>\n </h2>\n </div>\n </div>\n <div class=\"border rounded mb-4\">\n <div class=\"card-body\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">Selecione um n\u00EDvel de seguran\u00E7a abaixo:</h3>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option1\" autocomplete=\"off\" [value]=\"1\" (change)=\"onSelectLevel(Level)\" >\n <label [class.btn-outline-danger]=\"Level === 1\" [class.bg-danger]=\"Level === 1\" class=\"btn btn-secondary m-2\" for=\"option1\"><lib-icon iconName=\"cadeado-aberto-outline\"/> Baixo </label>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option2\" autocomplete=\"off\" [value]=\"2\" (change)=\"onSelectLevel(Level)\" >\n <label [class.bg-warning]=\"Level === 2\" [class.btn-outline-warning]=\"Level === 2\" class=\" btn btn-secondary text-light m-2\" for=\"option2\"><lib-icon iconName=\"cadeado-semiaberto-outline\"/> M\u00E9dio</label>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option3\" autocomplete=\"off\" [value]=\"3\" (change)=\"onSelectLevel(Level)\" >\n <label [class.btn-outline-success]=\"Level === 3\" [class.bg-success]=\"Level === 3\" class=\"btn btn-secondary m-2\" for=\"option3\"><lib-icon iconName=\"cadeado-outline\"/> Alto</label>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option4\" autocomplete=\"off\" [value]=\"4\" (change)=\"onSelectLevel(Level)\" >\n <label [class.btn-outline-primary]=\"Level === 4\" [class.bg-primary]=\"Level === 4\" class=\"btn btn-secondary m-2\" for=\"option4\"><lib-icon iconName=\"chave\"/> Personalizado</label>\n </div>\n </div>\n\n <div class=\"border rounded p-3 mb-4\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">A senha deve conter:</h3>\n\n <div class=\"row\">\n <div class=\"col-3\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"numeros\"> N\u00FAmero </label>\n <input formControlName=\"Is_Numeros\" class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"numeros\">\n </div>\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"letraMaiuscula\"> Letra Mai\u00FAscula </label>\n <input formControlName=\"Is_LetrasMaiusculas\" class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"letraMaiuscula\">\n </div>\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"caracteresEspeciais\">Caractere especial</label>\n <input formControlName=\"Is_CaracteresEspeciais\" class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"caracteresEspeciais\">\n <lib-icon class=\"ms-1\" iconName=\"info\" iconColor=\"blue\" iconSize=\"small\" tooltip=\"Caracteres sugeridos: ! @ # $ % & * ( ) _ + = [ ] { } | ?\" />\n </div>\n </div>\n\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"qtnTrocaSenhaInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe a quantidade em dias que a senha ser\u00E1 v\u00E1lida, ap\u00F3s este per\u00EDodo a senha dever\u00E1 ser trocada pelo usu\u00E1rio.\" />\n Validade em dias\n </label>\n <input formControlName=\"QtnTrocaSenha\" type=\"number\" class=\"form-control form-input\" id=\"qtnTrocaSenhaInput\" tooltip=\"Informe a quantidade em dias que a senha ser\u00E1 v\u00E1lida, ap\u00F3s este per\u00EDodo a senha dever\u00E1 ser trocada pelo usu\u00E1rio.\" >\n <app-field-error-message [control]=\"form.get('QtnTrocaSenha')\"></app-field-error-message>\n </div>\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"qtnMinimaInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe a quantidade m\u00EDnima de caracteres que a senha deve ter.\" />\n Tamanho m\u00EDnimo\n </label>\n <input formControlName=\"QtnMinima\" type=\"number\" class=\"form-control form-input\" id=\"qtnMinimaInput\" tooltip=\"Informe a quantidade m\u00EDnima de caracteres que a senha deve ter.\">\n <app-field-error-message [control]=\"form.get('QtnMinima')\"></app-field-error-message>\n </div>\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"qtnRepeticaoInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe quantas senhas diferentes o usu\u00E1rio dever\u00E1 usar antes que possa repetir alguma j\u00E1 utilizada.\" />\n Repeti\u00E7\u00E3o\n </label>\n <input formControlName=\"QtnRepeticao\" type=\"number\" class=\"form-control form-input\" id=\"qtnRepeticaoInput\" tooltip=\"Informe quantas senhas diferentes o usu\u00E1rio dever\u00E1 usar antes que possa repetir alguma j\u00E1 utilizada.\">\n <app-field-error-message [control]=\"form.get('QtnRepeticao')\"></app-field-error-message>\n </div>\n \n <!-- <div class=\"container col row\">\n \n </div> -->\n </div>\n </div>\n\n <div class=\"border rounded p-3\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">Bloqueios:</h3>\n\n <div class=\"row\">\n <!-- <div class=\"col-2 form-check form-switch\">\n <label class=\"form-check-label\" for=\"isDropSessionCheck\"> Derrubar multiplas sess\u00F5es</label>\n <input class=\"form-check-input\" id=\"isDropSessionCheck\" formControlName=\"Is_DropSession\" type=\"checkbox\" role=\"switch\">\n </div> -->\n \n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"diasInatividadeInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe quantos dias um usu\u00E1rio poder\u00E1 ficar sem entrar no sistema, ao exceder este n\u00FAmero o usu\u00E1rio ser\u00E1 desativado perdendo o acesso ao sistema, e somente os Administradores poder\u00E3o ativ\u00E1-lo novamente.\" />\n Dias de Inatividade\n </label>\n <input id=\"diasInatividadeInput\" formControlName=\"QtnInatividade\" type=\"number\" class=\"form-control form-input\" tooltip=\"Informe quantos dias um usu\u00E1rio poder\u00E1 ficar sem entrar no sistema, ao exceder este n\u00FAmero o usu\u00E1rio ser\u00E1 desativado perdendo o acesso ao sistema, e somente os Administradores poder\u00E3o ativ\u00E1-lo novamente.\">\n <app-field-error-message [control]=\"form.get('QtnInatividade')\"></app-field-error-message>\n </div>\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"tentativasDeAcessoInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe a quantidade de tentativas consecutivas de acesso ao sistema sem sucesso antes de bloquear o usu\u00E1rio, exigindo que ele fa\u00E7a uma recupera\u00E7\u00E3o de senha.\" />\n Tentativas de acesso\n </label>\n <input id=\"tentativasDeAcessoInput\" formControlName=\"QtnTentativa\" type=\"number\" class=\"form-control form-input\" tooltip=\"Informe a quantidade de tentativas consecutivas de acesso ao sistema sem sucesso antes de bloquear o usu\u00E1rio, exigindo que ele fa\u00E7a uma recupera\u00E7\u00E3o de senha.\">\n <app-field-error-message [control]=\"form.get('QtnTentativa')\"></app-field-error-message>\n </div>\n\n <!-- <div class=\"container col-6 row\">\n\n </div> -->\n </div>\n </div>\n\n <!-- Palavras do Guilherme: \"oculteia eles\", \"um dia implementamos\" -->\n <!-- #region MARK: LINKS OCULTADOS -->\n <!-- <div class=\"card p-3 mt-3\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">Redefini\u00E7\u00E3o de senha:</h3>\n <a href=\"#\" class=\"link-primary\">Obrigar todos os usu\u00E1rios a trocarem sua senha no pr\u00F3ximo login</a>\n <a href=\"#\" class=\"link-primary\">Selecionar usu\u00E1rios para trocarem sua senha no pr\u00F3ximo login</a>\n </div> -->\n <!-- #endregion LINKS OCULTADOS -->\n\n\n <!-- <div class=\"border rounded\">\n <div class=\"card-body\">\n \n\n </div>\n </div> -->\n\n </form>\n </div>\n\n</lib-container>\n<!-- #endregion BODY -->\n\n<!-- #region SPINNER -->\n<ng-template #loading>\n <div class=\"w-100 text-center\">\n <!-- <div class=\"spinner-border\" style=\"width: 3rem; height: 3rem;\" role=\"status\"> <span class=\"visually-hidden\">Carregando...</span> </div> -->\n <lib-spinner />\n </div>\n</ng-template>\n\n<ng-template #loadingIsAtivo>\n <div class=\"spinner-border spinner-border-sm me-2\" role=\"status\"> <span class=\"visually-hidden\">Carregando...</span> </div>\n</ng-template>\n<!-- #endregion SPINNER -->\n", styles: [""], dependencies: [{ kind: "component", type: LibHeaderComponent, selector: "lib-header", inputs: ["breadcrumbList", "pageTitle", "mode", "hideButtons", "formGroup", "showSpinner", "auditoria"], outputs: ["onReturn", "return", "onCreate", "create", "onUpdate", "update"] }, { kind: "component", type: ContentContainerComponent, selector: "lib-container", inputs: ["documentation", "tabs", "advancedTabs", "containerTitle", "currentTab"], outputs: ["onChangeTab"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: RequiredDirective, selector: "label[libRequired], span[libRequired], p[libRequired]", inputs: ["libRequired", "requiredID"] }, { kind: "component", type: FieldErrorMessageComponent, selector: "app-field-error-message, lib-error-message", inputs: ["customMessage", "control", "label"] }, { kind: "component", type: LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }] }); }
|
|
8474
8506
|
}
|
|
8475
8507
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibConfigSenhaComponent, decorators: [{
|
|
8476
8508
|
type: Component,
|
|
8477
|
-
args: [{ selector: 'lib-config-senha', imports: [LibHeaderComponent, ContentContainerComponent, NgIf, FormsModule, ReactiveFormsModule, NgClass, LibIconsComponent, TooltipModule, RequiredDirective, FieldErrorMessageComponent, LibSpinnerComponent], template: "<lib-header [breadcrumbList]=\"[ 'Infra', 'Configura\u00E7\u00E3o de Senha' ]\" pageTitle=\"Configura\u00E7\u00E3o de Senha\"\n mode=\"edit\" [hideButtons]=\"[ 'Cancelar' ]\" (create)=\"onSubmit()\" (update)=\"onSubmit()\" />\n\n\n<!-- #region BODY -->\n<lib-container>\n\n <div innerContent1>\n <form *ngIf=\"$infraSegConfigRecord; else loading\" [formGroup]=\"form\">\n\n <div class=\"d-flex justify-content-start align-items-center\">\n <div class=\"mb-3\">\n <h2 class=\"fs-5\">Atualmente seu n\u00EDvel de seguran\u00E7a \u00E9 \n <span class=\"rounded text-white p-1 px-2 fw-bold\"\n [ngClass]=\"{\n 'bg-danger': initialLevel === 1,\n 'bg-warning': initialLevel === 2,\n 'bg-success': initialLevel === 3,\n 'bg-primary': initialLevel === 4,\n }\" >\n\n @switch (initialLevel) {\n @case (1) { Baixo }\n @case (2) { M\u00E9dio }\n @case (3) { Alto }\n @case (4) { Personalizado }\n }\n\n <!-- <strong *ngIf=\"initialLevel === 1\"> Baixo </strong>\n <strong class=\"text-dark\" *ngIf=\"initialLevel === 2\"> M\u00E9dio </strong>\n <strong *ngIf=\"initialLevel === 3\"> Alto </strong>\n <strong *ngIf=\"initialLevel === 4\"> Personalizado </strong> -->\n </span>\n </h2>\n </div>\n </div>\n <div class=\"border rounded mb-4\">\n <div class=\"card-body\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">Selecione um n\u00EDvel de seguran\u00E7a abaixo:</h3>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option1\" autocomplete=\"off\" [value]=\"1\" (change)=\"onSelectLevel(Level)\" >\n <label [class.btn-outline-danger]=\"Level === 1\" [class.bg-danger]=\"Level === 1\" class=\"btn btn-secondary m-2\" for=\"option1\"><lib-icon iconName=\"cadeado-aberto-outline\"/> Baixo </label>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option2\" autocomplete=\"off\" [value]=\"2\" (change)=\"onSelectLevel(Level)\" >\n <label [class.bg-warning]=\"Level === 2\" [class.btn-outline-warning]=\"Level === 2\" class=\" btn btn-secondary text-light m-2\" for=\"option2\"><lib-icon iconName=\"cadeado-semiaberto-outline\"/> M\u00E9dio</label>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option3\" autocomplete=\"off\" [value]=\"3\" (change)=\"onSelectLevel(Level)\" >\n <label [class.btn-outline-success]=\"Level === 3\" [class.bg-success]=\"Level === 3\" class=\"btn btn-secondary m-2\" for=\"option3\"><lib-icon iconName=\"cadeado-outline\"/> Alto</label>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option4\" autocomplete=\"off\" [value]=\"4\" (change)=\"onSelectLevel(Level)\" >\n <label [class.btn-outline-primary]=\"Level === 4\" [class.bg-primary]=\"Level === 4\" class=\"btn btn-secondary m-2\" for=\"option4\"><lib-icon iconName=\"chave\"/> Personalizado</label>\n </div>\n </div>\n\n <div class=\"border rounded p-3 mb-4\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">A senha deve conter:</h3>\n\n <div class=\"row\">\n <div class=\"col-3\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"numeros\"> N\u00FAmero </label>\n <input formControlName=\"Is_Numeros\" class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"numeros\">\n </div>\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"letraMaiuscula\"> Letra Mai\u00FAscula </label>\n <input formControlName=\"Is_LetrasMaiusculas\" class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"letraMaiuscula\">\n </div>\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"caracteresEspeciais\">Caractere especial</label>\n <input formControlName=\"Is_CaracteresEspeciais\" class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"caracteresEspeciais\">\n <lib-icon class=\"ms-1\" iconName=\"info\" iconColor=\"blue\" iconSize=\"small\" tooltip=\"Caracteres sugeridos: ! @ # $ % & * ( ) _ + = [ ] { } | ?\" />\n </div>\n </div>\n\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"qtnTrocaSenhaInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe a quantidade em dias que a senha ser\u00E1 v\u00E1lida, ap\u00F3s este per\u00EDodo a senha dever\u00E1 ser trocada pelo usu\u00E1rio.\" />\n Validade em dias\n </label>\n <input formControlName=\"QtnTrocaSenha\" type=\"number\" class=\"form-control form-input\" id=\"qtnTrocaSenhaInput\" tooltip=\"Informe a quantidade em dias que a senha ser\u00E1 v\u00E1lida, ap\u00F3s este per\u00EDodo a senha dever\u00E1 ser trocada pelo usu\u00E1rio.\" >\n <app-field-error-message [control]=\"form.get('QtnTrocaSenha')\"></app-field-error-message>\n </div>\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"qtnMinimaInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe a quantidade m\u00EDnima de caracteres que a senha deve ter.\" />\n Tamanho m\u00EDnimo\n </label>\n <input formControlName=\"QtnMinima\" type=\"number\" class=\"form-control form-input\" id=\"qtnMinimaInput\" tooltip=\"Informe a quantidade m\u00EDnima de caracteres que a senha deve ter.\">\n <app-field-error-message [control]=\"form.get('QtnMinima')\"></app-field-error-message>\n </div>\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"qtnRepeticaoInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe quantas senhas diferentes o usu\u00E1rio dever\u00E1 usar antes que possa repetir alguma j\u00E1 utilizada.\" />\n Repeti\u00E7\u00E3o\n </label>\n <input formControlName=\"QtnRepeticao\" type=\"number\" class=\"form-control form-input\" id=\"qtnRepeticaoInput\" tooltip=\"Informe quantas senhas diferentes o usu\u00E1rio dever\u00E1 usar antes que possa repetir alguma j\u00E1 utilizada.\">\n <app-field-error-message [control]=\"form.get('QtnRepeticao')\"></app-field-error-message>\n </div>\n \n <!-- <div class=\"container col row\">\n \n </div> -->\n </div>\n </div>\n\n <div class=\"border rounded p-3\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">Bloqueios:</h3>\n\n <div class=\"row\">\n <!-- <div class=\"col-2 form-check form-switch\">\n <label class=\"form-check-label\" for=\"isDropSessionCheck\"> Derrubar multiplas sess\u00F5es</label>\n <input class=\"form-check-input\" id=\"isDropSessionCheck\" formControlName=\"Is_DropSession\" type=\"checkbox\" role=\"switch\">\n </div> -->\n \n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"diasInatividadeInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe quantos dias um usu\u00E1rio poder\u00E1 ficar sem entrar no sistema, ao exceder este n\u00FAmero o usu\u00E1rio ser\u00E1 desativado perdendo o acesso ao sistema, e somente os Administradores poder\u00E3o ativ\u00E1-lo novamente.\" />\n Dias de Inatividade\n </label>\n <input id=\"diasInatividadeInput\" formControlName=\"QtnInatividade\" type=\"number\" class=\"form-control form-input\" tooltip=\"Informe quantos dias um usu\u00E1rio poder\u00E1 ficar sem entrar no sistema, ao exceder este n\u00FAmero o usu\u00E1rio ser\u00E1 desativado perdendo o acesso ao sistema, e somente os Administradores poder\u00E3o ativ\u00E1-lo novamente.\">\n <app-field-error-message [control]=\"form.get('QtnInatividade')\"></app-field-error-message>\n </div>\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"tentativasDeAcessoInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe a quantidade de tentativas consecutivas de acesso ao sistema sem sucesso antes de bloquear o usu\u00E1rio, exigindo que ele fa\u00E7a uma recupera\u00E7\u00E3o de senha.\" />\n Tentativas de acesso\n </label>\n <input id=\"tentativasDeAcessoInput\" formControlName=\"QtnTentativa\" type=\"number\" class=\"form-control form-input\" tooltip=\"Informe a quantidade de tentativas consecutivas de acesso ao sistema sem sucesso antes de bloquear o usu\u00E1rio, exigindo que ele fa\u00E7a uma recupera\u00E7\u00E3o de senha.\">\n <app-field-error-message [control]=\"form.get('QtnTentativa')\"></app-field-error-message>\n </div>\n\n <!-- <div class=\"container col-6 row\">\n\n </div> -->\n </div>\n </div>\n\n <!-- Palavras do Guilherme: \"oculteia eles\", \"um dia implementamos\" -->\n <!-- #region MARK: LINKS OCULTADOS -->\n <!-- <div class=\"card p-3 mt-3\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">Redefini\u00E7\u00E3o de senha:</h3>\n <a href=\"#\" class=\"link-primary\">Obrigar todos os usu\u00E1rios a trocarem sua senha no pr\u00F3ximo login</a>\n <a href=\"#\" class=\"link-primary\">Selecionar usu\u00E1rios para trocarem sua senha no pr\u00F3ximo login</a>\n </div> -->\n <!-- #endregion LINKS OCULTADOS -->\n\n\n <!-- <div class=\"border rounded\">\n <div class=\"card-body\">\n \n\n </div>\n </div> -->\n\n </form>\n </div>\n\n</lib-container>\n<!-- #endregion BODY -->\n\n<!-- #region SPINNER -->\n<ng-template #loading>\n <div class=\"w-100 text-center\">\n <!-- <div class=\"spinner-border\" style=\"width: 3rem; height: 3rem;\" role=\"status\"> <span class=\"visually-hidden\">Carregando...</span> </div> -->\n <lib-spinner />\n </div>\n</ng-template>\n\n<ng-template #loadingIsAtivo>\n <div class=\"spinner-border spinner-border-sm me-2\" role=\"status\"> <span class=\"visually-hidden\">Carregando...</span> </div>\n</ng-template>\n<!-- #endregion SPINNER -->\n" }]
|
|
8509
|
+
args: [{ selector: 'lib-config-senha', imports: [LibHeaderComponent, ContentContainerComponent, NgIf, FormsModule, ReactiveFormsModule, NgClass, LibIconsComponent, TooltipModule, RequiredDirective, FieldErrorMessageComponent, LibSpinnerComponent], providers: [TenantService], template: "<lib-header [breadcrumbList]=\"[ 'Infra', 'Configura\u00E7\u00E3o de Senha' ]\" pageTitle=\"Configura\u00E7\u00E3o de Senha\"\n mode=\"edit\" [hideButtons]=\"[ 'Cancelar' ]\" (create)=\"onSubmit()\" (update)=\"onSubmit()\" />\n\n\n<!-- #region BODY -->\n<lib-container>\n\n <div innerContent1>\n <form *ngIf=\"$infraSegConfigRecord; else loading\" [formGroup]=\"form\">\n\n <div class=\"d-flex justify-content-start align-items-center\">\n <div class=\"mb-3\">\n <h2 class=\"fs-5\">Atualmente seu n\u00EDvel de seguran\u00E7a \u00E9 \n <span class=\"rounded text-white p-1 px-2 fw-bold\"\n [ngClass]=\"{\n 'bg-danger': initialLevel === 1,\n 'bg-warning': initialLevel === 2,\n 'bg-success': initialLevel === 3,\n 'bg-primary': initialLevel === 4,\n }\" >\n\n @switch (initialLevel) {\n @case (1) { Baixo }\n @case (2) { M\u00E9dio }\n @case (3) { Alto }\n @case (4) { Personalizado }\n }\n\n <!-- <strong *ngIf=\"initialLevel === 1\"> Baixo </strong>\n <strong class=\"text-dark\" *ngIf=\"initialLevel === 2\"> M\u00E9dio </strong>\n <strong *ngIf=\"initialLevel === 3\"> Alto </strong>\n <strong *ngIf=\"initialLevel === 4\"> Personalizado </strong> -->\n </span>\n </h2>\n </div>\n </div>\n <div class=\"border rounded mb-4\">\n <div class=\"card-body\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">Selecione um n\u00EDvel de seguran\u00E7a abaixo:</h3>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option1\" autocomplete=\"off\" [value]=\"1\" (change)=\"onSelectLevel(Level)\" >\n <label [class.btn-outline-danger]=\"Level === 1\" [class.bg-danger]=\"Level === 1\" class=\"btn btn-secondary m-2\" for=\"option1\"><lib-icon iconName=\"cadeado-aberto-outline\"/> Baixo </label>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option2\" autocomplete=\"off\" [value]=\"2\" (change)=\"onSelectLevel(Level)\" >\n <label [class.bg-warning]=\"Level === 2\" [class.btn-outline-warning]=\"Level === 2\" class=\" btn btn-secondary text-light m-2\" for=\"option2\"><lib-icon iconName=\"cadeado-semiaberto-outline\"/> M\u00E9dio</label>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option3\" autocomplete=\"off\" [value]=\"3\" (change)=\"onSelectLevel(Level)\" >\n <label [class.btn-outline-success]=\"Level === 3\" [class.bg-success]=\"Level === 3\" class=\"btn btn-secondary m-2\" for=\"option3\"><lib-icon iconName=\"cadeado-outline\"/> Alto</label>\n\n <input formControlName=\"Level\" type=\"radio\" class=\"btn-check\" name=\"Level\" id=\"option4\" autocomplete=\"off\" [value]=\"4\" (change)=\"onSelectLevel(Level)\" >\n <label [class.btn-outline-primary]=\"Level === 4\" [class.bg-primary]=\"Level === 4\" class=\"btn btn-secondary m-2\" for=\"option4\"><lib-icon iconName=\"chave\"/> Personalizado</label>\n </div>\n </div>\n\n <div class=\"border rounded p-3 mb-4\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">A senha deve conter:</h3>\n\n <div class=\"row\">\n <div class=\"col-3\">\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"numeros\"> N\u00FAmero </label>\n <input formControlName=\"Is_Numeros\" class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"numeros\">\n </div>\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"letraMaiuscula\"> Letra Mai\u00FAscula </label>\n <input formControlName=\"Is_LetrasMaiusculas\" class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"letraMaiuscula\">\n </div>\n <div class=\"form-check form-switch\">\n <label class=\"form-check-label\" for=\"caracteresEspeciais\">Caractere especial</label>\n <input formControlName=\"Is_CaracteresEspeciais\" class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"caracteresEspeciais\">\n <lib-icon class=\"ms-1\" iconName=\"info\" iconColor=\"blue\" iconSize=\"small\" tooltip=\"Caracteres sugeridos: ! @ # $ % & * ( ) _ + = [ ] { } | ?\" />\n </div>\n </div>\n\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"qtnTrocaSenhaInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe a quantidade em dias que a senha ser\u00E1 v\u00E1lida, ap\u00F3s este per\u00EDodo a senha dever\u00E1 ser trocada pelo usu\u00E1rio.\" />\n Validade em dias\n </label>\n <input formControlName=\"QtnTrocaSenha\" type=\"number\" class=\"form-control form-input\" id=\"qtnTrocaSenhaInput\" tooltip=\"Informe a quantidade em dias que a senha ser\u00E1 v\u00E1lida, ap\u00F3s este per\u00EDodo a senha dever\u00E1 ser trocada pelo usu\u00E1rio.\" >\n <app-field-error-message [control]=\"form.get('QtnTrocaSenha')\"></app-field-error-message>\n </div>\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"qtnMinimaInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe a quantidade m\u00EDnima de caracteres que a senha deve ter.\" />\n Tamanho m\u00EDnimo\n </label>\n <input formControlName=\"QtnMinima\" type=\"number\" class=\"form-control form-input\" id=\"qtnMinimaInput\" tooltip=\"Informe a quantidade m\u00EDnima de caracteres que a senha deve ter.\">\n <app-field-error-message [control]=\"form.get('QtnMinima')\"></app-field-error-message>\n </div>\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"qtnRepeticaoInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe quantas senhas diferentes o usu\u00E1rio dever\u00E1 usar antes que possa repetir alguma j\u00E1 utilizada.\" />\n Repeti\u00E7\u00E3o\n </label>\n <input formControlName=\"QtnRepeticao\" type=\"number\" class=\"form-control form-input\" id=\"qtnRepeticaoInput\" tooltip=\"Informe quantas senhas diferentes o usu\u00E1rio dever\u00E1 usar antes que possa repetir alguma j\u00E1 utilizada.\">\n <app-field-error-message [control]=\"form.get('QtnRepeticao')\"></app-field-error-message>\n </div>\n \n <!-- <div class=\"container col row\">\n \n </div> -->\n </div>\n </div>\n\n <div class=\"border rounded p-3\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">Bloqueios:</h3>\n\n <div class=\"row\">\n <!-- <div class=\"col-2 form-check form-switch\">\n <label class=\"form-check-label\" for=\"isDropSessionCheck\"> Derrubar multiplas sess\u00F5es</label>\n <input class=\"form-check-input\" id=\"isDropSessionCheck\" formControlName=\"Is_DropSession\" type=\"checkbox\" role=\"switch\">\n </div> -->\n \n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"diasInatividadeInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe quantos dias um usu\u00E1rio poder\u00E1 ficar sem entrar no sistema, ao exceder este n\u00FAmero o usu\u00E1rio ser\u00E1 desativado perdendo o acesso ao sistema, e somente os Administradores poder\u00E3o ativ\u00E1-lo novamente.\" />\n Dias de Inatividade\n </label>\n <input id=\"diasInatividadeInput\" formControlName=\"QtnInatividade\" type=\"number\" class=\"form-control form-input\" tooltip=\"Informe quantos dias um usu\u00E1rio poder\u00E1 ficar sem entrar no sistema, ao exceder este n\u00FAmero o usu\u00E1rio ser\u00E1 desativado perdendo o acesso ao sistema, e somente os Administradores poder\u00E3o ativ\u00E1-lo novamente.\">\n <app-field-error-message [control]=\"form.get('QtnInatividade')\"></app-field-error-message>\n </div>\n <div class=\"col-3\">\n <label libRequired class=\"form-label form-control-sm\" for=\"tentativasDeAcessoInput\">\n <lib-icon iconName=\"info\" iconSize=\"small\" iconColor=\"blue\" tooltip=\"Informe a quantidade de tentativas consecutivas de acesso ao sistema sem sucesso antes de bloquear o usu\u00E1rio, exigindo que ele fa\u00E7a uma recupera\u00E7\u00E3o de senha.\" />\n Tentativas de acesso\n </label>\n <input id=\"tentativasDeAcessoInput\" formControlName=\"QtnTentativa\" type=\"number\" class=\"form-control form-input\" tooltip=\"Informe a quantidade de tentativas consecutivas de acesso ao sistema sem sucesso antes de bloquear o usu\u00E1rio, exigindo que ele fa\u00E7a uma recupera\u00E7\u00E3o de senha.\">\n <app-field-error-message [control]=\"form.get('QtnTentativa')\"></app-field-error-message>\n </div>\n\n <!-- <div class=\"container col-6 row\">\n\n </div> -->\n </div>\n </div>\n\n <!-- Palavras do Guilherme: \"oculteia eles\", \"um dia implementamos\" -->\n <!-- #region MARK: LINKS OCULTADOS -->\n <!-- <div class=\"card p-3 mt-3\">\n <h3 class=\"card-subtitle mb-2 text-muted fs-6\">Redefini\u00E7\u00E3o de senha:</h3>\n <a href=\"#\" class=\"link-primary\">Obrigar todos os usu\u00E1rios a trocarem sua senha no pr\u00F3ximo login</a>\n <a href=\"#\" class=\"link-primary\">Selecionar usu\u00E1rios para trocarem sua senha no pr\u00F3ximo login</a>\n </div> -->\n <!-- #endregion LINKS OCULTADOS -->\n\n\n <!-- <div class=\"border rounded\">\n <div class=\"card-body\">\n \n\n </div>\n </div> -->\n\n </form>\n </div>\n\n</lib-container>\n<!-- #endregion BODY -->\n\n<!-- #region SPINNER -->\n<ng-template #loading>\n <div class=\"w-100 text-center\">\n <!-- <div class=\"spinner-border\" style=\"width: 3rem; height: 3rem;\" role=\"status\"> <span class=\"visually-hidden\">Carregando...</span> </div> -->\n <lib-spinner />\n </div>\n</ng-template>\n\n<ng-template #loadingIsAtivo>\n <div class=\"spinner-border spinner-border-sm me-2\" role=\"status\"> <span class=\"visually-hidden\">Carregando...</span> </div>\n</ng-template>\n<!-- #endregion SPINNER -->\n" }]
|
|
8478
8510
|
}], ctorParameters: () => [{ type: ConfiguracaoSenhaService }, { type: MessageService }, { type: TenantService }, { type: i1$2.Title }] });
|
|
8479
8511
|
|
|
8480
8512
|
class CurrencyPipe {
|
|
@@ -8778,7 +8810,7 @@ class LibCustomizableTableComponent {
|
|
|
8778
8810
|
this.list.sort((a, b) => {
|
|
8779
8811
|
const propertyA = this.getProperty(a, attribute).toUpperCase();
|
|
8780
8812
|
const propertyB = this.getProperty(b, attribute).toUpperCase();
|
|
8781
|
-
return Utils.
|
|
8813
|
+
return Utils.alphanumericSortOld(propertyA, propertyB, this.sortDirection[attribute]);
|
|
8782
8814
|
});
|
|
8783
8815
|
}
|
|
8784
8816
|
/** Compara os valores das propriedades entre dois objetos */
|
|
@@ -11249,11 +11281,11 @@ class IpServiceService {
|
|
|
11249
11281
|
}
|
|
11250
11282
|
getIPAddress() {
|
|
11251
11283
|
return this._httpClient.get("https://api.ipify.org/?format=json")
|
|
11252
|
-
.pipe(take
|
|
11284
|
+
.pipe(take(1));
|
|
11253
11285
|
}
|
|
11254
11286
|
getDataUser() {
|
|
11255
11287
|
return this._httpClient.get("https://ipapi.co/json")
|
|
11256
|
-
.pipe(take
|
|
11288
|
+
.pipe(take(1));
|
|
11257
11289
|
}
|
|
11258
11290
|
getDataBrowserUser() {
|
|
11259
11291
|
const navigatorInfo = navigator;
|
|
@@ -11293,7 +11325,7 @@ class QueueService {
|
|
|
11293
11325
|
const headers = new HttpHeaders()
|
|
11294
11326
|
.set('Content-Type', 'application/json');
|
|
11295
11327
|
return this.httpClient.post(url, jobRequest, { headers: headers })
|
|
11296
|
-
.pipe(take(1), tap(response => {
|
|
11328
|
+
.pipe(take$1(1), tap(response => {
|
|
11297
11329
|
if (response.Error) {
|
|
11298
11330
|
throw Error(response.ErrorMessage);
|
|
11299
11331
|
}
|
|
@@ -11540,7 +11572,7 @@ class LogsApiService {
|
|
|
11540
11572
|
const url = `${this._BASE_URL}/Get`;
|
|
11541
11573
|
return this._httpClient
|
|
11542
11574
|
.get(url, { 'params': params, 'headers': headers })
|
|
11543
|
-
.pipe(take(1), tap(response => {
|
|
11575
|
+
.pipe(take$1(1), tap(response => {
|
|
11544
11576
|
if (response.Error) {
|
|
11545
11577
|
throw Error(response.ErrorMessage);
|
|
11546
11578
|
}
|
|
@@ -11554,7 +11586,7 @@ class LogsApiService {
|
|
|
11554
11586
|
const url = `${this._BASE_URL}/GetLogsList`;
|
|
11555
11587
|
return this._httpClient
|
|
11556
11588
|
.post(url, JSON.stringify(search), { 'headers': headers })
|
|
11557
|
-
.pipe(take(1), tap(response => {
|
|
11589
|
+
.pipe(take$1(1), tap(response => {
|
|
11558
11590
|
if (response.Error) {
|
|
11559
11591
|
throw Error(response.ErrorMessage);
|
|
11560
11592
|
}
|
|
@@ -11863,7 +11895,7 @@ class LogsDataAccessService {
|
|
|
11863
11895
|
const url = `${this._BASE_URL}/Get`;
|
|
11864
11896
|
return this._httpClient
|
|
11865
11897
|
.get(url, { 'params': params, 'headers': headers })
|
|
11866
|
-
.pipe(take(1), tap(response => {
|
|
11898
|
+
.pipe(take$1(1), tap(response => {
|
|
11867
11899
|
if (response.Error) {
|
|
11868
11900
|
throw Error(response.ErrorMessage);
|
|
11869
11901
|
}
|
|
@@ -11877,7 +11909,7 @@ class LogsDataAccessService {
|
|
|
11877
11909
|
const url = `${this._BASE_URL}/GetLogsList`;
|
|
11878
11910
|
return this._httpClient
|
|
11879
11911
|
.post(url, JSON.stringify(search), { 'headers': headers })
|
|
11880
|
-
.pipe(take(1), tap(response => {
|
|
11912
|
+
.pipe(take$1(1), tap(response => {
|
|
11881
11913
|
if (response.Error) {
|
|
11882
11914
|
throw Error(response.ErrorMessage);
|
|
11883
11915
|
}
|
|
@@ -12177,7 +12209,7 @@ class LogsEmailService {
|
|
|
12177
12209
|
const url = `${this._BASE_URL}/Get`;
|
|
12178
12210
|
return this._httpClient
|
|
12179
12211
|
.get(url, { 'params': params, 'headers': headers })
|
|
12180
|
-
.pipe(take(1), tap(response => {
|
|
12212
|
+
.pipe(take$1(1), tap(response => {
|
|
12181
12213
|
if (response.Error) {
|
|
12182
12214
|
throw Error(response.ErrorMessage);
|
|
12183
12215
|
}
|
|
@@ -12191,7 +12223,7 @@ class LogsEmailService {
|
|
|
12191
12223
|
const url = `${this._BASE_URL}/GetLogsList`;
|
|
12192
12224
|
return this._httpClient
|
|
12193
12225
|
.post(url, JSON.stringify(search), { 'headers': headers })
|
|
12194
|
-
.pipe(take(1), tap(response => {
|
|
12226
|
+
.pipe(take$1(1), tap(response => {
|
|
12195
12227
|
if (response.Error) {
|
|
12196
12228
|
throw Error(response.ErrorMessage);
|
|
12197
12229
|
}
|
|
@@ -12490,7 +12522,7 @@ class LogsGeralService {
|
|
|
12490
12522
|
const url = `${this._BASE_URL}/Get`;
|
|
12491
12523
|
return this._httpClient
|
|
12492
12524
|
.get(url, { 'params': params, 'headers': headers })
|
|
12493
|
-
.pipe(take(1), tap(response => {
|
|
12525
|
+
.pipe(take$1(1), tap(response => {
|
|
12494
12526
|
if (response.Error) {
|
|
12495
12527
|
throw Error(response.ErrorMessage);
|
|
12496
12528
|
}
|
|
@@ -12504,7 +12536,7 @@ class LogsGeralService {
|
|
|
12504
12536
|
const url = `${this._BASE_URL}/GetLogsList`;
|
|
12505
12537
|
return this._httpClient
|
|
12506
12538
|
.post(url, JSON.stringify(search), { 'headers': headers })
|
|
12507
|
-
.pipe(take(1), tap(response => {
|
|
12539
|
+
.pipe(take$1(1), tap(response => {
|
|
12508
12540
|
if (response.Error) {
|
|
12509
12541
|
throw Error(response.ErrorMessage);
|
|
12510
12542
|
}
|
|
@@ -12794,7 +12826,7 @@ class LogsReportService {
|
|
|
12794
12826
|
const url = `${this._BASE_URL}/Get`;
|
|
12795
12827
|
return this._httpClient
|
|
12796
12828
|
.get(url, { 'params': params, 'headers': headers })
|
|
12797
|
-
.pipe(take(1), tap(response => {
|
|
12829
|
+
.pipe(take$1(1), tap(response => {
|
|
12798
12830
|
if (response.Error) {
|
|
12799
12831
|
throw Error(response.ErrorMessage);
|
|
12800
12832
|
}
|
|
@@ -12808,7 +12840,7 @@ class LogsReportService {
|
|
|
12808
12840
|
const url = `${this._BASE_URL}/GetLogsList`;
|
|
12809
12841
|
return this._httpClient
|
|
12810
12842
|
.post(url, JSON.stringify(search), { 'headers': headers })
|
|
12811
|
-
.pipe(take(1), tap(response => {
|
|
12843
|
+
.pipe(take$1(1), tap(response => {
|
|
12812
12844
|
if (response.Error) {
|
|
12813
12845
|
throw Error(response.ErrorMessage);
|
|
12814
12846
|
}
|
|
@@ -13101,7 +13133,7 @@ class LogsTimerService {
|
|
|
13101
13133
|
const url = `${this._BASE_URL}/Get`;
|
|
13102
13134
|
return this._httpClient
|
|
13103
13135
|
.get(url, { 'params': params, 'headers': headers })
|
|
13104
|
-
.pipe(take(1), tap(response => {
|
|
13136
|
+
.pipe(take$1(1), tap(response => {
|
|
13105
13137
|
if (response.Error) {
|
|
13106
13138
|
throw Error(response.ErrorMessage);
|
|
13107
13139
|
}
|
|
@@ -13115,7 +13147,7 @@ class LogsTimerService {
|
|
|
13115
13147
|
const url = `${this._BASE_URL}/GetLogsList`;
|
|
13116
13148
|
return this._httpClient
|
|
13117
13149
|
.post(url, JSON.stringify(search), { 'headers': headers })
|
|
13118
|
-
.pipe(take(1), tap(response => {
|
|
13150
|
+
.pipe(take$1(1), tap(response => {
|
|
13119
13151
|
if (response.Error) {
|
|
13120
13152
|
throw Error(response.ErrorMessage);
|
|
13121
13153
|
}
|
|
@@ -13422,7 +13454,7 @@ class LogsWSService {
|
|
|
13422
13454
|
const url = `${this._BASE_URL}/Get`;
|
|
13423
13455
|
return this._httpClient
|
|
13424
13456
|
.get(url, { 'params': params, 'headers': headers })
|
|
13425
|
-
.pipe(take(1), tap(response => {
|
|
13457
|
+
.pipe(take$1(1), tap(response => {
|
|
13426
13458
|
if (response.Error) {
|
|
13427
13459
|
throw Error(response.ErrorMessage);
|
|
13428
13460
|
}
|
|
@@ -13436,7 +13468,7 @@ class LogsWSService {
|
|
|
13436
13468
|
const url = `${this._BASE_URL}/GetLogsList`;
|
|
13437
13469
|
return this._httpClient
|
|
13438
13470
|
.post(url, JSON.stringify(search), { 'headers': headers })
|
|
13439
|
-
.pipe(take(1), tap(response => {
|
|
13471
|
+
.pipe(take$1(1), tap(response => {
|
|
13440
13472
|
if (response.Error) {
|
|
13441
13473
|
throw Error(response.ErrorMessage);
|
|
13442
13474
|
}
|