ngx-sp-auth 0.0.0-watch → 1.0.4
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/esm2022/lib/components/login/login.component.mjs +6 -9
- package/esm2022/lib/components/menu-lateral/dropdown/primary-dropdown/primary-dropdown.component.mjs +2 -3
- package/esm2022/lib/components/menu-lateral/menu/menu-lateral.component.mjs +3 -5
- package/esm2022/lib/components/menu-lateral/menu-services.service.mjs +2 -2
- package/esm2022/lib/components/menu-lateral/model/infrausuarioimg.mjs +8 -8
- package/esm2022/lib/custom/custom-login.service.mjs +5 -5
- package/esm2022/lib/custom/custom-menu.service.mjs +3 -3
- package/esm2022/lib/custom/custom-storage.service.mjs +70 -0
- package/esm2022/lib/custom/menu-config.service.mjs +3 -3
- package/esm2022/lib/custom/models/icustom-storage-service.mjs +2 -0
- package/esm2022/lib/custom/models/imenu-config.mjs +1 -1
- package/esm2022/lib/environments/environments.service.mjs +1 -1
- package/esm2022/lib/storage/auth-storage.service.mjs +11 -55
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/ngx-sp-auth.mjs +102 -84
- package/fesm2022/ngx-sp-auth.mjs.map +1 -1
- package/lib/components/login/login.component.d.ts +1 -1
- package/lib/components/menu-lateral/model/infrausuarioimg.d.ts +7 -7
- package/lib/custom/custom-storage.service.d.ts +19 -0
- package/lib/custom/models/icustom-storage-service.d.ts +7 -0
- package/lib/storage/auth-storage.service.d.ts +3 -7
- package/package.json +20 -2
- package/public-api.d.ts +2 -0
- package/src/assets/styles/styles.novo.scss +0 -0
package/fesm2022/ngx-sp-auth.mjs
CHANGED
|
@@ -22,12 +22,79 @@ import { take as take$1, tap as tap$1, map, switchMap } from 'rxjs/operators';
|
|
|
22
22
|
import * as i9 from '@angular/platform-browser';
|
|
23
23
|
import * as i11 from 'ngx-toastr';
|
|
24
24
|
|
|
25
|
+
class LibCustomStorageService {
|
|
26
|
+
constructor() {
|
|
27
|
+
// #region Propriedades Customizadas para o Componente auth-storage.service.ts
|
|
28
|
+
// indica se objeto já está marcado para salvar os dados no local storage.
|
|
29
|
+
this.__isSaving = false;
|
|
30
|
+
}
|
|
31
|
+
// #endregion Propriedades Customizadas para o Componente auth-storage.service.ts
|
|
32
|
+
// #region Métodos recebidos do projeto
|
|
33
|
+
storedStorageConstructor() { }
|
|
34
|
+
;
|
|
35
|
+
storedStorageSaveLocalInstance() { }
|
|
36
|
+
;
|
|
37
|
+
storedStorageLogout() { }
|
|
38
|
+
storedStorageInitializeAutoStorage() { }
|
|
39
|
+
;
|
|
40
|
+
// #endregion Métodos recebidos do projeto
|
|
41
|
+
// #region Métodos Customizadas para o Componente auth-storage.service.ts
|
|
42
|
+
// Método executado no auth-storage.service.ts - método: constructor ()
|
|
43
|
+
// Utilizado para inicializações diversas
|
|
44
|
+
storageConstructor() {
|
|
45
|
+
this.storedStorageConstructor();
|
|
46
|
+
}
|
|
47
|
+
// Método executado no auth-storage.service.ts - método: saveLocalInstance ()
|
|
48
|
+
// Utilizado para salvar informações no localStorage
|
|
49
|
+
storageSaveLocalInstance() {
|
|
50
|
+
this.storedStorageSaveLocalInstance();
|
|
51
|
+
}
|
|
52
|
+
// Método executado no auth-storage.service.ts - método: logout ()
|
|
53
|
+
// Utilizado para inicializar informações no localStorage na logout da aplicação
|
|
54
|
+
storageLogout() {
|
|
55
|
+
this.storedStorageLogout();
|
|
56
|
+
}
|
|
57
|
+
// Método executado no auth-storage.service.ts - método: reCheckLogin ()
|
|
58
|
+
// Utilizado para inicializações diversas quando o Login exeutado via Pré Portal
|
|
59
|
+
storageInitializeAutoStorage() {
|
|
60
|
+
this.storedStorageInitializeAutoStorage();
|
|
61
|
+
}
|
|
62
|
+
// Método executado para salvar as propriedades no LocalStorage (não deve ser modificado)
|
|
63
|
+
async __authStorageSaveLocalInstance() {
|
|
64
|
+
if (this.__isSaving) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.__isSaving = true;
|
|
68
|
+
this.storageSaveLocalInstance();
|
|
69
|
+
this.__authStorageNotSaving();
|
|
70
|
+
}
|
|
71
|
+
// Método executado para salvar as propriedades no LocalStorage (não deve ser modificado)
|
|
72
|
+
async __authStorageNotSaving() {
|
|
73
|
+
this.__isSaving = false;
|
|
74
|
+
}
|
|
75
|
+
// #endregion Métodos Customizadas para o Componente auth-storage.service.ts
|
|
76
|
+
ConfigurarCustomStorage(customStorageService) {
|
|
77
|
+
//passando propriedades do projeto para a lib
|
|
78
|
+
this.__isSaving = customStorageService.isSaving;
|
|
79
|
+
//passando implementação dos métodos do projeto para a lib
|
|
80
|
+
this.storedStorageConstructor = customStorageService.storageConstructor;
|
|
81
|
+
this.storedStorageInitializeAutoStorage = customStorageService.storageInitializeAutoStorage;
|
|
82
|
+
this.storedStorageLogout = customStorageService.storageLogout;
|
|
83
|
+
this.storedStorageSaveLocalInstance = customStorageService.storageSaveLocalInstance;
|
|
84
|
+
}
|
|
85
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCustomStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
86
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCustomStorageService, providedIn: 'root' }); }
|
|
87
|
+
}
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCustomStorageService, decorators: [{
|
|
89
|
+
type: Injectable,
|
|
90
|
+
args: [{ providedIn: 'root' }]
|
|
91
|
+
}], ctorParameters: () => [] });
|
|
92
|
+
|
|
25
93
|
class AuthStorageService {
|
|
26
|
-
constructor(_httpBackend) {
|
|
94
|
+
constructor(_httpBackend, _customStorageService) {
|
|
27
95
|
this._httpBackend = _httpBackend;
|
|
28
|
-
this.
|
|
29
|
-
|
|
30
|
-
: `https://${window.location.hostname}`;
|
|
96
|
+
this._customStorageService = _customStorageService;
|
|
97
|
+
this._HOSTNAME = "https://siscandesv6.sispro.com.br";
|
|
31
98
|
this._BASE_URL = `${this._HOSTNAME}/SisproErpCloud/Service_Private/Infra/SpInfra2LoginWS/api/LoginSisproERP`; // SpInfra2WS
|
|
32
99
|
this.__local_key = 'user_auth_v6';
|
|
33
100
|
// indica se objeto já está marcado para salvar os dados no local storage.
|
|
@@ -67,7 +134,7 @@ class AuthStorageService {
|
|
|
67
134
|
this._httpClient = new HttpClient(_httpBackend);
|
|
68
135
|
//this._BASE_URL = !environment.production ? this._BASE_URL : `${environment.SpInfra2LoginWS}/LoginSisproERP`;
|
|
69
136
|
// Método com customizações para inicializações da storage
|
|
70
|
-
this.storageConstructor();
|
|
137
|
+
this._customStorageService.storageConstructor();
|
|
71
138
|
const expectedLocalAuthStorage = localStorage.getItem(this.__local_key);
|
|
72
139
|
if (expectedLocalAuthStorage) {
|
|
73
140
|
const localAuthStorage = JSON.parse(expectedLocalAuthStorage);
|
|
@@ -204,7 +271,7 @@ class AuthStorageService {
|
|
|
204
271
|
this.__isSaving = true;
|
|
205
272
|
localStorage.setItem(this.__local_key, this.toJson());
|
|
206
273
|
// Método com customizações para salvar informações na storage
|
|
207
|
-
this.storageSaveLocalInstance();
|
|
274
|
+
this._customStorageService.storageSaveLocalInstance();
|
|
208
275
|
this.__notSaving();
|
|
209
276
|
}
|
|
210
277
|
async __notSaving() {
|
|
@@ -275,7 +342,7 @@ class AuthStorageService {
|
|
|
275
342
|
}
|
|
276
343
|
else {
|
|
277
344
|
// Método com customizações para inicializações da AutoStorage
|
|
278
|
-
this.storageInitializeAutoStorage();
|
|
345
|
+
this._customStorageService.storageInitializeAutoStorage();
|
|
279
346
|
}
|
|
280
347
|
this.isLoggedInSub.next(true);
|
|
281
348
|
setTimeout(this.reCheckLogin.bind(this), leftTime * 1000);
|
|
@@ -299,7 +366,7 @@ class AuthStorageService {
|
|
|
299
366
|
this.__isExternalLogin = false;
|
|
300
367
|
localStorage.removeItem(this.__local_key);
|
|
301
368
|
// Método com customizações para finalizações da storage
|
|
302
|
-
this.storageLogout();
|
|
369
|
+
this._customStorageService.storageLogout();
|
|
303
370
|
}
|
|
304
371
|
getNewTokenBack() {
|
|
305
372
|
let token = {
|
|
@@ -373,57 +440,13 @@ class AuthStorageService {
|
|
|
373
440
|
return false;
|
|
374
441
|
}
|
|
375
442
|
}
|
|
376
|
-
|
|
377
|
-
// #endregion Propriedades Customizadas para o Componente auth-storage.service.ts
|
|
378
|
-
// #region Métodos Customizadas para o Componente auth-storage.service.ts
|
|
379
|
-
// Método executado no auth-storage.service.ts - método: constructor ()
|
|
380
|
-
// Utilizado para inicializações diversas
|
|
381
|
-
storageConstructor(callback) {
|
|
382
|
-
if (callback) {
|
|
383
|
-
callback();
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
// Método executado no auth-storage.service.ts - método: saveLocalInstance ()
|
|
387
|
-
// Utilizado para salvar informações no localStorage
|
|
388
|
-
storageSaveLocalInstance(callback) {
|
|
389
|
-
if (callback) {
|
|
390
|
-
callback();
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
// Método executado no auth-storage.service.ts - método: logout ()
|
|
394
|
-
// Utilizado para inicializar informações no localStorage na logout da aplicação
|
|
395
|
-
storageLogout(callback) {
|
|
396
|
-
if (callback) {
|
|
397
|
-
callback();
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
// Método executado no auth-storage.service.ts - método: reCheckLogin ()
|
|
401
|
-
// Utilizado para inicializações diversas quando o Login exeutado via Pré Portal
|
|
402
|
-
storageInitializeAutoStorage(callback) {
|
|
403
|
-
if (callback) {
|
|
404
|
-
callback();
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
// Método executado para salvar as propriedades no LocalStorage (não deve ser modificado)
|
|
408
|
-
async __authStorageSaveLocalInstance() {
|
|
409
|
-
if (this.__isSaving) {
|
|
410
|
-
return;
|
|
411
|
-
}
|
|
412
|
-
this.__isSaving = true;
|
|
413
|
-
this.storageSaveLocalInstance();
|
|
414
|
-
this.__authStorageNotSaving();
|
|
415
|
-
}
|
|
416
|
-
// Método executado para salvar as propriedades no LocalStorage (não deve ser modificado)
|
|
417
|
-
async __authStorageNotSaving() {
|
|
418
|
-
this.__isSaving = false;
|
|
419
|
-
}
|
|
420
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthStorageService, deps: [{ token: i1.HttpBackend }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
443
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthStorageService, deps: [{ token: i1.HttpBackend }, { token: LibCustomStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
421
444
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthStorageService, providedIn: 'root' }); }
|
|
422
445
|
}
|
|
423
446
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthStorageService, decorators: [{
|
|
424
447
|
type: Injectable,
|
|
425
448
|
args: [{ providedIn: 'root' }]
|
|
426
|
-
}], ctorParameters: () => [{ type: i1.HttpBackend }] });
|
|
449
|
+
}], ctorParameters: () => [{ type: i1.HttpBackend }, { type: LibCustomStorageService }] });
|
|
427
450
|
|
|
428
451
|
class LibCustomLoginService {
|
|
429
452
|
constructor() { }
|
|
@@ -434,14 +457,14 @@ class LibCustomLoginService {
|
|
|
434
457
|
* Utilizado para inicializações diversas
|
|
435
458
|
*/
|
|
436
459
|
authLogin() {
|
|
437
|
-
this.storedAuthLogin;
|
|
460
|
+
this.storedAuthLogin();
|
|
438
461
|
}
|
|
439
462
|
/**
|
|
440
463
|
* Método executado no auth.service.ts - método: logout ()
|
|
441
464
|
* Utilizado para inicializações diversas
|
|
442
465
|
*/
|
|
443
466
|
authLogout() {
|
|
444
|
-
this.storedAuthLogout;
|
|
467
|
+
this.storedAuthLogout();
|
|
445
468
|
}
|
|
446
469
|
/**
|
|
447
470
|
* Método executado no auth.service.ts - método: login ()
|
|
@@ -453,7 +476,7 @@ class LibCustomLoginService {
|
|
|
453
476
|
router.navigate(["/home"]);
|
|
454
477
|
}
|
|
455
478
|
ConfigurarCustomLogin(customLoginService) {
|
|
456
|
-
//passando propriedades do
|
|
479
|
+
//passando propriedades do projeto para a lib
|
|
457
480
|
this.loginTitle = customLoginService.loginTitle;
|
|
458
481
|
this.loginSubtitle = customLoginService.loginSubtitle;
|
|
459
482
|
this.loginBackground = customLoginService.loginBackground;
|
|
@@ -463,7 +486,7 @@ class LibCustomLoginService {
|
|
|
463
486
|
this.loginDesenvDomain = customLoginService.loginDesenvDomain;
|
|
464
487
|
this.loginDesenvUser = customLoginService.loginDesenvUser;
|
|
465
488
|
this.loginDesenvPassword = customLoginService.loginDesenvPassword;
|
|
466
|
-
//passando implementação dos métodos do
|
|
489
|
+
//passando implementação dos métodos do projeto para a lib
|
|
467
490
|
this.storedAuthLogin = customLoginService.authLogin;
|
|
468
491
|
this.storedAuthLogout = customLoginService.authLogout;
|
|
469
492
|
}
|
|
@@ -825,9 +848,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
825
848
|
}] });
|
|
826
849
|
|
|
827
850
|
class LoginComponent {
|
|
828
|
-
constructor(
|
|
829
|
-
//public _customLoginService: CustomLoginService,
|
|
830
|
-
_bsModalService, _messageService, _formBuilder, _authService, _serverService, _environmentService, _authStorageService, _customLoginService, _title, _router, _toastrService) {
|
|
851
|
+
constructor(_bsModalService, _messageService, _formBuilder, _authService, _serverService, _environmentService, _authStorageService, _customLoginService, _title, _router, _toastrService) {
|
|
831
852
|
this._bsModalService = _bsModalService;
|
|
832
853
|
this._messageService = _messageService;
|
|
833
854
|
this._formBuilder = _formBuilder;
|
|
@@ -986,7 +1007,7 @@ class LoginComponent {
|
|
|
986
1007
|
}
|
|
987
1008
|
//Incialização de Senha
|
|
988
1009
|
if (response.InitializePassword) {
|
|
989
|
-
let param = btoa(`true$${this.dominio}$${this.usuario}`);
|
|
1010
|
+
let param = btoa(`true$${this.dominio}$${this.usuario}$${response.statusSenha}`);
|
|
990
1011
|
this._router.navigate([`auth/login/novaSenha/${param}`]);
|
|
991
1012
|
this._toastrService.success("Verifique no seu e-mail o código de validação.");
|
|
992
1013
|
}
|
|
@@ -1030,7 +1051,7 @@ class LoginComponent {
|
|
|
1030
1051
|
this._authService.forgottenPassword(this.formFgtPsw.value).subscribe({
|
|
1031
1052
|
next: (response) => {
|
|
1032
1053
|
this.closeForgottenPasswordModal();
|
|
1033
|
-
let param = btoa(`false$${this.
|
|
1054
|
+
let param = btoa(`false$${this.dominioFgtPsw}$${this.usuarioFgtPsw}$${3}`);
|
|
1034
1055
|
this._router.navigate([`auth/login/novaSenha/${param}`]);
|
|
1035
1056
|
this._toastrService.success("Verifique no seu e-mail o código de validação.");
|
|
1036
1057
|
},
|
|
@@ -1125,11 +1146,11 @@ class LoginComponent {
|
|
|
1125
1146
|
this._bsModalService.hide(this.idFgtPsw);
|
|
1126
1147
|
}
|
|
1127
1148
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoginComponent, deps: [{ token: i1$2.BsModalService }, { token: i5.MessageService }, { token: i3.FormBuilder }, { token: AuthService }, { token: ServerService }, { token: EnvironmentService }, { token: AuthStorageService }, { token: LibCustomLoginService }, { token: i9.Title }, { token: i1$1.Router }, { token: i11.ToastrService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoginComponent, selector: "lib-login", ngImport: i0, template: "<div class=\"container-fluid\">\r\n\t<div class=\"row\">\r\n\t\t<!-- Conte\u00FAdo da DIV do background -->\r\n\t\t<div class=\"col-md-7\">\r\n\t\t\t<div class=\"background\" style=\"background-image: linear-gradient(to bottom, rgba(10, 44, 81, 0.9), rgba(10, 44, 81, 0.9)), url({{_customLoginService.loginBackground}})\">\r\n\t\t\t\t<div class=\"text-position texto-apresentacao ps-5\">\r\n\t\t\t\t\t<h1 class=\"title\" id=\"title\"></h1>\r\n\t\t\t\t\t<p class=\"subtitle\" id=\"subtitle\"></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<!-- Conte\u00FAdo da DIV de Login -->\r\n\t\t<div class=\"col-md-5\">\r\n\r\n\t\t\t<div class=\"div-size\">\r\n\t\t\t\t<div class=\"logotipo\">\r\n\t\t\t\t\t<img style=\"height: 95px;\" src=\"{{ this._customLoginService.loginLogotipo }}\" alt=\"{{ this._customLoginService.loginAltLogotipo }}\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<form *ngIf=\"!showParmsAuthentication2Fa; else Authentication2Fa\" [formGroup]=\"form\" class=\"form-position\">\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"basic-addon1\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/cloud.svg\" alt=\"cloud icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"dominio\" id=\"dominio\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Dom\u00EDnio\" aria-label=\"Dom\u00EDnio\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('dominio'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('dominio')\" label=\"Dom\u00EDnio\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/at-sign.svg\" alt=\"at-sign icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"usuario\" id=\"usuario\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Usu\u00E1rio\" aria-label=\"Usu\u00E1rio\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('usuario'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('usuario')\" label=\"Usu\u00E1rio\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\" style=\"margin-bottom: 8px;\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"password\" class=\"form-control\" formControlName=\"senha\" id=\"senha\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Senha\" aria-label=\"senha\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('senha'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('senha')\" label=\"Senha\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"remember-password\">\r\n\t\t\t\t\t<!-- Lembrar Senha\r\n\t\t\t\t\t\t<input id=\"checkboxLembrarSenha\" type=\"checkbox\" />\r\n\t\t\t\t\t\t<label for=\"checkboxLembrarSenha\"> Lembrar minha senha </label>\r\n \t\t\t\t\t-->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<button [disabled]=\"isLoading\" (click)=\"getServer()\" type=\"submit\"\r\n\t\t\t\t\t\tclass=\"btn btn-primary btn-acessar btn-lg\">\r\n\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\r\n\t\t\t\t\t\t<span> Acessar </span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button type=\"button\" (click)=\"openForgottenPasswordModal(forgottenPasswordModal)\" class=\"forgotten-password\">\r\n\t\t\t\t\t\t<span> Esqueceu sua senha? </span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</form>\r\n\r\n\t\t\t\t<ng-template #Authentication2Fa>\r\n\t\t\t\t\t<form [formGroup]=\"formAuthentication2Fa\" class=\"form-position\">\r\n\t\t\t\t\t\t<div class=\"input-group input-group-lg form-item mb-3\">\r\n\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\r\n\t\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"code\" id=\"code\"\r\n\t\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"C\u00F3digo de 2 fatores\" aria-label=\"C\u00F3digo de 2 fatores\"\r\n\t\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formAuthentication2Fa.get('code'))\">\r\n\t\t\t\t\t\t\t<app-field-error-message [control]=\"formAuthentication2Fa.get('code')\" label=\"C\u00F3digo de 2 fatores\"></app-field-error-message>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"row mb-3\">\r\n\t\t\t\t\t\t\t<button (click)=\"voltar()\" type=\"button\" class=\"btn btn-acessar glb-btn-outline-dark-disabled col me-1\">\r\n\t\t\t\t\t\t\t\tVoltar\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<button [disabled]=\"isLoadingSendAuthentication2Fa\" (click)=\"sendCode()\" type=\"button\" class=\"btn btn-acessar btn-primary col ms-1\">\r\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoadingSendAuthentication2Fa\"></app-loading-button>\r\n\t\t\t\t\t\t\t\tAcessar\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t<button *ngIf=\"secondsLeft == 0; else newCode\" \r\n\t\t\t\t\t\t\t\t[disabled]=\"isLoading\" (click)=\"getNewCode()\" type=\"button\" class=\"btn btn-acessar btn-outline-primary col\">\r\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\r\n\t\t\t\t\t\t\t\tEnviar novo c\u00F3digo\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<ng-template #newCode>\r\n\t\t\t\t\t\t\t\t<p class=\"text-center\">{{ secondsLeft}} {{ secondsLeft == 1 ? 'segundo' : 'segundos' }} para obter novo c\u00F3digo</p>\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</form>\t\r\n\t\t\t\t</ng-template>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"footer-position\">\r\n\t\t\t\t\t<footer>\r\n\t\t\t\t\t\t<span class=\"footer\"> \r\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/JmGeNlJdw/1/poli%CC%81tica-de-privacidade/pt_BR?s=1685731510066\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Privacidade </a>\r\n\t\t\t\t\t\t\t<p class=\"separator\"> | </p>\r\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/Rork35NN2/2/poli%CC%81tica-de-cookies/pt_BR?s=1685731551976\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Cookies </a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"footer\"> Desenvolvido por \r\n\t\t\t\t\t\t\t<a href=\"https://www.sispro.com.br/\" target=\"_blank\" class=\"sispro text-primary\"> sispro s/a </a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"footer\"> Servi\u00E7os e Tecnologia da informa\u00E7\u00E3o \u00A9 {{ year }} Todos os direitos reservados </span>\r\n\t\t\t\t\t\t\t<div class=\"icons\">\r\n\t\t\t\t\t\t\t\t<a href=\"https://pt-br.facebook.com/SisproERP/\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"facebook\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<a href=\"https://www.instagram.com/accounts/login/?next=/sispro_software/\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"instagram\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<a href=\"https://br.linkedin.com/company/sispro\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"linkedin\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div class=\"d-flex justify-content-center\">\r\n\t\t\t\t\t\t\t\t<a [href]=\"geturlErpConfig()\" style=\"text-decoration: none; font-size: 12px;\">\r\n\t\t\t\t\t\t\t\t\tConfigurar ERP\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</footer>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n<!-- Template do modal de senha esquecida -->\r\n<ng-template #forgottenPasswordModal>\r\n\t<form [formGroup]=\"formFgtPsw\">\r\n\t\t<div class=\"modal-content\" style=\"box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.5);\">\r\n\t\t\t<div class=\"modal-header p-3\">\r\n\t\t\t\t<h4 class=\"modal-title\"> Recupera\u00E7\u00E3o de senha </h4>\r\n\t\t\t\t<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\r\n\t\t\t\t\t(click)=\"closeForgottenPasswordModal()\">\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-body\">\r\n\t\t\t\t<label for=\"inputDominioFgtPsw\" class=\"input-label\"> Dom\u00EDnio <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t<input type=\"text\" id=\"inputDominioFgtPsw\" formControlName=\"dominioFgtPsw\"\r\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Dom\u00EDnio\"\r\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('dominioFgtPsw'))\">\r\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('dominioFgtPsw')\" label=\"Dom\u00EDnio\"></app-field-error-message>\t\t\t\t\r\n\r\n\t\t\t\t<label for=\"inputUsuarioFgtPsw\" class=\"input-label\"> Usu\u00E1rio <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t<input type=\"text\" id=\"inputUsuarioFgtPsw\" formControlName=\"usuarioFgtPsw\"\r\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Usu\u00E1rio\"\r\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('usuarioFgtPsw'))\">\r\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('usuarioFgtPsw')\" label=\"Usu\u00E1rio\"></app-field-error-message>\t\t\t\t\r\n\t\t\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-footer\">\r\n\t\t\t\t<button type=\"button\" class=\"btn glb-btn-dark-disabled modal-button\" (click)=\"closeForgottenPasswordModal()\">\r\n\t\t\t\t\t<span> Cancelar </span>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendForgottenPassword();\">\r\n\t\t\t\t\t<span> Continuar </span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t</div>\r\n\t</form>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";*{padding:0;margin:0;font-family:Open Sans,sans-serif}.background{display:grid;height:100vh;align-content:center;background-size:cover;color:#f5f5f5;align-items:center;justify-content:center}.div-size{display:flex;flex-direction:column;justify-content:space-around;width:100%;height:100vh;align-items:center;background-color:#f5f5f5;box-shadow:0 0 15px #333}.title{font-size:3.5vw;text-transform:uppercase;font-weight:700}.subtitle{font-size:21px}.logotipo{display:flex;justify-content:center;margin-top:10%}.form-position{display:flex;flex-direction:column;align-content:center;width:378px}.form-item{margin-bottom:16px}.input-group-text{padding:10px 11px;border-radius:4px 0 0 4px}.remember-password{display:flex;align-items:center;margin-bottom:8px;justify-content:center}.remember-password label{margin-left:8px}.forgotten-password{background-color:#f5f5f5;border:none;text-decoration:underline;font-size:14px;box-shadow:none;margin-top:8px;cursor:pointer}.forgotten-password:focus{outline-style:none}.input-label{font-size:16px;padding:10px 0 8px 16px}.input-label:first-child{font-size:16px;padding-top:16px}.input-text{width:343px;height:38px;margin:0 0 10px 16px;padding:0 8px}.input-text:last-child{font-size:16px;margin-bottom:24px}.form-control{max-width:341px}.footer{display:flex;justify-content:center}.footer-position{font-size:14px;display:flex;justify-content:center;align-items:flex-end}.icons{display:flex;justify-content:center;align-items:center;margin-top:16px}.icons a{padding:4px}.icon-item{margin-left:24px;color:#007bff}.sispro{color:#2847a0;margin-left:5px;text-transform:uppercase;text-decoration:none;font-weight:700}.modal-footer{padding:0}.modal:before{content:\"\";display:inline-block;height:100%;vertical-align:middle}.modal-style{display:flex;align-items:center;justify-content:center}.modal-style h4{font-size:20px;font-weight:700;padding:10px}.modal-button{margin:16px 0;padding:7px 12px}.modal-button:last-child{margin-right:16px;margin-left:8px}.modal-close{display:flex;align-content:center;margin-right:10px;padding:6px}.col-md-7,.col-md-5{padding:0}.btn-acessar{height:48px;outline-style:none}.texto-apresentacao{align-items:start}.separator{margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.FieldErrorMessageComponent, selector: "app-field-error-message, lib-error-message", inputs: ["customMessage", "control", "label"] }, { kind: "component", type: i5.LoadingButtonComponent, selector: "app-loading-button, lib-loading-button", inputs: ["isLoading"] }, { kind: "component", type: i5.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }], preserveWhitespaces: true }); }
|
|
1149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoginComponent, selector: "lib-login", ngImport: i0, template: "<div class=\"container-fluid\">\r\n\t<div class=\"row\">\r\n\t\t<!-- Conte\u00FAdo da DIV do background -->\r\n\t\t<div class=\"col-md-7\">\r\n\t\t\t<div class=\"background\" style=\"background-image: linear-gradient(to bottom, rgba(10, 44, 81, 0.9), rgba(10, 44, 81, 0.9)), url({{_customLoginService.loginBackground}})\">\r\n\t\t\t\t<div class=\"text-position texto-apresentacao ps-5\">\r\n\t\t\t\t\t<h1 class=\"title\" id=\"title\"></h1>\r\n\t\t\t\t\t<p class=\"subtitle\" id=\"subtitle\"></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<!-- Conte\u00FAdo da DIV de Login -->\r\n\t\t<div class=\"col-md-5\">\r\n\r\n\t\t\t<div class=\"div-size\">\r\n\t\t\t\t<div class=\"logotipo\">\r\n\t\t\t\t\t<img style=\"height: 95px;\" src=\"{{ this._customLoginService.loginLogotipo }}\" alt=\"{{ this._customLoginService.loginAltLogotipo }}\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<form *ngIf=\"!showParmsAuthentication2Fa; else Authentication2Fa\" [formGroup]=\"form\" class=\"form-position\">\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"basic-addon1\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/cloud.svg\" alt=\"cloud icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"dominio\" id=\"dominio\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Dom\u00EDnio\" aria-label=\"Dom\u00EDnio\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('dominio'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('dominio')\" label=\"Dom\u00EDnio\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/at-sign.svg\" alt=\"at-sign icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"usuario\" id=\"usuario\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Usu\u00E1rio\" aria-label=\"Usu\u00E1rio\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('usuario'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('usuario')\" label=\"Usu\u00E1rio\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\" style=\"margin-bottom: 8px;\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"password\" class=\"form-control\" formControlName=\"senha\" id=\"senha\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Senha\" aria-label=\"senha\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('senha'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('senha')\" label=\"Senha\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"remember-password\">\r\n\t\t\t\t\t<!-- Lembrar Senha\r\n\t\t\t\t\t\t<input id=\"checkboxLembrarSenha\" type=\"checkbox\" />\r\n\t\t\t\t\t\t<label for=\"checkboxLembrarSenha\"> Lembrar minha senha </label>\r\n \t\t\t\t\t-->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<button [disabled]=\"isLoading\" (click)=\"getServer()\" type=\"submit\"\r\n\t\t\t\t\t\tclass=\"btn btn-primary btn-acessar btn-lg\">\r\n\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\r\n\t\t\t\t\t\t<span> Acessar </span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button type=\"button\" (click)=\"openForgottenPasswordModal(forgottenPasswordModal)\" class=\"forgotten-password\">\r\n\t\t\t\t\t\t<span> Esqueceu sua senha? </span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</form>\r\n\r\n\t\t\t\t<ng-template #Authentication2Fa>\r\n\t\t\t\t\t<form [formGroup]=\"formAuthentication2Fa\" class=\"form-position\">\r\n\t\t\t\t\t\t<div class=\"input-group input-group-lg form-item mb-3\">\r\n\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\r\n\t\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"code\" id=\"code\"\r\n\t\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"C\u00F3digo de 2 fatores\" aria-label=\"C\u00F3digo de 2 fatores\"\r\n\t\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formAuthentication2Fa.get('code'))\">\r\n\t\t\t\t\t\t\t<app-field-error-message [control]=\"formAuthentication2Fa.get('code')\" label=\"C\u00F3digo de 2 fatores\"></app-field-error-message>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"row mb-3\">\r\n\t\t\t\t\t\t\t<button (click)=\"voltar()\" type=\"button\" class=\"btn btn-acessar glb-btn-outline-dark-disabled col me-1\">\r\n\t\t\t\t\t\t\t\tVoltar\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<button [disabled]=\"isLoadingSendAuthentication2Fa\" (click)=\"sendCode()\" type=\"button\" class=\"btn btn-acessar btn-primary col ms-1\">\r\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoadingSendAuthentication2Fa\"></app-loading-button>\r\n\t\t\t\t\t\t\t\tAcessar\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t<button *ngIf=\"secondsLeft == 0; else newCode\" \r\n\t\t\t\t\t\t\t\t[disabled]=\"isLoading\" (click)=\"getNewCode()\" type=\"button\" class=\"btn btn-acessar btn-outline-primary col\">\r\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\r\n\t\t\t\t\t\t\t\tEnviar novo c\u00F3digo\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<ng-template #newCode>\r\n\t\t\t\t\t\t\t\t<p class=\"text-center\">{{ secondsLeft}} {{ secondsLeft == 1 ? 'segundo' : 'segundos' }} para obter novo c\u00F3digo</p>\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</form>\t\r\n\t\t\t\t</ng-template>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"footer-position\">\r\n\t\t\t\t\t<footer>\r\n\t\t\t\t\t\t<span class=\"footer\"> \r\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/JmGeNlJdw/1/poli%CC%81tica-de-privacidade/pt_BR?s=1685731510066\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Privacidade </a>\r\n\t\t\t\t\t\t\t<p class=\"separator\"> | </p>\r\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/Rork35NN2/2/poli%CC%81tica-de-cookies/pt_BR?s=1685731551976\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Cookies </a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"footer\"> Desenvolvido por \r\n\t\t\t\t\t\t\t<a href=\"https://www.sispro.com.br/\" target=\"_blank\" class=\"sispro text-primary\"> SISPRO </a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"footer\"> Servi\u00E7os e Tecnologia da Informa\u00E7\u00E3o LTDA \u00A9 {{ year }} Todos os direitos reservados </span>\r\n\t\t\t\t\t\t\t<div class=\"icons\">\r\n\t\t\t\t\t\t\t\t<a href=\"https://pt-br.facebook.com/SisproERP/\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"facebook\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<a href=\"https://www.instagram.com/accounts/login/?next=/sispro_software/\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"instagram\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<a href=\"https://br.linkedin.com/company/sispro\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"linkedin\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div class=\"d-flex justify-content-center\">\r\n\t\t\t\t\t\t\t\t<a [href]=\"geturlErpConfig()\" style=\"text-decoration: none; font-size: 12px;\">\r\n\t\t\t\t\t\t\t\t\tConfigurar ERP\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</footer>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n<!-- Template do modal de senha esquecida -->\r\n<ng-template #forgottenPasswordModal>\r\n\t<form [formGroup]=\"formFgtPsw\">\r\n\t\t<div class=\"modal-content\" style=\"box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.5);\">\r\n\t\t\t<div class=\"modal-header p-3\">\r\n\t\t\t\t<h4 class=\"modal-title\"> Recupera\u00E7\u00E3o de senha </h4>\r\n\t\t\t\t<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\r\n\t\t\t\t\t(click)=\"closeForgottenPasswordModal()\">\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-body\">\r\n\t\t\t\t<label for=\"inputDominioFgtPsw\" class=\"input-label\"> Dom\u00EDnio <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t<input type=\"text\" id=\"inputDominioFgtPsw\" formControlName=\"dominioFgtPsw\"\r\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Dom\u00EDnio\"\r\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('dominioFgtPsw'))\">\r\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('dominioFgtPsw')\" label=\"Dom\u00EDnio\"></app-field-error-message>\t\t\t\t\r\n\r\n\t\t\t\t<label for=\"inputUsuarioFgtPsw\" class=\"input-label\"> Usu\u00E1rio <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t<input type=\"text\" id=\"inputUsuarioFgtPsw\" formControlName=\"usuarioFgtPsw\"\r\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Usu\u00E1rio\"\r\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('usuarioFgtPsw'))\">\r\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('usuarioFgtPsw')\" label=\"Usu\u00E1rio\"></app-field-error-message>\t\t\t\t\r\n\t\t\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-footer\">\r\n\t\t\t\t<button type=\"button\" class=\"btn glb-btn-dark-disabled modal-button\" (click)=\"closeForgottenPasswordModal()\">\r\n\t\t\t\t\t<span> Cancelar </span>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendForgottenPassword();\">\r\n\t\t\t\t\t<span> Continuar </span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t</div>\r\n\t</form>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";*{padding:0;margin:0;font-family:Open Sans,sans-serif}.background{display:grid;height:100vh;align-content:center;background-size:cover;color:#f5f5f5;align-items:center;justify-content:center}.div-size{display:flex;flex-direction:column;justify-content:space-around;width:100%;height:100vh;align-items:center;background-color:#f5f5f5;box-shadow:0 0 15px #333}.title{font-size:3.5vw;text-transform:uppercase;font-weight:700}.subtitle{font-size:21px}.logotipo{display:flex;justify-content:center;margin-top:10%}.form-position{display:flex;flex-direction:column;align-content:center;width:378px}.form-item{margin-bottom:16px}.input-group-text{padding:10px 11px;border-radius:4px 0 0 4px}.remember-password{display:flex;align-items:center;margin-bottom:8px;justify-content:center}.remember-password label{margin-left:8px}.forgotten-password{background-color:#f5f5f5;border:none;text-decoration:underline;font-size:14px;box-shadow:none;margin-top:8px;cursor:pointer}.forgotten-password:focus{outline-style:none}.input-label{font-size:16px;padding:10px 0 8px 16px}.input-label:first-child{font-size:16px;padding-top:16px}.input-text{width:343px;height:38px;margin:0 0 10px 16px;padding:0 8px}.input-text:last-child{font-size:16px;margin-bottom:24px}.form-control{max-width:341px}.footer{display:flex;justify-content:center}.footer-position{font-size:14px;display:flex;justify-content:center;align-items:flex-end}.icons{display:flex;justify-content:center;align-items:center;margin-top:16px}.icons a{padding:4px}.icon-item{margin-left:24px;color:#007bff}.sispro{color:#2847a0;margin-left:5px;text-transform:uppercase;text-decoration:none;font-weight:700}.modal-footer{padding:0}.modal:before{content:\"\";display:inline-block;height:100%;vertical-align:middle}.modal-style{display:flex;align-items:center;justify-content:center}.modal-style h4{font-size:20px;font-weight:700;padding:10px}.modal-button{margin:16px 0;padding:7px 12px}.modal-button:last-child{margin-right:16px;margin-left:8px}.modal-close{display:flex;align-content:center;margin-right:10px;padding:6px}.col-md-7,.col-md-5{padding:0}.btn-acessar{height:48px;outline-style:none}.texto-apresentacao{align-items:start}.separator{margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.FieldErrorMessageComponent, selector: "app-field-error-message, lib-error-message", inputs: ["customMessage", "control", "label"] }, { kind: "component", type: i5.LoadingButtonComponent, selector: "app-loading-button, lib-loading-button", inputs: ["isLoading"] }, { kind: "component", type: i5.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }], preserveWhitespaces: true }); }
|
|
1129
1150
|
}
|
|
1130
1151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoginComponent, decorators: [{
|
|
1131
1152
|
type: Component,
|
|
1132
|
-
args: [{ selector: 'lib-login', standalone: false, preserveWhitespaces: true, template: "<div class=\"container-fluid\">\r\n\t<div class=\"row\">\r\n\t\t<!-- Conte\u00FAdo da DIV do background -->\r\n\t\t<div class=\"col-md-7\">\r\n\t\t\t<div class=\"background\" style=\"background-image: linear-gradient(to bottom, rgba(10, 44, 81, 0.9), rgba(10, 44, 81, 0.9)), url({{_customLoginService.loginBackground}})\">\r\n\t\t\t\t<div class=\"text-position texto-apresentacao ps-5\">\r\n\t\t\t\t\t<h1 class=\"title\" id=\"title\"></h1>\r\n\t\t\t\t\t<p class=\"subtitle\" id=\"subtitle\"></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<!-- Conte\u00FAdo da DIV de Login -->\r\n\t\t<div class=\"col-md-5\">\r\n\r\n\t\t\t<div class=\"div-size\">\r\n\t\t\t\t<div class=\"logotipo\">\r\n\t\t\t\t\t<img style=\"height: 95px;\" src=\"{{ this._customLoginService.loginLogotipo }}\" alt=\"{{ this._customLoginService.loginAltLogotipo }}\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<form *ngIf=\"!showParmsAuthentication2Fa; else Authentication2Fa\" [formGroup]=\"form\" class=\"form-position\">\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"basic-addon1\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/cloud.svg\" alt=\"cloud icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"dominio\" id=\"dominio\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Dom\u00EDnio\" aria-label=\"Dom\u00EDnio\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('dominio'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('dominio')\" label=\"Dom\u00EDnio\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/at-sign.svg\" alt=\"at-sign icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"usuario\" id=\"usuario\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Usu\u00E1rio\" aria-label=\"Usu\u00E1rio\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('usuario'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('usuario')\" label=\"Usu\u00E1rio\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\" style=\"margin-bottom: 8px;\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"password\" class=\"form-control\" formControlName=\"senha\" id=\"senha\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Senha\" aria-label=\"senha\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('senha'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('senha')\" label=\"Senha\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"remember-password\">\r\n\t\t\t\t\t<!-- Lembrar Senha\r\n\t\t\t\t\t\t<input id=\"checkboxLembrarSenha\" type=\"checkbox\" />\r\n\t\t\t\t\t\t<label for=\"checkboxLembrarSenha\"> Lembrar minha senha </label>\r\n \t\t\t\t\t-->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<button [disabled]=\"isLoading\" (click)=\"getServer()\" type=\"submit\"\r\n\t\t\t\t\t\tclass=\"btn btn-primary btn-acessar btn-lg\">\r\n\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\r\n\t\t\t\t\t\t<span> Acessar </span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button type=\"button\" (click)=\"openForgottenPasswordModal(forgottenPasswordModal)\" class=\"forgotten-password\">\r\n\t\t\t\t\t\t<span> Esqueceu sua senha? </span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</form>\r\n\r\n\t\t\t\t<ng-template #Authentication2Fa>\r\n\t\t\t\t\t<form [formGroup]=\"formAuthentication2Fa\" class=\"form-position\">\r\n\t\t\t\t\t\t<div class=\"input-group input-group-lg form-item mb-3\">\r\n\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\r\n\t\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"code\" id=\"code\"\r\n\t\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"C\u00F3digo de 2 fatores\" aria-label=\"C\u00F3digo de 2 fatores\"\r\n\t\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formAuthentication2Fa.get('code'))\">\r\n\t\t\t\t\t\t\t<app-field-error-message [control]=\"formAuthentication2Fa.get('code')\" label=\"C\u00F3digo de 2 fatores\"></app-field-error-message>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"row mb-3\">\r\n\t\t\t\t\t\t\t<button (click)=\"voltar()\" type=\"button\" class=\"btn btn-acessar glb-btn-outline-dark-disabled col me-1\">\r\n\t\t\t\t\t\t\t\tVoltar\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<button [disabled]=\"isLoadingSendAuthentication2Fa\" (click)=\"sendCode()\" type=\"button\" class=\"btn btn-acessar btn-primary col ms-1\">\r\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoadingSendAuthentication2Fa\"></app-loading-button>\r\n\t\t\t\t\t\t\t\tAcessar\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t<button *ngIf=\"secondsLeft == 0; else newCode\" \r\n\t\t\t\t\t\t\t\t[disabled]=\"isLoading\" (click)=\"getNewCode()\" type=\"button\" class=\"btn btn-acessar btn-outline-primary col\">\r\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\r\n\t\t\t\t\t\t\t\tEnviar novo c\u00F3digo\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<ng-template #newCode>\r\n\t\t\t\t\t\t\t\t<p class=\"text-center\">{{ secondsLeft}} {{ secondsLeft == 1 ? 'segundo' : 'segundos' }} para obter novo c\u00F3digo</p>\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</form>\t\r\n\t\t\t\t</ng-template>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"footer-position\">\r\n\t\t\t\t\t<footer>\r\n\t\t\t\t\t\t<span class=\"footer\"> \r\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/JmGeNlJdw/1/poli%CC%81tica-de-privacidade/pt_BR?s=1685731510066\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Privacidade </a>\r\n\t\t\t\t\t\t\t<p class=\"separator\"> | </p>\r\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/Rork35NN2/2/poli%CC%81tica-de-cookies/pt_BR?s=1685731551976\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Cookies </a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"footer\"> Desenvolvido por \r\n\t\t\t\t\t\t\t<a href=\"https://www.sispro.com.br/\" target=\"_blank\" class=\"sispro text-primary\"> sispro s/a </a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"footer\"> Servi\u00E7os e Tecnologia da informa\u00E7\u00E3o \u00A9 {{ year }} Todos os direitos reservados </span>\r\n\t\t\t\t\t\t\t<div class=\"icons\">\r\n\t\t\t\t\t\t\t\t<a href=\"https://pt-br.facebook.com/SisproERP/\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"facebook\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<a href=\"https://www.instagram.com/accounts/login/?next=/sispro_software/\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"instagram\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<a href=\"https://br.linkedin.com/company/sispro\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"linkedin\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div class=\"d-flex justify-content-center\">\r\n\t\t\t\t\t\t\t\t<a [href]=\"geturlErpConfig()\" style=\"text-decoration: none; font-size: 12px;\">\r\n\t\t\t\t\t\t\t\t\tConfigurar ERP\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</footer>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n<!-- Template do modal de senha esquecida -->\r\n<ng-template #forgottenPasswordModal>\r\n\t<form [formGroup]=\"formFgtPsw\">\r\n\t\t<div class=\"modal-content\" style=\"box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.5);\">\r\n\t\t\t<div class=\"modal-header p-3\">\r\n\t\t\t\t<h4 class=\"modal-title\"> Recupera\u00E7\u00E3o de senha </h4>\r\n\t\t\t\t<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\r\n\t\t\t\t\t(click)=\"closeForgottenPasswordModal()\">\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-body\">\r\n\t\t\t\t<label for=\"inputDominioFgtPsw\" class=\"input-label\"> Dom\u00EDnio <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t<input type=\"text\" id=\"inputDominioFgtPsw\" formControlName=\"dominioFgtPsw\"\r\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Dom\u00EDnio\"\r\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('dominioFgtPsw'))\">\r\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('dominioFgtPsw')\" label=\"Dom\u00EDnio\"></app-field-error-message>\t\t\t\t\r\n\r\n\t\t\t\t<label for=\"inputUsuarioFgtPsw\" class=\"input-label\"> Usu\u00E1rio <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t<input type=\"text\" id=\"inputUsuarioFgtPsw\" formControlName=\"usuarioFgtPsw\"\r\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Usu\u00E1rio\"\r\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('usuarioFgtPsw'))\">\r\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('usuarioFgtPsw')\" label=\"Usu\u00E1rio\"></app-field-error-message>\t\t\t\t\r\n\t\t\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-footer\">\r\n\t\t\t\t<button type=\"button\" class=\"btn glb-btn-dark-disabled modal-button\" (click)=\"closeForgottenPasswordModal()\">\r\n\t\t\t\t\t<span> Cancelar </span>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendForgottenPassword();\">\r\n\t\t\t\t\t<span> Continuar </span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t</div>\r\n\t</form>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";*{padding:0;margin:0;font-family:Open Sans,sans-serif}.background{display:grid;height:100vh;align-content:center;background-size:cover;color:#f5f5f5;align-items:center;justify-content:center}.div-size{display:flex;flex-direction:column;justify-content:space-around;width:100%;height:100vh;align-items:center;background-color:#f5f5f5;box-shadow:0 0 15px #333}.title{font-size:3.5vw;text-transform:uppercase;font-weight:700}.subtitle{font-size:21px}.logotipo{display:flex;justify-content:center;margin-top:10%}.form-position{display:flex;flex-direction:column;align-content:center;width:378px}.form-item{margin-bottom:16px}.input-group-text{padding:10px 11px;border-radius:4px 0 0 4px}.remember-password{display:flex;align-items:center;margin-bottom:8px;justify-content:center}.remember-password label{margin-left:8px}.forgotten-password{background-color:#f5f5f5;border:none;text-decoration:underline;font-size:14px;box-shadow:none;margin-top:8px;cursor:pointer}.forgotten-password:focus{outline-style:none}.input-label{font-size:16px;padding:10px 0 8px 16px}.input-label:first-child{font-size:16px;padding-top:16px}.input-text{width:343px;height:38px;margin:0 0 10px 16px;padding:0 8px}.input-text:last-child{font-size:16px;margin-bottom:24px}.form-control{max-width:341px}.footer{display:flex;justify-content:center}.footer-position{font-size:14px;display:flex;justify-content:center;align-items:flex-end}.icons{display:flex;justify-content:center;align-items:center;margin-top:16px}.icons a{padding:4px}.icon-item{margin-left:24px;color:#007bff}.sispro{color:#2847a0;margin-left:5px;text-transform:uppercase;text-decoration:none;font-weight:700}.modal-footer{padding:0}.modal:before{content:\"\";display:inline-block;height:100%;vertical-align:middle}.modal-style{display:flex;align-items:center;justify-content:center}.modal-style h4{font-size:20px;font-weight:700;padding:10px}.modal-button{margin:16px 0;padding:7px 12px}.modal-button:last-child{margin-right:16px;margin-left:8px}.modal-close{display:flex;align-content:center;margin-right:10px;padding:6px}.col-md-7,.col-md-5{padding:0}.btn-acessar{height:48px;outline-style:none}.texto-apresentacao{align-items:start}.separator{margin-left:5px}\n"] }]
|
|
1153
|
+
args: [{ selector: 'lib-login', standalone: false, preserveWhitespaces: true, template: "<div class=\"container-fluid\">\r\n\t<div class=\"row\">\r\n\t\t<!-- Conte\u00FAdo da DIV do background -->\r\n\t\t<div class=\"col-md-7\">\r\n\t\t\t<div class=\"background\" style=\"background-image: linear-gradient(to bottom, rgba(10, 44, 81, 0.9), rgba(10, 44, 81, 0.9)), url({{_customLoginService.loginBackground}})\">\r\n\t\t\t\t<div class=\"text-position texto-apresentacao ps-5\">\r\n\t\t\t\t\t<h1 class=\"title\" id=\"title\"></h1>\r\n\t\t\t\t\t<p class=\"subtitle\" id=\"subtitle\"></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<!-- Conte\u00FAdo da DIV de Login -->\r\n\t\t<div class=\"col-md-5\">\r\n\r\n\t\t\t<div class=\"div-size\">\r\n\t\t\t\t<div class=\"logotipo\">\r\n\t\t\t\t\t<img style=\"height: 95px;\" src=\"{{ this._customLoginService.loginLogotipo }}\" alt=\"{{ this._customLoginService.loginAltLogotipo }}\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<form *ngIf=\"!showParmsAuthentication2Fa; else Authentication2Fa\" [formGroup]=\"form\" class=\"form-position\">\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"basic-addon1\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/cloud.svg\" alt=\"cloud icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"dominio\" id=\"dominio\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Dom\u00EDnio\" aria-label=\"Dom\u00EDnio\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('dominio'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('dominio')\" label=\"Dom\u00EDnio\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/at-sign.svg\" alt=\"at-sign icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"usuario\" id=\"usuario\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Usu\u00E1rio\" aria-label=\"Usu\u00E1rio\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('usuario'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('usuario')\" label=\"Usu\u00E1rio\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\" style=\"margin-bottom: 8px;\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"password\" class=\"form-control\" formControlName=\"senha\" id=\"senha\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Senha\" aria-label=\"senha\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('senha'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('senha')\" label=\"Senha\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"remember-password\">\r\n\t\t\t\t\t<!-- Lembrar Senha\r\n\t\t\t\t\t\t<input id=\"checkboxLembrarSenha\" type=\"checkbox\" />\r\n\t\t\t\t\t\t<label for=\"checkboxLembrarSenha\"> Lembrar minha senha </label>\r\n \t\t\t\t\t-->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<button [disabled]=\"isLoading\" (click)=\"getServer()\" type=\"submit\"\r\n\t\t\t\t\t\tclass=\"btn btn-primary btn-acessar btn-lg\">\r\n\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\r\n\t\t\t\t\t\t<span> Acessar </span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button type=\"button\" (click)=\"openForgottenPasswordModal(forgottenPasswordModal)\" class=\"forgotten-password\">\r\n\t\t\t\t\t\t<span> Esqueceu sua senha? </span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</form>\r\n\r\n\t\t\t\t<ng-template #Authentication2Fa>\r\n\t\t\t\t\t<form [formGroup]=\"formAuthentication2Fa\" class=\"form-position\">\r\n\t\t\t\t\t\t<div class=\"input-group input-group-lg form-item mb-3\">\r\n\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\r\n\t\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"code\" id=\"code\"\r\n\t\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"C\u00F3digo de 2 fatores\" aria-label=\"C\u00F3digo de 2 fatores\"\r\n\t\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formAuthentication2Fa.get('code'))\">\r\n\t\t\t\t\t\t\t<app-field-error-message [control]=\"formAuthentication2Fa.get('code')\" label=\"C\u00F3digo de 2 fatores\"></app-field-error-message>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"row mb-3\">\r\n\t\t\t\t\t\t\t<button (click)=\"voltar()\" type=\"button\" class=\"btn btn-acessar glb-btn-outline-dark-disabled col me-1\">\r\n\t\t\t\t\t\t\t\tVoltar\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<button [disabled]=\"isLoadingSendAuthentication2Fa\" (click)=\"sendCode()\" type=\"button\" class=\"btn btn-acessar btn-primary col ms-1\">\r\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoadingSendAuthentication2Fa\"></app-loading-button>\r\n\t\t\t\t\t\t\t\tAcessar\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t<button *ngIf=\"secondsLeft == 0; else newCode\" \r\n\t\t\t\t\t\t\t\t[disabled]=\"isLoading\" (click)=\"getNewCode()\" type=\"button\" class=\"btn btn-acessar btn-outline-primary col\">\r\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\r\n\t\t\t\t\t\t\t\tEnviar novo c\u00F3digo\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<ng-template #newCode>\r\n\t\t\t\t\t\t\t\t<p class=\"text-center\">{{ secondsLeft}} {{ secondsLeft == 1 ? 'segundo' : 'segundos' }} para obter novo c\u00F3digo</p>\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</form>\t\r\n\t\t\t\t</ng-template>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"footer-position\">\r\n\t\t\t\t\t<footer>\r\n\t\t\t\t\t\t<span class=\"footer\"> \r\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/JmGeNlJdw/1/poli%CC%81tica-de-privacidade/pt_BR?s=1685731510066\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Privacidade </a>\r\n\t\t\t\t\t\t\t<p class=\"separator\"> | </p>\r\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/Rork35NN2/2/poli%CC%81tica-de-cookies/pt_BR?s=1685731551976\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Cookies </a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"footer\"> Desenvolvido por \r\n\t\t\t\t\t\t\t<a href=\"https://www.sispro.com.br/\" target=\"_blank\" class=\"sispro text-primary\"> SISPRO </a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"footer\"> Servi\u00E7os e Tecnologia da Informa\u00E7\u00E3o LTDA \u00A9 {{ year }} Todos os direitos reservados </span>\r\n\t\t\t\t\t\t\t<div class=\"icons\">\r\n\t\t\t\t\t\t\t\t<a href=\"https://pt-br.facebook.com/SisproERP/\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"facebook\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<a href=\"https://www.instagram.com/accounts/login/?next=/sispro_software/\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"instagram\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<a href=\"https://br.linkedin.com/company/sispro\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"linkedin\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div class=\"d-flex justify-content-center\">\r\n\t\t\t\t\t\t\t\t<a [href]=\"geturlErpConfig()\" style=\"text-decoration: none; font-size: 12px;\">\r\n\t\t\t\t\t\t\t\t\tConfigurar ERP\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</footer>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n<!-- Template do modal de senha esquecida -->\r\n<ng-template #forgottenPasswordModal>\r\n\t<form [formGroup]=\"formFgtPsw\">\r\n\t\t<div class=\"modal-content\" style=\"box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.5);\">\r\n\t\t\t<div class=\"modal-header p-3\">\r\n\t\t\t\t<h4 class=\"modal-title\"> Recupera\u00E7\u00E3o de senha </h4>\r\n\t\t\t\t<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\r\n\t\t\t\t\t(click)=\"closeForgottenPasswordModal()\">\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-body\">\r\n\t\t\t\t<label for=\"inputDominioFgtPsw\" class=\"input-label\"> Dom\u00EDnio <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t<input type=\"text\" id=\"inputDominioFgtPsw\" formControlName=\"dominioFgtPsw\"\r\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Dom\u00EDnio\"\r\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('dominioFgtPsw'))\">\r\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('dominioFgtPsw')\" label=\"Dom\u00EDnio\"></app-field-error-message>\t\t\t\t\r\n\r\n\t\t\t\t<label for=\"inputUsuarioFgtPsw\" class=\"input-label\"> Usu\u00E1rio <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t<input type=\"text\" id=\"inputUsuarioFgtPsw\" formControlName=\"usuarioFgtPsw\"\r\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Usu\u00E1rio\"\r\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('usuarioFgtPsw'))\">\r\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('usuarioFgtPsw')\" label=\"Usu\u00E1rio\"></app-field-error-message>\t\t\t\t\r\n\t\t\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-footer\">\r\n\t\t\t\t<button type=\"button\" class=\"btn glb-btn-dark-disabled modal-button\" (click)=\"closeForgottenPasswordModal()\">\r\n\t\t\t\t\t<span> Cancelar </span>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendForgottenPassword();\">\r\n\t\t\t\t\t<span> Continuar </span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t</div>\r\n\t</form>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";*{padding:0;margin:0;font-family:Open Sans,sans-serif}.background{display:grid;height:100vh;align-content:center;background-size:cover;color:#f5f5f5;align-items:center;justify-content:center}.div-size{display:flex;flex-direction:column;justify-content:space-around;width:100%;height:100vh;align-items:center;background-color:#f5f5f5;box-shadow:0 0 15px #333}.title{font-size:3.5vw;text-transform:uppercase;font-weight:700}.subtitle{font-size:21px}.logotipo{display:flex;justify-content:center;margin-top:10%}.form-position{display:flex;flex-direction:column;align-content:center;width:378px}.form-item{margin-bottom:16px}.input-group-text{padding:10px 11px;border-radius:4px 0 0 4px}.remember-password{display:flex;align-items:center;margin-bottom:8px;justify-content:center}.remember-password label{margin-left:8px}.forgotten-password{background-color:#f5f5f5;border:none;text-decoration:underline;font-size:14px;box-shadow:none;margin-top:8px;cursor:pointer}.forgotten-password:focus{outline-style:none}.input-label{font-size:16px;padding:10px 0 8px 16px}.input-label:first-child{font-size:16px;padding-top:16px}.input-text{width:343px;height:38px;margin:0 0 10px 16px;padding:0 8px}.input-text:last-child{font-size:16px;margin-bottom:24px}.form-control{max-width:341px}.footer{display:flex;justify-content:center}.footer-position{font-size:14px;display:flex;justify-content:center;align-items:flex-end}.icons{display:flex;justify-content:center;align-items:center;margin-top:16px}.icons a{padding:4px}.icon-item{margin-left:24px;color:#007bff}.sispro{color:#2847a0;margin-left:5px;text-transform:uppercase;text-decoration:none;font-weight:700}.modal-footer{padding:0}.modal:before{content:\"\";display:inline-block;height:100%;vertical-align:middle}.modal-style{display:flex;align-items:center;justify-content:center}.modal-style h4{font-size:20px;font-weight:700;padding:10px}.modal-button{margin:16px 0;padding:7px 12px}.modal-button:last-child{margin-right:16px;margin-left:8px}.modal-close{display:flex;align-content:center;margin-right:10px;padding:6px}.col-md-7,.col-md-5{padding:0}.btn-acessar{height:48px;outline-style:none}.texto-apresentacao{align-items:start}.separator{margin-left:5px}\n"] }]
|
|
1133
1154
|
}], ctorParameters: () => [{ type: i1$2.BsModalService }, { type: i5.MessageService }, { type: i3.FormBuilder }, { type: AuthService }, { type: ServerService }, { type: EnvironmentService }, { type: AuthStorageService }, { type: LibCustomLoginService }, { type: i9.Title }, { type: i1$1.Router }, { type: i11.ToastrService }] });
|
|
1134
1155
|
|
|
1135
1156
|
/**Service responsável por pegar as opções do menu do projeto em que está sendo utilizada*/
|
|
@@ -1185,10 +1206,10 @@ class MenuConfigService {
|
|
|
1185
1206
|
return this.menuDropdown;
|
|
1186
1207
|
}
|
|
1187
1208
|
ConfigurarMenuConfig(menuConfig) {
|
|
1188
|
-
//passando propriedades do
|
|
1209
|
+
//passando propriedades do projeto para a lib
|
|
1189
1210
|
this._menuOptions = menuConfig.menuOptions;
|
|
1190
1211
|
this._isMenuStatic = menuConfig.isMenuStatic;
|
|
1191
|
-
//passando implementação dos métodos do
|
|
1212
|
+
//passando implementação dos métodos do projeto para a lib
|
|
1192
1213
|
this.storedInitializeMenu = menuConfig.initializeMenu;
|
|
1193
1214
|
this.storedInitializeMenuDropdown = menuConfig.initializeMenuDropdown;
|
|
1194
1215
|
}
|
|
@@ -1234,13 +1255,13 @@ class LibCustomMenuService {
|
|
|
1234
1255
|
this.menuConfig = _menuConfig;
|
|
1235
1256
|
}
|
|
1236
1257
|
ConfigurarCustomMenuService(RealcustomMenuService) {
|
|
1237
|
-
//passando propriedades do
|
|
1258
|
+
//passando propriedades do projeto para a lib
|
|
1238
1259
|
this.menuDynamic = RealcustomMenuService.menuDynamic;
|
|
1239
1260
|
this.moduleName = RealcustomMenuService.moduleName;
|
|
1240
1261
|
this.moduleImg = RealcustomMenuService.moduleImg;
|
|
1241
1262
|
this.moduleSvg = RealcustomMenuService.moduleSvg;
|
|
1242
1263
|
this.themeColor = RealcustomMenuService.themeColor;
|
|
1243
|
-
//passando implementação dos métodos do
|
|
1264
|
+
//passando implementação dos métodos do projeto para a lib
|
|
1244
1265
|
this.storedMenuStaticOnInit = RealcustomMenuService.menuStaticOnInit;
|
|
1245
1266
|
this.storedMenuopenExpansibleMenu = RealcustomMenuService.menuopenExpansibleMenu;
|
|
1246
1267
|
this.storedMenuDynamicOnInit = RealcustomMenuService.menuDynamicOnInit;
|
|
@@ -1319,7 +1340,6 @@ class PrimaryDropdownComponent {
|
|
|
1319
1340
|
this.primaryDropdown = [];
|
|
1320
1341
|
}
|
|
1321
1342
|
ngOnInit() {
|
|
1322
|
-
console.log('ngOnInit');
|
|
1323
1343
|
this.buttonWasClicked.subscribe(() => { this.selectDataState = true; });
|
|
1324
1344
|
// Resolver colisão de eventos
|
|
1325
1345
|
if (this._customMenuService.menuDynamic) {
|
|
@@ -1362,7 +1382,7 @@ class PrimaryDropdownComponent {
|
|
|
1362
1382
|
window.open(url, '_blank');
|
|
1363
1383
|
}
|
|
1364
1384
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PrimaryDropdownComponent, deps: [{ token: LibCustomMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1365
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PrimaryDropdownComponent, selector: "app-primary-dropdown", inputs: { buttonWasClicked: "buttonWasClicked" }, ngImport: i0, template: "<div class=\"p-2\">\r\n <div *ngIf=\"selectDataState; else secondary_dropdown\" class=\"mb-2 w-100\">\r\n <li *ngFor=\"let modulo of primaryDropdown\" (click)=\"(modulo.secondary_level != null ? openDropdown(modulo, secondary_dropdown) : redirectToModulo(modulo.URL))\">\r\n <a class=\"dropdown-item mb-2\">\r\n <img src=\"{{ modulo.icon }}\" alt=\"{{ modulo.label }}\">\r\n {{ modulo.label }}\r\n </a>\r\n </li>\r\n <hr class=\"dropdown-divider\">\r\n <li>\r\n <a class=\"dropdown-item link-portal mt-2\" (click)=\"redirectToPrePortal()\" target=\"_blank\">Portal Sispro</a>\r\n </li>\r\n </div>\r\n\r\n <ng-template #secondary_dropdown>\r\n <div #secondary_ref (clickOutside)=\"onClickedOutside($event, secondary_ref)\">\r\n <app-secondary-dropdown [modulo]=\"this.modulo\" (backPrimaryDropdown)=\"backToPrimary($event)\"></app-secondary-dropdown>\r\n </div>\r\n </ng-template>\r\n</div>", styles: ["*{padding:0;margin:0}li a{font-size:14px}li a img{margin-right:4px}li a:hover{font-weight:700;background-color:transparent}.dropdown-divider{height:0}.link-portal{color:#2847a0;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: SecondaryDropdownComponent, selector: "app-secondary-dropdown", inputs: ["modulo"], outputs: ["backPrimaryDropdown"] }] }); }
|
|
1385
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PrimaryDropdownComponent, selector: "app-primary-dropdown", inputs: { buttonWasClicked: "buttonWasClicked" }, ngImport: i0, template: "<div class=\"p-2\">\r\n <div *ngIf=\"selectDataState; else secondary_dropdown\" class=\"mb-2 w-100\">\r\n <li *ngFor=\"let modulo of primaryDropdown\" (click)=\"(modulo.secondary_level != null ? openDropdown(modulo, secondary_dropdown) : redirectToModulo(modulo.URL))\">\r\n <a class=\"dropdown-item mb-2\">\r\n <img src=\"{{ modulo.icon }}\" alt=\"{{ modulo.label }}\">\r\n {{ modulo.label }}\r\n </a>\r\n </li>\r\n <hr class=\"dropdown-divider\">\r\n <li>\r\n <a class=\"dropdown-item link-portal mt-2\" (click)=\"redirectToPrePortal()\" target=\"_blank\">Portal Sispro</a>\r\n </li>\r\n </div>\r\n\r\n <ng-template #secondary_dropdown>\r\n <div #secondary_ref (clickOutside)=\"onClickedOutside($event, secondary_ref)\">\r\n <app-secondary-dropdown [modulo]=\"this.modulo\" (backPrimaryDropdown)=\"backToPrimary($event)\"></app-secondary-dropdown>\r\n </div>\r\n </ng-template>\r\n</div>", styles: ["*{padding:0;margin:0}li a{font-size:14px}li a img{margin-right:4px}li a:hover{font-weight:700;background-color:transparent}.dropdown-divider{height:0}.link-portal{color:#2847a0;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ClickOutsideDirective, selector: "[clickOutside], [libClickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: SecondaryDropdownComponent, selector: "app-secondary-dropdown", inputs: ["modulo"], outputs: ["backPrimaryDropdown"] }] }); }
|
|
1366
1386
|
}
|
|
1367
1387
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PrimaryDropdownComponent, decorators: [{
|
|
1368
1388
|
type: Component,
|
|
@@ -1423,7 +1443,7 @@ class MenuServicesService {
|
|
|
1423
1443
|
if (response.Error) {
|
|
1424
1444
|
throw Error(response.ErrorMessage);
|
|
1425
1445
|
}
|
|
1426
|
-
this.saveImageToStorage(response.InfraUsuarioImg.
|
|
1446
|
+
this.saveImageToStorage(response.InfraUsuarioImg.Imagem, response.InfraUsuarioImg.FileName);
|
|
1427
1447
|
}));
|
|
1428
1448
|
}
|
|
1429
1449
|
// #endregion Menu: Usuário
|
|
@@ -1806,7 +1826,6 @@ class MenuLateralComponent {
|
|
|
1806
1826
|
this._menuServices.getNewUserImageEvent().subscribe(() => { this.getMenuUserImg(); });
|
|
1807
1827
|
}
|
|
1808
1828
|
ngOnInit() {
|
|
1809
|
-
console.log(this.menuConfig);
|
|
1810
1829
|
// Inscreva-se no evento NavigationEnd para receber notificações quando a rota mudar, serve para atualizar a seleção do menu corretamente
|
|
1811
1830
|
this._router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((event) => {
|
|
1812
1831
|
this._customMenuService.menuItems = this._customMenuService.menuConfig.updateRouteSelection(this._router.url, this._customMenuService.menuItems);
|
|
@@ -1846,7 +1865,7 @@ class MenuLateralComponent {
|
|
|
1846
1865
|
}
|
|
1847
1866
|
getMenuUserImg() {
|
|
1848
1867
|
this._menuServices.getImagemMenu().subscribe({
|
|
1849
|
-
next: response => { this.footerUserImgSrc = response.InfraUsuarioImg.
|
|
1868
|
+
next: response => { this.footerUserImgSrc = response.InfraUsuarioImg.Imagem; },
|
|
1850
1869
|
error: error => {
|
|
1851
1870
|
//this._projectUtilService.showHttpError(error);
|
|
1852
1871
|
this._messageService.showAlertDanger(error);
|
|
@@ -1917,7 +1936,6 @@ class MenuLateralComponent {
|
|
|
1917
1936
|
this.submenuList = [];
|
|
1918
1937
|
}
|
|
1919
1938
|
else {
|
|
1920
|
-
console.log(ref);
|
|
1921
1939
|
console.warn('ref is undefined or null');
|
|
1922
1940
|
}
|
|
1923
1941
|
}
|
|
@@ -1967,7 +1985,7 @@ class MenuLateralComponent {
|
|
|
1967
1985
|
this._bsModalService.hide(modalID);
|
|
1968
1986
|
}
|
|
1969
1987
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MenuLateralComponent, deps: [{ token: LibCustomMenuService }, { token: AuthStorageService }, { token: i1$2.BsModalService }, { token: MenuServicesService }, { token: i5.MessageService }, { token: i1$1.Router }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1970
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MenuLateralComponent, selector: "app-menu-lateral", queries: [{ propertyName: "desiredContent", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "notif_template", first: true, predicate: ["notif_menu"], descendants: true }, { propertyName: "menuLink", first: true, predicate: ["menuLink"], descendants: true }], ngImport: i0, template: "<!-- #region MAIN CONTENT -->\r\n<div class=\"main col-12\">\r\n\r\n <div style=\"height: 100vh; z-index: 3;\" class=\"sidebar-control position-relative d-flex flex-row\" \r\n (clickOutside)=\"closeMenu == true ? onClickedOutside($event, submenu_ref) : closeMenu = true\">\r\n <div class=\"sidebar {{_customMenuService.themeColor}} closed\" #sidebar>\r\n <div class=\"menu-header\">\r\n <ul>\r\n <li class=\"mb-3\">\r\n <div class=\"logo-hamburguer\">\r\n <img src=\"assets/icons/logotipo-sispro.svg\" alt=\"logo-sispro\" class=\"logo-sispro\" title=\"logo\" width=\"136px\" height=\"48px\">\r\n <button class=\"button-hamburguer\" (click)=\"openExpansibleMenu(sidebar)\">\r\n <img src=\"assets/icons/menu.svg\" alt=\"menu hamburguer\">\r\n </button>\r\n </div>\r\n </li>\r\n\r\n <!-- #region M\u00D3DULOS -->\r\n <li class=\"mb-3\" style=\"margin-left: 8px; margin-right: 8px\">\r\n <div class=\"btn-group\">\r\n <button (click)=\"dropdownWasOpened(true)\" type=\"button\" class=\"dropdown-button\" data-bs-toggle=\"dropdown\"\r\n aria-expanded=\"false\" data-bs-auto-close=\"outside\">\r\n\r\n <ng-container>\r\n <img *ngIf=\"_customMenuService.moduleImg != ''; else moduleSVG\" [src]=\"_customMenuService.moduleImg\" alt=\"\">\r\n <span class=\"ps-2\"> {{ this._customMenuService.moduleName }} <lib-icon iconName=\"seta-direita\" iconColor=\"white\" /> </span>\r\n\r\n <ng-template #moduleSVG>\r\n <lib-icon iconColor=\"white\" [iconName]=\"_customMenuService.moduleSvg\"/>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </button>\r\n <ul class=\"dropdown-menu\" #dropdown_ref>\r\n <app-primary-dropdown [buttonWasClicked]=\"messageIfClicked\"></app-primary-dropdown>\r\n </ul>\r\n </div>\r\n </li>\r\n <!-- #endregion M\u00D3DULOS -->\r\n\r\n <!-- #region ESTABELECIMENTOS -->\r\n <li class=\"mx-3\" style=\"margin-bottom: 16px;\">\r\n <div class=\"icon-estabelecimento\">\r\n <button class=\"row justify-content-between bg-transparent border-0\"\r\n (click)=\"openModal(modalEstabelecimento, MODAL_ESTABELECIMENTO)\"\r\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : nomeEstabelecimento\" placement=\"right\">\r\n\r\n <lib-icon class=\"col-1\" iconName=\"predio\" iconColor=\"white\" />\r\n <span *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-9 ps-2 glb-text-width-160 text-start text-truncate\"> {{ nomeEstabelecimento }} </span>\r\n <lib-icon *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-1\" iconName=\"seta-direita\" iconColor=\"white\" />\r\n </button>\r\n </div>\r\n </li>\r\n <!-- #endregion ESTABELECIMENTOS -->\r\n\r\n </ul>\r\n\r\n </div>\r\n\r\n <!-- #region MENUS DE NAVEGA\u00C7\u00C3O -->\r\n <div class=\"main-menu\">\r\n <div class=\"scroll\">\r\n <div class=\"list-menu px-2 pb-1\">\r\n\r\n <!-- #region MENU DIN\u00C2MICO -->\r\n <div class=\"dynamic-menu\">\r\n <ul #dynamic_menu_items *ngIf=\"_customMenuService.menuItems; else isLoading\">\r\n\r\n <li *ngFor=\"let menuItem of _customMenuService.menuItems; let i = index\" \r\n class=\"p-1 rounded\" \r\n (click)=\"openSubmenu(menuItem, submenu_ref, dynamic_menu)\" \r\n [class.selectedItem]=\"menuItem.isSelected\">\r\n\r\n <a *ngIf=\"!menuItem.isExternal; else externalMenu\"\r\n [routerLink]=\"menuItem.route != '' ? menuItem.route : null\" \r\n [id]=\"'item' + menuItem.id\" \r\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \r\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \r\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\r\n\r\n <div class=\"container\">\r\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImg\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\r\n <span class=\"span-main\">{{ menuItem.label }}</span>\r\n <ng-template #iconImg>\r\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\r\n </ng-template>\r\n </div>\r\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \r\n iconName=\"seta-direita\" iconColor=\"white\"/>\r\n </a>\r\n \r\n <ng-template #externalMenu>\r\n <a [href]=\"getExternalUrl(menuItem.route)\"\r\n target=\"_blank\" \r\n [id]=\"'item' + menuItem.id\" \r\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \r\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \r\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\r\n\r\n <div class=\"container\">\r\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImgExternal\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\r\n <span class=\"span-main\">{{ menuItem.label }}</span>\r\n <ng-template #iconImgExternal>\r\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\r\n </ng-template>\r\n </div>\r\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \r\n iconName=\"seta-direita\" iconColor=\"white\"/>\r\n </a>\r\n </ng-template>\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n\r\n <ng-template #isLoading>\r\n <li class=\"spinner-border spinner-border-sm mt-2\" role=\"status\" aria-hidden=\"true\"></li>\r\n </ng-template>\r\n <!-- #endregion MENU DIN\u00C2MICO -->\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- #endregion MENUS DE NAVEGA\u00C7\u00C3O -->\r\n\r\n <!-- #region FOOTER -->\r\n <div class=\"footer-menu\" (mouseenter)=\"showBalloon = true\" (mouseleave)=\"showBalloon = false\"\r\n [popover]=\"popoverContent\" placement=\"right bottom\" [outsideClick]=\"true\" containerClass=\"width: 200px\" >\r\n <div class=\"footer-components ps-1 pt-2\" [class.open]=\"showBalloon\">\r\n <button type=\"button\" class=\"btn btn-primary\">\r\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile ms-1\"\r\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\r\n <ng-template #noUserImg>\r\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\r\n </ng-template>\r\n <span class=\"glb-text-width-120 w-auto fw-bold text-start text-truncate ms-1 me-1\">\r\n {{ footerUserName }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n <ng-template #popoverContent>\r\n <div class=\"footer-menu\" style=\"width: 1000px;\">\r\n <div class=\"d-flex align-items-center\"> \r\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile\"\r\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\"> \r\n <ng-template #noUserImg>\r\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\r\n </ng-template>\r\n <div class=\"d-flex flex-column ms-1\"> \r\n <div [tooltip]=\"footerUserName\" class=\"dynamic-container\" style=\"white-space: nowrap; flex-grow: 1;max-width: 200px; font-size: 16px;\">{{footerUserName}}</div>\r\n <div [tooltip]=\"footerUserEmail\" class=\"dynamic-container\" style=\"white-space: nowrap; font-size: 12px; flex-grow: 1;max-width: 200px;\">{{footerUserEmail}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr class=\"mb-2 mt-2\">\r\n <div routerLink=\"meu-perfil\" style=\"cursor: pointer;\" (click)=\"togglePopover(); $event.stopPropagation()\">\r\n <lib-icon [iconSize]=\"'small'\" iconName=\"contraparte\"/> Meu Perfil\r\n </div>\r\n <div class=\"mt-2\" (click)=\"logout()\" style=\"cursor: pointer;\">\r\n <lib-icon [iconSize]=\"'small'\" iconName=\"logout\"/> Sair\r\n </div>\r\n </ng-template>\r\n <!-- #endregion FOOTER -->\r\n\r\n </div>\r\n\r\n <div class=\"submenu\" #submenu_ref>\r\n <ng-template [ngIf]=\"desiredContent !== null\">\r\n <ng-content *ngTemplateOutlet=\"desiredContent!; context: {$implicit: submenuList}\"></ng-content>\r\n </ng-template>\r\n </div>\r\n </div>\r\n \r\n <div class=\"main-content col d-flex flex-column align-content-between\" id=\"body-content\">\r\n <div class=\"content\" style=\"position: relative;\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <div app-footer></div>\r\n </div>\r\n\r\n</div>\r\n<!-- #endregion MAIN CONTENT -->\r\n\r\n<!-- #region TEMPLATES -->\r\n<!-- tem que perguntar pro Erick -->\r\n<!-- [submenuRef]=\"submenu_ref\" -->\r\n<ng-template #dynamic_menu let-data>\r\n <app-dynamic-menu \r\n [submenuList]=\"data\"\r\n [titleSubmenu]=\"titleSubmenu\"\r\n [submenuRef]=\"submenu_ref\"\r\n [recebeParam]=\"onClickedOutside.bind(this)\">\r\n </app-dynamic-menu>\r\n</ng-template>\r\n\r\n<ng-template #notif_menu>\r\n <app-notif-submenu></app-notif-submenu>\r\n</ng-template>\r\n\r\n<!-- #region MODAL SELECAO ESTABELECIMENTO -->\r\n<ng-template #modalEstabelecimento>\r\n <selecao-estabelecimentos-modal (onClose)=\"closeModal(MODAL_ESTABELECIMENTO)\"\r\n (onSelected)=\"closeModal(MODAL_ESTABELECIMENTO); updateLastLogEstabelecimento($event);\"></selecao-estabelecimentos-modal>\r\n</ng-template>\r\n<!-- #endregion MODAL SELECAO ESTABELECIMENTO -->\r\n\r\n<!-- #endregion TEMPLATES -->\r\n", styles: [".main{display:flex;width:100%;height:100%;background:#eee}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:#bbb;border-radius:16px}.main-content{width:100%;z-index:0;overflow-y:auto;overflow:overlay;height:100vh}.main-content .content{padding:0 16px 16px;background-color:#eee!important}.disable-scroll{overflow-y:hidden}*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;font-size:14px}span{color:#fff}ul{list-style:none;padding-left:0;white-space:nowrap}.dropdown-button{padding:8px;border-radius:8px;background-color:#3265ee;border:none;font-size:14px;font-weight:700;width:100%;display:flex}.dropdown-button span{width:100%;display:flex;justify-content:space-between}.dropdown-menu{width:212px;border-radius:8px}.dropdown-menu li{margin:16px 8px}.dropdown-menu li a{font-size:14px}.dropdown-menu li a:hover{font-weight:700;background-color:transparent}.dropdown-menu .dropdown-divider{height:0}.link-portal{color:#213b70;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}.container{display:flex;width:max-content}.sidebar{display:flex;flex-direction:column;height:100%;grid-template-rows:min-content;box-sizing:border-box;transition:width .5s;background-color:#213b70;max-width:inherit}.sidebar .footer-menu{justify-content:flex-end}.menu-header{display:flex;flex-direction:column;white-space:nowrap;padding:32px 0 0;background-color:#213b70}.menu-header ul li{margin-left:16px;margin-right:16px}.menu-header ul>li:last-child{border-bottom:1px solid #3265ee;padding-bottom:15px;height:auto}.dropdown{margin:0}.btn-group{width:100%}.sidebar.closed .menu-header ul li{margin-left:0;margin-right:0}.sidebar.closed .menu-header{display:flex;flex-direction:column;align-items:center}.icon-estabelecimento button{display:flex;flex-direction:row;width:100%;align-items:center;justify-content:center}.icon-estabelecimento button span:hover{font-weight:700}.header-content{display:flex;flex-direction:column;justify-content:space-evenly;height:100%;margin:0 20px}.logo-hamburguer{display:flex;justify-content:space-between;margin-right:8px}.logo-hamburguer .button-hamburguer{border:none;background-color:transparent}.sidebar.closed .logo-hamburguer{justify-content:center;margin-right:0}.scroll{overflow-y:auto;overflow-x:hidden;min-height:20%;margin-right:2px}.list-menu{padding-left:16px;padding-right:8px;display:flex;flex-direction:column;justify-content:center;white-space:nowrap}.list-menu .text-closed{padding-top:15px;display:none;color:#fff}.list-menu .text-opened{color:#fff;font-size:12px;padding-top:15px;visibility:visible;white-space:nowrap}.list-menu .li-main{padding:10px 7px;border-radius:8px}.list-menu .onSelect{background-color:#3265ee}.list-menu div.static-menu>ul>li:first-child{margin-top:16px}.list-menu .span-main{font-size:14px;margin-left:8px;opacity:1;pointer-events:auto;white-space:break-spaces}.list-menu .span-main:hover,.list-menu .list-options span:hover{font-weight:700}.list-menu p{font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #3265ee;visibility:hidden}.selectedItem{background-color:#3265ee}.selectedItem span{font-weight:700;background-color:transparent}.notif{padding:2px 13px;margin-bottom:none;background-color:#000;border-radius:8px;font-weight:700}.sidebar.closed .chevron{display:none}.sidebar.closed .icon-estabelecimento{margin:0}.sidebar.closed .icon-estabelecimento button{justify-content:center}.sidebar.closed .icon-estabelecimento button img{margin:0}.align-chevron{width:100%;text-align:justify;align-items:center;display:flex;justify-content:space-between}.selected-color{background-color:#3265ee}.main-menu{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:20%}.button-icons{border:none;background-color:transparent}.footer-menu{display:flex;flex-direction:column;padding-bottom:8px}.footer-menu .footer-components{display:flex;justify-content:space-between;border-top:1px solid #3265ee;white-space:nowrap;align-items:center}.footer-menu .footer-components .button-closed{display:none}.footer-menu button{border:none;background-color:transparent;border-radius:8px}.footer-menu .points{padding:4px 0;margin:4px 0;border-radius:8px}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.footer-menu .open-user{background-color:#3265ee}.submenu{width:341px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden;box-shadow:0 4px 8px #0000004d}.submenu ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}.submenu ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}.submenu .itens-list{display:flex;justify-content:space-between;align-items:center}.submenu .itens-list .favoritos,.submenu .itens-list span{cursor:pointer}.submenu .footer-menu{display:flex;flex-direction:row;justify-content:center;padding-bottom:16px;overflow:hidden}.submenu .footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.submenu .footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.submenu .footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu .footer-components{display:flex;justify-content:center;align-items:center}.submenu button{position:relative;left:10%;border:none;background-color:transparent}.submenu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0;box-shadow:0 4px 8px #0000004d}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.search-bar{max-width:368px;height:38px;margin-top:24px;border:1px solid #ced4da;box-sizing:border-box;border-radius:8px}.opened-notif-sub{min-width:452px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden}.sidebar.closed{max-width:73px}.sidebar.closed span{display:none}.sidebar.closed span{white-space:nowrap;overflow:hidden}.sidebar.closed .logo-sispro{display:none}.sidebar.closed .list-menu{padding:0;margin-left:0;margin-right:0;display:flex;flex-direction:column;align-items:center}.sidebar.closed .list-menu span{opacity:0;pointer-events:none}.sidebar.closed .list-menu .text-closed{padding-bottom:11px;visibility:visible;display:block}.sidebar.closed .list-menu .text-opened{display:none;font-size:8px}.sidebar.closed .list-menu .chevron,.sidebar.closed .favoritos,.sidebar.closed .footer-components .button-opened{display:none}.sidebar.closed .footer-components .button-closed{display:block}.sidebar.closed .button-icons{border:none;background-color:transparent}.sidebar.closed .footer-components{display:flex;align-items:center}.sidebar.closed button{border:none;background-color:transparent;display:block}.sidebar.closed .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.sidebar-control{height:100vh;max-width:227.667px}.sidebar-control .main-content.closed{margin-left:0}.glb-text-width-120{max-width:120px}.profile-picture{display:inline-block;position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden}.profile-picture img{width:100%;height:100%;object-fit:cover;border-radius:50%;clip-path:circle(50% at 50% 50%)}.image-div{width:50px;min-width:50px;height:50px;border-radius:100%;position:relative;overflow:hidden;z-index:1}.image-div #photoUser{width:146px;height:146px;top:-1px;left:-1px;object-fit:cover;position:relative;z-index:1;border:none;border-color:transparent}.dynamic-container{display:inline-block;white-space:nowrap;overflow:hidden}.custom-popover{width:1000px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i5.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: i5.FooterComponent, selector: "[app-footer], app-footer, lib-footer" }, { kind: "directive", type: i9$2.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "directive", type: i9$1.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: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: PrimaryDropdownComponent, selector: "app-primary-dropdown", inputs: ["buttonWasClicked"] }, { kind: "component", type: SelecaoEstabelecimentosModalComponent, selector: "selecao-estabelecimentos-modal", outputs: ["onClose", "onSelected"] }, { kind: "component", type: DynamicMenuComponent, selector: "app-dynamic-menu", inputs: ["submenuRef", "recebeParam", "titleSubmenu", "submenuList"], outputs: ["selectTemplate"] }, { kind: "component", type: NotifSubmenuComponent, selector: "app-notif-submenu" }] }); }
|
|
1988
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MenuLateralComponent, selector: "app-menu-lateral", queries: [{ propertyName: "desiredContent", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "notif_template", first: true, predicate: ["notif_menu"], descendants: true }, { propertyName: "menuLink", first: true, predicate: ["menuLink"], descendants: true }], ngImport: i0, template: "<!-- #region MAIN CONTENT -->\r\n<div class=\"main col-12\">\r\n\r\n <div style=\"height: 100vh; z-index: 3;\" class=\"sidebar-control position-relative d-flex flex-row\" \r\n (clickOutside)=\"closeMenu == true ? onClickedOutside($event, submenu_ref) : closeMenu = true\">\r\n <div class=\"sidebar {{_customMenuService.themeColor}} closed\" #sidebar>\r\n <div class=\"menu-header\">\r\n <ul>\r\n <li class=\"mb-3\">\r\n <div class=\"logo-hamburguer\">\r\n <img src=\"assets/icons/logotipo-sispro.svg\" alt=\"logo-sispro\" class=\"logo-sispro\" title=\"logo\" width=\"136px\" height=\"48px\">\r\n <button class=\"button-hamburguer\" (click)=\"openExpansibleMenu(sidebar)\">\r\n <img src=\"assets/icons/menu.svg\" alt=\"menu hamburguer\">\r\n </button>\r\n </div>\r\n </li>\r\n\r\n <!-- #region M\u00D3DULOS -->\r\n <li class=\"mb-3\" style=\"margin-left: 8px; margin-right: 8px\">\r\n <div class=\"btn-group\">\r\n <button (click)=\"dropdownWasOpened(true)\" type=\"button\" class=\"dropdown-button\" data-bs-toggle=\"dropdown\"\r\n aria-expanded=\"false\" data-bs-auto-close=\"outside\">\r\n\r\n <ng-container>\r\n <img *ngIf=\"_customMenuService.moduleImg != ''; else moduleSVG\" [src]=\"_customMenuService.moduleImg\" alt=\"\">\r\n <span class=\"ps-2\"> {{ this._customMenuService.moduleName }} <lib-icon iconName=\"seta-direita\" iconColor=\"white\" /> </span>\r\n\r\n <ng-template #moduleSVG>\r\n <lib-icon iconColor=\"white\" [iconName]=\"_customMenuService.moduleSvg\"/>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </button>\r\n <ul class=\"dropdown-menu\" #dropdown_ref>\r\n <app-primary-dropdown [buttonWasClicked]=\"messageIfClicked\"></app-primary-dropdown>\r\n </ul>\r\n </div>\r\n </li>\r\n <!-- #endregion M\u00D3DULOS -->\r\n\r\n <!-- #region ESTABELECIMENTOS -->\r\n <li class=\"mx-3\" style=\"margin-bottom: 16px;\">\r\n <div class=\"icon-estabelecimento\">\r\n <button class=\"row justify-content-between bg-transparent border-0\"\r\n (click)=\"openModal(modalEstabelecimento, MODAL_ESTABELECIMENTO)\"\r\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : nomeEstabelecimento\" placement=\"right\">\r\n\r\n <lib-icon class=\"col-1\" iconName=\"predio\" iconColor=\"white\" />\r\n <span *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-9 ps-2 glb-text-width-160 text-start text-truncate\"> {{ nomeEstabelecimento }} </span>\r\n <lib-icon *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-1\" iconName=\"seta-direita\" iconColor=\"white\" />\r\n </button>\r\n </div>\r\n </li>\r\n <!-- #endregion ESTABELECIMENTOS -->\r\n\r\n </ul>\r\n\r\n </div>\r\n\r\n <!-- #region MENUS DE NAVEGA\u00C7\u00C3O -->\r\n <div class=\"main-menu\">\r\n <div class=\"scroll\">\r\n <div class=\"list-menu px-2 pb-1\">\r\n\r\n <!-- #region MENU DIN\u00C2MICO -->\r\n <div class=\"dynamic-menu\">\r\n <ul #dynamic_menu_items *ngIf=\"_customMenuService.menuItems; else isLoading\">\r\n\r\n <li *ngFor=\"let menuItem of _customMenuService.menuItems; let i = index\" \r\n class=\"p-1 rounded\" \r\n (click)=\"openSubmenu(menuItem, submenu_ref, dynamic_menu)\" \r\n [class.selectedItem]=\"menuItem.isSelected\">\r\n\r\n <a *ngIf=\"!menuItem.isExternal; else externalMenu\"\r\n [routerLink]=\"menuItem.route != '' ? menuItem.route : null\" \r\n [id]=\"'item' + menuItem.id\" \r\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \r\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \r\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\r\n\r\n <div class=\"container\">\r\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImg\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\r\n <span class=\"span-main\">{{ menuItem.label }}</span>\r\n <ng-template #iconImg>\r\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\r\n </ng-template>\r\n </div>\r\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \r\n iconName=\"seta-direita\" iconColor=\"white\"/>\r\n </a>\r\n \r\n <ng-template #externalMenu>\r\n <a [href]=\"getExternalUrl(menuItem.route)\"\r\n target=\"_blank\" \r\n [id]=\"'item' + menuItem.id\" \r\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \r\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \r\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\r\n\r\n <div class=\"container\">\r\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImgExternal\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\r\n <span class=\"span-main\">{{ menuItem.label }}</span>\r\n <ng-template #iconImgExternal>\r\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\r\n </ng-template>\r\n </div>\r\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \r\n iconName=\"seta-direita\" iconColor=\"white\"/>\r\n </a>\r\n </ng-template>\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n\r\n <ng-template #isLoading>\r\n <li class=\"spinner-border spinner-border-sm mt-2\" role=\"status\" aria-hidden=\"true\"></li>\r\n </ng-template>\r\n <!-- #endregion MENU DIN\u00C2MICO -->\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- #endregion MENUS DE NAVEGA\u00C7\u00C3O -->\r\n\r\n <!-- #region FOOTER -->\r\n <div class=\"footer-menu\" (mouseenter)=\"showBalloon = true\" (mouseleave)=\"showBalloon = false\"\r\n [popover]=\"popoverContent\" placement=\"right bottom\" [outsideClick]=\"true\" containerClass=\"width: 200px\" >\r\n <div class=\"footer-components ps-1 pt-2\" [class.open]=\"showBalloon\">\r\n <button type=\"button\" class=\"btn btn-primary\">\r\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile ms-1\"\r\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\r\n <ng-template #noUserImg>\r\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\r\n </ng-template>\r\n <span class=\"glb-text-width-120 w-auto fw-bold text-start text-truncate ms-1 me-1\">\r\n {{ footerUserName }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n <ng-template #popoverContent>\r\n <div class=\"footer-menu\" style=\"width: 1000px;\">\r\n <div class=\"d-flex align-items-center\"> \r\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile\"\r\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\"> \r\n <ng-template #noUserImg>\r\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\r\n </ng-template>\r\n <div class=\"d-flex flex-column ms-1\"> \r\n <div [tooltip]=\"footerUserName\" class=\"dynamic-container\" style=\"white-space: nowrap; flex-grow: 1;max-width: 200px; font-size: 16px;\">{{footerUserName}}</div>\r\n <div [tooltip]=\"footerUserEmail\" class=\"dynamic-container\" style=\"white-space: nowrap; font-size: 12px; flex-grow: 1;max-width: 200px;\">{{footerUserEmail}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr class=\"mb-2 mt-2\">\r\n <div routerLink=\"meu-perfil\" style=\"cursor: pointer;\" (click)=\"togglePopover(); $event.stopPropagation()\">\r\n <lib-icon [iconSize]=\"'small'\" iconName=\"contraparte\"/> Meu Perfil\r\n </div>\r\n <div class=\"mt-2\" (click)=\"logout()\" style=\"cursor: pointer;\">\r\n <lib-icon [iconSize]=\"'small'\" iconName=\"logout\"/> Sair\r\n </div>\r\n </ng-template>\r\n <!-- #endregion FOOTER -->\r\n\r\n </div>\r\n\r\n <div class=\"submenu\" #submenu_ref>\r\n <ng-template [ngIf]=\"desiredContent !== null\">\r\n <ng-content *ngTemplateOutlet=\"desiredContent!; context: {$implicit: submenuList}\"></ng-content>\r\n </ng-template>\r\n </div>\r\n </div>\r\n \r\n <div class=\"main-content col d-flex flex-column align-content-between\" id=\"body-content\">\r\n <div class=\"content\" style=\"position: relative;\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <div app-footer></div>\r\n </div>\r\n\r\n</div>\r\n<!-- #endregion MAIN CONTENT -->\r\n\r\n<!-- #region TEMPLATES -->\r\n<!-- tem que perguntar pro Erick -->\r\n<!-- [submenuRef]=\"submenu_ref\" -->\r\n<ng-template #dynamic_menu let-data>\r\n <app-dynamic-menu \r\n [submenuList]=\"data\"\r\n [titleSubmenu]=\"titleSubmenu\"\r\n [submenuRef]=\"submenu_ref\"\r\n [recebeParam]=\"onClickedOutside.bind(this)\">\r\n </app-dynamic-menu>\r\n</ng-template>\r\n\r\n<ng-template #notif_menu>\r\n <app-notif-submenu></app-notif-submenu>\r\n</ng-template>\r\n\r\n<!-- #region MODAL SELECAO ESTABELECIMENTO -->\r\n<ng-template #modalEstabelecimento>\r\n <selecao-estabelecimentos-modal (onClose)=\"closeModal(MODAL_ESTABELECIMENTO)\"\r\n (onSelected)=\"closeModal(MODAL_ESTABELECIMENTO); updateLastLogEstabelecimento($event);\"></selecao-estabelecimentos-modal>\r\n</ng-template>\r\n<!-- #endregion MODAL SELECAO ESTABELECIMENTO -->\r\n\r\n<!-- #endregion TEMPLATES -->\r\n", styles: [".main{display:flex;width:100%;height:100%;background:#eee}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:#bbb;border-radius:16px}.main-content{width:100%;z-index:0;overflow-y:auto;overflow:overlay;height:100vh}.main-content .content{padding:0 16px 16px;background-color:#eee!important}.disable-scroll{overflow-y:hidden}*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;font-size:14px}span{color:#fff}ul{list-style:none;padding-left:0;white-space:nowrap}.dropdown-button{padding:8px;border-radius:8px;background-color:#3265ee;border:none;font-size:14px;font-weight:700;width:100%;display:flex}.dropdown-button span{width:100%;display:flex;justify-content:space-between}.dropdown-menu{width:212px;border-radius:8px}.dropdown-menu li{margin:16px 8px}.dropdown-menu li a{font-size:14px}.dropdown-menu li a:hover{font-weight:700;background-color:transparent}.dropdown-menu .dropdown-divider{height:0}.link-portal{color:#213b70;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}.container{display:flex;width:max-content}.sidebar{display:flex;flex-direction:column;height:100%;grid-template-rows:min-content;box-sizing:border-box;transition:width .5s;background-color:#213b70;max-width:inherit}.sidebar .footer-menu{justify-content:flex-end}.menu-header{display:flex;flex-direction:column;white-space:nowrap;padding:32px 0 0;background-color:#213b70}.menu-header ul li{margin-left:16px;margin-right:16px}.menu-header ul>li:last-child{border-bottom:1px solid #3265ee;padding-bottom:15px;height:auto}.dropdown{margin:0}.btn-group{width:100%}.sidebar.closed .menu-header ul li{margin-left:0;margin-right:0}.sidebar.closed .menu-header{display:flex;flex-direction:column;align-items:center}.icon-estabelecimento button{display:flex;flex-direction:row;width:100%;align-items:center;justify-content:center}.icon-estabelecimento button span:hover{font-weight:700}.header-content{display:flex;flex-direction:column;justify-content:space-evenly;height:100%;margin:0 20px}.logo-hamburguer{display:flex;justify-content:space-between;margin-right:8px}.logo-hamburguer .button-hamburguer{border:none;background-color:transparent}.sidebar.closed .logo-hamburguer{justify-content:center;margin-right:0}.scroll{overflow-y:auto;overflow-x:hidden;min-height:20%;margin-right:2px}.list-menu{padding-left:16px;padding-right:8px;display:flex;flex-direction:column;justify-content:center;white-space:nowrap}.list-menu .text-closed{padding-top:15px;display:none;color:#fff}.list-menu .text-opened{color:#fff;font-size:12px;padding-top:15px;visibility:visible;white-space:nowrap}.list-menu .li-main{padding:10px 7px;border-radius:8px}.list-menu .onSelect{background-color:#3265ee}.list-menu div.static-menu>ul>li:first-child{margin-top:16px}.list-menu .span-main{font-size:14px;margin-left:8px;opacity:1;pointer-events:auto;white-space:break-spaces}.list-menu .span-main:hover,.list-menu .list-options span:hover{font-weight:700}.list-menu p{font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #3265ee;visibility:hidden}.selectedItem{background-color:#3265ee}.selectedItem span{font-weight:700;background-color:transparent}.notif{padding:2px 13px;margin-bottom:none;background-color:#000;border-radius:8px;font-weight:700}.sidebar.closed .chevron{display:none}.sidebar.closed .icon-estabelecimento{margin:0}.sidebar.closed .icon-estabelecimento button{justify-content:center}.sidebar.closed .icon-estabelecimento button img{margin:0}.align-chevron{width:100%;text-align:justify;align-items:center;display:flex;justify-content:space-between}.selected-color{background-color:#3265ee}.main-menu{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:20%}.button-icons{border:none;background-color:transparent}.footer-menu{display:flex;flex-direction:column;padding-bottom:8px}.footer-menu .footer-components{display:flex;justify-content:space-between;border-top:1px solid #3265ee;white-space:nowrap;align-items:center}.footer-menu .footer-components .button-closed{display:none}.footer-menu button{border:none;background-color:transparent;border-radius:8px}.footer-menu .points{padding:4px 0;margin:4px 0;border-radius:8px}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.footer-menu .open-user{background-color:#3265ee}.submenu{width:341px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden;box-shadow:0 4px 8px #0000004d}.submenu ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}.submenu ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}.submenu .itens-list{display:flex;justify-content:space-between;align-items:center}.submenu .itens-list .favoritos,.submenu .itens-list span{cursor:pointer}.submenu .footer-menu{display:flex;flex-direction:row;justify-content:center;padding-bottom:16px;overflow:hidden}.submenu .footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.submenu .footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.submenu .footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu .footer-components{display:flex;justify-content:center;align-items:center}.submenu button{position:relative;left:10%;border:none;background-color:transparent}.submenu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0;box-shadow:0 4px 8px #0000004d}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.search-bar{max-width:368px;height:38px;margin-top:24px;border:1px solid #ced4da;box-sizing:border-box;border-radius:8px}.opened-notif-sub{min-width:452px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden}.sidebar.closed{max-width:73px}.sidebar.closed span{display:none}.sidebar.closed span{white-space:nowrap;overflow:hidden}.sidebar.closed .logo-sispro{display:none}.sidebar.closed .list-menu{padding:0;margin-left:0;margin-right:0;display:flex;flex-direction:column;align-items:center}.sidebar.closed .list-menu span{opacity:0;pointer-events:none}.sidebar.closed .list-menu .text-closed{padding-bottom:11px;visibility:visible;display:block}.sidebar.closed .list-menu .text-opened{display:none;font-size:8px}.sidebar.closed .list-menu .chevron,.sidebar.closed .favoritos,.sidebar.closed .footer-components .button-opened{display:none}.sidebar.closed .footer-components .button-closed{display:block}.sidebar.closed .button-icons{border:none;background-color:transparent}.sidebar.closed .footer-components{display:flex;align-items:center}.sidebar.closed button{border:none;background-color:transparent;display:block}.sidebar.closed .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.sidebar-control{height:100vh;max-width:227.667px}.sidebar-control .main-content.closed{margin-left:0}.glb-text-width-120{max-width:120px}.profile-picture{display:inline-block;position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden}.profile-picture img{width:100%;height:100%;object-fit:cover;border-radius:50%;clip-path:circle(50% at 50% 50%)}.image-div{width:50px;min-width:50px;height:50px;border-radius:100%;position:relative;overflow:hidden;z-index:1}.image-div #photoUser{width:146px;height:146px;top:-1px;left:-1px;object-fit:cover;position:relative;z-index:1;border:none;border-color:transparent}.dynamic-container{display:inline-block;white-space:nowrap;overflow:hidden}.custom-popover{width:1000px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.ClickOutsideDirective, selector: "[clickOutside], [libClickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i5.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: i5.FooterComponent, selector: "[app-footer], app-footer, lib-footer" }, { kind: "directive", type: i9$2.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "directive", type: i9$1.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: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: PrimaryDropdownComponent, selector: "app-primary-dropdown", inputs: ["buttonWasClicked"] }, { kind: "component", type: SelecaoEstabelecimentosModalComponent, selector: "selecao-estabelecimentos-modal", outputs: ["onClose", "onSelected"] }, { kind: "component", type: DynamicMenuComponent, selector: "app-dynamic-menu", inputs: ["submenuRef", "recebeParam", "titleSubmenu", "submenuList"], outputs: ["selectTemplate"] }, { kind: "component", type: NotifSubmenuComponent, selector: "app-notif-submenu" }] }); }
|
|
1971
1989
|
}
|
|
1972
1990
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MenuLateralComponent, decorators: [{
|
|
1973
1991
|
type: Component,
|
|
@@ -2298,13 +2316,13 @@ class IMenu {
|
|
|
2298
2316
|
|
|
2299
2317
|
class InfraUsuarioImg {
|
|
2300
2318
|
constructor() {
|
|
2301
|
-
this.
|
|
2302
|
-
this.
|
|
2303
|
-
this.
|
|
2304
|
-
this.
|
|
2305
|
-
this.
|
|
2306
|
-
this.
|
|
2307
|
-
this.
|
|
2319
|
+
this.Tenant_Id = 0;
|
|
2320
|
+
this.Id = 0;
|
|
2321
|
+
this.Imagem = "";
|
|
2322
|
+
this.FileName = "";
|
|
2323
|
+
this.DataCriacao = new Date();
|
|
2324
|
+
this.Is_Active = false;
|
|
2325
|
+
this.UsuarioId = "";
|
|
2308
2326
|
}
|
|
2309
2327
|
}
|
|
2310
2328
|
|
|
@@ -2516,5 +2534,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2516
2534
|
* Generated bundle index. Do not edit.
|
|
2517
2535
|
*/
|
|
2518
2536
|
|
|
2519
|
-
export { AuthAplicInterceptor, AuthGuard, AuthInfraInterceptor, AuthModule, AuthService, AuthStorageService, CustomPropriedadesLogin, DynamicMenuComponent, EnvironmentService, ExternaLoginlGuard, IMenu, InfraUsuarioImg, LibCustomLoginService, LibCustomMenuService, ListEstabService, LoginComponent, LoginGuard, MenuConfigService, MenuLateralComponent, MenuServicesService, NotifSubmenuComponent, NovaSenhaComponent, PrimaryDropdownComponent, SecondaryDropdownComponent, SelecaoEstabelecimentosModalComponent, ServerService };
|
|
2537
|
+
export { AuthAplicInterceptor, AuthGuard, AuthInfraInterceptor, AuthModule, AuthService, AuthStorageService, CustomPropriedadesLogin, DynamicMenuComponent, EnvironmentService, ExternaLoginlGuard, IMenu, InfraUsuarioImg, LibCustomLoginService, LibCustomMenuService, LibCustomStorageService, ListEstabService, LoginComponent, LoginGuard, MenuConfigService, MenuLateralComponent, MenuServicesService, NotifSubmenuComponent, NovaSenhaComponent, PrimaryDropdownComponent, SecondaryDropdownComponent, SelecaoEstabelecimentosModalComponent, ServerService };
|
|
2520
2538
|
//# sourceMappingURL=ngx-sp-auth.mjs.map
|