bx-rest 0.2.1 → 0.2.2
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/README.md +32 -2
- package/esm2022/map/calendar.mjs +17 -0
- package/esm2022/map/lists/element.mjs +1 -1
- package/esm2022/map/lists.mjs +10 -3
- package/esm2022/map/log/blogpost.mjs +82 -0
- package/esm2022/map/log.mjs +17 -0
- package/esm2022/map/task/commentitem.mjs +54 -0
- package/esm2022/map/task/elapseditem.mjs +20 -3
- package/esm2022/map/task/result.mjs +15 -0
- package/esm2022/map/task/stages.mjs +21 -0
- package/esm2022/map/task.mjs +23 -0
- package/esm2022/map/tasks.mjs +17 -0
- package/esm2022/map/user.mjs +9 -6
- package/esm2022/map.mjs +33 -0
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/request/task/elapseditem.mjs +2 -2
- package/esm2022/request/user.mjs +8 -27
- package/esm2022/request-navvy/task/elapseditem.mjs +8 -8
- package/esm2022/request-navvy/task/operation/elapseditem.mjs +6 -20
- package/esm2022/request-navvy/user.mjs +23 -3
- package/esm2022/services/Navvy/NavvyAlternativePaginationNavigation.mjs +26 -35
- package/esm2022/services/Navvy/NavvyPagNav.mjs +3 -3
- package/esm2022/services/Navvy/extends/NavvyPagNavBase.mjs +5 -2
- package/esm2022/services/navvy.mjs +2 -2
- package/esm2022/typification/rest/base/ApiPaginationBX.mjs +1 -1
- package/esm2022/typification/rest/task/commentitem/commentitem.mjs +2 -0
- package/esm2022/typification/rest/task/elapseditem/get.mjs +1 -1
- package/esm2022/typification/rest/task/elapseditem/item.mjs +1 -1
- package/esm2022/typification/rest/task/stages/stage.mjs +2 -0
- package/fesm2022/bx-rest.mjs +453 -203
- package/fesm2022/bx-rest.mjs.map +1 -1
- package/map/calendar.d.ts +8 -0
- package/map/lists.d.ts +5 -0
- package/map/log/blogpost.d.ts +10 -0
- package/map/log.d.ts +8 -0
- package/map/task/commentitem.d.ts +10 -0
- package/map/task/elapseditem.d.ts +5 -1
- package/map/task/result.d.ts +6 -0
- package/map/task/stages.d.ts +8 -0
- package/map/task.d.ts +14 -0
- package/map/tasks.d.ts +8 -0
- package/map/user.d.ts +4 -3
- package/map.d.ts +24 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/request/task/elapseditem.d.ts +1 -1
- package/request/user.d.ts +2 -4
- package/request-navvy/task/elapseditem.d.ts +3 -3
- package/request-navvy/task/operation/elapseditem.d.ts +5 -10
- package/request-navvy/user.d.ts +8 -8
- package/services/Navvy/NavvyAlternativePaginationNavigation.d.ts +6 -13
- package/services/Navvy/extends/NavvyPagNavBase.d.ts +2 -1
- package/services/navvy.d.ts +2 -4
- package/typification/rest/base/ApiPaginationBX.d.ts +8 -0
- package/typification/rest/task/commentitem/commentitem.d.ts +36 -0
- package/typification/rest/task/elapseditem/get.d.ts +2 -7
- package/typification/rest/task/elapseditem/item.d.ts +0 -1
- package/typification/rest/task/stages/stage.d.ts +19 -0
|
@@ -15,7 +15,7 @@ export class BXRestElapseditem {
|
|
|
15
15
|
update: [$task, $elapseditem, $update], // Изменяет параметры записи о затраченном времени
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
-
getList(param =
|
|
18
|
+
getList(param = {}) {
|
|
19
19
|
return this.http.post(this.url.getlist, param);
|
|
20
20
|
}
|
|
21
21
|
add(param) {
|
|
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
59
59
|
providedIn: 'root'
|
|
60
60
|
}]
|
|
61
61
|
}], ctorParameters: function () { return [{ type: i1.HttpBXServices }]; } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0L3Rhc2svZWxhcHNlZGl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQ0wsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFDNUYsTUFBTSwrQkFBK0IsQ0FBQTs7O0FBWXRDLE1BQU0sT0FBTyxpQkFBaUI7SUFZNUIsWUFBb0IsSUFBb0I7UUFBcEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFWeEMsUUFBRyxHQUFHO1lBQ0osV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUM7WUFDaEQsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUM7WUFDeEMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUM7WUFDaEMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUM7WUFDaEMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUM7WUFDdEMsZUFBZSxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztZQUN4RCxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxFQUFFLGtEQUFrRDtTQUMzRixDQUFBO0lBR0QsQ0FBQztJQUVELE9BQU8sQ0FDTCxRQUFvQyxFQUFFO1FBRXRDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTJCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzFFLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBaUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQ1osS0FBSyxFQUNMO1lBQ0UsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxLQUFLO2dCQUNYLFFBQVEsRUFBRSxLQUFLO2FBQ2hCO1NBQ0YsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFvQztRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUVuQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFDZixLQUFLLEVBQ0w7WUFDRSxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsUUFBUSxFQUFFLEtBQUs7YUFDaEI7U0FDRixDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLEtBQWlDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUNmLEtBQUssQ0FDTixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILGVBQWUsQ0FBQyxLQUE0QjtRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFVLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ2pFLENBQUM7OEdBbkVVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtcclxuICAkYWRkLCAkZGVsZXRlLCAkZWxhcHNlZGl0ZW0sICRnZXQsICRnZXRsaXN0LCAkZ2V0bWFuaWZlc3QsICRpc2FjdGlvbmFsbG93ZWQsICR0YXNrLCAkdXBkYXRlXHJcbn0gZnJvbSAnLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRvZHMnXHJcbmltcG9ydCB7IEh0dHBCWFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9IdHRwQlgnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0IH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9nZXQnXHJcbmltcG9ydCB7IGlCWFJlc3RFbGFwc2VkSXRlbUh0dHAgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2l0ZW0nXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9hZGQnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVVwZGF0ZUVsYXBzZWRpdGVtIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS91cGRhdGUnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbURlbEVsYXBzZWRpdGVtIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9kZWwnXHJcbmltcG9ydCB7IGlJc0FjdGlvbkFsbG93ZWRQYXJhbSB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vaXNBY3Rpb25BbGxvd2VkUGFyYW0nXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3RFbGFwc2VkaXRlbSB7XHJcblxyXG4gIHVybCA9IHtcclxuICAgIGdldG1hbmlmZXN0OiBbJHRhc2ssICRlbGFwc2VkaXRlbSwgJGdldG1hbmlmZXN0XSwgLy8g0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INC80LXRgtC+0LTQvtCyINC4INC40YUg0L7Qv9C40YHQsNC90LjQtVxyXG4gICAgZ2V0bGlzdDogWyR0YXNrLCAkZWxhcHNlZGl0ZW0sICRnZXRsaXN0XSwgLy8g0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INC30LDQv9C40YHQtdC5INC+INC30LDRgtGA0LDRh9C10L3QvdC+0Lwg0LLRgNC10LzQtdC90Lgg0L/QviDQt9Cw0LTQsNGH0LVcclxuICAgIGdldDogWyR0YXNrLCAkZWxhcHNlZGl0ZW0sICRnZXRdLCAvLyDQktC+0LfQstGA0LDRidCw0LXRgiDQt9Cw0L/QuNGB0Ywg0L4g0LfQsNGC0YDQsNGH0LXQvdC90L7QvCDQstGA0LXQvNC10L3QuCDQv9C+INC10LUg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRg1xyXG4gICAgYWRkOiBbJHRhc2ssICRlbGFwc2VkaXRlbSwgJGFkZF0sIC8vINCU0L7QsdCw0LLQu9GP0LXRgiDQt9Cw0YLRgNCw0YfQtdC90L3QvtC1INCy0YDQtdC80Y8g0Log0LfQsNC00LDRh9C1XHJcbiAgICBkZWxldGU6IFskdGFzaywgJGVsYXBzZWRpdGVtLCAkZGVsZXRlXSwgLy8g0KPQtNCw0LvRj9C10YIg0LfQsNC/0LjRgdGMINC+INC30LDRgtGA0LDRh9C10L3QvdC+0Lwg0LLRgNC10LzQtdC90LhcclxuICAgIGlzYWN0aW9uYWxsb3dlZDogWyR0YXNrLCAkZWxhcHNlZGl0ZW0sICRpc2FjdGlvbmFsbG93ZWRdLCAvLyDQn9GA0L7QstC10YDRj9C10YIg0YDQsNC30YDQtdGI0LXQvdC+INC70Lgg0LTQtdC50YHRgtCy0LjQtVxyXG4gICAgdXBkYXRlOiBbJHRhc2ssICRlbGFwc2VkaXRlbSwgJHVwZGF0ZV0sIC8vINCY0LfQvNC10L3Rj9C10YIg0L/QsNGA0LDQvNC10YLRgNGLINC30LDQv9C40YHQuCDQviDQt9Cw0YLRgNCw0YfQtdC90L3QvtC8INCy0YDQtdC80LXQvdC4XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBCWFNlcnZpY2VzKSB7XHJcbiAgfVxyXG5cclxuICBnZXRMaXN0KFxyXG4gICAgcGFyYW06IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0ID0ge31cclxuICApIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0RWxhcHNlZEl0ZW1IdHRwW10+KHRoaXMudXJsLmdldGxpc3QsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgYWRkKHBhcmFtOiBpQlhSZXN0UGFyYW1BZGRFbGFwc2VkaXRlbSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bWJlcj4oXHJcbiAgICAgIHRoaXMudXJsLmFkZCxcclxuICAgICAgcGFyYW0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aW1lWm9uZToge1xyXG4gICAgICAgICAgY2FsYzogZmFsc2UsXHJcbiAgICAgICAgICBsZXZlbE91dDogZmFsc2VcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIClcclxuICB9XHJcblxyXG4gIHVwZGF0ZShwYXJhbTogaUJYUmVzdFBhcmFtVXBkYXRlRWxhcHNlZGl0ZW0pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPlxyXG4gICAgKFxyXG4gICAgICB0aGlzLnVybC51cGRhdGUsXHJcbiAgICAgIHBhcmFtLFxyXG4gICAgICB7XHJcbiAgICAgICAgdGltZVpvbmU6IHtcclxuICAgICAgICAgIGNhbGM6IGZhbHNlLFxyXG4gICAgICAgICAgbGV2ZWxPdXQ6IGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBkZWwocGFyYW06IGlCWFJlc3RQYXJhbURlbEVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4oXHJcbiAgICAgIHRoaXMudXJsLmRlbGV0ZSxcclxuICAgICAgcGFyYW1cclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGlkQWN0aW9uOlxyXG4gICAqIDEgLSBBQ1RJT05fRUxBUFNFRF9USU1FX0FERFxyXG4gICAqIDIgLSBBQ1RJT05fRUxBUFNFRF9USU1FX01PRElGWVxyXG4gICAqIDMgLSBBQ1RJT05fRUxBUFNFRF9USU1FX1JFTU9WRVxyXG4gICAqIElURU1JRCAtINC+0LHRj9C30LDRgtC10LvQtdC9INCyINC60L7QvdC10YfQvdC+0Lkg0L7RgtC/0YDQsNCy0LrQtSDQvdC+INC90LUg0L7QsdGP0LfQsNGC0LXQu9C10L0g0LTQu9GPIEFDVElPTl9FTEFQU0VEX1RJTUVfQURELFxyXG4gICAqINC/0L7RjdGC0L7QvNGDINGN0YLQvtC8INC80LXRgtC+0LTQtSDQvNC+0LbQvdC+INGB0YLQsNCy0LjRgtGMIFwiMVwiINC90LDQv9GA0LjQvNC10YAsINGC0LDQuiDQttC1INC80LXRgtC+0LQg0LzQvtC20LXRgiDQstGL0LTQsNCy0LDRgtGMINC+0YjQuNCx0LrQuCDQviDQvdC1INC00L7RgdGC0YPQv9C90L7RgdGC0Lgg0LfQsNC00LDRh9C4XHJcbiAgICog0L/QvtGN0YLQvtC80YMg0YDQtdC60L7QvNC10L3QtNGD0Y4g0LLQvtGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINCw0L3QsNC70L7Qs9C40YfQvdGL0Lwg0LzQtdGC0L7QtNC+0Lwg0LIg0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC1INC40LzQtdC9IG5hdnZ5XHJcbiAgICogQHBhcmFtIHBhcmFtXHJcbiAgICovXHJcbiAgaXNBY3Rpb25BbGxvd2VkKHBhcmFtOiBpSXNBY3Rpb25BbGxvd2VkUGFyYW0pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxib29sZWFuPih0aGlzLnVybC5pc2FjdGlvbmFsbG93ZWQsIHBhcmFtKVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
package/esm2022/request/user.mjs
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { share
|
|
1
|
+
import { share } from 'rxjs';
|
|
2
2
|
import { $get, $search, $update, $user } from '../consts/part-name-metods';
|
|
3
3
|
import { Injectable } from '@angular/core';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../services/http/HttpBX";
|
|
6
|
-
import * as i2 from "
|
|
7
|
-
import * as i3 from "./user/userfield";
|
|
6
|
+
import * as i2 from "./user/userfield";
|
|
8
7
|
export class BXRestUser {
|
|
9
|
-
constructor(http,
|
|
8
|
+
constructor(http, userfield) {
|
|
10
9
|
this.http = http;
|
|
11
|
-
this.BXRestUserMap = BXRestUserMap;
|
|
12
10
|
this.userfield = userfield;
|
|
13
11
|
this.url = {
|
|
14
12
|
admin: [$user, 'admin'],
|
|
@@ -38,25 +36,8 @@ export class BXRestUser {
|
|
|
38
36
|
return request.pipe(share());
|
|
39
37
|
}
|
|
40
38
|
}
|
|
41
|
-
update(user
|
|
42
|
-
|
|
43
|
-
let sendData = {
|
|
44
|
-
ID: user.ID,
|
|
45
|
-
};
|
|
46
|
-
const userBX = this.BXRestUserMap.BXtoHttp(user);
|
|
47
|
-
for (const field of fieldUpdate) {
|
|
48
|
-
if (userBX[field]) {
|
|
49
|
-
sendData[field] = userBX[field];
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
return throwError(() => 'One sent field is empty');
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return this.http.post(this.url.update, sendData);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
return throwError(() => 'All sent field for edit is empty');
|
|
59
|
-
}
|
|
39
|
+
update(user) {
|
|
40
|
+
return this.http.post(this.url.update, user);
|
|
60
41
|
}
|
|
61
42
|
search(params) {
|
|
62
43
|
return this.http.get(this.url.search, params);
|
|
@@ -67,7 +48,7 @@ export class BXRestUser {
|
|
|
67
48
|
fields() {
|
|
68
49
|
return this.http.get(this.url.fields);
|
|
69
50
|
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestUser, deps: [{ token: i1.HttpBXServices }, { token: i2.
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestUser, deps: [{ token: i1.HttpBXServices }, { token: i2.BXRestUserUserfield }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
71
52
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestUser, providedIn: 'root' }); }
|
|
72
53
|
}
|
|
73
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestUser, decorators: [{
|
|
@@ -75,5 +56,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
75
56
|
args: [{
|
|
76
57
|
providedIn: 'root'
|
|
77
58
|
}]
|
|
78
|
-
}], ctorParameters: function () { return [{ type: i1.HttpBXServices }, { type: i2.
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
}], ctorParameters: function () { return [{ type: i1.HttpBXServices }, { type: i2.BXRestUserUserfield }]; } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBSTVCLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7O0FBUTFDLE1BQU0sT0FBTyxVQUFVO0lBZXJCLFlBQ1UsSUFBb0IsRUFDckIsU0FBOEI7UUFEN0IsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFmdkMsUUFBRyxHQUFHO1lBQ0osS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUN2QixHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUM7WUFDM0IsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUN4QixNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBQ3hCLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7WUFDekIsdUNBQXVDO1lBQ3ZDLDRCQUE0QjtZQUM1QixxQkFBcUI7WUFDckIsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztTQUMxQixDQUFBO0lBTUQsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFVLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVELEdBQUcsQ0FBQyxTQUE4QixFQUFFO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBRW5CLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUNaLE1BQU0sQ0FDUCxDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSztRQUNwQixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBa0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDbEUsSUFBSSxNQUFNLEVBQUU7WUFDVixPQUFPLE9BQU8sQ0FBQTtTQUNmO2FBQU07WUFDTCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLEtBQUssRUFBRSxDQUNSLENBQUE7U0FDRjtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsSUFBMEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQ2YsSUFBSSxDQUNMLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQThCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW9CLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBcUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQTtJQUM3RixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXNDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDNUUsQ0FBQzs4R0E3RFUsVUFBVTtrSEFBVixVQUFVLGNBRlQsTUFBTTs7MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFyZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1Vc2VyR2V0IH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlci9nZXQnXG5pbXBvcnQgeyBIdHRwQlhTZXJ2aWNlcyB9IGZyb20gJy4uL3NlcnZpY2VzL2h0dHAvSHR0cEJYJ1xuaW1wb3J0IHsgaUJYUmVzdFVzZXIsIGlCWFJlc3RVc2VySHR0cCwgaUJYUmVzdFVzZXJIdHRwRmllbGQgfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC91c2VyL3VzZXInXG5pbXBvcnQgeyAkZ2V0LCAkc2VhcmNoLCAkdXBkYXRlLCAkdXNlciB9IGZyb20gJy4uL2NvbnN0cy9wYXJ0LW5hbWUtbWV0b2RzJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBpQlhSZXN0QW5zd2VyIH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hbnN3ZXInXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1Vc2VyU2VhcmNoIH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlci9zZWFyY2gnXG5pbXBvcnQgeyBCWFJlc3RVc2VyVXNlcmZpZWxkIH0gZnJvbSAnLi91c2VyL3VzZXJmaWVsZCdcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQlhSZXN0VXNlciB7XG5cbiAgdXJsID0ge1xuICAgIGFkbWluOiBbJHVzZXIsICdhZG1pbiddLFxuICAgIGdldDogWyR1c2VyLCAkZ2V0XSxcbiAgICBjdXJyZW50OiBbJHVzZXIsICdjdXJyZW50J10sXG4gICAgdXBkYXRlOiBbJHVzZXIsICR1cGRhdGVdLFxuICAgIHNlYXJjaDogWyR1c2VyLCAkc2VhcmNoXSxcbiAgICBhY2Nlc3M6IFskdXNlciwgJ2FjY2VzcyddLCAvLyBVMSAtINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDRgSBpZCA9MVxuICAgIC8vIEFVIC0g0LLRgdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L3QvdGL0LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C4XG4gICAgLy8gRDEgLSDQv9C+0LTRgNCw0LfQtNC10LvQtdC90LjQtSDRgSBpZD0xXG4gICAgLy8gRzEgLSDQs9GA0YPQv9C/0LAg0YEgaWQ9MVxuICAgIGZpZWxkczogWyR1c2VyLCAnZmllbGRzJ10sXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBCWFNlcnZpY2VzLFxuICAgIHB1YmxpYyB1c2VyZmllbGQ6IEJYUmVzdFVzZXJVc2VyZmllbGRcbiAgKSB7XG4gIH1cblxuICBhZG1pbigpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxib29sZWFuPih0aGlzLnVybC5hZG1pbilcbiAgfVxuXG4gIGdldChwYXJhbXM6IGlCWFJlc3RQYXJhbVVzZXJHZXQgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VXNlckh0dHBbXT5cbiAgICAoXG4gICAgICB0aGlzLnVybC5nZXQsXG4gICAgICBwYXJhbXNcbiAgICApXG4gIH1cblxuICBjdXJyZW50KHVwZGF0ZSA9IGZhbHNlKSB7XG4gICAgbGV0IHJlcXVlc3QgPSB0aGlzLmh0dHAuZ2V0PGlCWFJlc3RVc2VySHR0cD4odGhpcy51cmwuY3VycmVudCwge30pXG4gICAgaWYgKHVwZGF0ZSkge1xuICAgICAgcmV0dXJuIHJlcXVlc3RcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlcXVlc3QucGlwZShcbiAgICAgICAgc2hhcmUoKVxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZSh1c2VyOiBQYXJ0aWFsPGlCWFJlc3RVc2VyPikge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VXNlckh0dHBbXT4oXG4gICAgICB0aGlzLnVybC51cGRhdGUsXG4gICAgICB1c2VyXG4gICAgKVxuICB9XG5cbiAgc2VhcmNoKHBhcmFtczogaUJYUmVzdFBhcmFtVXNlclNlYXJjaCkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGlCWFJlc3RVc2VySHR0cFtdPih0aGlzLnVybC5zZWFyY2gsIHBhcmFtcylcbiAgfVxuXG4gIGFjY2VzcyhhY2Nlc3M6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8aUJYUmVzdEFuc3dlcjxib29sZWFuPiB8IHVuZGVmaW5lZD4odGhpcy51cmwuYWNjZXNzLCB7QUNDRVNTOiBhY2Nlc3N9KVxuICB9XG5cbiAgZmllbGRzKCkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGlCWFJlc3RBbnN3ZXI8aUJYUmVzdFVzZXJIdHRwRmllbGQ+Pih0aGlzLnVybC5maWVsZHMpXG4gIH1cbn1cblxuIl19
|
|
@@ -3,20 +3,20 @@ import { map } from 'rxjs/operators';
|
|
|
3
3
|
import { mergeMap, of, tap, throwError } from 'rxjs';
|
|
4
4
|
import { Permission } from '../../services/permission';
|
|
5
5
|
import { Navvy } from '../../services/navvy';
|
|
6
|
+
import { BXRestNavvyOperationElapseditem } from './operation/elapseditem';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "../../request/task/elapseditem";
|
|
8
9
|
import * as i2 from "../user";
|
|
9
10
|
import * as i3 from "../tasks";
|
|
10
11
|
import * as i4 from "../../map/task/elapseditem";
|
|
11
|
-
import * as i5 from "./operation/elapseditem";
|
|
12
12
|
export class BXRestNavvyElapseditem {
|
|
13
|
-
constructor(BXRestElapseditem, BXRestNavvyUser, BXRestNavvyTasks, BXRestMapElapseditem
|
|
13
|
+
constructor(BXRestElapseditem, BXRestNavvyUser, BXRestNavvyTasks, BXRestMapElapseditem) {
|
|
14
14
|
this.BXRestElapseditem = BXRestElapseditem;
|
|
15
15
|
this.BXRestNavvyUser = BXRestNavvyUser;
|
|
16
16
|
this.BXRestNavvyTasks = BXRestNavvyTasks;
|
|
17
17
|
this.BXRestMapElapseditem = BXRestMapElapseditem;
|
|
18
|
-
this.operation = operation;
|
|
19
18
|
this.Navvy = new Navvy(this.BXRestElapseditem, this.BXRestMapElapseditem);
|
|
19
|
+
this.operation = new BXRestNavvyOperationElapseditem(this);
|
|
20
20
|
}
|
|
21
21
|
/*
|
|
22
22
|
call(methodName: string, ...args: any[]){
|
|
@@ -26,7 +26,7 @@ export class BXRestNavvyElapseditem {
|
|
|
26
26
|
return this[methodName](...args);
|
|
27
27
|
}
|
|
28
28
|
*/
|
|
29
|
-
getList(param =
|
|
29
|
+
getList(param = {}) {
|
|
30
30
|
if (param) {
|
|
31
31
|
if (!param.TASKID && !param.SELECT) {
|
|
32
32
|
param.SELECT = ['*'];
|
|
@@ -40,7 +40,7 @@ export class BXRestNavvyElapseditem {
|
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
return this.Navvy.alterPagNav(this.BXRestElapseditem.getList, param);
|
|
43
|
+
return this.Navvy.alterPagNav(this.BXRestElapseditem.getList, param, 'Не удалось получить список затраченного на задачу(-и) времени', this.BXRestMapElapseditem.getList);
|
|
44
44
|
}
|
|
45
45
|
add(param) {
|
|
46
46
|
return this.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
|
|
@@ -258,7 +258,7 @@ export class BXRestNavvyElapseditem {
|
|
|
258
258
|
}
|
|
259
259
|
})), 'Не удалось удалить элемент списка', v => (v === null));
|
|
260
260
|
}
|
|
261
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, deps: [{ token: i1.BXRestElapseditem }, { token: i2.BXRestNavvyUser }, { token: i3.BXRestNavvyTasks }, { token: i4.BXRestMapTaskElapseditem }
|
|
261
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, deps: [{ token: i1.BXRestElapseditem }, { token: i2.BXRestNavvyUser }, { token: i3.BXRestNavvyTasks }, { token: i4.BXRestMapTaskElapseditem }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
262
262
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, providedIn: 'root' }); }
|
|
263
263
|
}
|
|
264
264
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, decorators: [{
|
|
@@ -266,5 +266,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
266
266
|
args: [{
|
|
267
267
|
providedIn: 'root'
|
|
268
268
|
}]
|
|
269
|
-
}], ctorParameters: function () { return [{ type: i1.BXRestElapseditem }, { type: i2.BXRestNavvyUser }, { type: i3.BXRestNavvyTasks }, { type: i4.BXRestMapTaskElapseditem }
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svZWxhcHNlZGl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUlwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFNdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFBOzs7Ozs7O0FBTzVDLE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFDVSxpQkFBb0MsRUFDcEMsZUFBZ0MsRUFDaEMsZ0JBQWtDLEVBQ2xDLG9CQUE4QyxFQUMvQyxTQUEwQztRQUp6QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMEI7UUFDL0MsY0FBUyxHQUFULFNBQVMsQ0FBaUM7UUFFakQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDM0UsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFFSCxPQUFPLENBQ0wsUUFBZ0QsU0FBUztRQUV6RCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDbEMsS0FBSyxDQUFDLE1BQU0sR0FBRyxD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QUFDLE1BQU0sQ0FBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDN0UsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3pCLElBQUksZUFBZSxFQUFFO2dCQUNuQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUMxRCxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ2pCLElBQUksT0FBTyxFQUFFO3dCQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtxQkFDekM7eUJBQU07d0JBQ0wsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQyxDQUFBO3FCQUNoRztnQkFDSCxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQ047aUJBQU07Z0JBQ0wsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFBO2FBQ3pFO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsRUFBRSxtQ0FBbUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDNUQsQ0FBQzs4R0EvUlUsc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgbWVyZ2VNYXAsIG9mLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1FbGFwc2VkaXRlbUdldCB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vZ2V0J1xyXG5pbXBvcnQgeyBCWFJlc3RFbGFwc2VkaXRlbSB9IGZyb20gJy4uLy4uL3JlcXVlc3QvdGFzay9lbGFwc2VkaXRlbSdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtQWRkRWxhcHNlZGl0ZW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2FkZCdcclxuaW1wb3J0IHsgUGVybWlzc2lvbiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Blcm1pc3Npb24nXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5VXNlciB9IGZyb20gJy4uL3VzZXInXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5VGFza3MgfSBmcm9tICcuLi90YXNrcydcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVXBkYXRlRWxhcHNlZGl0ZW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL3VwZGF0ZSdcclxuaW1wb3J0IHsgaUlzQWN0aW9uQWxsb3dlZFBhcmFtIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9pc0FjdGlvbkFsbG93ZWRQYXJhbSdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtRGVsRWxhcHNlZGl0ZW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2RlbCdcclxuaW1wb3J0IHsgTmF2dnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uYXZ2eSdcclxuaW1wb3J0IHsgQlhSZXN0TWFwVGFza0VsYXBzZWRpdGVtIH0gZnJvbSAnLi4vLi4vbWFwL3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5T3BlcmF0aW9uRWxhcHNlZGl0ZW0gfSBmcm9tICcuL29wZXJhdGlvbi9lbGFwc2VkaXRlbSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5RWxhcHNlZGl0ZW0ge1xyXG4gIHByaXZhdGUgTmF2dnk6IE5hdnZ5PEJYUmVzdEVsYXBzZWRpdGVtLCBCWFJlc3RNYXBUYXNrRWxhcHNlZGl0ZW0+XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBCWFJlc3RFbGFwc2VkaXRlbTogQlhSZXN0RWxhcHNlZGl0ZW0sXHJcbiAgICBwcml2YXRlIEJYUmVzdE5hdnZ5VXNlcjogQlhSZXN0TmF2dnlVc2VyLFxyXG4gICAgcHJpdmF0ZSBCWFJlc3ROYXZ2eVRhc2tzOiBCWFJlc3ROYXZ2eVRhc2tzLFxyXG4gICAgcHJpdmF0ZSBCWFJlc3RNYXBFbGFwc2VkaXRlbTogQlhSZXN0TWFwVGFza0VsYXBzZWRpdGVtLFxyXG4gICAgcHVibGljIG9wZXJhdGlvbjogQlhSZXN0TmF2dnlPcGVyYXRpb25FbGFwc2VkaXRlbVxyXG4gICkge1xyXG4gICAgdGhpcy5OYXZ2eSA9IG5ldyBOYXZ2eSh0aGlzLkJYUmVzdEVsYXBzZWRpdGVtLCB0aGlzLkJYUmVzdE1hcEVsYXBzZWRpdGVtKVxyXG4gIH1cclxuXHJcbiAgLypcclxuICBjYWxsKG1ldGhvZE5hbWU6IHN0cmluZywgLi4uYXJnczogYW55W10pe1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzW21ldGhvZE5hbWVdID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzW21ldGhvZE5hbWVdKC4uLmFyZ3MpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXNbbWV0aG9kTmFtZV0oLi4uYXJncyk7XHJcbiAgfVxyXG4gICAqL1xyXG5cclxuICBnZXRMaXN0KFxyXG4gICAgcGFyYW06IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXHJcbiAgKSB7XHJcbiAgICBpZiAocGFyYW0pIHtcclxuICAgICAgaWYgKCFwYXJhbS5UQVNLSUQgJiYgIXBhcmFtLlNFTEVDVCkge1xyXG4gICAgICAgIHBhcmFtLlNFTEVDVCA9IFsnKiddXHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFwYXJhbS5UQVNLSUQgJiYgIXBhcmFtLlBBUkFNUykge1xyXG4gICAgICAgIHBhcmFtLlBBUkFNUyA9IHtcclxuICAgICAgICAgIE5BVl9QQVJBTVM6IHtcclxuICAgICAgICAgICAgblBhZ2VTaXplOiA1MCxcclxuICAgICAgICAgICAgaU51bVBhZ2U6IDFcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LmFsdGVyUGFnTmF2KHRoaXMuQlhSZXN0RWxhcHNlZGl0ZW0uZ2V0TGlzdCwgcGFyYW0pXHJcbiAgfVxyXG5cclxuICBhZGQocGFyYW06IGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb25SZWFkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKGFsbG93ZWRSZWFkVGFzayA9PiB7XHJcbiAgICAgICAgaWYgKGFsbG93ZWRSZWFkVGFzaykge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tQZXJtaXNzaW9uQWRkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKGFsbG93ZWQgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChhbGxvd2VkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3RFbGFwc2VkaXRlbS5hZGQocGFyYW0pXHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC00L7QsdCw0LLQu9C10L3QuNC1INC30LDQv9C40YHQuCDQt9Cw0YLRgNCw0YfQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgnKSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlKHBhcmFtOiBpQlhSZXN0UGFyYW1VcGRhdGVFbGFwc2VkaXRlbSkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKCAoKSA9PiB0aGlzLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoYWxsb3dlZFJlYWRUYXNrID0+IHtcclxuICAgICAgICBpZiAoYWxsb3dlZFJlYWRUYXNrKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0FsbG93ZWRNb2RpZnkocGFyYW0uVEFTS0lELCBwYXJhbS5JVEVNSUQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKGFsbG93ZWQgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChhbGxvd2VkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3RFbGFwc2VkaXRlbS51cGRhdGUocGFyYW0pXHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0LjQt9C80LXQvdC10L3QuNC1INC30LDQv9C40YHQuCDQt9Cw0YLRgNCw0YfQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgnKSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pKSwgJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDRjdC70LXQvNC10L3RgiDRgdC/0LjRgdC60LAnLCB0aGlzLkJYUmVzdE1hcEVsYXBzZWRpdGVtLnVwZGF0ZSlcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgZ2V0QWxsKFxyXG4gICAgcGFyYW1zOiBSZXF1ZXN0UGFyYW1zRWxhcHNlZEdldExpc3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXHJcbiAgICBjYWNoZSA9IGZhbHNlXHJcbiAgKTogT2JzZXJ2YWJsZTxpSHR0cEFuc3dlckJYPEJYUmVzdEVsYXBzZWRbXT4gfCB1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmdldChwYXJhbXMsIGNhY2hlKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtZXJnZU1hcChpdGVtcyA9PiB7XHJcbiAgICAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtcy5uZXh0KSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zID0gKHBhcmFtcykgPyBwYXJhbXMgOiB7fVxyXG4gICAgICAgICAgICAgIHBhcmFtcy5QQVJBTVMgPSB7XHJcbiAgICAgICAgICAgICAgICBOQVZfUEFSQU1TOiB7XHJcbiAgICAgICAgICAgICAgICAgIG5QYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgICAgICAgICAgICAgaU51bVBhZ2U6IGl0ZW1zLm5leHQgLyB0aGlzLnBhZ2VTaXplICsgMVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGwocGFyYW1zLCBjYWNoZSkucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCh2RW5kID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgdkVuZC5yZXN1bHQgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlKGNsb25lKHZFbmQpLCB7cmVzdWx0OiBbLi4uaXRlbXMucmVzdWx0LCAuLi52RW5kLnJlc3VsdF19KVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtc1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG9mKGl0ZW1zKVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gICAqL1xyXG5cclxuICAvKlxyXG4gIGdldENhY2hlT2ZmKHBhcmFtczogUmVxdWVzdFBhcmFtc0VsYXBzZWRHZXRMaXN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUh0dHBBbnN3ZXJCWDxCWFJlc3RFbGFwc2VkSHR0cFtdPiB8IHVuZGVmaW5lZD5cclxuICAgICh0aGlzLnVybC5nZXRsaXN0LCBwYXJhbXMsICfQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LLRgNC10LzRjyDQv9C+INC30LDQtNCw0YfQsNC8JylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3UmVzdWx0OiBCWFJlc3RFbGFwc2VkW10gPSBbXVxyXG4gICAgICAgICAgICBmb3IgKGxldCB0YXNrIG9mIHYucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgbmV3UmVzdWx0LnB1c2godGhpcy5lbGFwc2VkQlhNYXAuQW5zd2VyRWxhcHNlZEdldEh0dHBUb0Fuc3dlckVsYXBzZWRHZXQodGFzaykpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGV4dGVuZCh2LCB7cmVzdWx0OiBuZXdSZXN1bHR9KSBhcyBpSHR0cEFuc3dlckJYPEJYUmVzdEVsYXBzZWRbXT5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgICBpZiAodiAmJiBwYXJhbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzYXZlSHR0cFRhc2tUaW1lKHtcclxuICAgICAgICAgICAgICBmaWx0ZXI6IGNsb25lKHBhcmFtcyksXHJcbiAgICAgICAgICAgICAgdGltZTogdlxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gICovXHJcblxyXG4gIGlzQWxsb3dlZE1vZGlmeShpZFRhc2s6IG51bWJlciwgaWRJdGVtOiBudW1iZXIpIHtcclxuICAgIGxldCBwZXJtaXNzaW9uID0gUGVybWlzc2lvbi5nZXQoKVxyXG4gICAgaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcclxuICAgICAgbGV0IGZpbmRUYXNrID0gcGVybWlzc2lvbi50YXNrcy5maW5kKGkgPT4gaS5pZCA9PT0gaWRUYXNrKVxyXG4gICAgICBpZiAoZmluZFRhc2spIHtcclxuICAgICAgICBsZXQgZmluZCA9IGZpbmRUYXNrLmVsYXBzZWRJdGVtLmZpbmQoaSA9PiBpLmlkID09PSBpZEl0ZW0pXHJcbiAgICAgICAgaWYgKGZpbmQgJiYgZmluZC52ZXJpZmllZC5lZGl0KSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YoZmluZC5lZGl0KVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmlzQWN0aW9uQWxsb3dlZCh7XHJcbiAgICAgIFRBU0tJRDogaWRUYXNrLFxyXG4gICAgICBJVEVNSUQ6IDIsXHJcbiAgICAgIEFDVElPTklEOiBpZEl0ZW1cclxuICAgIH0pLnJlc3VsdCgpLnBpcGUoXHJcbiAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBQZXJtaXNzaW9uLnNldFRhc2tFbGFwc2VkSXRlbShpZFRhc2ssXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBpZDogaWRJdGVtLFxyXG4gICAgICAgICAgICAgIGVkaXQ6IHYsXHJcbiAgICAgICAgICAgICAgZGVsOiBmYWxzZSxcclxuICAgICAgICAgICAgICB2ZXJpZmllZDoge1xyXG4gICAgICAgICAgICAgICAgZWRpdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGRlbDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBbGxvd2VkUmVtb3ZlKGlkVGFzazogbnVtYmVyLCBpZEl0ZW06IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNBY3Rpb25BbGxvd2VkKFxyXG4gICAgICB7XHJcbiAgICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgICAgSVRFTUlEOiAzLFxyXG4gICAgICAgIEFDVElPTklEOiBpZEl0ZW1cclxuICAgICAgfSkucmVzdWx0KClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGlkQWN0aW9uOlxyXG4gICAqIDEgLSBBQ1RJT05fRUxBUFNFRF9USU1FX0FERFxyXG4gICAqIDIgLSBBQ1RJT05fRUxBUFNFRF9USU1FX01PRElGWVxyXG4gICAqIDMgLSBBQ1RJT05fRUxBUFNFRF9USU1FX1JFTU9WRVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGlzQWN0aW9uQWxsb3dlZChwYXJhbTogaUlzQWN0aW9uQWxsb3dlZFBhcmFtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoKCkgPT4gdGhpcy5jaGVja1Blcm1pc3Npb25SZWFkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKGNhblJlYWQgPT4ge1xyXG4gICAgICAgIGlmIChjYW5SZWFkKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3RFbGFwc2VkaXRlbS5pc0FjdGlvbkFsbG93ZWQocGFyYW0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0YfRgtC10L3QuNC1INC30LDQtNCw0YfQuCcpKVxyXG4gICAgICB9KVxyXG4gICAgKSlcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvbkFkZFRhc2soaWRUYXNrOiBudW1iZXIpIHtcclxuICAgIGxldCBwZXJtaXNzaW9uID0gUGVybWlzc2lvbi5nZXQoKVxyXG4gICAgaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcclxuICAgICAgbGV0IGZpbmRUYXNrID0gcGVybWlzc2lvbi50YXNrcy5maW5kKGkgPT4gaS5pZCA9PT0gaWRUYXNrKVxyXG4gICAgICBpZiAoZmluZFRhc2s/LnBlcm1pc3Npb24pIHtcclxuICAgICAgICByZXR1cm4gb2YoZmluZFRhc2sucGVybWlzc2lvblsnRUxBUFNFRFRJTUUuQUREJ10pXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0TmF2dnlVc2VyLmN1cnJlbnQoKS5yZXN1bHQoKS5waXBlKFxyXG4gICAgICAgIG1lcmdlTWFwKHNlbGYgPT4ge1xyXG4gICAgICAgICAgaWYgKHNlbGYpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0TmF2dnlUYXNrcy50YXNrLmdldGFjY2VzcyhcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogaWRUYXNrLFxyXG4gICAgICAgICAgICAgICAgdXNlcnM6IFtzZWxmLklEXVxyXG4gICAgICAgICAgICAgIH0pLnJlc3VsdCgpLnBpcGUoXHJcbiAgICAgICAgICAgICAgdGFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHYgJiYgdltzZWxmLklEXSkge1xyXG4gICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLnNldCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFza3M6IFt7aWQ6IGlkVGFzaywgcGVybWlzc2lvbjogdltzZWxmLklEXSwgZWxhcHNlZEl0ZW06IFtdfV1cclxuICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICBtYXAodiA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKHYgJiYgdltzZWxmLklEXSkgPyB2W3NlbGYuSURdWydFTEFQU0VEVElNRS5BREQnXSA6IGZhbHNlXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrUGVybWlzc2lvblJlYWRUYXNrKGlkVGFzazogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGVybWlzc2lvbiA9IFBlcm1pc3Npb24uZ2V0KClcclxuICAgIGlmIChwZXJtaXNzaW9uPy50YXNrcz8ubGVuZ3RoKSB7XHJcbiAgICAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcclxuICAgICAgaWYgKGZpbmRUYXNrPy5wZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKGZpbmRUYXNrLnBlcm1pc3Npb24uQUNDRVBUKVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VXNlci5jdXJyZW50KCkucmVzdWx0KCkucGlwZShcclxuICAgICAgICBtZXJnZU1hcChzZWxmID0+IHtcclxuICAgICAgICAgIGlmIChzZWxmKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VGFza3MudGFzay5nZXRhY2Nlc3MoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IGlkVGFzayxcclxuICAgICAgICAgICAgICAgIHVzZXJzOiBbc2VsZi5JRF1cclxuICAgICAgICAgICAgICB9KS5yZXN1bHQoKS5waXBlKFxyXG4gICAgICAgICAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh2ICYmIHZbc2VsZi5JRF0pIHtcclxuICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5zZXQoe1xyXG4gICAgICAgICAgICAgICAgICAgIHRhc2tzOiBbe2lkOiBpZFRhc2ssIHBlcm1pc3Npb246IHZbc2VsZi5JRF0sIGVsYXBzZWRJdGVtOiBbXX1dXHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICh2ICYmIHZbc2VsZi5JRF0pID8gdltzZWxmLklEXS5BQ0NFUFQgOiBmYWxzZVxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gIH1cclxuXHJcbiAgZGVsKHBhcmFtOiBpQlhSZXN0UGFyYW1EZWxFbGFwc2VkaXRlbSkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKCAoKSA9PiB0aGlzLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoYWxsb3dlZFJlYWRUYXNrID0+IHtcclxuICAgICAgICBpZiAoYWxsb3dlZFJlYWRUYXNrKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0FsbG93ZWRSZW1vdmUocGFyYW0uVEFTS0lELCBwYXJhbS5JVEVNSUQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKGFsbG93ZWQgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChhbGxvd2VkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3RFbGFwc2VkaXRlbS5kZWwocGFyYW0pXHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0YPQtNCw0LvQtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LfQsNGC0YDQsNGH0LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4JykpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRh9GC0LXQvdC40LUg0LfQsNC00LDRh9C4JykpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKSwgJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0Y3Qu9C10LzQtdC90YIg0YHQv9C40YHQutCwJywgdiA9PiAodiA9PT0gbnVsbCkpXHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
269
|
+
}], ctorParameters: function () { return [{ type: i1.BXRestElapseditem }, { type: i2.BXRestNavvyUser }, { type: i3.BXRestNavvyTasks }, { type: i4.BXRestMapTaskElapseditem }]; } });
|
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svZWxhcHNlZGl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUlwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFNdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRTVDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBOzs7Ozs7QUFLekUsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLGlCQUFvQyxFQUNwQyxlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsb0JBQThDO1FBSDlDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUEwQjtRQUV0RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtRQUN6RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksK0JBQStCLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFFSCxPQUFPLENBQ0wsUUFBb0MsRUFBRTtRQUV0QyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxLQUFLLENBQUMs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bGFyL2NvcmUnXHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5pbXBvcnQgeyBtZXJnZU1hcCwgb2YsIHRhcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0IH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9nZXQnXHJcbmltcG9ydCB7IEJYUmVzdEVsYXBzZWRpdGVtIH0gZnJvbSAnLi4vLi4vcmVxdWVzdC90YXNrL2VsYXBzZWRpdGVtJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1BZGRFbGFwc2VkaXRlbSB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vYWRkJ1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGVybWlzc2lvbidcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlVc2VyIH0gZnJvbSAnLi4vdXNlcidcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlUYXNrcyB9IGZyb20gJy4uL3Rhc2tzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1VcGRhdGVFbGFwc2VkaXRlbSB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vdXBkYXRlJ1xyXG5pbXBvcnQgeyBpSXNBY3Rpb25BbGxvd2VkUGFyYW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2lzQWN0aW9uQWxsb3dlZFBhcmFtJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1EZWxFbGFwc2VkaXRlbSB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vZGVsJ1xyXG5pbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25hdnZ5J1xyXG5pbXBvcnQgeyBCWFJlc3RNYXBUYXNrRWxhcHNlZGl0ZW0gfSBmcm9tICcuLi8uLi9tYXAvdGFzay9lbGFwc2VkaXRlbSdcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlPcGVyYXRpb25FbGFwc2VkaXRlbSB9IGZyb20gJy4vb3BlcmF0aW9uL2VsYXBzZWRpdGVtJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlFbGFwc2VkaXRlbSB7XHJcbiAgcHJpdmF0ZSBOYXZ2eTogTmF2dnk8QlhSZXN0RWxhcHNlZGl0ZW0sIEJYUmVzdE1hcFRhc2tFbGFwc2VkaXRlbT5cclxuICBwdWJsaWMgb3BlcmF0aW9uOiBCWFJlc3ROYXZ2eU9wZXJhdGlvbkVsYXBzZWRpdGVtXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBCWFJlc3RFbGFwc2VkaXRlbTogQlhSZXN0RWxhcHNlZGl0ZW0sXHJcbiAgICBwcml2YXRlIEJYUmVzdE5hdnZ5VXNlcjogQlhSZXN0TmF2dnlVc2VyLFxyXG4gICAgcHJpdmF0ZSBCWFJlc3ROYXZ2eVRhc2tzOiBCWFJlc3ROYXZ2eVRhc2tzLFxyXG4gICAgcHJpdmF0ZSBCWFJlc3RNYXBFbGFwc2VkaXRlbTogQlhSZXN0TWFwVGFza0VsYXBzZWRpdGVtLFxyXG4gICkge1xyXG4gICAgdGhpcy5OYXZ2eSA9IG5ldyBOYXZ2eSh0aGlzLkJYUmVzdEVsYXBzZWRpdGVtLCB0aGlzLkJYUmVzdE1hcEVsYXBzZWRpdGVtKVxyXG4gICAgdGhpcy5vcGVyYXRpb24gPSBuZXcgQlhSZXN0TmF2dnlPcGVyYXRpb25FbGFwc2VkaXRlbSh0aGlzKVxyXG4gIH1cclxuXHJcbiAgLypcclxuICBjYWxsKG1ldGhvZE5hbWU6IHN0cmluZywgLi4uYXJnczogYW55W10pe1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzW21ldGhvZE5hbWVdID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzW21ldGhvZE5hbWVdKC4uLmFyZ3MpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXNbbWV0aG9kTmFtZV0oLi4uYXJncyk7XHJcbiAgfVxyXG4gICAqL1xyXG5cclxuICBnZXRMaXN0KFxyXG4gICAgcGFyYW06IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0ID0ge31cclxuICApIHtcclxuICAgIGlmIChwYXJhbSkge1xyXG4gICAgICBpZiAoIXBhcmFtLlRBU0tJRCAmJiAhcGFyYW0uU0VMRUNUKSB7XHJcbiAgICAgICAgcGFyYW0uU0VMRUNUID0gWycqJ11cclxuICAgICAgfVxyXG4gICAgICBpZiAoIXBhcmFtLlRBU0tJRCAmJiAhcGFyYW0uUEFSQU1TKSB7XHJcbiAgICAgICAgcGFyYW0uUEFSQU1TID0ge1xyXG4gICAgICAgICAgTkFWX1BBUkFNUzoge1xyXG4gICAgICAgICAgICBuUGFnZVNpemU6IDUwLFxyXG4gICAgICAgICAgICBpTnVtUGFnZTogMVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuYWx0ZXJQYWdOYXYoXHJcbiAgICAgIHRoaXMuQlhSZXN0RWxhcHNlZGl0ZW0uZ2V0TGlzdCxcclxuICAgICAgcGFyYW0sXHJcbiAgICAgICfQndC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0YHQv9C40YHQvtC6INC30LDRgtGA0LDRh9C10L3QvdC+0LPQviDQvdCwINC30LDQtNCw0YfRgygt0LgpINCy0YDQtdC80LXQvdC4JyxcclxuICAgICAgdGhpcy5CWFJlc3RNYXBFbGFwc2VkaXRlbS5nZXRMaXN0XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBhZGQocGFyYW06IGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb25SZWFkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKGFsbG93ZWRSZWFkVGFzayA9PiB7XHJcbiAgICAgICAgaWYgKGFsbG93ZWRSZWFkVGFzaykge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tQZXJtaXNzaW9uQWRkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKGFsbG93ZWQgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChhbGxvd2VkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3RFbGFwc2VkaXRlbS5hZGQocGFyYW0pXHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC00L7QsdCw0LLQu9C10L3QuNC1INC30LDQv9C40YHQuCDQt9Cw0YLRgNCw0YfQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgnKSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlKHBhcmFtOiBpQlhSZXN0UGFyYW1VcGRhdGVFbGFwc2VkaXRlbSkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKCAoKSA9PiB0aGlzLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoYWxsb3dlZFJlYWRUYXNrID0+IHtcclxuICAgICAgICBpZiAoYWxsb3dlZFJlYWRUYXNrKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0FsbG93ZWRNb2RpZnkocGFyYW0uVEFTS0lELCBwYXJhbS5JVEVNSUQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKGFsbG93ZWQgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChhbGxvd2VkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3RFbGFwc2VkaXRlbS51cGRhdGUocGFyYW0pXHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0LjQt9C80LXQvdC10L3QuNC1INC30LDQv9C40YHQuCDQt9Cw0YLRgNCw0YfQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgnKSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pKSwgJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDRjdC70LXQvNC10L3RgiDRgdC/0LjRgdC60LAnLCB0aGlzLkJYUmVzdE1hcEVsYXBzZWRpdGVtLnVwZGF0ZSlcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgZ2V0QWxsKFxyXG4gICAgcGFyYW1zOiBSZXF1ZXN0UGFyYW1zRWxhcHNlZEdldExpc3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXHJcbiAgICBjYWNoZSA9IGZhbHNlXHJcbiAgKTogT2JzZXJ2YWJsZTxpSHR0cEFuc3dlckJYPEJYUmVzdEVsYXBzZWRbXT4gfCB1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmdldChwYXJhbXMsIGNhY2hlKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtZXJnZU1hcChpdGVtcyA9PiB7XHJcbiAgICAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtcy5uZXh0KSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zID0gKHBhcmFtcykgPyBwYXJhbXMgOiB7fVxyXG4gICAgICAgICAgICAgIHBhcmFtcy5QQVJBTVMgPSB7XHJcbiAgICAgICAgICAgICAgICBOQVZfUEFSQU1TOiB7XHJcbiAgICAgICAgICAgICAgICAgIG5QYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgICAgICAgICAgICAgaU51bVBhZ2U6IGl0ZW1zLm5leHQgLyB0aGlzLnBhZ2VTaXplICsgMVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGwocGFyYW1zLCBjYWNoZSkucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCh2RW5kID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgdkVuZC5yZXN1bHQgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlKGNsb25lKHZFbmQpLCB7cmVzdWx0OiBbLi4uaXRlbXMucmVzdWx0LCAuLi52RW5kLnJlc3VsdF19KVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtc1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG9mKGl0ZW1zKVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gICAqL1xyXG5cclxuICAvKlxyXG4gIGdldENhY2hlT2ZmKHBhcmFtczogUmVxdWVzdFBhcmFtc0VsYXBzZWRHZXRMaXN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUh0dHBBbnN3ZXJCWDxCWFJlc3RFbGFwc2VkSHR0cFtdPiB8IHVuZGVmaW5lZD5cclxuICAgICh0aGlzLnVybC5nZXRsaXN0LCBwYXJhbXMsICfQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LLRgNC10LzRjyDQv9C+INC30LDQtNCw0YfQsNC8JylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3UmVzdWx0OiBCWFJlc3RFbGFwc2VkW10gPSBbXVxyXG4gICAgICAgICAgICBmb3IgKGxldCB0YXNrIG9mIHYucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgbmV3UmVzdWx0LnB1c2godGhpcy5lbGFwc2VkQlhNYXAuQW5zd2VyRWxhcHNlZEdldEh0dHBUb0Fuc3dlckVsYXBzZWRHZXQodGFzaykpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGV4dGVuZCh2LCB7cmVzdWx0OiBuZXdSZXN1bHR9KSBhcyBpSHR0cEFuc3dlckJYPEJYUmVzdEVsYXBzZWRbXT5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgICBpZiAodiAmJiBwYXJhbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzYXZlSHR0cFRhc2tUaW1lKHtcclxuICAgICAgICAgICAgICBmaWx0ZXI6IGNsb25lKHBhcmFtcyksXHJcbiAgICAgICAgICAgICAgdGltZTogdlxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gICovXHJcblxyXG4gIGlzQWxsb3dlZE1vZGlmeShpZFRhc2s6IG51bWJlciwgaWRJdGVtOiBudW1iZXIpIHtcclxuICAgIGxldCBwZXJtaXNzaW9uID0gUGVybWlzc2lvbi5nZXQoKVxyXG4gICAgaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcclxuICAgICAgbGV0IGZpbmRUYXNrID0gcGVybWlzc2lvbi50YXNrcy5maW5kKGkgPT4gaS5pZCA9PT0gaWRUYXNrKVxyXG4gICAgICBpZiAoZmluZFRhc2spIHtcclxuICAgICAgICBsZXQgZmluZCA9IGZpbmRUYXNrLmVsYXBzZWRJdGVtLmZpbmQoaSA9PiBpLmlkID09PSBpZEl0ZW0pXHJcbiAgICAgICAgaWYgKGZpbmQgJiYgZmluZC52ZXJpZmllZC5lZGl0KSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YoZmluZC5lZGl0KVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmlzQWN0aW9uQWxsb3dlZCh7XHJcbiAgICAgIFRBU0tJRDogaWRUYXNrLFxyXG4gICAgICBJVEVNSUQ6IDIsXHJcbiAgICAgIEFDVElPTklEOiBpZEl0ZW1cclxuICAgIH0pLnJlc3VsdCgpLnBpcGUoXHJcbiAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBQZXJtaXNzaW9uLnNldFRhc2tFbGFwc2VkSXRlbShpZFRhc2ssXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBpZDogaWRJdGVtLFxyXG4gICAgICAgICAgICAgIGVkaXQ6IHYsXHJcbiAgICAgICAgICAgICAgZGVsOiBmYWxzZSxcclxuICAgICAgICAgICAgICB2ZXJpZmllZDoge1xyXG4gICAgICAgICAgICAgICAgZWRpdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGRlbDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBbGxvd2VkUmVtb3ZlKGlkVGFzazogbnVtYmVyLCBpZEl0ZW06IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNBY3Rpb25BbGxvd2VkKFxyXG4gICAgICB7XHJcbiAgICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgICAgSVRFTUlEOiAzLFxyXG4gICAgICAgIEFDVElPTklEOiBpZEl0ZW1cclxuICAgICAgfSkucmVzdWx0KClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGlkQWN0aW9uOlxyXG4gICAqIDEgLSBBQ1RJT05fRUxBUFNFRF9USU1FX0FERFxyXG4gICAqIDIgLSBBQ1RJT05fRUxBUFNFRF9USU1FX01PRElGWVxyXG4gICAqIDMgLSBBQ1RJT05fRUxBUFNFRF9USU1FX1JFTU9WRVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGlzQWN0aW9uQWxsb3dlZChwYXJhbTogaUlzQWN0aW9uQWxsb3dlZFBhcmFtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoKCkgPT4gdGhpcy5jaGVja1Blcm1pc3Npb25SZWFkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKGNhblJlYWQgPT4ge1xyXG4gICAgICAgIGlmIChjYW5SZWFkKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3RFbGFwc2VkaXRlbS5pc0FjdGlvbkFsbG93ZWQocGFyYW0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0YfRgtC10L3QuNC1INC30LDQtNCw0YfQuCcpKVxyXG4gICAgICB9KVxyXG4gICAgKSlcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvbkFkZFRhc2soaWRUYXNrOiBudW1iZXIpIHtcclxuICAgIGxldCBwZXJtaXNzaW9uID0gUGVybWlzc2lvbi5nZXQoKVxyXG4gICAgaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcclxuICAgICAgbGV0IGZpbmRUYXNrID0gcGVybWlzc2lvbi50YXNrcy5maW5kKGkgPT4gaS5pZCA9PT0gaWRUYXNrKVxyXG4gICAgICBpZiAoZmluZFRhc2s/LnBlcm1pc3Npb24pIHtcclxuICAgICAgICByZXR1cm4gb2YoZmluZFRhc2sucGVybWlzc2lvblsnRUxBUFNFRFRJTUUuQUREJ10pXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0TmF2dnlVc2VyLmN1cnJlbnQoKS5yZXN1bHQoKS5waXBlKFxyXG4gICAgICAgIG1lcmdlTWFwKHNlbGYgPT4ge1xyXG4gICAgICAgICAgaWYgKHNlbGYpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0TmF2dnlUYXNrcy50YXNrLmdldGFjY2VzcyhcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogaWRUYXNrLFxyXG4gICAgICAgICAgICAgICAgdXNlcnM6IFtzZWxmLklEXVxyXG4gICAgICAgICAgICAgIH0pLnJlc3VsdCgpLnBpcGUoXHJcbiAgICAgICAgICAgICAgdGFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHYgJiYgdltzZWxmLklEXSkge1xyXG4gICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLnNldCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFza3M6IFt7aWQ6IGlkVGFzaywgcGVybWlzc2lvbjogdltzZWxmLklEXSwgZWxhcHNlZEl0ZW06IFtdfV1cclxuICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICBtYXAodiA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKHYgJiYgdltzZWxmLklEXSkgPyB2W3NlbGYuSURdWydFTEFQU0VEVElNRS5BREQnXSA6IGZhbHNlXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrUGVybWlzc2lvblJlYWRUYXNrKGlkVGFzazogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGVybWlzc2lvbiA9IFBlcm1pc3Npb24uZ2V0KClcclxuICAgIGlmIChwZXJtaXNzaW9uPy50YXNrcz8ubGVuZ3RoKSB7XHJcbiAgICAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcclxuICAgICAgaWYgKGZpbmRUYXNrPy5wZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKGZpbmRUYXNrLnBlcm1pc3Npb24uQUNDRVBUKVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VXNlci5jdXJyZW50KCkucmVzdWx0KCkucGlwZShcclxuICAgICAgICBtZXJnZU1hcChzZWxmID0+IHtcclxuICAgICAgICAgIGlmIChzZWxmKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VGFza3MudGFzay5nZXRhY2Nlc3MoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IGlkVGFzayxcclxuICAgICAgICAgICAgICAgIHVzZXJzOiBbc2VsZi5JRF1cclxuICAgICAgICAgICAgICB9KS5yZXN1bHQoKS5waXBlKFxyXG4gICAgICAgICAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh2ICYmIHZbc2VsZi5JRF0pIHtcclxuICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5zZXQoe1xyXG4gICAgICAgICAgICAgICAgICAgIHRhc2tzOiBbe2lkOiBpZFRhc2ssIHBlcm1pc3Npb246IHZbc2VsZi5JRF0sIGVsYXBzZWRJdGVtOiBbXX1dXHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICh2ICYmIHZbc2VsZi5JRF0pID8gdltzZWxmLklEXS5BQ0NFUFQgOiBmYWxzZVxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gIH1cclxuXHJcbiAgZGVsKHBhcmFtOiBpQlhSZXN0UGFyYW1EZWxFbGFwc2VkaXRlbSkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKCAoKSA9PiB0aGlzLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoYWxsb3dlZFJlYWRUYXNrID0+IHtcclxuICAgICAgICBpZiAoYWxsb3dlZFJlYWRUYXNrKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0FsbG93ZWRSZW1vdmUocGFyYW0uVEFTS0lELCBwYXJhbS5JVEVNSUQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKGFsbG93ZWQgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChhbGxvd2VkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3RFbGFwc2VkaXRlbS5kZWwocGFyYW0pXHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0YPQtNCw0LvQtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LfQsNGC0YDQsNGH0LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4JykpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRh9GC0LXQvdC40LUg0LfQsNC00LDRh9C4JykpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKSwgJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0Y3Qu9C10LzQtdC90YIg0YHQv9C40YHQutCwJywgdiA9PiAodiA9PT0gbnVsbCkpXHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Navvy } from '../../../services/navvy';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../../request/task/elapseditem";
|
|
5
|
-
import * as i2 from "../../../map/task/elapseditem";
|
|
6
1
|
export class BXRestNavvyOperationElapseditem {
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
9
|
-
this.BXRestMapElapseditem = BXRestMapElapseditem;
|
|
10
|
-
this.Navvy = new Navvy(this.BXRestElapseditem, this.BXRestMapElapseditem);
|
|
2
|
+
constructor(BXRestNavvyElapseditem) {
|
|
3
|
+
this.BXRestNavvyElapseditem = BXRestNavvyElapseditem;
|
|
11
4
|
}
|
|
12
5
|
getByInterval(idsUsers, dateStart, dateEnd) {
|
|
13
|
-
|
|
6
|
+
const param = {
|
|
14
7
|
ORDER: {
|
|
15
8
|
ID: 'DESC'
|
|
16
9
|
},
|
|
@@ -19,15 +12,8 @@ export class BXRestNavvyOperationElapseditem {
|
|
|
19
12
|
'>=CREATED_DATE': dateStart.toLocaleString('ru-Ru'),
|
|
20
13
|
'<=CREATED_DATE': dateEnd.toLocaleString('ru-Ru'),
|
|
21
14
|
}
|
|
22
|
-
}
|
|
15
|
+
};
|
|
16
|
+
return this.BXRestNavvyElapseditem.getList(param);
|
|
23
17
|
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyOperationElapseditem, deps: [{ token: i1.BXRestElapseditem }, { token: i2.BXRestMapTaskElapseditem }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
25
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyOperationElapseditem, providedIn: 'root' }); }
|
|
26
18
|
}
|
|
27
|
-
|
|
28
|
-
type: Injectable,
|
|
29
|
-
args: [{
|
|
30
|
-
providedIn: 'root'
|
|
31
|
-
}]
|
|
32
|
-
}], ctorParameters: function () { return [{ type: i1.BXRestElapseditem }, { type: i2.BXRestMapTaskElapseditem }]; } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svb3BlcmF0aW9uL2VsYXBzZWRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFBOzs7O0FBSy9DLE1BQU0sT0FBTywrQkFBK0I7SUFJMUMsWUFDVSxpQkFBb0MsRUFDcEMsb0JBQThDO1FBRDlDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUEwQjtRQUV0RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMzRSxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWtCLEVBQUUsU0FBZSxFQUFFLE9BQWE7UUFDOUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDN0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFDOUI7WUFDRSxLQUFLLEVBQUU7Z0JBQ0wsRUFBRSxFQUFFLE1BQU07YUFDWDtZQUNELE1BQU0sRUFBRTtnQkFDTixPQUFPLEVBQUUsUUFBUTtnQkFDakIsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7Z0JBQ25ELGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO2FBQ2xEO1NBQ0YsQ0FDRixDQUFBO0lBQ0gsQ0FBQzs4R0F6QlUsK0JBQStCO2tIQUEvQiwrQkFBK0IsY0FGOUIsTUFBTTs7MkZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBCWFJlc3RFbGFwc2VkaXRlbSB9IGZyb20gJy4uLy4uLy4uL3JlcXVlc3QvdGFzay9lbGFwc2VkaXRlbSdcclxuaW1wb3J0IHsgQlhSZXN0TWFwVGFza0VsYXBzZWRpdGVtIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2dnknXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3ROYXZ2eU9wZXJhdGlvbkVsYXBzZWRpdGVtIHtcclxuXHJcbiAgcHJpdmF0ZSBOYXZ2eTogTmF2dnk8QlhSZXN0RWxhcHNlZGl0ZW0sIEJYUmVzdE1hcFRhc2tFbGFwc2VkaXRlbT5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIEJYUmVzdEVsYXBzZWRpdGVtOiBCWFJlc3RFbGFwc2VkaXRlbSxcclxuICAgIHByaXZhdGUgQlhSZXN0TWFwRWxhcHNlZGl0ZW06IEJYUmVzdE1hcFRhc2tFbGFwc2VkaXRlbSxcclxuICApIHtcclxuICAgIHRoaXMuTmF2dnkgPSBuZXcgTmF2dnkodGhpcy5CWFJlc3RFbGFwc2VkaXRlbSwgdGhpcy5CWFJlc3RNYXBFbGFwc2VkaXRlbSlcclxuICB9XHJcblxyXG4gIGdldEJ5SW50ZXJ2YWwoaWRzVXNlcnM6IG51bWJlcltdLCBkYXRlU3RhcnQ6IERhdGUsIGRhdGVFbmQ6IERhdGUpIHtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZVdpdGhBcmcoXHJcbiAgICAgIHRoaXMuQlhSZXN0RWxhcHNlZGl0ZW0uZ2V0TGlzdCxcclxuICAgICAge1xyXG4gICAgICAgIE9SREVSOiB7XHJcbiAgICAgICAgICBJRDogJ0RFU0MnXHJcbiAgICAgICAgfSxcclxuICAgICAgICBGSUxURVI6IHtcclxuICAgICAgICAgIFVTRVJfSUQ6IGlkc1VzZXJzLFxyXG4gICAgICAgICAgJz49Q1JFQVRFRF9EQVRFJzogZGF0ZVN0YXJ0LnRvTG9jYWxlU3RyaW5nKCdydS1SdScpLFxyXG4gICAgICAgICAgJzw9Q1JFQVRFRF9EQVRFJzogZGF0ZUVuZC50b0xvY2FsZVN0cmluZygncnUtUnUnKSxcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIClcclxuICB9XHJcbn1cclxuIl19
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svb3BlcmF0aW9uL2VsYXBzZWRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTywrQkFBK0I7SUFFMUMsWUFDVSxzQkFBOEM7UUFBOUMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtJQUV4RCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWtCLEVBQUUsU0FBZSxFQUFFLE9BQWE7UUFDOUQsTUFBTSxLQUFLLEdBQStCO1lBQ3hDLEtBQUssRUFBRTtnQkFDTCxFQUFFLEVBQUUsTUFBTTthQUNYO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixnQkFBZ0IsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztnQkFDbkQsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7YUFDbEQ7U0FDRixDQUFBO1FBQ0QsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ25ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9nZXQnXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5RWxhcHNlZGl0ZW0gfSBmcm9tICcuLi9lbGFwc2VkaXRlbSdcclxuXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3ROYXZ2eU9wZXJhdGlvbkVsYXBzZWRpdGVtIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIEJYUmVzdE5hdnZ5RWxhcHNlZGl0ZW06IEJYUmVzdE5hdnZ5RWxhcHNlZGl0ZW1cclxuICApIHtcclxuICB9XHJcblxyXG4gIGdldEJ5SW50ZXJ2YWwoaWRzVXNlcnM6IG51bWJlcltdLCBkYXRlU3RhcnQ6IERhdGUsIGRhdGVFbmQ6IERhdGUpIHtcclxuICAgIGNvbnN0IHBhcmFtOiBpQlhSZXN0UGFyYW1FbGFwc2VkaXRlbUdldCA9IHtcclxuICAgICAgT1JERVI6IHtcclxuICAgICAgICBJRDogJ0RFU0MnXHJcbiAgICAgIH0sXHJcbiAgICAgIEZJTFRFUjoge1xyXG4gICAgICAgIFVTRVJfSUQ6IGlkc1VzZXJzLFxyXG4gICAgICAgICc+PUNSRUFURURfREFURSc6IGRhdGVTdGFydC50b0xvY2FsZVN0cmluZygncnUtUnUnKSxcclxuICAgICAgICAnPD1DUkVBVEVEX0RBVEUnOiBkYXRlRW5kLnRvTG9jYWxlU3RyaW5nKCdydS1SdScpLFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eUVsYXBzZWRpdGVtLmdldExpc3QocGFyYW0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -31,6 +31,26 @@ export class BXRestNavvyUser {
|
|
|
31
31
|
}
|
|
32
32
|
/*
|
|
33
33
|
update(user: iBXRestUser, fieldUpdate: string[]) {
|
|
34
|
+
|
|
35
|
+
if (fieldUpdate && fieldUpdate.length) {
|
|
36
|
+
let sendData: any = {
|
|
37
|
+
ID: user.ID,
|
|
38
|
+
}
|
|
39
|
+
const userBX = this.BXRestUserMap.BXtoHttp(user)
|
|
40
|
+
for (const field of fieldUpdate) {
|
|
41
|
+
if (userBX[field]) {
|
|
42
|
+
sendData[field] = userBX[field]
|
|
43
|
+
} else {
|
|
44
|
+
return throwError(() => 'One sent field is empty')
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return this.http.post<iBXRestUserHttp[]>(
|
|
48
|
+
this.url.update,
|
|
49
|
+
sendData
|
|
50
|
+
)
|
|
51
|
+
} else {
|
|
52
|
+
return throwError(() => 'All sent field for edit is empty')
|
|
53
|
+
}
|
|
34
54
|
return this.Navvy.simple(
|
|
35
55
|
this.BXRestUser.update(user, fieldUpdate),
|
|
36
56
|
'Не удалось обновить пользователя с ID' + user.ID
|
|
@@ -154,7 +174,7 @@ export class BXRestNavvyUser {
|
|
|
154
174
|
delete params.FILTER.UF_DEPARTMENT;
|
|
155
175
|
}
|
|
156
176
|
}
|
|
157
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyUser, deps: [{ token: i1.
|
|
177
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyUser, deps: [{ token: i1.BXRestMapUser }, { token: i2.BXRestUser }, { token: i3.BXRestNavvyUserUserfield }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
158
178
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyUser, providedIn: 'root' }); }
|
|
159
179
|
}
|
|
160
180
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyUser, decorators: [{
|
|
@@ -162,5 +182,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
162
182
|
args: [{
|
|
163
183
|
providedIn: 'root'
|
|
164
184
|
}]
|
|
165
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUcxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBR25FLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTs7Ozs7QUFPOUIsTUFBTSxPQUFPLGVBQWU7SUFRMUIsWUFDVSxhQUE0QixFQUM1QixVQUFzQixFQUN2QixTQUFtQztRQUZsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQTBCO1FBVDVDLFFBQUcsR0FBd0M7WUFDekMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFDO1NBQzlCLENBQUE7UUFTQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQ3JCLDZFQUE2RSxDQUM5RSxDQUFBO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxTQUE4QixFQUFFO1FBQ2xDLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FB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QUFDLE1BQU0sQ0FBQyxNQUFNLENBQUE7U0FDNUI7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtTQUNyQztRQUVELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDdEUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQTtTQUNuQztJQUNILENBQUM7OEdBNUxVLGVBQWU7a0hBQWYsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgb2YsIHRhcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQlhSZXN0VXNlciB9IGZyb20gJy4uL3JlcXVlc3QvdXNlcidcbmltcG9ydCB7IEJYUmVzdFVzZXJNYXAgfSBmcm9tICcuLi9tYXAvdXNlcidcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vc2VydmljZXMvbmF2dnknXG5pbXBvcnQgeyBpQlhSZXN0VXNlckh0dHAgfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC91c2VyL3VzZXInXG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZhbmlsbGEvc2Vzc2lvblN0b3JhZ2UnXG5pbXBvcnQgeyBpQlhSZXN0QW5zd2VyIH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hbnN3ZXInXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1Vc2VyR2V0IH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlci9nZXQnXG5pbXBvcnQgY2xvbmUgZnJvbSAnanVzdC1jbG9uZSdcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVVzZXJTZWFyY2ggfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC91c2VyL3NlYXJjaCdcbmltcG9ydCB7IEJYUmVzdE5hdnZ5VXNlclVzZXJmaWVsZCB9IGZyb20gJy4vdXNlci91c2VyZmllbGQnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5VXNlciB7XG5cbiAgZGVmOiB7IHBhcmFtczogeyBBQ1RJVkU6IDEsIHN0YXJ0OiAwIH0gfSA9IHtcbiAgICBwYXJhbXM6IHtBQ1RJVkU6IDEsIHN0YXJ0OiAwfVxuICB9XG5cbiAgcHJpdmF0ZSBOYXZ2eTogTmF2dnk8QlhSZXN0VXNlciwgQlhSZXN0VXNlck1hcD5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIEJYUmVzdFVzZXJNYXA6IEJYUmVzdFVzZXJNYXAsXG4gICAgcHJpdmF0ZSBCWFJlc3RVc2VyOiBCWFJlc3RVc2VyLFxuICAgIHB1YmxpYyB1c2VyZmllbGQ6IEJYUmVzdE5hdnZ5VXNlclVzZXJmaWVsZFxuICApIHtcbiAgICB0aGlzLk5hdnZ5ID0gbmV3IE5hdnZ5KHRoaXMuQlhSZXN0VXNlciwgdGhpcy5CWFJlc3RVc2VyTWFwKVxuICB9XG5cbiAgYWRtaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKFxuICAgICAgdGhpcy5CWFJlc3RVc2VyLmFkbWluLFxuICAgICAgJ9CY0L3RhNC+0YDQvNCw0YbQuNGPINC+INCy0L7Qt9C80L7QttC90YvRhSDQv9GA0LjQvdCw0LTQu9C10LbQvdC+0YHRgtC4INGH0LXQu9C+0LLQtdC60LAg0Log0LDQtNC80LjQvdC40YHRgtGA0LDRgtC+0YDRgyDQvdC1INC/0L7Qu9GD0YfQtdC90LAnXG4gICAgKVxuICB9XG5cbiAgZ2V0KHBhcmFtczogaUJYUmVzdFBhcmFtVXNlckdldCA9IHt9KXtcbiAgICBsZXQgY29weVBhcmFtcyA9IGNsb25lKHBhcmFtcylcbiAgICB0aGlzLnNldERlZlBhcmFtKGNvcHlQYXJhbXMpXG5cbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5QYWdOYXYoXG4gICAgICB0aGlzLkJYUmVzdFVzZXIuZ2V0LFxuICAgICAgY29weVBhcmFtcyxcbiAgICAgICfQndC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LknLFxuICAgICAgdGhpcy5CWFJlc3RVc2VyTWFwLmdldFxuICAgIClcbiAgfVxuXG4gIGN1cnJlbnQodXBkYXRlID0gZmFsc2UpIHtcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGVXaXRoQXJnKFxuICAgICAgdGhpcy5zZWxmLFxuICAgICAgdXBkYXRlLFxuICAgICAgJycsXG4gICAgICB0aGlzLkJYUmVzdFVzZXJNYXAuY3VycmVudFxuICAgIClcbiAgfVxuXG4gIC8qXG4gIHVwZGF0ZSh1c2VyOiBpQlhSZXN0VXNlciwgZmllbGRVcGRhdGU6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKFxuICAgICAgdGhpcy5CWFJlc3RVc2VyLnVwZGF0ZSh1c2VyLCBmaWVsZFVwZGF0ZSksXG4gICAgICAn0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDRgSBJRCcgKyB1c2VyLklEXG4gICAgKVxuICB9XG4gICovXG4gIHNlYXJjaChwYXJhbXM6IHN0cmluZyB8IGlCWFJlc3RQYXJhbVVzZXJTZWFyY2gpIHtcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHBhcmFtcyA9IHtGSU5EOiBwYXJhbXN9XG4gICAgfVxuICAgIGlmICh0eXBlb2YgcGFyYW1zLkFDVElWRSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICBwYXJhbXMuQUNUSVZFID0gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5QYWdOYXYoXG4gICAgICB0aGlzLkJYUmVzdFVzZXIuc2VhcmNoLFxuICAgICAgcGFyYW1zLFxuICAgICAgJ9Ch0LXRgNCy0LXRgCDQvdC1INC+0YLQstC10YfQsNC10YIg0L3QsCDQt9Cw0L/RgNC+0YEg0L/QvtC40YHQutCwJyxcbiAgICAgIHRoaXMuQlhSZXN0VXNlck1hcC5nZXRcbiAgICApXG4gIH1cblxuICBhY2Nlc3MocGFyYW1zOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZVdpdGhBcmcoXG4gICAgICB0aGlzLkJYUmVzdFVzZXIuYWNjZXNzLFxuICAgICAgcGFyYW1zLFxuICAgICAgJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDQv9GA0LDQstCwJ1xuICAgIClcbiAgfVxuXG4gIGZpZWxkcygpIHtcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUodGhpcy5CWFJlc3RVc2VyLmZpZWxkcywgJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70Y8nKVxuICB9XG5cbiAgcHJpdmF0ZSBzZWxmKHVwZGF0ZSA9IGZhbHNlKSB7XG4gICAgaWYgKHVwZGF0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0VXNlci5jdXJyZW50KHVwZGF0ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHNlbGYgPSBTZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuY29uc3RydWN0b3IubmFtZSArIHRoaXMuc2VsZi5uYW1lKSBhcyBpQlhSZXN0VXNlckh0dHBcbiAgICAgIGlmIChzZWxmKSB7XG4gICAgICAgIHJldHVybiBvZih7cmVzdWx0OiBzZWxmfSBhcyBpQlhSZXN0QW5zd2VyPGlCWFJlc3RVc2VySHR0cD4pXG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5CWFJlc3RVc2VyLmN1cnJlbnQodXBkYXRlKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAodiA9PiB7XG4gICAgICAgICAgICBpZiAodikge1xuICAgICAgICAgICAgICByZXR1cm4gdlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRhcCh2ID0+IHtcbiAgICAgICAgICAgIGlmICh2KSB7XG4gICAgICAgICAgICAgIFNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5jb25zdHJ1Y3Rvci5uYW1lICsgdGhpcy5zZWxmLm5hbWUsIHYpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICB9XG4gIH1cblxuICAvLyBnZXRBbGwocGFyYW1zOiBpQlhHZXRQYXJhbSA9IHt9KTogT2JzZXJ2YWJsZTxpQlhSZXN0VXNlciBbXSB8IHVuZGVmaW5lZD4ge1xuICAvLyAgIGlmICghT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGgpIHtcbiAgLy8gICAgIHBhcmFtcyA9IGNsb25lKHRoaXMuZGVmLnBhcmFtcylcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgY29uc3Qgc2F2ZUFsbFVzZXIgPSBjb21wYXJlKHBhcmFtcywgdGhpcy5kZWYucGFyYW1zKVxuICAvLyAgIHJldHVybiB0aGlzLnVzZXIkLnBpcGUoXG4gIC8vICAgICB0YWtlKDEpLFxuICAvLyAgICAgbWVyZ2VNYXAodiA9PiB7XG4gIC8vICAgICAgIGlmICh2LmxvYWQuYWxsKSB7XG4gIC8vICAgICAgICAgaWYgKGNvbXBhcmUodGhpcy5kZWYucGFyYW1zLCBwYXJhbXMpKSB7XG4gIC8vICAgICAgICAgICByZXR1cm4gb2YoY2xvbmUodi5kYXRhKSlcbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgIH1cbiAgLy9cbiAgLy8gICAgICAgcmV0dXJuIHRoaXMuZ2V0RW5kQXJyYXkocGFyYW1zKS5waXBlKFxuICAvLyAgICAgICAgIHRha2UoMSksXG4gIC8vICAgICAgICAgbWFwKHYgPT4ge1xuICAvLyAgICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcbiAgLy8gICAgICAgICAgICAgbGV0IGNsID0gY2xvbmUodi5yZXN1bHQpXG4gIC8vICAgICAgICAgICAgIHJldHVybiB0aGlzLnNhdmVBcnJVc2VyKGNsKVxuICAvLyAgICAgICAgICAgfVxuICAvLyAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAvLyAgICAgICAgIH0pLFxuICAvLyAgICAgICApXG4gIC8vICAgICB9KSxcbiAgLy8gICAgIHRhcCh2ID0+IHtcbiAgLy8gICAgICAgaWYgKHYgJiYgdi5sZW5ndGggJiYgc2F2ZUFsbFVzZXIpIHtcbiAgLy8gICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGxvYWRBbGwoe2xvYWQ6IHRydWV9KSlcbiAgLy8gICAgICAgfVxuICAvLyAgICAgICBwYXJhbXMuc3RhcnQgPSB0aGlzLmRlZi5wYXJhbXMuc3RhcnRcbiAgLy8gICAgIH0pXG4gIC8vICAgKVxuICAvLyB9XG5cbiAgLy8gcHJpdmF0ZSBzYXZlQXJyVXNlcih1c2VyczogaUJYUmVzdFVzZXJIdHRwW10pIHtcbiAgLy8gICBsZXQgcmVzdWx0OiBpQlhSZXN0VXNlciBbXSA9IFtdXG4gIC8vICAgZm9yIChjb25zdCB1c2VyIG9mIHVzZXJzKSB7XG4gIC8vICAgICByZXN1bHQucHVzaCh0aGlzLnVzZXJNYXAuSHR0cFRvQlgodXNlcikpXG4gIC8vICAgfVxuICAvLyAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2F2ZUFycih7YXJyOiByZXN1bHR9KSlcbiAgLy9cbiAgLy8gICByZXR1cm4gcmVzdWx0XG4gIC8vIH1cblxuICAvLyBnZXRFbmRBcnJheShwYXJhbXM6IFVzZXJGaWx0ZXIgPSB7fSk6IE9ic2VydmFibGU8aUh0dHBBbnN3ZXJCWDxpQlhSZXN0VXNlckh0dHBbXT4gfCB1bmRlZmluZWQ+IHtcbiAgLy8gICByZXR1cm4gdGhpcy5nZXQocGFyYW1zKS5waXBlKFxuICAvLyAgICAgbWVyZ2VNYXAoaXRlbXMgPT4ge1xuICAvLyAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMucmVzdWx0ICYmIHR5cGVvZiBpdGVtcy5yZXN1bHQgPT09ICdvYmplY3QnKSB7XG4gIC8vICAgICAgICAgaWYgKGl0ZW1zLm5leHQpIHtcbiAgLy8gICAgICAgICAgIHBhcmFtcy5zdGFydCA9IGl0ZW1zLm5leHRcbiAgLy8gICAgICAgICAgIHJldHVybiB0aGlzLmdldEVuZEFycmF5KHBhcmFtcykucGlwZShtYXAodkVuZCA9PiB7XG4gIC8vICAgICAgICAgICAgIGlmICh2RW5kICYmIGl0ZW1zLnJlc3VsdCAmJiB2RW5kLnJlc3VsdCkge1xuICAvLyAgICAgICAgICAgICAgIHJldHVybiB7cmVzdWx0OiBbLi4uaXRlbXMucmVzdWx0LCAuLi52RW5kLnJlc3VsdF19XG4gIC8vICAgICAgICAgICAgIH1cbiAgLy8gICAgICAgICAgICAgcmV0dXJuIChpdGVtcykgPyBpdGVtcyA6IHVuZGVmaW5lZFxuICAvLyAgICAgICAgICAgfSkpXG4gIC8vICAgICAgICAgfVxuICAvLyAgICAgICAgIHJldHVybiBvZihpdGVtcylcbiAgLy8gICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAvLyAgICAgICB9XG4gIC8vICAgICB9KSxcbiAgLy8gICApXG4gIC8vIH1cblxuICBwcml2YXRlIHNldERlZlBhcmFtKHBhcmFtczogaUJYUmVzdFBhcmFtVXNlckdldCkge1xuICAgIGlmKCFwYXJhbXMuRklMVEVSKSB7XG4gICAgICBwYXJhbXMuRklMVEVSID0ge31cbiAgICB9XG5cbiAgICBpZiAoIXBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgnQUNUSVZFJykpIHtcbiAgICAgIHBhcmFtcy5GSUxURVIuQUNUSVZFID0gdGhpcy5kZWYucGFyYW1zLkFDVElWRVxuICAgIH1cbiAgICBpZiAocGFyYW1zLkZJTFRFUi5BQ1RJVkUgJiYgcGFyYW1zLkZJTFRFUi5BQ1RJVkUgPT09IDIpIHtcbiAgICAgIGRlbGV0ZSBwYXJhbXMuRklMVEVSLkFDVElWRVxuICAgIH1cbiAgICBpZiAoIXBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgnc3RhcnQnKSkge1xuICAgICAgcGFyYW1zLnN0YXJ0ID0gdGhpcy5kZWYucGFyYW1zLnN0YXJ0XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5GSUxURVIuVUZfREVQQVJUTUVOVCAmJiAhcGFyYW1zLkZJTFRFUi5VRl9ERVBBUlRNRU5ULmxlbmd0aCkge1xuICAgICAgZGVsZXRlIHBhcmFtcy5GSUxURVIuVUZfREVQQVJUTUVOVFxuICAgIH1cbiAgfVxuXG59XG5cbiJdfQ==
|
|
185
|
+
}], ctorParameters: function () { return [{ type: i1.BXRestMapUser }, { type: i2.BXRestUser }, { type: i3.BXRestNavvyUserUserfield }]; } });
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBR25FLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTs7Ozs7QUFROUIsTUFBTSxPQUFPLGVBQWU7SUFRMUIsWUFDVSxhQUE0QixFQUM1QixVQUFzQixFQUN2QixTQUFtQztRQUZsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQTBCO1FBVDVDLFFBQUcsR0FBd0M7WUFDekMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFDO1NBQzlCLENBQUE7UUFTQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQ3JCLDZFQUE2RSxDQUM5RSxDQUFBO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxTQUE4QixFQUFFO1FBQ2xDLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FB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QUFFO1lBQ3RELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUE7U0FDNUI7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtTQUNyQztRQUVELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDdEUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQTtTQUNuQztJQUNILENBQUM7OEdBaE5VLGVBQWU7a0hBQWYsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgb2YsIHRhcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQlhSZXN0VXNlciB9IGZyb20gJy4uL3JlcXVlc3QvdXNlcidcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vc2VydmljZXMvbmF2dnknXG5pbXBvcnQgeyBpQlhSZXN0VXNlckh0dHAgfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC91c2VyL3VzZXInXG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZhbmlsbGEvc2Vzc2lvblN0b3JhZ2UnXG5pbXBvcnQgeyBpQlhSZXN0QW5zd2VyIH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hbnN3ZXInXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1Vc2VyR2V0IH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlci9nZXQnXG5pbXBvcnQgY2xvbmUgZnJvbSAnanVzdC1jbG9uZSdcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVVzZXJTZWFyY2ggfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC91c2VyL3NlYXJjaCdcbmltcG9ydCB7IEJYUmVzdE5hdnZ5VXNlclVzZXJmaWVsZCB9IGZyb20gJy4vdXNlci91c2VyZmllbGQnXG5pbXBvcnQgeyBCWFJlc3RNYXBVc2VyIH0gZnJvbSAnLi4vbWFwL3VzZXInXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5VXNlciB7XG5cbiAgZGVmOiB7IHBhcmFtczogeyBBQ1RJVkU6IDEsIHN0YXJ0OiAwIH0gfSA9IHtcbiAgICBwYXJhbXM6IHtBQ1RJVkU6IDEsIHN0YXJ0OiAwfVxuICB9XG5cbiAgcHJpdmF0ZSBOYXZ2eTogTmF2dnk8QlhSZXN0VXNlciwgQlhSZXN0TWFwVXNlcj5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIEJYUmVzdFVzZXJNYXA6IEJYUmVzdE1hcFVzZXIsXG4gICAgcHJpdmF0ZSBCWFJlc3RVc2VyOiBCWFJlc3RVc2VyLFxuICAgIHB1YmxpYyB1c2VyZmllbGQ6IEJYUmVzdE5hdnZ5VXNlclVzZXJmaWVsZFxuICApIHtcbiAgICB0aGlzLk5hdnZ5ID0gbmV3IE5hdnZ5KHRoaXMuQlhSZXN0VXNlciwgdGhpcy5CWFJlc3RVc2VyTWFwKVxuICB9XG5cbiAgYWRtaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKFxuICAgICAgdGhpcy5CWFJlc3RVc2VyLmFkbWluLFxuICAgICAgJ9CY0L3RhNC+0YDQvNCw0YbQuNGPINC+INCy0L7Qt9C80L7QttC90YvRhSDQv9GA0LjQvdCw0LTQu9C10LbQvdC+0YHRgtC4INGH0LXQu9C+0LLQtdC60LAg0Log0LDQtNC80LjQvdC40YHRgtGA0LDRgtC+0YDRgyDQvdC1INC/0L7Qu9GD0YfQtdC90LAnXG4gICAgKVxuICB9XG5cbiAgZ2V0KHBhcmFtczogaUJYUmVzdFBhcmFtVXNlckdldCA9IHt9KXtcbiAgICBsZXQgY29weVBhcmFtcyA9IGNsb25lKHBhcmFtcylcbiAgICB0aGlzLnNldERlZlBhcmFtKGNvcHlQYXJhbXMpXG5cbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5QYWdOYXYoXG4gICAgICB0aGlzLkJYUmVzdFVzZXIuZ2V0LFxuICAgICAgY29weVBhcmFtcyxcbiAgICAgICfQndC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LknLFxuICAgICAgdGhpcy5CWFJlc3RVc2VyTWFwLmdldFxuICAgIClcbiAgfVxuXG4gIGN1cnJlbnQodXBkYXRlID0gZmFsc2UpIHtcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGVXaXRoQXJnKFxuICAgICAgdGhpcy5zZWxmLFxuICAgICAgdXBkYXRlLFxuICAgICAgJycsXG4gICAgICB0aGlzLkJYUmVzdFVzZXJNYXAuY3VycmVudFxuICAgIClcbiAgfVxuXG4gIC8qXG4gIHVwZGF0ZSh1c2VyOiBpQlhSZXN0VXNlciwgZmllbGRVcGRhdGU6IHN0cmluZ1tdKSB7XG5cbiAgICAgIGlmIChmaWVsZFVwZGF0ZSAmJiBmaWVsZFVwZGF0ZS5sZW5ndGgpIHtcbiAgICAgIGxldCBzZW5kRGF0YTogYW55ID0ge1xuICAgICAgICBJRDogdXNlci5JRCxcbiAgICAgIH1cbiAgICAgIGNvbnN0IHVzZXJCWCA9IHRoaXMuQlhSZXN0VXNlck1hcC5CWHRvSHR0cCh1c2VyKVxuICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZFVwZGF0ZSkge1xuICAgICAgICBpZiAodXNlckJYW2ZpZWxkXSkge1xuICAgICAgICAgIHNlbmREYXRhW2ZpZWxkXSA9IHVzZXJCWFtmaWVsZF1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnT25lIHNlbnQgZmllbGQgaXMgZW1wdHknKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFVzZXJIdHRwW10+KFxuICAgICAgICB0aGlzLnVybC51cGRhdGUsXG4gICAgICAgIHNlbmREYXRhXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdBbGwgc2VudCBmaWVsZCBmb3IgZWRpdCBpcyBlbXB0eScpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZShcbiAgICAgIHRoaXMuQlhSZXN0VXNlci51cGRhdGUodXNlciwgZmllbGRVcGRhdGUpLFxuICAgICAgJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0YEgSUQnICsgdXNlci5JRFxuICAgIClcbiAgfVxuICAqL1xuICBzZWFyY2gocGFyYW1zOiBzdHJpbmcgfCBpQlhSZXN0UGFyYW1Vc2VyU2VhcmNoKSB7XG4gICAgaWYgKHR5cGVvZiBwYXJhbXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICBwYXJhbXMgPSB7RklORDogcGFyYW1zfVxuICAgIH1cbiAgICBpZiAodHlwZW9mIHBhcmFtcy5BQ1RJVkUgIT09ICdib29sZWFuJykge1xuICAgICAgcGFyYW1zLkFDVElWRSA9IHRydWVcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuUGFnTmF2KFxuICAgICAgdGhpcy5CWFJlc3RVc2VyLnNlYXJjaCxcbiAgICAgIHBhcmFtcyxcbiAgICAgICfQodC10YDQstC10YAg0L3QtSDQvtGC0LLQtdGH0LDQtdGCINC90LAg0LfQsNC/0YDQvtGBINC/0L7QuNGB0LrQsCcsXG4gICAgICB0aGlzLkJYUmVzdFVzZXJNYXAuZ2V0XG4gICAgKVxuICB9XG5cbiAgYWNjZXNzKHBhcmFtczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGVXaXRoQXJnKFxuICAgICAgdGhpcy5CWFJlc3RVc2VyLmFjY2VzcyxcbiAgICAgIHBhcmFtcyxcbiAgICAgICfQndC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0L/RgNCw0LLQsCdcbiAgICApXG4gIH1cblxuICBmaWVsZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKHRoaXMuQlhSZXN0VXNlci5maWVsZHMsICfQndC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GPJylcbiAgfVxuXG4gIHByaXZhdGUgc2VsZih1cGRhdGUgPSBmYWxzZSkge1xuICAgIGlmICh1cGRhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLkJYUmVzdFVzZXIuY3VycmVudCh1cGRhdGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBzZWxmID0gU2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmNvbnN0cnVjdG9yLm5hbWUgKyB0aGlzLnNlbGYubmFtZSkgYXMgaUJYUmVzdFVzZXJIdHRwXG4gICAgICBpZiAoc2VsZikge1xuICAgICAgICByZXR1cm4gb2Yoe3Jlc3VsdDogc2VsZn0gYXMgaUJYUmVzdEFuc3dlcjxpQlhSZXN0VXNlckh0dHA+KVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0VXNlci5jdXJyZW50KHVwZGF0ZSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKHYgPT4ge1xuICAgICAgICAgICAgaWYgKHYpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YXAodiA9PiB7XG4gICAgICAgICAgICBpZiAodikge1xuICAgICAgICAgICAgICBTZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMuY29uc3RydWN0b3IubmFtZSArIHRoaXMuc2VsZi5uYW1lLCB2KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgfVxuICB9XG5cbiAgLy8gZ2V0QWxsKHBhcmFtczogaUJYR2V0UGFyYW0gPSB7fSk6IE9ic2VydmFibGU8aUJYUmVzdFVzZXIgW10gfCB1bmRlZmluZWQ+IHtcbiAgLy8gICBpZiAoIU9iamVjdC5rZXlzKHBhcmFtcykubGVuZ3RoKSB7XG4gIC8vICAgICBwYXJhbXMgPSBjbG9uZSh0aGlzLmRlZi5wYXJhbXMpXG4gIC8vICAgfVxuICAvL1xuICAvLyAgIGNvbnN0IHNhdmVBbGxVc2VyID0gY29tcGFyZShwYXJhbXMsIHRoaXMuZGVmLnBhcmFtcylcbiAgLy8gICByZXR1cm4gdGhpcy51c2VyJC5waXBlKFxuICAvLyAgICAgdGFrZSgxKSxcbiAgLy8gICAgIG1lcmdlTWFwKHYgPT4ge1xuICAvLyAgICAgICBpZiAodi5sb2FkLmFsbCkge1xuICAvLyAgICAgICAgIGlmIChjb21wYXJlKHRoaXMuZGVmLnBhcmFtcywgcGFyYW1zKSkge1xuICAvLyAgICAgICAgICAgcmV0dXJuIG9mKGNsb25lKHYuZGF0YSkpXG4gIC8vICAgICAgICAgfVxuICAvLyAgICAgICB9XG4gIC8vXG4gIC8vICAgICAgIHJldHVybiB0aGlzLmdldEVuZEFycmF5KHBhcmFtcykucGlwZShcbiAgLy8gICAgICAgICB0YWtlKDEpLFxuICAvLyAgICAgICAgIG1hcCh2ID0+IHtcbiAgLy8gICAgICAgICAgIGlmICh2ICYmIHYucmVzdWx0KSB7XG4gIC8vICAgICAgICAgICAgIGxldCBjbCA9IGNsb25lKHYucmVzdWx0KVxuICAvLyAgICAgICAgICAgICByZXR1cm4gdGhpcy5zYXZlQXJyVXNlcihjbClcbiAgLy8gICAgICAgICAgIH1cbiAgLy8gICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgLy8gICAgICAgICB9KSxcbiAgLy8gICAgICAgKVxuICAvLyAgICAgfSksXG4gIC8vICAgICB0YXAodiA9PiB7XG4gIC8vICAgICAgIGlmICh2ICYmIHYubGVuZ3RoICYmIHNhdmVBbGxVc2VyKSB7XG4gIC8vICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChsb2FkQWxsKHtsb2FkOiB0cnVlfSkpXG4gIC8vICAgICAgIH1cbiAgLy8gICAgICAgcGFyYW1zLnN0YXJ0ID0gdGhpcy5kZWYucGFyYW1zLnN0YXJ0XG4gIC8vICAgICB9KVxuICAvLyAgIClcbiAgLy8gfVxuXG4gIC8vIHByaXZhdGUgc2F2ZUFyclVzZXIodXNlcnM6IGlCWFJlc3RVc2VySHR0cFtdKSB7XG4gIC8vICAgbGV0IHJlc3VsdDogaUJYUmVzdFVzZXIgW10gPSBbXVxuICAvLyAgIGZvciAoY29uc3QgdXNlciBvZiB1c2Vycykge1xuICAvLyAgICAgcmVzdWx0LnB1c2godGhpcy51c2VyTWFwLkh0dHBUb0JYKHVzZXIpKVxuICAvLyAgIH1cbiAgLy8gICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBcnIoe2FycjogcmVzdWx0fSkpXG4gIC8vXG4gIC8vICAgcmV0dXJuIHJlc3VsdFxuICAvLyB9XG5cbiAgLy8gZ2V0RW5kQXJyYXkocGFyYW1zOiBVc2VyRmlsdGVyID0ge30pOiBPYnNlcnZhYmxlPGlIdHRwQW5zd2VyQlg8aUJYUmVzdFVzZXJIdHRwW10+IHwgdW5kZWZpbmVkPiB7XG4gIC8vICAgcmV0dXJuIHRoaXMuZ2V0KHBhcmFtcykucGlwZShcbiAgLy8gICAgIG1lcmdlTWFwKGl0ZW1zID0+IHtcbiAgLy8gICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLnJlc3VsdCAmJiB0eXBlb2YgaXRlbXMucmVzdWx0ID09PSAnb2JqZWN0Jykge1xuICAvLyAgICAgICAgIGlmIChpdGVtcy5uZXh0KSB7XG4gIC8vICAgICAgICAgICBwYXJhbXMuc3RhcnQgPSBpdGVtcy5uZXh0XG4gIC8vICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFbmRBcnJheShwYXJhbXMpLnBpcGUobWFwKHZFbmQgPT4ge1xuICAvLyAgICAgICAgICAgICBpZiAodkVuZCAmJiBpdGVtcy5yZXN1bHQgJiYgdkVuZC5yZXN1bHQpIHtcbiAgLy8gICAgICAgICAgICAgICByZXR1cm4ge3Jlc3VsdDogWy4uLml0ZW1zLnJlc3VsdCwgLi4udkVuZC5yZXN1bHRdfVxuICAvLyAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICAgIHJldHVybiAoaXRlbXMpID8gaXRlbXMgOiB1bmRlZmluZWRcbiAgLy8gICAgICAgICAgIH0pKVxuICAvLyAgICAgICAgIH1cbiAgLy8gICAgICAgICByZXR1cm4gb2YoaXRlbXMpXG4gIC8vICAgICAgIH0gZWxzZSB7XG4gIC8vICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfSksXG4gIC8vICAgKVxuICAvLyB9XG5cbiAgcHJpdmF0ZSBzZXREZWZQYXJhbShwYXJhbXM6IGlCWFJlc3RQYXJhbVVzZXJHZXQpIHtcbiAgICBpZighcGFyYW1zLkZJTFRFUikge1xuICAgICAgcGFyYW1zLkZJTFRFUiA9IHt9XG4gICAgfVxuXG4gICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ0FDVElWRScpKSB7XG4gICAgICBwYXJhbXMuRklMVEVSLkFDVElWRSA9IHRoaXMuZGVmLnBhcmFtcy5BQ1RJVkVcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5GSUxURVIuQUNUSVZFICYmIHBhcmFtcy5GSUxURVIuQUNUSVZFID09PSAyKSB7XG4gICAgICBkZWxldGUgcGFyYW1zLkZJTFRFUi5BQ1RJVkVcbiAgICB9XG4gICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ3N0YXJ0JykpIHtcbiAgICAgIHBhcmFtcy5zdGFydCA9IHRoaXMuZGVmLnBhcmFtcy5zdGFydFxuICAgIH1cblxuICAgIGlmIChwYXJhbXMuRklMVEVSLlVGX0RFUEFSVE1FTlQgJiYgIXBhcmFtcy5GSUxURVIuVUZfREVQQVJUTUVOVC5sZW5ndGgpIHtcbiAgICAgIGRlbGV0ZSBwYXJhbXMuRklMVEVSLlVGX0RFUEFSVE1FTlRcbiAgICB9XG4gIH1cblxufVxuXG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { concatMap, from, mergeMap, throwError } from 'rxjs';
|
|
1
|
+
import { concat, concatMap, from, last, mergeMap, shareReplay, tap, throwError } from 'rxjs';
|
|
2
2
|
import clone from 'just-clone';
|
|
3
|
-
import { catchError } from 'rxjs/operators';
|
|
3
|
+
import { catchError, map } from 'rxjs/operators';
|
|
4
4
|
import { NavvyPagNavBase } from './extends/NavvyPagNavBase';
|
|
5
5
|
/**
|
|
6
6
|
* Класс-прослойка-обработчик для методов работающих на альтернативной постраничной навигации тика как методы по
|
|
@@ -10,56 +10,47 @@ import { NavvyPagNavBase } from './extends/NavvyPagNavBase';
|
|
|
10
10
|
*/
|
|
11
11
|
export class NavvyAlterPagNav extends NavvyPagNavBase {
|
|
12
12
|
resultAll() {
|
|
13
|
-
|
|
13
|
+
let save = [];
|
|
14
|
+
return this.resultAllEnd()
|
|
15
|
+
.pipe(map(v => {
|
|
16
|
+
if (v) {
|
|
17
|
+
save.push(...v);
|
|
18
|
+
}
|
|
19
|
+
return save;
|
|
20
|
+
}), last(), shareReplay(1));
|
|
14
21
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
*
|
|
19
|
-
* @param func
|
|
20
|
-
* @param param
|
|
21
|
-
*/
|
|
22
|
-
getAllTaskElapsedItem(func, param = undefined) {
|
|
23
|
-
return func.call(this.requestClass, param).pipe(mergeMap(items => {
|
|
22
|
+
resultAllEnd() {
|
|
23
|
+
// return this.mapForVanillaEnd(this.func, this.param)
|
|
24
|
+
return this.resultVanilla().pipe(mergeMap(items => {
|
|
24
25
|
if (items && items.result) {
|
|
25
|
-
if (items.next) {
|
|
26
|
-
param = (param) ? param : {};
|
|
27
|
-
param.PARAMS = {
|
|
28
|
-
NAV_PARAMS: {
|
|
29
|
-
nPageSize: this.pageSize,
|
|
30
|
-
iNumPage: items.next / this.pageSize + 1
|
|
31
|
-
}
|
|
32
|
-
};
|
|
26
|
+
if (items.total && items.next) {
|
|
33
27
|
let requests = [];
|
|
34
|
-
for (let i =
|
|
35
|
-
let paramClone = clone(param);
|
|
28
|
+
for (let i = items.next; i < items.total; i = i + this.pageSize) {
|
|
29
|
+
let paramClone = clone(this.param);
|
|
36
30
|
paramClone.PARAMS = {
|
|
37
31
|
NAV_PARAMS: {
|
|
38
32
|
nPageSize: this.pageSize,
|
|
39
|
-
iNumPage:
|
|
33
|
+
iNumPage: i / this.pageSize + 1
|
|
40
34
|
}
|
|
41
35
|
};
|
|
42
36
|
requests.push(paramClone);
|
|
43
37
|
}
|
|
44
|
-
return from(requests).pipe(concatMap(param =>
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
map(vEnd => {
|
|
48
|
-
if (vEnd && vEnd.result && items.result) {
|
|
49
|
-
return merge(clone(vEnd), {result: [...items.result, ...vEnd.result]})
|
|
38
|
+
return concat(this.mapResultForGetAll(items), from(requests).pipe(concatMap(param => this.resultEnd(this.func, param).pipe(tap(_ => {
|
|
39
|
+
if (param && param.PARAMS && items.total) {
|
|
40
|
+
this.load$.next((param.PARAMS.NAV_PARAMS.iNumPage * this.pageSize + this.pageSize) / items.total);
|
|
50
41
|
}
|
|
51
|
-
|
|
52
|
-
})
|
|
53
|
-
)
|
|
54
|
-
*/
|
|
42
|
+
})))));
|
|
55
43
|
}
|
|
56
44
|
}
|
|
57
|
-
return
|
|
45
|
+
return this.mapResultForGetAll(items);
|
|
58
46
|
}), catchError(err => {
|
|
59
47
|
// this.snackBar.error("Проблемы с поточным получение затреканого времени")
|
|
60
48
|
console.error(err);
|
|
61
49
|
return throwError(() => err);
|
|
62
50
|
}));
|
|
63
51
|
}
|
|
52
|
+
mapResultForGetAll(items) {
|
|
53
|
+
return (items?.result) ? from([items.result]).pipe(map(v => (v && this.map) ? this.map.call(this.mapClass, v) : v)) : from([]);
|
|
54
|
+
}
|
|
64
55
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmF2dnlBbHRlcm5hdGl2ZVBhZ2luYXRpb25OYXZpZ2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvTmF2dnkvTmF2dnlBbHRlcm5hdGl2ZVBhZ2luYXRpb25OYXZpZ2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRTVGLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUkzRDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxnQkFBcUUsU0FBUSxlQUFrQztJQUUxSCxTQUFTO1FBQ1AsSUFBSSxJQUFJLEdBQTRCLEVBQUUsQ0FBQTtRQUN0QyxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUU7YUFDdkIsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNKLElBQUksQ0FBQyxFQUFFO2dCQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUE0QixDQUFDLENBQUE7YUFDM0M7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUMsQ0FDRixFQUNELElBQUksRUFBRSxFQUNOLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFBO0lBQ0wsQ0FBQztJQUVPLFlBQVk7UUFDbEIsdURBQXVEO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDOUIsUUFBUSxDQUNOLEtBQUssQ0FBQyxFQUFFO1lBQ04sSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDekIsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7b0JBQzdCLElBQUksUUFBUSxHQUFRLEVBQUUsQ0FBQTtvQkFDdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTt3QkFDL0QsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTt3QkFDbEMsVUFBVSxDQUFDLE1BQU0sR0FBRzs0QkFDbEIsVUFBVSxFQUFFO2dDQUNWLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUTtnQ0FDeEIsUUFBUSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUM7NkJBQ2hDO3lCQUNGLENBQUE7d0JBQ0QsUUFBUSxDQUFDLElBQUksQ0FDWCxVQUFVLENBQ1gsQ0FBQTtxQkFDRjtvQkFDRCxPQUFPLE1BQU0sQ0FDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQ2pCLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUNuQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ04sSUFBRyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFOzRCQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7eUJBQ2hHO29CQUNILENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FDRixDQUNGLENBQUE7aUJBQ0Y7YUFDRjtZQUNELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZDLENBQUMsQ0FDRixFQUNELFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLDJFQUEyRTtZQUMzRSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2xCLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzlCLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBcUM7UUFDOUQsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNoRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNoRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBNkIsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7Q0F1Q0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXQsIGNvbmNhdE1hcCwgZnJvbSwgbGFzdCwgbWVyZ2VNYXAsIHNoYXJlUmVwbGF5LCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0QW5zd2VyIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hbnN3ZXInXHJcbmltcG9ydCBjbG9uZSBmcm9tICdqdXN0LWNsb25lJ1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgTmF2dnlQYWdOYXZCYXNlIH0gZnJvbSAnLi9leHRlbmRzL05hdnZ5UGFnTmF2QmFzZSdcclxuaW1wb3J0IHsgUmV0dXJuVHlwZU5hdnZ5IH0gZnJvbSAnLi9OYXZ2eVN1cHBvcnQnXHJcbmltcG9ydCB7IGlCWFJlc3RBbHRlcm5hdGl2ZVBhZ2luYXRpb24gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXNlL0FwaVBhZ2luYXRpb25CWCdcclxuXHJcbi8qKlxyXG4gKiDQmtC70LDRgdGBLdC/0YDQvtGB0LvQvtC50LrQsC3QvtCx0YDQsNCx0L7RgtGH0LjQuiDQtNC70Y8g0LzQtdGC0L7QtNC+0LIg0YDQsNCx0L7RgtCw0Y7RidC40YUg0L3QsCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QvtC5INC/0L7RgdGC0YDQsNC90LjRh9C90L7QuSDQvdCw0LLQuNCz0LDRhtC40Lgg0YLQuNC60LAg0LrQsNC6INC80LXRgtC+0LTRiyDQv9C+XHJcbiAqINC30LDRgtGA0LDRh9C10L3QvdC+0LzRgyDQstGA0LXQvNC10L3QuCDQvdCwINC30LDQtNCw0YfQuCBodHRwczovL2Rldi4xYy1iaXRyaXgucnUvcmVzdF9oZWxwL3Rhc2tzL3Rhc2svZWxhcHNlZGl0ZW0vaW5kZXgucGhwXHJcbiAqXHJcbiAqINC90LUg0LfQsNCy0LXRgNGI0LXQvdC90YvQuSDQutC70LDRgdGBLCDRgNCw0LHQvtGC0LDQtdC8INC+0YIg0YfQsNGB0YLQvdC+0LPQviDQuiDQvtCx0YnQtdC80YNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBOYXZ2eUFsdGVyUGFnTmF2PEMsIE0sIFQsIFIsIFAgZXh0ZW5kcyBpQlhSZXN0QWx0ZXJuYXRpdmVQYWdpbmF0aW9uPiBleHRlbmRzIE5hdnZ5UGFnTmF2QmFzZTxDLCBNLCBUW10sIFJbXSwgUD4ge1xyXG5cclxuICByZXN1bHRBbGwoKSB7XHJcbiAgICBsZXQgc2F2ZTogUmV0dXJuVHlwZU5hdnZ5PFQsIFI+W10gPSBbXVxyXG4gICAgcmV0dXJuIHRoaXMucmVzdWx0QWxsRW5kKClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICBpZiAodikge1xyXG4gICAgICAgICAgICAgIHNhdmUucHVzaCguLi52IGFzIFJldHVyblR5cGVOYXZ2eTxULCBSPltdKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBzYXZlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKSxcclxuICAgICAgICBsYXN0KCksXHJcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcclxuICAgICAgKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXN1bHRBbGxFbmQoKSB7XHJcbiAgICAvLyByZXR1cm4gIHRoaXMubWFwRm9yVmFuaWxsYUVuZCh0aGlzLmZ1bmMsIHRoaXMucGFyYW0pXHJcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWYW5pbGxhKCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoXHJcbiAgICAgICAgaXRlbXMgPT4ge1xyXG4gICAgICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLnJlc3VsdCkge1xyXG4gICAgICAgICAgICBpZiAoaXRlbXMudG90YWwgJiYgaXRlbXMubmV4dCkge1xyXG4gICAgICAgICAgICAgIGxldCByZXF1ZXN0czogUFtdID0gW11cclxuICAgICAgICAgICAgICBmb3IgKGxldCBpID0gaXRlbXMubmV4dDsgaSA8IGl0ZW1zLnRvdGFsOyBpID0gaSArIHRoaXMucGFnZVNpemUpIHtcclxuICAgICAgICAgICAgICAgIGxldCBwYXJhbUNsb25lID0gY2xvbmUodGhpcy5wYXJhbSlcclxuICAgICAgICAgICAgICAgIHBhcmFtQ2xvbmUuUEFSQU1TID0ge1xyXG4gICAgICAgICAgICAgICAgICBOQVZfUEFSQU1TOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgblBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICAgICAgICAgICAgICAgIGlOdW1QYWdlOiBpIC8gdGhpcy5wYWdlU2l6ZSArIDFcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmVxdWVzdHMucHVzaChcclxuICAgICAgICAgICAgICAgICAgcGFyYW1DbG9uZVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gY29uY2F0KFxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXBSZXN1bHRGb3JHZXRBbGwoaXRlbXMpLFxyXG4gICAgICAgICAgICAgICAgZnJvbShyZXF1ZXN0cykucGlwZShcclxuICAgICAgICAgICAgICAgICAgY29uY2F0TWFwKHBhcmFtID0+XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXN1bHRFbmQodGhpcy5mdW5jLCBwYXJhbSkucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgIHRhcChfID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYocGFyYW0gJiYgcGFyYW0uUEFSQU1TICYmIGl0ZW1zLnRvdGFsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkJC5uZXh0KChwYXJhbS5QQVJBTVMuTkFWX1BBUkFNUy5pTnVtUGFnZSAqIHRoaXMucGFnZVNpemUgKyB0aGlzLnBhZ2VTaXplKS9pdGVtcy50b3RhbClcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMubWFwUmVzdWx0Rm9yR2V0QWxsKGl0ZW1zKVxyXG4gICAgICAgIH1cclxuICAgICAgKSxcclxuICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMuc25hY2tCYXIuZXJyb3IoXCLQn9GA0L7QsdC70LXQvNGLINGBINC/0L7RgtC+0YfQvdGL0Lwg0L/QvtC70YPRh9C10L3QuNC1INC30LDRgtGA0LXQutCw0L3QvtCz0L4g0LLRgNC10LzQtdC90LhcIilcclxuICAgICAgICBjb25zb2xlLmVycm9yKGVycilcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnIpXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1hcFJlc3VsdEZvckdldEFsbChpdGVtczogaUJYUmVzdEFuc3dlcjxUW10+IHwgdW5kZWZpbmVkKXtcclxuICAgIHJldHVybiAoaXRlbXM/LnJlc3VsdCkgPyBmcm9tKFtpdGVtcy5yZXN1bHRdKS5waXBlKFxyXG4gICAgICBtYXAodiA9PiAodiAmJiB0aGlzLm1hcCkgPyB0aGlzLm1hcC5jYWxsKHRoaXMubWFwQ2xhc3MsIHYpIDogdilcclxuICAgICkgOiBmcm9tKFtdIGFzIFJldHVyblR5cGVOYXZ2eTxULCBSPltdKVxyXG4gIH1cclxuXHJcbiAgLypcclxuICBnZXRBbGw8VD4ocmVxdWVzdDogT2JzZXJ2YWJsZTxpQlhSZXN0QW5zd2VyPFQ+IHwgdW5kZWZpbmVkPixcclxuICAgICAgICAgICAgZXJyb3JUZXh0OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiByZXF1ZXN0LnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKFxyXG4gICAgICAgIGl0ZW1zID0+IHtcclxuICAgICAgICAgIGlmIChpdGVtcyAmJiBpdGVtcy5yZXN1bHQpIHtcclxuICAgICAgICAgICAgaWYgKGl0ZW1zLm5leHQpIHtcclxuICAgICAgICAgICAgICBwYXJhbXMgPSAocGFyYW1zKSA/IHBhcmFtcyA6IHt9XHJcbiAgICAgICAgICAgICAgcGFyYW1zLlBBUkFNUyA9IHtcclxuICAgICAgICAgICAgICAgIE5BVl9QQVJBTVM6IHtcclxuICAgICAgICAgICAgICAgICAgblBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICAgICAgICAgICAgICBpTnVtUGFnZTogaXRlbXMubmV4dCAvIHRoaXMucGFnZVNpemUgKyAxXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEFsbChwYXJhbXMsIGNhY2hlKS5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKHZFbmQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBpZiAodkVuZCAmJiB2RW5kLnJlc3VsdCAmJiBpdGVtcy5yZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVyZ2UoY2xvbmUodkVuZCksIHtyZXN1bHQ6IFsuLi5pdGVtcy5yZXN1bHQsIC4uLnZFbmQucmVzdWx0XX0pXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1zXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gb2YoaXRlbXMpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApLFxyXG4gICAgICAvLyBtYXAodiA9PiBCWFJlc3RNYXBSZXN1bHQodikpLFxyXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XHJcbiAgICAgICAgdGhpcy5zbmFja0Jhci5lcnJvcihlcnJvclRleHQpXHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgICovXHJcbn1cclxuIl19
|