@c8y/ngx-components 1023.17.11 → 1023.17.16
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/auth-configuration/index.d.ts +6 -3
- package/auth-configuration/index.d.ts.map +1 -1
- package/datapoint-library/details/index.d.ts.map +1 -1
- package/datapoint-selector/index.d.ts +6 -3
- package/datapoint-selector/index.d.ts.map +1 -1
- package/device-grid/index.d.ts.map +1 -1
- package/echart/index.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +133 -59
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +3 -16
- package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +18 -19
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs +5 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart.mjs +17 -4
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-search.mjs +10 -2
- package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sub-assets.mjs +10 -2
- package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +10 -2
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/index.d.ts.map +1 -1
- package/locales/de.po +1 -1
- package/package.json +1 -1
- package/search/index.d.ts.map +1 -1
- package/sub-assets/index.d.ts.map +1 -1
|
@@ -14,7 +14,6 @@ import * as i5 from 'ngx-bootstrap/datepicker';
|
|
|
14
14
|
import * as i6 from '@c8y/ngx-components/assets-navigator';
|
|
15
15
|
import { PageChangedEvent } from 'ngx-bootstrap/pagination';
|
|
16
16
|
import { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';
|
|
17
|
-
import { Router } from '@angular/router';
|
|
18
17
|
|
|
19
18
|
interface TenantLoginOption extends Omit<ITenantLoginOption, 'authenticationRestrictions' | 'self' | 'strengthValidity' | 'tfaStrategy' | 'greenMinLength' | 'enforceStrength' | 'strengthValidity' | '_type'> {
|
|
20
19
|
authenticationRestrictions?: AuthenticationRestrictions;
|
|
@@ -416,6 +415,7 @@ declare class SsoConfigurationService {
|
|
|
416
415
|
constructor(loginOptionsService: TenantLoginOptionsService);
|
|
417
416
|
getSsoConfiguration$(): Observable<ITenantLoginOption>;
|
|
418
417
|
save(ssoConfiguration: SsoConfiguration): Promise<_c8y_client.IResult<ITenantLoginOption>>;
|
|
418
|
+
shouldShowTab$(): Observable<boolean>;
|
|
419
419
|
static ɵfac: i0.ɵɵFactoryDeclaration<SsoConfigurationService, never>;
|
|
420
420
|
static ɵprov: i0.ɵɵInjectableDeclaration<SsoConfigurationService>;
|
|
421
421
|
}
|
|
@@ -967,10 +967,13 @@ declare class AuthConfigurationModule {
|
|
|
967
967
|
}
|
|
968
968
|
|
|
969
969
|
declare class AuthConfigurationTabsFactory implements TabFactory {
|
|
970
|
-
router
|
|
970
|
+
private router;
|
|
971
|
+
private tabsService;
|
|
972
|
+
private basicSettingsService;
|
|
971
973
|
private ssoConfigurationService;
|
|
972
|
-
|
|
974
|
+
tabs$: Observable<Tab[]>;
|
|
973
975
|
get(): Observable<Tab[]>;
|
|
976
|
+
listTabs(): Observable<Tab[]>;
|
|
974
977
|
static ɵfac: i0.ɵɵFactoryDeclaration<AuthConfigurationTabsFactory, never>;
|
|
975
978
|
static ɵprov: i0.ɵɵInjectableDeclaration<AuthConfigurationTabsFactory>;
|
|
976
979
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../auth-configuration/basic-settings/basic-settings.model.ts","../../auth-configuration/basic-settings/auth-configuration.model.ts","../../auth-configuration/basic-settings/session-configuration.component.ts","../../auth-configuration/basic-settings/login-settings.component.ts","../../auth-configuration/basic-settings/basic-auth-settings.component.ts","../../auth-configuration/basic-settings/tenant-login-option.mapper.ts","../../auth-configuration/basic-settings/auth-configuration.service.ts","../../auth-configuration/basic-settings/auth-configuration.component.ts","../../auth-configuration/basic-settings/tfa-settings.component.ts","../../auth-configuration/basic-settings/basic-settings.module.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/paginated-list-group.component.ts","../../auth-configuration/sso-configuration/sso-configuration.model.ts","../../auth-configuration/sso-configuration/sso-configuration.service.ts","../../auth-configuration/sso-configuration/sso-configuration.component.ts","../../auth-configuration/sso-configuration/templates/sso-configuration.mapper.ts","../../auth-configuration/sso-configuration/template-parts/request-configuration.model.ts","../../auth-configuration/sso-configuration/template-parts/signature-configuration.model.ts","../../auth-configuration/sso-configuration/template-parts/external-token-config.model.ts","../../auth-configuration/sso-configuration/templates/custom.model.ts","../../auth-configuration/sso-configuration/templates/custom-configuration-mapper.ts","../../auth-configuration/sso-configuration/templates/template.component.ts","../../auth-configuration/sso-configuration/templates/custom-template.component.ts","../../auth-configuration/sso-configuration/templates/key-cloak.model.ts","../../auth-configuration/sso-configuration/templates/key-cloak-configuration-mapper.ts","../../auth-configuration/sso-configuration/templates/key-cloak-template.component.ts","../../auth-configuration/sso-configuration/templates/aad.model.ts","../../auth-configuration/sso-configuration/templates/aad-configuration-mapper.ts","../../auth-configuration/sso-configuration/templates/aad-template.component.ts","../../auth-configuration/sso-configuration/template-parts/basic-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/request-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/user-id-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/user-data-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/dynamic-access-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/signature-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/logout-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/child-predicates.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.ts","../../auth-configuration/sso-configuration/template-parts/external-token-config.component.ts","../../auth-configuration/sso-configuration/sso-configuration.module.ts","../../auth-configuration/auth-configuration.module.ts","../../auth-configuration/factories/tabs.factory.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../auth-configuration/basic-settings/basic-settings.model.ts","../../auth-configuration/basic-settings/auth-configuration.model.ts","../../auth-configuration/basic-settings/session-configuration.component.ts","../../auth-configuration/basic-settings/login-settings.component.ts","../../auth-configuration/basic-settings/basic-auth-settings.component.ts","../../auth-configuration/basic-settings/tenant-login-option.mapper.ts","../../auth-configuration/basic-settings/auth-configuration.service.ts","../../auth-configuration/basic-settings/auth-configuration.component.ts","../../auth-configuration/basic-settings/tfa-settings.component.ts","../../auth-configuration/basic-settings/basic-settings.module.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/paginated-list-group.component.ts","../../auth-configuration/sso-configuration/sso-configuration.model.ts","../../auth-configuration/sso-configuration/sso-configuration.service.ts","../../auth-configuration/sso-configuration/sso-configuration.component.ts","../../auth-configuration/sso-configuration/templates/sso-configuration.mapper.ts","../../auth-configuration/sso-configuration/template-parts/request-configuration.model.ts","../../auth-configuration/sso-configuration/template-parts/signature-configuration.model.ts","../../auth-configuration/sso-configuration/template-parts/external-token-config.model.ts","../../auth-configuration/sso-configuration/templates/custom.model.ts","../../auth-configuration/sso-configuration/templates/custom-configuration-mapper.ts","../../auth-configuration/sso-configuration/templates/template.component.ts","../../auth-configuration/sso-configuration/templates/custom-template.component.ts","../../auth-configuration/sso-configuration/templates/key-cloak.model.ts","../../auth-configuration/sso-configuration/templates/key-cloak-configuration-mapper.ts","../../auth-configuration/sso-configuration/templates/key-cloak-template.component.ts","../../auth-configuration/sso-configuration/templates/aad.model.ts","../../auth-configuration/sso-configuration/templates/aad-configuration-mapper.ts","../../auth-configuration/sso-configuration/templates/aad-template.component.ts","../../auth-configuration/sso-configuration/template-parts/basic-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/request-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/user-id-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/user-data-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/dynamic-access-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/signature-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/logout-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/child-predicates.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.ts","../../auth-configuration/sso-configuration/template-parts/external-token-config.component.ts","../../auth-configuration/sso-configuration/sso-configuration.module.ts","../../auth-configuration/auth-configuration.module.ts","../../auth-configuration/factories/tabs.factory.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../../datapoint-library/details/datapoint-library-details.component.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;AA4BA,cAAA,gCAAA,YAAA,MAAA,EAAA,SAAA;AAoBI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqD,YAAA,uBAAA;AAtBvD;;;;;;AAMA;AAEA;;AAKU,gCAAA,cAAA,aAAA,gBAAA,eAAA,WAAA,gBAAA,YAAA,UAAA,MAAA,aAAA,gBAAA,gBAAA,YAAA,UAAA,sBAAA,4BAAA,wBAAA,UAAA,uBAAA;;AAoBV;;;;;AAwEA;AAIA;AAkCA;;AAmDA;AAIA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../datapoint-library/details/datapoint-library-details.component.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;AA4BA,cAAA,gCAAA,YAAA,MAAA,EAAA,SAAA;AAoBI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqD,YAAA,uBAAA;AAtBvD;;;;;;AAMA;AAEA;;AAKU,gCAAA,cAAA,aAAA,gBAAA,eAAA,WAAA,gBAAA,YAAA,UAAA,MAAA,aAAA,gBAAA,gBAAA,YAAA,UAAA,sBAAA,4BAAA,wBAAA,UAAA,uBAAA;;AAoBV;;;;;AAwEA;AAIA;AAkCA;;AAmDA;AAIA;AAmDA;;;AAUD;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnInit, ElementRef, EventEmitter, OnChanges, SimpleChanges, PipeTransform } from '@angular/core';
|
|
2
|
+
import { OnInit, ElementRef, EventEmitter, OnChanges, SimpleChanges, PipeTransform, AfterViewInit } from '@angular/core';
|
|
3
3
|
import * as i1 from '@c8y/ngx-components/assets-navigator';
|
|
4
4
|
import { MillerViewComponent } from '@c8y/ngx-components/assets-navigator';
|
|
5
5
|
import * as i2 from 'ngx-bootstrap/collapse';
|
|
@@ -399,7 +399,7 @@ declare class DatapointAttributesFormValidationService {
|
|
|
399
399
|
static ɵprov: i0.ɵɵInjectableDeclaration<DatapointAttributesFormValidationService>;
|
|
400
400
|
}
|
|
401
401
|
|
|
402
|
-
declare class DatapointAttributesFormComponent implements ControlValueAccessor, Validator, OnInit {
|
|
402
|
+
declare class DatapointAttributesFormComponent implements ControlValueAccessor, Validator, OnInit, AfterViewInit {
|
|
403
403
|
private formValidations;
|
|
404
404
|
selectableChartRenderTypes: ChartRenderTypes[];
|
|
405
405
|
selectableChartLineTypes: ChartLineTypes[];
|
|
@@ -410,6 +410,8 @@ declare class DatapointAttributesFormComponent implements ControlValueAccessor,
|
|
|
410
410
|
showRedRange: boolean;
|
|
411
411
|
showChart: boolean;
|
|
412
412
|
showFormIfTemplateWasSelected: boolean;
|
|
413
|
+
/** Displays all errors even if the form was not touched yet. */
|
|
414
|
+
showErrorsImmediately: boolean;
|
|
413
415
|
formGroup: FormGroup;
|
|
414
416
|
range: FormGroup;
|
|
415
417
|
yellowRange: FormGroup;
|
|
@@ -430,6 +432,7 @@ declare class DatapointAttributesFormComponent implements ControlValueAccessor,
|
|
|
430
432
|
showChartForm: boolean;
|
|
431
433
|
constructor(formValidations: DatapointAttributesFormValidationService);
|
|
432
434
|
ngOnInit(): void;
|
|
435
|
+
ngAfterViewInit(): void;
|
|
433
436
|
validate(_control: AbstractControl): ValidationErrors;
|
|
434
437
|
writeValue(obj: any): void;
|
|
435
438
|
registerOnChange(fn: any): void;
|
|
@@ -442,7 +445,7 @@ declare class DatapointAttributesFormComponent implements ControlValueAccessor,
|
|
|
442
445
|
private filterLineTypes;
|
|
443
446
|
private filterAxisTypes;
|
|
444
447
|
static ɵfac: i0.ɵɵFactoryDeclaration<DatapointAttributesFormComponent, never>;
|
|
445
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DatapointAttributesFormComponent, "c8y-datapoint-attributes-form", never, { "selectableChartRenderTypes": { "alias": "selectableChartRenderTypes"; "required": false; }; "selectableChartLineTypes": { "alias": "selectableChartLineTypes"; "required": false; }; "selectableAxisTypes": { "alias": "selectableAxisTypes"; "required": false; }; "showTarget": { "alias": "showTarget"; "required": false; }; "showRange": { "alias": "showRange"; "required": false; }; "showYellowRange": { "alias": "showYellowRange"; "required": false; }; "showRedRange": { "alias": "showRedRange"; "required": false; }; "showChart": { "alias": "showChart"; "required": false; }; "showFormIfTemplateWasSelected": { "alias": "showFormIfTemplateWasSelected"; "required": false; }; }, {}, never, never, true, never>;
|
|
448
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DatapointAttributesFormComponent, "c8y-datapoint-attributes-form", never, { "selectableChartRenderTypes": { "alias": "selectableChartRenderTypes"; "required": false; }; "selectableChartLineTypes": { "alias": "selectableChartLineTypes"; "required": false; }; "selectableAxisTypes": { "alias": "selectableAxisTypes"; "required": false; }; "showTarget": { "alias": "showTarget"; "required": false; }; "showRange": { "alias": "showRange"; "required": false; }; "showYellowRange": { "alias": "showYellowRange"; "required": false; }; "showRedRange": { "alias": "showRedRange"; "required": false; }; "showChart": { "alias": "showChart"; "required": false; }; "showFormIfTemplateWasSelected": { "alias": "showFormIfTemplateWasSelected"; "required": false; }; "showErrorsImmediately": { "alias": "showErrorsImmediately"; "required": false; }; }, {}, never, never, true, never>;
|
|
446
449
|
}
|
|
447
450
|
|
|
448
451
|
declare class DatapointSelectorModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.ts","../../datapoint-selector/datapoint-selection.model.ts","../../datapoint-selector/datapoint-library.service.ts","../../datapoint-selector/datapoint-selector.component.ts","../../datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.ts","../../datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.ts","../../datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.model.ts","../../datapoint-selector/datapoint-selector.service.ts","../../datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.ts","../../datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.ts","../../datapoint-selector/pipes/includes-datapoint.pipe.ts","../../datapoint-selector/pipes/datapoint-label.pipe.ts","../../datapoint-selector/pipes/filter-datapoints.pipe.ts","../../datapoint-selector/datapoint-attributes-form/datapoint-attributes-form-validation.service.ts","../../datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.ts","../../datapoint-selector/datapoint-selector.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA;;;;;;;;;;AAMM;AAEN;;;;;;;;;;;;;;;;;;;AASM;AAEN;;;;;;;;;;AAMM;;AClBN;;;;AAKE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAEK;AACJ;AACD;;;AAIC;;AAED;;;;;;;;;;;AAYA;AAEK;;ACxCN;AAII;AACA;AACA;AACA;;AAHQ;;AAoBJ;AAUA;AAQA;AA4CA;AAwBN;;;;AAIG;AACG;AA+BU;;;;;AA4CA;AAsBhB;;;AA0BgB;;;AAqBjB;;ACpPD;AAgEc;;AAlCH;AACA;AACT;AACS;AACA;AACA;AACA;AACA;AACA;AACA;AACT;AACA;;;;;;;;AAIgC;AAEhC;AACA;AACA;AACA;AACA;;AAGA;AACA;;;;;AASoB;AAEpB;AAoBA;AAIA;AAIA;AAIA;AAYA;;;AAgCA;AAKA;AAsCA;AAQA;AAKA;AAIA;AAOA;;;AAkBD;;ACrPD;AA6BI;AACA;;AAvBF;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAUU;AAIV;AAIA;;AAUA;AAOA;;;;AAIG;AACH;;;AAOD;;AClCD;;;;;AAKM;AAEN;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.ts","../../datapoint-selector/datapoint-selection.model.ts","../../datapoint-selector/datapoint-library.service.ts","../../datapoint-selector/datapoint-selector.component.ts","../../datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.ts","../../datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.ts","../../datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.model.ts","../../datapoint-selector/datapoint-selector.service.ts","../../datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.ts","../../datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.ts","../../datapoint-selector/pipes/includes-datapoint.pipe.ts","../../datapoint-selector/pipes/datapoint-label.pipe.ts","../../datapoint-selector/pipes/filter-datapoints.pipe.ts","../../datapoint-selector/datapoint-attributes-form/datapoint-attributes-form-validation.service.ts","../../datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.ts","../../datapoint-selector/datapoint-selector.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA;;;;;;;;;;AAMM;AAEN;;;;;;;;;;;;;;;;;;;AASM;AAEN;;;;;;;;;;AAMM;;AClBN;;;;AAKE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAEK;AACJ;AACD;;;AAIC;;AAED;;;;;;;;;;;AAYA;AAEK;;ACxCN;AAII;AACA;AACA;AACA;;AAHQ;;AAoBJ;AAUA;AAQA;AA4CA;AAwBN;;;;AAIG;AACG;AA+BU;;;;;AA4CA;AAsBhB;;;AA0BgB;;;AAqBjB;;ACpPD;AAgEc;;AAlCH;AACA;AACT;AACS;AACA;AACA;AACA;AACA;AACA;AACA;AACT;AACA;;;;;;;;AAIgC;AAEhC;AACA;AACA;AACA;AACA;;AAGA;AACA;;;;;AASoB;AAEpB;AAoBA;AAIA;AAIA;AAIA;AAYA;;;AAgCA;AAKA;AAsCA;AAQA;AAKA;AAIA;AAOA;;;AAkBD;;ACrPD;AA6BI;AACA;;AAvBF;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAUU;AAIV;AAIA;;AAUA;AAOA;;;;AAIG;AACH;;;AAOD;;AClCD;;;;;AAKM;AAEN;AAiEc;;AAzBH;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACC;AACA;AACD;AACA;;;AAIT;AACA;AACA;;;;;;AAEgC;AAEZ;AAgBpB;AAeA;AAIA;AAIA;AAIA;;;;;AAiCA;;AAoCA;AAgBA;AAUA;;;AAKD;;ACnQK;;ACIN;;AAEwB;AAEtB;;;AAcD;;ACkCD;AA8DI;AACA;AACA;AACY;;AA7Bd;;AAEG;AACM;AACA;AACA;AACT;;AAEG;;AAEH;;AAEG;AACM;AACA;AACA;;;AAGT;;;;;AACgC;AAEtB;AACA;;AAIA;AAaV;AAeA;AAIA;AAIA;AAQA;AAYA;;;AAqCA;AAMA;AAOA;;;AAOD;;ACnOD;;;;;;AAWG;;;AAgCF;;AC9CD;;;;AAaC;;ACbD;AAEE;;;AAE0D;;;AAmB3D;;ACvBD;;AAYE;;;AAqBD;;ACvBD;AAEc;AAAQ;AAEpB;AA4BA;;;;;;;;;;;AAyJA;AAOA;AAQA;AAMA;AAOA;;;AAWD;;AC5MD;AAgEc;;;;AA5BH;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AAYT;;AAEI;;;AAGJ;;;AAIoB;AAKpB;AAKA;AAMA;AAOA;AAeA;AASA;AAIA;AAOA;AAYA;AAYA;AAMA;AAQA;AAQA;;;AAOD;;AC7LD;;;;AA+BuC;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../device-grid/columns/column-util.service.ts","../../device-grid/columns/alarms.cell-renderer.component.ts","../../device-grid/columns/alarms.device-grid-column.ts","../../device-grid/columns/alarms.header-cell-renderer.component.ts","../../device-grid/columns/group.cell-renderer.component.ts","../../device-grid/columns/group.device-grid-column.ts","../../device-grid/columns/group.filtering-form-renderer.component.ts","../../device-grid/columns/imei.device-grid-column.ts","../../device-grid/columns/model.cell-renderer.component.ts","../../device-grid/columns/model.device-grid-column.ts","../../device-grid/columns/name.cell-renderer.component.ts","../../device-grid/columns/name.device-grid-column.ts","../../device-grid/columns/registration-date.cell-renderer.component.ts","../../device-grid/columns/registration-date.device-grid-column.ts","../../device-grid/columns/serial-number.cell-renderer.component.ts","../../device-grid/columns/serial-number.device-grid-column.ts","../../device-grid/columns/status.cell-renderer.component.ts","../../device-grid/columns/status.device-grid-column.ts","../../device-grid/columns/system-id.device-grid-column.ts","../../device-grid/columns/type.device-grid-column.ts","../../device-grid/columns/icon.cell-renderer.component.ts","../../device-grid/device-grid.model.ts","../../device-grid/device-grid.service.ts","../../device-grid/device-grid.component.ts","../../device-grid/device-grid.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;AAKA;;AAEG;AAEH;;AAEwB;AAEtB;;AAWA;AAUA;AAKA;AAKA;AAKA;;;AAGD;;AC9CD;AAQW;AACA;;AADA;;;AAGV;;ACVD;;AAoHC;;ACvHD;AAwBqB;AAAA;;;AACpB;;ACzBD;AAMW;AACA;AADA;;;AAGV;;ACFD;;AAyCC;;AC1CD;AAWqB;;;;;AAFnB;AAEmB;;;;;;;;AAgDnB;;;AAYD;;AC9ED;;AA+BC;;AC9BD;AAMW;AACA;AADA;;;AAGV;;ACTD;;AAmCC;;ACnCD;AAcW;AACA;AADA;;;AAGV;;ACZD;;AAgCC;;ACtCD;AAMqB;AAAA;;;AACpB;;ACLD;;AAgFE;AAGD;;ACpFD;AAMW;AACA;AADA;;;AAGV;;ACTD;;AAmCC;;ACpCD;AAMqB;AAAA;;;AACpB;;ACLD;;AAoMC;;ACtMD;;AA+BC;;AC/BD;;AA6BC;;ACtBD;;AAQc;;;AAQb;AAED;AAGW;AADP;AAcH;;ACnCK;;;;AAKL;AAED;AACE;AACD;AAED;AAA6C;AAE7C;;;;;;;;;;;;;;;;;;;;;;AAsBG;;AAED;;;;;AAKA;AACA;AACD;AAED;;AAEG;;;AC5BH;;;;;;;;;;AAOc;;;AA2CZ;AAOA;;;AAeA;AAIA;AAIA;AAIA;;AAQA;;AA6DM;AAgBA;AAgBA;AAQA;AAcA;;AAgBN;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../device-grid/columns/column-util.service.ts","../../device-grid/columns/alarms.cell-renderer.component.ts","../../device-grid/columns/alarms.device-grid-column.ts","../../device-grid/columns/alarms.header-cell-renderer.component.ts","../../device-grid/columns/group.cell-renderer.component.ts","../../device-grid/columns/group.device-grid-column.ts","../../device-grid/columns/group.filtering-form-renderer.component.ts","../../device-grid/columns/imei.device-grid-column.ts","../../device-grid/columns/model.cell-renderer.component.ts","../../device-grid/columns/model.device-grid-column.ts","../../device-grid/columns/name.cell-renderer.component.ts","../../device-grid/columns/name.device-grid-column.ts","../../device-grid/columns/registration-date.cell-renderer.component.ts","../../device-grid/columns/registration-date.device-grid-column.ts","../../device-grid/columns/serial-number.cell-renderer.component.ts","../../device-grid/columns/serial-number.device-grid-column.ts","../../device-grid/columns/status.cell-renderer.component.ts","../../device-grid/columns/status.device-grid-column.ts","../../device-grid/columns/system-id.device-grid-column.ts","../../device-grid/columns/type.device-grid-column.ts","../../device-grid/columns/icon.cell-renderer.component.ts","../../device-grid/device-grid.model.ts","../../device-grid/device-grid.service.ts","../../device-grid/device-grid.component.ts","../../device-grid/device-grid.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;AAKA;;AAEG;AAEH;;AAEwB;AAEtB;;AAWA;AAUA;AAKA;AAKA;AAKA;;;AAGD;;AC9CD;AAQW;AACA;;AADA;;;AAGV;;ACVD;;AAoHC;;ACvHD;AAwBqB;AAAA;;;AACpB;;ACzBD;AAMW;AACA;AADA;;;AAGV;;ACFD;;AAyCC;;AC1CD;AAWqB;;;;;AAFnB;AAEmB;;;;;;;;AAgDnB;;;AAYD;;AC9ED;;AA+BC;;AC9BD;AAMW;AACA;AADA;;;AAGV;;ACTD;;AAmCC;;ACnCD;AAcW;AACA;AADA;;;AAGV;;ACZD;;AAgCC;;ACtCD;AAMqB;AAAA;;;AACpB;;ACLD;;AAgFE;AAGD;;ACpFD;AAMW;AACA;AADA;;;AAGV;;ACTD;;AAmCC;;ACpCD;AAMqB;AAAA;;;AACpB;;ACLD;;AAoMC;;ACtMD;;AA+BC;;AC/BD;;AA6BC;;ACtBD;;AAQc;;;AAQb;AAED;AAGW;AADP;AAcH;;ACnCK;;;;AAKL;AAED;AACE;AACD;AAED;AAA6C;AAE7C;;;;;;;;;;;;;;;;;;;;;;AAsBG;;AAED;;;;;AAKA;AACA;AACD;AAED;;AAEG;;;AC5BH;;;;;;;;;;AAOc;;;AA2CZ;AAOA;;;AAeA;AAIA;AAIA;AAIA;;AAQA;;AA6DM;AAgBA;AAgBA;AAQA;AAcA;;AAgBN;;;AA4BA;;;;AA0BD;;AC3QD;AA4HqB;;;;AArGV;;;;AAIA;;;AAGT;;;;AAIG;;AAEH;;;;AAIG;;;;;AAKH;;;AAOA;;AAOA;;AAIS;;AAEA;;;;AAIT;;AAQA;AAOS;;;AAGA;AACT;;;AAGG;AACM;AACT;;;AAGG;AAEH;;AAEU;AACA;AACA;;AAEA;;;;;;;;;AAcV;AACA;AACA;;AAImB;AAInB;;;AA4FA;;AAII;;;AACD;;;AASJ;;AC1PD;;;;AAmCgC;;;"}
|
package/echart/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;AAMA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;;AAUI;;;;;;;;;AASJ;;;AAII;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;AAWL;AAED;;;;;;;;AAUE;AACA;AACD;;AC5MD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;ACyDA;AA4BE;;AAEA;;;;;;;;;;;;AAYK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEV;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAyCA;;;;;AA2HuB;;;AAA4B;AAiDnD;AAOA;AAIA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;AAMA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;;AAUI;;;;;;;;;AASJ;;;AAII;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;AAWL;AAED;;;;;;;;AAUE;AACA;AACD;;AC5MD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;ACyDA;AA4BE;;AAEA;;;;;;;;;;;;AAYK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEV;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAyCA;;;;;AA2HuB;;;AAA4B;AAiDnD;AAOA;AAIA;AAwBA;AA6BA;AAWA;;;AAGG;AACH;AAcA;;;AAGG;AACH;AAmBA;AAeA;AA0BA;;AA8DA;;;AA6MA;AAwDA;AA0CA;AAkBA;AAWA;AAYA;;;AA6BD;;ACn6BD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAqCP;;AC/CD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAuBP;;AChCD;AAEE;;;;AAIG;;;;;;;;;;;AAcH;AAcA;;;AAGD;;ACtBD;;AAqBW;AACC;AAEV;;AAGA;;;AAiBA;;;AAgBD;;;"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Input, Component, Injectable, EventEmitter, NgModule, Output,
|
|
2
|
+
import { Input, Component, Injectable, EventEmitter, inject, NgModule, Output, ChangeDetectorRef, ElementRef, Renderer2, TemplateRef, ContentChild, ViewChild } from '@angular/core';
|
|
3
|
+
import { map, catchError, tap, switchMap, shareReplay, take, filter, mergeAll, toArray } from 'rxjs/operators';
|
|
3
4
|
import * as i2 from '@c8y/ngx-components';
|
|
4
|
-
import { FormGroupComponent, C8yTranslatePipe, Permissions, C8yTranslateDirective, RequiredInputPlaceholderDirective, MinValidationDirective, MaxValidationDirective, MessagesComponent, MessageDirective, TitleComponent, BreadcrumbComponent, BreadcrumbItemComponent, ActionBarItemComponent, IconDirective, HelpComponent, CoreModule, hookRoute, DefaultValidationDirective, memoize, SelectLegacyComponent, MoNamePipe, EmptyStateComponent, Status, NavigatorNode, hookTab, hookNavigator, hookPatternMessages } from '@c8y/ngx-components';
|
|
5
|
+
import { FormGroupComponent, C8yTranslatePipe, Permissions, C8yTranslateDirective, RequiredInputPlaceholderDirective, MinValidationDirective, MaxValidationDirective, MessagesComponent, MessageDirective, TitleComponent, BreadcrumbComponent, BreadcrumbItemComponent, ActionBarItemComponent, IconDirective, HelpComponent, CoreModule, hookRoute, DefaultValidationDirective, memoize, SelectLegacyComponent, MoNamePipe, EmptyStateComponent, Status, TabsService, NavigatorNode, hookTab, hookNavigator, hookPatternMessages } from '@c8y/ngx-components';
|
|
5
6
|
import * as i1$1 from '@c8y/client';
|
|
6
|
-
import { TenantLoginOptionType, TfaStrategy, GrantType, UserManagementSource } from '@c8y/client';
|
|
7
|
+
import { TenantLoginOptionType, TfaStrategy, GrantType, UserManagementSource, TenantLoginOptionsService } from '@c8y/client';
|
|
7
8
|
import * as i1 from '@angular/forms';
|
|
8
9
|
import { NgForm, ControlContainer, FormsModule } from '@angular/forms';
|
|
9
10
|
import * as i1$2 from '@angular/common';
|
|
10
11
|
import { NgIf, NgFor, NgSwitch, NgSwitchCase, NgClass, AsyncPipe, KeyValuePipe } from '@angular/common';
|
|
11
12
|
import { PopoverDirective, PopoverModule } from 'ngx-bootstrap/popover';
|
|
12
|
-
import {
|
|
13
|
-
import { forkJoin, from, of, BehaviorSubject, defer, throwError, Subject, EMPTY, merge } from 'rxjs';
|
|
13
|
+
import { forkJoin, from, of, BehaviorSubject, defer, throwError, Subject, merge, firstValueFrom, shareReplay as shareReplay$1 } from 'rxjs';
|
|
14
14
|
import { isString, omit, defaults, omitBy, isEmpty, cloneDeep, isFinite, pickBy, identity, map as map$1, pick, findKey, has, get, reduce, pull, defaultsDeep, at, head, reject, isUndefined } from 'lodash-es';
|
|
15
15
|
import { gettext } from '@c8y/ngx-components/gettext';
|
|
16
16
|
import * as i2$1 from '@ngx-translate/core';
|
|
17
|
+
import { HttpStatusCode } from '@angular/common/http';
|
|
17
18
|
import { TooltipDirective, TooltipModule } from 'ngx-bootstrap/tooltip';
|
|
18
19
|
import * as i1$4 from 'ngx-bootstrap/collapse';
|
|
19
20
|
import { CollapseDirective, CollapseModule } from 'ngx-bootstrap/collapse';
|
|
20
|
-
import { HttpStatusCode } from '@angular/common/http';
|
|
21
21
|
import { __decorate, __metadata } from 'tslib';
|
|
22
22
|
import * as i4 from 'ngx-bootstrap/pagination';
|
|
23
23
|
import { PaginationModule } from 'ngx-bootstrap/pagination';
|
|
24
24
|
import * as i1$3 from 'ngx-bootstrap/modal';
|
|
25
25
|
import { AssetSelectorComponent, AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';
|
|
26
26
|
import { BsDatepickerInputDirective, BsDatepickerDirective, BsDatepickerModule } from 'ngx-bootstrap/datepicker';
|
|
27
|
-
import
|
|
27
|
+
import { Router } from '@angular/router';
|
|
28
28
|
|
|
29
29
|
class UserAgent {
|
|
30
30
|
constructor(value) {
|
|
@@ -789,6 +789,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
789
789
|
], template: "<c8y-title>{{ 'Authentication' | translate }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'cog'\"\n [label]=\"'Settings' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'cog'\"\n [label]=\"'Authentication' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n (click)=\"loadAuthConfig()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': reloading$ | async }\"\n ></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/authentication/basic-settings/#basic-settings\"></c8y-help>\n\n<form\n class=\"card card--fullpage\"\n #authConfigurationForm=\"ngForm\"\n novalidate\n>\n <div class=\"card-header separator\">\n <div class=\"card-title\">\n {{ 'Authentication' | translate }}\n </div>\n </div>\n <div\n class=\"inner-scroll\"\n *ngIf=\"authConfiguration\"\n >\n <c8y-login-settings [authConfiguration]=\"authConfiguration\"></c8y-login-settings>\n <c8y-basic-auth-settings [authConfiguration]=\"authConfiguration\"></c8y-basic-auth-settings>\n <c8y-session-configuration [authConfiguration]=\"authConfiguration\"></c8y-session-configuration>\n <c8y-auth-tfa [authConfiguration]=\"authConfiguration\"></c8y-auth-tfa>\n </div>\n <div class=\"card-footer separator\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n (click)=\"save()\"\n [disabled]=\"!authConfigurationForm.form.valid || authConfigurationForm.form.pristine\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</form>\n" }]
|
|
790
790
|
}], ctorParameters: () => [{ type: AuthConfigurationService }, { type: i2.ModalService }, { type: i2.SimplifiedAuthService }, { type: i2.AlertService }] });
|
|
791
791
|
|
|
792
|
+
class BasicSettingsService {
|
|
793
|
+
constructor() {
|
|
794
|
+
this.loginOptionsService = inject(TenantLoginOptionsService);
|
|
795
|
+
this.showTab$ = defer(() => Promise.all([
|
|
796
|
+
this.loginOptionsService.detail(TenantLoginOptionType.BASIC),
|
|
797
|
+
this.loginOptionsService.detail(TenantLoginOptionType.OAUTH2_INTERNAL)
|
|
798
|
+
])).pipe(map(() => true), catchError(({ res }) => {
|
|
799
|
+
// do not display tab if any login option fails with forbidden error:
|
|
800
|
+
if (res?.status === HttpStatusCode.Forbidden) {
|
|
801
|
+
return of(false);
|
|
802
|
+
}
|
|
803
|
+
return of(true);
|
|
804
|
+
}), shareReplay(1));
|
|
805
|
+
}
|
|
806
|
+
shouldShowTab$() {
|
|
807
|
+
return this.showTab$;
|
|
808
|
+
}
|
|
809
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
810
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsService, providedIn: 'root' }); }
|
|
811
|
+
}
|
|
812
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsService, decorators: [{
|
|
813
|
+
type: Injectable,
|
|
814
|
+
args: [{
|
|
815
|
+
providedIn: 'root'
|
|
816
|
+
}]
|
|
817
|
+
}] });
|
|
818
|
+
|
|
819
|
+
class BasicSettingsGuard {
|
|
820
|
+
constructor() {
|
|
821
|
+
this.basicSettingsService = inject(BasicSettingsService);
|
|
822
|
+
}
|
|
823
|
+
canActivate() {
|
|
824
|
+
return this.basicSettingsService.shouldShowTab$();
|
|
825
|
+
}
|
|
826
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
827
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsGuard }); }
|
|
828
|
+
}
|
|
829
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsGuard, decorators: [{
|
|
830
|
+
type: Injectable
|
|
831
|
+
}] });
|
|
832
|
+
|
|
792
833
|
class BasicSettingsModule {
|
|
793
834
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
794
835
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsModule, imports: [CoreModule,
|
|
@@ -801,10 +842,11 @@ class BasicSettingsModule {
|
|
|
801
842
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsModule, providers: [
|
|
802
843
|
AuthConfigurationService,
|
|
803
844
|
TenantLoginOptionMapper,
|
|
845
|
+
BasicSettingsGuard,
|
|
804
846
|
hookRoute({
|
|
805
847
|
path: 'auth-configuration/basic_settings',
|
|
806
848
|
component: AuthConfigurationComponent,
|
|
807
|
-
canActivate: [AuthConfigurationGuard]
|
|
849
|
+
canActivate: [AuthConfigurationGuard, BasicSettingsGuard]
|
|
808
850
|
})
|
|
809
851
|
], imports: [CoreModule,
|
|
810
852
|
PopoverModule,
|
|
@@ -830,10 +872,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
830
872
|
providers: [
|
|
831
873
|
AuthConfigurationService,
|
|
832
874
|
TenantLoginOptionMapper,
|
|
875
|
+
BasicSettingsGuard,
|
|
833
876
|
hookRoute({
|
|
834
877
|
path: 'auth-configuration/basic_settings',
|
|
835
878
|
component: AuthConfigurationComponent,
|
|
836
|
-
canActivate: [AuthConfigurationGuard]
|
|
879
|
+
canActivate: [AuthConfigurationGuard, BasicSettingsGuard]
|
|
837
880
|
})
|
|
838
881
|
]
|
|
839
882
|
}]
|
|
@@ -873,10 +916,10 @@ class SsoConfigurationService {
|
|
|
873
916
|
this.loginOptionsService = loginOptionsService;
|
|
874
917
|
this.ssoConfiguration$ = defer(() => this.loginOptionsService.detail(TenantLoginOptionType.OAUTH2)).pipe(map(res => res.data), catchError(({ res }) => {
|
|
875
918
|
if (res.status === HttpStatusCode.Forbidden)
|
|
876
|
-
return throwError(new Error());
|
|
919
|
+
return throwError(() => new Error());
|
|
877
920
|
else
|
|
878
921
|
return of(this.defaultConfiguration);
|
|
879
|
-
}),
|
|
922
|
+
}), shareReplay({ bufferSize: 1, windowTime: 1000, refCount: true }), take(1));
|
|
880
923
|
this.defaultConfiguration = {
|
|
881
924
|
authorizationRequest: {
|
|
882
925
|
body: '',
|
|
@@ -964,6 +1007,9 @@ class SsoConfigurationService {
|
|
|
964
1007
|
save(ssoConfiguration) {
|
|
965
1008
|
return this.loginOptionsService.save(ssoConfiguration);
|
|
966
1009
|
}
|
|
1010
|
+
shouldShowTab$() {
|
|
1011
|
+
return this.getSsoConfiguration$().pipe(map(() => true), catchError(() => of(false)), shareReplay(1));
|
|
1012
|
+
}
|
|
967
1013
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationService, deps: [{ token: i1$1.TenantLoginOptionsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
968
1014
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationService, providedIn: 'root' }); }
|
|
969
1015
|
}
|
|
@@ -2524,18 +2570,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
2524
2570
|
}] } });
|
|
2525
2571
|
|
|
2526
2572
|
class SsoConfigurationGuard {
|
|
2527
|
-
constructor(
|
|
2528
|
-
this.ssoConfigurationService =
|
|
2573
|
+
constructor() {
|
|
2574
|
+
this.ssoConfigurationService = inject(SsoConfigurationService);
|
|
2529
2575
|
}
|
|
2530
2576
|
canActivate() {
|
|
2531
|
-
return this.ssoConfigurationService.
|
|
2577
|
+
return this.ssoConfigurationService.shouldShowTab$();
|
|
2532
2578
|
}
|
|
2533
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationGuard, deps: [
|
|
2579
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2534
2580
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationGuard }); }
|
|
2535
2581
|
}
|
|
2536
2582
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationGuard, decorators: [{
|
|
2537
2583
|
type: Injectable
|
|
2538
|
-
}]
|
|
2584
|
+
}] });
|
|
2539
2585
|
|
|
2540
2586
|
class SsoConfigurationModule {
|
|
2541
2587
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -2640,65 +2686,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
2640
2686
|
}] });
|
|
2641
2687
|
|
|
2642
2688
|
class AuthConfigurationTabsFactory {
|
|
2643
|
-
constructor(
|
|
2644
|
-
this.router =
|
|
2645
|
-
this.
|
|
2689
|
+
constructor() {
|
|
2690
|
+
this.router = inject(Router);
|
|
2691
|
+
this.tabsService = inject(TabsService);
|
|
2692
|
+
this.basicSettingsService = inject(BasicSettingsService);
|
|
2693
|
+
this.ssoConfigurationService = inject(SsoConfigurationService);
|
|
2694
|
+
this.tabs$ = defer(() => {
|
|
2695
|
+
const basicSettingsTab$ = this.basicSettingsService.shouldShowTab$().pipe(filter(shouldShow => shouldShow), map(() => ({
|
|
2696
|
+
path: 'auth-configuration/basic_settings',
|
|
2697
|
+
label: gettext('Basic settings'),
|
|
2698
|
+
icon: 'unlock-alt',
|
|
2699
|
+
priority: 1100,
|
|
2700
|
+
orientation: 'horizontal'
|
|
2701
|
+
})));
|
|
2702
|
+
const ssoTab$ = this.ssoConfigurationService.shouldShowTab$().pipe(filter(shouldShow => shouldShow), map(() => ({
|
|
2703
|
+
path: 'auth-configuration/single_sign-on',
|
|
2704
|
+
label: gettext('Single sign-on'),
|
|
2705
|
+
icon: 'sign-in',
|
|
2706
|
+
priority: 1050,
|
|
2707
|
+
orientation: 'horizontal'
|
|
2708
|
+
})));
|
|
2709
|
+
return merge([basicSettingsTab$, ssoTab$]).pipe(mergeAll(), toArray());
|
|
2710
|
+
}).pipe(shareReplay(1));
|
|
2646
2711
|
}
|
|
2647
2712
|
get() {
|
|
2648
2713
|
if (!this.router.url.match(/auth-configuration/g)) {
|
|
2649
2714
|
return of([]);
|
|
2650
2715
|
}
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
});
|
|
2658
|
-
const ssoTab$ = this.ssoConfigurationService.getSsoConfiguration$().pipe(mapTo({
|
|
2659
|
-
path: 'auth-configuration/single_sign-on',
|
|
2660
|
-
label: gettext('Single sign-on'),
|
|
2661
|
-
icon: 'sign-in',
|
|
2662
|
-
priority: 1050,
|
|
2663
|
-
orientation: 'horizontal'
|
|
2664
|
-
}), catchError(() => EMPTY));
|
|
2665
|
-
return merge([basicSettingsTab$, ssoTab$]).pipe(mergeAll(), toArray());
|
|
2666
|
-
}
|
|
2667
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationTabsFactory, deps: [{ token: i1$5.Router }, { token: SsoConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2716
|
+
return this.tabs$;
|
|
2717
|
+
}
|
|
2718
|
+
listTabs() {
|
|
2719
|
+
return this.tabs$.pipe(map(tabs => this.tabsService.sortTabs(tabs)));
|
|
2720
|
+
}
|
|
2721
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationTabsFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2668
2722
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationTabsFactory }); }
|
|
2669
2723
|
}
|
|
2670
2724
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationTabsFactory, decorators: [{
|
|
2671
2725
|
type: Injectable
|
|
2672
|
-
}]
|
|
2726
|
+
}] });
|
|
2673
2727
|
|
|
2674
2728
|
class AuthConfigurationNavigationFactory {
|
|
2675
|
-
constructor(
|
|
2676
|
-
this.permissions =
|
|
2677
|
-
this.
|
|
2729
|
+
constructor() {
|
|
2730
|
+
this.permissions = inject(Permissions);
|
|
2731
|
+
this.tabsFactory = inject(AuthConfigurationTabsFactory);
|
|
2732
|
+
this.navs$ = defer(async () => {
|
|
2733
|
+
const navs = [];
|
|
2734
|
+
const userHasPermission = this.permissions.hasAnyRole([
|
|
2735
|
+
Permissions.ROLE_TENANT_ADMIN,
|
|
2736
|
+
Permissions.ROLE_TENANT_MANAGEMENT_ADMIN
|
|
2737
|
+
]);
|
|
2738
|
+
const tabs = await firstValueFrom(this.tabsFactory.listTabs());
|
|
2739
|
+
const hasTabs = tabs && tabs.length > 0;
|
|
2740
|
+
if (userHasPermission && hasTabs) {
|
|
2741
|
+
navs.push(new NavigatorNode({
|
|
2742
|
+
label: gettext('Authentication'),
|
|
2743
|
+
icon: 'c8y-shield',
|
|
2744
|
+
path: '/auth-configuration',
|
|
2745
|
+
parent: gettext('Settings'),
|
|
2746
|
+
routerLinkExact: false,
|
|
2747
|
+
priority: 2000
|
|
2748
|
+
}));
|
|
2749
|
+
}
|
|
2750
|
+
return navs;
|
|
2751
|
+
}).pipe(shareReplay$1(1));
|
|
2678
2752
|
}
|
|
2679
2753
|
async get() {
|
|
2680
|
-
|
|
2681
|
-
Permissions.ROLE_TENANT_ADMIN,
|
|
2682
|
-
Permissions.ROLE_TENANT_MANAGEMENT_ADMIN
|
|
2683
|
-
]);
|
|
2684
|
-
if (this.navs.length === 0 && userHasPermission) {
|
|
2685
|
-
this.navs.push(new NavigatorNode({
|
|
2686
|
-
label: gettext('Authentication'),
|
|
2687
|
-
icon: 'c8y-shield',
|
|
2688
|
-
path: '/auth-configuration',
|
|
2689
|
-
parent: gettext('Settings'),
|
|
2690
|
-
routerLinkExact: false,
|
|
2691
|
-
priority: 2000
|
|
2692
|
-
}));
|
|
2693
|
-
}
|
|
2694
|
-
return this.navs;
|
|
2754
|
+
return firstValueFrom(this.navs$);
|
|
2695
2755
|
}
|
|
2696
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationNavigationFactory, deps: [
|
|
2756
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationNavigationFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2697
2757
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationNavigationFactory }); }
|
|
2698
2758
|
}
|
|
2699
2759
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationNavigationFactory, decorators: [{
|
|
2700
2760
|
type: Injectable
|
|
2701
|
-
}]
|
|
2761
|
+
}] });
|
|
2702
2762
|
|
|
2703
2763
|
const MESSAGES_AUTH_CONFIGURATION = {
|
|
2704
2764
|
'^The tenant option: configuration/tenant.login.ignore-case cannot be enabled : Username or alias is duplicated when case sensitivity is ignored.$': {
|
|
@@ -2717,12 +2777,19 @@ class AuthConfigurationModule {
|
|
|
2717
2777
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationModule, imports: [BasicSettingsModule, SsoConfigurationModule] }); }
|
|
2718
2778
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationModule, providers: [
|
|
2719
2779
|
AuthConfigurationGuard,
|
|
2780
|
+
AuthConfigurationTabsFactory,
|
|
2720
2781
|
hookTab(AuthConfigurationTabsFactory),
|
|
2721
2782
|
hookNavigator(AuthConfigurationNavigationFactory),
|
|
2722
2783
|
hookPatternMessages(MESSAGES_AUTH_CONFIGURATION),
|
|
2723
2784
|
hookRoute({
|
|
2724
2785
|
path: 'auth-configuration',
|
|
2725
|
-
redirectTo:
|
|
2786
|
+
redirectTo: () => {
|
|
2787
|
+
const tabsFactory = inject(AuthConfigurationTabsFactory);
|
|
2788
|
+
return tabsFactory.listTabs().pipe(map(tabs => {
|
|
2789
|
+
const firstPath = tabs[0]?.path;
|
|
2790
|
+
return typeof firstPath === 'string' ? firstPath : null;
|
|
2791
|
+
}));
|
|
2792
|
+
},
|
|
2726
2793
|
pathMatch: 'full'
|
|
2727
2794
|
})
|
|
2728
2795
|
], imports: [BasicSettingsModule, SsoConfigurationModule] }); }
|
|
@@ -2733,12 +2800,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
2733
2800
|
imports: [BasicSettingsModule, SsoConfigurationModule],
|
|
2734
2801
|
providers: [
|
|
2735
2802
|
AuthConfigurationGuard,
|
|
2803
|
+
AuthConfigurationTabsFactory,
|
|
2736
2804
|
hookTab(AuthConfigurationTabsFactory),
|
|
2737
2805
|
hookNavigator(AuthConfigurationNavigationFactory),
|
|
2738
2806
|
hookPatternMessages(MESSAGES_AUTH_CONFIGURATION),
|
|
2739
2807
|
hookRoute({
|
|
2740
2808
|
path: 'auth-configuration',
|
|
2741
|
-
redirectTo:
|
|
2809
|
+
redirectTo: () => {
|
|
2810
|
+
const tabsFactory = inject(AuthConfigurationTabsFactory);
|
|
2811
|
+
return tabsFactory.listTabs().pipe(map(tabs => {
|
|
2812
|
+
const firstPath = tabs[0]?.path;
|
|
2813
|
+
return typeof firstPath === 'string' ? firstPath : null;
|
|
2814
|
+
}));
|
|
2815
|
+
},
|
|
2742
2816
|
pathMatch: 'full'
|
|
2743
2817
|
})
|
|
2744
2818
|
]
|