ngx-sp-auth 3.0.5 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ngx-sp-auth.mjs +196 -222
- package/fesm2022/ngx-sp-auth.mjs.map +1 -1
- package/lib/auth.service.d.ts +3 -3
- package/lib/components/login/login.component.d.ts +3 -3
- package/lib/components/menu-lateral/menu/menu-lateral.component.d.ts +3 -3
- package/lib/components/menu-lateral/menu-services.service.d.ts +3 -3
- package/lib/custom/lib-custom-login.service.d.ts +14 -11
- package/lib/custom/lib-custom-menu.service.d.ts +13 -8
- package/lib/custom/lib-custom-storage.service.d.ts +6 -2
- package/lib/custom/lib-menu-config.service.d.ts +5 -2
- package/lib/custom/models/icustom-login-service.d.ts +9 -9
- package/lib/custom/models/icustom-menu-service.d.ts +6 -9
- package/lib/environments/environments.service.d.ts +18 -0
- package/lib/environments/models/ienvironments.d.ts +13 -0
- package/lib/interceptors/auth-aplic.interceptor.d.ts +3 -3
- package/lib/interceptors/auth-infra.interceptor.d.ts +3 -3
- package/lib/project/project-utils.service.d.ts +3 -3
- package/lib/storage/auth-storage.service.d.ts +3 -3
- package/package.json +2 -2
- package/public-api.d.ts +4 -6
- package/lib/custom/lib-custom-environment.service.d.ts +0 -19
- package/lib/custom/models/icustom-environment-service.d.ts +0 -13
- package/lib/custom/token.d.ts +0 -11
package/fesm2022/ngx-sp-auth.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { importProvidersFrom, NgModule,
|
|
2
|
+
import { importProvidersFrom, NgModule, Injectable, Inject, Component, EventEmitter, Output, Input, TemplateRef, ContentChild, ViewChild } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common/http';
|
|
4
4
|
import { HTTP_INTERCEPTORS, HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
|
|
5
5
|
import * as i1$2 from '@azure/msal-angular';
|
|
@@ -118,120 +118,95 @@ var InfraIn2FaTypeId;
|
|
|
118
118
|
InfraIn2FaTypeId[InfraIn2FaTypeId["Microsoft"] = 3] = "Microsoft";
|
|
119
119
|
})(InfraIn2FaTypeId || (InfraIn2FaTypeId = {}));
|
|
120
120
|
|
|
121
|
-
// Token para o LibCustomEnvironmentService
|
|
122
|
-
const LIB_CUSTOM_ENVIRONMENT_SERVICE = new InjectionToken('LibCustomEnvironmentService');
|
|
123
|
-
// Token para o LibCustomStorageService
|
|
124
|
-
const LIB_CUSTOM_STORAGE_SERVICE = new InjectionToken('LibCustomStorageService');
|
|
125
|
-
// Token para o LibCustomLoginService
|
|
126
|
-
const LIB_CUSTOM_LOGIN_SERVICE = new InjectionToken('LibCustomLoginService');
|
|
127
|
-
// Token para o LibCustomMenuService
|
|
128
|
-
const LIB_CUSTOM_MENU_SERVICE = new InjectionToken('LibCustomMenuService');
|
|
129
|
-
// Token para o LibMenuConfigService
|
|
130
|
-
const LIB_MENU_CONFIG = new InjectionToken('LibMenuConfigService');
|
|
131
|
-
|
|
132
121
|
class LibCustomStorageService {
|
|
133
|
-
constructor(
|
|
134
|
-
|
|
135
|
-
}
|
|
122
|
+
constructor() { }
|
|
123
|
+
// #region Métodos recebidos do projeto
|
|
124
|
+
storedStorageConstructor() { }
|
|
125
|
+
;
|
|
126
|
+
storedStorageSaveLocalInstance() { }
|
|
127
|
+
;
|
|
128
|
+
storedStorageLogout() { }
|
|
129
|
+
storedStorageInitializeAutoStorage() { }
|
|
130
|
+
;
|
|
131
|
+
// #endregion Métodos recebidos do projeto
|
|
136
132
|
// #region Métodos Customizadas para o Componente auth-storage.service.ts
|
|
137
133
|
// Método executado no auth-storage.service.ts - método: constructor ()
|
|
138
134
|
// Utilizado para inicializações diversas
|
|
139
135
|
storageConstructor() {
|
|
140
|
-
this.
|
|
136
|
+
this.storedStorageConstructor();
|
|
141
137
|
}
|
|
142
138
|
// Método executado no auth-storage.service.ts - método: saveLocalInstance ()
|
|
143
139
|
// Utilizado para salvar informações no localStorage
|
|
144
140
|
storageSaveLocalInstance() {
|
|
145
|
-
this.
|
|
141
|
+
this.storedStorageSaveLocalInstance();
|
|
146
142
|
}
|
|
147
143
|
// Método executado no auth-storage.service.ts - método: logout ()
|
|
148
144
|
// Utilizado para inicializar informações no localStorage na logout da aplicação
|
|
149
145
|
storageLogout() {
|
|
150
|
-
this.
|
|
146
|
+
this.storedStorageLogout();
|
|
151
147
|
}
|
|
152
148
|
// Método executado no auth-storage.service.ts - método: reCheckLogin ()
|
|
153
149
|
// Utilizado para inicializações diversas quando o Login exeutado via Pré Portal
|
|
154
150
|
storageInitializeAutoStorage() {
|
|
155
|
-
this.
|
|
156
|
-
}
|
|
157
|
-
|
|
151
|
+
this.storedStorageInitializeAutoStorage();
|
|
152
|
+
}
|
|
153
|
+
// #endregion Métodos Customizadas para o Componente auth-storage.service.ts
|
|
154
|
+
// #region Métodos Publicos
|
|
155
|
+
InitializeCustomStorage(customStorageService) {
|
|
156
|
+
//passando implementação dos métodos do projeto para a lib
|
|
157
|
+
this.storedStorageConstructor = customStorageService.storageConstructor;
|
|
158
|
+
this.storedStorageInitializeAutoStorage = customStorageService.storageInitializeAutoStorage;
|
|
159
|
+
this.storedStorageLogout = customStorageService.storageLogout;
|
|
160
|
+
this.storedStorageSaveLocalInstance = customStorageService.storageSaveLocalInstance;
|
|
161
|
+
}
|
|
162
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibCustomStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
158
163
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibCustomStorageService, providedIn: 'root' }); }
|
|
159
164
|
}
|
|
160
165
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibCustomStorageService, decorators: [{
|
|
161
166
|
type: Injectable,
|
|
162
167
|
args: [{ providedIn: 'root' }]
|
|
163
|
-
}], ctorParameters: () => [
|
|
164
|
-
type: Inject,
|
|
165
|
-
args: [LIB_CUSTOM_STORAGE_SERVICE]
|
|
166
|
-
}] }] });
|
|
168
|
+
}], ctorParameters: () => [] });
|
|
167
169
|
|
|
168
170
|
/**Service responsável por pegar as opções do menu do projeto em que está sendo utilizada*/
|
|
169
|
-
class
|
|
170
|
-
constructor(
|
|
171
|
-
this.
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
198
|
-
;
|
|
199
|
-
get Sp2LocalhostInfra2LoginWS() {
|
|
200
|
-
return this._customEnvironmentService.Sp2LocalhostInfra2LoginWS;
|
|
201
|
-
}
|
|
202
|
-
;
|
|
203
|
-
get Sp2LocalhostWS() {
|
|
204
|
-
return this._customEnvironmentService.Sp2LocalhostWS;
|
|
205
|
-
}
|
|
206
|
-
;
|
|
207
|
-
get SpInfra2AuthWS() {
|
|
208
|
-
return this._customEnvironmentService.SpInfra2AuthWS;
|
|
209
|
-
}
|
|
210
|
-
;
|
|
211
|
-
get SpInfra2LoginWS() {
|
|
212
|
-
return this._customEnvironmentService.SpInfra2LoginWS;
|
|
213
|
-
}
|
|
214
|
-
;
|
|
215
|
-
get SpInfra2ErpWS() {
|
|
216
|
-
return this._customEnvironmentService.SpInfra2ErpWS;
|
|
217
|
-
}
|
|
218
|
-
;
|
|
219
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibCustomEnvironmentService, deps: [{ token: LIB_CUSTOM_ENVIRONMENT_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
220
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibCustomEnvironmentService, providedIn: 'root' }); }
|
|
171
|
+
class EnvironmentService {
|
|
172
|
+
constructor() {
|
|
173
|
+
this.production = false;
|
|
174
|
+
this.hostName = "";
|
|
175
|
+
this.product = "";
|
|
176
|
+
this.Sp2LocalhostInfra2AuthWS = "";
|
|
177
|
+
this.Sp2LocalhostInfra2LoginWS = "";
|
|
178
|
+
this.Sp2Localhost = "";
|
|
179
|
+
this.SpInfra2AuthWS = "";
|
|
180
|
+
this.SpInfra2LoginWS = "";
|
|
181
|
+
this.SpInfra2ErpWS = "";
|
|
182
|
+
}
|
|
183
|
+
ConfigurarEnvironments(properties) {
|
|
184
|
+
//passando propriedades do produto para a lib
|
|
185
|
+
this.production = properties.production;
|
|
186
|
+
this.hostName = properties.hostName;
|
|
187
|
+
this.product = properties.product;
|
|
188
|
+
this.Sp2LocalhostInfra2AuthWS = properties.Sp2LocalhostInfra2AuthWS;
|
|
189
|
+
this.Sp2LocalhostInfra2LoginWS = properties.Sp2LocalhostInfra2LoginWS;
|
|
190
|
+
this.Sp2Localhost = properties.Sp2LocalhostWS;
|
|
191
|
+
this.SpInfra2AuthWS = properties.SpInfra2AuthWS;
|
|
192
|
+
this.SpInfra2LoginWS = properties.SpInfra2LoginWS;
|
|
193
|
+
this.SpInfra2ErpWS = properties.SpInfra2ErpWS;
|
|
194
|
+
this.needsAuthAplic = properties.needsAuthAplic;
|
|
195
|
+
this.needsAuthInfra = properties.needsAuthInfra;
|
|
196
|
+
}
|
|
197
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EnvironmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
198
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EnvironmentService, providedIn: 'root' }); }
|
|
221
199
|
}
|
|
222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type:
|
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EnvironmentService, decorators: [{
|
|
223
201
|
type: Injectable,
|
|
224
202
|
args: [{ providedIn: 'root' }]
|
|
225
|
-
}]
|
|
226
|
-
type: Inject,
|
|
227
|
-
args: [LIB_CUSTOM_ENVIRONMENT_SERVICE]
|
|
228
|
-
}] }] });
|
|
203
|
+
}] });
|
|
229
204
|
|
|
230
205
|
class AuthStorageService {
|
|
231
|
-
constructor(_httpBackend, _customStorageService,
|
|
206
|
+
constructor(_httpBackend, _customStorageService, _environmentService) {
|
|
232
207
|
this._httpBackend = _httpBackend;
|
|
233
208
|
this._customStorageService = _customStorageService;
|
|
234
|
-
this.
|
|
209
|
+
this._environmentService = _environmentService;
|
|
235
210
|
this._BASE_URL = ''; // SpInfra2WS
|
|
236
211
|
this.__local_key = 'user_auth_v6';
|
|
237
212
|
// indica se objeto já está marcado para salvar os dados no local storage.
|
|
@@ -279,8 +254,8 @@ class AuthStorageService {
|
|
|
279
254
|
// azureClientId
|
|
280
255
|
this.__azureClientId = "";
|
|
281
256
|
this._httpClient = new HttpClient(_httpBackend);
|
|
282
|
-
this._BASE_URL = `${
|
|
283
|
-
this._BASE_URL = !
|
|
257
|
+
this._BASE_URL = `${_environmentService.SpInfra2LoginWS}/LoginSisproERP`; // SpInfra2WS
|
|
258
|
+
this._BASE_URL = !_environmentService.production ? this._BASE_URL : `${_environmentService.SpInfra2LoginWS}/LoginSisproERP`;
|
|
284
259
|
// Método com customizações para inicializações da storage
|
|
285
260
|
this._customStorageService.storageConstructor();
|
|
286
261
|
const expectedLocalAuthStorage = localStorage.getItem(this.__local_key);
|
|
@@ -648,45 +623,26 @@ class AuthStorageService {
|
|
|
648
623
|
return false;
|
|
649
624
|
}
|
|
650
625
|
}
|
|
651
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthStorageService, deps: [{ token: i1.HttpBackend }, { token: LibCustomStorageService }, { token:
|
|
626
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthStorageService, deps: [{ token: i1.HttpBackend }, { token: LibCustomStorageService }, { token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
652
627
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthStorageService, providedIn: 'root' }); }
|
|
653
628
|
}
|
|
654
629
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthStorageService, decorators: [{
|
|
655
630
|
type: Injectable,
|
|
656
631
|
args: [{ providedIn: 'root' }]
|
|
657
|
-
}], ctorParameters: () => [{ type: i1.HttpBackend }, { type: LibCustomStorageService }, { type:
|
|
632
|
+
}], ctorParameters: () => [{ type: i1.HttpBackend }, { type: LibCustomStorageService }, { type: EnvironmentService }] });
|
|
658
633
|
|
|
659
634
|
class LibCustomLoginService {
|
|
660
|
-
constructor(
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
return this._customLoginService.loginBackground;
|
|
672
|
-
}
|
|
673
|
-
get loginLogotipo() {
|
|
674
|
-
return this._customLoginService.loginLogotipo;
|
|
675
|
-
}
|
|
676
|
-
get loginAltLogotipo() {
|
|
677
|
-
return this._customLoginService.loginAltLogotipo;
|
|
678
|
-
}
|
|
679
|
-
get loginPageTitle() {
|
|
680
|
-
return this._customLoginService.loginPageTitle;
|
|
681
|
-
}
|
|
682
|
-
get loginDesenvDomain() {
|
|
683
|
-
return this._customLoginService.loginDesenvDomain;
|
|
684
|
-
}
|
|
685
|
-
get loginDesenvUser() {
|
|
686
|
-
return this._customLoginService.loginDesenvUser;
|
|
687
|
-
}
|
|
688
|
-
get loginDesenvPassword() {
|
|
689
|
-
return this._customLoginService.loginDesenvPassword;
|
|
635
|
+
constructor() {
|
|
636
|
+
// #region Propriedade Customizadas para o Componente login.component.ts
|
|
637
|
+
this.loginTitle = "";
|
|
638
|
+
this.loginSubtitle = "";
|
|
639
|
+
this.loginBackground = "";
|
|
640
|
+
this.loginLogotipo = "";
|
|
641
|
+
this.loginAltLogotipo = "";
|
|
642
|
+
this.loginPageTitle = "";
|
|
643
|
+
this.loginDesenvDomain = "";
|
|
644
|
+
this.loginDesenvUser = "";
|
|
645
|
+
this.loginDesenvPassword = "";
|
|
690
646
|
}
|
|
691
647
|
// #endregion Propriedade Customizadas para o Componente login.component.ts
|
|
692
648
|
// #region Métodos Customizadas para o Componente auth.service.ts
|
|
@@ -695,14 +651,14 @@ class LibCustomLoginService {
|
|
|
695
651
|
* Utilizado para inicializações diversas
|
|
696
652
|
*/
|
|
697
653
|
authLogin() {
|
|
698
|
-
this.
|
|
654
|
+
this.storedAuthLogin();
|
|
699
655
|
}
|
|
700
656
|
/**
|
|
701
657
|
* Método executado no auth.service.ts - método: logout ()
|
|
702
658
|
* Utilizado para inicializações diversas
|
|
703
659
|
*/
|
|
704
660
|
authLogout() {
|
|
705
|
-
this.
|
|
661
|
+
this.storedAuthLogout();
|
|
706
662
|
}
|
|
707
663
|
/**
|
|
708
664
|
* Método executado no auth.service.ts - método: login ()
|
|
@@ -711,26 +667,41 @@ class LibCustomLoginService {
|
|
|
711
667
|
* @param router Objeto de Router que será utilizado
|
|
712
668
|
*/
|
|
713
669
|
authNavigateToPage(router) {
|
|
714
|
-
this.
|
|
715
|
-
}
|
|
716
|
-
|
|
670
|
+
this.storedAuthNavigateToPage(router);
|
|
671
|
+
}
|
|
672
|
+
// #endregion Métodos recebidos do projeto
|
|
673
|
+
// #region Métodos Publicos
|
|
674
|
+
ConfigurarCustomLogin(customLoginService) {
|
|
675
|
+
//passando propriedades do projeto para a lib
|
|
676
|
+
this.loginTitle = customLoginService.loginTitle;
|
|
677
|
+
this.loginSubtitle = customLoginService.loginSubtitle;
|
|
678
|
+
this.loginBackground = customLoginService.loginBackground;
|
|
679
|
+
this.loginLogotipo = customLoginService.loginLogotipo;
|
|
680
|
+
this.loginAltLogotipo = customLoginService.loginAltLogotipo;
|
|
681
|
+
this.loginPageTitle = customLoginService.loginPageTitle;
|
|
682
|
+
this.loginDesenvDomain = customLoginService.loginDesenvDomain;
|
|
683
|
+
this.loginDesenvUser = customLoginService.loginDesenvUser;
|
|
684
|
+
this.loginDesenvPassword = customLoginService.loginDesenvPassword;
|
|
685
|
+
//passando implementação dos métodos do projeto para a lib
|
|
686
|
+
this.storedAuthLogin = customLoginService.authLogin;
|
|
687
|
+
this.storedAuthLogout = customLoginService.authLogout;
|
|
688
|
+
this.storedAuthNavigateToPage = customLoginService.authNavigateToPage;
|
|
689
|
+
}
|
|
690
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibCustomLoginService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
717
691
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibCustomLoginService, providedIn: 'root' }); }
|
|
718
692
|
}
|
|
719
693
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibCustomLoginService, decorators: [{
|
|
720
694
|
type: Injectable,
|
|
721
695
|
args: [{ providedIn: 'root' }]
|
|
722
|
-
}], ctorParameters: () => [
|
|
723
|
-
type: Inject,
|
|
724
|
-
args: [LIB_CUSTOM_LOGIN_SERVICE]
|
|
725
|
-
}] }] });
|
|
696
|
+
}], ctorParameters: () => [] });
|
|
726
697
|
|
|
727
698
|
class ProjectUtilservice {
|
|
728
|
-
constructor(router, authStorageService, checkUrlAndMethodService, messageService,
|
|
699
|
+
constructor(router, authStorageService, checkUrlAndMethodService, messageService, _environmentService) {
|
|
729
700
|
this.router = router;
|
|
730
701
|
this.authStorageService = authStorageService;
|
|
731
702
|
this.checkUrlAndMethodService = checkUrlAndMethodService;
|
|
732
703
|
this.messageService = messageService;
|
|
733
|
-
this.
|
|
704
|
+
this._environmentService = _environmentService;
|
|
734
705
|
}
|
|
735
706
|
// Exibe a mensagem de erro de uma requisição http
|
|
736
707
|
showHttpError(error) {
|
|
@@ -742,7 +713,7 @@ class ProjectUtilservice {
|
|
|
742
713
|
// Erro ocorreu no lado do servidor
|
|
743
714
|
let isUnauthorizedAccess = error.status === 401;
|
|
744
715
|
if (isUnauthorizedAccess) {
|
|
745
|
-
let isFromAplic = this.checkUrlAndMethodService.needsAuthRequest(error.url, "*", this.
|
|
716
|
+
let isFromAplic = this.checkUrlAndMethodService.needsAuthRequest(error.url, "*", this._environmentService.needsAuthAplic);
|
|
746
717
|
if (isFromAplic) {
|
|
747
718
|
// Remove a autenticação do usuário.
|
|
748
719
|
this.authStorageService.isLoggedInSub.next(false);
|
|
@@ -767,9 +738,9 @@ class ProjectUtilservice {
|
|
|
767
738
|
}
|
|
768
739
|
// Obtém o hostName
|
|
769
740
|
getHostName() {
|
|
770
|
-
return this.
|
|
741
|
+
return this._environmentService.hostName;
|
|
771
742
|
}
|
|
772
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProjectUtilservice, deps: [{ token: i1$1.Router }, { token: AuthStorageService }, { token: i3.CheckUrlAndMethodService }, { token: i3.MessageService }, { token:
|
|
743
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProjectUtilservice, deps: [{ token: i1$1.Router }, { token: AuthStorageService }, { token: i3.CheckUrlAndMethodService }, { token: i3.MessageService }, { token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
773
744
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProjectUtilservice, providedIn: 'root' }); }
|
|
774
745
|
}
|
|
775
746
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProjectUtilservice, decorators: [{
|
|
@@ -777,19 +748,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
777
748
|
args: [{
|
|
778
749
|
providedIn: 'root'
|
|
779
750
|
}]
|
|
780
|
-
}], ctorParameters: () => [{ type: i1$1.Router }, { type: AuthStorageService }, { type: i3.CheckUrlAndMethodService }, { type: i3.MessageService }, { type:
|
|
751
|
+
}], ctorParameters: () => [{ type: i1$1.Router }, { type: AuthStorageService }, { type: i3.CheckUrlAndMethodService }, { type: i3.MessageService }, { type: EnvironmentService }] });
|
|
781
752
|
|
|
782
753
|
class AuthService {
|
|
783
754
|
// #endregion PRIVATE
|
|
784
755
|
// #endregion ==========> PROPERTIES <==========
|
|
785
|
-
constructor(_httpClient, _router, _authStorageService, _ipServiceService, _customLoginService, _projectUtilservice,
|
|
756
|
+
constructor(_httpClient, _router, _authStorageService, _ipServiceService, _customLoginService, _projectUtilservice, _environmentService) {
|
|
786
757
|
this._httpClient = _httpClient;
|
|
787
758
|
this._router = _router;
|
|
788
759
|
this._authStorageService = _authStorageService;
|
|
789
760
|
this._ipServiceService = _ipServiceService;
|
|
790
761
|
this._customLoginService = _customLoginService;
|
|
791
762
|
this._projectUtilservice = _projectUtilservice;
|
|
792
|
-
this.
|
|
763
|
+
this._environmentService = _environmentService;
|
|
793
764
|
// #region ==========> PROPERTIES <==========
|
|
794
765
|
// #region PRIVATE
|
|
795
766
|
this._pendingWarning = null;
|
|
@@ -801,12 +772,12 @@ class AuthService {
|
|
|
801
772
|
this.city = "undefined";
|
|
802
773
|
this.state = "undefined";
|
|
803
774
|
this.country = "undefined";
|
|
804
|
-
this._BASE_URL = `${this.
|
|
805
|
-
this._AUTH_BASE_URL = `${this.
|
|
806
|
-
this._BASE_OS_URL = `${this.
|
|
807
|
-
this._BASE_URL = !this.
|
|
808
|
-
this._AUTH_BASE_URL = !this.
|
|
809
|
-
this._BASE_OS_URL = !this.
|
|
775
|
+
this._BASE_URL = `${this._environmentService.SpInfra2LoginWS}/LoginSisproERP`; // SpInfra2WS
|
|
776
|
+
this._AUTH_BASE_URL = `${this._environmentService.SpInfra2AuthWS}/Auth`; // SpInfra2AuthWS
|
|
777
|
+
this._BASE_OS_URL = `${this._environmentService.SpInfra2LoginWS}/LoginIntegradoOS`; // SpInfra2LoginWS
|
|
778
|
+
this._BASE_URL = !this._environmentService.production ? this._BASE_URL : `${this._environmentService.SpInfra2LoginWS}/LoginSisproERP`;
|
|
779
|
+
this._AUTH_BASE_URL = !this._environmentService.production ? this._AUTH_BASE_URL : `${this._environmentService.SpInfra2AuthWS}/Auth`;
|
|
780
|
+
this._BASE_OS_URL = !this._environmentService.production ? this._BASE_OS_URL : `${this._environmentService.SpInfra2LoginWS}/LoginIntegradoOS`;
|
|
810
781
|
this.getParms();
|
|
811
782
|
}
|
|
812
783
|
// #region ==========> SERVICE METHODS <==========
|
|
@@ -1238,19 +1209,19 @@ class AuthService {
|
|
|
1238
1209
|
this._pendingWarning = null;
|
|
1239
1210
|
return message;
|
|
1240
1211
|
}
|
|
1241
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i1$1.Router }, { token: AuthStorageService }, { token: i3.IpServiceService }, { token: LibCustomLoginService }, { token: ProjectUtilservice }, { token:
|
|
1212
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i1$1.Router }, { token: AuthStorageService }, { token: i3.IpServiceService }, { token: LibCustomLoginService }, { token: ProjectUtilservice }, { token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1242
1213
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthService, providedIn: 'root' }); }
|
|
1243
1214
|
}
|
|
1244
1215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthService, decorators: [{
|
|
1245
1216
|
type: Injectable,
|
|
1246
1217
|
args: [{ providedIn: 'root' }]
|
|
1247
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i1$1.Router }, { type: AuthStorageService }, { type: i3.IpServiceService }, { type: LibCustomLoginService }, { type: ProjectUtilservice }, { type:
|
|
1218
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i1$1.Router }, { type: AuthStorageService }, { type: i3.IpServiceService }, { type: LibCustomLoginService }, { type: ProjectUtilservice }, { type: EnvironmentService }] });
|
|
1248
1219
|
|
|
1249
1220
|
class MenuServicesService {
|
|
1250
|
-
constructor(_authStorageService, _httpClient,
|
|
1221
|
+
constructor(_authStorageService, _httpClient, _environmentService) {
|
|
1251
1222
|
this._authStorageService = _authStorageService;
|
|
1252
1223
|
this._httpClient = _httpClient;
|
|
1253
|
-
this.
|
|
1224
|
+
this._environmentService = _environmentService;
|
|
1254
1225
|
this._BASE_URL = ""; // SpInfra2AplicWS
|
|
1255
1226
|
this._HTTP_HEADERS = new HttpHeaders().set('Content-Type', 'application/json');
|
|
1256
1227
|
// #endregion Menu Dinâmico
|
|
@@ -1260,8 +1231,8 @@ class MenuServicesService {
|
|
|
1260
1231
|
// #region NewImg Event
|
|
1261
1232
|
// Implementação de lógica vista no link: https://hasangalakdinu.medium.com/how-to-call-a-function-in-another-component-angular-using-rxjs-3f2e85920705
|
|
1262
1233
|
this._subject = new Subject();
|
|
1263
|
-
this._BASE_URL = `${this.
|
|
1264
|
-
this._BASE_URL = !this.
|
|
1234
|
+
this._BASE_URL = `${this._environmentService.SpInfra2ErpWS}`; // SpInfra2ErpWS
|
|
1235
|
+
this._BASE_URL = !this._environmentService.production ? this._BASE_URL : `${this._environmentService.SpInfra2ErpWS}`;
|
|
1265
1236
|
}
|
|
1266
1237
|
// #region ==========> SERVICES <==========
|
|
1267
1238
|
// #region PREPARATION
|
|
@@ -1426,7 +1397,7 @@ class MenuServicesService {
|
|
|
1426
1397
|
getNewUserImageEvent() {
|
|
1427
1398
|
return this._subject.asObservable();
|
|
1428
1399
|
}
|
|
1429
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MenuServicesService, deps: [{ token: AuthStorageService }, { token: i1.HttpClient }, { token:
|
|
1400
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MenuServicesService, deps: [{ token: AuthStorageService }, { token: i1.HttpClient }, { token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1430
1401
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MenuServicesService, providedIn: 'root' }); }
|
|
1431
1402
|
}
|
|
1432
1403
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MenuServicesService, decorators: [{
|
|
@@ -1434,12 +1405,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
1434
1405
|
args: [{
|
|
1435
1406
|
providedIn: 'root'
|
|
1436
1407
|
}]
|
|
1437
|
-
}], ctorParameters: () => [{ type: AuthStorageService }, { type: i1.HttpClient }, { type:
|
|
1408
|
+
}], ctorParameters: () => [{ type: AuthStorageService }, { type: i1.HttpClient }, { type: EnvironmentService }] });
|
|
1438
1409
|
|
|
1439
1410
|
/**Service responsável por pegar as opções do menu do projeto em que está sendo utilizada*/
|
|
1440
1411
|
class LibMenuConfigService {
|
|
1441
|
-
constructor(
|
|
1442
|
-
this._menuConfig = _menuConfig;
|
|
1412
|
+
constructor() {
|
|
1443
1413
|
this.menu = [];
|
|
1444
1414
|
this.menuDropdown = [];
|
|
1445
1415
|
}
|
|
@@ -1449,68 +1419,62 @@ class LibMenuConfigService {
|
|
|
1449
1419
|
* @returns As opções do menu inicializadas.
|
|
1450
1420
|
*/
|
|
1451
1421
|
initializeMenu(currentRoute, customList) {
|
|
1452
|
-
this.menu = this.
|
|
1422
|
+
this.menu = this.storedInitializeMenu(currentRoute, customList);
|
|
1453
1423
|
return this.menu;
|
|
1454
1424
|
}
|
|
1455
1425
|
setMenuType(isStaticMenu) {
|
|
1456
|
-
this.
|
|
1426
|
+
this.storedSetMenuType(isStaticMenu);
|
|
1457
1427
|
}
|
|
1458
1428
|
updateRouteSelection(currentRoute, currentList) {
|
|
1459
|
-
return this.
|
|
1429
|
+
return this.updateRouteSelection(currentRoute, currentList);
|
|
1460
1430
|
}
|
|
1461
1431
|
/** Inicializa as opções do menu dropdown com base em uma lista personalizada (opcional).
|
|
1462
1432
|
* @param primaryDropdownList Uma lista personalizada de opções do dropdown (opcional).
|
|
1463
1433
|
* @returns As opções do dropdown inicializadas.
|
|
1464
1434
|
*/
|
|
1465
1435
|
initializeMenuDropdown(primaryDropdownList) {
|
|
1466
|
-
this.menuDropdown = this.
|
|
1436
|
+
this.menuDropdown = this.storedInitializeMenuDropdown(primaryDropdownList);
|
|
1467
1437
|
return this.menuDropdown;
|
|
1468
1438
|
}
|
|
1469
|
-
|
|
1439
|
+
ConfigurarMenuConfig(menuConfig) {
|
|
1440
|
+
//passando implementação dos métodos do projeto para a lib
|
|
1441
|
+
this.storedInitializeMenu = menuConfig.initializeMenu;
|
|
1442
|
+
this.storedInitializeMenuDropdown = menuConfig.initializeMenuDropdown;
|
|
1443
|
+
this.storedSetMenuType = menuConfig.setMenuType;
|
|
1444
|
+
this.updateRouteSelection = menuConfig.updateRouteSelection;
|
|
1445
|
+
}
|
|
1446
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibMenuConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1470
1447
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibMenuConfigService, providedIn: 'root' }); }
|
|
1471
1448
|
}
|
|
1472
1449
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibMenuConfigService, decorators: [{
|
|
1473
1450
|
type: Injectable,
|
|
1474
1451
|
args: [{ providedIn: 'root' }]
|
|
1475
|
-
}]
|
|
1476
|
-
type: Inject,
|
|
1477
|
-
args: [LIB_MENU_CONFIG]
|
|
1478
|
-
}] }] });
|
|
1452
|
+
}] });
|
|
1479
1453
|
|
|
1480
1454
|
class LibCustomMenuService {
|
|
1481
|
-
// #region Propriedade Customizadas do Menu
|
|
1482
|
-
get menuDynamic() {
|
|
1483
|
-
return this._customMenuService.menuDynamic;
|
|
1484
|
-
}
|
|
1485
|
-
get menuDynamicCustom() {
|
|
1486
|
-
return this._customMenuService.menuDynamicCustom;
|
|
1487
|
-
}
|
|
1488
|
-
get moduleName() {
|
|
1489
|
-
return this._customMenuService.moduleName;
|
|
1490
|
-
}
|
|
1491
|
-
get moduleImg() {
|
|
1492
|
-
return this._customMenuService.moduleImg;
|
|
1493
|
-
}
|
|
1494
|
-
get moduleSvg() {
|
|
1495
|
-
return this._customMenuService.moduleSvg;
|
|
1496
|
-
}
|
|
1497
|
-
get themeColor() {
|
|
1498
|
-
return this._customMenuService.themeColor;
|
|
1499
|
-
}
|
|
1500
1455
|
/** Obtém as opções do menu. */
|
|
1501
1456
|
get menuItems() {
|
|
1502
|
-
return this.
|
|
1457
|
+
return this._menuItems;
|
|
1503
1458
|
}
|
|
1504
1459
|
set menuItems(value) {
|
|
1505
|
-
this.
|
|
1460
|
+
this._menuItems = value;
|
|
1506
1461
|
}
|
|
1507
1462
|
setEmpresa(value) { this.empresaId.next(value); }
|
|
1508
1463
|
// ! Definição do BehaviorSubject: responsável principal da emissão do evento
|
|
1509
1464
|
// #endregion Propriedade do Menu
|
|
1510
|
-
constructor(
|
|
1511
|
-
this._customMenuService = _customMenuService;
|
|
1465
|
+
constructor(_menuConfig, _authStorageService) {
|
|
1512
1466
|
this._menuConfig = _menuConfig;
|
|
1513
1467
|
this._authStorageService = _authStorageService;
|
|
1468
|
+
// #region Propriedade Customizadas do Menu
|
|
1469
|
+
this.menuDynamic = false;
|
|
1470
|
+
this.menuDynamicCustom = false;
|
|
1471
|
+
this.moduleName = "";
|
|
1472
|
+
this.moduleImg = "";
|
|
1473
|
+
this.moduleSvg = "";
|
|
1474
|
+
this.themeColor = "";
|
|
1475
|
+
// #endregion Propriedade Customizadas do Menu
|
|
1476
|
+
// #region Propriedade do Menu
|
|
1477
|
+
this._menuItems = [];
|
|
1514
1478
|
// ! Definição do BehaviorSubject: responsável principal da emissão do evento
|
|
1515
1479
|
this.empresaId = new BehaviorSubject({ estabelecimentoID: "", empresaID: "" });
|
|
1516
1480
|
this.applyEmpresa$ = this.empresaId.asObservable();
|
|
@@ -1521,22 +1485,22 @@ class LibCustomMenuService {
|
|
|
1521
1485
|
// Método executado no menu-lateral.component.ts - método: onInit ()
|
|
1522
1486
|
// Utilizado para obter o Módulo para montagem do Menu Dinâmico Lateral
|
|
1523
1487
|
menuDynamicGetModuloId() {
|
|
1524
|
-
return this.
|
|
1488
|
+
return this.storeMenuDynamicGetModuloId();
|
|
1525
1489
|
}
|
|
1526
1490
|
// Método executado no menu-lateral.component.ts - método: onInit ()
|
|
1527
1491
|
// Utilizado para inicializações diversas
|
|
1528
1492
|
menuDynamicOnInit() {
|
|
1529
|
-
this.
|
|
1493
|
+
this.storedMenuDynamicOnInit();
|
|
1530
1494
|
}
|
|
1531
1495
|
// Método executado no menu-lateral.component.ts - método: onInit ()
|
|
1532
1496
|
// Utilizado para inicializações diversas
|
|
1533
1497
|
menuStaticOnInit() {
|
|
1534
|
-
this.
|
|
1498
|
+
this.storedMenuStaticOnInit();
|
|
1535
1499
|
}
|
|
1536
1500
|
// Método executado no menu-lateral.component.ts - método: openExpansibleMenu()
|
|
1537
1501
|
// Utilizado para inicializações ao Expandir a opção de Menu
|
|
1538
1502
|
menuopenExpansibleMenu(ref) {
|
|
1539
|
-
this.
|
|
1503
|
+
this.storedMenuopenExpansibleMenu(ref);
|
|
1540
1504
|
}
|
|
1541
1505
|
/** Método que deve ser chamado na seleção de um novo estabelecimento, ele atualizará os valores do nosso BehaviorSubject para que possamos utilizá-lo em outras partes do sistema. */
|
|
1542
1506
|
emitEstabelecimentoEvent() {
|
|
@@ -1545,16 +1509,29 @@ class LibCustomMenuService {
|
|
|
1545
1509
|
empresaID: this._authStorageService.infraEmpresaId
|
|
1546
1510
|
});
|
|
1547
1511
|
}
|
|
1548
|
-
|
|
1512
|
+
// #endregion Métodos recebidos do projeto
|
|
1513
|
+
// #region Métodos Publicos
|
|
1514
|
+
ConfigurarCustomMenuService(RealcustomMenuService) {
|
|
1515
|
+
//passando propriedades do projeto para a lib
|
|
1516
|
+
this.menuDynamic = RealcustomMenuService.menuDynamic;
|
|
1517
|
+
this.menuDynamicCustom = RealcustomMenuService.menuDynamicCustom;
|
|
1518
|
+
this.moduleName = RealcustomMenuService.moduleName;
|
|
1519
|
+
this.moduleImg = RealcustomMenuService.moduleImg;
|
|
1520
|
+
this.moduleSvg = RealcustomMenuService.moduleSvg;
|
|
1521
|
+
this.themeColor = RealcustomMenuService.themeColor;
|
|
1522
|
+
//passando implementação dos métodos do projeto para a lib
|
|
1523
|
+
this.storeMenuDynamicGetModuloId = RealcustomMenuService.menuDynamicGetModuloId;
|
|
1524
|
+
this.storedMenuStaticOnInit = RealcustomMenuService.menuStaticOnInit;
|
|
1525
|
+
this.storedMenuopenExpansibleMenu = RealcustomMenuService.menuopenExpansibleMenu;
|
|
1526
|
+
this.storedMenuDynamicOnInit = RealcustomMenuService.menuDynamicOnInit;
|
|
1527
|
+
}
|
|
1528
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibCustomMenuService, deps: [{ token: LibMenuConfigService }, { token: AuthStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1549
1529
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibCustomMenuService, providedIn: 'root' }); }
|
|
1550
1530
|
}
|
|
1551
1531
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LibCustomMenuService, decorators: [{
|
|
1552
1532
|
type: Injectable,
|
|
1553
1533
|
args: [{ providedIn: 'root' }]
|
|
1554
|
-
}], ctorParameters: () => [{ type:
|
|
1555
|
-
type: Inject,
|
|
1556
|
-
args: [LIB_CUSTOM_MENU_SERVICE]
|
|
1557
|
-
}] }, { type: LibMenuConfigService }, { type: AuthStorageService }] });
|
|
1534
|
+
}], ctorParameters: () => [{ type: LibMenuConfigService }, { type: AuthStorageService }] });
|
|
1558
1535
|
|
|
1559
1536
|
var LoginProgress;
|
|
1560
1537
|
(function (LoginProgress) {
|
|
@@ -1572,7 +1549,7 @@ var SituacaoLogin;
|
|
|
1572
1549
|
;
|
|
1573
1550
|
// ajustes ERICK
|
|
1574
1551
|
class LoginComponent {
|
|
1575
|
-
constructor(_msalGuardConfiguration, _msalService, _customLoginService, _formBuilder, _projectUtilservice, _authService,
|
|
1552
|
+
constructor(_msalGuardConfiguration, _msalService, _customLoginService, _formBuilder, _projectUtilservice, _authService, _environmentService, _authStorageService, _title, _router, _toastrService,
|
|
1576
1553
|
// Exibição de alerta para caso o payload do login OS não seja infromado corretamente
|
|
1577
1554
|
_messageService) {
|
|
1578
1555
|
this._msalGuardConfiguration = _msalGuardConfiguration;
|
|
@@ -1581,7 +1558,7 @@ class LoginComponent {
|
|
|
1581
1558
|
this._formBuilder = _formBuilder;
|
|
1582
1559
|
this._projectUtilservice = _projectUtilservice;
|
|
1583
1560
|
this._authService = _authService;
|
|
1584
|
-
this.
|
|
1561
|
+
this._environmentService = _environmentService;
|
|
1585
1562
|
this._authStorageService = _authStorageService;
|
|
1586
1563
|
this._title = _title;
|
|
1587
1564
|
this._router = _router;
|
|
@@ -1671,7 +1648,7 @@ class LoginComponent {
|
|
|
1671
1648
|
// Método para configuração dos campos de edição do formulário (Login)
|
|
1672
1649
|
createFormDomain() {
|
|
1673
1650
|
// Dados originais de Login (Domínio)
|
|
1674
|
-
if (this.
|
|
1651
|
+
if (this._environmentService.production) {
|
|
1675
1652
|
this.formDomain = this._formBuilder.group({
|
|
1676
1653
|
dominio: ['', [Validators.required, Validators.maxLength(50)]],
|
|
1677
1654
|
});
|
|
@@ -1684,7 +1661,7 @@ class LoginComponent {
|
|
|
1684
1661
|
}
|
|
1685
1662
|
createFormLogin() {
|
|
1686
1663
|
// Dados originais de Login (Usuário e Senha)
|
|
1687
|
-
if (this.
|
|
1664
|
+
if (this._environmentService.production) {
|
|
1688
1665
|
this.formLogin = this._formBuilder.group({
|
|
1689
1666
|
usuario: ['', [Validators.required, Validators.maxLength(100)]],
|
|
1690
1667
|
senha: ['', [Validators.required, Validators.maxLength(100)]]
|
|
@@ -1726,7 +1703,7 @@ class LoginComponent {
|
|
|
1726
1703
|
// #region Azure
|
|
1727
1704
|
async configMsal() {
|
|
1728
1705
|
const isIE = window.navigator.userAgent.indexOf("MSIE ") > -1 || window.navigator.userAgent.indexOf("Trident/") > -1;
|
|
1729
|
-
const hostAuthLogin = !this.
|
|
1706
|
+
const hostAuthLogin = !this._environmentService.production ? "http://localhost:4200/auth/login" : `${this._environmentService.hostName}/SisproErpCloud/${this._environmentService.product}/auth/login`;
|
|
1730
1707
|
this._msalService.instance = new PublicClientApplication({
|
|
1731
1708
|
auth: {
|
|
1732
1709
|
clientId: `${this._authStorageService.azureClientId}`,
|
|
@@ -1787,7 +1764,7 @@ class LoginComponent {
|
|
|
1787
1764
|
// Obtém a Url do Config Erp
|
|
1788
1765
|
geturlErpConfig() {
|
|
1789
1766
|
// verificar depois
|
|
1790
|
-
return `${this.
|
|
1767
|
+
return `${this._environmentService.hostName}/SisproErpCloud/ConfigErp`;
|
|
1791
1768
|
}
|
|
1792
1769
|
/*
|
|
1793
1770
|
* Obtém os parâmetros de método de autenticação
|
|
@@ -2045,7 +2022,7 @@ class LoginComponent {
|
|
|
2045
2022
|
this._messageService.showAlertWarning(warningMessage);
|
|
2046
2023
|
}
|
|
2047
2024
|
}
|
|
2048
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LoginComponent, deps: [{ token: MSAL_GUARD_CONFIG }, { token: i1$2.MsalService }, { token: LibCustomLoginService }, { token: i3$1.FormBuilder }, { token: ProjectUtilservice }, { token: AuthService }, { token:
|
|
2025
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LoginComponent, deps: [{ token: MSAL_GUARD_CONFIG }, { token: i1$2.MsalService }, { token: LibCustomLoginService }, { token: i3$1.FormBuilder }, { token: ProjectUtilservice }, { token: AuthService }, { token: EnvironmentService }, { token: AuthStorageService }, { token: i8.Title }, { token: i1$1.Router }, { token: i10.ToastrService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2049
2026
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: LoginComponent, isStandalone: true, selector: "app-login", ngImport: i0, template: "<div id=\"login\" class=\"container-fluid\">\n\t<div class=\"row\">\n\t\t<!-- Conte\u00FAdo da DIV do background -->\n\t\t<div class=\"col-md-6 px-0\">\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}})\">\n\t\t\t\t<div class=\"text-position texto-apresentacao ps-5\">\n\t\t\t\t\t<h1 class=\"title\" id=\"title\"></h1>\n\t\t\t\t\t<p class=\"subtitle\" id=\"subtitle\"></p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<!-- Conte\u00FAdo da DIV de Login -->\n\t\t<div class=\"col-md-6 px-0\">\n\n\t\t\t<div class=\"div-size\">\n\t\t\t\t<div class=\"logotipo\">\n\t\t\t\t\t<img style=\"height: 95px;\" src=\"{{ this._customLoginService.loginLogotipo }}\" alt=\"{{ this._customLoginService.loginAltLogotipo }}\" />\n\t\t\t\t</div>\n\n\t\t\t\t@if (situacaoLogin !== 2) {\n\t\t\t\t\t@if (!showParmsAuthentication2Fa) {\n\t\t\t\t\t\t@switch (loginProgress) {\n\t\t\t\t\t\t\t@case(1) {\n\t\t\t\t\t\t\t\t<form [formGroup]=\"formDomain\" class=\"form-position\">\n\t\t\t\t\t\t\t\t\t<div class=\"col mb-3\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"input-group input-group\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"input-at-sign-text\"><lib-icon iconName=\"predio\" /></span>\n\t\t\t\t\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" placeholder=\"Dom\u00EDnio\" formControlName=\"dominio\"\n\t\t\t\t\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formDomain.get('dominio'))\">\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<app-field-error-message [control]=\"formDomain.get('dominio')\" />\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<button [libLoading]=\"isLoadingDomain\" loadingText=\"Acessando...\" class=\"btn btn-primary\" [disabled]=\"isLoadingDomain\" (click)=\"getAuthentication()\">\n\t\t\t\t\t\t\t\t\t\tACESSAR <lib-icon iconName=\"login\" />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t@case(2) {\n\t\t\t\t\t\t\t\t<form [formGroup]=\"formLogin\" class=\"form-position\">\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"input-group input-group mb-3\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"input-at-sign-text\"><lib-icon iconName=\"usuario-quadro\" /></span>\n\t\t\t\t\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control px-3\" formControlName=\"usuario\" placeholder=\"Usu\u00E1rio\"\n\t\t\t\t\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formLogin.get('usuario'))\">\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<app-field-error-message [control]=\"formLogin.get('usuario')\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"input-group input-group mb-3\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"input-lock-text\"><lib-icon iconName=\"chave\" /></span>\n\t\t\t\t\t\t\t\t\t\t\t<input type=\"password\" class=\"form-control px-3\" formControlName=\"senha\" placeholder=\"Senha\"\n\t\t\t\t\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formLogin.get('senha'))\">\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<app-field-error-message [control]=\"formLogin.get('senha')\" />\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t\t\t<button (click)=\"returnDomain()\" type=\"button\" class=\"btn btn-outline-secondary w-100\">\n\t\t\t\t\t\t\t\t\t\t\t\tVoltar\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t\t\t<button [libLoading]=\"isLoadingLogin\" loadingText=\"Acessando...\" class=\"btn btn-primary btn-heigth-48 w-100\" [disabled]=\"isLoadingLogin\" (click)=\"logOn()\">\n\t\t\t\t\t\t\t\t\t\t\t\tACESSAR <lib-icon iconName=\"login\" />\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"mt-3 text-center\">\n\t\t\t\t\t\t\t\t\t\t<a type=\"button\" (click)=\"situacaoLogin = 2\" class=\"fw-bold text-decoration-none text-secondary\"\n\t\t\t\t\t\t\t\t\t\t\ttooltip=\"N\u00E3o se preocupe, clique aqui e informe o dom\u00EDnio e o usu\u00E1rio desejados que enviaremos um e-mail com maiores informa\u00E7\u00F5es.\">\n\t\t\t\t\t\t\t\t\t\t\tEsqueceu sua senha? </a>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t@case(3) {\n\t\t\t\t\t\t\t\t<form [formGroup]=\"formAzure\" class=\"form-position formAzure\">\n\t\t\t\t\t\t\t\t\t<div class=\"w-100 mb-3\">\n\t\t\t\t\t\t\t\t\t\t<button type=\"button\" loadingText=\"Acessando...\" class=\"btn btn-primary p-2 mb-3 w-100 d-flex align-items-center justify-content-center gap-2\" (click)=\"logOnAzure()\">\n\t\t\t\t\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" heigth=\"14\" width=\"14\" viewBox=\"0 0 23 23\"><path fill=\"transparent\" d=\"M0 0h23v23H0z\"/><path fill=\"#f35325\" d=\"M1 1h10v10H1z\"/><path fill=\"#81bc06\" d=\"M12 1h10v10H12z\"/><path fill=\"#05a6f0\" d=\"M1 12h10v10H1z\"/><path fill=\"#ffba08\" d=\"M12 12h10v10H12z\"/></svg>\n\t\t\t\t\t\t\t\t\t\t\tMicrosoft\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t<div class=\"w-100 text-center text-secondary\">\n\t\t\t\t\t\t\t\t\t\t\t<span id=\"ou-text\"> ou </span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"input-group input-group mb-3\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"input-at-sign-text\"><lib-icon iconName=\"usuario-quadro\" /></span>\n\t\t\t\t\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control px-3\" formControlName=\"usuario\" placeholder=\"Usu\u00E1rio\"\n\t\t\t\t\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formAzure.get('usuario'))\">\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<app-field-error-message [control]=\"formAzure.get('usuario')\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"input-group input-group mb-3\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"input-lock-text\"><lib-icon iconName=\"chave\" /></span>\n\t\t\t\t\t\t\t\t\t\t\t<input type=\"password\" class=\"form-control px-3\" formControlName=\"senha\" placeholder=\"Senha\"\n\t\t\t\t\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formAzure.get('senha'))\">\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<app-field-error-message [control]=\"formAzure.get('senha')\" />\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t\t\t<button (click)=\"returnDomain()\" type=\"button\" class=\"btn btn-outline-secondary w-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t<lib-icon iconName=\"seta-esquerda\" /> VOLTAR\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t\t\t<button [libLoading]=\"isLoadingAzure\" loadingText=\"Acessando...\" class=\"btn btn-primary btn-heigth-48 w-100\" [disabled]=\"isLoadingAzure\" (click)=\"logOnAdmin()\">\n\t\t\t\t\t\t\t\t\t\t\t\tACESSAR <lib-icon iconName=\"login\" />\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t@else {\n\t\t\t\t\t\t<form [formGroup]=\"formAuthentication2Fa\" class=\"form-position\">\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div class=\"input-group input-group mb-3\">\n\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"input-at-sign-text\"><img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" /></span>\n\t\t\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"code\" id=\"code\" placeholder=\"C\u00F3digo de 2 fatores\"\n\t\t\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formAuthentication2Fa.get('code'))\">\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<app-field-error-message [control]=\"formAuthentication2Fa.get('code')\" />\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div class=\"d-flex flex-row align-items-center gap-3 mb-3\">\n\t\t\t\t\t\t\t\t<button (click)=\"voltar()\" type=\"button\" class=\"btn btn-outline-secondary col\"> <lib-icon iconName=\"seta-esquerda\" /> VOLTAR </button>\n\t\t\t\t\t\t\t\t<button [libLoading]=\"isLoadingSendAuthentication2Fa\" [disabled]=\"isLoadingSendAuthentication2Fa\" (click)=\"sendCode()\" type=\"button\" class=\"btn btn-primary col\">\n\t\t\t\t\t\t\t\t\tACESSAR <lib-icon iconName=\"login\" />\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div class=\"d-flex flex-row align-items-center justify-content-center\">\n\t\t\t\t\t\t\t\t@if (secondsLeft === 0) {\n\t\t\t\t\t\t\t\t\t<button [libLoading]=\"isLoadingForgottenPassword\" loadingText=\"Enviando...\" [disabled]=\"isLoadingForgottenPassword\" (click)=\"getNewCode()\" type=\"button\" class=\"btn btn-outline-primary col\">\n\t\t\t\t\t\t\t\t\t\tEnviar novo c\u00F3digo <lib-icon iconName=\"aviao-papel\" />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\t<span class=\"fw-bold text-secondary\">{{ secondsLeft }} {{ secondsLeft == 1 ? 'segundo' : 'segundos' }} para obter novo c\u00F3digo</span>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</form>\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t@else {\n\t\t\t\t\t<form [formGroup]=\"formFgtPsw\" class=\"form-position\">\n\t\t\t\t\t\t<div class=\"row mb-3\">\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<div class=\"input-group input-group\">\n\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"input-at-sign-text\"><lib-icon iconName=\"predio\" /></span>\n\t\t\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" id=\"dominioFgtPssInput\" placeholder=\"Dom\u00EDnio\" formControlName=\"dominioFgtPsw\"\n\t\t\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('dominioFgtPsw'))\">\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('dominioFgtPsw')\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"row mb-3\">\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<div class=\"input-group input-group\">\n\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"input-at-sign-text\"><lib-icon iconName=\"usuario-quadro\" /></span>\n\t\t\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" id=\"usuarioFgtPssInput\" placeholder=\"Usu\u00E1rio\" formControlName=\"usuarioFgtPsw\"\n\t\t\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('usuarioFgtPsw'))\">\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('usuarioFgtPsw')\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t\t\t@if(formFgtPsw.get('usuarioFgtPsw')?.value === 'admin' || formFgtPsw.get('usuarioFgtPsw')?.value === 'CRMadmin'){\n <p class=\"texto-admin\">N\u00E3o \u00E9 poss\u00EDvel alterar a senha do usu\u00E1rio 'admin'</p>\n }@else{\n <button [libLoading]=\"isLoadingForgottenPassword\" loadingText=\"Enviando...\" class=\"btn btn-primary btn-heigth-48\" [disabled]=\"isLoadingForgottenPassword\" (click)=\"sendForgottenPassword()\">\n Enviar e-mail <lib-icon iconName=\"aviao-papel\" />\n </button>\n }\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"mt-3 text-center\">\n\t\t\t\t\t\t\t<a type=\"button\" (click)=\"situacaoLogin = 0\" class=\"fw-bold text-decoration-none text-secondary\" tooltip=\"Retornar para o login.\"> <lib-icon iconName=\"seta-esquerda\" /> Voltar para o login </a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</form>\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t<div class=\"footer-position\">\n\t\t\t\t\t<footer>\n\t\t\t\t\t\t<div class=\"d-flex flex-row align-items-center justify-content-center gap-2\">\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=\"text-primary text-decoration-none fw-bold\"> POL\u00CDTICA DE PRIVACIDADE </a>\n\t\t\t\t\t\t\t<span> | </span>\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=\"text-primary text-decoration-none fw-bold\"> POL\u00CDTICA DE COOKIES </a>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<p class=\"text-secondary\">\n\t\t\t\t\t\t\tDesenvolvido por <a href=\"https://www.sispro.com.br/\" target=\"_blank\" class=\"text-primary text-decoration-none fw-bold\"> SISPRO </a> \u00A9 {{ year }} Todos os direitos reservados\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<div class=\"icons\">\n\t\t\t\t\t\t\t<a href=\"https://pt-br.facebook.com/SisproERP/\" target=\"_blank\"> <lib-icon class=\"text-primary\" iconName=\"facebook\" iconSize=\"medium-small\"/> </a>\n\t\t\t\t\t\t\t<a href=\"https://www.instagram.com/accounts/login/?next=/sispro_software/\" target=\"_blank\"> <lib-icon class=\"text-primary\" iconName=\"instagram\" iconSize=\"medium-small\"/> </a>\n\t\t\t\t\t\t\t<a href=\"https://br.linkedin.com/company/sispro\" target=\"_blank\"> <lib-icon class=\"text-primary\" iconName=\"linkedin\" iconSize=\"medium-small\"/> </a>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class=\"text-center\">\n\t\t\t\t\t\t\t<a class=\"text-primary fw-bold text-decoration-none glb-font-size-12\" [href]=\"geturlErpConfig()\"> Configurar ERP </a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</footer>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n", styles: ["@charset \"UTF-8\";#login .background{display:grid;height:100vh;align-content:center;background-size:cover;color:#f5f5f5;align-items:center;justify-content:center}#login .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}#login .title{font-size:3.5vw;text-transform:uppercase;font-weight:700}#login .subtitle{font-size:21px}#login .logotipo{display:flex;justify-content:center;margin-top:10%}#login .form-position{display:flex;flex-direction:column;align-content:center;width:378px}#login .form-item{margin-bottom:16px}#login .footer{display:flex;justify-content:center}#login .footer-position{font-size:14px;display:flex;justify-content:center;align-items:flex-end}#login .icons{display:flex;justify-content:center;align-items:center;margin-top:16px}#login .icons a{padding:4px}#login .icon-item{margin-left:24px;color:#007bff}#login .col-md-7,#login .col-md-5{padding:0}#login .btn-acessar{height:48px;outline-style:none}#login .texto-apresentacao{align-items:start}#login .separator{margin-left:5px}#login #ou-text{display:flex;flex-direction:row;align-items:center;justify-content:space-between}#login #ou-text:before{content:\"\";display:block;width:100%;height:1px;border-bottom:1px solid rgb(108,117,125);margin-right:12px}#login #ou-text:after{content:\"\";display:block;width:100%;height:1px;border-bottom:1px solid rgb(108,117,125);margin-left:12px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InfraModule }, { kind: "component", type: i3.FieldErrorMessageComponent, selector: "app-field-error-message, lib-error-message", inputs: ["customMessage", "control", "label"] }, { kind: "component", type: i3.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "directive", type: i3.LoadingBtnDirective, selector: "button[libLoading], a[libLoading]", inputs: ["loadingText", "loadingType", "libLoading"] }, { kind: "ngmodule", type: CommonModule }], preserveWhitespaces: true }); }
|
|
2050
2027
|
}
|
|
2051
2028
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LoginComponent, decorators: [{
|
|
@@ -2059,7 +2036,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
2059
2036
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
2060
2037
|
type: Inject,
|
|
2061
2038
|
args: [MSAL_GUARD_CONFIG]
|
|
2062
|
-
}] }, { type: i1$2.MsalService }, { type: LibCustomLoginService }, { type: i3$1.FormBuilder }, { type: ProjectUtilservice }, { type: AuthService }, { type:
|
|
2039
|
+
}] }, { type: i1$2.MsalService }, { type: LibCustomLoginService }, { type: i3$1.FormBuilder }, { type: ProjectUtilservice }, { type: AuthService }, { type: EnvironmentService }, { type: AuthStorageService }, { type: i8.Title }, { type: i1$1.Router }, { type: i10.ToastrService }, { type: i3.MessageService }] });
|
|
2063
2040
|
|
|
2064
2041
|
class LoginOSModel {
|
|
2065
2042
|
// Sugestão do GPT: "Pra facilitar instanciar a partir de objetos."
|
|
@@ -2413,7 +2390,7 @@ class DynamicMenuComponent {
|
|
|
2413
2390
|
return `${this._projectUtilService.getHostName()}/${url}`;
|
|
2414
2391
|
}
|
|
2415
2392
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DynamicMenuComponent, deps: [{ token: i1$1.Router }, { token: ProjectUtilservice }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2416
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DynamicMenuComponent, isStandalone: true, selector: "app-dynamic-menu", inputs: { submenuRef: "submenuRef", recebeParam: "recebeParam", titleSubmenu: "titleSubmenu", submenuList: "submenuList" }, outputs: { selectTemplate: "selectTemplate" }, queries: [{ propertyName: "desiredContent", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div #submenu class=\"header-submenu\">\n <h1 class=\"titulo pb-3 pt-4\">{{ titleSubmenu }}</h1>\n <div class=\"itens-list\">\n <ul style=\"width: 100%\">\n \n <li *ngFor=\"let itemList of submenuList; let i = index\" [id]=\"itemList!.id\" \n class=\"d-flex justify-content-between align-items-center\"\n [class]=\"i == 0 ? 'mt-1' : ''\">\n \n <a *ngIf=\"!itemList.isExternal; else externalMenu\"\n [routerLink]=\"itemList!.route != null ? ['/' + itemList!.route] : null\" \n (click)=\"recebeParam($event, submenuRef)\">\n <span>{{ itemList!.label }}</span>\n </a>\n \n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(itemList.route)\"\n target=\"_blank\" \n (click)=\"recebeParam($event, submenuRef)\">\n <span>{{ itemList!.label }}</span>\n </a>\n </ng-template>\n\n <!-- <button class=\"star favoritos\" #star (click)=\"changeStar(star, itemList)\"></button> -->\n </li>\n\n </ul>\n </div>\n</div>", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:16px;padding-bottom:18px}ul li span:hover{font-weight:700}a{text-decoration:none}.itens-list{display:flex;align-items:center}.itens-list .favoritos,.itens-list span{cursor:pointer}.footer-menu{display:flex;flex-direction:column;justify-content:center;padding-bottom:16px}.footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0 15px 0 0}.footer-components{display:flex;justify-content:center;align-items:center}button{position:relative;border:none;background-color:transparent}.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}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.star{width:24px;height:24px;background-repeat:no-repeat}.yellow-star{width:26px;height:24px;background-repeat:no-repeat}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
2393
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DynamicMenuComponent, isStandalone: true, selector: "app-dynamic-menu", inputs: { submenuRef: "submenuRef", recebeParam: "recebeParam", titleSubmenu: "titleSubmenu", submenuList: "submenuList" }, outputs: { selectTemplate: "selectTemplate" }, queries: [{ propertyName: "desiredContent", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div #submenu class=\"header-submenu\">\n <h1 class=\"titulo pb-3 pt-4\">{{ titleSubmenu }}</h1>\n <div class=\"itens-list\">\n <ul style=\"width: 100%\">\n \n <li *ngFor=\"let itemList of submenuList; let i = index\" [id]=\"itemList!.id\" \n class=\"d-flex justify-content-between align-items-center\"\n [class]=\"i == 0 ? 'mt-1' : ''\">\n \n <a *ngIf=\"!itemList.isExternal; else externalMenu\"\n [routerLink]=\"itemList!.route != null ? ['/' + itemList!.route] : null\" \n (click)=\"recebeParam($event, submenuRef)\">\n <span>{{ itemList!.label }}</span>\n </a>\n \n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(itemList.route)\"\n target=\"_blank\" \n (click)=\"recebeParam($event, submenuRef)\">\n <span>{{ itemList!.label }}</span>\n </a>\n </ng-template>\n\n <!-- <button class=\"star favoritos\" #star (click)=\"changeStar(star, itemList)\"></button> -->\n </li>\n\n </ul>\n </div>\n</div>", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:#bbb;border-radius:16px}.header-submenu{display:flex;flex-direction:column;height:100vh;overflow:overlay}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:16px;padding-bottom:18px}ul li span:hover{font-weight:700}a{text-decoration:none}.itens-list{display:flex;align-items:center;overflow:overlay;width:100%;z-index:0}.itens-list .favoritos,.itens-list span{cursor:pointer}.footer-menu{display:flex;flex-direction:column;justify-content:center;padding-bottom:16px}.footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0 15px 0 0}.footer-components{display:flex;justify-content:center;align-items:center}button{position:relative;border:none;background-color:transparent}.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}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.star{width:24px;height:24px;background-repeat:no-repeat}.yellow-star{width:26px;height:24px;background-repeat:no-repeat}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
2417
2394
|
// AuthRoutingModule,
|
|
2418
2395
|
CommonModule }, { kind: "directive", type: i3$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
2419
2396
|
}
|
|
@@ -2423,7 +2400,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
2423
2400
|
// AuthRoutingModule,
|
|
2424
2401
|
CommonModule,
|
|
2425
2402
|
RouterLink
|
|
2426
|
-
], template: "<div #submenu class=\"header-submenu\">\n <h1 class=\"titulo pb-3 pt-4\">{{ titleSubmenu }}</h1>\n <div class=\"itens-list\">\n <ul style=\"width: 100%\">\n \n <li *ngFor=\"let itemList of submenuList; let i = index\" [id]=\"itemList!.id\" \n class=\"d-flex justify-content-between align-items-center\"\n [class]=\"i == 0 ? 'mt-1' : ''\">\n \n <a *ngIf=\"!itemList.isExternal; else externalMenu\"\n [routerLink]=\"itemList!.route != null ? ['/' + itemList!.route] : null\" \n (click)=\"recebeParam($event, submenuRef)\">\n <span>{{ itemList!.label }}</span>\n </a>\n \n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(itemList.route)\"\n target=\"_blank\" \n (click)=\"recebeParam($event, submenuRef)\">\n <span>{{ itemList!.label }}</span>\n </a>\n </ng-template>\n\n <!-- <button class=\"star favoritos\" #star (click)=\"changeStar(star, itemList)\"></button> -->\n </li>\n\n </ul>\n </div>\n</div>", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:16px;padding-bottom:18px}ul li span:hover{font-weight:700}a{text-decoration:none}.itens-list{display:flex;align-items:center}.itens-list .favoritos,.itens-list span{cursor:pointer}.footer-menu{display:flex;flex-direction:column;justify-content:center;padding-bottom:16px}.footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0 15px 0 0}.footer-components{display:flex;justify-content:center;align-items:center}button{position:relative;border:none;background-color:transparent}.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}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.star{width:24px;height:24px;background-repeat:no-repeat}.yellow-star{width:26px;height:24px;background-repeat:no-repeat}\n"] }]
|
|
2403
|
+
], template: "<div #submenu class=\"header-submenu\">\n <h1 class=\"titulo pb-3 pt-4\">{{ titleSubmenu }}</h1>\n <div class=\"itens-list\">\n <ul style=\"width: 100%\">\n \n <li *ngFor=\"let itemList of submenuList; let i = index\" [id]=\"itemList!.id\" \n class=\"d-flex justify-content-between align-items-center\"\n [class]=\"i == 0 ? 'mt-1' : ''\">\n \n <a *ngIf=\"!itemList.isExternal; else externalMenu\"\n [routerLink]=\"itemList!.route != null ? ['/' + itemList!.route] : null\" \n (click)=\"recebeParam($event, submenuRef)\">\n <span>{{ itemList!.label }}</span>\n </a>\n \n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(itemList.route)\"\n target=\"_blank\" \n (click)=\"recebeParam($event, submenuRef)\">\n <span>{{ itemList!.label }}</span>\n </a>\n </ng-template>\n\n <!-- <button class=\"star favoritos\" #star (click)=\"changeStar(star, itemList)\"></button> -->\n </li>\n\n </ul>\n </div>\n</div>", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:#bbb;border-radius:16px}.header-submenu{display:flex;flex-direction:column;height:100vh;overflow:overlay}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:16px;padding-bottom:18px}ul li span:hover{font-weight:700}a{text-decoration:none}.itens-list{display:flex;align-items:center;overflow:overlay;width:100%;z-index:0}.itens-list .favoritos,.itens-list span{cursor:pointer}.footer-menu{display:flex;flex-direction:column;justify-content:center;padding-bottom:16px}.footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0 15px 0 0}.footer-components{display:flex;justify-content:center;align-items:center}button{position:relative;border:none;background-color:transparent}.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}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.star{width:24px;height:24px;background-repeat:no-repeat}.yellow-star{width:26px;height:24px;background-repeat:no-repeat}\n"] }]
|
|
2427
2404
|
}], ctorParameters: () => [{ type: i1$1.Router }, { type: ProjectUtilservice }], propDecorators: { selectTemplate: [{
|
|
2428
2405
|
type: Output
|
|
2429
2406
|
}], submenuRef: [{
|
|
@@ -2641,12 +2618,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
2641
2618
|
}] } });
|
|
2642
2619
|
|
|
2643
2620
|
class MenuLateralComponent {
|
|
2644
|
-
constructor(_msalGuardConfiguration, _msalService, _toastrService, _customMenuService,
|
|
2621
|
+
constructor(_msalGuardConfiguration, _msalService, _toastrService, _customMenuService, _authStorageService, _bsModalService, _menuServices, _messageService, _projectUtilService, _router, _authService, _environmentService) {
|
|
2645
2622
|
this._msalGuardConfiguration = _msalGuardConfiguration;
|
|
2646
2623
|
this._msalService = _msalService;
|
|
2647
2624
|
this._toastrService = _toastrService;
|
|
2648
2625
|
this._customMenuService = _customMenuService;
|
|
2649
|
-
this._customEnvironmentService = _customEnvironmentService;
|
|
2650
2626
|
this._authStorageService = _authStorageService;
|
|
2651
2627
|
this._bsModalService = _bsModalService;
|
|
2652
2628
|
this._menuServices = _menuServices;
|
|
@@ -2654,6 +2630,7 @@ class MenuLateralComponent {
|
|
|
2654
2630
|
this._projectUtilService = _projectUtilService;
|
|
2655
2631
|
this._router = _router;
|
|
2656
2632
|
this._authService = _authService;
|
|
2633
|
+
this._environmentService = _environmentService;
|
|
2657
2634
|
this.handleKeyboardShortcut = (event) => {
|
|
2658
2635
|
if (event.ctrlKey && event.key.toLowerCase() === 'b') {
|
|
2659
2636
|
event.preventDefault(); // Prevents any default behavior (like bold in text editors)
|
|
@@ -2820,7 +2797,7 @@ class MenuLateralComponent {
|
|
|
2820
2797
|
logout() {
|
|
2821
2798
|
// Verifica se é Login Azure
|
|
2822
2799
|
if (this._authStorageService.infraInAuthTypeId == InfraInAuthTypeId.Azure && this._authStorageService.user.toLowerCase() != "admin") {
|
|
2823
|
-
const hostAuthLogin = !this.
|
|
2800
|
+
const hostAuthLogin = !this._environmentService.production ? "http://localhost:4200/auth/login" : `${this._environmentService.hostName}/SisproErpCloud/${this._environmentService.product}/auth/login`;
|
|
2824
2801
|
this._msalService.logoutRedirect({
|
|
2825
2802
|
postLogoutRedirectUri: hostAuthLogin
|
|
2826
2803
|
});
|
|
@@ -2839,7 +2816,7 @@ class MenuLateralComponent {
|
|
|
2839
2816
|
// #region Azure
|
|
2840
2817
|
async configMsal() {
|
|
2841
2818
|
const isIE = window.navigator.userAgent.indexOf("MSIE ") > -1 || window.navigator.userAgent.indexOf("Trident/") > -1;
|
|
2842
|
-
const hostAuthLogin = !this.
|
|
2819
|
+
const hostAuthLogin = !this._environmentService.production ? "http://localhost:4200/auth/login" : `${this._environmentService.hostName}/SisproErpCloud/${this._environmentService.product}/auth/login`;
|
|
2843
2820
|
this._msalService.instance = new PublicClientApplication({
|
|
2844
2821
|
auth: {
|
|
2845
2822
|
clientId: `${this._authStorageService.azureClientId}`,
|
|
@@ -2896,7 +2873,7 @@ class MenuLateralComponent {
|
|
|
2896
2873
|
closeModal(modalID) {
|
|
2897
2874
|
this._bsModalService.hide(modalID);
|
|
2898
2875
|
}
|
|
2899
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MenuLateralComponent, deps: [{ token: MSAL_GUARD_CONFIG }, { token: i1$2.MsalService }, { token: i10.ToastrService }, { token: LibCustomMenuService }, { token:
|
|
2876
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MenuLateralComponent, deps: [{ token: MSAL_GUARD_CONFIG }, { token: i1$2.MsalService }, { token: i10.ToastrService }, { token: LibCustomMenuService }, { token: AuthStorageService }, { token: i2.BsModalService }, { token: MenuServicesService }, { token: i3.MessageService }, { token: ProjectUtilservice }, { token: i1$1.Router }, { token: AuthService }, { token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2900
2877
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: MenuLateralComponent, isStandalone: true, selector: "app-menu-lateral", queries: [{ propertyName: "desiredContent", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "sidebar", first: true, predicate: ["sidebar"], descendants: true, static: true }, { propertyName: "notif_template", first: true, predicate: ["notif_menu"], descendants: true }, { propertyName: "menuLink", first: true, predicate: ["menuLink"], descendants: true }], ngImport: i0, template: "<!-- #region MAIN CONTENT -->\n<div id=\"menu\" class=\"main col-12\">\n\n <div style=\"height: 100vh; z-index: 3;\" class=\"sidebar-control position-relative d-flex flex-row\" \n (clickOutside)=\"closeMenu == true ? onClickedOutside($event, submenu_ref) : closeMenu = true\">\n <div class=\"sidebar {{_customMenuService.themeColor}} closed\" #sidebar>\n <div class=\"menu-header\">\n <ul>\n <li class=\"mb-3\">\n <div class=\"logo-hamburguer\">\n <img src=\"assets/icons/logotipo-sispro.svg\" alt=\"logo-sispro\" class=\"logo-sispro\" title=\"logo\" width=\"136px\" height=\"48px\">\n <button class=\"button-hamburguer\" (click)=\"openExpansibleMenu(sidebar)\">\n <img src=\"assets/icons/menu.svg\" alt=\"menu hamburguer\">\n </button>\n </div>\n </li>\n\n <!-- #region M\u00D3DULOS -->\n <li class=\"mb-3\" style=\"margin-left: 8px; margin-right: 8px\">\n <div class=\"btn-group\">\n <button (click)=\"dropdownWasOpened(true)\" type=\"button\" class=\"dropdown-button\" data-bs-toggle=\"dropdown\"\n aria-expanded=\"false\" data-bs-auto-close=\"outside\">\n\n <ng-container>\n <img *ngIf=\"_customMenuService.moduleImg != ''; else moduleSVG\" [src]=\"_customMenuService.moduleImg\" alt=\"\">\n <span class=\"ps-2\"> {{ this._customMenuService.moduleName }} <lib-icon iconName=\"seta-direita\" iconColor=\"white\" /> </span>\n\n <ng-template #moduleSVG>\n <lib-icon iconColor=\"white\" [iconName]=\"_customMenuService.moduleSvg\"/>\n </ng-template>\n </ng-container>\n\n </button>\n <ul class=\"dropdown-menu\" #dropdown_ref>\n <app-primary-dropdown [buttonWasClicked]=\"messageIfClicked\"></app-primary-dropdown>\n </ul>\n </div>\n </li>\n <!-- #endregion M\u00D3DULOS -->\n\n <!-- #region ESTABELECIMENTOS -->\n <li class=\"mx-3\" style=\"margin-bottom: 16px;\">\n <div class=\"icon-estabelecimento\">\n <button class=\"row justify-content-between bg-transparent border-0\"\n (click)=\"openModal(modalEstabelecimento, MODAL_ESTABELECIMENTO)\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : nomeEstabelecimento\" placement=\"right\">\n\n <lib-icon class=\"col-1\" iconName=\"predio\" iconColor=\"white\" />\n <span *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-9 ps-2 glb-text-width-160 text-start text-truncate\"> {{ nomeEstabelecimento }} </span>\n <lib-icon *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-1\" iconName=\"seta-direita\" iconColor=\"white\" />\n </button>\n </div>\n </li>\n <!-- #endregion ESTABELECIMENTOS -->\n\n </ul>\n\n </div>\n\n <!-- #region MENUS DE NAVEGA\u00C7\u00C3O -->\n <div class=\"main-menu\">\n <div class=\"scroll\">\n <div class=\"list-menu px-2 pb-1\">\n\n <!-- #region MENU DIN\u00C2MICO -->\n <div class=\"dynamic-menu\">\n <ul #dynamic_menu_items *ngIf=\"_customMenuService.menuItems; else isLoading\">\n\n <li *ngFor=\"let menuItem of _customMenuService.menuItems; let i = index\" \n class=\"p-1 rounded\" \n (click)=\"openSubmenu(menuItem, submenu_ref, dynamic_menu)\" \n [class.selectedItem]=\"menuItem.isSelected\">\n\n <a *ngIf=\"!menuItem.isExternal; else externalMenu\"\n [routerLink]=\"menuItem.route != '' ? menuItem.route : null\" \n [id]=\"'item' + menuItem.id\" \n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImg\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImg>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n \n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(menuItem.route)\"\n target=\"_blank\" \n [id]=\"'item' + menuItem.id\" \n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImgExternal\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImgExternal>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n </ng-template>\n </li>\n\n </ul>\n </div>\n\n <ng-template #isLoading>\n <li class=\"spinner-border spinner-border-sm mt-2\" role=\"status\" aria-hidden=\"true\"></li>\n </ng-template>\n <!-- #endregion MENU DIN\u00C2MICO -->\n\n </div>\n </div>\n </div>\n <!-- #endregion MENUS DE NAVEGA\u00C7\u00C3O -->\n\n <!-- #region FOOTER -->\n <div class=\"footer-menu\" (mouseenter)=\"showBalloon = true\" (mouseleave)=\"showBalloon = false\"\n [popover]=\"popoverContent\" placement=\"right bottom\" [outsideClick]=\"true\" containerClass=\"width: 200px\" >\n <div class=\"footer-components d-flex flex-row align-items-center gap-2 py-2 px-1 justify-content-center gap-2\" [class.open]=\"showBalloon\">\n @if (footerUserImgSrc) {\n <img class=\"photo-profile\" [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\n }\n @else {\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\n }\n\n <span class=\"text-truncate fw-bold text-start\" style=\"max-width: 100%;\"> {{ footerUserName }} </span>\n </div>\n </div>\n \n <ng-template #popoverContent>\n <div class=\"footer-menu\" style=\"width: 1000px;\">\n <div class=\"d-flex align-items-center\"> \n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile\"\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\"> \n <ng-template #noUserImg>\n <lib-icon iconName=\"contraparte\" iconColor=\"currentColor\"/>\n </ng-template>\n <div class=\"d-flex flex-column ms-1\"> \n <div [tooltip]=\"footerUserName\" class=\"dynamic-container\" style=\"white-space: nowrap; flex-grow: 1;max-width: 200px; font-size: 16px;\">{{footerUserName}}</div>\n <div [tooltip]=\"footerUserEmail\" class=\"dynamic-container\" style=\"white-space: nowrap; font-size: 12px; flex-grow: 1;max-width: 200px;\">{{footerUserEmail}}</div>\n </div>\n </div>\n </div>\n <hr class=\"mb-2 mt-2\">\n <div routerLink=\"meu-perfil\" style=\"cursor: pointer;\" (click)=\"togglePopover(); $event.stopPropagation()\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"contraparte\"/> Meu Perfil\n </div>\n <div class=\"mt-2\" (click)=\"logout()\" style=\"cursor: pointer;\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"logout\"/> Sair\n </div>\n </ng-template>\n <!-- #endregion FOOTER -->\n\n </div>\n\n <div class=\"submenu\" #submenu_ref>\n <ng-template [ngIf]=\"desiredContent !== null\">\n <ng-content *ngTemplateOutlet=\"desiredContent!; context: {$implicit: submenuList}\"></ng-content>\n </ng-template>\n </div>\n </div>\n \n <div class=\"main-content col d-flex flex-column align-content-between\" id=\"body-content\">\n <div class=\"content\" style=\"position: relative;\">\n <router-outlet></router-outlet>\n </div>\n <div app-footer></div>\n </div>\n\n</div>\n<!-- #endregion MAIN CONTENT -->\n\n<!-- #region TEMPLATES -->\n<ng-template #dynamic_menu let-data>\n <app-dynamic-menu \n [submenuList]=\"data\"\n [titleSubmenu]=\"titleSubmenu\" [submenuRef]=\"submenu_ref\" [recebeParam]=\"onClickedOutside.bind(this)\">\n </app-dynamic-menu>\n</ng-template>\n\n<ng-template #notif_menu>\n <app-notif-submenu></app-notif-submenu>\n</ng-template>\n\n<!-- #region MODAL SELECAO ESTABELECIMENTO -->\n<ng-template #modalEstabelecimento>\n <selecao-estabelecimentos-modal (onClose)=\"closeModal(MODAL_ESTABELECIMENTO)\"\n (onSelected)=\"closeModal(MODAL_ESTABELECIMENTO); updateLastLogEstabelecimento($event);\"></selecao-estabelecimentos-modal>\n</ng-template>\n<!-- #endregion MODAL SELECAO ESTABELECIMENTO -->\n\n<!-- #endregion TEMPLATES -->\n", styles: ["*{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}#menu.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}.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}.footer-menu .footer-components{border-top:1px solid #3265ee}.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;overflow:hidden}.submenu .footer-menu .footer-components{border-top:1px solid #3265ee;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: "ngmodule", type: PopoverModule }, { kind: "directive", type: i12.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i13.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: "ngmodule", type: InfraModule }, { kind: "directive", type: i3.ClickOutsideDirective, selector: "[clickOutside], [libClickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i3.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: i3.FooterComponent, selector: "[app-footer], app-footer, lib-footer" }, { kind: "component", type: SelecaoEstabelecimentosModalComponent, selector: "selecao-estabelecimentos-modal", outputs: ["onClose", "onSelected"] }, { kind: "component", type: NotifSubmenuComponent, selector: "app-notif-submenu" }, { kind: "component", type: DynamicMenuComponent, selector: "app-dynamic-menu", inputs: ["submenuRef", "recebeParam", "titleSubmenu", "submenuList"], outputs: ["selectTemplate"] }, { kind: "component", type: PrimaryDropdownComponent, selector: "app-primary-dropdown", inputs: ["buttonWasClicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
2901
2878
|
}
|
|
2902
2879
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MenuLateralComponent, decorators: [{
|
|
@@ -2917,7 +2894,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
2917
2894
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
2918
2895
|
type: Inject,
|
|
2919
2896
|
args: [MSAL_GUARD_CONFIG]
|
|
2920
|
-
}] }, { type: i1$2.MsalService }, { type: i10.ToastrService }, { type: LibCustomMenuService }, { type:
|
|
2897
|
+
}] }, { type: i1$2.MsalService }, { type: i10.ToastrService }, { type: LibCustomMenuService }, { type: AuthStorageService }, { type: i2.BsModalService }, { type: MenuServicesService }, { type: i3.MessageService }, { type: ProjectUtilservice }, { type: i1$1.Router }, { type: AuthService }, { type: EnvironmentService }], propDecorators: { sidebar: [{
|
|
2921
2898
|
type: ViewChild,
|
|
2922
2899
|
args: ['sidebar', { static: true }]
|
|
2923
2900
|
}], notif_template: [{
|
|
@@ -3356,10 +3333,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
3356
3333
|
* Depende do serviço de autenticação.
|
|
3357
3334
|
*/
|
|
3358
3335
|
class AuthAplicInterceptor {
|
|
3359
|
-
constructor(authCheckService, token,
|
|
3336
|
+
constructor(authCheckService, token, _environmentService) {
|
|
3360
3337
|
this.authCheckService = authCheckService;
|
|
3361
3338
|
this.token = token;
|
|
3362
|
-
this.
|
|
3339
|
+
this._environmentService = _environmentService;
|
|
3363
3340
|
}
|
|
3364
3341
|
intercept(req, next) {
|
|
3365
3342
|
// convert promise to observable using 'from' operator
|
|
@@ -3367,7 +3344,7 @@ class AuthAplicInterceptor {
|
|
|
3367
3344
|
}
|
|
3368
3345
|
async handle(req, next) {
|
|
3369
3346
|
let changedReq = req;
|
|
3370
|
-
if (this.authCheckService.needsAuthRequest(req.url, req.method, this.
|
|
3347
|
+
if (this.authCheckService.needsAuthRequest(req.url, req.method, this._environmentService.needsAuthAplic)) {
|
|
3371
3348
|
// Verifica se o Token precisa ser renovado
|
|
3372
3349
|
await this.token.renewToken();
|
|
3373
3350
|
// Adiciona as autenticações necessárias ao servidor.
|
|
@@ -3376,25 +3353,25 @@ class AuthAplicInterceptor {
|
|
|
3376
3353
|
}
|
|
3377
3354
|
return await lastValueFrom(next.handle(changedReq));
|
|
3378
3355
|
}
|
|
3379
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthAplicInterceptor, deps: [{ token: i3.CheckUrlAndMethodService }, { token: AuthStorageService }, { token:
|
|
3356
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthAplicInterceptor, deps: [{ token: i3.CheckUrlAndMethodService }, { token: AuthStorageService }, { token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3380
3357
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthAplicInterceptor, providedIn: 'root' }); }
|
|
3381
3358
|
}
|
|
3382
3359
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthAplicInterceptor, decorators: [{
|
|
3383
3360
|
type: Injectable,
|
|
3384
3361
|
args: [{ providedIn: 'root' }]
|
|
3385
|
-
}], ctorParameters: () => [{ type: i3.CheckUrlAndMethodService }, { type: AuthStorageService }, { type:
|
|
3362
|
+
}], ctorParameters: () => [{ type: i3.CheckUrlAndMethodService }, { type: AuthStorageService }, { type: EnvironmentService }] });
|
|
3386
3363
|
|
|
3387
3364
|
/**
|
|
3388
3365
|
* \brief Intercepta uma chamada HTTP para inserir a autenticação da Sispro.
|
|
3389
3366
|
*/
|
|
3390
3367
|
class AuthInfraInterceptor {
|
|
3391
|
-
constructor(authCheckService,
|
|
3368
|
+
constructor(authCheckService, _environmentService) {
|
|
3392
3369
|
this.authCheckService = authCheckService;
|
|
3393
|
-
this.
|
|
3370
|
+
this._environmentService = _environmentService;
|
|
3394
3371
|
}
|
|
3395
3372
|
intercept(req, next) {
|
|
3396
3373
|
let changedReq = req;
|
|
3397
|
-
if (this.authCheckService.needsAuthRequest(req.url, req.method, this.
|
|
3374
|
+
if (this.authCheckService.needsAuthRequest(req.url, req.method, this._environmentService.needsAuthInfra)) {
|
|
3398
3375
|
// Adiciona as autenticações necessárias ao servidor. Autenticação básica.
|
|
3399
3376
|
let headers = req.headers.set("Authorization", `Basic ${btoa(`${localStorage.getItem('configServerUser')}:${localStorage.getItem('configServerPassword')}`)}
|
|
3400
3377
|
`);
|
|
@@ -3402,25 +3379,22 @@ class AuthInfraInterceptor {
|
|
|
3402
3379
|
}
|
|
3403
3380
|
return next.handle(changedReq);
|
|
3404
3381
|
}
|
|
3405
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthInfraInterceptor, deps: [{ token: i3.CheckUrlAndMethodService }, { token:
|
|
3382
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthInfraInterceptor, deps: [{ token: i3.CheckUrlAndMethodService }, { token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3406
3383
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthInfraInterceptor, providedIn: 'root' }); }
|
|
3407
3384
|
}
|
|
3408
3385
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthInfraInterceptor, decorators: [{
|
|
3409
3386
|
type: Injectable,
|
|
3410
3387
|
args: [{ providedIn: 'root' }]
|
|
3411
|
-
}], ctorParameters: () => [{ type: i3.CheckUrlAndMethodService }, { type:
|
|
3388
|
+
}], ctorParameters: () => [{ type: i3.CheckUrlAndMethodService }, { type: EnvironmentService }] });
|
|
3412
3389
|
|
|
3413
3390
|
const AUTH_ROUTES = [
|
|
3414
3391
|
{ path: '', component: LoginComponent, data: { title: "SisproERP | Meu portal" } },
|
|
3415
3392
|
{ path: 'novaSenha/:param', component: NovaSenhaComponent, data: { title: "Nova Senha" } }
|
|
3416
3393
|
];
|
|
3417
3394
|
|
|
3418
|
-
/** Modules */
|
|
3419
|
-
//???f
|
|
3420
|
-
|
|
3421
3395
|
/**
|
|
3422
3396
|
* Generated bundle index. Do not edit.
|
|
3423
3397
|
*/
|
|
3424
3398
|
|
|
3425
|
-
export { AUTH_ROUTES, AuthAplicInterceptor, AuthGuard, AuthInfraInterceptor, AuthModule, AuthService, AuthStorageService, DynamicMenuComponent, ExternaLoginlGuard, IMenu, InfraUsuarioImg,
|
|
3399
|
+
export { AUTH_ROUTES, AuthAplicInterceptor, AuthGuard, AuthInfraInterceptor, AuthModule, AuthService, AuthStorageService, DynamicMenuComponent, EnvironmentService, ExternaLoginlGuard, IMenu, InfraUsuarioImg, LibCustomLoginService, LibCustomMenuService, LibCustomStorageService, LibMenuConfigService, LoginComponent, LoginGuard, LoginOSComponent, LoginOSGuard, LoginProgress, MenuLateralComponent, MenuServicesService, NotifSubmenuComponent, NovaSenhaComponent, PrimaryDropdownComponent, RetInfraUsuarioImg, RetMenuItemStructure, RetMenuLateral, RetMenuPromise, RetNavSubMenu, RetSubmenuWithCards, SecondaryDropdownComponent, SelecaoEstabelecimentosModalComponent, SituacaoLogin };
|
|
3426
3400
|
//# sourceMappingURL=ngx-sp-auth.mjs.map
|