@solidev/data 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/auth/auth.service.mjs +4 -1
- package/esm2020/lib/modellist/model-list-fields/model-list-field-header/messages.mjs +2 -0
- package/esm2020/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +35 -4
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +156 -3
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.mjs +12 -8
- package/esm2020/lib/modellist/model-list-filters/model-list-filter.mjs +4 -1
- package/esm2020/lib/modellist/model-list.service.mjs +3 -2
- package/fesm2015/solidev-data.mjs +191 -11
- package/fesm2015/solidev-data.mjs.map +1 -1
- package/fesm2020/solidev-data.mjs +200 -11
- package/fesm2020/solidev-data.mjs.map +1 -1
- package/lib/modellist/model-list-fields/model-list-field-header/messages.d.ts +6 -0
- package/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.d.ts +13 -2
- package/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.d.ts +48 -4
- package/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.d.ts +8 -3
- package/lib/modellist/model-list-filters/model-list-filter.d.ts +1 -0
- package/lib/modellist/model-list.service.d.ts +4 -1
- package/package.json +1 -1
|
@@ -32,6 +32,9 @@ let AuthServiceBase = class AuthServiceBase {
|
|
|
32
32
|
}
|
|
33
33
|
get currentUser$() {
|
|
34
34
|
// Needs refresh ?
|
|
35
|
+
if (this.isAnonymous) {
|
|
36
|
+
return of(null);
|
|
37
|
+
}
|
|
35
38
|
if (!this._fetched ||
|
|
36
39
|
Date.now() - this._fetched >
|
|
37
40
|
(this._params.userFetchValiditySeconds || 3600) * 1000) {
|
|
@@ -208,4 +211,4 @@ AuthServiceBase = __decorate([
|
|
|
208
211
|
__param(1, Inject(DATA_AUTH_PARAMS))
|
|
209
212
|
], AuthServiceBase);
|
|
210
213
|
export { AuthServiceBase };
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBSUwsR0FBRyxHQUNKLE1BQU0sT0FBTyxDQUFDO0FBRWYsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQXdCakU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FDaEQsa0JBQWtCLENBQ25CLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FDdEQsd0JBQXdCLENBQ3pCLENBQUM7QUFFSyxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBVTFCLFlBQ3lDLFdBQXdCLEVBQzdCLE9BQW1CLEVBQzdDLE9BQWUsRUFDZixLQUFpQixFQUNqQixLQUF5QjtRQUpNLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDN0MsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBb0I7UUFUM0IsV0FBTSxHQUFHLElBQUksYUFBYSxDQUFjLENBQUMsQ0FBQyxDQUFDO1FBV2pELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM3QixD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R0FBRyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDTDthQUFNO1lBQ0wsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNyQixPQUFPLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDO1lBQ25DLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQXZRWSxlQUFlO0lBV3ZCLFdBQUEsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFDOUIsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtHQVpoQixlQUFlLENBdVEzQjtTQXZRWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSUp3dEJhc2VEYXRhLFxuICBJSnd0UmVmcmVzaFJlc3BvbnNlSnNvbixcbiAgSUp3dFJlc3BvbnNlSnNvbixcbiAgSnd0LFxufSBmcm9tICcuL2p3dCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRhTW9kZWwgfSBmcm9tICcuLi9kYXRhL2RhdGEtbW9kZWwnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2RhdGEvZGF0YS1jb2xsZWN0aW9uJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBEYXRhTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi9tZXNzYWdlcy9tZXNzYWdlLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhQYXJhbXMge1xuICB0b2tlblVybDogc3RyaW5nO1xuICB0b2tlblJlZnJlc2hVcmw6IHN0cmluZztcbiAgcmVxdWVzdFJlYWN0aXZhdGVVcmw/OiBzdHJpbmc7XG4gIHByb2Nlc3NSZWFjdGl2YXRlVXJsPzogc3RyaW5nO1xuICByZXF1ZXN0UHdSZXNldFVybD86IHN0cmluZztcbiAgcHJvY2Vzc1B3UmVzZXRVcmw/OiBzdHJpbmc7XG4gIGxvZ2luRmllbGQ6IHN0cmluZztcbiAgcGFzc3dvcmRGaWVsZDogc3RyaW5nO1xuICB0b2tlbkZpZWxkOiBzdHJpbmc7XG4gIGxvZ2luUm91dGU6IHN0cmluZ1tdO1xuICBsb2dvdXRSb3V0ZTogc3RyaW5nW107XG4gIHB3cmVzZXRSb3V0ZT86IHN0cmluZ1tdO1xuICByZWFjdGl2YXRlUm91dGU/OiBzdHJpbmdbXTtcbiAgdXNlckZldGNoRmllbGRzPzogc3RyaW5nW107XG4gIHVzZXJGZXRjaFZhbGlkaXR5U2Vjb25kcz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBEQVRBX0FQSV9VUkw6IHN0b3JlcyBkYXRhIGFwaSBiYXNlIHVybFxuICovXG5leHBvcnQgY29uc3QgREFUQV9BVVRIX1BBUkFNUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBdXRoUGFyYW1zPihcbiAgJ2RhdGEuYXV0aC5wYXJhbXMnXG4pO1xuZXhwb3J0IGNvbnN0IERBVEFfQVVUSF9VU0VSX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29sbGVjdGlvbjxhbnk+PihcbiAgJ2RhdGEuYXV0aC51c2VyLnNlcnZpY2UnXG4pO1xuXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2VCYXNlPFxuICBVc2VyIGV4dGVuZHMgRGF0YU1vZGVsLFxuICBVc2VyU2VydmljZSBleHRlbmRzIENvbGxlY3Rpb248VXNlcj4sXG4gIFVzZXJEYXRhIGV4dGVuZHMgSUp3dEJhc2VEYXRhXG4+IHtcbiAgcHJpdmF0ZSBfdXNlciE6IFVzZXI7XG4gIHByaXZhdGUgX3VzZXIkID0gbmV3IFJlcGxheVN1YmplY3Q8VXNlciB8IG51bGw+KDEpO1xuICBwcml2YXRlIF90b2tlbiE6IEp3dDxVc2VyRGF0YT47XG4gIHByaXZhdGUgX2ZldGNoZWQ/OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChEQVRBX0FVVEhfVVNFUl9TRVJWSUNFKSBwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoREFUQV9BVVRIX1BBUkFNUykgcHJpdmF0ZSBfcGFyYW1zOiBBdXRoUGFyYW1zLFxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBfbXNnczogRGF0YU1lc3NhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYXV0b0xvZ2luKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQW5vbnltb3VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5fdG9rZW4uYWNjZXNzO1xuICB9XG5cbiAgcHVibGljIGdldCBhY2Nlc3NUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdG9rZW4uYWNjZXNzID8gdGhpcy5fdG9rZW4uYWNjZXNzIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVmcmVzaFRva2VuKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl90b2tlbi5yZWZyZXNoID8gdGhpcy5fdG9rZW4ucmVmcmVzaCA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRVc2VyKCk6IFVzZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdXNlciAmJiB0aGlzLl91c2VyLmlkID8gdGhpcy5fdXNlciA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRVc2VyJCgpOiBPYnNlcnZhYmxlPFVzZXIgfCBudWxsPiB7XG4gICAgLy8gTmVlZHMgcmVmcmVzaCA/XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2ZldGNoZWQgfHxcbiAgICAgIERhdGUubm93KCkgLSB0aGlzLl9mZXRjaGVkID5cbiAgICAgICAgKHRoaXMuX3BhcmFtcy51c2VyRmV0Y2hWYWxpZGl0eVNlY29uZHMgfHwgMzYwMCkgKiAxMDAwXG4gICAgKSB7XG4gICAgICB0aGlzLl9mZXRjaGVkID0gRGF0ZS5ub3coKTtcbiAgICAgIHJldHVybiB0aGlzLl9mZXRjaFVzZXIoKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLl91c2VyJC5hc09ic2VydmFibGUoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl91c2VyJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVmcmVzaFVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLl9wYXJhbXMudG9rZW5SZWZyZXNoVXJsfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvZ2luVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuX3BhcmFtcy50b2tlblVybH1gO1xuICB9XG5cbiAgcHVibGljIGdldCBsb2dpblJvdXRlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyYW1zLmxvZ2luUm91dGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvZ291dFJvdXRlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyYW1zLmxvZ291dFJvdXRlO1xuICB9XG5cbiAgcHVibGljIGdldCBwd3Jlc2V0Um91dGUoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wYXJhbXMucHdyZXNldFJvdXRlO1xuICB9XG5cbiAgcHVibGljIGdldCByZWFjdGl2YXRlUm91dGUoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wYXJhbXMucmVhY3RpdmF0ZVJvdXRlO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnYXV0aCcpO1xuICAgIHRoaXMuX3Rva2VuID0gbmV3IEp3dCgpO1xuICAgIHRoaXMuX3VzZXIgPSB0aGlzLnVzZXJTZXJ2aWNlLmNyZWF0ZSgpO1xuICAgIHRoaXMuX3VzZXIkLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgYXV0b0xvZ2luKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvY2FsQXV0aCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhdXRoJyk7XG4gICAgaWYgKCFsb2NhbEF1dGgpIHtcbiAgICAgIHJldHVybiB0aGlzLmxvZ291dCgpO1xuICAgIH1cbiAgICBjb25zdCB7IHVzZXIsIGZldGNoZWQsIHRva2VuIH0gPSBKU09OLnBhcnNlKGxvY2FsQXV0aCk7XG4gICAgdGhpcy5fdG9rZW4gPSBuZXcgSnd0KHRva2VuKTtcbiAgICB0aGlzLl91c2VyID0gdGhpcy51c2VyU2VydmljZS5jcmVhdGUodXNlcik7XG4gICAgdGhpcy5fZmV0Y2hlZCA9IGZldGNoZWQ7XG4gICAgdGhpcy5fdXNlciQubmV4dCh0aGlzLl91c2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2dpbihcbiAgICB1c2VybmFtZTogc3RyaW5nLFxuICAgIHBhc3N3b3JkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTwnc3VjY2VzcycgfCAnZXJyb3InIHwgJ2ludmFsaWRfdG9rZW4nIHwgc3RyaW5nPiB7XG4gICAgY29uc3QgcGF5bG9hZDogeyBbX2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgIHBheWxvYWRbdGhpcy5fcGFyYW1zLmxvZ2luRmllbGRdID0gdXNlcm5hbWU7XG4gICAgcGF5bG9hZFt0aGlzLl9wYXJhbXMucGFzc3dvcmRGaWVsZF0gPSBwYXNzd29yZDtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PElKd3RSZXNwb25zZUpzb24+KHRoaXMubG9naW5VcmwsIHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAoKHRvaykgPT4ge1xuICAgICAgICB0aGlzLl90b2tlbiA9IG5ldyBKd3QodG9rKTtcbiAgICAgICAgdGhpcy5zYXZlQXV0aCgpO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmV0Y2hVc2VyKCk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgoKSA9PiAnc3VjY2VzcycpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmxvZ291dCgpO1xuICAgICAgICBjb25zdCBjb2RlID0gZXJyb3IuZXJyb3I/LmNvZGUgfHwgZXJyb3I/LmNvZGUgfHwgJ2Vycm9yJztcbiAgICAgICAgY29uc29sZS5lcnJvcihjb2RlLCBlcnJvcik7XG4gICAgICAgIHJldHVybiBvZihjb2RlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0UmVhY3RpdmF0ZSh1c2VybmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuX3BhcmFtcy5yZXF1ZXN0UmVhY3RpdmF0ZVVybCkge1xuICAgICAgY29uc3QgcGF5bG9hZDogeyBbX2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgICAgcGF5bG9hZFt0aGlzLl9wYXJhbXMubG9naW5GaWVsZF0gPSB1c2VybmFtZTtcbiAgICAgIHJldHVybiB0aGlzLl9odHRwXG4gICAgICAgIC5wb3N0PGFueT4odGhpcy5fcGFyYW1zLnJlcXVlc3RSZWFjdGl2YXRlVXJsLCBwYXlsb2FkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvZihmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdFB3UmVzZXQodXNlcm5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLl9wYXJhbXMucmVxdWVzdFB3UmVzZXRVcmwpIHtcbiAgICAgIGNvbnN0IHBheWxvYWQ6IHsgW19pbmRleDogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICAgIHBheWxvYWRbdGhpcy5fcGFyYW1zLmxvZ2luRmllbGRdID0gdXNlcm5hbWU7XG4gICAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PGFueT4odGhpcy5fcGFyYW1zLnJlcXVlc3RQd1Jlc2V0VXJsLCBwYXlsb2FkKS5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoZmFsc2UpKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzUmVhY3RpdmF0ZShcbiAgICB1c2VybmFtZTogc3RyaW5nLFxuICAgIHRva2VuOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuX3BhcmFtcy5wcm9jZXNzUmVhY3RpdmF0ZVVybCkge1xuICAgICAgY29uc3QgcGF5bG9hZDogeyBbX2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgICAgcGF5bG9hZFt0aGlzLl9wYXJhbXMubG9naW5GaWVsZF0gPSB1c2VybmFtZTtcbiAgICAgIHBheWxvYWRbdGhpcy5fcGFyYW1zLnRva2VuRmllbGRdID0gdG9rZW47XG4gICAgICByZXR1cm4gdGhpcy5faHR0cFxuICAgICAgICAucG9zdDxhbnk+KHRoaXMuX3BhcmFtcy5wcm9jZXNzUmVhY3RpdmF0ZVVybCwgcGF5bG9hZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoZmFsc2UpKVxuICAgICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gb2YoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIHByb2Nlc3NQd1Jlc2V0KFxuICAgIHVzZXJuYW1lOiBzdHJpbmcsXG4gICAgcGFzc3dvcmQ6IHN0cmluZyxcbiAgICB0b2tlbjogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLl9wYXJhbXMucHJvY2Vzc1B3UmVzZXRVcmwpIHtcbiAgICAgIGNvbnN0IHBheWxvYWQ6IHsgW19pbmRleDogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICAgIHBheWxvYWRbdGhpcy5fcGFyYW1zLmxvZ2luRmllbGRdID0gdXNlcm5hbWU7XG4gICAgICBwYXlsb2FkW3RoaXMuX3BhcmFtcy5wYXNzd29yZEZpZWxkXSA9IHBhc3N3b3JkO1xuICAgICAgcGF5bG9hZFt0aGlzLl9wYXJhbXMudG9rZW5GaWVsZF0gPSB0b2tlbjtcbiAgICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8YW55Pih0aGlzLl9wYXJhbXMucHJvY2Vzc1B3UmVzZXRVcmwsIHBheWxvYWQpLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0cnVlKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gb2YoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIHNhdmVBdXRoKCkge1xuICAgIGlmICh0aGlzLmlzQW5vbnltb3VzKSB7XG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnYXV0aCcpO1xuICAgICAgdGhpcy5fdXNlciQubmV4dChudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICAgICdhdXRoJyxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIHVzZXI6IHRoaXMuX3VzZXIudG9Kc29uKCksXG4gICAgICAgICAgZmV0Y2hlZDogRGF0ZS5ub3coKSxcbiAgICAgICAgICB0b2tlbjogdGhpcy5fdG9rZW4udG9Kc29uKCksXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5fdXNlciQubmV4dCh0aGlzLl91c2VyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpOiBPYnNlcnZhYmxlPElKd3RSZWZyZXNoUmVzcG9uc2VKc29uIHwgbnVsbD4ge1xuICAgIGlmICghdGhpcy5fdG9rZW4ucmVmcmVzaCkge1xuICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2h0dHBcbiAgICAgIC5wb3N0PElKd3RSZWZyZXNoUmVzcG9uc2VKc29uPih0aGlzLnJlZnJlc2hVcmwsIHtcbiAgICAgICAgcmVmcmVzaDogdGhpcy5fdG9rZW4ucmVmcmVzaCBhcyBzdHJpbmcsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKGVyciwgY2F1Z2h0KSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignVG9rZW4gcmVmcmVzaCBlcnJvcicsIGVyciwgY2F1Z2h0KTtcbiAgICAgICAgICB0aGlzLmxvZ291dCgpO1xuICAgICAgICAgIHRoaXMuX21zZ3Mud2FybmluZygnVm91cyBkZXZleiB2b3VzIHJlY29ubmVjdGVyJyk7XG4gICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKHRoaXMuX3BhcmFtcy5sb2dpblJvdXRlKTtcbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKHRvaykgPT4ge1xuICAgICAgICAgIGlmICh0b2spIHtcbiAgICAgICAgICAgIHRoaXMuX3Rva2VuID0gbmV3IEp3dCh7XG4gICAgICAgICAgICAgIGFjY2VzczogdG9rLmFjY2VzcyxcbiAgICAgICAgICAgICAgcmVmcmVzaDogdGhpcy5fdG9rZW4ucmVmcmVzaCEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc2F2ZUF1dGgoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmV0Y2hVc2VyKCk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIGlmICh0aGlzLl90b2tlbi5kYXRhICYmIHRoaXMuX3Rva2VuLmRhdGEudXNlcl9pZCkge1xuICAgICAgLy8gRmV0Y2ggdXNlciBkYXRhIHVzaW5nIHRva2VuXG4gICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZVxuICAgICAgICAuZmV0Y2godGhpcy5fdG9rZW4uZGF0YSEudXNlcl9pZCwge1xuICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgZmllbGRzOiAoXG4gICAgICAgICAgICAgIHRoaXMuX3BhcmFtcy51c2VyRmV0Y2hGaWVsZHMgfHwgW1xuICAgICAgICAgICAgICAgICdpZCcsXG4gICAgICAgICAgICAgICAgJ3VzZXJuYW1lJyxcbiAgICAgICAgICAgICAgICAnZW1haWwnLFxuICAgICAgICAgICAgICAgICdsYXN0X25hbWUnLFxuICAgICAgICAgICAgICAgICdmaXJzdF9uYW1lJyxcbiAgICAgICAgICAgICAgICAnaXNfc3VwZXJ1c2VyJyxcbiAgICAgICAgICAgICAgICAnaXNfYWN0aXZlJyxcbiAgICAgICAgICAgICAgICAnaXNfc3RhZmYnLFxuICAgICAgICAgICAgICAgICdsYXN0X2xvZ2luJyxcbiAgICAgICAgICAgICAgICAnY3VycmVudF9ncm91cHNfc2x1Z3MnLFxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICApLmpvaW4oJywnKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YXAoKHUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3VzZXIgPSB1O1xuICAgICAgICAgICAgdGhpcy5zYXZlQXV0aCgpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgY29kZTogJ2ludmFsaWRfdG9rZW4nIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBSUwsR0FBRyxHQUNKLE1BQU0sT0FBTyxDQUFDO0FBRWYsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQXdCakU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FDaEQsa0JBQWtCLENBQ25CLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FDdEQsd0JBQXdCLENBQ3pCLENBQUM7QUFFSyxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBVTFCLFlBQ3lDLFdBQXdCLEVBQzdCLE9BQW1CLEVBQzdDLE9BQWUsRUFDZixLQUFpQixFQUNqQixLQUF5QjtRQUpNLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDN0MsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBb0I7UUFUM0IsV0FBTSxHQUFHLElBQUksYUFBYSxDQUFjLENBQUMsQ0FBQyxDQUFDO1FBV2pELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM3QixD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Q0FBQztpQkFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDTDthQUFNO1lBQ0wsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNyQixPQUFPLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDO1lBQ25DLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQTFRWSxlQUFlO0lBV3ZCLFdBQUEsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFDOUIsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtHQVpoQixlQUFlLENBMFEzQjtTQTFRWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSUp3dEJhc2VEYXRhLFxuICBJSnd0UmVmcmVzaFJlc3BvbnNlSnNvbixcbiAgSUp3dFJlc3BvbnNlSnNvbixcbiAgSnd0LFxufSBmcm9tICcuL2p3dCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRhTW9kZWwgfSBmcm9tICcuLi9kYXRhL2RhdGEtbW9kZWwnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2RhdGEvZGF0YS1jb2xsZWN0aW9uJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBEYXRhTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi9tZXNzYWdlcy9tZXNzYWdlLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhQYXJhbXMge1xuICB0b2tlblVybDogc3RyaW5nO1xuICB0b2tlblJlZnJlc2hVcmw6IHN0cmluZztcbiAgcmVxdWVzdFJlYWN0aXZhdGVVcmw/OiBzdHJpbmc7XG4gIHByb2Nlc3NSZWFjdGl2YXRlVXJsPzogc3RyaW5nO1xuICByZXF1ZXN0UHdSZXNldFVybD86IHN0cmluZztcbiAgcHJvY2Vzc1B3UmVzZXRVcmw/OiBzdHJpbmc7XG4gIGxvZ2luRmllbGQ6IHN0cmluZztcbiAgcGFzc3dvcmRGaWVsZDogc3RyaW5nO1xuICB0b2tlbkZpZWxkOiBzdHJpbmc7XG4gIGxvZ2luUm91dGU6IHN0cmluZ1tdO1xuICBsb2dvdXRSb3V0ZTogc3RyaW5nW107XG4gIHB3cmVzZXRSb3V0ZT86IHN0cmluZ1tdO1xuICByZWFjdGl2YXRlUm91dGU/OiBzdHJpbmdbXTtcbiAgdXNlckZldGNoRmllbGRzPzogc3RyaW5nW107XG4gIHVzZXJGZXRjaFZhbGlkaXR5U2Vjb25kcz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBEQVRBX0FQSV9VUkw6IHN0b3JlcyBkYXRhIGFwaSBiYXNlIHVybFxuICovXG5leHBvcnQgY29uc3QgREFUQV9BVVRIX1BBUkFNUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBdXRoUGFyYW1zPihcbiAgJ2RhdGEuYXV0aC5wYXJhbXMnXG4pO1xuZXhwb3J0IGNvbnN0IERBVEFfQVVUSF9VU0VSX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29sbGVjdGlvbjxhbnk+PihcbiAgJ2RhdGEuYXV0aC51c2VyLnNlcnZpY2UnXG4pO1xuXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2VCYXNlPFxuICBVc2VyIGV4dGVuZHMgRGF0YU1vZGVsLFxuICBVc2VyU2VydmljZSBleHRlbmRzIENvbGxlY3Rpb248VXNlcj4sXG4gIFVzZXJEYXRhIGV4dGVuZHMgSUp3dEJhc2VEYXRhXG4+IHtcbiAgcHJpdmF0ZSBfdXNlciE6IFVzZXI7XG4gIHByaXZhdGUgX3VzZXIkID0gbmV3IFJlcGxheVN1YmplY3Q8VXNlciB8IG51bGw+KDEpO1xuICBwcml2YXRlIF90b2tlbiE6IEp3dDxVc2VyRGF0YT47XG4gIHByaXZhdGUgX2ZldGNoZWQ/OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChEQVRBX0FVVEhfVVNFUl9TRVJWSUNFKSBwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoREFUQV9BVVRIX1BBUkFNUykgcHJpdmF0ZSBfcGFyYW1zOiBBdXRoUGFyYW1zLFxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBfbXNnczogRGF0YU1lc3NhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYXV0b0xvZ2luKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQW5vbnltb3VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5fdG9rZW4uYWNjZXNzO1xuICB9XG5cbiAgcHVibGljIGdldCBhY2Nlc3NUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdG9rZW4uYWNjZXNzID8gdGhpcy5fdG9rZW4uYWNjZXNzIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVmcmVzaFRva2VuKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl90b2tlbi5yZWZyZXNoID8gdGhpcy5fdG9rZW4ucmVmcmVzaCA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRVc2VyKCk6IFVzZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdXNlciAmJiB0aGlzLl91c2VyLmlkID8gdGhpcy5fdXNlciA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRVc2VyJCgpOiBPYnNlcnZhYmxlPFVzZXIgfCBudWxsPiB7XG4gICAgLy8gTmVlZHMgcmVmcmVzaCA/XG4gICAgaWYgKHRoaXMuaXNBbm9ueW1vdXMpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2ZldGNoZWQgfHxcbiAgICAgIERhdGUubm93KCkgLSB0aGlzLl9mZXRjaGVkID5cbiAgICAgICAgKHRoaXMuX3BhcmFtcy51c2VyRmV0Y2hWYWxpZGl0eVNlY29uZHMgfHwgMzYwMCkgKiAxMDAwXG4gICAgKSB7XG4gICAgICB0aGlzLl9mZXRjaGVkID0gRGF0ZS5ub3coKTtcbiAgICAgIHJldHVybiB0aGlzLl9mZXRjaFVzZXIoKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLl91c2VyJC5hc09ic2VydmFibGUoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl91c2VyJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVmcmVzaFVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLl9wYXJhbXMudG9rZW5SZWZyZXNoVXJsfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvZ2luVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuX3BhcmFtcy50b2tlblVybH1gO1xuICB9XG5cbiAgcHVibGljIGdldCBsb2dpblJvdXRlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyYW1zLmxvZ2luUm91dGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvZ291dFJvdXRlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyYW1zLmxvZ291dFJvdXRlO1xuICB9XG5cbiAgcHVibGljIGdldCBwd3Jlc2V0Um91dGUoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wYXJhbXMucHdyZXNldFJvdXRlO1xuICB9XG5cbiAgcHVibGljIGdldCByZWFjdGl2YXRlUm91dGUoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wYXJhbXMucmVhY3RpdmF0ZVJvdXRlO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnYXV0aCcpO1xuICAgIHRoaXMuX3Rva2VuID0gbmV3IEp3dCgpO1xuICAgIHRoaXMuX3VzZXIgPSB0aGlzLnVzZXJTZXJ2aWNlLmNyZWF0ZSgpO1xuICAgIHRoaXMuX3VzZXIkLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgYXV0b0xvZ2luKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvY2FsQXV0aCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhdXRoJyk7XG4gICAgaWYgKCFsb2NhbEF1dGgpIHtcbiAgICAgIHJldHVybiB0aGlzLmxvZ291dCgpO1xuICAgIH1cbiAgICBjb25zdCB7IHVzZXIsIGZldGNoZWQsIHRva2VuIH0gPSBKU09OLnBhcnNlKGxvY2FsQXV0aCk7XG4gICAgdGhpcy5fdG9rZW4gPSBuZXcgSnd0KHRva2VuKTtcbiAgICB0aGlzLl91c2VyID0gdGhpcy51c2VyU2VydmljZS5jcmVhdGUodXNlcik7XG4gICAgdGhpcy5fZmV0Y2hlZCA9IGZldGNoZWQ7XG4gICAgdGhpcy5fdXNlciQubmV4dCh0aGlzLl91c2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2dpbihcbiAgICB1c2VybmFtZTogc3RyaW5nLFxuICAgIHBhc3N3b3JkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTwnc3VjY2VzcycgfCAnZXJyb3InIHwgJ2ludmFsaWRfdG9rZW4nIHwgc3RyaW5nPiB7XG4gICAgY29uc3QgcGF5bG9hZDogeyBbX2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgIHBheWxvYWRbdGhpcy5fcGFyYW1zLmxvZ2luRmllbGRdID0gdXNlcm5hbWU7XG4gICAgcGF5bG9hZFt0aGlzLl9wYXJhbXMucGFzc3dvcmRGaWVsZF0gPSBwYXNzd29yZDtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PElKd3RSZXNwb25zZUpzb24+KHRoaXMubG9naW5VcmwsIHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAoKHRvaykgPT4ge1xuICAgICAgICB0aGlzLl90b2tlbiA9IG5ldyBKd3QodG9rKTtcbiAgICAgICAgdGhpcy5zYXZlQXV0aCgpO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmV0Y2hVc2VyKCk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgoKSA9PiAnc3VjY2VzcycpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmxvZ291dCgpO1xuICAgICAgICBjb25zdCBjb2RlID0gZXJyb3IuZXJyb3I/LmNvZGUgfHwgZXJyb3I/LmNvZGUgfHwgJ2Vycm9yJztcbiAgICAgICAgY29uc29sZS5lcnJvcihjb2RlLCBlcnJvcik7XG4gICAgICAgIHJldHVybiBvZihjb2RlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0UmVhY3RpdmF0ZSh1c2VybmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuX3BhcmFtcy5yZXF1ZXN0UmVhY3RpdmF0ZVVybCkge1xuICAgICAgY29uc3QgcGF5bG9hZDogeyBbX2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgICAgcGF5bG9hZFt0aGlzLl9wYXJhbXMubG9naW5GaWVsZF0gPSB1c2VybmFtZTtcbiAgICAgIHJldHVybiB0aGlzLl9odHRwXG4gICAgICAgIC5wb3N0PGFueT4odGhpcy5fcGFyYW1zLnJlcXVlc3RSZWFjdGl2YXRlVXJsLCBwYXlsb2FkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvZihmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdFB3UmVzZXQodXNlcm5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLl9wYXJhbXMucmVxdWVzdFB3UmVzZXRVcmwpIHtcbiAgICAgIGNvbnN0IHBheWxvYWQ6IHsgW19pbmRleDogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICAgIHBheWxvYWRbdGhpcy5fcGFyYW1zLmxvZ2luRmllbGRdID0gdXNlcm5hbWU7XG4gICAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PGFueT4odGhpcy5fcGFyYW1zLnJlcXVlc3RQd1Jlc2V0VXJsLCBwYXlsb2FkKS5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoZmFsc2UpKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzUmVhY3RpdmF0ZShcbiAgICB1c2VybmFtZTogc3RyaW5nLFxuICAgIHRva2VuOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuX3BhcmFtcy5wcm9jZXNzUmVhY3RpdmF0ZVVybCkge1xuICAgICAgY29uc3QgcGF5bG9hZDogeyBbX2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgICAgcGF5bG9hZFt0aGlzLl9wYXJhbXMubG9naW5GaWVsZF0gPSB1c2VybmFtZTtcbiAgICAgIHBheWxvYWRbdGhpcy5fcGFyYW1zLnRva2VuRmllbGRdID0gdG9rZW47XG4gICAgICByZXR1cm4gdGhpcy5faHR0cFxuICAgICAgICAucG9zdDxhbnk+KHRoaXMuX3BhcmFtcy5wcm9jZXNzUmVhY3RpdmF0ZVVybCwgcGF5bG9hZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoZmFsc2UpKVxuICAgICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gb2YoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIHByb2Nlc3NQd1Jlc2V0KFxuICAgIHVzZXJuYW1lOiBzdHJpbmcsXG4gICAgcGFzc3dvcmQ6IHN0cmluZyxcbiAgICB0b2tlbjogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLl9wYXJhbXMucHJvY2Vzc1B3UmVzZXRVcmwpIHtcbiAgICAgIGNvbnN0IHBheWxvYWQ6IHsgW19pbmRleDogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICAgIHBheWxvYWRbdGhpcy5fcGFyYW1zLmxvZ2luRmllbGRdID0gdXNlcm5hbWU7XG4gICAgICBwYXlsb2FkW3RoaXMuX3BhcmFtcy5wYXNzd29yZEZpZWxkXSA9IHBhc3N3b3JkO1xuICAgICAgcGF5bG9hZFt0aGlzLl9wYXJhbXMudG9rZW5GaWVsZF0gPSB0b2tlbjtcbiAgICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8YW55Pih0aGlzLl9wYXJhbXMucHJvY2Vzc1B3UmVzZXRVcmwsIHBheWxvYWQpLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0cnVlKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gb2YoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIHNhdmVBdXRoKCkge1xuICAgIGlmICh0aGlzLmlzQW5vbnltb3VzKSB7XG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnYXV0aCcpO1xuICAgICAgdGhpcy5fdXNlciQubmV4dChudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICAgICdhdXRoJyxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIHVzZXI6IHRoaXMuX3VzZXIudG9Kc29uKCksXG4gICAgICAgICAgZmV0Y2hlZDogRGF0ZS5ub3coKSxcbiAgICAgICAgICB0b2tlbjogdGhpcy5fdG9rZW4udG9Kc29uKCksXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5fdXNlciQubmV4dCh0aGlzLl91c2VyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpOiBPYnNlcnZhYmxlPElKd3RSZWZyZXNoUmVzcG9uc2VKc29uIHwgbnVsbD4ge1xuICAgIGlmICghdGhpcy5fdG9rZW4ucmVmcmVzaCkge1xuICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2h0dHBcbiAgICAgIC5wb3N0PElKd3RSZWZyZXNoUmVzcG9uc2VKc29uPih0aGlzLnJlZnJlc2hVcmwsIHtcbiAgICAgICAgcmVmcmVzaDogdGhpcy5fdG9rZW4ucmVmcmVzaCBhcyBzdHJpbmcsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKGVyciwgY2F1Z2h0KSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignVG9rZW4gcmVmcmVzaCBlcnJvcicsIGVyciwgY2F1Z2h0KTtcbiAgICAgICAgICB0aGlzLmxvZ291dCgpO1xuICAgICAgICAgIHRoaXMuX21zZ3Mud2FybmluZygnVm91cyBkZXZleiB2b3VzIHJlY29ubmVjdGVyJyk7XG4gICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKHRoaXMuX3BhcmFtcy5sb2dpblJvdXRlKTtcbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKHRvaykgPT4ge1xuICAgICAgICAgIGlmICh0b2spIHtcbiAgICAgICAgICAgIHRoaXMuX3Rva2VuID0gbmV3IEp3dCh7XG4gICAgICAgICAgICAgIGFjY2VzczogdG9rLmFjY2VzcyxcbiAgICAgICAgICAgICAgcmVmcmVzaDogdGhpcy5fdG9rZW4ucmVmcmVzaCEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc2F2ZUF1dGgoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmV0Y2hVc2VyKCk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIGlmICh0aGlzLl90b2tlbi5kYXRhICYmIHRoaXMuX3Rva2VuLmRhdGEudXNlcl9pZCkge1xuICAgICAgLy8gRmV0Y2ggdXNlciBkYXRhIHVzaW5nIHRva2VuXG4gICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZVxuICAgICAgICAuZmV0Y2godGhpcy5fdG9rZW4uZGF0YSEudXNlcl9pZCwge1xuICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgZmllbGRzOiAoXG4gICAgICAgICAgICAgIHRoaXMuX3BhcmFtcy51c2VyRmV0Y2hGaWVsZHMgfHwgW1xuICAgICAgICAgICAgICAgICdpZCcsXG4gICAgICAgICAgICAgICAgJ3VzZXJuYW1lJyxcbiAgICAgICAgICAgICAgICAnZW1haWwnLFxuICAgICAgICAgICAgICAgICdsYXN0X25hbWUnLFxuICAgICAgICAgICAgICAgICdmaXJzdF9uYW1lJyxcbiAgICAgICAgICAgICAgICAnaXNfc3VwZXJ1c2VyJyxcbiAgICAgICAgICAgICAgICAnaXNfYWN0aXZlJyxcbiAgICAgICAgICAgICAgICAnaXNfc3RhZmYnLFxuICAgICAgICAgICAgICAgICdsYXN0X2xvZ2luJyxcbiAgICAgICAgICAgICAgICAnY3VycmVudF9ncm91cHNfc2x1Z3MnLFxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICApLmpvaW4oJywnKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YXAoKHUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3VzZXIgPSB1O1xuICAgICAgICAgICAgdGhpcy5zYXZlQXV0aCgpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgY29kZTogJ2ludmFsaWRfdG9rZW4nIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmllbGRzL21vZGVsLWxpc3QtZmllbGQtaGVhZGVyL21lc3NhZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElGaWVsZEhlYWRlck1lc3NhZ2Uge1xuICBkZXN0OiAnaGVhZGVyJztcbiAgc2hvdz86IGJvb2xlYW47XG4gIG1lbnU/OiAnaGlkZScgfCAnc2lkZScgfCAnY2xpY2snIHwgJ2RlZmF1bHQnO1xuICBzb3J0PzogJ2hpZGUnIHwgJ3NpZGUnIHwgJ2NsaWNrJyB8ICdkZWZhdWx0Jztcbn1cbiJdfQ==
|
|
@@ -1,13 +1,35 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
|
|
4
4
|
import { ModelListSorterComponent } from '../../model-list-sorter/model-list-sorter/model-list-sorter.component';
|
|
5
|
+
import { filter } from 'rxjs/operators';
|
|
6
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
8
|
import * as i1 from "@angular/common";
|
|
7
9
|
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
8
10
|
export class ModelListFieldHeaderComponent {
|
|
9
11
|
constructor() {
|
|
10
12
|
this.sort = false;
|
|
13
|
+
this.menuMode = 'side';
|
|
14
|
+
this.sortMode = 'side';
|
|
15
|
+
this.dispMenuMode = this.menuMode;
|
|
16
|
+
this.dispSortMode = this.sortMode;
|
|
17
|
+
this._subscriptions$ = new Subject();
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.list.messages$
|
|
21
|
+
.pipe(takeUntil(this._subscriptions$), filter((m) => m.dest === 'header'))
|
|
22
|
+
.subscribe((m) => {
|
|
23
|
+
this.dispMenuMode =
|
|
24
|
+
m.menu && m.menu !== 'default' ? m.menu : this.menuMode;
|
|
25
|
+
this.dispSortMode =
|
|
26
|
+
m.sort && m.sort !== 'default' ? m.sort : this.sortMode;
|
|
27
|
+
this.display = m.show !== undefined ? m.show : this.display;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
ngOnDestroy() {
|
|
31
|
+
this._subscriptions$.next();
|
|
32
|
+
this._subscriptions$.complete();
|
|
11
33
|
}
|
|
12
34
|
disable() {
|
|
13
35
|
this.list.fields.disable(this.field);
|
|
@@ -18,10 +40,10 @@ export class ModelListFieldHeaderComponent {
|
|
|
18
40
|
}
|
|
19
41
|
}
|
|
20
42
|
ModelListFieldHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ModelListFieldHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
ModelListFieldHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ModelListFieldHeaderComponent, isStandalone: true, selector: "data-model-list-field-header", inputs: { list: "list", field: "field", sort: "sort", sortField: "sortField" }, ngImport: i0, template: "\n<ng-template #label><span #ref>\n <ng-content></ng-content></span><span *ngIf=\"!ref.children.length\">{{list.fields.get(field)?.label||field}}</span></ng-template>\n<div class=\"d-flex flex-row justify-content-between align-items-end slabel\"
|
|
43
|
+
ModelListFieldHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ModelListFieldHeaderComponent, isStandalone: true, selector: "data-model-list-field-header", inputs: { list: "list", field: "field", sort: "sort", sortField: "sortField", menuMode: "menuMode", sortMode: "sortMode", display: "display" }, viewQueries: [{ propertyName: "mnu", first: true, predicate: ["mnu"], descendants: true }], ngImport: i0, template: "\n<ng-template #label><span #ref>\n <ng-content></ng-content></span><span *ngIf=\"!ref.children.length\">{{list.fields.get(field)?.label||field}}</span></ng-template>\n<div class=\"d-flex flex-row justify-content-between align-items-end slabel\">\n <div class=\"flex-grow-1\">\n <data-model-list-sorter [list]=\"list\" [field]=\"sortField||field\" *ngIf=\"sort && dispSortMode==='side'\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </data-model-list-sorter>\n <ng-container *ngIf=\"!sort || dispSortMode==='hide'\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </ng-container>\n </div>\n <div class=\"navicons d-flex flex-row\" [attr.aria-label]=\"'Gestion champs'\" *ngIf=\"dispMenuMode==='side'\"><i class=\"bi bi-caret-left-fill\" role=\"button\" (click)=\"list.fields.move(field, 'before')\" aria-label=\"D\u00E9placer vers la gauche\"></i>\n <div ngbDropdown #mnu=\"ngbDropdown\" [container]=\"'body'\"><i class=\"bi bi-record\" ngbDropdownToggle aria-label=\"Ouvrir la boite de dialogue des champs\" role=\"button\"></i>\n <div ngbDropdownMenu>\n <button ngbDropdownItem (click)=\"disable()\"><i class=\"bi bi-trash me-2\"></i>Supprimer</button>\n <h6 class=\"dropdown-header\">Ajouter une colonne apr\u00E8s</h6>\n <ng-container *ngFor=\"let f of list.fields.fields|async\">\n <ng-container *ngIf=\"f.allowed && !f.enabled\">\n <button ngbDropdownItem (click)=\"enable(f)\" [attr.aria-label]=\"f.label||f.name\"><i class=\"bi bi-plus-circle me-2\"></i>{{f.label||f.name}}</button>\n </ng-container>\n </ng-container>\n </div>\n </div><i class=\"bi bi-caret-right-fill\" role=\"button\" (click)=\"list.fields.move(field, 'after')\" aria-label=\"D\u00E9placer vers la droite\"></i>\n </div>\n</div>", styles: [".slabel .navicons{opacity:0}.slabel:hover .navicons,.slabel.active .navicons{opacity:1!important}.dropdown-toggle:after{display:none!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: NgbDropdownModule }, { kind: "directive", type: i2.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i2.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i2.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i2.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: ModelListSorterComponent, selector: "data-model-list-sorter", inputs: ["list", "field"] }] });
|
|
22
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ModelListFieldHeaderComponent, decorators: [{
|
|
23
45
|
type: Component,
|
|
24
|
-
args: [{ selector: 'data-model-list-field-header', standalone: true, imports: [CommonModule, NgbDropdownModule, ModelListSorterComponent], template: "\n<ng-template #label><span #ref>\n <ng-content></ng-content></span><span *ngIf=\"!ref.children.length\">{{list.fields.get(field)?.label||field}}</span></ng-template>\n<div class=\"d-flex flex-row justify-content-between align-items-end slabel\"
|
|
46
|
+
args: [{ selector: 'data-model-list-field-header', standalone: true, imports: [CommonModule, NgbDropdownModule, ModelListSorterComponent], template: "\n<ng-template #label><span #ref>\n <ng-content></ng-content></span><span *ngIf=\"!ref.children.length\">{{list.fields.get(field)?.label||field}}</span></ng-template>\n<div class=\"d-flex flex-row justify-content-between align-items-end slabel\">\n <div class=\"flex-grow-1\">\n <data-model-list-sorter [list]=\"list\" [field]=\"sortField||field\" *ngIf=\"sort && dispSortMode==='side'\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </data-model-list-sorter>\n <ng-container *ngIf=\"!sort || dispSortMode==='hide'\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </ng-container>\n </div>\n <div class=\"navicons d-flex flex-row\" [attr.aria-label]=\"'Gestion champs'\" *ngIf=\"dispMenuMode==='side'\"><i class=\"bi bi-caret-left-fill\" role=\"button\" (click)=\"list.fields.move(field, 'before')\" aria-label=\"D\u00E9placer vers la gauche\"></i>\n <div ngbDropdown #mnu=\"ngbDropdown\" [container]=\"'body'\"><i class=\"bi bi-record\" ngbDropdownToggle aria-label=\"Ouvrir la boite de dialogue des champs\" role=\"button\"></i>\n <div ngbDropdownMenu>\n <button ngbDropdownItem (click)=\"disable()\"><i class=\"bi bi-trash me-2\"></i>Supprimer</button>\n <h6 class=\"dropdown-header\">Ajouter une colonne apr\u00E8s</h6>\n <ng-container *ngFor=\"let f of list.fields.fields|async\">\n <ng-container *ngIf=\"f.allowed && !f.enabled\">\n <button ngbDropdownItem (click)=\"enable(f)\" [attr.aria-label]=\"f.label||f.name\"><i class=\"bi bi-plus-circle me-2\"></i>{{f.label||f.name}}</button>\n </ng-container>\n </ng-container>\n </div>\n </div><i class=\"bi bi-caret-right-fill\" role=\"button\" (click)=\"list.fields.move(field, 'after')\" aria-label=\"D\u00E9placer vers la droite\"></i>\n </div>\n</div>", styles: [".slabel .navicons{opacity:0}.slabel:hover .navicons,.slabel.active .navicons{opacity:1!important}.dropdown-toggle:after{display:none!important}\n"] }]
|
|
25
47
|
}], ctorParameters: function () { return []; }, propDecorators: { list: [{
|
|
26
48
|
type: Input
|
|
27
49
|
}], field: [{
|
|
@@ -30,5 +52,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
30
52
|
type: Input
|
|
31
53
|
}], sortField: [{
|
|
32
54
|
type: Input
|
|
55
|
+
}], menuMode: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], sortMode: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], display: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], mnu: [{
|
|
62
|
+
type: ViewChild,
|
|
63
|
+
args: ['mnu', { static: false }]
|
|
33
64
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1maWVsZC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpZWxkcy9tb2RlbC1saXN0LWZpZWxkLWhlYWRlci9tb2RlbC1saXN0LWZpZWxkLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmllbGRzL21vZGVsLWxpc3QtZmllbGQtaGVhZGVyL21vZGVsLWxpc3QtZmllbGQtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBZSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQVMxQyxNQUFNLE9BQU8sNkJBQTZCO0lBZ0J4QztRQVhnQixTQUFJLEdBQWEsS0FBSyxDQUFDO1FBRXZCLGFBQVEsR0FBOEIsTUFBTSxDQUFDO1FBQzdDLGFBQVEsR0FBOEIsTUFBTSxDQUFDO1FBSXRELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3QixpQkFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRS9CLENBQUM7SUFFVCxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO2FBQ2hCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUMvQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQ25DO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsWUFBWTtnQkFDZixDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzFELElBQUksQ0FBQyxZQUFZO2dCQUNmLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDMUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxDQUFpQjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7MEhBN0NVLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLG9VQ2pCMUMsbTBEQXlCTSwwTURWTSxZQUFZLDJkQUFFLGlCQUFpQiwyZ0JBQUUsd0JBQXdCOzJGQUV4RCw2QkFBNkI7a0JBUHpDLFNBQVM7K0JBQ0UsOEJBQThCLGNBRzVCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQzswRUFLcEQsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFFc0MsR0FBRztzQkFBOUMsU0FBUzt1QkFBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kZWxMaXN0IH0gZnJvbSAnLi4vLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2RhdGEvZGF0YS1tb2RlbCc7XG5pbXBvcnQgeyBNb2RlbExpc3RGaWVsZCB9IGZyb20gJy4uL21vZGVsLWxpc3QtZmllbGRzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ2JEcm9wZG93biwgTmdiRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBNb2RlbExpc3RTb3J0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2RlbC1saXN0LXNvcnRlci9tb2RlbC1saXN0LXNvcnRlci9tb2RlbC1saXN0LXNvcnRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGEtbW9kZWwtbGlzdC1maWVsZC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwtbGlzdC1maWVsZC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LWZpZWxkLWhlYWRlci5jb21wb25lbnQuc2FzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ2JEcm9wZG93bk1vZHVsZSwgTW9kZWxMaXN0U29ydGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0RmllbGRIZWFkZXJDb21wb25lbnQ8VCBleHRlbmRzIERhdGFNb2RlbD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKSBwdWJsaWMgbGlzdCE6IE1vZGVsTGlzdDxUPjtcbiAgQElucHV0KCkgcHVibGljIGZpZWxkITogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc29ydD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNvcnRGaWVsZD86IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIG1lbnVNb2RlOiAnaGlkZScgfCAnc2lkZScgfCAnY2xpY2snID0gJ3NpZGUnO1xuICBASW5wdXQoKSBwdWJsaWMgc29ydE1vZGU6ICdoaWRlJyB8ICdzaWRlJyB8ICdjbGljaycgPSAnc2lkZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5PzogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCdtbnUnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHVibGljIG1udT86IE5nYkRyb3Bkb3duO1xuICBwdWJsaWMgZGlzcE1lbnVNb2RlID0gdGhpcy5tZW51TW9kZTtcbiAgcHVibGljIGRpc3BTb3J0TW9kZSA9IHRoaXMuc29ydE1vZGU7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMubGlzdC5tZXNzYWdlcyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fc3Vic2NyaXB0aW9ucyQpLFxuICAgICAgICBmaWx0ZXIoKG0pID0+IG0uZGVzdCA9PT0gJ2hlYWRlcicpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcE1lbnVNb2RlID1cbiAgICAgICAgICBtLm1lbnUgJiYgbS5tZW51ICE9PSAnZGVmYXVsdCcgPyBtLm1lbnUgOiB0aGlzLm1lbnVNb2RlO1xuICAgICAgICB0aGlzLmRpc3BTb3J0TW9kZSA9XG4gICAgICAgICAgbS5zb3J0ICYmIG0uc29ydCAhPT0gJ2RlZmF1bHQnID8gbS5zb3J0IDogdGhpcy5zb3J0TW9kZTtcbiAgICAgICAgdGhpcy5kaXNwbGF5ID0gbS5zaG93ICE9PSB1bmRlZmluZWQgPyBtLnNob3cgOiB0aGlzLmRpc3BsYXk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zJC5uZXh0KCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucyQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlKCkge1xuICAgIHRoaXMubGlzdC5maWVsZHMuZGlzYWJsZSh0aGlzLmZpZWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBlbmFibGUoZjogTW9kZWxMaXN0RmllbGQpIHtcbiAgICB0aGlzLmxpc3QuZmllbGRzLm1vdmUoZi5uYW1lLCAnYWZ0ZXInLCB0aGlzLmZpZWxkKTtcbiAgICB0aGlzLmxpc3QuZmllbGRzLmVuYWJsZShmLm5hbWUpO1xuICB9XG59XG4iLCJcbjxuZy10ZW1wbGF0ZSAjbGFiZWw+PHNwYW4gI3JlZj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPjxzcGFuICpuZ0lmPVwiIXJlZi5jaGlsZHJlbi5sZW5ndGhcIj57e2xpc3QuZmllbGRzLmdldChmaWVsZCk/LmxhYmVsfHxmaWVsZH19PC9zcGFuPjwvbmctdGVtcGxhdGU+XG48ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWVuZCBzbGFiZWxcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgPGRhdGEtbW9kZWwtbGlzdC1zb3J0ZXIgW2xpc3RdPVwibGlzdFwiIFtmaWVsZF09XCJzb3J0RmllbGR8fGZpZWxkXCIgKm5nSWY9XCJzb3J0ICZhbXA7JmFtcDsgZGlzcFNvcnRNb2RlPT09J3NpZGUnXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2RhdGEtbW9kZWwtbGlzdC1zb3J0ZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzb3J0IHx8IGRpc3BTb3J0TW9kZT09PSdoaWRlJ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibmF2aWNvbnMgZC1mbGV4IGZsZXgtcm93XCIgW2F0dHIuYXJpYS1sYWJlbF09XCInR2VzdGlvbiBjaGFtcHMnXCIgKm5nSWY9XCJkaXNwTWVudU1vZGU9PT0nc2lkZSdcIj48aSBjbGFzcz1cImJpIGJpLWNhcmV0LWxlZnQtZmlsbFwiIHJvbGU9XCJidXR0b25cIiAoY2xpY2spPVwibGlzdC5maWVsZHMubW92ZShmaWVsZCwgJ2JlZm9yZScpXCIgYXJpYS1sYWJlbD1cIkTDqXBsYWNlciB2ZXJzIGxhIGdhdWNoZVwiPjwvaT5cbiAgICA8ZGl2IG5nYkRyb3Bkb3duICNtbnU9XCJuZ2JEcm9wZG93blwiIFtjb250YWluZXJdPVwiJ2JvZHknXCI+PGkgY2xhc3M9XCJiaSBiaS1yZWNvcmRcIiBuZ2JEcm9wZG93blRvZ2dsZSBhcmlhLWxhYmVsPVwiT3V2cmlyIGxhIGJvaXRlIGRlIGRpYWxvZ3VlIGRlcyBjaGFtcHNcIiByb2xlPVwiYnV0dG9uXCI+PC9pPlxuICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnU+XG4gICAgICAgIDxidXR0b24gbmdiRHJvcGRvd25JdGVtIChjbGljayk9XCJkaXNhYmxlKClcIj48aSBjbGFzcz1cImJpIGJpLXRyYXNoIG1lLTJcIj48L2k+U3VwcHJpbWVyPC9idXR0b24+XG4gICAgICAgIDxoNiBjbGFzcz1cImRyb3Bkb3duLWhlYWRlclwiPkFqb3V0ZXIgdW5lIGNvbG9ubmUgYXByw6hzPC9oNj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZiBvZiBsaXN0LmZpZWxkcy5maWVsZHN8YXN5bmNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi5hbGxvd2VkICZhbXA7JmFtcDsgIWYuZW5hYmxlZFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBuZ2JEcm9wZG93bkl0ZW0gKGNsaWNrKT1cImVuYWJsZShmKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZi5sYWJlbHx8Zi5uYW1lXCI+PGkgY2xhc3M9XCJiaSBiaS1wbHVzLWNpcmNsZSBtZS0yXCI+PC9pPnt7Zi5sYWJlbHx8Zi5uYW1lfX08L2J1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj48aSBjbGFzcz1cImJpIGJpLWNhcmV0LXJpZ2h0LWZpbGxcIiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImxpc3QuZmllbGRzLm1vdmUoZmllbGQsICdhZnRlcicpXCIgYXJpYS1sYWJlbD1cIkTDqXBsYWNlciB2ZXJzIGxhIGRyb2l0ZVwiPjwvaT5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -1,16 +1,169 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { debounceTime, firstValueFrom, Subject } from 'rxjs';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
class Level {
|
|
9
|
+
constructor(tree, level, choices) {
|
|
10
|
+
this.tree = tree;
|
|
11
|
+
this.level = level;
|
|
12
|
+
this.fc = new FormControl('');
|
|
13
|
+
this.choices = choices;
|
|
14
|
+
this.subs = this.fc.valueChanges.subscribe((val) => {
|
|
15
|
+
if (this.selected !== val) {
|
|
16
|
+
this.selected = val;
|
|
17
|
+
this.tree.updated(this);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
close() {
|
|
22
|
+
this.subs.unsubscribe();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
class Tree {
|
|
26
|
+
constructor(qs, maxLevel, display, filter) {
|
|
27
|
+
this.qs = qs;
|
|
28
|
+
this.maxLevel = maxLevel;
|
|
29
|
+
this.display = display;
|
|
30
|
+
this.filter = filter;
|
|
31
|
+
this.levels = [];
|
|
32
|
+
this.changed = new Subject();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Conditionnaly add level to current tree.
|
|
36
|
+
*
|
|
37
|
+
* - if previous level have non-empty selected value
|
|
38
|
+
* - if current level choices are non empty
|
|
39
|
+
*/
|
|
40
|
+
async addLevel(fparent) {
|
|
41
|
+
let values = [];
|
|
42
|
+
if (this.levels.length === 0) {
|
|
43
|
+
values = await firstValueFrom(this.qs
|
|
44
|
+
.filter({ level: this.levels.length, parent: 'null', ...this.filter })
|
|
45
|
+
.get());
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
const parent = fparent
|
|
49
|
+
? fparent
|
|
50
|
+
: this.levels[this.levels.length - 1].selected;
|
|
51
|
+
if (parent) {
|
|
52
|
+
values = await firstValueFrom(this.qs
|
|
53
|
+
.filter({
|
|
54
|
+
level: this.levels.length,
|
|
55
|
+
parent: this.levels[this.levels.length - 1].selected || 'null',
|
|
56
|
+
...this.filter,
|
|
57
|
+
})
|
|
58
|
+
.get());
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (values.length > 0) {
|
|
62
|
+
const level = new Level(this, this.levels.length, []);
|
|
63
|
+
for (const v of values) {
|
|
64
|
+
level.choices.push({ value: v.id, desc: this.display(v) });
|
|
65
|
+
}
|
|
66
|
+
this.levels.push(level);
|
|
67
|
+
return level;
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
updated(level) {
|
|
72
|
+
const newLevels = [];
|
|
73
|
+
for (const l of this.levels) {
|
|
74
|
+
if (l.level <= level.level) {
|
|
75
|
+
newLevels.push(l);
|
|
76
|
+
}
|
|
77
|
+
else if (l.level > level.level) {
|
|
78
|
+
l.close();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
this.levels = newLevels;
|
|
82
|
+
this.addLevel();
|
|
83
|
+
if (level.selected) {
|
|
84
|
+
this.changed.next(level.selected);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.changed.next(this.levels[level.level - 1]?.selected || null);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async prepare(value) {
|
|
91
|
+
// console.log('prepare', value);
|
|
92
|
+
const levels = [];
|
|
93
|
+
let cur = (await firstValueFrom(this.qs.filter({ id: value, ...this.filter }).get()))[0];
|
|
94
|
+
levels.push(cur);
|
|
95
|
+
let nlev = 0;
|
|
96
|
+
while (cur.parent !== null) {
|
|
97
|
+
cur = (await firstValueFrom(this.qs
|
|
98
|
+
.filter({
|
|
99
|
+
id: cur.parent,
|
|
100
|
+
...this.filter,
|
|
101
|
+
})
|
|
102
|
+
.get()))[0];
|
|
103
|
+
levels.push(cur);
|
|
104
|
+
nlev++;
|
|
105
|
+
if (nlev > this.maxLevel) {
|
|
106
|
+
throw Error('Max level error, could not find root');
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
for (let i = levels.length - 1; i >= 0; i--) {
|
|
110
|
+
const lv = await this.addLevel();
|
|
111
|
+
if (lv !== null) {
|
|
112
|
+
lv.selected = levels[i].id;
|
|
113
|
+
lv.fc.setValue(levels[i].id, { emitEvent: false });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (this.levels.length <= this.maxLevel) {
|
|
117
|
+
await this.addLevel();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
reset() { }
|
|
121
|
+
}
|
|
4
122
|
export class ModelListTreeFilterComponent {
|
|
5
123
|
constructor() {
|
|
6
124
|
this.classes = '';
|
|
7
125
|
}
|
|
126
|
+
async ngOnInit() {
|
|
127
|
+
this.tree = new Tree(this.filter.queryset, this.filter.maxLevel, this.filter.display, this.filter.filter);
|
|
128
|
+
if (this.filter.get()) {
|
|
129
|
+
await this.tree.prepare(this.filter.get()?.value);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
await this.tree.addLevel();
|
|
133
|
+
}
|
|
134
|
+
this.tree.changed.pipe(debounceTime(250)).subscribe((val) => {
|
|
135
|
+
// console.log('changed', val);
|
|
136
|
+
if (val === null) {
|
|
137
|
+
this.filter.clear();
|
|
138
|
+
this.list.filters.update();
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
if (this.filter.set(val, '')) {
|
|
142
|
+
this.list.filters.update();
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
// this.tree.changed.subscribe((selected) => {
|
|
147
|
+
// console.log('tree changed', selected);
|
|
148
|
+
// this.filter.set(selected, '');
|
|
149
|
+
// });
|
|
150
|
+
// if (this.filter.getValue()) {
|
|
151
|
+
// console.log('filter value', this.filter.getValue());
|
|
152
|
+
// await this.tree.prepare(this.filter.getValue() as number);
|
|
153
|
+
// } else {
|
|
154
|
+
// await this.tree.addLevel();
|
|
155
|
+
// }
|
|
156
|
+
}
|
|
157
|
+
disable() {
|
|
158
|
+
this.filter.enabled = false;
|
|
159
|
+
this.list.filters.update();
|
|
160
|
+
}
|
|
8
161
|
}
|
|
9
162
|
ModelListTreeFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ModelListTreeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
ModelListTreeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ModelListTreeFilterComponent, isStandalone: true, selector: "data-model-list-tree-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "<
|
|
163
|
+
ModelListTreeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ModelListTreeFilterComponent, isStandalone: true, selector: "data-model-list-tree-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <div class=\"levelselect\" *ngFor=\"let l of tree.levels\">\n <select class=\"form-select form-select-sm\" [formControl]=\"l.fc\">\n <option value=\"\">{{filter.help}}</option>\n <option *ngFor=\"let ch of l.choices\" [value]=\"ch.value\">{{ch.desc}}</option>\n </select>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
11
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ModelListTreeFilterComponent, decorators: [{
|
|
12
165
|
type: Component,
|
|
13
|
-
args: [{ selector: 'data-model-list-tree-filter', standalone: true, imports: [CommonModule], template: "<
|
|
166
|
+
args: [{ selector: 'data-model-list-tree-filter', standalone: true, imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <div class=\"levelselect\" *ngFor=\"let l of tree.levels\">\n <select class=\"form-select form-select-sm\" [formControl]=\"l.fc\">\n <option value=\"\">{{filter.help}}</option>\n <option *ngFor=\"let ch of l.choices\" [value]=\"ch.value\">{{ch.desc}}</option>\n </select>\n </div>\n</div>" }]
|
|
14
167
|
}], ctorParameters: function () { return []; }, propDecorators: { list: [{
|
|
15
168
|
type: Input
|
|
16
169
|
}], filter: [{
|
|
@@ -18,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
18
171
|
}], classes: [{
|
|
19
172
|
type: Input
|
|
20
173
|
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC10cmVlLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtdHJlZS1maWx0ZXIvbW9kZWwtbGlzdC10cmVlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtdHJlZS1maWx0ZXIvbW9kZWwtbGlzdC10cmVlLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUy9DLE1BQU0sT0FBTyw0QkFBNEI7SUFLdkM7UUFGZ0IsWUFBTyxHQUFzQixFQUFFLENBQUM7SUFFakMsQ0FBQzs7eUhBTEwsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsdUpDWnpDLHNDQUFvQyx5RERVeEIsWUFBWTsyRkFFWCw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBQ0UsNkJBQTZCLGNBRzNCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzswRUFHUCxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGVsTGlzdCB9IGZyb20gJy4uLy4uLy4uL21vZGVsLWxpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBNb2RlbExpc3RUcmVlRmlsdGVyIH0gZnJvbSAnLi9tb2RlbC1saXN0LXRyZWUtZmlsdGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGEtbW9kZWwtbGlzdC10cmVlLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC1saXN0LXRyZWUtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kZWwtbGlzdC10cmVlLWZpbHRlci5jb21wb25lbnQuc2FzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0VHJlZUZpbHRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0ITogTW9kZWxMaXN0PGFueT47XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWx0ZXIhOiBNb2RlbExpc3RUcmVlRmlsdGVyO1xuICBASW5wdXQoKSBwdWJsaWMgY2xhc3Nlczogc3RyaW5nW10gfCBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iLCI8cD5tb2RlbC1saXN0LXRyZWUtZmlsdGVyIHdvcmtzITwvcD4iXX0=
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC10cmVlLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtdHJlZS1maWx0ZXIvbW9kZWwtbGlzdC10cmVlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtdHJlZS1maWx0ZXIvbW9kZWwtbGlzdC10cmVlLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7Ozs7QUFHM0UsTUFBTSxLQUFLO0lBUVQsWUFDRSxJQUFhLEVBQ2IsS0FBYSxFQUNiLE9BQTBDO1FBRTFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxH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QU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7O3lIQWxEVSw0QkFBNEI7NkdBQTVCLDRCQUE0Qix1SkM1SnpDLGlnQkFVTSx5RERnSk0sWUFBWSx5UEFBRSxtQkFBbUI7MkZBRWhDLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDRSw2QkFBNkIsY0FHM0IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDOzBFQUs1QixJQUFJO3NCQUFuQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kZWxMaXN0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGVsTGlzdFRyZWVGaWx0ZXIgfSBmcm9tICcuL21vZGVsLWxpc3QtdHJlZS1maWx0ZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEvZGF0YS1tb2RlbCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlyc3RWYWx1ZUZyb20sIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlsdGVyRGF0YSwgUXVlcnlzZXQgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhL2RhdGEtcXVlcnknO1xuXG5jbGFzcyBMZXZlbDxUIGV4dGVuZHMgRGF0YU1vZGVsPiB7XG4gIHB1YmxpYyBsZXZlbDogbnVtYmVyO1xuICBwdWJsaWMgdHJlZTogVHJlZTxUPjtcbiAgcHVibGljIGNob2ljZXM6IHsgdmFsdWU6IG51bWJlcjsgZGVzYzogc3RyaW5nIH1bXTtcbiAgcHVibGljIGZjOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIHNlbGVjdGVkITogbnVtYmVyO1xuICBwdWJsaWMgc3ViczogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRyZWU6IFRyZWU8VD4sXG4gICAgbGV2ZWw6IG51bWJlcixcbiAgICBjaG9pY2VzOiB7IHZhbHVlOiBudW1iZXI7IGRlc2M6IHN0cmluZyB9W11cbiAgKSB7XG4gICAgdGhpcy50cmVlID0gdHJlZTtcbiAgICB0aGlzLmxldmVsID0gbGV2ZWw7XG4gICAgdGhpcy5mYyA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gICAgdGhpcy5jaG9pY2VzID0gY2hvaWNlcztcbiAgICB0aGlzLnN1YnMgPSB0aGlzLmZjLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQgIT09IHZhbCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdmFsO1xuICAgICAgICB0aGlzLnRyZWUudXBkYXRlZCh0aGlzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpIHtcbiAgICB0aGlzLnN1YnMudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuXG5jbGFzcyBUcmVlPFQgZXh0ZW5kcyBEYXRhTW9kZWw+IHtcbiAgbGV2ZWxzOiBMZXZlbDxUPltdID0gW107XG4gIGNoYW5nZWQ6IFN1YmplY3Q8bnVtYmVyIHwgbnVsbD4gPSBuZXcgU3ViamVjdDxudW1iZXIgfCBudWxsPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcXM6IFF1ZXJ5c2V0PFQ+LFxuICAgIHByaXZhdGUgbWF4TGV2ZWw6IG51bWJlcixcbiAgICBwcml2YXRlIGRpc3BsYXk6IGFueSxcbiAgICBwcml2YXRlIGZpbHRlcjogRmlsdGVyRGF0YVxuICApIHt9XG5cbiAgLyoqXG4gICAqIENvbmRpdGlvbm5hbHkgYWRkIGxldmVsIHRvIGN1cnJlbnQgdHJlZS5cbiAgICpcbiAgICogLSBpZiBwcmV2aW91cyBsZXZlbCBoYXZlIG5vbi1lbXB0eSBzZWxlY3RlZCB2YWx1ZVxuICAgKiAtIGlmIGN1cnJlbnQgbGV2ZWwgY2hvaWNlcyBhcmUgbm9uIGVtcHR5XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYWRkTGV2ZWwoZnBhcmVudD86IG51bWJlcik6IFByb21pc2U8TGV2ZWw8VD4gfCBudWxsPiB7XG4gICAgbGV0IHZhbHVlczogVFtdID0gW107XG4gICAgaWYgKHRoaXMubGV2ZWxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdmFsdWVzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgIHRoaXMucXNcbiAgICAgICAgICAuZmlsdGVyKHsgbGV2ZWw6IHRoaXMubGV2ZWxzLmxlbmd0aCwgcGFyZW50OiAnbnVsbCcsIC4uLnRoaXMuZmlsdGVyIH0pXG4gICAgICAgICAgLmdldCgpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBmcGFyZW50XG4gICAgICAgID8gZnBhcmVudFxuICAgICAgICA6IHRoaXMubGV2ZWxzW3RoaXMubGV2ZWxzLmxlbmd0aCAtIDFdLnNlbGVjdGVkO1xuICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICB2YWx1ZXMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICB0aGlzLnFzXG4gICAgICAgICAgICAuZmlsdGVyKHtcbiAgICAgICAgICAgICAgbGV2ZWw6IHRoaXMubGV2ZWxzLmxlbmd0aCxcbiAgICAgICAgICAgICAgcGFyZW50OiB0aGlzLmxldmVsc1t0aGlzLmxldmVscy5sZW5ndGggLSAxXS5zZWxlY3RlZCB8fCAnbnVsbCcsXG4gICAgICAgICAgICAgIC4uLnRoaXMuZmlsdGVyLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5nZXQoKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodmFsdWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGxldmVsID0gbmV3IExldmVsKHRoaXMsIHRoaXMubGV2ZWxzLmxlbmd0aCwgW10pO1xuICAgICAgZm9yIChjb25zdCB2IG9mIHZhbHVlcykge1xuICAgICAgICBsZXZlbC5jaG9pY2VzLnB1c2goeyB2YWx1ZTogdi5pZCBhcyBudW1iZXIsIGRlc2M6IHRoaXMuZGlzcGxheSh2KSB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMubGV2ZWxzLnB1c2gobGV2ZWwpO1xuICAgICAgcmV0dXJuIGxldmVsO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVkKGxldmVsOiBMZXZlbDxUPikge1xuICAgIGNvbnN0IG5ld0xldmVsczogTGV2ZWw8VD5bXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbCBvZiB0aGlzLmxldmVscykge1xuICAgICAgaWYgKGwubGV2ZWwgPD0gbGV2ZWwubGV2ZWwpIHtcbiAgICAgICAgbmV3TGV2ZWxzLnB1c2gobCk7XG4gICAgICB9IGVsc2UgaWYgKGwubGV2ZWwgPiBsZXZlbC5sZXZlbCkge1xuICAgICAgICBsLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMubGV2ZWxzID0gbmV3TGV2ZWxzO1xuICAgIHRoaXMuYWRkTGV2ZWwoKTtcbiAgICBpZiAobGV2ZWwuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlZC5uZXh0KGxldmVsLnNlbGVjdGVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jaGFuZ2VkLm5leHQodGhpcy5sZXZlbHNbbGV2ZWwubGV2ZWwgLSAxXT8uc2VsZWN0ZWQgfHwgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHByZXBhcmUodmFsdWU6IG51bWJlcikge1xuICAgIC8vIGNvbnNvbGUubG9nKCdwcmVwYXJlJywgdmFsdWUpO1xuICAgIGNvbnN0IGxldmVsczogVFtdID0gW107XG4gICAgbGV0IGN1ciA9IChcbiAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMucXMuZmlsdGVyKHsgaWQ6IHZhbHVlLCAuLi50aGlzLmZpbHRlciB9KS5nZXQoKSlcbiAgICApWzBdO1xuICAgIGxldmVscy5wdXNoKGN1cik7XG4gICAgbGV0IG5sZXYgPSAwO1xuICAgIHdoaWxlICgoY3VyIGFzIGFueSkucGFyZW50ICE9PSBudWxsKSB7XG4gICAgICBjdXIgPSAoXG4gICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgIHRoaXMucXNcbiAgICAgICAgICAgIC5maWx0ZXIoe1xuICAgICAgICAgICAgICBpZDogKGN1ciBhcyBhbnkpLnBhcmVudCxcbiAgICAgICAgICAgICAgLi4udGhpcy5maWx0ZXIsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmdldCgpXG4gICAgICAgIClcbiAgICAgIClbMF07XG4gICAgICBsZXZlbHMucHVzaChjdXIpO1xuICAgICAgbmxldisrO1xuICAgICAgaWYgKG5sZXYgPiB0aGlzLm1heExldmVsKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdNYXggbGV2ZWwgZXJyb3IsIGNvdWxkIG5vdCBmaW5kIHJvb3QnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IGxldmVscy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgY29uc3QgbHYgPSBhd2FpdCB0aGlzLmFkZExldmVsKCk7XG4gICAgICBpZiAobHYgIT09IG51bGwpIHtcbiAgICAgICAgbHYuc2VsZWN0ZWQgPSBsZXZlbHNbaV0uaWQgYXMgbnVtYmVyO1xuICAgICAgICBsdi5mYy5zZXRWYWx1ZShsZXZlbHNbaV0uaWQgYXMgbnVtYmVyLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmxldmVscy5sZW5ndGggPD0gdGhpcy5tYXhMZXZlbCkge1xuICAgICAgYXdhaXQgdGhpcy5hZGRMZXZlbCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGEtbW9kZWwtbGlzdC10cmVlLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC1saXN0LXRyZWUtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kZWwtbGlzdC10cmVlLWZpbHRlci5jb21wb25lbnQuc2FzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0VHJlZUZpbHRlckNvbXBvbmVudDxUIGV4dGVuZHMgRGF0YU1vZGVsPlxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBASW5wdXQoKSBwdWJsaWMgbGlzdCE6IE1vZGVsTGlzdDxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgZmlsdGVyITogTW9kZWxMaXN0VHJlZUZpbHRlcjxUPjtcbiAgQElucHV0KCkgcHVibGljIGNsYXNzZXM6IHN0cmluZ1tdIHwgc3RyaW5nID0gJyc7XG4gIHB1YmxpYyB0cmVlITogVHJlZTxUPjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMudHJlZSA9IG5ldyBUcmVlKFxuICAgICAgdGhpcy5maWx0ZXIucXVlcnlzZXQsXG4gICAgICB0aGlzLmZpbHRlci5tYXhMZXZlbCxcbiAgICAgIHRoaXMuZmlsdGVyLmRpc3BsYXksXG4gICAgICB0aGlzLmZpbHRlci5maWx0ZXJcbiAgICApO1xuICAgIGlmICh0aGlzLmZpbHRlci5nZXQoKSkge1xuICAgICAgYXdhaXQgdGhpcy50cmVlLnByZXBhcmUodGhpcy5maWx0ZXIuZ2V0KCk/LnZhbHVlIGFzIG51bWJlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMudHJlZS5hZGRMZXZlbCgpO1xuICAgIH1cblxuICAgIHRoaXMudHJlZS5jaGFuZ2VkLnBpcGUoZGVib3VuY2VUaW1lKDI1MCkpLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZygnY2hhbmdlZCcsIHZhbCk7XG4gICAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyLmNsZWFyKCk7XG4gICAgICAgIHRoaXMubGlzdC5maWx0ZXJzLnVwZGF0ZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyLnNldCh2YWwsICcnKSkge1xuICAgICAgICAgIHRoaXMubGlzdC5maWx0ZXJzLnVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyB0aGlzLnRyZWUuY2hhbmdlZC5zdWJzY3JpYmUoKHNlbGVjdGVkKSA9PiB7XG4gICAgLy8gICBjb25zb2xlLmxvZygndHJlZSBjaGFuZ2VkJywgc2VsZWN0ZWQpO1xuICAgIC8vICAgdGhpcy5maWx0ZXIuc2V0KHNlbGVjdGVkLCAnJyk7XG4gICAgLy8gfSk7XG4gICAgLy8gaWYgKHRoaXMuZmlsdGVyLmdldFZhbHVlKCkpIHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKCdmaWx0ZXIgdmFsdWUnLCB0aGlzLmZpbHRlci5nZXRWYWx1ZSgpKTtcbiAgICAvLyAgIGF3YWl0IHRoaXMudHJlZS5wcmVwYXJlKHRoaXMuZmlsdGVyLmdldFZhbHVlKCkgYXMgbnVtYmVyKTtcbiAgICAvLyB9IGVsc2Uge1xuICAgIC8vICAgYXdhaXQgdGhpcy50cmVlLmFkZExldmVsKCk7XG4gICAgLy8gfVxuICB9XG5cbiAgcHVibGljIGRpc2FibGUoKSB7XG4gICAgdGhpcy5maWx0ZXIuZW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMubGlzdC5maWx0ZXJzLnVwZGF0ZSgpO1xuICB9XG59XG4iLCJcbjxkaXYgY2xhc3M9XCJmaWx0ZXJpdGVtXCIgW25nQ2xhc3NdPVwiZmlsdGVyLmRpc3BsYXlDbGFzc2VzIHx8IGNsYXNzZXNcIj5cbiAgPGRpdiBjbGFzcz1cInRyYXNoIGZsb2F0LWVuZFwiIChjbGljayk9XCJkaXNhYmxlKClcIj48aSBjbGFzcz1cImJpIGJpLXRyYXNoXCI+PC9pPjwvZGl2PlxuICA8bGFiZWw+e3tmaWx0ZXIubGFiZWx9fTwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJsZXZlbHNlbGVjdFwiICpuZ0Zvcj1cImxldCBsIG9mIHRyZWUubGV2ZWxzXCI+XG4gICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtXCIgW2Zvcm1Db250cm9sXT1cImwuZmNcIj5cbiAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj57e2ZpbHRlci5oZWxwfX08L29wdGlvbj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNoIG9mIGwuY2hvaWNlc1wiIFt2YWx1ZV09XCJjaC52YWx1ZVwiPnt7Y2guZGVzY319PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export class ModelListTreeFilter extends
|
|
1
|
+
import { ModelListAutocompleteFilter, } from '../model-list-autocomplete-filter/model-list-autocomplete-filter';
|
|
2
|
+
export class ModelListTreeFilter extends ModelListAutocompleteFilter {
|
|
3
3
|
constructor(params) {
|
|
4
4
|
super(params);
|
|
5
|
-
this.
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
this.maxLevel = 5;
|
|
6
|
+
this.type = 'tree';
|
|
7
|
+
if (this.label == '') {
|
|
8
|
+
this.label = 'Sélectionnez dans la hiérarchie';
|
|
8
9
|
}
|
|
9
|
-
if (this.help ==
|
|
10
|
-
this.help =
|
|
10
|
+
if (this.help == '') {
|
|
11
|
+
this.help = 'Texte à rechercher';
|
|
12
|
+
}
|
|
13
|
+
if (params.maxLevel) {
|
|
14
|
+
this.maxLevel = params.maxLevel;
|
|
11
15
|
}
|
|
12
16
|
}
|
|
13
17
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC10cmVlLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tb2RlbGxpc3QvbW9kZWwtbGlzdC1maWx0ZXJzL2ZpbHRlcnMvbW9kZWwtbGlzdC10cmVlLWZpbHRlci9tb2RlbC1saXN0LXRyZWUtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCwyQkFBMkIsR0FFNUIsTUFBTSxrRUFBa0UsQ0FBQztBQU8xRSxNQUFNLE9BQU8sbUJBQ1gsU0FBUSwyQkFBOEI7SUFLdEMsWUFBWSxNQUE4QjtRQUN4QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIVCxhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBSTFCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxpQ0FBaUMsQ0FBQztTQUNoRDtRQUNELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQztTQUNsQztRQUNELElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7U0FDakM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhL2RhdGEtbW9kZWwnO1xuaW1wb3J0IHtcbiAgTW9kZWxMaXN0QXV0b2NvbXBsZXRlRmlsdGVyLFxuICBNb2RlbExpc3RBdXRvY29tcGxldGVQYXJhbXMsXG59IGZyb20gJy4uL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlci9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1maWx0ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsTGlzdFRyZWVQYXJhbXM8VCBleHRlbmRzIERhdGFNb2RlbD5cbiAgZXh0ZW5kcyBNb2RlbExpc3RBdXRvY29tcGxldGVQYXJhbXM8VD4ge1xuICBtYXhMZXZlbD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdFRyZWVGaWx0ZXI8VCBleHRlbmRzIERhdGFNb2RlbD5cbiAgZXh0ZW5kcyBNb2RlbExpc3RBdXRvY29tcGxldGVGaWx0ZXI8VD5cbiAgaW1wbGVtZW50cyBNb2RlbExpc3RUcmVlUGFyYW1zPFQ+XG57XG4gIHB1YmxpYyBtYXhMZXZlbDogbnVtYmVyID0gNTtcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IE1vZGVsTGlzdFRyZWVQYXJhbXM8VD4pIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICAgIHRoaXMudHlwZSA9ICd0cmVlJztcbiAgICBpZiAodGhpcy5sYWJlbCA9PSAnJykge1xuICAgICAgdGhpcy5sYWJlbCA9ICdTw6lsZWN0aW9ubmV6IGRhbnMgbGEgaGnDqXJhcmNoaWUnO1xuICAgIH1cbiAgICBpZiAodGhpcy5oZWxwID09ICcnKSB7XG4gICAgICB0aGlzLmhlbHAgPSAnVGV4dGUgw6AgcmVjaGVyY2hlcic7XG4gICAgfVxuICAgIGlmIChwYXJhbXMubWF4TGV2ZWwpIHtcbiAgICAgIHRoaXMubWF4TGV2ZWwgPSBwYXJhbXMubWF4TGV2ZWw7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -75,6 +75,9 @@ export class ModelListFilter {
|
|
|
75
75
|
getValue() {
|
|
76
76
|
return `${this._value?.value}`;
|
|
77
77
|
}
|
|
78
|
+
get() {
|
|
79
|
+
return this._value;
|
|
80
|
+
}
|
|
78
81
|
mtoggle(value, desc, notify = true) {
|
|
79
82
|
if (this._mvalue.has(`${value}`)) {
|
|
80
83
|
this._mvalue.delete(`${value}`);
|
|
@@ -143,4 +146,4 @@ export class ModelListFilter {
|
|
|
143
146
|
}
|
|
144
147
|
}
|
|
145
148
|
}
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9tb2RlbC1saXN0LWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBZWpELE1BQU0sT0FBTyxlQUFlO0lBdUIxQixZQUFZLE1BQTZCO1FBWmxDLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVyQiwyQkFBMkI7UUFDakIsV0FBTSxHQUEyQixJQUFJLENBQUM7UUFDaEQsNkJBQTZCO1FBQ25CLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUM5QyxzQ0FBc0M7UUFDNUIsYUFBUSxHQUFHLElBQUksYUFBYSxDQUF5QixDQUFDLENBQUMsQ0FBQztRQUNsRSx3Q0FBd0M7UUFDOUIsY0FBUyxHQUFHLElBQUksYUFBYSxDQUFvQixDQUFDLENBQUMsQ0FBQztRQUc1RCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JC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LENBQUMsU0FBUyxDQUFDLElBQUksQ0FDakIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDaEQsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUMvQixDQUFDLENBQUMsQ0FDSCxDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2pDO1NBQ0Y7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJEYXRhIH0gZnJvbSAnLi4vLi4vZGF0YS9kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZJTFRFUl9UWVBFIH0gZnJvbSAnLi9maWx0ZXJzL2ZpbHRlcnR5cGVzJztcbmltcG9ydCB7IElEaXNwRWRpdENob2ljZSB9IGZyb20gJy4uLy4uL2Rpc3BlZGl0L2Rpc3BlZGl0L2Rpc3BlZGl0LmNvbnN0YW50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxMaXN0RmlsdGVyUGFyYW1zIHtcbiAgbmFtZTogc3RyaW5nO1xuICBmaWVsZDogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgaGVscD86IHN0cmluZztcbiAgdmFsdWU/OiBhbnk7XG4gIGRlc2M/OiBhbnk7XG4gIGRlZmF1bHQ/OiBhbnk7XG4gIGRpc3BsYXlDbGFzc2VzPzogc3RyaW5nW10gfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNb2RlbExpc3RGaWx0ZXIgaW1wbGVtZW50cyBNb2RlbExpc3RGaWx0ZXJQYXJhbXMge1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZmllbGQ6IHN0cmluZztcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBoZWxwOiBzdHJpbmc7XG4gIHB1YmxpYyBkZXNjPzogYW55O1xuICBwdWJsaWMgZGVmYXVsdD86IGFueTtcbiAgcHVibGljIHR5cGU6IEZJTFRFUl9UWVBFO1xuICBwdWJsaWMgYWxsb3dlZDogYm9vbGVhbjtcbiAgcHVibGljIGVuYWJsZWQ6IGJvb2xlYW47XG4gIHB1YmxpYyBkaXNwbGF5Q2xhc3Nlcz86IHN0cmluZ1tdIHwgc3RyaW5nO1xuICBwdWJsaWMgcHJpc3RpbmUgPSB0cnVlO1xuICBwdWJsaWMgbXVsdGkgPSBmYWxzZTtcblxuICAvKiogU2luZ2xlIGN1cnJlbnQgdmFsdWUgKi9cbiAgcHJvdGVjdGVkIF92YWx1ZTogSURpc3BFZGl0Q2hvaWNlIHwgbnVsbCA9IG51bGw7XG4gIC8qKiBNdWx0aXBsZSBjdXJyZW50IHZhbHVlICovXG4gIHByb3RlY3RlZCBfbXZhbHVlID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgLyoqIFNpbmdsZSBjdXJyZW50IHZhbHVlIG9ic2VydmFibGUgKi9cbiAgcHJvdGVjdGVkIF9jdXJyZW50ID0gbmV3IFJlcGxheVN1YmplY3Q8SURpc3BFZGl0Q2hvaWNlIHwgbnVsbD4oMSk7XG4gIC8qKiBNdWx0aXBsZSBjdXJyZW50IHZhbHVlIG9ic2VydmFibGUgKi9cbiAgcHJvdGVjdGVkIF9tY3VycmVudCA9IG5ldyBSZXBsYXlTdWJqZWN0PElEaXNwRWRpdENob2ljZVtdPigxKTtcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IE1vZGVsTGlzdEZpbHRlclBhcmFtcykge1xuICAgIHRoaXMubmFtZSA9IHBhcmFtcy5uYW1lO1xuICAgIHRoaXMuZmllbGQgPSBwYXJhbXMuZmllbGQ7XG4gICAgdGhpcy5sYWJlbCA9IHBhcmFtcy5sYWJlbCB8fCAnJztcbiAgICB0aGlzLmhlbHAgPSBwYXJhbXMuaGVscCB8fCAnJztcbiAgICB0aGlzLmRlc2MgPSBwYXJhbXMuZGVzYztcbiAgICB0aGlzLmRpc3BsYXlDbGFzc2VzID0gcGFyYW1zLmRpc3BsYXlDbGFzc2VzO1xuICAgIHRoaXMuYWxsb3dlZCA9IGZhbHNlO1xuICAgIHRoaXMuZW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMudHlwZSA9ICd0ZXh0JztcbiAgICB0aGlzLmRlZmF1bHQgPSBwYXJhbXMuZGVmYXVsdDtcbiAgICAvLyBGSVhNRTogYWRkIHZhbHVlIGluaXRcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWN1cnJlbnQkKCk6IE9ic2VydmFibGU8SURpc3BFZGl0Q2hvaWNlW10+IHtcbiAgICByZXR1cm4gdGhpcy5fbWN1cnJlbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnQkKCk6IE9ic2VydmFibGU8SURpc3BFZGl0Q2hvaWNlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZUNoYW5nZXMoKTogT2JzZXJ2YWJsZTxcbiAgICBJRGlzcEVkaXRDaG9pY2UgfCBJRGlzcEVkaXRDaG9pY2VbXSB8IG51bGxcbiAgPiB7XG4gICAgaWYgKHRoaXMubXVsdGkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9tY3VycmVudC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRmlsdGVyKGZpbHRlcjogRmlsdGVyRGF0YSkge1xuICAgIGlmICh0aGlzLm11bHRpICYmIHRoaXMuX212YWx1ZS5zaXplID4gMCkge1xuICAgICAgZmlsdGVyW3RoaXMuZmllbGRdID0gdGhpcy5nZXRNdWx0aVZhbHVlKCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICF0aGlzLm11bHRpICYmXG4gICAgICB0aGlzLl92YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLl92YWx1ZSAhPT0gbnVsbFxuICAgICkge1xuICAgICAgZmlsdGVyW3RoaXMuZmllbGRdID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhcihub3RpZnk6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgaWYgKHRoaXMubXVsdGkpIHtcbiAgICAgIHRoaXMuX212YWx1ZSA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5ub3RpZnkobm90aWZ5KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQodmFsdWU6IGFueSwgZGVzYzogc3RyaW5nLCBub3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubXVsdGkpIHtcbiAgICAgIHJldHVybiB0aGlzLm1zZXQodmFsdWUsIGRlc2MsIG5vdGlmeSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNzZXQodmFsdWUsIGRlc2MsIG5vdGlmeSk7XG4gIH1cblxuICBwdWJsaWMgdW5zZXQodmFsdWU6IGFueSwgZGVzYzogc3RyaW5nLCBub3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubXVsdGkpIHtcbiAgICAgIHJldHVybiB0aGlzLm11bnNldCh2YWx1ZSwgZGVzYywgbm90aWZ5KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc3Vuc2V0KHZhbHVlLCBkZXNjLCBub3RpZnkpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZSh2YWx1ZTogYW55LCBkZXNjOiBzdHJpbmcsIG5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tdWx0aSkge1xuICAgICAgcmV0dXJuIHRoaXMubXRvZ2dsZSh2YWx1ZSwgZGVzYywgbm90aWZ5KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc3RvZ2dsZSh2YWx1ZSwgZGVzYywgbm90aWZ5KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZSgpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIHJldHVybiBgJHt0aGlzLl92YWx1ZT8udmFsdWV9YDtcbiAgfVxuXG4gIHByaXZhdGUgbXRvZ2dsZSh2YWx1ZTogYW55LCBkZXNjOiBzdHJpbmcsIG5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fbXZhbHVlLmhhcyhgJHt2YWx1ZX1gKSkge1xuICAgICAgdGhpcy5fbXZhbHVlLmRlbGV0ZShgJHt2YWx1ZX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbXZhbHVlLnNldChgJHt2YWx1ZX1gLCBkZXNjKTtcbiAgICB9XG4gICAgdGhpcy5ub3RpZnkobm90aWZ5KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgbXNldCh2YWx1ZTogYW55LCBkZXNjOiBzdHJpbmcsIG5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX212YWx1ZS5oYXMoYCR7dmFsdWV9YCkpIHtcbiAgICAgIHRoaXMuX212YWx1ZS5zZXQoYCR7dmFsdWV9YCwgZGVzYyk7XG4gICAgICB0aGlzLm5vdGlmeShub3RpZnkpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgbXVuc2V0KHZhbHVlOiBhbnksIGRlc2M6IHN0cmluZywgbm90aWZ5OiBib29sZWFuID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9tdmFsdWUuaGFzKGAke3ZhbHVlfWApKSB7XG4gICAgICB0aGlzLl9tdmFsdWUuZGVsZXRlKGAke3ZhbHVlfWApO1xuICAgICAgdGhpcy5ub3RpZnkobm90aWZ5KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHN0b2dnbGUodmFsdWU6IGFueSwgZGVzYzogc3RyaW5nLCBub3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlICE9PSBudWxsICYmIHRoaXMuX3ZhbHVlLnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHsgdmFsdWUsIGRlc2MgfTtcbiAgICB9XG4gICAgdGhpcy5ub3RpZnkobm90aWZ5KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc3NldCh2YWx1ZTogYW55LCBkZXNjOiBzdHJpbmcsIG5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICBpZiAoISh0aGlzLl92YWx1ZSAhPT0gbnVsbCAmJiB0aGlzLl92YWx1ZS52YWx1ZSA9PT0gdmFsdWUpKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHsgdmFsdWUsIGRlc2MgfTtcbiAgICAgIHRoaXMubm90aWZ5KG5vdGlmeSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdW5zZXQodmFsdWU6IGFueSwgZGVzYzogc3RyaW5nLCBub3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLm5vdGlmeShub3RpZnkpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TXVsdGlWYWx1ZSgpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX212YWx1ZS5rZXlzKCkpLmpvaW4oJywnKTtcbiAgfVxuXG4gIHByaXZhdGUgbm90aWZ5KG5vdGlmeTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBpZiAobm90aWZ5KSB7XG4gICAgICBpZiAodGhpcy5tdWx0aSkge1xuICAgICAgICB0aGlzLl9tY3VycmVudC5uZXh0KFxuICAgICAgICAgIEFycmF5LmZyb20odGhpcy5fbXZhbHVlLmVudHJpZXMoKSkubWFwKChbaywgdl0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7IGRlc2M6IHYsIHZhbHVlOiBrIH07XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnQubmV4dCh0aGlzLl92YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9tb2RlbC1saXN0LWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBZWpELE1BQU0sT0FBTyxlQUFlO0lBdUIxQixZQUFZLE1BQTZCO1FBWmxDLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVyQiwyQkFBMkI7UUFDakIsV0FBTSxHQUEyQixJQUFJLENBQUM7UUFDaEQsNkJBQTZCO1FBQ25CLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUM5QyxzQ0FBc0M7UUFDNUIsYUFBUSxHQUFHLElBQUksYUFBYSxDQUF5QixDQUFDLENBQUMsQ0FBQztRQUNsRSx3Q0FBd0M7UUFDOUIsY0FBUyxHQUFHLElBQUksYUFBYSxDQUFvQixDQUFDLENBQUMsQ0FBQztRQUc1RCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JC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LE1BQU0sRUFBRTtZQUNWLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDakIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDaEQsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUMvQixDQUFDLENBQUMsQ0FDSCxDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2pDO1NBQ0Y7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJEYXRhIH0gZnJvbSAnLi4vLi4vZGF0YS9kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZJTFRFUl9UWVBFIH0gZnJvbSAnLi9maWx0ZXJzL2ZpbHRlcnR5cGVzJztcbmltcG9ydCB7IElEaXNwRWRpdENob2ljZSB9IGZyb20gJy4uLy4uL2Rpc3BlZGl0L2Rpc3BlZGl0L2Rpc3BlZGl0LmNvbnN0YW50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxMaXN0RmlsdGVyUGFyYW1zIHtcbiAgbmFtZTogc3RyaW5nO1xuICBmaWVsZDogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgaGVscD86IHN0cmluZztcbiAgdmFsdWU/OiBhbnk7XG4gIGRlc2M/OiBhbnk7XG4gIGRlZmF1bHQ/OiBhbnk7XG4gIGRpc3BsYXlDbGFzc2VzPzogc3RyaW5nW10gfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNb2RlbExpc3RGaWx0ZXIgaW1wbGVtZW50cyBNb2RlbExpc3RGaWx0ZXJQYXJhbXMge1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZmllbGQ6IHN0cmluZztcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBoZWxwOiBzdHJpbmc7XG4gIHB1YmxpYyBkZXNjPzogYW55O1xuICBwdWJsaWMgZGVmYXVsdD86IGFueTtcbiAgcHVibGljIHR5cGU6IEZJTFRFUl9UWVBFO1xuICBwdWJsaWMgYWxsb3dlZDogYm9vbGVhbjtcbiAgcHVibGljIGVuYWJsZWQ6IGJvb2xlYW47XG4gIHB1YmxpYyBkaXNwbGF5Q2xhc3Nlcz86IHN0cmluZ1tdIHwgc3RyaW5nO1xuICBwdWJsaWMgcHJpc3RpbmUgPSB0cnVlO1xuICBwdWJsaWMgbXVsdGkgPSBmYWxzZTtcblxuICAvKiogU2luZ2xlIGN1cnJlbnQgdmFsdWUgKi9cbiAgcHJvdGVjdGVkIF92YWx1ZTogSURpc3BFZGl0Q2hvaWNlIHwgbnVsbCA9IG51bGw7XG4gIC8qKiBNdWx0aXBsZSBjdXJyZW50IHZhbHVlICovXG4gIHByb3RlY3RlZCBfbXZhbHVlID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgLyoqIFNpbmdsZSBjdXJyZW50IHZhbHVlIG9ic2VydmFibGUgKi9cbiAgcHJvdGVjdGVkIF9jdXJyZW50ID0gbmV3IFJlcGxheVN1YmplY3Q8SURpc3BFZGl0Q2hvaWNlIHwgbnVsbD4oMSk7XG4gIC8qKiBNdWx0aXBsZSBjdXJyZW50IHZhbHVlIG9ic2VydmFibGUgKi9cbiAgcHJvdGVjdGVkIF9tY3VycmVudCA9IG5ldyBSZXBsYXlTdWJqZWN0PElEaXNwRWRpdENob2ljZVtdPigxKTtcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IE1vZGVsTGlzdEZpbHRlclBhcmFtcykge1xuICAgIHRoaXMubmFtZSA9IHBhcmFtcy5uYW1lO1xuICAgIHRoaXMuZmllbGQgPSBwYXJhbXMuZmllbGQ7XG4gICAgdGhpcy5sYWJlbCA9IHBhcmFtcy5sYWJlbCB8fCAnJztcbiAgICB0aGlzLmhlbHAgPSBwYXJhbXMuaGVscCB8fCAnJztcbiAgICB0aGlzLmRlc2MgPSBwYXJhbXMuZGVzYztcbiAgICB0aGlzLmRpc3BsYXlDbGFzc2VzID0gcGFyYW1zLmRpc3BsYXlDbGFzc2VzO1xuICAgIHRoaXMuYWxsb3dlZCA9IGZhbHNlO1xuICAgIHRoaXMuZW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMudHlwZSA9ICd0ZXh0JztcbiAgICB0aGlzLmRlZmF1bHQgPSBwYXJhbXMuZGVmYXVsdDtcbiAgICAvLyBGSVhNRTogYWRkIHZhbHVlIGluaXRcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWN1cnJlbnQkKCk6IE9ic2VydmFibGU8SURpc3BFZGl0Q2hvaWNlW10+IHtcbiAgICByZXR1cm4gdGhpcy5fbWN1cnJlbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnQkKCk6IE9ic2VydmFibGU8SURpc3BFZGl0Q2hvaWNlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZUNoYW5nZXMoKTogT2JzZXJ2YWJsZTxcbiAgICBJRGlzcEVkaXRDaG9pY2UgfCBJRGlzcEVkaXRDaG9pY2VbXSB8IG51bGxcbiAgPiB7XG4gICAgaWYgKHRoaXMubXVsdGkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9tY3VycmVudC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRmlsdGVyKGZpbHRlcjogRmlsdGVyRGF0YSkge1xuICAgIGlmICh0aGlzLm11bHRpICYmIHRoaXMuX212YWx1ZS5zaXplID4gMCkge1xuICAgICAgZmlsdGVyW3RoaXMuZmllbGRdID0gdGhpcy5nZXRNdWx0aVZhbHVlKCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICF0aGlzLm11bHRpICYmXG4gICAgICB0aGlzLl92YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLl92YWx1ZSAhPT0gbnVsbFxuICAgICkge1xuICAgICAgZmlsdGVyW3RoaXMuZmllbGRdID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhcihub3RpZnk6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgaWYgKHRoaXMubXVsdGkpIHtcbiAgICAgIHRoaXMuX212YWx1ZSA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5ub3RpZnkobm90aWZ5KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQodmFsdWU6IGFueSwgZGVzYzogc3RyaW5nLCBub3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubXVsdGkpIHtcbiAgICAgIHJldHVybiB0aGlzLm1zZXQodmFsdWUsIGRlc2MsIG5vdGlmeSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNzZXQodmFsdWUsIGRlc2MsIG5vdGlmeSk7XG4gIH1cblxuICBwdWJsaWMgdW5zZXQodmFsdWU6IGFueSwgZGVzYzogc3RyaW5nLCBub3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubXVsdGkpIHtcbiAgICAgIHJldHVybiB0aGlzLm11bnNldCh2YWx1ZSwgZGVzYywgbm90aWZ5KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc3Vuc2V0KHZhbHVlLCBkZXNjLCBub3RpZnkpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZSh2YWx1ZTogYW55LCBkZXNjOiBzdHJpbmcsIG5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tdWx0aSkge1xuICAgICAgcmV0dXJuIHRoaXMubXRvZ2dsZSh2YWx1ZSwgZGVzYywgbm90aWZ5KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc3RvZ2dsZSh2YWx1ZSwgZGVzYywgbm90aWZ5KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZSgpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIHJldHVybiBgJHt0aGlzLl92YWx1ZT8udmFsdWV9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoKTogSURpc3BFZGl0Q2hvaWNlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBtdG9nZ2xlKHZhbHVlOiBhbnksIGRlc2M6IHN0cmluZywgbm90aWZ5OiBib29sZWFuID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9tdmFsdWUuaGFzKGAke3ZhbHVlfWApKSB7XG4gICAgICB0aGlzLl9tdmFsdWUuZGVsZXRlKGAke3ZhbHVlfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9tdmFsdWUuc2V0KGAke3ZhbHVlfWAsIGRlc2MpO1xuICAgIH1cbiAgICB0aGlzLm5vdGlmeShub3RpZnkpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBtc2V0KHZhbHVlOiBhbnksIGRlc2M6IHN0cmluZywgbm90aWZ5OiBib29sZWFuID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5fbXZhbHVlLmhhcyhgJHt2YWx1ZX1gKSkge1xuICAgICAgdGhpcy5fbXZhbHVlLnNldChgJHt2YWx1ZX1gLCBkZXNjKTtcbiAgICAgIHRoaXMubm90aWZ5KG5vdGlmeSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBtdW5zZXQodmFsdWU6IGFueSwgZGVzYzogc3RyaW5nLCBub3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX212YWx1ZS5oYXMoYCR7dmFsdWV9YCkpIHtcbiAgICAgIHRoaXMuX212YWx1ZS5kZWxldGUoYCR7dmFsdWV9YCk7XG4gICAgICB0aGlzLm5vdGlmeShub3RpZnkpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvZ2dsZSh2YWx1ZTogYW55LCBkZXNjOiBzdHJpbmcsIG5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fdmFsdWUgIT09IG51bGwgJiYgdGhpcy5fdmFsdWUudmFsdWUgPT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0geyB2YWx1ZSwgZGVzYyB9O1xuICAgIH1cbiAgICB0aGlzLm5vdGlmeShub3RpZnkpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzc2V0KHZhbHVlOiBhbnksIGRlc2M6IHN0cmluZywgbm90aWZ5OiBib29sZWFuID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICAgIGlmICghKHRoaXMuX3ZhbHVlICE9PSBudWxsICYmIHRoaXMuX3ZhbHVlLnZhbHVlID09PSB2YWx1ZSkpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0geyB2YWx1ZSwgZGVzYyB9O1xuICAgICAgdGhpcy5ub3RpZnkobm90aWZ5KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHN1bnNldCh2YWx1ZTogYW55LCBkZXNjOiBzdHJpbmcsIG5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fdmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMubm90aWZ5KG5vdGlmeSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNdWx0aVZhbHVlKCk6IHN0cmluZyB8IG51bWJlciB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5fbXZhbHVlLmtleXMoKSkuam9pbignLCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBub3RpZnkobm90aWZ5OiBib29sZWFuID0gdHJ1ZSkge1xuICAgIGlmIChub3RpZnkpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpKSB7XG4gICAgICAgIHRoaXMuX21jdXJyZW50Lm5leHQoXG4gICAgICAgICAgQXJyYXkuZnJvbSh0aGlzLl9tdmFsdWUuZW50cmllcygpKS5tYXAoKFtrLCB2XSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgZGVzYzogdiwgdmFsdWU6IGsgfTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fY3VycmVudC5uZXh0KHRoaXMuX3ZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|