@c8y/ngx-components 1017.0.377 → 1017.0.382
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/basic-settings/basic-auth-settings.component.d.ts +3 -0
- package/core/date-time-picker/close-date-picker.directive.d.ts +14 -0
- package/core/date-time-picker/date-time-picker.component.d.ts +7 -2
- package/core/date-time-picker/date-time-picker.module.d.ts +8 -7
- package/core/login/login.service.d.ts +0 -1
- package/esm2020/auth-configuration/basic-settings/basic-auth-settings.component.mjs +10 -7
- package/esm2020/core/date-time-picker/close-date-picker.directive.mjs +36 -0
- package/esm2020/core/date-time-picker/date-time-picker.component.mjs +28 -8
- package/esm2020/core/date-time-picker/date-time-picker.module.mjs +4 -3
- package/esm2020/core/login/login.service.mjs +1 -18
- package/fesm2015/c8y-ngx-components-auth-configuration.mjs +54 -51
- package/fesm2015/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components.mjs +57 -25
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-auth-configuration.mjs +54 -51
- package/fesm2020/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +211 -177
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/locales/locales.pot +0 -9
- package/package.json +2 -2
|
@@ -27,7 +27,7 @@ import { satisfies, compare, coerce } from 'semver';
|
|
|
27
27
|
import * as i1$2 from '@c8y/client';
|
|
28
28
|
import { TenantLoginOptionType, UserManagementSource, GrantType, ApplicationType, OperationStatus, InventoryService, UserService, ApplicationService, TenantService, FetchClient, Client, PasswordStrength, QueriesUtil, ApplicationAvailability, Service } from '@c8y/client';
|
|
29
29
|
import * as i6 from 'ngx-bootstrap/datepicker';
|
|
30
|
-
import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
|
|
30
|
+
import { BsDatepickerModule, BsDatepickerDirective } from 'ngx-bootstrap/datepicker';
|
|
31
31
|
import { defineLocale, enGbLocale, zhCnLocale, ruLocale, ptBrLocale, plLocale, nlLocale, koLocale, jaLocale, frLocale, esLocale, deLocale } from 'ngx-bootstrap/chronos';
|
|
32
32
|
import { saveAs } from 'file-saver';
|
|
33
33
|
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
@@ -11336,7 +11336,6 @@ class LoginService {
|
|
|
11336
11336
|
if (credentials) {
|
|
11337
11337
|
credentials.tenant = tenant.name;
|
|
11338
11338
|
}
|
|
11339
|
-
yield this.shouldRedirectDomain(credentials);
|
|
11340
11339
|
if (yield this.switchLoginMode(credentials)) {
|
|
11341
11340
|
auth = this.cookieAuth;
|
|
11342
11341
|
}
|
|
@@ -11660,22 +11659,6 @@ class LoginService {
|
|
|
11660
11659
|
return this.tenantUiService.getPreferredLoginOption(managementLoginOptions);
|
|
11661
11660
|
});
|
|
11662
11661
|
}
|
|
11663
|
-
shouldRedirectDomain(credentials) {
|
|
11664
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
11665
|
-
const isPasswordGrantLogin = yield this.isPasswordGrantLogin(credentials);
|
|
11666
|
-
if (this.isSupportUser(credentials) &&
|
|
11667
|
-
isPasswordGrantLogin &&
|
|
11668
|
-
this.managementLoginMode.loginRedirectDomain !== window.location.hostname &&
|
|
11669
|
-
!this.isLocal()) {
|
|
11670
|
-
const title = gettext('Redirect required');
|
|
11671
|
-
const body = gettext('Redirect to correct domain is required to log in as support user.');
|
|
11672
|
-
// avoids circular dependency NG0200 error when BsModalService is injected into APP_INITIALIZER (via LoginService -> ModalService -> BsModalService)
|
|
11673
|
-
const modalService = this.injector.get(ModalService);
|
|
11674
|
-
yield modalService.acknowledge(title, body, Status.INFO, gettext('Redirect'));
|
|
11675
|
-
this.redirectToDomain(this.managementLoginMode.loginRedirectDomain);
|
|
11676
|
-
}
|
|
11677
|
-
});
|
|
11678
|
-
}
|
|
11679
11662
|
}
|
|
11680
11663
|
LoginService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LoginService, deps: [{ token: i0.Injector }, { token: i1$2.FetchClient }, { token: i1$2.BasicAuth }, { token: i1$2.CookieAuth }, { token: AppStateService }, { token: i1$2.UserService }, { token: i1$2.TenantService }, { token: i1$2.Realtime }, { token: AlertService }, { token: i1$1.ApiService }, { token: TenantUiService }, { token: i1$2.TenantLoginOptionsService }, { token: i1$3.TranslateService }, { token: i2.LocationStrategy, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11681
11664
|
LoginService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LoginService });
|
|
@@ -21151,8 +21134,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
21151
21134
|
type: Output
|
|
21152
21135
|
}] } });
|
|
21153
21136
|
|
|
21137
|
+
class CloseDatePickerDirective {
|
|
21138
|
+
constructor(el) {
|
|
21139
|
+
this.el = el;
|
|
21140
|
+
this.destroy$ = new Subject();
|
|
21141
|
+
}
|
|
21142
|
+
ngOnInit() {
|
|
21143
|
+
const element = this.el.nativeElement.closest('.dropdown-menu');
|
|
21144
|
+
const clickEvent$ = element
|
|
21145
|
+
? merge(fromEvent(element, 'click'), fromEvent(document, 'click'))
|
|
21146
|
+
: fromEvent(document, 'click');
|
|
21147
|
+
clickEvent$
|
|
21148
|
+
.pipe(map((event) => event.target), filter(target => !this.el.nativeElement.contains(target)), // i.e. anything which is not inside this `c8y-date-time-picker`
|
|
21149
|
+
takeUntil(this.destroy$))
|
|
21150
|
+
.subscribe(() => this.closeDatepicker.hide());
|
|
21151
|
+
}
|
|
21152
|
+
ngOnDestroy() {
|
|
21153
|
+
this.destroy$.next();
|
|
21154
|
+
this.destroy$.complete();
|
|
21155
|
+
}
|
|
21156
|
+
}
|
|
21157
|
+
CloseDatePickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CloseDatePickerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
21158
|
+
CloseDatePickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.6", type: CloseDatePickerDirective, selector: "[closeDatepicker]", inputs: { closeDatepicker: "closeDatepicker" }, ngImport: i0 });
|
|
21159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CloseDatePickerDirective, decorators: [{
|
|
21160
|
+
type: Directive,
|
|
21161
|
+
args: [{
|
|
21162
|
+
selector: '[closeDatepicker]'
|
|
21163
|
+
}]
|
|
21164
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { closeDatepicker: [{
|
|
21165
|
+
type: Input
|
|
21166
|
+
}] } });
|
|
21167
|
+
|
|
21154
21168
|
class DateTimePickerComponent {
|
|
21155
|
-
constructor() {
|
|
21169
|
+
constructor(cd) {
|
|
21170
|
+
this.cd = cd;
|
|
21156
21171
|
this.defaultPlaceholder = gettext('Select a date…');
|
|
21157
21172
|
this.destroy$ = new Subject();
|
|
21158
21173
|
this.form = new FormGroup({});
|
|
@@ -21179,6 +21194,9 @@ class DateTimePickerComponent {
|
|
|
21179
21194
|
this.destroy$.next();
|
|
21180
21195
|
this.destroy$.complete();
|
|
21181
21196
|
}
|
|
21197
|
+
ngAfterViewInit() {
|
|
21198
|
+
this.cd.detectChanges();
|
|
21199
|
+
}
|
|
21182
21200
|
/**
|
|
21183
21201
|
* Control Value Accessor - If form value changes by external factor, update date property and internal form with new value.
|
|
21184
21202
|
*/
|
|
@@ -21223,12 +21241,23 @@ class DateTimePickerComponent {
|
|
|
21223
21241
|
}
|
|
21224
21242
|
}
|
|
21225
21243
|
previousDay() {
|
|
21244
|
+
const isOpen = this.datepicker.isOpen;
|
|
21226
21245
|
this.date.setDate(this.date.getDate() - 1);
|
|
21227
21246
|
this.setDatetime({ date: this.date, time: this.form.get('time').value });
|
|
21247
|
+
if (isOpen) {
|
|
21248
|
+
this.datepicker.show();
|
|
21249
|
+
}
|
|
21228
21250
|
}
|
|
21229
21251
|
nextDay() {
|
|
21252
|
+
const isOpen = this.datepicker.isOpen;
|
|
21230
21253
|
this.date.setDate(this.date.getDate() + 1);
|
|
21231
21254
|
this.setDatetime({ date: this.date, time: this.form.get('time').value });
|
|
21255
|
+
if (isOpen) {
|
|
21256
|
+
this.datepicker.show();
|
|
21257
|
+
}
|
|
21258
|
+
}
|
|
21259
|
+
hide() {
|
|
21260
|
+
this.datepicker.hide();
|
|
21232
21261
|
}
|
|
21233
21262
|
/**
|
|
21234
21263
|
* If internal form changes its value, then combine date and time into one Date and pass its ISO string value to onChange method
|
|
@@ -21257,7 +21286,7 @@ class DateTimePickerComponent {
|
|
|
21257
21286
|
this.onChange(this.date.toISOString());
|
|
21258
21287
|
}
|
|
21259
21288
|
}
|
|
21260
|
-
DateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21289
|
+
DateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
21261
21290
|
DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: DateTimePickerComponent, selector: "c8y-date-time-picker", inputs: { _minDate: ["minDate", "_minDate"], _maxDate: ["maxDate", "_maxDate"], placeholder: "placeholder" }, providers: [
|
|
21262
21291
|
{
|
|
21263
21292
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -21269,7 +21298,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
21269
21298
|
useExisting: forwardRef(() => DateTimePickerComponent),
|
|
21270
21299
|
multi: true
|
|
21271
21300
|
}
|
|
21272
|
-
], ngImport: i0, template: "<div class=\"datetime-picker\">\n <div class=\"form-group datepicker\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: 'YYYY-MM-DD' }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <c8y-time-picker\n [formControl]=\"form.get('time')\"\n (dayBackward)=\"previousDay()\"\n (dayForward)=\"nextDay()\"\n ></c8y-time-picker>\n</div>\n", dependencies: [{ kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i6.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }, { kind: "component", type: TimePickerComponent, selector: "c8y-time-picker", inputs: ["minDate", "maxDate", "placeholder"], outputs: ["dayForward", "dayBackward"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] });
|
|
21301
|
+
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: BsDatepickerDirective, descendants: true }], ngImport: i0, template: "<div class=\"datetime-picker\" [closeDatepicker]=\"datepicker\">\n <div class=\"form-group datepicker\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: 'YYYY-MM-DD' }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <c8y-time-picker\n [formControl]=\"form.get('time')\"\n (dayBackward)=\"previousDay()\"\n (dayForward)=\"nextDay()\"\n ></c8y-time-picker>\n</div>\n", dependencies: [{ kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i6.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }, { kind: "component", type: TimePickerComponent, selector: "c8y-time-picker", inputs: ["minDate", "maxDate", "placeholder"], outputs: ["dayForward", "dayBackward"] }, { kind: "directive", type: CloseDatePickerDirective, selector: "[closeDatepicker]", inputs: ["closeDatepicker"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] });
|
|
21273
21302
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerComponent, decorators: [{
|
|
21274
21303
|
type: Component,
|
|
21275
21304
|
args: [{ selector: 'c8y-date-time-picker', providers: [
|
|
@@ -21283,8 +21312,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
21283
21312
|
useExisting: forwardRef(() => DateTimePickerComponent),
|
|
21284
21313
|
multi: true
|
|
21285
21314
|
}
|
|
21286
|
-
], template: "<div class=\"datetime-picker\">\n <div class=\"form-group datepicker\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: 'YYYY-MM-DD' }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <c8y-time-picker\n [formControl]=\"form.get('time')\"\n (dayBackward)=\"previousDay()\"\n (dayForward)=\"nextDay()\"\n ></c8y-time-picker>\n</div>\n" }]
|
|
21287
|
-
}], ctorParameters: function () { return []; }, propDecorators: { _minDate: [{
|
|
21315
|
+
], template: "<div class=\"datetime-picker\" [closeDatepicker]=\"datepicker\">\n <div class=\"form-group datepicker\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: 'YYYY-MM-DD' }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <c8y-time-picker\n [formControl]=\"form.get('time')\"\n (dayBackward)=\"previousDay()\"\n (dayForward)=\"nextDay()\"\n ></c8y-time-picker>\n</div>\n" }]
|
|
21316
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { _minDate: [{
|
|
21288
21317
|
type: Input,
|
|
21289
21318
|
args: ['minDate']
|
|
21290
21319
|
}], _maxDate: [{
|
|
@@ -21292,6 +21321,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
21292
21321
|
args: ['maxDate']
|
|
21293
21322
|
}], placeholder: [{
|
|
21294
21323
|
type: Input
|
|
21324
|
+
}], datepicker: [{
|
|
21325
|
+
type: ViewChild,
|
|
21326
|
+
args: [BsDatepickerDirective]
|
|
21295
21327
|
}] } });
|
|
21296
21328
|
|
|
21297
21329
|
class FieldDateTime extends FieldType {
|
|
@@ -21351,7 +21383,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
21351
21383
|
class DateTimePickerModule {
|
|
21352
21384
|
}
|
|
21353
21385
|
DateTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
21354
|
-
DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerModule, declarations: [DateTimePickerComponent], imports: [FormsModule,
|
|
21386
|
+
DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerModule, declarations: [DateTimePickerComponent, CloseDatePickerDirective], imports: [FormsModule,
|
|
21355
21387
|
CommonModule$1,
|
|
21356
21388
|
FormsModule$1,
|
|
21357
21389
|
ReactiveFormsModule, i6.BsDatepickerModule, CommonModule,
|
|
@@ -21376,7 +21408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
21376
21408
|
TimePickerModule
|
|
21377
21409
|
],
|
|
21378
21410
|
exports: [DateTimePickerComponent],
|
|
21379
|
-
declarations: [DateTimePickerComponent]
|
|
21411
|
+
declarations: [DateTimePickerComponent, CloseDatePickerDirective]
|
|
21380
21412
|
}]
|
|
21381
21413
|
}] });
|
|
21382
21414
|
|