@solidev/data 0.4.6 → 0.4.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/esm2022/lib/auth/auth-interceptor.service.mjs +7 -12
- package/esm2022/lib/data/data-backend.mjs +4 -4
- package/esm2022/lib/data/fields/datetime.mjs +16 -9
- package/esm2022/lib/dispedit/choice.pipe.mjs +6 -6
- package/esm2022/lib/dispedit/dispedit/dispedit.component.mjs +3 -3
- package/esm2022/lib/dispedit/factor.pipe.mjs +6 -6
- package/esm2022/lib/dispedit/factorc.pipe.mjs +6 -6
- package/esm2022/lib/dispedit/fkselect/fkselect.component.mjs +3 -3
- package/esm2022/lib/dispedit/flags/flags.component.mjs +3 -3
- package/esm2022/lib/dispedit/m2mselect/m2mselect.component.mjs +3 -3
- package/esm2022/lib/dispedit/richedit/richedit.component.mjs +3 -3
- package/esm2022/lib/dispedit/sdelete/sdelete.component.mjs +3 -3
- package/esm2022/lib/messages/message-zone/message-zone.component.mjs +3 -3
- package/esm2022/lib/messages/message.service.mjs +3 -3
- package/esm2022/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +4 -4
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +3 -3
- package/esm2022/lib/modellist/model-list.service.mjs +11 -7
- package/esm2022/lib/routing/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/lib/updates/update/update.component.mjs +3 -3
- package/esm2022/lib/updates/update.service.mjs +3 -3
- package/esm2022/lib/uploader/ng-file-drop.directive.mjs +3 -3
- package/esm2022/lib/uploader/ng-file-select.directive.mjs +3 -3
- package/esm2022/lib/uploader/ngx-uploader.module.mjs +4 -4
- package/esm2022/lib/utils/tab-memory.service.mjs +3 -3
- package/fesm2022/solidev-data.mjs +155 -149
- package/fesm2022/solidev-data.mjs.map +1 -1
- package/lib/modellist/model-list.service.d.ts +3 -1
- package/package.json +1 -1
- package/solidev-data-0.4.8.tgz +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
|
2
|
-
import { HttpErrorResponse
|
|
2
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
|
3
3
|
import { catchError, filter, switchMap, take, tap } from 'rxjs/operators';
|
|
4
4
|
import { BehaviorSubject, throwError } from 'rxjs';
|
|
5
5
|
import { DATA_API_URL } from '../data/data-parameters';
|
|
@@ -29,7 +29,6 @@ export class AuthInterceptor {
|
|
|
29
29
|
*/
|
|
30
30
|
intercept(req, next) {
|
|
31
31
|
// If the user is anonymous, we don't add the token
|
|
32
|
-
let intercept = false;
|
|
33
32
|
if (this._auth.isAnonymous) {
|
|
34
33
|
return next.handle(req);
|
|
35
34
|
}
|
|
@@ -84,21 +83,17 @@ export class AuthInterceptor {
|
|
|
84
83
|
}));
|
|
85
84
|
}
|
|
86
85
|
else {
|
|
87
|
-
console.log('piping to refresh token subject');
|
|
88
86
|
return this._refreshTokenSubject.pipe(filter((token) => token != null), take(1), switchMap((token) => next.handle(this._addToken(request, token.access))));
|
|
89
87
|
}
|
|
90
88
|
}
|
|
91
89
|
_addToken(request, token) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
authorization: `Bearer ${token}`,
|
|
95
|
-
},
|
|
96
|
-
});
|
|
90
|
+
const headers = request.headers.append('Authorization', `Bearer ${token}`);
|
|
91
|
+
return request.clone({ headers });
|
|
97
92
|
}
|
|
98
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
99
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
93
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AuthInterceptor, deps: [{ token: DATA_AUTH_SERVICE }, { token: DATA_API_URL }, { token: DATA_AUTH_URLS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
94
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AuthInterceptor, providedIn: 'root' }); }
|
|
100
95
|
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AuthInterceptor, decorators: [{
|
|
102
97
|
type: Injectable,
|
|
103
98
|
args: [{
|
|
104
99
|
providedIn: 'root',
|
|
@@ -115,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
|
|
|
115
110
|
type: Inject,
|
|
116
111
|
args: [DATA_AUTH_URLS]
|
|
117
112
|
}] }] });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1pbnRlcmNlcHRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2F1dGgvYXV0aC1pbnRlcmNlcHRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUNMLGlCQUFpQixHQUlsQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFFdkQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBRWpELG1CQUFtQixDQUFDLENBQUM7QUFFdkI7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFXLGdCQUFnQixDQUFDLENBQUM7QUFLN0UsTUFBTSxPQUFPLGVBQWU7SUFLMUIsWUFDcUMsS0FBcUMsRUFDMUMsT0FBZSxFQUNELEtBQXNCO1FBRi9CLFVBQUssR0FBTCxLQUFLLENBQWdDO1FBQzFDLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDRCxVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQVA1RCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0Qix5QkFBb0IsR0FDMUIsSUFBSSxlQUFlLENBQWlDLElBQUksQ0FBQyxDQUFDO0lBTXpELENBQUM7SUFFSjs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsbURBQW1EO1FB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RmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxZQUFZOzswQkFDbkIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwSGFuZGxlcixcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2VCYXNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSUp3dFJlZnJlc2hSZXNwb25zZUpzb24gfSBmcm9tICcuL2p3dCc7XG5pbXBvcnQgeyBEQVRBX0FQSV9VUkwgfSBmcm9tICcuLi9kYXRhL2RhdGEtcGFyYW1ldGVycyc7XG5cbmV4cG9ydCBjb25zdCBEQVRBX0FVVEhfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgQXV0aFNlcnZpY2VCYXNlPGFueSwgYW55LCBhbnk+XG4+KCdkYXRhLmF1dGguc2VydmljZScpO1xuXG4vKipcbiAqIExpc3Qgb2YgdXJscyB0aGF0IHNob3VsZCBiZSBpbnRlcmNlcHRlZCBieSB0aGUgYXV0aCBpbnRlcmNlcHRvciwgdGh1cyByZWNlaXZpbmcgdGhlIGF1dGggdG9rZW5cbiAqIERlZmF1bHQgOiBlbXB0eSBsaXN0XG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX0FVVEhfVVJMUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmdbXT4oJ2RhdGEuYXV0aC51cmxzJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBwcml2YXRlIF9pc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVmcmVzaFRva2VuU3ViamVjdCA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxJSnd0UmVmcmVzaFJlc3BvbnNlSnNvbiB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoREFUQV9BVVRIX1NFUlZJQ0UpIHByaXZhdGUgX2F1dGg6IEF1dGhTZXJ2aWNlQmFzZTxhbnksIGFueSwgYW55PixcbiAgICBASW5qZWN0KERBVEFfQVBJX1VSTCkgcHJpdmF0ZSBfYXBpVXJsOiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0FVVEhfVVJMUykgcHJpdmF0ZSBfdXJsczogc3RyaW5nW10gfCBudWxsXG4gICkge31cblxuICAvKipcbiAgICogVGhlIGF1dGggdG9rZW4gaW4gYWRkZWQgdG8gdGhlIHJlcXVlc3QgaWYgOlxuICAgKiAtIHRoZSByZXF1ZXN0IGlzIG5vdCBhbm9ueW1vdXNcbiAgICogLSB0aGUgcmVxdWVzdCBpcyBmb3IgdGhlIGFwaSB1cmwsIGJ1dCBub3QgZm9yIHRoZSByZWZyZXNoIG9yIGxvZ2luIHVybHNcbiAgICogLSB0aGUgcmVxdWVzdCBpcyBmb3Igb25lIG9mIHRoZSB1cmxzIHNwZWNpZmllZCBpbiB0aGUgREFUQV9BVVRIX1VSTFMgaW5qZWN0aW9uIHRva2VuXG4gICAqIEBwYXJhbSByZXFcbiAgICogQHBhcmFtIG5leHRcbiAgICovXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgLy8gSWYgdGhlIHVzZXIgaXMgYW5vbnltb3VzLCB3ZSBkb24ndCBhZGQgdGhlIHRva2VuXG4gICAgbGV0IGludGVyY2VwdCA9IGZhbHNlO1xuICAgIGlmICh0aGlzLl9hdXRoLmlzQW5vbnltb3VzKSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIHJlcXVlc3QgaXMgcmVmcmVzaCBvciBsb2dpbiB1cmwsIHNraXAgYXV0aFxuICAgIGlmIChcbiAgICAgIHJlcS51cmwuc3RhcnRzV2l0aCh0aGlzLl9hdXRoLnJlZnJlc2hVcmwpIHx8XG4gICAgICByZXEudXJsLnN0YXJ0c1dpdGgodGhpcy5fYXV0aC5sb2dpblVybClcbiAgICApIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgcmVxdWVzdCBpcyBub3QgZm9yIHRoZSBhcGksIGFuZCBub3QgZm9yIG9uZSBvZiB0aGUgdXJscyBzcGVjaWZpZWQgaW4gdGhlXG4gICAgLy8gREFUQV9BVVRIX1VSTFMgaW5qZWN0aW9uIHRva2VuLCBza2lwIGF1dGhcbiAgICBpZiAoXG4gICAgICAhcmVxLnVybC5zdGFydHNXaXRoKHRoaXMuX2FwaVVybCkgJiZcbiAgICAgICEoXG4gICAgICAgIHRoaXMuX3VybHMgJiZcbiAgICAgICAgdGhpcy5fdXJscy5sZW5ndGggPiAwICYmXG4gICAgICAgIHRoaXMuX3VybHMuc29tZSgodXJsKSA9PiByZXEudXJsLnN0YXJ0c1dpdGgodXJsKSlcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2F1dGguaXNBbm9ueW1vdXMpIHtcbiAgICAgIHJlcSA9IHRoaXMuX2FkZFRva2VuKHJlcSwgdGhpcy5fYXV0aC5hY2Nlc3NUb2tlbiBhcyBzdHJpbmcpO1xuICAgIH1cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ0NhdGNoZWQgaHR0cCBlcnJvcicsIGVycm9yKTtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiYgZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnUGFzc2luZyB0byBoYW5kbGUgNDAxJyk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2hhbmRsZTQwMUVycm9yKHJlcSwgbmV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ3Rocm93aW5nIGVycm9yJyk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGU0MDFFcnJvcihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIGlmICghdGhpcy5faXNSZWZyZXNoaW5nKSB7XG4gICAgICB0aGlzLl9pc1JlZnJlc2hpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5fcmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KG51bGwpO1xuICAgICAgY29uc29sZS5sb2coJ3JlZnJlc2hpbmcgdG9rZW4nKTtcbiAgICAgIHJldHVybiB0aGlzLl9hdXRoLnJlZnJlc2goKS5waXBlKFxuICAgICAgICB0YXAoKHRva2VuKSA9PiBjb25zb2xlLmxvZygnUmVmcmVzaGVkIHRva2VuIHJlc3VsdCcsIHRva2VuKSksXG4gICAgICAgIHN3aXRjaE1hcCgodG9rZW4pID0+IHtcbiAgICAgICAgICBpZiAodG9rZW4gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzUmVmcmVzaGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoXG4gICAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgbmV3IEh0dHBFcnJvclJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICAgIGVycm9yOiAnRm9yYmlkZGVuLCBwbGVhc2UgbG9nIGluJyxcbiAgICAgICAgICAgICAgICAgIHN0YXR1czogNDAzLFxuICAgICAgICAgICAgICAgICAgc3RhdHVzVGV4dDogJ1dhcm5pbmcnLFxuICAgICAgICAgICAgICAgICAgdXJsOiByZXF1ZXN0LnVybCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQodG9rZW4pO1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuX2FkZFRva2VuKHJlcXVlc3QsIHRva2VuLmFjY2VzcykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKCdwaXBpbmcgdG8gcmVmcmVzaCB0b2tlbiBzdWJqZWN0Jyk7XG4gICAgICByZXR1cm4gdGhpcy5fcmVmcmVzaFRva2VuU3ViamVjdC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHRva2VuKSA9PiB0b2tlbiAhPSBudWxsKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKCh0b2tlbikgPT5cbiAgICAgICAgICBuZXh0LmhhbmRsZShcbiAgICAgICAgICAgIHRoaXMuX2FkZFRva2VuKHJlcXVlc3QsICh0b2tlbiBhcyBJSnd0UmVmcmVzaFJlc3BvbnNlSnNvbikuYWNjZXNzKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hZGRUb2tlbihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCB0b2tlbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xuICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICBhdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1pbnRlcmNlcHRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2F1dGgvYXV0aC1pbnRlcmNlcHRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUE2QyxNQUFNLHNCQUFzQixDQUFDO0FBRXBHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFFdkQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBRWpELG1CQUFtQixDQUFDLENBQUM7QUFFdkI7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFXLGdCQUFnQixDQUFDLENBQUM7QUFLN0UsTUFBTSxPQUFPLGVBQWU7SUFLMUIsWUFDcUMsS0FBcUMsRUFDMUMsT0FBZSxFQUNELEtBQXNCO1FBRi9CLFVBQUssR0FBTCxLQUFLLENBQWdDO1FBQzFDLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDRCxVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQVA1RCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0Qix5QkFBb0IsR0FDMUIsSUFBSSxlQUFlLENBQWlDLElBQUksQ0FBQyxDQUFDO0lBTXpELENBQUM7SUFFSjs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsbURBQW1EO1FB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VTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxZQUFZOzswQkFDbkIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlQmFzZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElKd3RSZWZyZXNoUmVzcG9uc2VKc29uIH0gZnJvbSAnLi9qd3QnO1xuaW1wb3J0IHsgREFUQV9BUElfVVJMIH0gZnJvbSAnLi4vZGF0YS9kYXRhLXBhcmFtZXRlcnMnO1xuXG5leHBvcnQgY29uc3QgREFUQV9BVVRIX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIEF1dGhTZXJ2aWNlQmFzZTxhbnksIGFueSwgYW55PlxuPignZGF0YS5hdXRoLnNlcnZpY2UnKTtcblxuLyoqXG4gKiBMaXN0IG9mIHVybHMgdGhhdCBzaG91bGQgYmUgaW50ZXJjZXB0ZWQgYnkgdGhlIGF1dGggaW50ZXJjZXB0b3IsIHRodXMgcmVjZWl2aW5nIHRoZSBhdXRoIHRva2VuXG4gKiBEZWZhdWx0IDogZW1wdHkgbGlzdFxuICovXG5leHBvcnQgY29uc3QgREFUQV9BVVRIX1VSTFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nW10+KCdkYXRhLmF1dGgudXJscycpO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgcHJpdmF0ZSBfaXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgX3JlZnJlc2hUb2tlblN1YmplY3QgPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8SUp3dFJlZnJlc2hSZXNwb25zZUpzb24gfCBudWxsPihudWxsKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERBVEFfQVVUSF9TRVJWSUNFKSBwcml2YXRlIF9hdXRoOiBBdXRoU2VydmljZUJhc2U8YW55LCBhbnksIGFueT4sXG4gICAgQEluamVjdChEQVRBX0FQSV9VUkwpIHByaXZhdGUgX2FwaVVybDogc3RyaW5nLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREFUQV9BVVRIX1VSTFMpIHByaXZhdGUgX3VybHM6IHN0cmluZ1tdIHwgbnVsbCxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBUaGUgYXV0aCB0b2tlbiBpbiBhZGRlZCB0byB0aGUgcmVxdWVzdCBpZiA6XG4gICAqIC0gdGhlIHJlcXVlc3QgaXMgbm90IGFub255bW91c1xuICAgKiAtIHRoZSByZXF1ZXN0IGlzIGZvciB0aGUgYXBpIHVybCwgYnV0IG5vdCBmb3IgdGhlIHJlZnJlc2ggb3IgbG9naW4gdXJsc1xuICAgKiAtIHRoZSByZXF1ZXN0IGlzIGZvciBvbmUgb2YgdGhlIHVybHMgc3BlY2lmaWVkIGluIHRoZSBEQVRBX0FVVEhfVVJMUyBpbmplY3Rpb24gdG9rZW5cbiAgICogQHBhcmFtIHJlcVxuICAgKiBAcGFyYW0gbmV4dFxuICAgKi9cbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcbiAgICAvLyBJZiB0aGUgdXNlciBpcyBhbm9ueW1vdXMsIHdlIGRvbid0IGFkZCB0aGUgdG9rZW5cbiAgICBpZiAodGhpcy5fYXV0aC5pc0Fub255bW91cykge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSByZXF1ZXN0IGlzIHJlZnJlc2ggb3IgbG9naW4gdXJsLCBza2lwIGF1dGhcbiAgICBpZiAoXG4gICAgICByZXEudXJsLnN0YXJ0c1dpdGgodGhpcy5fYXV0aC5yZWZyZXNoVXJsKSB8fFxuICAgICAgcmVxLnVybC5zdGFydHNXaXRoKHRoaXMuX2F1dGgubG9naW5VcmwpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIHJlcXVlc3QgaXMgbm90IGZvciB0aGUgYXBpLCBhbmQgbm90IGZvciBvbmUgb2YgdGhlIHVybHMgc3BlY2lmaWVkIGluIHRoZVxuICAgIC8vIERBVEFfQVVUSF9VUkxTIGluamVjdGlvbiB0b2tlbiwgc2tpcCBhdXRoXG4gICAgaWYgKFxuICAgICAgIXJlcS51cmwuc3RhcnRzV2l0aCh0aGlzLl9hcGlVcmwpICYmXG4gICAgICAhKFxuICAgICAgICB0aGlzLl91cmxzICYmXG4gICAgICAgIHRoaXMuX3VybHMubGVuZ3RoID4gMCAmJlxuICAgICAgICB0aGlzLl91cmxzLnNvbWUoKHVybCkgPT4gcmVxLnVybC5zdGFydHNXaXRoKHVybCkpXG4gICAgICApXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9hdXRoLmlzQW5vbnltb3VzKSB7XG4gICAgICByZXEgPSB0aGlzLl9hZGRUb2tlbihyZXEsIHRoaXMuX2F1dGguYWNjZXNzVG9rZW4gYXMgc3RyaW5nKTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdDYXRjaGVkIGh0dHAgZXJyb3InLCBlcnJvcik7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ1Bhc3NpbmcgdG8gaGFuZGxlIDQwMScpO1xuICAgICAgICAgIHJldHVybiB0aGlzLl9oYW5kbGU0MDFFcnJvcihyZXEsIG5leHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCd0aHJvd2luZyBlcnJvcicpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZTQwMUVycm9yKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgaWYgKCF0aGlzLl9pc1JlZnJlc2hpbmcpIHtcbiAgICAgIHRoaXMuX2lzUmVmcmVzaGluZyA9IHRydWU7XG4gICAgICB0aGlzLl9yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgICBjb25zb2xlLmxvZygncmVmcmVzaGluZyB0b2tlbicpO1xuICAgICAgcmV0dXJuIHRoaXMuX2F1dGgucmVmcmVzaCgpLnBpcGUoXG4gICAgICAgIHRhcCgodG9rZW4pID0+IGNvbnNvbGUubG9nKCdSZWZyZXNoZWQgdG9rZW4gcmVzdWx0JywgdG9rZW4pKSxcbiAgICAgICAgc3dpdGNoTWFwKCh0b2tlbikgPT4ge1xuICAgICAgICAgIGlmICh0b2tlbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5faXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihcbiAgICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICBuZXcgSHR0cEVycm9yUmVzcG9uc2Uoe1xuICAgICAgICAgICAgICAgICAgZXJyb3I6ICdGb3JiaWRkZW4sIHBsZWFzZSBsb2cgaW4nLFxuICAgICAgICAgICAgICAgICAgc3RhdHVzOiA0MDMsXG4gICAgICAgICAgICAgICAgICBzdGF0dXNUZXh0OiAnV2FybmluZycsXG4gICAgICAgICAgICAgICAgICB1cmw6IHJlcXVlc3QudXJsLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQodG9rZW4pO1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuX2FkZFRva2VuKHJlcXVlc3QsIHRva2VuLmFjY2VzcykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVmcmVzaFRva2VuU3ViamVjdC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHRva2VuKSA9PiB0b2tlbiAhPSBudWxsKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKCh0b2tlbikgPT5cbiAgICAgICAgICBuZXh0LmhhbmRsZShcbiAgICAgICAgICAgIHRoaXMuX2FkZFRva2VuKHJlcXVlc3QsICh0b2tlbiBhcyBJSnd0UmVmcmVzaFJlc3BvbnNlSnNvbikuYWNjZXNzKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hZGRUb2tlbihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCB0b2tlbjogc3RyaW5nKSB7XG4gICAgY29uc3QgaGVhZGVycyA9IHJlcXVlc3QuaGVhZGVycy5hcHBlbmQoJ0F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7dG9rZW59YCk7XG4gICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoeyBoZWFkZXJzIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -139,10 +139,10 @@ export class DataBackend {
|
|
|
139
139
|
headers(headers) {
|
|
140
140
|
return Object.assign({}, headers);
|
|
141
141
|
}
|
|
142
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
143
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DataBackend, deps: [{ token: i1.HttpClient }, { token: i0.TransferState }, { token: PLATFORM_ID }, { token: DATA_API_URL }, { token: DATA_MAX_TRANSFERSTATE_TIME, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
143
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DataBackend, providedIn: 'root' }); }
|
|
144
144
|
}
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DataBackend, decorators: [{
|
|
146
146
|
type: Injectable,
|
|
147
147
|
args: [{
|
|
148
148
|
providedIn: 'root',
|
|
@@ -159,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
|
|
|
159
159
|
type: Inject,
|
|
160
160
|
args: [DATA_MAX_TRANSFERSTATE_TIME]
|
|
161
161
|
}] }] });
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1iYWNrZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2RhdGEvZGF0YS1iYWNrZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsV0FBVyxHQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRCxPQUFPLEVBQUMsWUFBWSxFQUFFLDJCQUEyQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7OztBQUU1RTs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUNVLEtBQWlCLEVBQ2pCLGNBQTZCLEVBQ1IsU0FBYyxFQUNiLE9BQWUsRUFHckMsd0JBQWdDLENBQUM7UUFOakMsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNSLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBR3JDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBWTtRQVRuQyxhQUFRLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQVUzQixDQUFDO0lBRUo7O09BRUc7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0ksTUFBTSxDQUNYLFVBQXlCLEVBQ3pCLE1BQW1ELEVBQ25ELEdBQVcsRUFDWCxFQUFFLElBQUksR0FBRyxTQUFTLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxPQUFPLEdBQUcsRUFBRSxLQUFv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SUFBSSxDQUFDLFVBQVUsQ0FBZ0IsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUNyRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDOUIsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxJQUFJLENBQ1QsVUFBeUIsRUFDekIsR0FBVyxFQUNYLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxPQUFPLEdBQUcsRUFBRSxLQUFvQixFQUFFO1FBRWpELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBZ0IsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUNyRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDOUIsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sT0FBTyxDQUFDLE9BQWtDO1FBR2xELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0EvTFUsV0FBVyx5RUFNWixXQUFXLGFBQ1gsWUFBWSxhQUVaLDJCQUEyQjtrSEFUMUIsV0FBVyxjQUZWLE1BQU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixRQUFROzswQkFDUixNQUFNOzJCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgbWFrZVN0YXRlS2V5LCBPcHRpb25hbCwgUExBVEZPUk1fSUQsIFRyYW5zZmVyU3RhdGUsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aXNQbGF0Zm9ybVNlcnZlcn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q29sbGVjdGlvbiwgSUFjdGlvblBhcmFtc30gZnJvbSAnLi9kYXRhLWNvbGxlY3Rpb24nO1xuaW1wb3J0IHtEYXRhTW9kZWx9IGZyb20gJy4vZGF0YS1tb2RlbCc7XG5pbXBvcnQge0RBVEFfQVBJX1VSTCwgREFUQV9NQVhfVFJBTlNGRVJTVEFURV9USU1FfSBmcm9tICcuL2RhdGEtcGFyYW1ldGVycyc7XG5cbi8qKlxuICogRGF0YUJhY2tlbmQgcHJvdmlkZXMgQ1JVRCBvcGVyYXRpb25zIHRvIGEgUkVTVCBhcGkuXG4gKiBUcmFuc2ZlclN0YXRlIGNhbiBiZSB1c2VkIGlmIERBVEFfTUFYX1RSQU5TRkVSU1RBVEVfVElNRSBpcyBzZXQgYW5kID4gMFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YUJhY2tlbmQge1xuICBwcml2YXRlIF9jcmVhdGVkID0gbmV3IERhdGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgX3RyYW5zZmVyU3RhdGU6IFRyYW5zZmVyU3RhdGUsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBfcGxhdGZvcm06IGFueSxcbiAgICBASW5qZWN0KERBVEFfQVBJX1VSTCkgcHJpdmF0ZSBfYXBpVXJsOiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KERBVEFfTUFYX1RSQU5TRkVSU1RBVEVfVElNRSlcbiAgICBwcml2YXRlIF9tYXhUcmFuc2ZlcnN0YXRlVGltZTogbnVtYmVyID0gMCxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYXBpIHVybCBmb3IgdGhpcyBiYWNrZW5kLlxuICAgKi9cbiAgcHVibGljIGdldCBhcGlVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fYXBpVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIExhdW5jaCBhbiBhY3Rpb24gb24gY29sbGVjdGlvbi5cbiAgICogSWYgbWV0aG9kIGlzIEdFVCBhbmQgY29sbGVjdGlvbi51c2VUcmFuc2VyU3RhdGUgJiB0cmFuc2ZlclN0YXRlIGFyZSBlbmFibGVkLFxuICAgKiByZXN1bHQgaXMgc3RvcmVkIC8gcmV0cmlldmVkIGZyb20gdHJhbnNmZXJTdGF0ZS5cbiAgICpcbiAgICogQHBhcmFtIGNvbGxlY3Rpb24gQ29sbGVjdGlvbiByZWZlcmVuY2VcbiAgICogQHBhcmFtIG1ldGhvZCBIVFRQIG1ldGhvZFxuICAgKiBAcGFyYW0gdXJsIGZ1bGwgVVJMIGZvciBhY3Rpb25cbiAgICogQHBhcmFtIGJvZHkgSlNPTiBib2R5XG4gICAqIEBwYXJhbSBwYXJhbXMgcXVlcnkgcGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gaGVhZGVycyBxdWVyeSBoZWFkZXJzXG4gICAqIEBwYXJhbSByZXNwb25zZVR5cGUgcmVzcG9uc2UgdHlwZVxuICAgKlxuICAgKiBAcmV0dXJuIGFuIG9ic2VydmFibGUgb2YgcmVzcG9uc2UgYm9keVxuICAgKi9cbiAgcHVibGljIGFjdGlvbjxUIGV4dGVuZHMgRGF0YU1vZGVsLCBSVD4oXG4gICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbjxUPixcbiAgICBtZXRob2Q6ICdHRVQnIHwgJ1BPU1QnIHwgJ1BVVCcgfCAnUEFUQ0gnIHwgJ0RFTEVURScsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgeyBib2R5ID0gdW5kZWZpbmVkLCBwYXJhbXMgPSB7fSwgaGVhZGVycyA9IHt9IH06IElBY3Rpb25QYXJhbXMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxSVD4ge1xuICAgIGlmIChtZXRob2QgPT09ICdHRVQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY2FjaGVkR2V0KGNvbGxlY3Rpb24sIHVybCwge1xuICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMoaGVhZGVycyksXG4gICAgICAgIHBhcmFtcyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gdGhpcy5faHR0cC5yZXF1ZXN0PFJUPihtZXRob2QsIHVybCwge1xuICAgICAgICBib2R5LFxuICAgICAgICBwYXJhbXMsXG4gICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyhoZWFkZXJzKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMYXVuY2ggYW4gYWN0aW9uIG9uIGNvbGxlY3Rpb24sIHJlY2VpdmluZyBhIGJsb2IuXG4gICAqXG4gICAqIEBwYXJhbSBjb2xsZWN0aW9uIENvbGxlY3Rpb24gcmVmZXJlbmNlXG4gICAqIEBwYXJhbSBtZXRob2QgSFRUUCBtZXRob2RcbiAgICogQHBhcmFtIHVybCBmdWxsIFVSTCBmb3IgYWN0aW9uXG4gICAqIEBwYXJhbSBib2R5IEpTT04gYm9keVxuICAgKiBAcGFyYW0gcGFyYW1zIHF1ZXJ5IHBhcmFtZXRlcnNcbiAgICogQHBhcmFtIGhlYWRlcnMgcXVlcnkgaGVhZGVyc1xuICAgKiBAcGFyYW0gcmVzcG9uc2VUeXBlIHJlc3BvbnNlIHR5cGVcbiAgICpcbiAgICogQHJldHVybiBhbiBvYnNlcnZhYmxlIG9mIHJlc3BvbnNlIGJvZHlcbiAgICovXG4gIHB1YmxpYyBibG9iPFQgZXh0ZW5kcyBEYXRhTW9kZWw+KFxuICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb248VD4sXG4gICAgbWV0aG9kOiAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnIHwgJ1BBVENIJyB8ICdERUxFVEUnLFxuICAgIHVybDogc3RyaW5nLFxuICAgIHsgYm9keSA9IHVuZGVmaW5lZCwgcGFyYW1zID0ge30sIGhlYWRlcnMgPSB7fSB9OiBJQWN0aW9uUGFyYW1zID0ge30sXG4gICk6IE9ic2VydmFibGU8QmxvYj4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gdGhpcy5faHR0cC5yZXF1ZXN0KG1ldGhvZCwgdXJsLCB7XG4gICAgICBib2R5LFxuICAgICAgcGFyYW1zLFxuICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzKGhlYWRlcnMpLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcHV0PFQgZXh0ZW5kcyBEYXRhTW9kZWw+KFxuICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb248VD4sXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgeyBib2R5ID0gdW5kZWZpbmVkLCBwYXJhbXMgPSB7fSwgaGVhZGVycyA9IHt9IH06IElBY3Rpb25QYXJhbXMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PFQ+KHVybCwgYm9keSwge1xuICAgICAgcGFyYW1zLFxuICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzKGhlYWRlcnMpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHBvc3Q8VCBleHRlbmRzIERhdGFNb2RlbD4oXG4gICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbjxUPixcbiAgICB1cmw6IHN0cmluZyxcbiAgICB7IGJvZHkgPSB1bmRlZmluZWQsIHBhcmFtcyA9IHt9LCBoZWFkZXJzID0ge30gfTogSUFjdGlvblBhcmFtcyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPFBhcnRpYWw8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PFBhcnRpYWw8VD4+KHVybCwgYm9keSwge1xuICAgICAgcGFyYW1zLFxuICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzKGhlYWRlcnMpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHBhdGNoPFQgZXh0ZW5kcyBEYXRhTW9kZWw+KFxuICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb248VD4sXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgeyBib2R5ID0gdW5kZWZpbmVkLCBwYXJhbXMgPSB7fSwgaGVhZGVycyA9IHt9IH06IElBY3Rpb25QYXJhbXMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxQYXJ0aWFsPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucGF0Y2g8UGFydGlhbDxUPj4odXJsLCBib2R5LCB7XG4gICAgICBwYXJhbXMsXG4gICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMoaGVhZGVycyksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlPFQgZXh0ZW5kcyBEYXRhTW9kZWwsIFI+KFxuICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb248VD4sXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgeyBwYXJhbXMgPSB7fSwgaGVhZGVycyA9IHt9IH06IElBY3Rpb25QYXJhbXMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZGVsZXRlPFI+KHVybCwge1xuICAgICAgcGFyYW1zLFxuICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzKGhlYWRlcnMpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIF9jYWNoZWRHZXQ8VCBleHRlbmRzIERhdGFNb2RlbCwgUlQ+KFxuICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb248VD4sXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgeyBwYXJhbXMgPSB7fSwgaGVhZGVycyA9IHt9IH06IElBY3Rpb25QYXJhbXMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxSVD4ge1xuICAgIGNvbnN0IGN1cl9oZWFkZXJzID0gdGhpcy5oZWFkZXJzKGhlYWRlcnMpO1xuXG4gICAgY29uc3Qga2V5ID0gbWFrZVN0YXRlS2V5PFJUPihcbiAgICAgIHVybCArICd8JyArIEpTT04uc3RyaW5naWZ5KHBhcmFtcykgKyAnfCcgKyBKU09OLnN0cmluZ2lmeShjdXJfaGVhZGVycyksXG4gICAgKTtcbiAgICBpZiAoXG4gICAgICBjb2xsZWN0aW9uLnVzZVRyYW5zZmVyU3RhdGUgJiZcbiAgICAgIHRoaXMuX21heFRyYW5zZmVyc3RhdGVUaW1lID4gMCAmJlxuICAgICAgdGhpcy5fdHJhbnNmZXJTdGF0ZS5oYXNLZXkoa2V5KSAmJlxuICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLl9jcmVhdGVkLmdldFRpbWUoKSA8XG4gICAgICAgIHRoaXMuX21heFRyYW5zZmVyc3RhdGVUaW1lXG4gICAgKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5fdHJhbnNmZXJTdGF0ZS5nZXQ8UlQgfCBudWxsPihrZXksIG51bGwpIGFzIFJUKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PFJUPih1cmwsIHsgaGVhZGVyczogY3VyX2hlYWRlcnMsIHBhcmFtcyB9KS5waXBlKFxuICAgICAgdGFwKChyZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNvbGxlY3Rpb24udXNlVHJhbnNmZXJTdGF0ZSAmJlxuICAgICAgICAgIGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5fcGxhdGZvcm0pICYmXG4gICAgICAgICAgdGhpcy5fbWF4VHJhbnNmZXJzdGF0ZVRpbWUgPiAwXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuX3RyYW5zZmVyU3RhdGUuc2V0PFJUPihrZXksIHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0PFQgZXh0ZW5kcyBEYXRhTW9kZWw+KFxuICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb248VD4sXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgeyBwYXJhbXMgPSB7fSwgaGVhZGVycyA9IHt9IH06IElBY3Rpb25QYXJhbXMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxQYXJ0aWFsPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlZEdldDxULCBQYXJ0aWFsPFQ+Pihjb2xsZWN0aW9uLCB1cmwsIHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyhoZWFkZXJzKSxcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBsaXN0PFQgZXh0ZW5kcyBEYXRhTW9kZWw+KFxuICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb248VD4sXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgeyBwYXJhbXMgPSB7fSwgaGVhZGVycyA9IHt9IH06IElBY3Rpb25QYXJhbXMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fY2FjaGVkR2V0PFQsIFBhcnRpYWw8VD4+KGNvbGxlY3Rpb24sIHVybCwge1xuICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzKGhlYWRlcnMpLFxuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBoZWFkZXJzIGZvciB0aGlzIGJhY2tlbmQuXG4gICAqIFByb3ZpZGVkIGhlYWRlcnMgYXJlIGNvcGllZCBhbmQgcmV0dXJuZWQuXG4gICAqIENhbiBiZSBvdmVycmlkZW4gYnkgc3ViY2xhc3NlcyBmb3Igc3BlY2lmaWMgaGVhZGVycyAoZS5nLiBhdXRoIHRva2VuKS5cbiAgICovXG4gIHByb3RlY3RlZCBoZWFkZXJzKGhlYWRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICB9IHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgaGVhZGVycyk7XG4gIH1cbn1cbiJdfQ==
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1iYWNrZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2RhdGEvZGF0YS1iYWNrZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsV0FBVyxHQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRCxPQUFPLEVBQUMsWUFBWSxFQUFFLDJCQUEyQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7OztBQUU1RTs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUNVLEtBQWlCLEVBQ2pCLGNBQTZCLEVBQ1IsU0FBYyxFQUNiLE9BQWUsRUFHckMsd0JBQWdDLENBQUM7UUFOakMsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNSLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBR3JDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBWTtRQVRuQyxhQUFRLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQVUzQixDQUFDO0lBRUo7O09BRUc7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0ksTUFBTSxDQUNYLFVBQXlCLEVBQ3pCLE1BQW1ELEVBQ25ELEdBQVcsRUFDWCxFQUFFLElBQUksR0FBRyxTQUFTLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxPQUFPLEdBQUcsRUFBRSxLQUFv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SUFBSSxDQUFDLFVBQVUsQ0FBZ0IsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUNyRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDOUIsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxJQUFJLENBQ1QsVUFBeUIsRUFDekIsR0FBVyxFQUNYLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxPQUFPLEdBQUcsRUFBRSxLQUFvQixFQUFFO1FBRWpELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBZ0IsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUNyRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDOUIsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sT0FBTyxDQUFDLE9BQWtDO1FBR2xELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0EvTFUsV0FBVyx5RUFNWixXQUFXLGFBQ1gsWUFBWSxhQUVaLDJCQUEyQjtrSEFUMUIsV0FBVyxjQUZWLE1BQU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixRQUFROzswQkFDUixNQUFNOzJCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBtYWtlU3RhdGVLZXksIE9wdGlvbmFsLCBQTEFURk9STV9JRCwgVHJhbnNmZXJTdGF0ZSx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpc1BsYXRmb3JtU2VydmVyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDb2xsZWN0aW9uLCBJQWN0aW9uUGFyYW1zfSBmcm9tICcuL2RhdGEtY29sbGVjdGlvbic7XG5pbXBvcnQge0RhdGFNb2RlbH0gZnJvbSAnLi9kYXRhLW1vZGVsJztcbmltcG9ydCB7REFUQV9BUElfVVJMLCBEQVRBX01BWF9UUkFOU0ZFUlNUQVRFX1RJTUV9IGZyb20gJy4vZGF0YS1wYXJhbWV0ZXJzJztcblxuLyoqXG4gKiBEYXRhQmFja2VuZCBwcm92aWRlcyBDUlVEIG9wZXJhdGlvbnMgdG8gYSBSRVNUIGFwaS5cbiAqIFRyYW5zZmVyU3RhdGUgY2FuIGJlIHVzZWQgaWYgREFUQV9NQVhfVFJBTlNGRVJTVEFURV9USU1FIGlzIHNldCBhbmQgPiAwXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhQmFja2VuZCB7XG4gIHByaXZhdGUgX2NyZWF0ZWQgPSBuZXcgRGF0ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBfdHJhbnNmZXJTdGF0ZTogVHJhbnNmZXJTdGF0ZSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIF9wbGF0Zm9ybTogYW55LFxuICAgIEBJbmplY3QoREFUQV9BUElfVVJMKSBwcml2YXRlIF9hcGlVcmw6IHN0cmluZyxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoREFUQV9NQVhfVFJBTlNGRVJTVEFURV9USU1FKVxuICAgIHByaXZhdGUgX21heFRyYW5zZmVyc3RhdGVUaW1lOiBudW1iZXIgPSAwLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhcGkgdXJsIGZvciB0aGlzIGJhY2tlbmQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFwaVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9hcGlVcmw7XG4gIH1cblxuICAvKipcbiAgICogTGF1bmNoIGFuIGFjdGlvbiBvbiBjb2xsZWN0aW9uLlxuICAgKiBJZiBtZXRob2QgaXMgR0VUIGFuZCBjb2xsZWN0aW9uLnVzZVRyYW5zZXJTdGF0ZSAmIHRyYW5zZmVyU3RhdGUgYXJlIGVuYWJsZWQsXG4gICAqIHJlc3VsdCBpcyBzdG9yZWQgLyByZXRyaWV2ZWQgZnJvbSB0cmFuc2ZlclN0YXRlLlxuICAgKlxuICAgKiBAcGFyYW0gY29sbGVjdGlvbiBDb2xsZWN0aW9uIHJlZmVyZW5jZVxuICAgKiBAcGFyYW0gbWV0aG9kIEhUVFAgbWV0aG9kXG4gICAqIEBwYXJhbSB1cmwgZnVsbCBVUkwgZm9yIGFjdGlvblxuICAgKiBAcGFyYW0gYm9keSBKU09OIGJvZHlcbiAgICogQHBhcmFtIHBhcmFtcyBxdWVyeSBwYXJhbWV0ZXJzXG4gICAqIEBwYXJhbSBoZWFkZXJzIHF1ZXJ5IGhlYWRlcnNcbiAgICogQHBhcmFtIHJlc3BvbnNlVHlwZSByZXNwb25zZSB0eXBlXG4gICAqXG4gICAqIEByZXR1cm4gYW4gb2JzZXJ2YWJsZSBvZiByZXNwb25zZSBib2R5XG4gICAqL1xuICBwdWJsaWMgYWN0aW9uPFQgZXh0ZW5kcyBEYXRhTW9kZWwsIFJUPihcbiAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPFQ+LFxuICAgIG1ldGhvZDogJ0dFVCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdQQVRDSCcgfCAnREVMRVRFJyxcbiAgICB1cmw6IHN0cmluZyxcbiAgICB7IGJvZHkgPSB1bmRlZmluZWQsIHBhcmFtcyA9IHt9LCBoZWFkZXJzID0ge30gfTogSUFjdGlvblBhcmFtcyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPFJUPiB7XG4gICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jYWNoZWRHZXQoY29sbGVjdGlvbiwgdXJsLCB7XG4gICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyhoZWFkZXJzKSxcbiAgICAgICAgcGFyYW1zLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiB0aGlzLl9odHRwLnJlcXVlc3Q8UlQ+KG1ldGhvZCwgdXJsLCB7XG4gICAgICAgIGJvZHksXG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzKGhlYWRlcnMpLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExhdW5jaCBhbiBhY3Rpb24gb24gY29sbGVjdGlvbiwgcmVjZWl2aW5nIGEgYmxvYi5cbiAgICpcbiAgICogQHBhcmFtIGNvbGxlY3Rpb24gQ29sbGVjdGlvbiByZWZlcmVuY2VcbiAgICogQHBhcmFtIG1ldGhvZCBIVFRQIG1ldGhvZFxuICAgKiBAcGFyYW0gdXJsIGZ1bGwgVVJMIGZvciBhY3Rpb25cbiAgICogQHBhcmFtIGJvZHkgSlNPTiBib2R5XG4gICAqIEBwYXJhbSBwYXJhbXMgcXVlcnkgcGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gaGVhZGVycyBxdWVyeSBoZWFkZXJzXG4gICAqIEBwYXJhbSByZXNwb25zZVR5cGUgcmVzcG9uc2UgdHlwZVxuICAgKlxuICAgKiBAcmV0dXJuIGFuIG9ic2VydmFibGUgb2YgcmVzcG9uc2UgYm9keVxuICAgKi9cbiAgcHVibGljIGJsb2I8VCBleHRlbmRzIERhdGFNb2RlbD4oXG4gICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbjxUPixcbiAgICBtZXRob2Q6ICdHRVQnIHwgJ1BPU1QnIHwgJ1BVVCcgfCAnUEFUQ0gnIHwgJ0RFTEVURScsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgeyBib2R5ID0gdW5kZWZpbmVkLCBwYXJhbXMgPSB7fSwgaGVhZGVycyA9IHt9IH06IElBY3Rpb25QYXJhbXMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiB0aGlzLl9odHRwLnJlcXVlc3QobWV0aG9kLCB1cmwsIHtcbiAgICAgIGJvZHksXG4gICAgICBwYXJhbXMsXG4gICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMoaGVhZGVycyksXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBwdXQ8VCBleHRlbmRzIERhdGFNb2RlbD4oXG4gICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbjxUPixcbiAgICB1cmw6IHN0cmluZyxcbiAgICB7IGJvZHkgPSB1bmRlZmluZWQsIHBhcmFtcyA9IHt9LCBoZWFkZXJzID0ge30gfTogSUFjdGlvblBhcmFtcyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8VD4odXJsLCBib2R5LCB7XG4gICAgICBwYXJhbXMsXG4gICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMoaGVhZGVycyksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcG9zdDxUIGV4dGVuZHMgRGF0YU1vZGVsPihcbiAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPFQ+LFxuICAgIHVybDogc3RyaW5nLFxuICAgIHsgYm9keSA9IHVuZGVmaW5lZCwgcGFyYW1zID0ge30sIGhlYWRlcnMgPSB7fSB9OiBJQWN0aW9uUGFyYW1zID0ge30sXG4gICk6IE9ic2VydmFibGU8UGFydGlhbDxUPj4ge1xuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8UGFydGlhbDxUPj4odXJsLCBib2R5LCB7XG4gICAgICBwYXJhbXMsXG4gICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMoaGVhZGVycyksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2g8VCBleHRlbmRzIERhdGFNb2RlbD4oXG4gICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbjxUPixcbiAgICB1cmw6IHN0cmluZyxcbiAgICB7IGJvZHkgPSB1bmRlZmluZWQsIHBhcmFtcyA9IHt9LCBoZWFkZXJzID0ge30gfTogSUFjdGlvblBhcmFtcyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPFBhcnRpYWw8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wYXRjaDxQYXJ0aWFsPFQ+Pih1cmwsIGJvZHksIHtcbiAgICAgIHBhcmFtcyxcbiAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyhoZWFkZXJzKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGU8VCBleHRlbmRzIERhdGFNb2RlbCwgUj4oXG4gICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbjxUPixcbiAgICB1cmw6IHN0cmluZyxcbiAgICB7IHBhcmFtcyA9IHt9LCBoZWFkZXJzID0ge30gfTogSUFjdGlvblBhcmFtcyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5kZWxldGU8Uj4odXJsLCB7XG4gICAgICBwYXJhbXMsXG4gICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMoaGVhZGVycyksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgX2NhY2hlZEdldDxUIGV4dGVuZHMgRGF0YU1vZGVsLCBSVD4oXG4gICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbjxUPixcbiAgICB1cmw6IHN0cmluZyxcbiAgICB7IHBhcmFtcyA9IHt9LCBoZWFkZXJzID0ge30gfTogSUFjdGlvblBhcmFtcyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPFJUPiB7XG4gICAgY29uc3QgY3VyX2hlYWRlcnMgPSB0aGlzLmhlYWRlcnMoaGVhZGVycyk7XG5cbiAgICBjb25zdCBrZXkgPSBtYWtlU3RhdGVLZXk8UlQ+KFxuICAgICAgdXJsICsgJ3wnICsgSlNPTi5zdHJpbmdpZnkocGFyYW1zKSArICd8JyArIEpTT04uc3RyaW5naWZ5KGN1cl9oZWFkZXJzKSxcbiAgICApO1xuICAgIGlmIChcbiAgICAgIGNvbGxlY3Rpb24udXNlVHJhbnNmZXJTdGF0ZSAmJlxuICAgICAgdGhpcy5fbWF4VHJhbnNmZXJzdGF0ZVRpbWUgPiAwICYmXG4gICAgICB0aGlzLl90cmFuc2ZlclN0YXRlLmhhc0tleShrZXkpICYmXG4gICAgICBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHRoaXMuX2NyZWF0ZWQuZ2V0VGltZSgpIDxcbiAgICAgICAgdGhpcy5fbWF4VHJhbnNmZXJzdGF0ZVRpbWVcbiAgICApIHtcbiAgICAgIHJldHVybiBvZih0aGlzLl90cmFuc2ZlclN0YXRlLmdldDxSVCB8IG51bGw+KGtleSwgbnVsbCkgYXMgUlQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8UlQ+KHVybCwgeyBoZWFkZXJzOiBjdXJfaGVhZGVycywgcGFyYW1zIH0pLnBpcGUoXG4gICAgICB0YXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgY29sbGVjdGlvbi51c2VUcmFuc2ZlclN0YXRlICYmXG4gICAgICAgICAgaXNQbGF0Zm9ybVNlcnZlcih0aGlzLl9wbGF0Zm9ybSkgJiZcbiAgICAgICAgICB0aGlzLl9tYXhUcmFuc2ZlcnN0YXRlVGltZSA+IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5fdHJhbnNmZXJTdGF0ZS5zZXQ8UlQ+KGtleSwgcmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQ8VCBleHRlbmRzIERhdGFNb2RlbD4oXG4gICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbjxUPixcbiAgICB1cmw6IHN0cmluZyxcbiAgICB7IHBhcmFtcyA9IHt9LCBoZWFkZXJzID0ge30gfTogSUFjdGlvblBhcmFtcyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPFBhcnRpYWw8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5fY2FjaGVkR2V0PFQsIFBhcnRpYWw8VD4+KGNvbGxlY3Rpb24sIHVybCwge1xuICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzKGhlYWRlcnMpLFxuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGxpc3Q8VCBleHRlbmRzIERhdGFNb2RlbD4oXG4gICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbjxUPixcbiAgICB1cmw6IHN0cmluZyxcbiAgICB7IHBhcmFtcyA9IHt9LCBoZWFkZXJzID0ge30gfTogSUFjdGlvblBhcmFtcyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jYWNoZWRHZXQ8VCwgUGFydGlhbDxUPj4oY29sbGVjdGlvbiwgdXJsLCB7XG4gICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMoaGVhZGVycyksXG4gICAgICBwYXJhbXMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGhlYWRlcnMgZm9yIHRoaXMgYmFja2VuZC5cbiAgICogUHJvdmlkZWQgaGVhZGVycyBhcmUgY29waWVkIGFuZCByZXR1cm5lZC5cbiAgICogQ2FuIGJlIG92ZXJyaWRlbiBieSBzdWJjbGFzc2VzIGZvciBzcGVjaWZpYyBoZWFkZXJzIChlLmcuIGF1dGggdG9rZW4pLlxuICAgKi9cbiAgcHJvdGVjdGVkIGhlYWRlcnMoaGVhZGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gIH0ge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBoZWFkZXJzKTtcbiAgfVxufVxuIl19
|
|
@@ -115,7 +115,9 @@ export class DatetimeFieldManager extends DateFieldManager {
|
|
|
115
115
|
}
|
|
116
116
|
try {
|
|
117
117
|
if (this.timezone === null || this.timezone === undefined) {
|
|
118
|
-
|
|
118
|
+
const offset = data.getTimezoneOffset();
|
|
119
|
+
const localDate = new Date(data.getTime() - offset * 60000);
|
|
120
|
+
return localDate.toISOString().replace('Z', '');
|
|
119
121
|
}
|
|
120
122
|
else if (this.timezone === 'UTC') {
|
|
121
123
|
return data.toISOString();
|
|
@@ -134,16 +136,21 @@ export class DatetimeFieldManager extends DateFieldManager {
|
|
|
134
136
|
return null;
|
|
135
137
|
}
|
|
136
138
|
let date;
|
|
137
|
-
// If data is a string, we try to parse it as a date, adding Z to make it UTC
|
|
138
139
|
if (typeof data === 'string') {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
// If we don't have timezone info, we parse all dates as local
|
|
141
|
+
if (this.timezone === null || this.timezone === undefined) {
|
|
142
|
+
if (data.endsWith('Z')) {
|
|
143
|
+
date = new Date(data.replace('Z', ''));
|
|
144
|
+
}
|
|
145
|
+
else if (data.match(/[-+]\d{4}$/)) {
|
|
146
|
+
date = new Date(data.replace(/[-+]\d{4}$/, ''));
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
date = new Date(data);
|
|
150
|
+
}
|
|
144
151
|
}
|
|
145
152
|
else {
|
|
146
|
-
date = new Date(data
|
|
153
|
+
date = new Date(data);
|
|
147
154
|
}
|
|
148
155
|
}
|
|
149
156
|
else {
|
|
@@ -157,4 +164,4 @@ export class DatetimeFieldManager extends DateFieldManager {
|
|
|
157
164
|
}
|
|
158
165
|
export const dateField = (updates = {}) => genericDataField(updates, 'dateField', DateFieldManager);
|
|
159
166
|
export const datetimeField = (updates = {}) => genericDataField(updates, 'datetimeField', DatetimeFieldManager);
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvZGF0YS9maWVsZHMvZGF0ZXRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFrQixNQUFNLFFBQVEsQ0FBQztBQWM1RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFVLEVBQWUsRUFBRTtJQUNyRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUMzRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQztRQUU1QixPQUFPLFdBQVcsR0FBRyxjQUFjO1lBQ2pDLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDO2dCQUNFLE9BQU8sRUFBRTtvQkFDUCxjQUFjLEVBQUUsY0FBYztvQkFDOUIsTUFBTSxFQUFFLFdBQVc7aUJBQ3BCO2FBQ0YsQ0FBQztJQUNSLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQVUsRUFBZSxFQUFFO0lBQ3JELE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTVCLE9BQU8sV0FBVyxHQUFHLGNB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QWdCLENBQUMsQ0FBQztBQUUzRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUFrQyxFQUFFLEVBQUUsRUFBRSxDQUNwRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRmllbGRNYW5hZ2VyLCBnZW5lcmljRGF0YUZpZWxkLCBJRmllbGRNZXRhZGF0YSB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQge1xuICBESVNQRURJVF9ESVNQTEFZX1RZUEVTLFxuICBESVNQRURJVF9FRElUT1JfVFlQRVMsXG59IGZyb20gJy4uLy4uL2Rpc3BlZGl0L2Rpc3BlZGl0L2Rpc3BlZGl0LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRlRmllbGRNZXRhZGF0YSBleHRlbmRzIElGaWVsZE1ldGFkYXRhPERhdGUgfCBudWxsPiB7XG4gIGF1dG9Ob3c/OiBib29sZWFuO1xuICBhdXRvTm93QWRkPzogYm9vbGVhbjtcbiAgbWluPzogRGF0ZTtcbiAgbWF4PzogRGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGVNaW5pbXVtID0gKGRhdGU6IERhdGUpOiBWYWxpZGF0b3JGbiA9PiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGlmIChjb250cm9sLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRyb2xEYXRlID0gbmV3IERhdGUoY29udHJvbC52YWx1ZSk7XG5cbiAgICBjb25zdCB2YWxpZGF0aW9uRGF0ZSA9IGRhdGU7XG5cbiAgICByZXR1cm4gY29udHJvbERhdGUgPiB2YWxpZGF0aW9uRGF0ZVxuICAgICAgPyBudWxsXG4gICAgICA6IHtcbiAgICAgICAgICBtaW5EYXRlOiB7XG4gICAgICAgICAgICAnZGF0ZS1taW5pbXVtJzogdmFsaWRhdGlvbkRhdGUsXG4gICAgICAgICAgICBhY3R1YWw6IGNvbnRyb2xEYXRlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGF0ZU1heGltdW0gPSAoZGF0ZTogRGF0ZSk6IFZhbGlkYXRvckZuID0+IHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGNvbnRyb2xEYXRlID0gbmV3IERhdGUoY29udHJvbC52YWx1ZSk7XG4gICAgY29uc3QgdmFsaWRhdGlvbkRhdGUgPSBkYXRlO1xuXG4gICAgcmV0dXJuIGNvbnRyb2xEYXRlIDwgdmFsaWRhdGlvbkRhdGVcbiAgICAgID8gbnVsbFxuICAgICAgOiB7XG4gICAgICAgICAgbWF4RGF0ZToge1xuICAgICAgICAgICAgJ2RhdGUtbWF4aW11bSc6IHZhbGlkYXRpb25EYXRlLFxuICAgICAgICAgICAgYWN0dWFsOiBjb250cm9sRGF0ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0ZXRpbWVGaWVsZE1ldGFkYXRhIGV4dGVuZHMgSURhdGVGaWVsZE1ldGFkYXRhIHtcbiAgdGltZXpvbmU/OiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkTWFuYWdlclxuICBleHRlbmRzIEJhc2VGaWVsZE1hbmFnZXI8RGF0ZSB8IG51bGw+XG4gIGltcGxlbWVudHMgSURhdGVGaWVsZE1ldGFkYXRhXG57XG4gIHB1YmxpYyBhdXRvTm93ID0gZmFsc2U7XG4gIHB1YmxpYyBhdXRvTm93QWRkID0gZmFsc2U7XG4gIHB1YmxpYyBtaW4/OiBEYXRlO1xuICBwdWJsaWMgbWF4PzogRGF0ZTtcbiAgcHVibGljIG92ZXJyaWRlIGVkaXRvclR5cGU6IERJU1BFRElUX0VESVRPUl9UWVBFUyA9ICdpbnB1dC5kYXRlJztcbiAgcHVibGljIG92ZXJyaWRlIGRpc3BsYXlUeXBlOiBESVNQRURJVF9ESVNQTEFZX1RZUEVTID0gJ2RhdGUnO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtczogSURhdGVGaWVsZE1ldGFkYXRhKSB7XG4gICAgc3VwZXIocGFyYW1zIGFzIElGaWVsZE1ldGFkYXRhPERhdGUgfCBudWxsPik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdiA9IHN1cGVyLnZhbGlkYXRvcnM7XG4gICAgaWYgKHRoaXMubWluKSB7XG4gICAgICB2LnB1c2goZGF0ZU1pbmltdW0odGhpcy5taW4pKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWF4KSB7XG4gICAgICB2LnB1c2goZGF0ZU1heGltdW0odGhpcy5tYXgpKTtcbiAgICB9XG4gICAgcmV0dXJuIHY7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZnJvbUpzb24oZGF0YTogYW55KTogRGF0ZSB8IG51bGwge1xuICAgIGlmIChkYXRhID09PSBudWxsIHx8IGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShkYXRhKTtcbiAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGRhdGUgYXMgYW55KSkge1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvSnNvbihkYXRhOiBEYXRlIHwgc3RyaW5nIHwgbnVsbCk6IG51bGwgfCBzdHJpbmcge1xuICAgIGlmIChkYXRhID09PSBudWxsIHx8IGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGQgPSB0aGlzLmZyb21Kc29uKGRhdGEpO1xuICAgICAgaWYgKGQgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBkYXRhID0gZDtcbiAgICB9XG4gICAgcmV0dXJuIGAke2RhdGEuZ2V0VVRDRnVsbFllYXIoKX0tJHtcbiAgICAgIGRhdGEuZ2V0VVRDTW9udGgoKSArIDFcbiAgICB9LSR7ZGF0YS5nZXRVVENEYXRlKCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGRlZmF1bHQgdmFsdWUgZm9yIG1vZGVsLCB1c2luZyBhcmdzIGlmIG5lZWRlZC5cbiAgICogQHBhcmFtIGFyZ3NcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldERlZmF1bHRWYWx1ZShhcmdzOiBhbnkgPSB7fSk6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlKGFyZ3MpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiB0aGlzLmRlZmF1bHRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBGaWVsZCAke3RoaXMubmFtZX0gOiBubyBkZWZhdWx0IHZhbHVlIGZvciByZXF1aXJlZCBmaWVsZGAsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRoaXMuYXV0b05vdyB8fCB0aGlzLmF1dG9Ob3dBZGQgPyBuZXcgRGF0ZSgpIDogbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogRGF0ZXRpbWUgZmllbGQgbWFuYWdlci5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRldGltZUZpZWxkTWFuYWdlclxuICBleHRlbmRzIERhdGVGaWVsZE1hbmFnZXJcbiAgaW1wbGVtZW50cyBJRGF0ZXRpbWVGaWVsZE1ldGFkYXRhXG57XG4gIHB1YmxpYyB0aW1lem9uZT86IHN0cmluZyB8IG51bGw7XG4gIHB1YmxpYyBvdmVycmlkZSBlZGl0b3JUeXBlOiBESVNQRURJVF9FRElUT1JfVFlQRVMgPSAnaW5wdXQuZGF0ZXRpbWUnO1xuICBwdWJsaWMgb3ZlcnJpZGUgZGlzcGxheVR5cGU6IERJU1BFRElUX0RJU1BMQVlfVFlQRVMgPSAnZGF0ZXRpbWUnO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtczogSURhdGV0aW1lRmllbGRNZXRhZGF0YSkge1xuICAgIHN1cGVyKHBhcmFtcyBhcyBJRmllbGRNZXRhZGF0YTxEYXRlIHwgbnVsbD4pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvSnNvbihkYXRhOiBEYXRlIHwgc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgZCA9IHRoaXMuZnJvbUpzb24oZGF0YSk7XG4gICAgICBpZiAoZCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGRhdGEgPSBkO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMudGltZXpvbmUgPT09IG51bGwgfHwgdGhpcy50aW1lem9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBkYXRhLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgnWicsICcnKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50aW1lem9uZSA9PT0gJ1VUQycpIHtcbiAgICAgICAgcmV0dXJuIGRhdGEudG9JU09TdHJpbmcoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkYXRhLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgnWicsICcnKSArIHRoaXMudGltZXpvbmU7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlLCBkYXRhKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBmcm9tSnNvbihkYXRhOiBhbnkpOiBEYXRlIHwgbnVsbCB7XG4gICAgaWYgKGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgbGV0IGRhdGU6IERhdGU7XG4gICAgLy8gSWYgZGF0YSBpcyBhIHN0cmluZywgd2UgdHJ5IHRvIHBhcnNlIGl0IGFzIGEgZGF0ZSwgYWRkaW5nIFogdG8gbWFrZSBpdCBVVENcbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoZGF0YS5lbmRzV2l0aCgnWicpKSB7XG4gICAgICAgIGRhdGUgPSBuZXcgRGF0ZShkYXRhKTtcbiAgICAgIH0gZWxzZSBpZiAoZGF0YS5tYXRjaCgvWy0rXVxcZHs0fSQvKSkge1xuICAgICAgICBkYXRlID0gbmV3IERhdGUoZGF0YSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRlID0gbmV3IERhdGUoZGF0YSArICdaJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGRhdGUgPSBuZXcgRGF0ZShkYXRhKTtcbiAgICB9XG5cbiAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGRhdGUgYXMgYW55KSkge1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBkYXRlRmllbGQgPSAodXBkYXRlczogSURhdGVGaWVsZE1ldGFkYXRhID0ge30pID0+XG4gIGdlbmVyaWNEYXRhRmllbGQodXBkYXRlcywgJ2RhdGVGaWVsZCcsIERhdGVGaWVsZE1hbmFnZXIpO1xuXG5leHBvcnQgY29uc3QgZGF0ZXRpbWVGaWVsZCA9ICh1cGRhdGVzOiBJRGF0ZXRpbWVGaWVsZE1ldGFkYXRhID0ge30pID0+XG4gIGdlbmVyaWNEYXRhRmllbGQodXBkYXRlcywgJ2RhdGV0aW1lRmllbGQnLCBEYXRldGltZUZpZWxkTWFuYWdlcik7XG4iXX0=
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvZGF0YS9maWVsZHMvZGF0ZXRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFrQixNQUFNLFFBQVEsQ0FBQztBQWM1RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFVLEVBQWUsRUFBRTtJQUNyRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUMzRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQztRQUU1QixPQUFPLFdBQVcsR0FBRyxjQUFjO1lBQ2pDLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDO2dCQUNFLE9BQU8sRUFBRTtvQkFDUCxjQUFjLEVBQUUsY0FBYztvQkFDOUIsTUFBTSxFQUFFLFdBQVc7aUJBQ3BCO2FBQ0YsQ0FBQztJQUNSLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQVUsRUFBZSxFQUFFO0lBQ3JELE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTVCLE9BQU8sV0FBVyxHQUFHLGNB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QUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLElBQUksWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBVyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLFVBQThCLEVBQUUsRUFBRSxFQUFFLENBQzVELGdCQUFnQixDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUUzRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUFrQyxFQUFFLEVBQUUsRUFBRSxDQUNwRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRmllbGRNYW5hZ2VyLCBnZW5lcmljRGF0YUZpZWxkLCBJRmllbGRNZXRhZGF0YSB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQge1xuICBESVNQRURJVF9ESVNQTEFZX1RZUEVTLFxuICBESVNQRURJVF9FRElUT1JfVFlQRVMsXG59IGZyb20gJy4uLy4uL2Rpc3BlZGl0L2Rpc3BlZGl0L2Rpc3BlZGl0LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRlRmllbGRNZXRhZGF0YSBleHRlbmRzIElGaWVsZE1ldGFkYXRhPERhdGUgfCBudWxsPiB7XG4gIGF1dG9Ob3c/OiBib29sZWFuO1xuICBhdXRvTm93QWRkPzogYm9vbGVhbjtcbiAgbWluPzogRGF0ZTtcbiAgbWF4PzogRGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGVNaW5pbXVtID0gKGRhdGU6IERhdGUpOiBWYWxpZGF0b3JGbiA9PiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGlmIChjb250cm9sLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRyb2xEYXRlID0gbmV3IERhdGUoY29udHJvbC52YWx1ZSk7XG5cbiAgICBjb25zdCB2YWxpZGF0aW9uRGF0ZSA9IGRhdGU7XG5cbiAgICByZXR1cm4gY29udHJvbERhdGUgPiB2YWxpZGF0aW9uRGF0ZVxuICAgICAgPyBudWxsXG4gICAgICA6IHtcbiAgICAgICAgICBtaW5EYXRlOiB7XG4gICAgICAgICAgICAnZGF0ZS1taW5pbXVtJzogdmFsaWRhdGlvbkRhdGUsXG4gICAgICAgICAgICBhY3R1YWw6IGNvbnRyb2xEYXRlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGF0ZU1heGltdW0gPSAoZGF0ZTogRGF0ZSk6IFZhbGlkYXRvckZuID0+IHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGNvbnRyb2xEYXRlID0gbmV3IERhdGUoY29udHJvbC52YWx1ZSk7XG4gICAgY29uc3QgdmFsaWRhdGlvbkRhdGUgPSBkYXRlO1xuXG4gICAgcmV0dXJuIGNvbnRyb2xEYXRlIDwgdmFsaWRhdGlvbkRhdGVcbiAgICAgID8gbnVsbFxuICAgICAgOiB7XG4gICAgICAgICAgbWF4RGF0ZToge1xuICAgICAgICAgICAgJ2RhdGUtbWF4aW11bSc6IHZhbGlkYXRpb25EYXRlLFxuICAgICAgICAgICAgYWN0dWFsOiBjb250cm9sRGF0ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0ZXRpbWVGaWVsZE1ldGFkYXRhIGV4dGVuZHMgSURhdGVGaWVsZE1ldGFkYXRhIHtcbiAgdGltZXpvbmU/OiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkTWFuYWdlclxuICBleHRlbmRzIEJhc2VGaWVsZE1hbmFnZXI8RGF0ZSB8IG51bGw+XG4gIGltcGxlbWVudHMgSURhdGVGaWVsZE1ldGFkYXRhXG57XG4gIHB1YmxpYyBhdXRvTm93ID0gZmFsc2U7XG4gIHB1YmxpYyBhdXRvTm93QWRkID0gZmFsc2U7XG4gIHB1YmxpYyBtaW4/OiBEYXRlO1xuICBwdWJsaWMgbWF4PzogRGF0ZTtcbiAgcHVibGljIG92ZXJyaWRlIGVkaXRvclR5cGU6IERJU1BFRElUX0VESVRPUl9UWVBFUyA9ICdpbnB1dC5kYXRlJztcbiAgcHVibGljIG92ZXJyaWRlIGRpc3BsYXlUeXBlOiBESVNQRURJVF9ESVNQTEFZX1RZUEVTID0gJ2RhdGUnO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtczogSURhdGVGaWVsZE1ldGFkYXRhKSB7XG4gICAgc3VwZXIocGFyYW1zIGFzIElGaWVsZE1ldGFkYXRhPERhdGUgfCBudWxsPik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdiA9IHN1cGVyLnZhbGlkYXRvcnM7XG4gICAgaWYgKHRoaXMubWluKSB7XG4gICAgICB2LnB1c2goZGF0ZU1pbmltdW0odGhpcy5taW4pKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWF4KSB7XG4gICAgICB2LnB1c2goZGF0ZU1heGltdW0odGhpcy5tYXgpKTtcbiAgICB9XG4gICAgcmV0dXJuIHY7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZnJvbUpzb24oZGF0YTogYW55KTogRGF0ZSB8IG51bGwge1xuICAgIGlmIChkYXRhID09PSBudWxsIHx8IGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShkYXRhKTtcbiAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGRhdGUgYXMgYW55KSkge1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvSnNvbihkYXRhOiBEYXRlIHwgc3RyaW5nIHwgbnVsbCk6IG51bGwgfCBzdHJpbmcge1xuICAgIGlmIChkYXRhID09PSBudWxsIHx8IGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGQgPSB0aGlzLmZyb21Kc29uKGRhdGEpO1xuICAgICAgaWYgKGQgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBkYXRhID0gZDtcbiAgICB9XG4gICAgcmV0dXJuIGAke2RhdGEuZ2V0VVRDRnVsbFllYXIoKX0tJHtcbiAgICAgIGRhdGEuZ2V0VVRDTW9udGgoKSArIDFcbiAgICB9LSR7ZGF0YS5nZXRVVENEYXRlKCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGRlZmF1bHQgdmFsdWUgZm9yIG1vZGVsLCB1c2luZyBhcmdzIGlmIG5lZWRlZC5cbiAgICogQHBhcmFtIGFyZ3NcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldERlZmF1bHRWYWx1ZShhcmdzOiBhbnkgPSB7fSk6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlKGFyZ3MpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiB0aGlzLmRlZmF1bHRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBGaWVsZCAke3RoaXMubmFtZX0gOiBubyBkZWZhdWx0IHZhbHVlIGZvciByZXF1aXJlZCBmaWVsZGAsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRoaXMuYXV0b05vdyB8fCB0aGlzLmF1dG9Ob3dBZGQgPyBuZXcgRGF0ZSgpIDogbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogRGF0ZXRpbWUgZmllbGQgbWFuYWdlci5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRldGltZUZpZWxkTWFuYWdlclxuICBleHRlbmRzIERhdGVGaWVsZE1hbmFnZXJcbiAgaW1wbGVtZW50cyBJRGF0ZXRpbWVGaWVsZE1ldGFkYXRhXG57XG4gIHB1YmxpYyB0aW1lem9uZT86IHN0cmluZyB8IG51bGw7XG4gIHB1YmxpYyBvdmVycmlkZSBlZGl0b3JUeXBlOiBESVNQRURJVF9FRElUT1JfVFlQRVMgPSAnaW5wdXQuZGF0ZXRpbWUnO1xuICBwdWJsaWMgb3ZlcnJpZGUgZGlzcGxheVR5cGU6IERJU1BFRElUX0RJU1BMQVlfVFlQRVMgPSAnZGF0ZXRpbWUnO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtczogSURhdGV0aW1lRmllbGRNZXRhZGF0YSkge1xuICAgIHN1cGVyKHBhcmFtcyBhcyBJRmllbGRNZXRhZGF0YTxEYXRlIHwgbnVsbD4pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvSnNvbihkYXRhOiBEYXRlIHwgc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgZCA9IHRoaXMuZnJvbUpzb24oZGF0YSk7XG4gICAgICBpZiAoZCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGRhdGEgPSBkO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMudGltZXpvbmUgPT09IG51bGwgfHwgdGhpcy50aW1lem9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IGRhdGEuZ2V0VGltZXpvbmVPZmZzZXQoKTtcbiAgICAgICAgY29uc3QgbG9jYWxEYXRlID0gbmV3IERhdGUoZGF0YS5nZXRUaW1lKCkgLSBvZmZzZXQgKiA2MDAwMCk7XG4gICAgICAgIHJldHVybiBsb2NhbERhdGUudG9JU09TdHJpbmcoKS5yZXBsYWNlKCdaJywgJycpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRpbWV6b25lID09PSAnVVRDJykge1xuICAgICAgICByZXR1cm4gZGF0YS50b0lTT1N0cmluZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGRhdGEudG9JU09TdHJpbmcoKS5yZXBsYWNlKCdaJywgJycpICsgdGhpcy50aW1lem9uZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUsIGRhdGEpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZyb21Kc29uKGRhdGE6IGFueSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoZGF0YSA9PT0gbnVsbCB8fCBkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBsZXQgZGF0ZTogRGF0ZTtcbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIHRpbWV6b25lIGluZm8sIHdlIHBhcnNlIGFsbCBkYXRlcyBhcyBsb2NhbFxuICAgICAgaWYgKHRoaXMudGltZXpvbmUgPT09IG51bGwgfHwgdGhpcy50aW1lem9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChkYXRhLmVuZHNXaXRoKCdaJykpIHtcbiAgICAgICAgICBkYXRlID0gbmV3IERhdGUoZGF0YS5yZXBsYWNlKCdaJywgJycpKTtcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhLm1hdGNoKC9bLStdXFxkezR9JC8pKSB7XG4gICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGEucmVwbGFjZSgvWy0rXVxcZHs0fSQvLCAnJykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRhdGUgPSBuZXcgRGF0ZShkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGEpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBkYXRlID0gbmV3IERhdGUoZGF0YSk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTihkYXRlIGFzIGFueSkpIHtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZGF0ZUZpZWxkID0gKHVwZGF0ZXM6IElEYXRlRmllbGRNZXRhZGF0YSA9IHt9KSA9PlxuICBnZW5lcmljRGF0YUZpZWxkKHVwZGF0ZXMsICdkYXRlRmllbGQnLCBEYXRlRmllbGRNYW5hZ2VyKTtcblxuZXhwb3J0IGNvbnN0IGRhdGV0aW1lRmllbGQgPSAodXBkYXRlczogSURhdGV0aW1lRmllbGRNZXRhZGF0YSA9IHt9KSA9PlxuICBnZW5lcmljRGF0YUZpZWxkKHVwZGF0ZXMsICdkYXRldGltZUZpZWxkJywgRGF0ZXRpbWVGaWVsZE1hbmFnZXIpO1xuIl19
|
|
@@ -26,10 +26,10 @@ export class ChoicePipe {
|
|
|
26
26
|
}
|
|
27
27
|
return `[${fvalue}] ??`;
|
|
28
28
|
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
30
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ChoicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
30
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: ChoicePipe, isStandalone: true, name: "choice" }); }
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ChoicePipe, decorators: [{
|
|
33
33
|
type: Pipe,
|
|
34
34
|
args: [{
|
|
35
35
|
name: 'choice',
|
|
@@ -66,10 +66,10 @@ export class PChoicePipe {
|
|
|
66
66
|
}
|
|
67
67
|
return `[${fvalue}] ??`;
|
|
68
68
|
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
70
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PChoicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
70
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: PChoicePipe, isStandalone: true, name: "pchoice" }); }
|
|
71
71
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PChoicePipe, decorators: [{
|
|
73
73
|
type: Pipe,
|
|
74
74
|
args: [{
|
|
75
75
|
name: 'pchoice',
|
|
@@ -421,10 +421,10 @@ export class DispeditComponent {
|
|
|
421
421
|
}
|
|
422
422
|
}
|
|
423
423
|
_setDisplayClasses() { }
|
|
424
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
425
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: DispeditComponent, isStandalone: true, selector: "data-dispedit", inputs: { model: "model", field: "field", form: "form", edit: "edit", editable: "editable", mode: "mode", choices: "choices", inputClasses: "inputClasses", editor: "editor", viewer: "viewer", default: "default", placeholder: "placeholder", help: "help", hideLabel: "hideLabel", queryset: "queryset", collection: "collection", display: "display", filter: "filter" }, outputs: { changed: "changed" }, usesOnChanges: true, ngImport: i0, template: "\n<ng-template #titleTpl>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #dispTpl>\n <ng-container [ngSwitch]=\"realDisplay\"><span class=\"editable disp-text\" *ngSwitchCase=\"'text'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-choice\" *ngSwitchCase=\"'choice'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-decimal\" *ngSwitchCase=\"'decimal'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-boolean\" *ngSwitchCase=\"'boolean'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-fkdetails\" *ngSwitchCase=\"'fkdetails'\" (click)=\"enableEditMode()\">\n <div class=\"fkitem\">{{txtValue}}</div></span><span class=\"editable disp-m2mdetails\" *ngSwitchCase=\"'m2mdetails'\" (click)=\"enableEditMode()\">\n <div class=\"m2mitem\" *ngFor=\"let v of txtValues\">{{v}}</div></span><span class=\"editable disp-datetime\" *ngSwitchCase=\"'datetime'\" (click)=\"enableEditMode()\">\n <ng-container *ngIf=\"dispValue\">{{txtValue|date:'short'}}</ng-container>\n <ng-container *ngIf=\"!dispValue\">{{txtValue}}</ng-container></span><span class=\"editable disp-datetime\" *ngSwitchCase=\"'date'\" (click)=\"enableEditMode()\">\n <ng-container *ngIf=\"dispValue\">{{txtValue|date:'shortDate'}}</ng-container>\n <ng-container *ngIf=\"!dispValue\">{{txtValue}}</ng-container></span></ng-container>\n</ng-template>\n<ng-template #editTpl let-form=\"form\">\n <ng-container [ngSwitch]=\"realEditor\">\n <ng-container *ngSwitchCase=\"'input.text'\">\n <input type=\"text\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.email'\">\n <input type=\"email\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['email']\">Format d'email invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.password'\">\n <input type=\"password\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.datetime'\">\n <input type=\"datetime-local\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" (keyup.enter)=\"update()\">\n <div class=\"form-text\">{{realHelp}}</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minDate']\">Doit \u00EAtre post\u00E9rieur \u00E0 {{$any(manager).min|date:'short'}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxDate']\">Doit \u00EAtre ant\u00E9rieur \u00E0 {{$any(manager).max|date:'short'}}...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.date'\">\n <input type=\"date\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" (keyup.enter)=\"update()\">\n <div class=\"form-text\">{{realHelp}}</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minDate']\">Doit \u00EAtre post\u00E9rieur \u00E0 {{$any(manager).min|date:'short'}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxDate']\">Doit \u00EAtre ant\u00E9rieur \u00E0 {{$any(manager).max|date:'short'}}...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.number'\">\n <input type=\"number\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['min']\">Trop petit : minimum {{$any(manager).min}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['max']\">Trop grand : maximum {{$any(manager).max}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.decimal'\">\n <input type=\"number\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['min']\">Trop petit : minimum {{$any(manager).min}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['max']\">Trop grand : maximum {{$any(manager).max}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.checkbox'\">\n <input class=\"form-check-input\" type=\"checkbox\" [formControl]=\"form.get(field)\" (keyup.escape)=\"unsetEdit()\" (change)=\"update()\">\n <div class=\"form-text\">{{realHelp}}</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'textarea'\">\n <textarea [formControl]=\"form.get(field)\" (keyup.escape)=\"unsetEdit()\" [ngClass]=\"inputClasses\" (keyup.control.enter)=\"update()\" [placeholder]=\"realPlaceholder\"></textarea>\n <button class=\"btn btn-sm btn-link w-100 dispedit-text-update-button\" (click)=\"update()\" *ngIf=\"mode==='dd'\"><i class=\"bi bi-save\"></i></button>\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'fkselect'\">\n <data-fkselect [collection]=\"collection\" [filter]=\"filter\" [display]=\"display\" (selected)=\"selectedRefItem($event)\" [placeholder]=\"placeholder\" (cancelled)=\"unsetEdit()\" (cleared)=\"selectedRefItem(null)\"></data-fkselect>\n </ng-container>\n <ng-container *ngSwitchCase=\"'m2mselect'\">\n <data-m2mselect [collection]=\"collection\" [filter]=\"filter\" (changed)=\"update()\" [formControl]=\"form.get(field)\" (detailsChanged)=\"onM2MValuesChanges($event)\" [model]=\"model\" [field]=\"field\" [placeholder]=\"placeholder\"></data-m2mselect>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <select [formControl]=\"form.get(field)\" (keyup.escape)=\"unsetEdit()\" (change)=\"update()\" [ngClass]=\"inputClasses\">\n <option *ngFor=\"let c of realChoices\" [ngValue]=\"c.value!==undefined ? c.value : c\">{{c.desc ? c.desc : c}}</option>\n </select>\n <div class=\"form-text\">{{realHelp}}</div>\n </ng-container>\n </ng-container>\n</ng-template>\n<!-- Disp/edit toggler-->\n<ng-template #dispeditTpl>\n <ng-container *ngIf=\"!edit\">\n <ng-container *ngTemplateOutlet=\"dispTpl\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"edit\">\n <ng-container *ngIf=\"fg\">\n <form [formGroup]=\"fg\" (submit)=\"update()\">\n <ng-container *ngTemplateOutlet=\"editTpl; context: {form: fg}\"></ng-container>\n </form>\n </ng-container>\n </ng-container>\n</ng-template>\n<!-- DispEdit noform-->\n<ng-template #dispeditFormTpl>\n <ng-container *ngIf=\"!edit\">\n <ng-container *ngTemplateOutlet=\"dispTpl\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"edit\">\n <ng-container *ngIf=\"form\">\n <ng-container *ngTemplateOutlet=\"editTpl; context: {form: form}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n<!-- Dd display-->\n<ng-container *ngIf=\"mode==='dd'\">\n <dt [class.required]=\"required\" *ngIf=\"!hideLabel\"><span class=\"editable\" (click)=\"toggleEdit()\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container></span><span class=\"pointer float-end\" (click)=\"setDefault()\" *ngIf=\"realDefault!== undefined && edit\"><i class=\"bi bi-trash ms-2\"></i></span></dt>\n <dd [class.mb-0]=\"hideLabel\">\n <ng-container *ngTemplateOutlet=\"dispeditTpl\"></ng-container>\n </dd>\n</ng-container>\n<!-- Inline display-->\n<ng-container *ngIf=\"mode==='inline'\">\n <ng-container *ngIf=\"!hideLabel\"><span class=\"pointer float-end\" (click)=\"setDefault()\" *ngIf=\"realDefault!== undefined && edit\"><i class=\"bi bi-trash ms-2\"></i></span>\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"dispeditTpl\"></ng-container>\n</ng-container>\n<!-- Form display-->\n<ng-container *ngIf=\"mode==='form'\">\n <ng-container *ngIf=\"!hideLabel\"><span class=\"pointer float-end\" (click)=\"setDefault()\" *ngIf=\"realDefault!== undefined && edit\"><i class=\"bi bi-trash ms-2\"></i></span>\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"dispeditFormTpl\"></ng-container>\n</ng-container>", styles: [".editable{cursor:pointer}form.inline{display:inline-block}.required{font-weight:700}.required:after{content:\" (*)\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FkselectComponent, selector: "data-fkselect", inputs: ["model", "field", "edit", "value", "queryset", "collection", "update", "filter", "mode", "display", "search", "label", "placeholder", "inputClasses"], outputs: ["selected", "cancelled", "cleared"] }, { kind: "component", type: M2mselectComponent, selector: "data-m2mselect", inputs: ["model", "field", "edit", "values", "queryset", "collection", "filter", "mode", "display", "search", "label", "placeholder", "emptyLabel", "inputClasses"], outputs: ["added", "removed", "cancelled", "cleared", "detailsChanged", "changed"] }] }); }
|
|
424
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DispeditComponent, deps: [{ token: DATA_DISPLAY_CONFIG, optional: true }, { token: i1.DataMessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
425
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: DispeditComponent, isStandalone: true, selector: "data-dispedit", inputs: { model: "model", field: "field", form: "form", edit: "edit", editable: "editable", mode: "mode", choices: "choices", inputClasses: "inputClasses", editor: "editor", viewer: "viewer", default: "default", placeholder: "placeholder", help: "help", hideLabel: "hideLabel", queryset: "queryset", collection: "collection", display: "display", filter: "filter" }, outputs: { changed: "changed" }, usesOnChanges: true, ngImport: i0, template: "\n<ng-template #titleTpl>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #dispTpl>\n <ng-container [ngSwitch]=\"realDisplay\"><span class=\"editable disp-text\" *ngSwitchCase=\"'text'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-choice\" *ngSwitchCase=\"'choice'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-decimal\" *ngSwitchCase=\"'decimal'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-boolean\" *ngSwitchCase=\"'boolean'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-fkdetails\" *ngSwitchCase=\"'fkdetails'\" (click)=\"enableEditMode()\">\n <div class=\"fkitem\">{{txtValue}}</div></span><span class=\"editable disp-m2mdetails\" *ngSwitchCase=\"'m2mdetails'\" (click)=\"enableEditMode()\">\n <div class=\"m2mitem\" *ngFor=\"let v of txtValues\">{{v}}</div></span><span class=\"editable disp-datetime\" *ngSwitchCase=\"'datetime'\" (click)=\"enableEditMode()\">\n <ng-container *ngIf=\"dispValue\">{{txtValue|date:'short'}}</ng-container>\n <ng-container *ngIf=\"!dispValue\">{{txtValue}}</ng-container></span><span class=\"editable disp-datetime\" *ngSwitchCase=\"'date'\" (click)=\"enableEditMode()\">\n <ng-container *ngIf=\"dispValue\">{{txtValue|date:'shortDate'}}</ng-container>\n <ng-container *ngIf=\"!dispValue\">{{txtValue}}</ng-container></span></ng-container>\n</ng-template>\n<ng-template #editTpl let-form=\"form\">\n <ng-container [ngSwitch]=\"realEditor\">\n <ng-container *ngSwitchCase=\"'input.text'\">\n <input type=\"text\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.email'\">\n <input type=\"email\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['email']\">Format d'email invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.password'\">\n <input type=\"password\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.datetime'\">\n <input type=\"datetime-local\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" (keyup.enter)=\"update()\">\n <div class=\"form-text\">{{realHelp}}</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minDate']\">Doit \u00EAtre post\u00E9rieur \u00E0 {{$any(manager).min|date:'short'}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxDate']\">Doit \u00EAtre ant\u00E9rieur \u00E0 {{$any(manager).max|date:'short'}}...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.date'\">\n <input type=\"date\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" (keyup.enter)=\"update()\">\n <div class=\"form-text\">{{realHelp}}</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minDate']\">Doit \u00EAtre post\u00E9rieur \u00E0 {{$any(manager).min|date:'short'}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxDate']\">Doit \u00EAtre ant\u00E9rieur \u00E0 {{$any(manager).max|date:'short'}}...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.number'\">\n <input type=\"number\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['min']\">Trop petit : minimum {{$any(manager).min}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['max']\">Trop grand : maximum {{$any(manager).max}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.decimal'\">\n <input type=\"number\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['min']\">Trop petit : minimum {{$any(manager).min}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['max']\">Trop grand : maximum {{$any(manager).max}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.checkbox'\">\n <input class=\"form-check-input\" type=\"checkbox\" [formControl]=\"form.get(field)\" (keyup.escape)=\"unsetEdit()\" (change)=\"update()\">\n <div class=\"form-text\">{{realHelp}}</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'textarea'\">\n <textarea [formControl]=\"form.get(field)\" (keyup.escape)=\"unsetEdit()\" [ngClass]=\"inputClasses\" (keyup.control.enter)=\"update()\" [placeholder]=\"realPlaceholder\"></textarea>\n <button class=\"btn btn-sm btn-link w-100 dispedit-text-update-button\" (click)=\"update()\" *ngIf=\"mode==='dd'\"><i class=\"bi bi-save\"></i></button>\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'fkselect'\">\n <data-fkselect [collection]=\"collection\" [filter]=\"filter\" [display]=\"display\" (selected)=\"selectedRefItem($event)\" [placeholder]=\"placeholder\" (cancelled)=\"unsetEdit()\" (cleared)=\"selectedRefItem(null)\"></data-fkselect>\n </ng-container>\n <ng-container *ngSwitchCase=\"'m2mselect'\">\n <data-m2mselect [collection]=\"collection\" [filter]=\"filter\" (changed)=\"update()\" [formControl]=\"form.get(field)\" (detailsChanged)=\"onM2MValuesChanges($event)\" [model]=\"model\" [field]=\"field\" [placeholder]=\"placeholder\"></data-m2mselect>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <select [formControl]=\"form.get(field)\" (keyup.escape)=\"unsetEdit()\" (change)=\"update()\" [ngClass]=\"inputClasses\">\n <option *ngFor=\"let c of realChoices\" [ngValue]=\"c.value!==undefined ? c.value : c\">{{c.desc ? c.desc : c}}</option>\n </select>\n <div class=\"form-text\">{{realHelp}}</div>\n </ng-container>\n </ng-container>\n</ng-template>\n<!-- Disp/edit toggler-->\n<ng-template #dispeditTpl>\n <ng-container *ngIf=\"!edit\">\n <ng-container *ngTemplateOutlet=\"dispTpl\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"edit\">\n <ng-container *ngIf=\"fg\">\n <form [formGroup]=\"fg\" (submit)=\"update()\">\n <ng-container *ngTemplateOutlet=\"editTpl; context: {form: fg}\"></ng-container>\n </form>\n </ng-container>\n </ng-container>\n</ng-template>\n<!-- DispEdit noform-->\n<ng-template #dispeditFormTpl>\n <ng-container *ngIf=\"!edit\">\n <ng-container *ngTemplateOutlet=\"dispTpl\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"edit\">\n <ng-container *ngIf=\"form\">\n <ng-container *ngTemplateOutlet=\"editTpl; context: {form: form}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n<!-- Dd display-->\n<ng-container *ngIf=\"mode==='dd'\">\n <dt [class.required]=\"required\" *ngIf=\"!hideLabel\"><span class=\"editable\" (click)=\"toggleEdit()\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container></span><span class=\"pointer float-end\" (click)=\"setDefault()\" *ngIf=\"realDefault!== undefined && edit\"><i class=\"bi bi-trash ms-2\"></i></span></dt>\n <dd [class.mb-0]=\"hideLabel\">\n <ng-container *ngTemplateOutlet=\"dispeditTpl\"></ng-container>\n </dd>\n</ng-container>\n<!-- Inline display-->\n<ng-container *ngIf=\"mode==='inline'\">\n <ng-container *ngIf=\"!hideLabel\"><span class=\"pointer float-end\" (click)=\"setDefault()\" *ngIf=\"realDefault!== undefined && edit\"><i class=\"bi bi-trash ms-2\"></i></span>\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"dispeditTpl\"></ng-container>\n</ng-container>\n<!-- Form display-->\n<ng-container *ngIf=\"mode==='form'\">\n <ng-container *ngIf=\"!hideLabel\"><span class=\"pointer float-end\" (click)=\"setDefault()\" *ngIf=\"realDefault!== undefined && edit\"><i class=\"bi bi-trash ms-2\"></i></span>\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"dispeditFormTpl\"></ng-container>\n</ng-container>", styles: [".editable{cursor:pointer}form.inline{display:inline-block}.required{font-weight:700}.required:after{content:\" (*)\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FkselectComponent, selector: "data-fkselect", inputs: ["model", "field", "edit", "value", "queryset", "collection", "update", "filter", "mode", "display", "search", "label", "placeholder", "inputClasses"], outputs: ["selected", "cancelled", "cleared"] }, { kind: "component", type: M2mselectComponent, selector: "data-m2mselect", inputs: ["model", "field", "edit", "values", "queryset", "collection", "filter", "mode", "display", "search", "label", "placeholder", "emptyLabel", "inputClasses"], outputs: ["added", "removed", "cancelled", "cleared", "detailsChanged", "changed"] }] }); }
|
|
426
426
|
}
|
|
427
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
427
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DispeditComponent, decorators: [{
|
|
428
428
|
type: Component,
|
|
429
429
|
args: [{ selector: 'data-dispedit', standalone: true, imports: [
|
|
430
430
|
CommonModule,
|
|
@@ -32,10 +32,10 @@ export class FactorPipe {
|
|
|
32
32
|
const num = strToNumber(fvalue);
|
|
33
33
|
return formatNumber(num / factor, locale, digitsInfo);
|
|
34
34
|
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
36
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FactorPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
36
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: FactorPipe, isStandalone: true, name: "factor" }); }
|
|
37
37
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FactorPipe, decorators: [{
|
|
39
39
|
type: Pipe,
|
|
40
40
|
args: [{
|
|
41
41
|
name: 'factor',
|
|
@@ -65,10 +65,10 @@ export class PFactorPipe {
|
|
|
65
65
|
const num = strToNumber(fvalue);
|
|
66
66
|
return formatNumber(num / factor, locale, digitsInfo);
|
|
67
67
|
}
|
|
68
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
69
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PFactorPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
69
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: PFactorPipe, isStandalone: true, name: "pfactor" }); }
|
|
70
70
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PFactorPipe, decorators: [{
|
|
72
72
|
type: Pipe,
|
|
73
73
|
args: [{
|
|
74
74
|
name: 'pfactor',
|
|
@@ -31,10 +31,10 @@ export class FactorcPipe {
|
|
|
31
31
|
const num = strToNumber(fvalue);
|
|
32
32
|
return formatCurrency(num / factor, locale, currency, currencyCode, digitsInfo);
|
|
33
33
|
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
35
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FactorcPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
35
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: FactorcPipe, isStandalone: true, name: "factorc" }); }
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FactorcPipe, decorators: [{
|
|
38
38
|
type: Pipe,
|
|
39
39
|
args: [{
|
|
40
40
|
name: 'factorc',
|
|
@@ -80,10 +80,10 @@ export class PFactorcPipe {
|
|
|
80
80
|
const num = strToNumber(fvalue);
|
|
81
81
|
return formatCurrency(num / factor, locale, currency, currencyCode, digitsInfo);
|
|
82
82
|
}
|
|
83
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
84
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
83
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PFactorcPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
84
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: PFactorcPipe, isStandalone: true, name: "pfactorc" }); }
|
|
85
85
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PFactorcPipe, decorators: [{
|
|
87
87
|
type: Pipe,
|
|
88
88
|
args: [{
|
|
89
89
|
name: 'pfactorc',
|
|
@@ -95,10 +95,10 @@ export class FkselectComponent {
|
|
|
95
95
|
return qs.get();
|
|
96
96
|
}));
|
|
97
97
|
}
|
|
98
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
99
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
98
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FkselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
99
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: FkselectComponent, isStandalone: true, selector: "data-fkselect", inputs: { model: "model", field: "field", edit: "edit", value: "value", queryset: "queryset", collection: "collection", update: "update", filter: "filter", mode: "mode", display: "display", search: "search", label: "label", placeholder: "placeholder", inputClasses: "inputClasses" }, outputs: { selected: "selected", cancelled: "cancelled", cleared: "cleared" }, ngImport: i0, template: "\n<div class=\"form-group\">\n <label *ngIf=\"label\">{{label}}</label>\n <div class=\"input-group\">\n <input class=\"form-control\" [formControl]=\"fc\" [placeholder]=\"placeholder\" [ngbTypeahead]=\"searchFn\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"displayFn\" [resultFormatter]=\"displayFn\" (keyup.escape)=\"cancelled.emit()\">\n <div class=\"input-group-text\"><i class=\"bi bi-trash float-end pointer\" (click)=\"clearAction()\"></i></div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgbTypeaheadModule }, { kind: "directive", type: i3.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "container", "editable", "focusFirst", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "selectOnExact", "showHint", "placement", "popperOptions", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }] }); }
|
|
100
100
|
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FkselectComponent, decorators: [{
|
|
102
102
|
type: Component,
|
|
103
103
|
args: [{ selector: 'data-fkselect', standalone: true, imports: [CommonModule, ReactiveFormsModule, NgbTypeaheadModule], template: "\n<div class=\"form-group\">\n <label *ngIf=\"label\">{{label}}</label>\n <div class=\"input-group\">\n <input class=\"form-control\" [formControl]=\"fc\" [placeholder]=\"placeholder\" [ngbTypeahead]=\"searchFn\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"displayFn\" [resultFormatter]=\"displayFn\" (keyup.escape)=\"cancelled.emit()\">\n <div class=\"input-group-text\"><i class=\"bi bi-trash float-end pointer\" (click)=\"clearAction()\"></i></div>\n </div>\n</div>" }]
|
|
104
104
|
}], ctorParameters: () => [], propDecorators: { model: [{
|
|
@@ -109,10 +109,10 @@ export class FlagsComponent {
|
|
|
109
109
|
this.edit = false;
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
113
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FlagsComponent, deps: [{ token: i1.DataMessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: FlagsComponent, isStandalone: true, selector: "data-flags", inputs: { model: "model", field: "field", get_flags_endpoint: "get_flags_endpoint", edit: "edit", editable: "editable", flags: "flags", free: "free", create: "create", action: "action" }, ngImport: i0, template: "\n<dt (click)=\"toggleEdit()\" role=\"button\">\n <ng-content></ng-content>\n</dt>\n<dd *ngIf=\"!edit\" (click)=\"toggleEdit()\" role=\"button\"><span class=\"badge bg-info me-1\" *ngFor=\"let flag of curflags\">{{flag}}</span></dd>\n<dd *ngIf=\"edit\">\n <div class=\"row\">\n <ng-container *ngIf=\"!free\">\n <div class=\"col\">\n <select class=\"form-select form-select-sm\" [formControl]=\"fs\">\n <option *ngFor=\"let flag of flaglist\" [value]=\"flag.flag\">{{flag.flag}}<span class=\"ms-1\" *ngIf=\"flag.count\">({{flag.count}})</span></option>\n </select>\n </div>\n <div class=\"col\" *ngIf=\"create\">\n <input class=\"form-control form-control-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"free\">\n <div class=\"col-12\">\n <input class=\"form-control form-select-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\" (keyup.escape)=\"toggleEdit()\">\n </div>\n </ng-container>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12\"><span class=\"badge bg-info me-1\" *ngFor=\"let flag of curflags\" (click)=\"removeFlag(flag)\" role=\"button\"><i class=\"bi bi-trash me-1\"></i>{{flag}}</span><i class=\"bi bi-x-lg text-muted ms-2\" role=\"button\" (click)=\"toggleEdit()\"></i></div>\n </div>\n</dd>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
114
114
|
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FlagsComponent, decorators: [{
|
|
116
116
|
type: Component,
|
|
117
117
|
args: [{ selector: 'data-flags', standalone: true, imports: [CommonModule, ReactiveFormsModule], template: "\n<dt (click)=\"toggleEdit()\" role=\"button\">\n <ng-content></ng-content>\n</dt>\n<dd *ngIf=\"!edit\" (click)=\"toggleEdit()\" role=\"button\"><span class=\"badge bg-info me-1\" *ngFor=\"let flag of curflags\">{{flag}}</span></dd>\n<dd *ngIf=\"edit\">\n <div class=\"row\">\n <ng-container *ngIf=\"!free\">\n <div class=\"col\">\n <select class=\"form-select form-select-sm\" [formControl]=\"fs\">\n <option *ngFor=\"let flag of flaglist\" [value]=\"flag.flag\">{{flag.flag}}<span class=\"ms-1\" *ngIf=\"flag.count\">({{flag.count}})</span></option>\n </select>\n </div>\n <div class=\"col\" *ngIf=\"create\">\n <input class=\"form-control form-control-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"free\">\n <div class=\"col-12\">\n <input class=\"form-control form-select-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\" (keyup.escape)=\"toggleEdit()\">\n </div>\n </ng-container>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12\"><span class=\"badge bg-info me-1\" *ngFor=\"let flag of curflags\" (click)=\"removeFlag(flag)\" role=\"button\"><i class=\"bi bi-trash me-1\"></i>{{flag}}</span><i class=\"bi bi-x-lg text-muted ms-2\" role=\"button\" (click)=\"toggleEdit()\"></i></div>\n </div>\n</dd>" }]
|
|
118
118
|
}], ctorParameters: () => [{ type: i1.DataMessageService }], propDecorators: { model: [{
|