@cleavelandprice/ngx-lib 3.7.0 → 3.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/authentication/model/abstract-authentication-service.d.ts +2 -0
  2. package/authentication/model/service-config.d.ts +1 -3
  3. package/authentication/object/model/service-config.d.ts +1 -1
  4. package/authentication/object/services/authentication.service.d.ts +2 -0
  5. package/authentication/token/gui/components/login-form/login-form.component.d.ts +7 -2
  6. package/authentication/token/gui/model/service-config.d.ts +2 -1
  7. package/authentication/token/gui/token-gui.module.d.ts +2 -1
  8. package/authentication/token/model/service-config.d.ts +1 -1
  9. package/authentication/token/services/authentication.service.d.ts +2 -0
  10. package/dialog/components/base/base.component.d.ts +4 -3
  11. package/esm2020/authentication/model/abstract-authentication-service.mjs +1 -1
  12. package/esm2020/authentication/model/service-config.mjs +2 -8
  13. package/esm2020/authentication/object/model/service-config.mjs +3 -3
  14. package/esm2020/authentication/object/services/authentication.service.mjs +15 -5
  15. package/esm2020/authentication/token/gui/components/login-form/login-form.component.mjs +20 -8
  16. package/esm2020/authentication/token/gui/model/service-config.mjs +4 -3
  17. package/esm2020/authentication/token/gui/services/authentication.service.mjs +2 -2
  18. package/esm2020/authentication/token/gui/token-gui.module.mjs +8 -4
  19. package/esm2020/authentication/token/model/service-config.mjs +3 -3
  20. package/esm2020/authentication/token/services/authentication.service.mjs +15 -5
  21. package/esm2020/dialog/components/base/base.component.mjs +4 -1
  22. package/fesm2015/cleavelandprice-ngx-lib-authentication-object.mjs +16 -6
  23. package/fesm2015/cleavelandprice-ngx-lib-authentication-object.mjs.map +1 -1
  24. package/fesm2015/cleavelandprice-ngx-lib-authentication-token-gui.mjs +30 -13
  25. package/fesm2015/cleavelandprice-ngx-lib-authentication-token-gui.mjs.map +1 -1
  26. package/fesm2015/cleavelandprice-ngx-lib-authentication-token.mjs +16 -6
  27. package/fesm2015/cleavelandprice-ngx-lib-authentication-token.mjs.map +1 -1
  28. package/fesm2015/cleavelandprice-ngx-lib-authentication.mjs +1 -7
  29. package/fesm2015/cleavelandprice-ngx-lib-authentication.mjs.map +1 -1
  30. package/fesm2015/cleavelandprice-ngx-lib-dialog.mjs +3 -1
  31. package/fesm2015/cleavelandprice-ngx-lib-dialog.mjs.map +1 -1
  32. package/fesm2020/cleavelandprice-ngx-lib-authentication-object.mjs +16 -6
  33. package/fesm2020/cleavelandprice-ngx-lib-authentication-object.mjs.map +1 -1
  34. package/fesm2020/cleavelandprice-ngx-lib-authentication-token-gui.mjs +30 -13
  35. package/fesm2020/cleavelandprice-ngx-lib-authentication-token-gui.mjs.map +1 -1
  36. package/fesm2020/cleavelandprice-ngx-lib-authentication-token.mjs +16 -6
  37. package/fesm2020/cleavelandprice-ngx-lib-authentication-token.mjs.map +1 -1
  38. package/fesm2020/cleavelandprice-ngx-lib-authentication.mjs +1 -7
  39. package/fesm2020/cleavelandprice-ngx-lib-authentication.mjs.map +1 -1
  40. package/fesm2020/cleavelandprice-ngx-lib-dialog.mjs +3 -1
  41. package/fesm2020/cleavelandprice-ngx-lib-dialog.mjs.map +1 -1
  42. package/package.json +1 -1
@@ -8,8 +8,8 @@ import { CommonModule } from '@angular/common';
8
8
  //import { ServiceConfig as NgxLibServiceConfig } from '@cleavelandprice/ngx-lib';
9
9
  class ServiceConfig extends ServiceConfig$1 {
10
10
  // See the comment in the library's main service-config.ts file for an explanation
11
- constructor(useSsl_or_customApiUrl = false, storageMode = 'local', tokenName = 'token', authenticateEndpoint = '/authenticate/token') {
12
- super(useSsl_or_customApiUrl, storageMode, tokenName, authenticateEndpoint);
11
+ constructor(useSsl_or_customApiUrl = false, tokenName = 'token', authenticateEndpoint = '/authenticate/token') {
12
+ super(useSsl_or_customApiUrl, tokenName, authenticateEndpoint);
13
13
  this.deferTokenValidation = false;
14
14
  }
15
15
  }
@@ -32,6 +32,16 @@ class AuthenticationService {
32
32
  }
33
33
  }
34
34
  //#endregion
35
+ //#region Properties
36
+ get useSessionStorage() {
37
+ return !!localStorage.getItem('storeTokenInSession');
38
+ }
39
+ get storage() {
40
+ return this.useSessionStorage ?
41
+ sessionStorage :
42
+ localStorage;
43
+ }
44
+ //#endregion
35
45
  //#region Utilities
36
46
  //Authenticate the user and store the token in Local Storage
