@indigina/kendo 1.2.6 → 1.2.8
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/esm2020/lib/angular/forms/widgets/general-errors/general-errors.component.mjs +9 -10
- package/esm2020/lib/angular/indigina.module.mjs +1 -6
- package/esm2020/lib/angular/models/AppSettings.mjs +1 -1
- package/esm2020/lib/angular/services/settings.service.mjs +4 -1
- package/esm2020/lib/services/auth.providers/azureb2c.provider.mjs +2 -1
- package/esm2020/lib/widgets/entity-edit/entity-edit-form.component.mjs +17 -15
- package/esm2020/public-api.mjs +1 -1
- package/fesm2015/indigina-kendo.mjs +27 -27
- package/fesm2015/indigina-kendo.mjs.map +1 -1
- package/fesm2020/indigina-kendo.mjs +27 -27
- package/fesm2020/indigina-kendo.mjs.map +1 -1
- package/lib/angular/forms/widgets/general-errors/general-errors.component.d.ts +4 -4
- package/lib/angular/indigina.module.d.ts +1 -1
- package/lib/angular/models/AppSettings.d.ts +0 -2
- package/lib/angular/services/settings.service.d.ts +1 -0
- package/lib/widgets/entity-edit/entity-edit-form.component.d.ts +0 -2
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/esm2020/lib/models/OidcSettings.mjs +0 -2
- package/lib/models/OidcSettings.d.ts +0 -5
|
@@ -22,14 +22,14 @@ import { CommonModule } from '@angular/common';
|
|
|
22
22
|
import * as i2$1 from '@angular/common/http';
|
|
23
23
|
import { HttpClientModule, HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
24
24
|
import * as i0 from '@angular/core';
|
|
25
|
-
import { EventEmitter, Directive, Input, Output, HostListener, Component, NgModule, Injectable, ViewChildren, APP_INITIALIZER, ViewChild
|
|
25
|
+
import { EventEmitter, Directive, Input, Output, HostListener, Component, NgModule, ChangeDetectionStrategy, Injectable, ViewChildren, APP_INITIALIZER, ViewChild } from '@angular/core';
|
|
26
26
|
import * as i1$4 from '@angular/forms';
|
|
27
27
|
import { UntypedFormControl, Validators, ControlContainer, FormGroupDirective, ReactiveFormsModule, FormsModule, UntypedFormGroup } from '@angular/forms';
|
|
28
28
|
import { BrowserModule } from '@angular/platform-browser';
|
|
29
29
|
import * as i1$5 from '@angular/router';
|
|
30
30
|
import { NavigationEnd, RouterModule } from '@angular/router';
|
|
31
31
|
import { Subject, of, BehaviorSubject, throwError, from, tap as tap$1, map as map$1 } from 'rxjs';
|
|
32
|
-
import { debounceTime, map, mergeMap, catchError, tap, filter, finalize } from 'rxjs/operators';
|
|
32
|
+
import { debounceTime, map, mergeMap, catchError, tap, filter, take, finalize } from 'rxjs/operators';
|
|
33
33
|
import XmlBeautify from 'xml-beautify';
|
|
34
34
|
import { toODataString, distinct, filterBy } from '@progress/kendo-data-query';
|
|
35
35
|
import { InteractionRequiredAuthError, BrowserCacheLocation, PublicClientApplication } from '@azure/msal-browser';
|
|
@@ -277,19 +277,18 @@ class GeneralErrorsComponent {
|
|
|
277
277
|
constructor() {
|
|
278
278
|
this.errors = [];
|
|
279
279
|
}
|
|
280
|
-
|
|
281
|
-
this.
|
|
282
|
-
if (errors.length) {
|
|
283
|
-
this.form.setErrors({ _general_errors_: errors });
|
|
284
|
-
}
|
|
280
|
+
ngOnChanges() {
|
|
281
|
+
this.form.setErrors({ _general_errors_: this.errors });
|
|
285
282
|
}
|
|
286
283
|
}
|
|
287
284
|
GeneralErrorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: GeneralErrorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
288
|
-
GeneralErrorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: GeneralErrorsComponent, selector: "app-general-errors", inputs: { form: "form" }, ngImport: i0, template: "<div [formGroup]=\"form\">\n <div class=\"bg-danger\" *ngIf=\"form.invalid && errors.length\">\n <ul class=\"custom-error\">\n <li *ngFor=\"let error of errors\">{{ error }}</li>\n </ul>\n </div>\n</div>\n",
|
|
285
|
+
GeneralErrorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: GeneralErrorsComponent, selector: "app-general-errors", inputs: { form: "form", errors: "errors" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"form\" [formGroup]=\"form\">\n <div class=\"bg-danger\" *ngIf=\"form.invalid && errors.length\">\n <ul class=\"custom-error\">\n <li *ngFor=\"let error of errors\">{{ error }}</li>\n </ul>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
289
286
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: GeneralErrorsComponent, decorators: [{
|
|
290
287
|
type: Component,
|
|
291
|
-
args: [{ selector: 'app-general-errors', template: "<div [formGroup]=\"form\">\n <div class=\"bg-danger\" *ngIf=\"form.invalid && errors.length\">\n <ul class=\"custom-error\">\n <li *ngFor=\"let error of errors\">{{ error }}</li>\n </ul>\n </div>\n</div>\n" }]
|
|
292
|
-
}],
|
|
288
|
+
args: [{ selector: 'app-general-errors', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"form\" [formGroup]=\"form\">\n <div class=\"bg-danger\" *ngIf=\"form.invalid && errors.length\">\n <ul class=\"custom-error\">\n <li *ngFor=\"let error of errors\">{{ error }}</li>\n </ul>\n </div>\n</div>\n" }]
|
|
289
|
+
}], propDecorators: { form: [{
|
|
290
|
+
type: Input
|
|
291
|
+
}], errors: [{
|
|
293
292
|
type: Input
|
|
294
293
|
}] } });
|
|
295
294
|
|
|
@@ -859,11 +858,6 @@ let defaultConfig = {
|
|
|
859
858
|
accountUrl: '',
|
|
860
859
|
apiUrl: '',
|
|
861
860
|
toastrTimeOut: 2500,
|
|
862
|
-
oidc: {
|
|
863
|
-
clientId: '',
|
|
864
|
-
authority: '',
|
|
865
|
-
issuer: '',
|
|
866
|
-
},
|
|
867
861
|
azureB2C: {
|
|
868
862
|
clientId: '',
|
|
869
863
|
authority: '',
|
|
@@ -1287,6 +1281,9 @@ class SettingsService {
|
|
|
1287
1281
|
clearLoginAsUser() {
|
|
1288
1282
|
localStorage.removeItem(loginAsKey);
|
|
1289
1283
|
}
|
|
1284
|
+
clearToken() {
|
|
1285
|
+
localStorage.removeItem(tokenKey);
|
|
1286
|
+
}
|
|
1290
1287
|
setToken(token) {
|
|
1291
1288
|
localStorage.setItem(tokenKey, token);
|
|
1292
1289
|
}
|
|
@@ -1419,6 +1416,7 @@ class AzureB2CProvider extends AuthProvider {
|
|
|
1419
1416
|
}
|
|
1420
1417
|
}
|
|
1421
1418
|
logout() {
|
|
1419
|
+
this.settingsService.clearToken();
|
|
1422
1420
|
this.authService.logoutRedirect({
|
|
1423
1421
|
postLogoutRedirectUri: location.origin,
|
|
1424
1422
|
});
|
|
@@ -2388,24 +2386,26 @@ class EntityEditFormComponent {
|
|
|
2388
2386
|
this.adapter
|
|
2389
2387
|
.getService()
|
|
2390
2388
|
.save(this.adapter.getValue(), this.adapter.getUrlParams())
|
|
2391
|
-
.pipe(finalize(() => (this.saveInProgress = false)))
|
|
2392
|
-
.subscribe(
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2389
|
+
.pipe(take(1), finalize(() => (this.saveInProgress = false)))
|
|
2390
|
+
.subscribe({
|
|
2391
|
+
next: (result) => {
|
|
2392
|
+
this.adapter.onSaved(result);
|
|
2393
|
+
this.formGroup.value.applyServerErrors({ errors: {} }, this.formGroup.value);
|
|
2394
|
+
this.formGroup.next(this.formGroup.value);
|
|
2395
|
+
},
|
|
2396
|
+
error: (error) => {
|
|
2397
|
+
this.formGroup.value.applyServerErrors(error.error, this.formGroup.value);
|
|
2398
|
+
this.formGroup.next(this.formGroup.value);
|
|
2399
|
+
},
|
|
2397
2400
|
});
|
|
2398
2401
|
}
|
|
2399
2402
|
}
|
|
2400
2403
|
EntityEditFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: EntityEditFormComponent, deps: [{ token: i1$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
2401
|
-
EntityEditFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: EntityEditFormComponent, selector: "entity-edit-form", inputs: { title: "title", entityId: "entityId", adapter: "adapter" },
|
|
2404
|
+
EntityEditFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: EntityEditFormComponent, selector: "entity-edit-form", inputs: { title: "title", entityId: "entityId", adapter: "adapter" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n *ngIf=\"formGroup | async as form\"\n class=\"form-horizontal\"\n [formGroup]=\"form\"\n novalidate\n autocomplete=\"off\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n [form]=\"form\"\n [errors]=\"form.generalErrors\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"form.valid && form.dirty && !saveInProgress\"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GeneralErrorsComponent, selector: "app-general-errors", inputs: ["form", "errors"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: ["valid"], outputs: ["save"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
2402
2405
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: EntityEditFormComponent, decorators: [{
|
|
2403
2406
|
type: Component,
|
|
2404
|
-
args: [{ selector: 'entity-edit-form', template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"
|
|
2405
|
-
}], ctorParameters: function () { return [{ type: i1$5.ActivatedRoute }]; }, propDecorators: {
|
|
2406
|
-
type: ViewChild,
|
|
2407
|
-
args: ['general_errors']
|
|
2408
|
-
}], title: [{
|
|
2407
|
+
args: [{ selector: 'entity-edit-form', template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n *ngIf=\"formGroup | async as form\"\n class=\"form-horizontal\"\n [formGroup]=\"form\"\n novalidate\n autocomplete=\"off\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n [form]=\"form\"\n [errors]=\"form.generalErrors\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"form.valid && form.dirty && !saveInProgress\"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n" }]
|
|
2408
|
+
}], ctorParameters: function () { return [{ type: i1$5.ActivatedRoute }]; }, propDecorators: { title: [{
|
|
2409
2409
|
type: Input
|
|
2410
2410
|
}], entityId: [{
|
|
2411
2411
|
type: Input
|