37
47
  login(username, password, adminGroup) {
@@ -63,8 +73,8 @@ class AuthenticationService {
63
73
  }
64
74
  //Logout the user and delete the token from Local Storage
65
75
  logout() {
66
- if (this.config.storage.getItem(this.config.tokenName)) {
67
- this.config.storage.removeItem(this.config.tokenName);
76
+ if (this.storage.getItem(this.config.tokenName)) {
77
+ this.storage.removeItem(this.config.tokenName);
68
78
  }
69
79
  this.authenticatedUser = undefined;
70
80
  this.authenticated = false;
@@ -85,14 +95,14 @@ class AuthenticationService {
85
95
  employeeNumber: decoded.employeeNumber,
86
96
  memberOf: decoded.memberOf
87
97
  };
88
- this.config.storage.setItem(this.config.tokenName, token);
98
+ this.storage.setItem(this.config.tokenName, token);
89
99
  this.authenticated = true;
90
100
  this.authenticatedChanged.emit(this.authenticated);
91
101
  this.authenticating = false;
92
102
  this.authenticatingChanged.emit(this.authenticating);
93
103
  }
94
104
  checkForExistingToken() {
95
- const token = this.config.storage.getItem(this.config.tokenName);
105
+ const token = this.storage.getItem(this.config.tokenName);
96
106
  if (token) {
97
107
  this.validateUser(token);
98
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cleavelandprice-ngx-lib-authentication-token.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/authentication/token/src/model/service-config.ts","../../../../projects/cleavelandprice/ngx-lib/authentication/token/src/services/authentication.service.ts","../../../../projects/cleavelandprice/ngx-lib/authentication/token/src/token.module.ts","../../../../projects/cleavelandprice/ngx-lib/authentication/token/src/cleavelandprice-ngx-lib-authentication-token.ts"],"sourcesContent":["//import { ServiceConfig as NgxLibServiceConfig } from '@cleavelandprice/ngx-lib';\r\nimport { ServiceConfig as BaseServiceConfig } from '@cleavelandprice/ngx-lib/authentication';\r\n\r\nexport class ServiceConfig extends BaseServiceConfig {\r\n deferTokenValidation = false;\r\n \r\n // See the comment in the library's main service-config.ts file for an explanation\r\n constructor(useSsl_or_customApiUrl: boolean | string = false,\r\n storageMode: 'local' | 'session' = 'local',\r\n tokenName = 'token',\r\n authenticateEndpoint = '/authenticate/token'\r\n ) {\r\n super(useSsl_or_customApiUrl, storageMode, tokenName, authenticateEndpoint);\r\n }\r\n}","import { EventEmitter, Injectable, Optional, Output } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\n\r\nimport {\r\n AbstractAuthenticationService,\r\n AuthenticatedUser,\r\n AuthenticationRequest\r\n} from '@cleavelandprice/ngx-lib/authentication';\r\n\r\nimport { AuthenticationToken } from '../model/authentication-token';\r\nimport { ServiceConfig } from '../model/service-config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService implements AbstractAuthenticationService {\r\n //#region Fields\r\n @Output() authenticatedChanged = new EventEmitter<boolean>();\r\n @Output() authenticatingChanged = new EventEmitter<boolean>();\r\n @Output() authenticationError = new EventEmitter();\r\n authenticating = false; // Flag set to true while the service is attempting to authenticate the user\r\n authenticated = false; // Flag set to true when the user is successfully authenticated\r\n authenticatedUser: AuthenticatedUser | undefined; // Object representing the authenticated user\r\n //#endregion\r\n\r\n //#region Lifecycle\r\n constructor(@Optional() protected config: ServiceConfig,\r\n protected http: HttpClient) {\r\n\r\n this.config = this.config ?? new ServiceConfig();\r\n\r\n if (!this.config.deferTokenValidation) {\r\n this.checkForExistingToken();\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region Utilities\r\n //Authenticate the user and store the token in Local Storage\r\n login(username: string, password: string, adminGroup?: string): void {\r\n const request: AuthenticationRequest = {\r\n username: username,\r\n password: password,\r\n adminGroup: adminGroup\r\n };\r\n\r\n this.authenticating = true;\r\n this.authenticatingChanged.emit(this.authenticating);\r\n\r\n // Sending a 'raw' POST request so that we can tell HttpClient that we are expecting text instead of Json\r\n // Otherwise, it would throw an error trying to decode Json from the response\r\n this.http.request('POST', `${this.config.apiUrl}${this.config.authenticateEndpoint}`, { body: request, responseType: 'text' })\r\n .subscribe({\r\n next: (token) => {\r\n if (token) {\r\n this.validateUser(token);\r\n } else {\r\n this.logout();\r\n }\r\n },\r\n error: (err) => {\r\n this.authenticating = false;\r\n this.authenticatingChanged.emit(this.authenticating);\r\n this.authenticationError.emit(err);\r\n }\r\n });\r\n }\r\n \r\n //Logout the user and delete the token from Local Storage\r\n logout(): void {\r\n if (this.config.storage.getItem(this.config.tokenName)) {\r\n this.config.storage.removeItem(this.config.tokenName);\r\n }\r\n\r\n this.authenticatedUser = undefined;\r\n this.authenticated = false;\r\n this.authenticatedChanged.emit(false);\r\n }\r\n \r\n validateUser(token: string): void {\r\n const jwtHelper = new JwtHelperService();\r\n const decoded = jwtHelper.decodeToken(token) as AuthenticationToken;\r\n\r\n if (jwtHelper.isTokenExpired(token)) {\r\n this.logout();\r\n return;\r\n }\r\n\r\n this.authenticatedUser = {\r\n admin: decoded.role === 'Admin',\r\n displayName: decoded.displayName,\r\n accountName: decoded.winaccountname,\r\n distinguishedName: decoded.distinguishedName,\r\n employeeNumber: decoded.employeeNumber,\r\n memberOf: decoded.memberOf\r\n };\r\n\r\n this.config.storage.setItem(this.config.tokenName, token);\r\n \r\n this.authenticated = true;\r\n this.authenticatedChanged.emit(this.authenticated);\r\n\r\n this.authenticating = false;\r\n this.authenticatingChanged.emit(this.authenticating);\r\n }\r\n\r\n checkForExistingToken(): void {\r\n const token = this.config.storage.getItem(this.config.tokenName);\r\n if (token) {\r\n this.validateUser(token);\r\n }\r\n }\r\n //#endregion\r\n}","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ServiceConfig } from './model/service-config';\r\n\r\nimport { AuthenticationService } from './services/authentication.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: []\r\n})\r\nexport class TokenModule {\r\n static forRoot(config: ServiceConfig): ModuleWithProviders<TokenModule> {\r\n return {\r\n ngModule: TokenModule,\r\n providers: [\r\n AuthenticationService,\r\n { provide: ServiceConfig, useValue: config }\r\n ]\r\n };\r\n }\r\n\r\n constructor(@Optional() @SkipSelf() parentModule: TokenModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'TokenModule is already loaded. Import it in the AppModule only');\r\n }\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["BaseServiceConfig","i1.ServiceConfig"],"mappings":"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"}
1
+ {"version":3,"file":"cleavelandprice-ngx-lib-authentication-token.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/authentication/token/src/model/service-config.ts","../../../../projects/cleavelandprice/ngx-lib/authentication/token/src/services/authentication.service.ts","../../../../projects/cleavelandprice/ngx-lib/authentication/token/src/token.module.ts","../../../../projects/cleavelandprice/ngx-lib/authentication/token/src/cleavelandprice-ngx-lib-authentication-token.ts"],"sourcesContent":["//import { ServiceConfig as NgxLibServiceConfig } from '@cleavelandprice/ngx-lib';\r\nimport { ServiceConfig as BaseServiceConfig } from '@cleavelandprice/ngx-lib/authentication';\r\n\r\nexport class ServiceConfig extends BaseServiceConfig {\r\n deferTokenValidation = false;\r\n \r\n // See the comment in the library's main service-config.ts file for an explanation\r\n constructor(useSsl_or_customApiUrl: boolean | string = false,\r\n tokenName = 'token',\r\n authenticateEndpoint = '/authenticate/token'\r\n ) {\r\n super(useSsl_or_customApiUrl, tokenName, authenticateEndpoint);\r\n }\r\n}","import { EventEmitter, Injectable, Optional, Output } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\n\r\nimport {\r\n AbstractAuthenticationService,\r\n AuthenticatedUser,\r\n AuthenticationRequest\r\n} from '@cleavelandprice/ngx-lib/authentication';\r\n\r\nimport { AuthenticationToken } from '../model/authentication-token';\r\nimport { ServiceConfig } from '../model/service-config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService implements AbstractAuthenticationService {\r\n //#region Fields\r\n @Output() authenticatedChanged = new EventEmitter<boolean>();\r\n @Output() authenticatingChanged = new EventEmitter<boolean>();\r\n @Output() authenticationError = new EventEmitter();\r\n authenticating = false; // Flag set to true while the service is attempting to authenticate the user\r\n authenticated = false; // Flag set to true when the user is successfully authenticated\r\n authenticatedUser: AuthenticatedUser | undefined; // Object representing the authenticated user\r\n //#endregion\r\n\r\n //#region Properties\r\n get useSessionStorage(): boolean {\r\n return !!localStorage.getItem('storeTokenInSession');\r\n }\r\n\r\n get storage(): Storage {\r\n return this.useSessionStorage ?\r\n sessionStorage:\r\n localStorage;\r\n }\r\n //#endregion\r\n\r\n //#region Lifecycle\r\n constructor(@Optional() protected config: ServiceConfig,\r\n protected http: HttpClient) {\r\n\r\n this.config = this.config ?? new ServiceConfig();\r\n\r\n if (!this.config.deferTokenValidation) {\r\n this.checkForExistingToken();\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region Utilities\r\n //Authenticate the user and store the token in Local Storage\r\n login(username: string, password: string, adminGroup?: string): void {\r\n const request: AuthenticationRequest = {\r\n username: username,\r\n password: password,\r\n adminGroup: adminGroup\r\n };\r\n\r\n this.authenticating = true;\r\n this.authenticatingChanged.emit(this.authenticating);\r\n\r\n // Sending a 'raw' POST request so that we can tell HttpClient that we are expecting text instead of Json\r\n // Otherwise, it would throw an error trying to decode Json from the response\r\n this.http.request('POST', `${this.config.apiUrl}${this.config.authenticateEndpoint}`, { body: request, responseType: 'text' })\r\n .subscribe({\r\n next: (token) => {\r\n if (token) {\r\n this.validateUser(token);\r\n } else {\r\n this.logout();\r\n }\r\n },\r\n error: (err) => {\r\n this.authenticating = false;\r\n this.authenticatingChanged.emit(this.authenticating);\r\n this.authenticationError.emit(err);\r\n }\r\n });\r\n }\r\n \r\n //Logout the user and delete the token from Local Storage\r\n logout(): void {\r\n if (this.storage.getItem(this.config.tokenName)) {\r\n this.storage.removeItem(this.config.tokenName);\r\n }\r\n\r\n this.authenticatedUser = undefined;\r\n this.authenticated = false;\r\n this.authenticatedChanged.emit(false);\r\n }\r\n \r\n validateUser(token: string): void {\r\n const jwtHelper = new JwtHelperService();\r\n const decoded = jwtHelper.decodeToken(token) as AuthenticationToken;\r\n\r\n if (jwtHelper.isTokenExpired(token)) {\r\n this.logout();\r\n return;\r\n }\r\n\r\n this.authenticatedUser = {\r\n admin: decoded.role === 'Admin',\r\n displayName: decoded.displayName,\r\n accountName: decoded.winaccountname,\r\n distinguishedName: decoded.distinguishedName,\r\n employeeNumber: decoded.employeeNumber,\r\n memberOf: decoded.memberOf\r\n };\r\n\r\n this.storage.setItem(this.config.tokenName, token);\r\n \r\n this.authenticated = true;\r\n this.authenticatedChanged.emit(this.authenticated);\r\n\r\n this.authenticating = false;\r\n this.authenticatingChanged.emit(this.authenticating);\r\n }\r\n\r\n checkForExistingToken(): void {\r\n const token = this.storage.getItem(this.config.tokenName);\r\n if (token) {\r\n this.validateUser(token);\r\n }\r\n }\r\n //#endregion\r\n}","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ServiceConfig } from './model/service-config';\r\n\r\nimport { AuthenticationService } from './services/authentication.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: []\r\n})\r\nexport class TokenModule {\r\n static forRoot(config: ServiceConfig): ModuleWithProviders<TokenModule> {\r\n return {\r\n ngModule: TokenModule,\r\n providers: [\r\n AuthenticationService,\r\n { provide: ServiceConfig, useValue: config }\r\n ]\r\n };\r\n }\r\n\r\n constructor(@Optional() @SkipSelf() parentModule: TokenModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'TokenModule is already loaded. Import it in the AppModule only');\r\n }\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["BaseServiceConfig","i1.ServiceConfig"],"mappings":"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"}
@@ -5,18 +5,12 @@ import { CommonModule } from '@angular/common';
5
5
 
6
6
  class ServiceConfig extends ServiceConfig$1 {
7
7
  // See the comment in the library's main service-config.ts file for an explanation
8
- constructor(useSsl_or_customApiUrl = false, storageMode = 'local', tokenName = 'token', // The name used as the Key of the item saved in the browser's LocalStorage
8
+ constructor(useSsl_or_customApiUrl = false, tokenName = 'token', // The name used as the Key of the item saved in the browser's LocalStorage
9
9
  authenticateEndpoint = '/authenticate/token') {
10
10
  super(useSsl_or_customApiUrl);
11
- this.storageMode = storageMode;
12
11
  this.tokenName = tokenName;
13
12
  this.authenticateEndpoint = authenticateEndpoint;
14
13
  }
15
- get storage() {
16
- return this.storageMode === 'local' ?
17
- localStorage :
18
- sessionStorage;
19
- }
20
14
  }
21
15
 
22
16
  class AuthenticationBaseModule {
@@ -1 +1 @@
1
- {"version":3,"file":"cleavelandprice-ngx-lib-authentication.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/authentication/src/model/service-config.ts","../../../../projects/cleavelandprice/ngx-lib/authentication/src/authentication.base.module.ts","../../../../projects/cleavelandprice/ngx-lib/authentication/src/cleavelandprice-ngx-lib-authentication.ts"],"sourcesContent":["import { ServiceConfig as NgxLibServiceConfig } from '@cleavelandprice/ngx-lib';\r\n\r\nexport class ServiceConfig extends NgxLibServiceConfig {\r\n get storage(): Storage {\r\n return this.storageMode === 'local' ?\r\n localStorage :\r\n sessionStorage;\r\n }\r\n\r\n // See the comment in the library's main service-config.ts file for an explanation\r\n constructor(useSsl_or_customApiUrl: boolean | string = false,\r\n public storageMode: 'local' | 'session' = 'local',\r\n public tokenName = 'token', // The name used as the Key of the item saved in the browser's LocalStorage\r\n public authenticateEndpoint = '/authenticate/token'\r\n ) {\r\n super(useSsl_or_customApiUrl);\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: []\r\n})\r\nexport class AuthenticationBaseModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["NgxLibServiceConfig"],"mappings":";;;;;AAEM,MAAO,aAAc,SAAQA,eAAmB,CAAA;;IAQlD,WAAY,CAAA,sBAAA,GAA2C,KAAK,EACjD,WAAA,GAAmC,OAAO,EAC1C,SAAA,GAAY,OAAO;AACnB,IAAA,oBAAA,GAAuB,qBAAqB,EAAA;QAEnD,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAJvB,IAAW,CAAA,WAAA,GAAX,WAAW,CAA+B;QAC1C,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;QACnB,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAwB;KAGtD;AAbD,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,WAAW,KAAK,OAAO;AAC/B,YAAA,YAAY;AACZ,YAAA,cAAc,CAAC;KACtB;AAUJ;;MCPY,wBAAwB,CAAA;;qHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAJjC,YAAY,CAAA,EAAA,CAAA,CAAA;AAIH,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAJjC,YAAY,CAAA,EAAA,CAAA,CAAA;2FAIH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;AACZ,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
1
+ {"version":3,"file":"cleavelandprice-ngx-lib-authentication.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/authentication/src/model/service-config.ts","../../../../projects/cleavelandprice/ngx-lib/authentication/src/authentication.base.module.ts","../../../../projects/cleavelandprice/ngx-lib/authentication/src/cleavelandprice-ngx-lib-authentication.ts"],"sourcesContent":["import { ServiceConfig as NgxLibServiceConfig } from '@cleavelandprice/ngx-lib';\r\n\r\nexport class ServiceConfig extends NgxLibServiceConfig {\r\n // See the comment in the library's main service-config.ts file for an explanation\r\n constructor(useSsl_or_customApiUrl: boolean | string = false,\r\n public tokenName = 'token', // The name used as the Key of the item saved in the browser's LocalStorage\r\n public authenticateEndpoint = '/authenticate/token'\r\n ) {\r\n super(useSsl_or_customApiUrl);\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: []\r\n})\r\nexport class AuthenticationBaseModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["NgxLibServiceConfig"],"mappings":";;;;;AAEM,MAAO,aAAc,SAAQA,eAAmB,CAAA;;AAElD,IAAA,WAAA,CAAY,yBAA2C,KAAK,EACjD,SAAY,GAAA,OAAO;AACnB,IAAA,oBAAA,GAAuB,qBAAqB,EAAA;QAEnD,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAHvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;QACnB,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAwB;KAGtD;AACJ;;MCAY,wBAAwB,CAAA;;qHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAJjC,YAAY,CAAA,EAAA,CAAA,CAAA;AAIH,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAJjC,YAAY,CAAA,EAAA,CAAA,CAAA;2FAIH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;AACZ,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
@@ -54,6 +54,9 @@ class BaseComponent {
54
54
  this.data.choices :
55
55
  null;
56
56
  }
57
+ ngOnInit() {
58
+ this.userInput = this.data.value;
59
+ }
57
60
  close() {
58
61
  let data;
59
62
  switch (this.dialogType) {
@@ -237,4 +240,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
237
240
 
238
241
  export { BaseComponent, ChoiceComponent, ConfirmationComponent, ConfirmationDialogMode, DialogModule, DialogType, InputComponent, MessageComponent };
239
242
  //# sourceMappingURL=cleavelandprice-ngx-lib-dialog.mjs.map
240
- //# sourceMappingURL=cleavelandprice-ngx-lib-dialog.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"cleavelandprice-ngx-lib-dialog.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/dialog/src/model/confirmation-dialog-mode.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/model/dialog-type.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/base/base.component.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/base/base.component.html","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/choice/choice.component.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/choice/choice.component.html","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/confirmation/confirmation.component.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/confirmation/confirmation.component.html","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/input/input.component.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/input/input.component.html","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/message/message.component.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/message/message.component.html","../../../../projects/cleavelandprice/ngx-lib/dialog/src/dialog.module.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/cleavelandprice-ngx-lib-dialog.ts"],"sourcesContent":["export enum ConfirmationDialogMode {\r\n OkCancel,\r\n YesNo,\r\n TrueFalse,\r\n Custom\r\n}","export enum DialogType {\r\n Choice,\r\n Confirmation,\r\n Input,\r\n Message\r\n}","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { ConfirmationDialogMode } from '../../model/confirmation-dialog-mode';\r\nimport { DialogBaseData } from '../../model/dialog-base-data';\r\nimport { DialogChoiceData } from '../../model/dialog-choice-data';\r\nimport { DialogType } from '../../model/dialog-type';\r\n\r\n@Component({\r\n selector: 'cp-dialog-base',\r\n templateUrl: './base.component.html',\r\n styleUrls: ['./base.component.css']\r\n})\r\nexport class BaseComponent {\r\n // This is so that DialogType can be publish accessible from the HTML template\r\n DialogType = DialogType;\r\n @Input() dialogType = DialogType.Message;\r\n @Input() data!: DialogBaseData;\r\n @Output() closed = new EventEmitter<any>();\r\n\r\n ConfirmationDialogMode = ConfirmationDialogMode;\r\n\r\n // Form values\r\n userInput!: string;\r\n checkboxValue!: boolean;\r\n\r\n get customTrueText(): string | null {\r\n return this.data.customTrueFalseText ?\r\n this.data.customTrueFalseText[0] :\r\n null;\r\n }\r\n\r\n get customFalseText(): string | null {\r\n return this.data.customTrueFalseText ?\r\n this.data.customTrueFalseText[1] :\r\n null;\r\n }\r\n\r\n get choices(): string[] | null {\r\n return this.dialogType === DialogType.Choice ?\r\n (this.data as DialogChoiceData).choices :\r\n null;\r\n }\r\n\r\n close(): void {\r\n let data: any;\r\n\r\n switch (this.dialogType) {\r\n case DialogType.Message:\r\n data = this.data.checkboxMessage ?\r\n {\r\n checkbox: this.checkboxValue || false\r\n } :\r\n null;\r\n break;\r\n case DialogType.Input:\r\n data = this.data.checkboxMessage ?\r\n {\r\n response: this.userInput,\r\n checkbox: this.checkboxValue || false\r\n } :\r\n this.userInput;\r\n break;\r\n case DialogType.Confirmation:\r\n data = this.data.checkboxMessage ?\r\n {\r\n response: true,\r\n checkbox: this.checkboxValue || false\r\n } :\r\n true;\r\n break;\r\n }\r\n\r\n this.closed.emit(data);\r\n }\r\n\r\n cancel(): void {\r\n let data: any;\r\n\r\n if (this.dialogType === DialogType.Confirmation) {\r\n data = this.data.checkboxMessage ?\r\n {\r\n response: false,\r\n checkbox: this.checkboxValue || false\r\n } :\r\n false;\r\n }\r\n\r\n this.closed.emit(data);\r\n }\r\n}\r\n","<h2 *ngIf=\"data?.title\" mat-dialog-title [innerHTML]=\"data.title\"></h2>\n\n<mat-dialog-content>\n <div *ngIf=\"data?.message\" [innerHTML]=\"data.message\"></div>\n\n <mat-form-field *ngIf=\"dialogType === DialogType.Input\">\n <textarea matInput [placeholder]=\"data.placeholder ?? ''\" [(ngModel)]=\"userInput\"></textarea>\n </mat-form-field>\n\n <div id=\"checkbox\" *ngIf=\"data?.checkboxMessage\">\n <mat-checkbox [(ngModel)]=\"checkboxValue\">\n <span [innerHTML]=\"data.checkboxMessage\"></span>\n </mat-checkbox>\n </div>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <ng-container *ngIf=\"dialogType !== DialogType.Choice\">\n <button mat-raised-button (click)=\"close()\" [disabled]=\"dialogType === DialogType.Input && !userInput\">\n <span [ngSwitch]=\"data.mode\">\n <span *ngSwitchCase=\"ConfirmationDialogMode.YesNo\">Yes</span>\n <span *ngSwitchCase=\"ConfirmationDialogMode.TrueFalse\">True</span>\n <span *ngSwitchCase=\"ConfirmationDialogMode.Custom\">{{ customTrueText }}</span>\n <span *ngSwitchDefault>OK</span>\n </span>\n </button>\n <button *ngIf=\"dialogType !== DialogType.Message\" mat-raised-button (click)=\"cancel()\">\n <span [ngSwitch]=\"data.mode\">\n <span *ngSwitchCase=\"ConfirmationDialogMode.YesNo\">No</span>\n <span *ngSwitchCase=\"ConfirmationDialogMode.TrueFalse\">False</span>\n <span *ngSwitchCase=\"ConfirmationDialogMode.Custom\">{{ customFalseText }}</span>\n <span *ngSwitchDefault>Cancel</span>\n </span>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"dialogType === DialogType.Choice\">\n <button mat-raised-button *ngFor=\"let choice of choices; let i = index\" [matDialogClose]=\"i\">\n <span>{{ choice }}</span>\n </button>\n </ng-container>\n</mat-dialog-actions>","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { DialogChoiceData } from '../../model/dialog-choice-data';\r\nimport { DialogType } from '../../model/dialog-type';\r\n\r\n@Component({\r\n templateUrl: './choice.component.html',\r\n styleUrls: ['./choice.component.css']\r\n})\r\nexport class ChoiceComponent {\r\n dialogType = DialogType.Choice;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: DialogChoiceData,\r\n public dialogRef: MatDialogRef<ChoiceComponent>) {\r\n }\r\n}\r\n","<cp-dialog-base\n [data]=\"data\"\n [dialogType]=\"dialogType\"\n (closed)=\"dialogRef.close($event)\">\n</cp-dialog-base>","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { DialogBaseData } from '../../model/dialog-base-data';\r\nimport { DialogType } from '../../model/dialog-type';\r\n\r\n@Component({\r\n templateUrl: './confirmation.component.html',\r\n styleUrls: ['./confirmation.component.css']\r\n})\r\nexport class ConfirmationComponent {\r\n dialogType = DialogType.Confirmation;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: DialogBaseData,\r\n public dialogRef: MatDialogRef<ConfirmationComponent>) {\r\n }\r\n}\r\n","<cp-dialog-base\n [data]=\"data\"\n [dialogType]=\"dialogType\"\n (closed)=\"dialogRef.close($event)\">\n</cp-dialog-base>","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { DialogBaseData } from '../../model/dialog-base-data';\r\nimport { DialogType } from '../../model/dialog-type';\r\n\r\n@Component({\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.css']\r\n})\r\nexport class InputComponent {\r\n dialogType = DialogType.Input;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: DialogBaseData,\r\n public dialogRef: MatDialogRef<InputComponent>) {\r\n }\r\n}\r\n","<cp-dialog-base\n [data]=\"data\"\n [dialogType]=\"dialogType\"\n (closed)=\"dialogRef.close($event)\">\n</cp-dialog-base>","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { DialogBaseData } from '../../model/dialog-base-data';\r\nimport { DialogType } from '../../model/dialog-type';\r\n\r\n@Component({\r\n templateUrl: './message.component.html',\r\n styleUrls: ['./message.component.css']\r\n})\r\nexport class MessageComponent {\r\n dialogType = DialogType.Message;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: DialogBaseData,\r\n public dialogRef: MatDialogRef<MessageComponent>) {\r\n }\r\n}\r\n","<cp-dialog-base\n [data]=\"data\"\n [dialogType]=\"dialogType\"\n (closed)=\"dialogRef.close($event)\">\n</cp-dialog-base>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { BaseComponent } from './components/base/base.component';\nimport { ChoiceComponent } from './components/choice/choice.component';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { InputComponent } from './components/input/input.component';\nimport { MessageComponent } from './components/message/message.component';\n\n@NgModule({\n declarations: [\n BaseComponent,\n ChoiceComponent,\n ConfirmationComponent,\n InputComponent,\n MessageComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule\n ],\n exports: [\n BaseComponent,\n ChoiceComponent,\n ConfirmationComponent,\n InputComponent,\n MessageComponent\n ]\n})\nexport class DialogModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i5","i1","i2.BaseComponent"],"mappings":"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"}
1
+ {"version":3,"file":"cleavelandprice-ngx-lib-dialog.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/dialog/src/model/confirmation-dialog-mode.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/model/dialog-type.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/base/base.component.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/base/base.component.html","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/choice/choice.component.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/choice/choice.component.html","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/confirmation/confirmation.component.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/confirmation/confirmation.component.html","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/input/input.component.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/input/input.component.html","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/message/message.component.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/components/message/message.component.html","../../../../projects/cleavelandprice/ngx-lib/dialog/src/dialog.module.ts","../../../../projects/cleavelandprice/ngx-lib/dialog/src/cleavelandprice-ngx-lib-dialog.ts"],"sourcesContent":["export enum ConfirmationDialogMode {\r\n OkCancel,\r\n YesNo,\r\n TrueFalse,\r\n Custom\r\n}","export enum DialogType {\r\n Choice,\r\n Confirmation,\r\n Input,\r\n Message\r\n}","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\n\r\nimport { ConfirmationDialogMode } from '../../model/confirmation-dialog-mode';\r\nimport { DialogBaseData } from '../../model/dialog-base-data';\r\nimport { DialogChoiceData } from '../../model/dialog-choice-data';\r\nimport { DialogType } from '../../model/dialog-type';\r\n\r\n@Component({\r\n selector: 'cp-dialog-base',\r\n templateUrl: './base.component.html',\r\n styleUrls: ['./base.component.css']\r\n})\r\nexport class BaseComponent implements OnInit {\r\n // This is so that DialogType can be publish accessible from the HTML template\r\n DialogType = DialogType;\r\n @Input() dialogType = DialogType.Message;\r\n @Input() data!: DialogBaseData;\r\n @Output() closed = new EventEmitter<any>();\r\n\r\n ConfirmationDialogMode = ConfirmationDialogMode;\r\n\r\n // Form values\r\n userInput: string | undefined;\r\n checkboxValue!: boolean;\r\n\r\n get customTrueText(): string | null {\r\n return this.data.customTrueFalseText ?\r\n this.data.customTrueFalseText[0] :\r\n null;\r\n }\r\n\r\n get customFalseText(): string | null {\r\n return this.data.customTrueFalseText ?\r\n this.data.customTrueFalseText[1] :\r\n null;\r\n }\r\n\r\n get choices(): string[] | null {\r\n return this.dialogType === DialogType.Choice ?\r\n (this.data as DialogChoiceData).choices :\r\n null;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.userInput = this.data.value;\r\n }\r\n\r\n close(): void {\r\n let data: any;\r\n\r\n switch (this.dialogType) {\r\n case DialogType.Message:\r\n data = this.data.checkboxMessage ?\r\n {\r\n checkbox: this.checkboxValue || false\r\n } :\r\n null;\r\n break;\r\n case DialogType.Input:\r\n data = this.data.checkboxMessage ?\r\n {\r\n response: this.userInput,\r\n checkbox: this.checkboxValue || false\r\n } :\r\n this.userInput;\r\n break;\r\n case DialogType.Confirmation:\r\n data = this.data.checkboxMessage ?\r\n {\r\n response: true,\r\n checkbox: this.checkboxValue || false\r\n } :\r\n true;\r\n break;\r\n }\r\n\r\n this.closed.emit(data);\r\n }\r\n\r\n cancel(): void {\r\n let data: any;\r\n\r\n if (this.dialogType === DialogType.Confirmation) {\r\n data = this.data.checkboxMessage ?\r\n {\r\n response: false,\r\n checkbox: this.checkboxValue || false\r\n } :\r\n false;\r\n }\r\n\r\n this.closed.emit(data);\r\n }\r\n}\r\n","<h2 *ngIf=\"data?.title\" mat-dialog-title [innerHTML]=\"data.title\"></h2>\n\n<mat-dialog-content>\n <div *ngIf=\"data?.message\" [innerHTML]=\"data.message\"></div>\n\n <mat-form-field *ngIf=\"dialogType === DialogType.Input\">\n <textarea matInput [placeholder]=\"data.placeholder ?? ''\" [(ngModel)]=\"userInput\"></textarea>\n </mat-form-field>\n\n <div id=\"checkbox\" *ngIf=\"data?.checkboxMessage\">\n <mat-checkbox [(ngModel)]=\"checkboxValue\">\n <span [innerHTML]=\"data.checkboxMessage\"></span>\n </mat-checkbox>\n </div>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <ng-container *ngIf=\"dialogType !== DialogType.Choice\">\n <button mat-raised-button (click)=\"close()\" [disabled]=\"dialogType === DialogType.Input && !userInput\">\n <span [ngSwitch]=\"data.mode\">\n <span *ngSwitchCase=\"ConfirmationDialogMode.YesNo\">Yes</span>\n <span *ngSwitchCase=\"ConfirmationDialogMode.TrueFalse\">True</span>\n <span *ngSwitchCase=\"ConfirmationDialogMode.Custom\">{{ customTrueText }}</span>\n <span *ngSwitchDefault>OK</span>\n </span>\n </button>\n <button *ngIf=\"dialogType !== DialogType.Message\" mat-raised-button (click)=\"cancel()\">\n <span [ngSwitch]=\"data.mode\">\n <span *ngSwitchCase=\"ConfirmationDialogMode.YesNo\">No</span>\n <span *ngSwitchCase=\"ConfirmationDialogMode.TrueFalse\">False</span>\n <span *ngSwitchCase=\"ConfirmationDialogMode.Custom\">{{ customFalseText }}</span>\n <span *ngSwitchDefault>Cancel</span>\n </span>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"dialogType === DialogType.Choice\">\n <button mat-raised-button *ngFor=\"let choice of choices; let i = index\" [matDialogClose]=\"i\">\n <span>{{ choice }}</span>\n </button>\n </ng-container>\n</mat-dialog-actions>","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { DialogChoiceData } from '../../model/dialog-choice-data';\r\nimport { DialogType } from '../../model/dialog-type';\r\n\r\n@Component({\r\n templateUrl: './choice.component.html',\r\n styleUrls: ['./choice.component.css']\r\n})\r\nexport class ChoiceComponent {\r\n dialogType = DialogType.Choice;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: DialogChoiceData,\r\n public dialogRef: MatDialogRef<ChoiceComponent>) {\r\n }\r\n}\r\n","<cp-dialog-base\n [data]=\"data\"\n [dialogType]=\"dialogType\"\n (closed)=\"dialogRef.close($event)\">\n</cp-dialog-base>","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { DialogBaseData } from '../../model/dialog-base-data';\r\nimport { DialogType } from '../../model/dialog-type';\r\n\r\n@Component({\r\n templateUrl: './confirmation.component.html',\r\n styleUrls: ['./confirmation.component.css']\r\n})\r\nexport class ConfirmationComponent {\r\n dialogType = DialogType.Confirmation;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: DialogBaseData,\r\n public dialogRef: MatDialogRef<ConfirmationComponent>) {\r\n }\r\n}\r\n","<cp-dialog-base\n [data]=\"data\"\n [dialogType]=\"dialogType\"\n (closed)=\"dialogRef.close($event)\">\n</cp-dialog-base>","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { DialogBaseData } from '../../model/dialog-base-data';\r\nimport { DialogType } from '../../model/dialog-type';\r\n\r\n@Component({\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.css']\r\n})\r\nexport class InputComponent {\r\n dialogType = DialogType.Input;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: DialogBaseData,\r\n public dialogRef: MatDialogRef<InputComponent>) {\r\n }\r\n}\r\n","<cp-dialog-base\n [data]=\"data\"\n [dialogType]=\"dialogType\"\n (closed)=\"dialogRef.close($event)\">\n</cp-dialog-base>","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { DialogBaseData } from '../../model/dialog-base-data';\r\nimport { DialogType } from '../../model/dialog-type';\r\n\r\n@Component({\r\n templateUrl: './message.component.html',\r\n styleUrls: ['./message.component.css']\r\n})\r\nexport class MessageComponent {\r\n dialogType = DialogType.Message;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: DialogBaseData,\r\n public dialogRef: MatDialogRef<MessageComponent>) {\r\n }\r\n}\r\n","<cp-dialog-base\n [data]=\"data\"\n [dialogType]=\"dialogType\"\n (closed)=\"dialogRef.close($event)\">\n</cp-dialog-base>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { BaseComponent } from './components/base/base.component';\nimport { ChoiceComponent } from './components/choice/choice.component';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { InputComponent } from './components/input/input.component';\nimport { MessageComponent } from './components/message/message.component';\n\n@NgModule({\n declarations: [\n BaseComponent,\n ChoiceComponent,\n ConfirmationComponent,\n InputComponent,\n MessageComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule\n ],\n exports: [\n BaseComponent,\n ChoiceComponent,\n ConfirmationComponent,\n InputComponent,\n MessageComponent\n ]\n})\nexport class DialogModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i5","i1","i2.BaseComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "comment": "NGX-LIB primary entry point package.json",
3
3
  "name": "@cleavelandprice/ngx-lib",
4
- "version": "3.7.0",
4
+ "version": "3.7.2",
5
5
  "description": "Angular 15+ library providing foundational functionality to Cleaveland-Price applications",
6
6
  "peerDependencies": {
7
7
  "@angular/common": "^15.0.4",