@en-solutions/tgm-client-sdk 1.8.0 → 1.8.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/esm2022/lib/models/api/cms.models.mjs +1 -1
- package/esm2022/lib/models/index.mjs +2 -1
- package/esm2022/lib/services/api/cms-menu.helper.mjs +69 -57
- package/esm2022/lib/services/api/cms.service.mjs +4 -1
- package/fesm2022/en-solutions-tgm-client-sdk.mjs +71 -56
- package/fesm2022/en-solutions-tgm-client-sdk.mjs.map +1 -1
- package/lib/models/api/cms.models.d.ts +4 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/services/api/cms-menu.helper.d.ts +36 -39
- package/lib/services/api/cms.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbW9kZWxzL2FwaS9jbXMubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvbnRlbnRUeXBlU2NoZW1hIHtcbiAga2luZD86IHN0cmluZztcbiAgY29sbGVjdGlvbk5hbWU6IHN0cmluZztcbiAgaW5mbzoge1xuICAgIHNpbmd1bGFyTmFtZTogc3RyaW5nO1xuICAgIHBsdXJhbE5hbWU6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIC8qKiBUYXJnZXQgbWVudSBzZWN0aW9uIGlkIChlLmcuLCBcInRnbS1vbVwiLCBcImFkbWluaXN0cmF0aW9uXCIsIFwidGdtLWludmVudG9yeS1tYW5hZ2VtZW50XCIpICovXG4gICAgbWVudVNlY3Rpb24/OiBzdHJpbmc7XG4gICAgLyoqIEljb24gbmFtZSBmb3Igc2lkZWJhciB0YWIgKGZlYXRoZXIvbHVjaWRlLCBlLmcuLCBcInNoaWVsZFwiLCBcImNsaXBib2FyZFwiKSAqL1xuICAgIG1lbnVJY29uPzogc3RyaW5nO1xuICB9O1xuICBvcHRpb25zPzogeyBkcmFmdEFuZFB1Ymxpc2g/OiBib29sZWFuIH07XG4gIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIEZpZWxkRGVmaW5pdGlvbj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGREZWZpbml0aW9uIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiAnc3RyaW5nJyB8ICd0ZXh0JyB8ICdyaWNodGV4dCcgfCAnaW50ZWdlcicgfCAnYmlnaW50ZWdlcicgfCAnZmxvYXQnIHwgJ2RlY2ltYWwnIHxcbiAgICAgICAgJ2Jvb2xlYW4nIHwgJ2RhdGUnIHwgJ3RpbWUnIHwgJ2RhdGV0aW1lJyB8ICdqc29uJyB8ICdlbnVtZXJhdGlvbicgfCAnZW1haWwnIHxcbiAgICAgICAgJ21lZGlhJyB8ICdyZWxhdGlvbic7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgdW5pcXVlPzogYm9vbGVhbjtcbiAgcHJpdmF0ZT86IGJvb2xlYW47XG4gIGRlZmF1bHQ/OiBhbnk7XG4gIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBtaW4/OiBudW1iZXI7XG4gIG1heD86IG51bWJlcjtcbiAgcmVnZXg/OiBzdHJpbmc7XG4gIGVudW0/OiBzdHJpbmdbXTtcbiAgcmVsYXRpb24/OiAnb25lVG9PbmUnIHwgJ29uZVRvTWFueScgfCAnbWFueVRvT25lJyB8ICdtYW55VG9NYW55JztcbiAgdGFyZ2V0Pzogc3RyaW5nO1xuICBhbGxvd2VkVHlwZXM/OiBzdHJpbmdbXTtcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENtc1NhdmVkVmlldyB7XG4gIGlkPzogbnVtYmVyO1xuICBjb2xsZWN0aW9uTmFtZT86IHN0cmluZztcbiAgdXNlcklkPzogbnVtYmVyO1xuICB2aWV3TmFtZTogc3RyaW5nO1xuICBpc0RlZmF1bHQ/OiBib29sZWFuO1xuICBmaWx0ZXJDb25maWc/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBjb2x1bW5Db25maWc/OiBzdHJpbmdbXTtcbiAgc29ydENvbmZpZz86IHsgZmllbGQ6IHN0cmluZzsgb3JkZXI6ICdBU0MnIHwgJ0RFU0MnIH07XG4gIGNyZWF0ZWRBdD86IHN0cmluZztcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENtc1ZhbGlkYXRpb25SdWxlIHtcbiAgaWQ/OiBudW1iZXI7XG4gIGNvbGxlY3Rpb25OYW1lPzogc3RyaW5nO1xuICBydWxlTmFtZTogc3RyaW5nO1xuICBydWxlVHlwZTogJ1JFUVVJUkVEX0lGJyB8ICdDT01QQVJJU09OJyB8ICdSRUdFWCcgfCAnQ1VTVE9NX0VYUFJFU1NJT04nO1xuICBydWxlQ29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBkaXNwbGF5T3JkZXI/OiBudW1iZXI7XG4gIGNyZWF0ZWRBdD86IHN0cmluZztcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENtc1JlY29yZFR5cGUge1xuICBpZD86IG51bWJlcjtcbiAgY29sbGVjdGlvbk5hbWU/OiBzdHJpbmc7XG4gIHR5cGVOYW1lOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgaXNEZWZhdWx0PzogYm9vbGVhbjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBmaWVsZE92ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIGNyZWF0ZWRBdD86IHN0cmluZztcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENtc1BhZ2VMYXlvdXQge1xuICBpZD86IG51bWJlcjtcbiAgY29sbGVjdGlvbk5hbWU/OiBzdHJpbmc7XG4gIGxheW91dE5hbWU6IHN0cmluZztcbiAgaXNEZWZhdWx0PzogYm9vbGVhbjtcbiAgcmVjb3JkVHlwZUlkPzogbnVtYmVyO1xuICBzZWN0aW9uczogQ21zTGF5b3V0U2VjdGlvbltdO1xuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbXNMYXlvdXRTZWN0aW9uIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgY29sdW1uczogbnVtYmVyO1xuICBmaWVsZHM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENtc0Zvcm11bGFGaWVsZCB7XG4gIGlkPzogbnVtYmVyO1xuICBjb2xsZWN0aW9uTmFtZT86IHN0cmluZztcbiAgZmllbGROYW1lOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGZvcm11bGE6IHN0cmluZztcbiAgcmVzdWx0VHlwZTogJ05VTUJFUicgfCAnU1RSSU5HJyB8ICdEQVRFJyB8ICdCT09MRUFOJztcbiAgZGlzcGxheU9yZGVyPzogbnVtYmVyO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGNyZWF0ZWRBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbXNXb3JrZmxvd1J1bGUge1xuICBpZD86IG51bWJlcjtcbiAgY29sbGVjdGlvbk5hbWU/OiBzdHJpbmc7XG4gIHJ1bGVOYW1lOiBzdHJpbmc7XG4gIHRyaWdnZXJFdmVudDogJ09OX0NSRUFURScgfCAnT05fVVBEQVRFJyB8ICdPTl9DUkVBVEVfT1JfVVBEQVRFJztcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBldmFsdWF0aW9uT3JkZXI/OiBudW1iZXI7XG4gIGNvbmRpdGlvbkNvbmZpZz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIGFjdGlvbnM6IENtc1dvcmtmbG93QWN0aW9uW107XG4gIGNyZWF0ZWRBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbXNXb3JrZmxvd0FjdGlvbiB7XG4gIHR5cGU6ICdGSUVMRF9VUERBVEUnIHwgJ05PVElGSUNBVElPTicgfCAnTE9HJztcbiAgZmllbGQ/OiBzdHJpbmc7XG4gIHZhbHVlPzogYW55O1xuICBtZXNzYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENtc0FwcHJvdmFsUHJvY2VzcyB7XG4gIGlkPzogbnVtYmVyO1xuICBjb2xsZWN0aW9uTmFtZT86IHN0cmluZztcbiAgcHJvY2Vzc05hbWU6IHN0cmluZztcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICB0cmlnZ2VyRmllbGQ6IHN0cmluZztcbiAgdHJpZ2dlclZhbHVlOiBzdHJpbmc7XG4gIGZpbmFsQXBwcm92ZVZhbHVlPzogc3RyaW5nO1xuICBmaW5hbFJlamVjdFZhbHVlPzogc3RyaW5nO1xuICBzdGVwczogQ21zQXBwcm92YWxTdGVwW107XG4gIG5vdGlmeU9uU3VibWl0PzogYm9vbGVhbjtcbiAgbm90aWZ5T25BcHByb3ZlPzogYm9vbGVhbjtcbiAgbm90aWZ5T25SZWplY3Q/OiBib29sZWFuO1xuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ21zQXBwcm92YWxTdGVwIHtcbiAgb3JkZXI6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBhcHByb3ZlckZpZWxkPzogc3RyaW5nO1xuICBhcHByb3ZlclJvbGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ21zQXBwcm92YWxJbnN0YW5jZSB7XG4gIGlkPzogbnVtYmVyO1xuICBwcm9jZXNzSWQ6IG51bWJlcjtcbiAgY29sbGVjdGlvbk5hbWU/OiBzdHJpbmc7XG4gIHJlY29yZElkOiBudW1iZXI7XG4gIGN1cnJlbnRTdGVwPzogbnVtYmVyO1xuICBzdGF0dXM/OiAnUEVORElORycgfCAnQVBQUk9WRUQnIHwgJ1JFSkVDVEVEJyB8ICdDQU5DRUxMRUQnO1xuICBzdWJtaXR0ZWRCeT86IG51bWJlcjtcbiAgc3VibWl0dGVkQXQ/OiBzdHJpbmc7XG4gIGNvbXBsZXRlZEF0Pzogc3RyaW5nO1xuICBjb21tZW50cz86IHN0cmluZztcbiAgc3RlcEhpc3Rvcnk/OiBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbXNSb2xsdXBSZXN1bHQge1xuICByZXN1bHQ6IGFueTtcbiAgZnVuY3Rpb246IHN0cmluZztcbiAgdGFyZ2V0Q29sbGVjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENtc0RhdGFSZXNwb25zZTxUID0gYW55PiB7XG4gIGRhdGE6IFQ7XG4gIG1ldGE/OiB7XG4gICAgcGFnaW5hdGlvbj86IHtcbiAgICAgIHBhZ2U6IG51bWJlcjtcbiAgICAgIHBhZ2VTaXplOiBudW1iZXI7XG4gICAgICBwYWdlQ291bnQ6IG51bWJlcjtcbiAgICAgIHRvdGFsOiBudW1iZXI7XG4gICAgfTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -39,4 +39,5 @@ export * from './api/cortex-event.models';
|
|
|
39
39
|
export * from './api/cortex-insight.models';
|
|
40
40
|
export * from './api/aip.models';
|
|
41
41
|
export * from './api/reservoir-websocket.models';
|
|
42
|
-
|
|
42
|
+
export * from './api/cms.models';
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vYWRtaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvY29tcGFueS5tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvdW5pdC5tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvY29tcG9uZW50Lm1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS9pbnNwZWN0aW9uLm1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS9mYWlsdXJlLm1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS9pbnRlcnZlbnRpb24ubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL21haW50ZW5hbmNlLXJlY29yZC5tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvbWF0ZXJpYWwubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL3NlbnNvci5tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvcHJvamVjdC5tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvZG9jdW1lbnQubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL2NvbXBsaWFuY2UubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL2VuZXJneS5tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvd2FycmFudHkubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL2ZsZWV0Lm1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS9rbm93bGVkZ2UubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL3F1YWxpdHkubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL3dvcmtmbG93Lm1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS9jdXN0b20tZmllbGQubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL3VzZXIubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL21pc2MubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL3Jlc2Vydm9pci5tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGF0L2NoYXQubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL21lZGlhLm1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS9jYXQubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL21haW50ZW5hbmNlLm1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZGVvL3ZpZGVvLWNhbGwubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhbHRpbWUvcmVhbHRpbWUtZXZlbnQubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL3dvcmstcGVybWl0Lm1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS9sb3RvLm1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS9kaWFnbm9zdGljLXJlcG9ydC5tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvY29ydGV4LW5vZGUubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL2NvcnRleC1lZGdlLm1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS9jb3J0ZXgtZXZlbnQubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL2NvcnRleC1pbnNpZ2h0Lm1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS9haXAubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL3Jlc2Vydm9pci13ZWJzb2NrZXQubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL2Ntcy5tb2RlbHMnO1xuIl19
|
|
@@ -1,79 +1,78 @@
|
|
|
1
1
|
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { map } from 'rxjs';
|
|
2
|
+
import { map, shareReplay } from 'rxjs';
|
|
3
3
|
import { CmsContentTypeService } from './cms.service';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
* Frontend devs can inject these into the sidebar dynamically.
|
|
6
|
+
* Transforms CMS content types into sidebar menu items.
|
|
8
7
|
*
|
|
9
|
-
*
|
|
8
|
+
* Each content type can specify where it appears via info.menuSection:
|
|
9
|
+
* - "tgm-om" → TGM O&M section
|
|
10
|
+
* - "tgm-economics" → TGM Economics section
|
|
11
|
+
* - "tgm-inventory-management" → Inventory section
|
|
12
|
+
* - "administration" (default) → Administration → Custom Objects
|
|
13
|
+
* - Any other menu section id from menu.ts
|
|
10
14
|
*
|
|
11
|
-
*
|
|
12
|
-
* // In AppComponent or a module initializer:
|
|
13
|
-
* cmsMenuHelper.getMenuItems('administration/cms').subscribe(items => {
|
|
14
|
-
* // items is a CoreMenuItem[] array ready to inject into the sidebar
|
|
15
|
-
* const adminSection = menu.find(m => m.id === 'administration');
|
|
16
|
-
* const cmsGroup = {
|
|
17
|
-
* id: 'custom-objects',
|
|
18
|
-
* type: 'section' as const,
|
|
19
|
-
* title: 'Custom Objects',
|
|
20
|
-
* icon: 'layers',
|
|
21
|
-
* role: [Role['Administration.Read']],
|
|
22
|
-
* children: items
|
|
23
|
-
* };
|
|
24
|
-
* const moreIdx = adminSection.children.findIndex(c => c.id === 'more');
|
|
25
|
-
* adminSection.children.splice(moreIdx, 0, cmsGroup);
|
|
26
|
-
* });
|
|
27
|
-
* ```
|
|
15
|
+
* Usage in AppComponent.initializeMenu():
|
|
28
16
|
*
|
|
29
|
-
* Route setup in administraton.module.ts:
|
|
30
17
|
* ```typescript
|
|
31
|
-
* {
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
18
|
+
* this.cmsMenuHelper.getMenuItemsBySection('cms').subscribe(grouped => {
|
|
19
|
+
* for (const [sectionId, items] of Object.entries(grouped)) {
|
|
20
|
+
* const section = menu.find(m => m.id === sectionId);
|
|
21
|
+
* if (section?.children) {
|
|
22
|
+
* section.children.push(...items);
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
* });
|
|
36
26
|
* ```
|
|
37
27
|
*/
|
|
38
28
|
export class CmsMenuHelper {
|
|
39
29
|
contentTypeService = inject(CmsContentTypeService);
|
|
30
|
+
/** Cached content types — shared across subscribers, auto-refreshes on invalidate() */
|
|
31
|
+
_cache$ = null;
|
|
32
|
+
getContentTypes() {
|
|
33
|
+
if (!this._cache$) {
|
|
34
|
+
this._cache$ = this.getContentTypes().pipe(shareReplay({ bufferSize: 1, refCount: false }));
|
|
35
|
+
}
|
|
36
|
+
return this._cache$;
|
|
37
|
+
}
|
|
38
|
+
/** Invalidate the cache — call after creating/updating/deleting a content type */
|
|
39
|
+
invalidate() {
|
|
40
|
+
this._cache$ = null;
|
|
41
|
+
}
|
|
40
42
|
/**
|
|
41
|
-
* Fetch all
|
|
43
|
+
* Fetch all content types and return menu items grouped by menuSection.
|
|
44
|
+
* Each key is a menu section id (e.g., "tgm-om", "administration").
|
|
45
|
+
* Items without menuSection default to "administration".
|
|
42
46
|
*
|
|
43
|
-
* @param baseUrl -
|
|
44
|
-
* @param defaultIcon - Default icon
|
|
45
|
-
* @returns Observable of menu items array
|
|
47
|
+
* @param baseUrl - Route base path for CMS pages
|
|
48
|
+
* @param defaultIcon - Default icon when menuIcon not set
|
|
46
49
|
*/
|
|
47
|
-
|
|
48
|
-
return this.
|
|
50
|
+
getMenuItemsBySection(baseUrl = 'cms', defaultIcon = 'database') {
|
|
51
|
+
return this.getContentTypes().pipe(map((contentTypes) => {
|
|
52
|
+
const grouped = {};
|
|
53
|
+
for (const ct of contentTypes) {
|
|
54
|
+
const section = ct.info?.menuSection || 'administration';
|
|
55
|
+
const item = this.toMenuItem(ct, baseUrl, defaultIcon);
|
|
56
|
+
if (!grouped[section])
|
|
57
|
+
grouped[section] = [];
|
|
58
|
+
grouped[section].push(item);
|
|
59
|
+
}
|
|
60
|
+
return grouped;
|
|
61
|
+
}));
|
|
49
62
|
}
|
|
50
63
|
/**
|
|
51
|
-
*
|
|
64
|
+
* Fetch all content types as a flat list of menu items.
|
|
65
|
+
* Use getMenuItemsBySection() instead if you need placement control.
|
|
52
66
|
*/
|
|
53
|
-
|
|
54
|
-
return
|
|
55
|
-
id: `cms-${ct.collectionName}`,
|
|
56
|
-
title: ct.info?.displayName || ct.collectionName,
|
|
57
|
-
type: 'item',
|
|
58
|
-
icon: defaultIcon,
|
|
59
|
-
url: `${baseUrl}/${ct.collectionName}`,
|
|
60
|
-
// These match CoreMenuItem from tgm-manager-ui
|
|
61
|
-
availableOnMobileNative: false,
|
|
62
|
-
mobileOnly: false,
|
|
63
|
-
badge: ct.options?.draftAndPublish
|
|
64
|
-
? { title: 'D/P', classes: 'badge-light-primary' }
|
|
65
|
-
: undefined,
|
|
66
|
-
};
|
|
67
|
+
getMenuItems(baseUrl = 'cms', defaultIcon = 'database') {
|
|
68
|
+
return this.getContentTypes().pipe(map((contentTypes) => contentTypes.map(ct => this.toMenuItem(ct, baseUrl, defaultIcon))));
|
|
67
69
|
}
|
|
68
70
|
/**
|
|
69
|
-
* Build a
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* @param baseUrl - Route base path
|
|
73
|
-
* @param roles - Required roles to see this section
|
|
71
|
+
* Build a "Custom Objects" section for items that target "administration".
|
|
72
|
+
* Items targeting other sections are excluded — use getMenuItemsBySection() for those.
|
|
74
73
|
*/
|
|
75
|
-
getMenuSection(baseUrl = '
|
|
76
|
-
return this.
|
|
74
|
+
getMenuSection(baseUrl = 'cms', roles = ['Administration.Read']) {
|
|
75
|
+
return this.getMenuItemsBySection(baseUrl).pipe(map(grouped => ({
|
|
77
76
|
id: 'custom-objects',
|
|
78
77
|
type: 'section',
|
|
79
78
|
title: 'Custom Objects',
|
|
@@ -82,9 +81,22 @@ export class CmsMenuHelper {
|
|
|
82
81
|
role: roles,
|
|
83
82
|
availableOnMobileNative: false,
|
|
84
83
|
mobileOnly: false,
|
|
85
|
-
children:
|
|
84
|
+
children: grouped['administration'] || [],
|
|
86
85
|
})));
|
|
87
86
|
}
|
|
87
|
+
toMenuItem(ct, baseUrl, defaultIcon) {
|
|
88
|
+
return {
|
|
89
|
+
id: `cms-${ct.collectionName}`,
|
|
90
|
+
title: ct.info?.displayName || ct.collectionName,
|
|
91
|
+
type: 'item',
|
|
92
|
+
icon: ct.info?.menuIcon || defaultIcon,
|
|
93
|
+
url: `${baseUrl}/${ct.collectionName}`,
|
|
94
|
+
availableOnMobileNative: false,
|
|
95
|
+
mobileOnly: false,
|
|
96
|
+
// Store the target section for grouping
|
|
97
|
+
_menuSection: ct.info?.menuSection || 'administration',
|
|
98
|
+
};
|
|
99
|
+
}
|
|
88
100
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CmsMenuHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
89
101
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CmsMenuHelper, providedIn: 'root' });
|
|
90
102
|
}
|
|
@@ -92,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
92
104
|
type: Injectable,
|
|
93
105
|
args: [{ providedIn: 'root' }]
|
|
94
106
|
}] });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLW1lbnUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hcGkvY21zLW1lbnUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd0RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ0c7QUFFSCxNQUFNLE9BQU8sYUFBYTtJQUVoQixrQkFBa0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUzRDs7Ozs7O09BTUc7SUFDSCxZQUFZLENBQUMsT0FBTyxHQUFHLG9CQUFvQixFQUFFLFdBQVcsR0FBRyxVQUFVO1FBQ25FLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FDMUMsR0FBRyxDQUFDLENBQUMsWUFBaUMsRUFBRSxFQUFFLENBQ3hDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FDbEUsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssVUFBVSxDQUFDLEVBQXFCLEVBQUUsT0FBZSxFQUFFLFdBQW1CO1FBQzVFLE9BQU87WUFDTCxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFO1lBQzlCLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUMsY0FBYztZQUNoRCxJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxXQUFXO1lBQ2pCLEdBQUcsRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUMsY0FBYyxFQUFFO1lBQ3RDLCtDQUErQztZQUMvQyx1QkFBdUIsRUFBRSxLQUFLO1lBQzlCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLGVBQWU7Z0JBQ2hDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFO2dCQUNsRCxDQUFDLENBQUMsU0FBUztTQUNkLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsY0FBYyxDQUNaLE9BQU8sR0FBRyxvQkFBb0IsRUFDOUIsUUFBa0IsQ0FBQyxxQkFBcUIsQ0FBQztRQUV6QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNwQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ1osRUFBRSxFQUFFLGdCQUFnQjtZQUNwQixJQUFJLEVBQUUsU0FBa0I7WUFDeEIsS0FBSyxFQUFFLGdCQUFnQjtZQUN2QixTQUFTLEVBQUUsb0NBQW9DO1lBQy9DLElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFLEtBQUs7WUFDWCx1QkFBdUIsRUFBRSxLQUFLO1lBQzlCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFDSixDQUFDO3dHQTlEVSxhQUFhOzRHQUFiLGFBQWEsY0FEQSxNQUFNOzs0RkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ21zQ29udGVudFR5cGVTZXJ2aWNlIH0gZnJvbSAnLi9jbXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZW50VHlwZVNjaGVtYSB9IGZyb20gJy4uLy4uL21vZGVscy9hcGkvY21zLm1vZGVscyc7XG5cbi8qKlxuICogTWVudSBpdGVtIHN0cnVjdHVyZSBtYXRjaGluZyB0Z20tbWFuYWdlci11aSdzIENvcmVNZW51SXRlbSBpbnRlcmZhY2UuXG4gKiBGcm9udGVuZCBkZXZzIGNhbiBpbmplY3QgdGhlc2UgaW50byB0aGUgc2lkZWJhciBkeW5hbWljYWxseS5cbiAqXG4gKiBVc2FnZSBpbiB0Z20tbWFuYWdlci11aTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiBBcHBDb21wb25lbnQgb3IgYSBtb2R1bGUgaW5pdGlhbGl6ZXI6XG4gKiBjbXNNZW51SGVscGVyLmdldE1lbnVJdGVtcygnYWRtaW5pc3RyYXRpb24vY21zJykuc3Vic2NyaWJlKGl0ZW1zID0+IHtcbiAqICAgLy8gaXRlbXMgaXMgYSBDb3JlTWVudUl0ZW1bXSBhcnJheSByZWFkeSB0byBpbmplY3QgaW50byB0aGUgc2lkZWJhclxuICogICBjb25zdCBhZG1pblNlY3Rpb24gPSBtZW51LmZpbmQobSA9PiBtLmlkID09PSAnYWRtaW5pc3RyYXRpb24nKTtcbiAqICAgY29uc3QgY21zR3JvdXAgPSB7XG4gKiAgICAgaWQ6ICdjdXN0b20tb2JqZWN0cycsXG4gKiAgICAgdHlwZTogJ3NlY3Rpb24nIGFzIGNvbnN0LFxuICogICAgIHRpdGxlOiAnQ3VzdG9tIE9iamVjdHMnLFxuICogICAgIGljb246ICdsYXllcnMnLFxuICogICAgIHJvbGU6IFtSb2xlWydBZG1pbmlzdHJhdGlvbi5SZWFkJ11dLFxuICogICAgIGNoaWxkcmVuOiBpdGVtc1xuICogICB9O1xuICogICBjb25zdCBtb3JlSWR4ID0gYWRtaW5TZWN0aW9uLmNoaWxkcmVuLmZpbmRJbmRleChjID0+IGMuaWQgPT09ICdtb3JlJyk7XG4gKiAgIGFkbWluU2VjdGlvbi5jaGlsZHJlbi5zcGxpY2UobW9yZUlkeCwgMCwgY21zR3JvdXApO1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBSb3V0ZSBzZXR1cCBpbiBhZG1pbmlzdHJhdG9uLm1vZHVsZS50czpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHtcbiAqICAgcGF0aDogJ2Ntcy86Y29sbGVjdGlvbk5hbWUnLFxuICogICBsb2FkQ2hpbGRyZW46ICgpID0+IGltcG9ydCgnLi9jbXMvY21zLm1vZHVsZScpLnRoZW4obSA9PiBtLkNtc01vZHVsZSksXG4gKiAgIGNhbkFjdGl2YXRlOiBbQXV0aEd1YXJkXVxuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ21zTWVudUhlbHBlciB7XG5cbiAgcHJpdmF0ZSBjb250ZW50VHlwZVNlcnZpY2UgPSBpbmplY3QoQ21zQ29udGVudFR5cGVTZXJ2aWNlKTtcblxuICAvKipcbiAgICogRmV0Y2ggYWxsIGFjdGl2ZSBjb250ZW50IHR5cGVzIGFuZCB0cmFuc2Zvcm0gdGhlbSBpbnRvIG1lbnUgaXRlbXMuXG4gICAqXG4gICAqIEBwYXJhbSBiYXNlVXJsIC0gVGhlIGJhc2Ugcm91dGUgcGF0aCAoZS5nLiwgJ2FkbWluaXN0cmF0aW9uL2NtcycpXG4gICAqIEBwYXJhbSBkZWZhdWx0SWNvbiAtIERlZmF1bHQgaWNvbiBmb3IgaXRlbXMgd2l0aG91dCBhIHNwZWNpZmljIG9uZSAoZGVmYXVsdDogJ2RhdGFiYXNlJylcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiBtZW51IGl0ZW1zIGFycmF5XG4gICAqL1xuICBnZXRNZW51SXRlbXMoYmFzZVVybCA9ICdhZG1pbmlzdHJhdGlvbi9jbXMnLCBkZWZhdWx0SWNvbiA9ICdkYXRhYmFzZScpOiBPYnNlcnZhYmxlPENtc01lbnVJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50VHlwZVNlcnZpY2UuZ2V0QWxsKCkucGlwZShcbiAgICAgIG1hcCgoY29udGVudFR5cGVzOiBDb250ZW50VHlwZVNjaGVtYVtdKSA9PlxuICAgICAgICBjb250ZW50VHlwZXMubWFwKGN0ID0+IHRoaXMudG9NZW51SXRlbShjdCwgYmFzZVVybCwgZGVmYXVsdEljb24pKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIGEgc2luZ2xlIGNvbnRlbnQgdHlwZSBpbnRvIGEgbWVudSBpdGVtLlxuICAgKi9cbiAgcHJpdmF0ZSB0b01lbnVJdGVtKGN0OiBDb250ZW50VHlwZVNjaGVtYSwgYmFzZVVybDogc3RyaW5nLCBkZWZhdWx0SWNvbjogc3RyaW5nKTogQ21zTWVudUl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogYGNtcy0ke2N0LmNvbGxlY3Rpb25OYW1lfWAsXG4gICAgICB0aXRsZTogY3QuaW5mbz8uZGlzcGxheU5hbWUgfHwgY3QuY29sbGVjdGlvbk5hbWUsXG4gICAgICB0eXBlOiAnaXRlbScsXG4gICAgICBpY29uOiBkZWZhdWx0SWNvbixcbiAgICAgIHVybDogYCR7YmFzZVVybH0vJHtjdC5jb2xsZWN0aW9uTmFtZX1gLFxuICAgICAgLy8gVGhlc2UgbWF0Y2ggQ29yZU1lbnVJdGVtIGZyb20gdGdtLW1hbmFnZXItdWlcbiAgICAgIGF2YWlsYWJsZU9uTW9iaWxlTmF0aXZlOiBmYWxzZSxcbiAgICAgIG1vYmlsZU9ubHk6IGZhbHNlLFxuICAgICAgYmFkZ2U6IGN0Lm9wdGlvbnM/LmRyYWZ0QW5kUHVibGlzaFxuICAgICAgICA/IHsgdGl0bGU6ICdEL1AnLCBjbGFzc2VzOiAnYmFkZ2UtbGlnaHQtcHJpbWFyeScgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgY29tcGxldGUgXCJDdXN0b20gT2JqZWN0c1wiIGNvbGxhcHNpYmxlIG1lbnUgc2VjdGlvbi5cbiAgICogUmVhZHkgdG8gaW5qZWN0IGRpcmVjdGx5IGludG8gdGhlIHNpZGViYXIgbWVudSBhcnJheS5cbiAgICpcbiAgICogQHBhcmFtIGJhc2VVcmwgLSBSb3V0ZSBiYXNlIHBhdGhcbiAgICogQHBhcmFtIHJvbGVzIC0gUmVxdWlyZWQgcm9sZXMgdG8gc2VlIHRoaXMgc2VjdGlvblxuICAgKi9cbiAgZ2V0TWVudVNlY3Rpb24oXG4gICAgYmFzZVVybCA9ICdhZG1pbmlzdHJhdGlvbi9jbXMnLFxuICAgIHJvbGVzOiBzdHJpbmdbXSA9IFsnQWRtaW5pc3RyYXRpb24uUmVhZCddXG4gICk6IE9ic2VydmFibGU8Q21zTWVudVNlY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZW51SXRlbXMoYmFzZVVybCkucGlwZShcbiAgICAgIG1hcChpdGVtcyA9PiAoe1xuICAgICAgICBpZDogJ2N1c3RvbS1vYmplY3RzJyxcbiAgICAgICAgdHlwZTogJ3NlY3Rpb24nIGFzIGNvbnN0LFxuICAgICAgICB0aXRsZTogJ0N1c3RvbSBPYmplY3RzJyxcbiAgICAgICAgdHJhbnNsYXRlOiAnTUVOVS5BRE1JTklTVFJBVElPTi5DVVNUT01fT0JKRUNUUycsXG4gICAgICAgIGljb246ICdsYXllcnMnLFxuICAgICAgICByb2xlOiByb2xlcyxcbiAgICAgICAgYXZhaWxhYmxlT25Nb2JpbGVOYXRpdmU6IGZhbHNlLFxuICAgICAgICBtb2JpbGVPbmx5OiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IGl0ZW1zLFxuICAgICAgfSkpXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIE1lbnUgaXRlbSBzdHJ1Y3R1cmUgY29tcGF0aWJsZSB3aXRoIHRnbS1tYW5hZ2VyLXVpJ3MgQ29yZU1lbnVJdGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENtc01lbnVJdGVtIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgdHlwZTogJ2l0ZW0nIHwgJ3NlY3Rpb24nIHwgJ2NvbGxhcHNpYmxlJztcbiAgaWNvbj86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xuICByb2xlPzogc3RyaW5nW107XG4gIHRyYW5zbGF0ZT86IHN0cmluZztcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBhdmFpbGFibGVPbk1vYmlsZU5hdGl2ZT86IGJvb2xlYW47XG4gIG1vYmlsZU9ubHk/OiBib29sZWFuO1xuICBiYWRnZT86IHsgdGl0bGU/OiBzdHJpbmc7IHRyYW5zbGF0ZT86IHN0cmluZzsgY2xhc3Nlcz86IHN0cmluZyB9O1xuICBjaGlsZHJlbj86IENtc01lbnVJdGVtW107XG59XG5cbi8qKlxuICogQ29tcGxldGUgbWVudSBzZWN0aW9uIHJlYWR5IGZvciBzaWRlYmFyIGluamVjdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbXNNZW51U2VjdGlvbiBleHRlbmRzIENtc01lbnVJdGVtIHtcbiAgY2hpbGRyZW46IENtc01lbnVJdGVtW107XG59XG4iXX0=
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLW1lbnUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hcGkvY21zLW1lbnUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxHQUFHLEVBQUUsV0FBVyxFQUFPLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxNQUFNLE9BQU8sYUFBYTtJQUVoQixrQkFBa0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUzRCx1RkFBdUY7SUFDL0UsT0FBTyxHQUEyQyxJQUFJLENBQUM7SUFFdkQsZUFBZTtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FDeEMsV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDaEQsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELGtGQUFrRjtJQUNsRixVQUFVO1FBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxxQkFBcUIsQ0FBQyxPQUFPLEdBQUcsS0FBSyxFQUFFLFdBQVcsR0FBRyxVQUFVO1FBQzdELE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FDaEMsR0FBRyxDQUFDLENBQUMsWUFBaUMsRUFBRSxFQUFFO1lBQ3hDLE1BQU0sT0FBTyxHQUFrQyxFQUFFLENBQUM7WUFFbEQsS0FBSyxNQUFNLEVBQUUsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxXQUFXLElBQUksZ0JBQWdCLENBQUM7Z0JBQ3pELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFFdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7b0JBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDN0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixDQUFDO1lBRUQsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLENBQUMsT0FBTyxHQUFHLEtBQUssRUFBRSxXQUFXLEdBQUcsVUFBVTtRQUNwRCxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQ2hDLEdBQUcsQ0FBQyxDQUFDLFlBQWlDLEVBQUUsRUFBRSxDQUN4QyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQ2xFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQ1osT0FBTyxHQUFHLEtBQUssRUFDZixRQUFrQixDQUFDLHFCQUFxQixDQUFDO1FBRXpDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNkLEVBQUUsRUFBRSxnQkFBZ0I7WUFDcEIsSUFBSSxFQUFFLFNBQWtCO1lBQ3hCLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsU0FBUyxFQUFFLG9DQUFvQztZQUMvQyxJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxLQUFLO1lBQ1gsdUJBQXVCLEVBQUUsS0FBSztZQUM5QixVQUFVLEVBQUUsS0FBSztZQUNqQixRQUFRLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRTtTQUMxQyxDQUFDLENBQUMsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVPLFVBQVUsQ0FBQyxFQUFxQixFQUFFLE9BQWUsRUFBRSxXQUFtQjtRQUM1RSxPQUFPO1lBQ0wsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRTtZQUM5QixLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDLGNBQWM7WUFDaEQsSUFBSSxFQUFFLE1BQU07WUFDWixJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksV0FBVztZQUN0QyxHQUFHLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDLGNBQWMsRUFBRTtZQUN0Qyx1QkFBdUIsRUFBRSxLQUFLO1lBQzlCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLHdDQUF3QztZQUN4QyxZQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxXQUFXLElBQUksZ0JBQWdCO1NBQ3ZELENBQUM7SUFDSixDQUFDO3dHQTlGVSxhQUFhOzRHQUFiLGFBQWEsY0FEQSxNQUFNOzs0RkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCwgc2hhcmVSZXBsYXksIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ21zQ29udGVudFR5cGVTZXJ2aWNlIH0gZnJvbSAnLi9jbXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZW50VHlwZVNjaGVtYSB9IGZyb20gJy4uLy4uL21vZGVscy9hcGkvY21zLm1vZGVscyc7XG5cbi8qKlxuICogVHJhbnNmb3JtcyBDTVMgY29udGVudCB0eXBlcyBpbnRvIHNpZGViYXIgbWVudSBpdGVtcy5cbiAqXG4gKiBFYWNoIGNvbnRlbnQgdHlwZSBjYW4gc3BlY2lmeSB3aGVyZSBpdCBhcHBlYXJzIHZpYSBpbmZvLm1lbnVTZWN0aW9uOlxuICogLSBcInRnbS1vbVwiIOKGkiBUR00gTyZNIHNlY3Rpb25cbiAqIC0gXCJ0Z20tZWNvbm9taWNzXCIg4oaSIFRHTSBFY29ub21pY3Mgc2VjdGlvblxuICogLSBcInRnbS1pbnZlbnRvcnktbWFuYWdlbWVudFwiIOKGkiBJbnZlbnRvcnkgc2VjdGlvblxuICogLSBcImFkbWluaXN0cmF0aW9uXCIgKGRlZmF1bHQpIOKGkiBBZG1pbmlzdHJhdGlvbiDihpIgQ3VzdG9tIE9iamVjdHNcbiAqIC0gQW55IG90aGVyIG1lbnUgc2VjdGlvbiBpZCBmcm9tIG1lbnUudHNcbiAqXG4gKiBVc2FnZSBpbiBBcHBDb21wb25lbnQuaW5pdGlhbGl6ZU1lbnUoKTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB0aGlzLmNtc01lbnVIZWxwZXIuZ2V0TWVudUl0ZW1zQnlTZWN0aW9uKCdjbXMnKS5zdWJzY3JpYmUoZ3JvdXBlZCA9PiB7XG4gKiAgIGZvciAoY29uc3QgW3NlY3Rpb25JZCwgaXRlbXNdIG9mIE9iamVjdC5lbnRyaWVzKGdyb3VwZWQpKSB7XG4gKiAgICAgY29uc3Qgc2VjdGlvbiA9IG1lbnUuZmluZChtID0+IG0uaWQgPT09IHNlY3Rpb25JZCk7XG4gKiAgICAgaWYgKHNlY3Rpb24/LmNoaWxkcmVuKSB7XG4gKiAgICAgICBzZWN0aW9uLmNoaWxkcmVuLnB1c2goLi4uaXRlbXMpO1xuICogICAgIH1cbiAqICAgfVxuICogfSk7XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDbXNNZW51SGVscGVyIHtcblxuICBwcml2YXRlIGNvbnRlbnRUeXBlU2VydmljZSA9IGluamVjdChDbXNDb250ZW50VHlwZVNlcnZpY2UpO1xuXG4gIC8qKiBDYWNoZWQgY29udGVudCB0eXBlcyDigJQgc2hhcmVkIGFjcm9zcyBzdWJzY3JpYmVycywgYXV0by1yZWZyZXNoZXMgb24gaW52YWxpZGF0ZSgpICovXG4gIHByaXZhdGUgX2NhY2hlJDogT2JzZXJ2YWJsZTxDb250ZW50VHlwZVNjaGVtYVtdPiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgZ2V0Q29udGVudFR5cGVzKCk6IE9ic2VydmFibGU8Q29udGVudFR5cGVTY2hlbWFbXT4ge1xuICAgIGlmICghdGhpcy5fY2FjaGUkKSB7XG4gICAgICB0aGlzLl9jYWNoZSQgPSB0aGlzLmdldENvbnRlbnRUeXBlcygpLnBpcGUoXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IGZhbHNlIH0pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY2FjaGUkO1xuICB9XG5cbiAgLyoqIEludmFsaWRhdGUgdGhlIGNhY2hlIOKAlCBjYWxsIGFmdGVyIGNyZWF0aW5nL3VwZGF0aW5nL2RlbGV0aW5nIGEgY29udGVudCB0eXBlICovXG4gIGludmFsaWRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fY2FjaGUkID0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBhbGwgY29udGVudCB0eXBlcyBhbmQgcmV0dXJuIG1lbnUgaXRlbXMgZ3JvdXBlZCBieSBtZW51U2VjdGlvbi5cbiAgICogRWFjaCBrZXkgaXMgYSBtZW51IHNlY3Rpb24gaWQgKGUuZy4sIFwidGdtLW9tXCIsIFwiYWRtaW5pc3RyYXRpb25cIikuXG4gICAqIEl0ZW1zIHdpdGhvdXQgbWVudVNlY3Rpb24gZGVmYXVsdCB0byBcImFkbWluaXN0cmF0aW9uXCIuXG4gICAqXG4gICAqIEBwYXJhbSBiYXNlVXJsIC0gUm91dGUgYmFzZSBwYXRoIGZvciBDTVMgcGFnZXNcbiAgICogQHBhcmFtIGRlZmF1bHRJY29uIC0gRGVmYXVsdCBpY29uIHdoZW4gbWVudUljb24gbm90IHNldFxuICAgKi9cbiAgZ2V0TWVudUl0ZW1zQnlTZWN0aW9uKGJhc2VVcmwgPSAnY21zJywgZGVmYXVsdEljb24gPSAnZGF0YWJhc2UnKTogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBDbXNNZW51SXRlbVtdPj4ge1xuICAgIHJldHVybiB0aGlzLmdldENvbnRlbnRUeXBlcygpLnBpcGUoXG4gICAgICBtYXAoKGNvbnRlbnRUeXBlczogQ29udGVudFR5cGVTY2hlbWFbXSkgPT4ge1xuICAgICAgICBjb25zdCBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBDbXNNZW51SXRlbVtdPiA9IHt9O1xuXG4gICAgICAgIGZvciAoY29uc3QgY3Qgb2YgY29udGVudFR5cGVzKSB7XG4gICAgICAgICAgY29uc3Qgc2VjdGlvbiA9IGN0LmluZm8/Lm1lbnVTZWN0aW9uIHx8ICdhZG1pbmlzdHJhdGlvbic7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMudG9NZW51SXRlbShjdCwgYmFzZVVybCwgZGVmYXVsdEljb24pO1xuXG4gICAgICAgICAgaWYgKCFncm91cGVkW3NlY3Rpb25dKSBncm91cGVkW3NlY3Rpb25dID0gW107XG4gICAgICAgICAgZ3JvdXBlZFtzZWN0aW9uXS5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdyb3VwZWQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggYWxsIGNvbnRlbnQgdHlwZXMgYXMgYSBmbGF0IGxpc3Qgb2YgbWVudSBpdGVtcy5cbiAgICogVXNlIGdldE1lbnVJdGVtc0J5U2VjdGlvbigpIGluc3RlYWQgaWYgeW91IG5lZWQgcGxhY2VtZW50IGNvbnRyb2wuXG4gICAqL1xuICBnZXRNZW51SXRlbXMoYmFzZVVybCA9ICdjbXMnLCBkZWZhdWx0SWNvbiA9ICdkYXRhYmFzZScpOiBPYnNlcnZhYmxlPENtc01lbnVJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb250ZW50VHlwZXMoKS5waXBlKFxuICAgICAgbWFwKChjb250ZW50VHlwZXM6IENvbnRlbnRUeXBlU2NoZW1hW10pID0+XG4gICAgICAgIGNvbnRlbnRUeXBlcy5tYXAoY3QgPT4gdGhpcy50b01lbnVJdGVtKGN0LCBiYXNlVXJsLCBkZWZhdWx0SWNvbikpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIFwiQ3VzdG9tIE9iamVjdHNcIiBzZWN0aW9uIGZvciBpdGVtcyB0aGF0IHRhcmdldCBcImFkbWluaXN0cmF0aW9uXCIuXG4gICAqIEl0ZW1zIHRhcmdldGluZyBvdGhlciBzZWN0aW9ucyBhcmUgZXhjbHVkZWQg4oCUIHVzZSBnZXRNZW51SXRlbXNCeVNlY3Rpb24oKSBmb3IgdGhvc2UuXG4gICAqL1xuICBnZXRNZW51U2VjdGlvbihcbiAgICBiYXNlVXJsID0gJ2NtcycsXG4gICAgcm9sZXM6IHN0cmluZ1tdID0gWydBZG1pbmlzdHJhdGlvbi5SZWFkJ11cbiAgKTogT2JzZXJ2YWJsZTxDbXNNZW51U2VjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmdldE1lbnVJdGVtc0J5U2VjdGlvbihiYXNlVXJsKS5waXBlKFxuICAgICAgbWFwKGdyb3VwZWQgPT4gKHtcbiAgICAgICAgaWQ6ICdjdXN0b20tb2JqZWN0cycsXG4gICAgICAgIHR5cGU6ICdzZWN0aW9uJyBhcyBjb25zdCxcbiAgICAgICAgdGl0bGU6ICdDdXN0b20gT2JqZWN0cycsXG4gICAgICAgIHRyYW5zbGF0ZTogJ01FTlUuQURNSU5JU1RSQVRJT04uQ1VTVE9NX09CSkVDVFMnLFxuICAgICAgICBpY29uOiAnbGF5ZXJzJyxcbiAgICAgICAgcm9sZTogcm9sZXMsXG4gICAgICAgIGF2YWlsYWJsZU9uTW9iaWxlTmF0aXZlOiBmYWxzZSxcbiAgICAgICAgbW9iaWxlT25seTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBncm91cGVkWydhZG1pbmlzdHJhdGlvbiddIHx8IFtdLFxuICAgICAgfSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9NZW51SXRlbShjdDogQ29udGVudFR5cGVTY2hlbWEsIGJhc2VVcmw6IHN0cmluZywgZGVmYXVsdEljb246IHN0cmluZyk6IENtc01lbnVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGBjbXMtJHtjdC5jb2xsZWN0aW9uTmFtZX1gLFxuICAgICAgdGl0bGU6IGN0LmluZm8/LmRpc3BsYXlOYW1lIHx8IGN0LmNvbGxlY3Rpb25OYW1lLFxuICAgICAgdHlwZTogJ2l0ZW0nLFxuICAgICAgaWNvbjogY3QuaW5mbz8ubWVudUljb24gfHwgZGVmYXVsdEljb24sXG4gICAgICB1cmw6IGAke2Jhc2VVcmx9LyR7Y3QuY29sbGVjdGlvbk5hbWV9YCxcbiAgICAgIGF2YWlsYWJsZU9uTW9iaWxlTmF0aXZlOiBmYWxzZSxcbiAgICAgIG1vYmlsZU9ubHk6IGZhbHNlLFxuICAgICAgLy8gU3RvcmUgdGhlIHRhcmdldCBzZWN0aW9uIGZvciBncm91cGluZ1xuICAgICAgX21lbnVTZWN0aW9uOiBjdC5pbmZvPy5tZW51U2VjdGlvbiB8fCAnYWRtaW5pc3RyYXRpb24nLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBNZW51IGl0ZW0gY29tcGF0aWJsZSB3aXRoIHRnbS1tYW5hZ2VyLXVpIENvcmVNZW51SXRlbS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbXNNZW51SXRlbSB7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHR5cGU6ICdpdGVtJyB8ICdzZWN0aW9uJyB8ICdjb2xsYXBzaWJsZSc7XG4gIGljb24/OiBzdHJpbmc7XG4gIHVybD86IHN0cmluZztcbiAgcm9sZT86IHN0cmluZ1tdO1xuICB0cmFuc2xhdGU/OiBzdHJpbmc7XG4gIGhpZGRlbj86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgYXZhaWxhYmxlT25Nb2JpbGVOYXRpdmU/OiBib29sZWFuO1xuICBtb2JpbGVPbmx5PzogYm9vbGVhbjtcbiAgYmFkZ2U/OiB7IHRpdGxlPzogc3RyaW5nOyB0cmFuc2xhdGU/OiBzdHJpbmc7IGNsYXNzZXM/OiBzdHJpbmcgfTtcbiAgY2hpbGRyZW4/OiBDbXNNZW51SXRlbVtdO1xuICAvKiogSW50ZXJuYWw6IHRhcmdldCBtZW51IHNlY3Rpb24gaWQgKi9cbiAgX21lbnVTZWN0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbXBsZXRlIG1lbnUgc2VjdGlvbiByZWFkeSBmb3Igc2lkZWJhciBpbmplY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ21zTWVudVNlY3Rpb24gZXh0ZW5kcyBDbXNNZW51SXRlbSB7XG4gIGNoaWxkcmVuOiBDbXNNZW51SXRlbVtdO1xufVxuIl19
|
|
@@ -19,6 +19,9 @@ export class CmsContentTypeService {
|
|
|
19
19
|
create(schema) {
|
|
20
20
|
return this.http.post(this.basePath, schema);
|
|
21
21
|
}
|
|
22
|
+
update(collectionName, schema) {
|
|
23
|
+
return this.http.put(`${this.basePath}/${collectionName}`, schema);
|
|
24
|
+
}
|
|
22
25
|
delete(collectionName) {
|
|
23
26
|
return this.http.delete(`${this.basePath}/${collectionName}`);
|
|
24
27
|
}
|
|
@@ -207,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
207
210
|
type: Injectable,
|
|
208
211
|
args: [{ providedIn: 'root' }]
|
|
209
212
|
}], ctorParameters: () => [{ type: i1.TgmHttpClient }] });
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2FwaS9jbXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFhM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUdaO0lBRlosUUFBUSxHQUFHLHdCQUF3QixDQUFDO0lBRTVDLFlBQW9CLElBQW1CO1FBQW5CLFNBQUksR0FBSixJQUFJLENBQWU7SUFBRyxDQUFDO0lBRTNDLE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFzQixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELEdBQUcsQ0FBQyxjQUFzQjtRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFvQixHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW9CLEdBQUcsSUFBSSxDQUFDLFFBQVEsUUFBUSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFnRztRQUNyRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxFQUFFLENBQUMsQ0FBQztJ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SUFBSSxDQUF1QixHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksY0FBYyx1QkFBdUIsVUFBVSxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNqSixDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLE1BQU0sQ0FBQyxjQUFzQixFQUFFLGdCQUF3QixFQUFFLE9BQWUsRUFBRSxRQUFnQixFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsY0FBdUI7UUFDL0gsTUFBTSxNQUFNLEdBQVEsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUMxRSxJQUFJLGNBQWM7WUFBRSxNQUFNLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxjQUFjLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEYsQ0FBQzt3R0E3TVUsY0FBYzs0R0FBZCxjQUFjLGNBREQsTUFBTTs7NEZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGdtSHR0cENsaWVudCB9IGZyb20gJy4uLy4uL2NvcmUvaHR0cC1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQge1xuICBDb250ZW50VHlwZVNjaGVtYSxcbiAgQ21zU2F2ZWRWaWV3LFxuICBDbXNWYWxpZGF0aW9uUnVsZSxcbiAgQ21zUmVjb3JkVHlwZSxcbiAgQ21zUGFnZUxheW91dCxcbiAgQ21zRGF0YVJlc3BvbnNlXG59IGZyb20gJy4uLy4uL21vZGVscy9hcGkvY21zLm1vZGVscyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ21zQ29udGVudFR5cGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBiYXNlUGF0aCA9ICcvYXBpL2Ntcy9jb250ZW50LXR5cGVzJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IFRnbUh0dHBDbGllbnQpIHt9XG5cbiAgZ2V0QWxsKCk6IE9ic2VydmFibGU8Q29udGVudFR5cGVTY2hlbWFbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENvbnRlbnRUeXBlU2NoZW1hW10+KHRoaXMuYmFzZVBhdGgpO1xuICB9XG5cbiAgZ2V0KGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbnRlbnRUeXBlU2NoZW1hPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q29udGVudFR5cGVTY2hlbWE+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9YCk7XG4gIH1cblxuICBnZXRDb3VudCgpOiBPYnNlcnZhYmxlPHsgY291bnQ6IG51bWJlciB9PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBjb3VudDogbnVtYmVyIH0+KGAke3RoaXMuYmFzZVBhdGh9L2NvdW50YCk7XG4gIH1cblxuICBjcmVhdGUoc2NoZW1hOiBQYXJ0aWFsPENvbnRlbnRUeXBlU2NoZW1hPiAmIHsgY29sbGVjdGlvbk5hbWU6IHN0cmluZzsgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgYW55PiB9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5iYXNlUGF0aCwgc2NoZW1hKTtcbiAgfVxuXG4gIGRlbGV0ZShjb2xsZWN0aW9uTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfWApO1xuICB9XG5cbiAgc3luY01pZ3JhdGlvbnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoJy9hcGkvY21zL21pZ3JhdGlvbnMvc3luYycsIHt9KTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENtc0RhdGFTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBiYXNlUGF0aCA9ICcvYXBpL2Ntcyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBUZ21IdHRwQ2xpZW50KSB7fVxuXG4gIGxpc3QoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgcGFyYW1zPzoge1xuICAgIHBhZ2U/OiBudW1iZXI7IHBhZ2VTaXplPzogbnVtYmVyOyBzb3J0Pzogc3RyaW5nOyBvcmRlcj86IHN0cmluZztcbiAgfSk6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPGFueVtdPj4ge1xuICAgIGNvbnN0IGh0dHBQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+ID0ge307XG4gICAgaWYgKHBhcmFtcz8ucGFnZSAhPSBudWxsKSBodHRwUGFyYW1zWydwYWdlJ10gPSBwYXJhbXMucGFnZTtcbiAgICBpZiAocGFyYW1zPy5wYWdlU2l6ZSkgaHR0cFBhcmFtc1sncGFnZVNpemUnXSA9IHBhcmFtcy5wYWdlU2l6ZTtcbiAgICBpZiAocGFyYW1zPy5zb3J0KSBodHRwUGFyYW1zWydzb3J0J10gPSBwYXJhbXMuc29ydDtcbiAgICBpZiAocGFyYW1zPy5vcmRlcikgaHR0cFBhcmFtc1snb3JkZXInXSA9IHBhcmFtcy5vcmRlcjtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDbXNEYXRhUmVzcG9uc2U8YW55W10+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfWAsIHsgcGFyYW1zOiBodHRwUGFyYW1zIH0pO1xuICB9XG5cbiAgZ2V0KGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENtc0RhdGFSZXNwb25zZT4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vJHtpZH1gKTtcbiAgfVxuXG4gIGNyZWF0ZShjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q21zRGF0YVJlc3BvbnNlPihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfWAsIGRhdGEpO1xuICB9XG5cbiAgdXBkYXRlKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGlkOiBudW1iZXIsIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PENtc0RhdGFSZXNwb25zZT4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vJHtpZH1gLCBkYXRhKTtcbiAgfVxuXG4gIGRlbGV0ZShjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS8ke2lkfWApO1xuICB9XG5cbiAgYnVsa0RlbGV0ZShjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBpZHM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vYnVsay1kZWxldGVgLCB7IGlkcyB9KTtcbiAgfVxuXG4gIGNvdW50KGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgY291bnQ6IG51bWJlciB9PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBjb3VudDogbnVtYmVyIH0+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L2NvdW50YCk7XG4gIH1cblxuICBzZWFyY2goY29sbGVjdGlvbk5hbWU6IHN0cmluZywgZmlsdGVyczogUmVjb3JkPHN0cmluZywgYW55PiwgcGFyYW1zPzoge1xuICAgIHBhZ2U/OiBudW1iZXI7IHBhZ2VTaXplPzogbnVtYmVyOyBzb3J0Pzogc3RyaW5nOyBvcmRlcj86IHN0cmluZztcbiAgfSk6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPGFueVtdPj4ge1xuICAgIGNvbnN0IGh0dHBQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+ID0ge307XG4gICAgaWYgKHBhcmFtcz8ucGFnZSAhPSBudWxsKSBodHRwUGFyYW1zWydwYWdlJ10gPSBwYXJhbXMucGFnZTtcbiAgICBpZiAocGFyYW1zPy5wYWdlU2l6ZSkgaHR0cFBhcmFtc1sncGFnZVNpemUnXSA9IHBhcmFtcy5wYWdlU2l6ZTtcbiAgICBpZiAocGFyYW1zPy5zb3J0KSBodHRwUGFyYW1zWydzb3J0J10gPSBwYXJhbXMuc29ydDtcbiAgICBpZiAocGFyYW1zPy5vcmRlcikgaHR0cFBhcmFtc1snb3JkZXInXSA9IHBhcmFtcy5vcmRlcjtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q21zRGF0YVJlc3BvbnNlPGFueVtdPj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vc2VhcmNoYCwgZmlsdGVycywgeyBwYXJhbXM6IGh0dHBQYXJhbXMgfSk7XG4gIH1cblxuICBwdWJsaXNoKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbXNEYXRhUmVzcG9uc2U+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9LyR7aWR9L3B1Ymxpc2hgLCB7fSk7XG4gIH1cblxuICB1bnB1Ymxpc2goY29sbGVjdGlvbk5hbWU6IHN0cmluZywgaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENtc0RhdGFSZXNwb25zZT4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vJHtpZH0vdW5wdWJsaXNoYCwge30pO1xuICB9XG5cbiAgZXhwb3J0Q3N2KGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGNvbHVtbnM/OiBzdHJpbmdbXSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgaHR0cFBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4gPSB7fTtcbiAgICBpZiAoY29sdW1ucz8ubGVuZ3RoKSBodHRwUGFyYW1zWydjb2x1bW5zJ10gPSBjb2x1bW5zLmpvaW4oJywnKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS9leHBvcnRgLCB7IHBhcmFtczogaHR0cFBhcmFtcywgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSkgYXMgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICB9XG5cbiAgLy8gLS0tIFNhdmVkIFZpZXdzIC0tLVxuXG4gIGxpc3RWaWV3cyhjb2xsZWN0aW9uTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8Q21zU2F2ZWRWaWV3W10+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q21zRGF0YVJlc3BvbnNlPENtc1NhdmVkVmlld1tdPj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vdmlld3NgKTtcbiAgfVxuXG4gIGNyZWF0ZVZpZXcoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgdmlldzogUGFydGlhbDxDbXNTYXZlZFZpZXc+KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8Q21zU2F2ZWRWaWV3Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbXNEYXRhUmVzcG9uc2U8Q21zU2F2ZWRWaWV3Pj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vdmlld3NgLCB2aWV3KTtcbiAgfVxuXG4gIHVwZGF0ZVZpZXcoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgdmlld0lkOiBudW1iZXIsIHVwZGF0ZTogUGFydGlhbDxDbXNTYXZlZFZpZXc+KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8Q21zU2F2ZWRWaWV3Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PENtc0RhdGFSZXNwb25zZTxDbXNTYXZlZFZpZXc+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS92aWV3cy8ke3ZpZXdJZH1gLCB1cGRhdGUpO1xuICB9XG5cbiAgZGVsZXRlVmlldyhjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCB2aWV3SWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vdmlld3MvJHt2aWV3SWR9YCk7XG4gIH1cblxuICAvLyAtLS0gVmFsaWRhdGlvbiBSdWxlcyAtLS1cblxuICBsaXN0VmFsaWRhdGlvblJ1bGVzKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGFjdGl2ZU9ubHkgPSBmYWxzZSk6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPENtc1ZhbGlkYXRpb25SdWxlW10+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q21zRGF0YVJlc3BvbnNlPENtc1ZhbGlkYXRpb25SdWxlW10+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS92YWxpZGF0aW9uLXJ1bGVzYCwge1xuICAgICAgcGFyYW1zOiB7IGFjdGl2ZU9ubHkgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZVZhbGlkYXRpb25SdWxlKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHJ1bGU6IFBhcnRpYWw8Q21zVmFsaWRhdGlvblJ1bGU+KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8Q21zVmFsaWRhdGlvblJ1bGU+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENtc0RhdGFSZXNwb25zZTxDbXNWYWxpZGF0aW9uUnVsZT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L3ZhbGlkYXRpb24tcnVsZXNgLCBydWxlKTtcbiAgfVxuXG4gIHVwZGF0ZVZhbGlkYXRpb25SdWxlKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHJ1bGVJZDogbnVtYmVyLCB1cGRhdGU6IFBhcnRpYWw8Q21zVmFsaWRhdGlvblJ1bGU+KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8Q21zVmFsaWRhdGlvblJ1bGU+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8Q21zRGF0YVJlc3BvbnNlPENtc1ZhbGlkYXRpb25SdWxlPj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vdmFsaWRhdGlvbi1ydWxlcy8ke3J1bGVJZH1gLCB1cGRhdGUpO1xuICB9XG5cbiAgZGVsZXRlVmFsaWRhdGlvblJ1bGUoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgcnVsZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L3ZhbGlkYXRpb24tcnVsZXMvJHtydWxlSWR9YCk7XG4gIH1cblxuICAvLyAtLS0gUmVjb3JkIFR5cGVzIC0tLVxuXG4gIGxpc3RSZWNvcmRUeXBlcyhjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBhY3RpdmVPbmx5ID0gZmFsc2UpOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxDbXNSZWNvcmRUeXBlW10+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q21zRGF0YVJlc3BvbnNlPENtc1JlY29yZFR5cGVbXT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L3JlY29yZC10eXBlc2AsIHtcbiAgICAgIHBhcmFtczogeyBhY3RpdmVPbmx5IH0sXG4gICAgfSk7XG4gIH1cblxuICBjcmVhdGVSZWNvcmRUeXBlKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHJlY29yZFR5cGU6IFBhcnRpYWw8Q21zUmVjb3JkVHlwZT4pOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxDbXNSZWNvcmRUeXBlPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbXNEYXRhUmVzcG9uc2U8Q21zUmVjb3JkVHlwZT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L3JlY29yZC10eXBlc2AsIHJlY29yZFR5cGUpO1xuICB9XG5cbiAgdXBkYXRlUmVjb3JkVHlwZShjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCB0eXBlSWQ6IG51bWJlciwgdXBkYXRlOiBQYXJ0aWFsPENtc1JlY29yZFR5cGU+KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8Q21zUmVjb3JkVHlwZT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxDbXNEYXRhUmVzcG9uc2U8Q21zUmVjb3JkVHlwZT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L3JlY29yZC10eXBlcy8ke3R5cGVJZH1gLCB1cGRhdGUpO1xuICB9XG5cbiAgZGVsZXRlUmVjb3JkVHlwZShjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCB0eXBlSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vcmVjb3JkLXR5cGVzLyR7dHlwZUlkfWApO1xuICB9XG5cbiAgLy8gLS0tIFBhZ2UgTGF5b3V0cyAtLS1cblxuICBsaXN0TGF5b3V0cyhjb2xsZWN0aW9uTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8Q21zUGFnZUxheW91dFtdPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENtc0RhdGFSZXNwb25zZTxDbXNQYWdlTGF5b3V0W10+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS9sYXlvdXRzYCk7XG4gIH1cblxuICBjcmVhdGVMYXlvdXQoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgbGF5b3V0OiBQYXJ0aWFsPENtc1BhZ2VMYXlvdXQ+KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8Q21zUGFnZUxheW91dD4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q21zRGF0YVJlc3BvbnNlPENtc1BhZ2VMYXlvdXQ+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS9sYXlvdXRzYCwgbGF5b3V0KTtcbiAgfVxuXG4gIHVwZGF0ZUxheW91dChjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBsYXlvdXRJZDogbnVtYmVyLCB1cGRhdGU6IFBhcnRpYWw8Q21zUGFnZUxheW91dD4pOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxDbXNQYWdlTGF5b3V0Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PENtc0RhdGFSZXNwb25zZTxDbXNQYWdlTGF5b3V0Pj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vbGF5b3V0cy8ke2xheW91dElkfWAsIHVwZGF0ZSk7XG4gIH1cblxuICBkZWxldGVMYXlvdXQoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgbGF5b3V0SWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vbGF5b3V0cy8ke2xheW91dElkfWApO1xuICB9XG5cbiAgLy8gLS0tIEZvcm11bGEgRmllbGRzIC0tLVxuICBsaXN0Rm9ybXVsYXMoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgYWN0aXZlT25seSA9IGZhbHNlKTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8YW55W10+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q21zRGF0YVJlc3BvbnNlPGFueVtdPj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vZm9ybXVsYXNgLCB7IHBhcmFtczogeyBhY3RpdmVPbmx5IH0gfSk7XG4gIH1cblxuICBjcmVhdGVGb3JtdWxhKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGZvcm11bGE6IGFueSk6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q21zRGF0YVJlc3BvbnNlPGFueT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L2Zvcm11bGFzYCwgZm9ybXVsYSk7XG4gIH1cblxuICB1cGRhdGVGb3JtdWxhKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGZvcm11bGFJZDogbnVtYmVyLCB1cGRhdGU6IGFueSk6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxDbXNEYXRhUmVzcG9uc2U8YW55Pj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vZm9ybXVsYXMvJHtmb3JtdWxhSWR9YCwgdXBkYXRlKTtcbiAgfVxuXG4gIGRlbGV0ZUZvcm11bGEoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgZm9ybXVsYUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L2Zvcm11bGFzLyR7Zm9ybXVsYUlkfWApO1xuICB9XG5cbiAgLy8gLS0tIFdvcmtmbG93IFJ1bGVzIC0tLVxuICBsaXN0V29ya2Zsb3dzKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGFjdGl2ZU9ubHkgPSBmYWxzZSk6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPGFueVtdPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENtc0RhdGFSZXNwb25zZTxhbnlbXT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L3dvcmtmbG93c2AsIHsgcGFyYW1zOiB7IGFjdGl2ZU9ubHkgfSB9KTtcbiAgfVxuXG4gIGNyZWF0ZVdvcmtmbG93KGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHdvcmtmbG93OiBhbnkpOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENtc0RhdGFSZXNwb25zZTxhbnk+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS93b3JrZmxvd3NgLCB3b3JrZmxvdyk7XG4gIH1cblxuICB1cGRhdGVXb3JrZmxvdyhjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCB3b3JrZmxvd0lkOiBudW1iZXIsIHVwZGF0ZTogYW55KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8YW55Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PENtc0RhdGFSZXNwb25zZTxhbnk+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS93b3JrZmxvd3MvJHt3b3JrZmxvd0lkfWAsIHVwZGF0ZSk7XG4gIH1cblxuICBkZWxldGVXb3JrZmxvdyhjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCB3b3JrZmxvd0lkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L3dvcmtmbG93cy8ke3dvcmtmbG93SWR9YCk7XG4gIH1cblxuICAvLyAtLS0gQXBwcm92YWwgUHJvY2Vzc2VzIC0tLVxuICBsaXN0QXBwcm92YWxQcm9jZXNzZXMoY29sbGVjdGlvbk5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPGFueVtdPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENtc0RhdGFSZXNwb25zZTxhbnlbXT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L2FwcHJvdmFsc2ApO1xuICB9XG5cbiAgY3JlYXRlQXBwcm92YWxQcm9jZXNzKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHByb2Nlc3M6IGFueSk6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q21zRGF0YVJlc3BvbnNlPGFueT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L2FwcHJvdmFsc2AsIHByb2Nlc3MpO1xuICB9XG5cbiAgZGVsZXRlQXBwcm92YWxQcm9jZXNzKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHByb2Nlc3NJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS9hcHByb3ZhbHMvJHtwcm9jZXNzSWR9YCk7XG4gIH1cblxuICBnZXRBcHByb3ZhbFN0YXR1cyhjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCByZWNvcmRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8YW55W10+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q21zRGF0YVJlc3BvbnNlPGFueVtdPj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vJHtyZWNvcmRJZH0vYXBwcm92YWwtc3RhdHVzYCk7XG4gIH1cblxuICBzdWJtaXRGb3JBcHByb3ZhbChjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCByZWNvcmRJZDogbnVtYmVyLCBwcm9jZXNzSWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q21zRGF0YVJlc3BvbnNlPGFueT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9LyR7cmVjb3JkSWR9L3N1Ym1pdC1mb3ItYXBwcm92YWxgLCB7IHByb2Nlc3NJZCB9KTtcbiAgfVxuXG4gIGFwcHJvdmFsQWN0aW9uKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGluc3RhbmNlSWQ6IG51bWJlciwgYWN0aW9uOiAnQVBQUk9WRScgfCAnUkVKRUNUJywgY29tbWVudD86IHN0cmluZyk6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q21zRGF0YVJlc3BvbnNlPGFueT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L2FwcHJvdmFsLWluc3RhbmNlcy8ke2luc3RhbmNlSWR9L2FjdGlvbmAsIHsgYWN0aW9uLCBjb21tZW50IH0pO1xuICB9XG5cbiAgLy8gLS0tIFJvbGx1cCBTdW1tYXJ5IC0tLVxuICByb2xsdXAoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgdGFyZ2V0Q29sbGVjdGlvbjogc3RyaW5nLCBma0ZpZWxkOiBzdHJpbmcsIHBhcmVudElkOiBudW1iZXIsIGZuID0gJ0NPVU5UJywgYWdncmVnYXRlRmllbGQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHBhcmFtczogYW55ID0geyB0YXJnZXRDb2xsZWN0aW9uLCBma0ZpZWxkLCBwYXJlbnRJZCwgZnVuY3Rpb246IGZuIH07XG4gICAgaWYgKGFnZ3JlZ2F0ZUZpZWxkKSBwYXJhbXMuYWdncmVnYXRlRmllbGQgPSBhZ2dyZWdhdGVGaWVsZDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS9yb2xsdXBgLCB7IHBhcmFtcyB9KTtcbiAgfVxufVxuIl19
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2FwaS9jbXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFhM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUdaO0lBRlosUUFBUSxHQUFHLHdCQUF3QixDQUFDO0lBRTVDLFlBQW9CLElBQW1CO1FBQW5CLFNBQUksR0FBSixJQUFJLENBQWU7SUFBRyxDQUFDO0lBRTNDLE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFzQixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELEdBQUcsQ0FBQyxjQUFzQjtRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFvQixHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW9CLEdBQUcsSUFBSSxDQUFDLFFBQVEsUUFBUSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFnRztRQUNyRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFzQixFQUFFLE1BQWtDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0s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LFFBQVEsc0JBQXNCLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ25JLENBQUM7SUFFRCxjQUFjLENBQUMsY0FBc0IsRUFBRSxVQUFrQixFQUFFLE1BQTRCLEVBQUUsT0FBZ0I7UUFDdkcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBdUIsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLGNBQWMsdUJBQXVCLFVBQVUsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDakosQ0FBQztJQUVELHlCQUF5QjtJQUN6QixNQUFNLENBQUMsY0FBc0IsRUFBRSxnQkFBd0IsRUFBRSxPQUFlLEVBQUUsUUFBZ0IsRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLGNBQXVCO1FBQy9ILE1BQU0sTUFBTSxHQUFRLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDMUUsSUFBSSxjQUFjO1lBQUUsTUFBTSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksY0FBYyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7d0dBN01VLGNBQWM7NEdBQWQsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRnbUh0dHBDbGllbnQgfSBmcm9tICcuLi8uLi9jb3JlL2h0dHAtY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ29udGVudFR5cGVTY2hlbWEsXG4gIENtc1NhdmVkVmlldyxcbiAgQ21zVmFsaWRhdGlvblJ1bGUsXG4gIENtc1JlY29yZFR5cGUsXG4gIENtc1BhZ2VMYXlvdXQsXG4gIENtc0RhdGFSZXNwb25zZVxufSBmcm9tICcuLi8uLi9tb2RlbHMvYXBpL2Ntcy5tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENtc0NvbnRlbnRUeXBlU2VydmljZSB7XG4gIHByaXZhdGUgYmFzZVBhdGggPSAnL2FwaS9jbXMvY29udGVudC10eXBlcyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBUZ21IdHRwQ2xpZW50KSB7fVxuXG4gIGdldEFsbCgpOiBPYnNlcnZhYmxlPENvbnRlbnRUeXBlU2NoZW1hW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDb250ZW50VHlwZVNjaGVtYVtdPih0aGlzLmJhc2VQYXRoKTtcbiAgfVxuXG4gIGdldChjb2xsZWN0aW9uTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250ZW50VHlwZVNjaGVtYT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENvbnRlbnRUeXBlU2NoZW1hPihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfWApO1xuICB9XG5cbiAgZ2V0Q291bnQoKTogT2JzZXJ2YWJsZTx7IGNvdW50OiBudW1iZXIgfT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgY291bnQ6IG51bWJlciB9PihgJHt0aGlzLmJhc2VQYXRofS9jb3VudGApO1xuICB9XG5cbiAgY3JlYXRlKHNjaGVtYTogUGFydGlhbDxDb250ZW50VHlwZVNjaGVtYT4gJiB7IGNvbGxlY3Rpb25OYW1lOiBzdHJpbmc7IGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuYmFzZVBhdGgsIHNjaGVtYSk7XG4gIH1cblxuICB1cGRhdGUoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgc2NoZW1hOiBQYXJ0aWFsPENvbnRlbnRUeXBlU2NoZW1hPik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX1gLCBzY2hlbWEpO1xuICB9XG5cbiAgZGVsZXRlKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9YCk7XG4gIH1cblxuICBzeW5jTWlncmF0aW9ucygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCgnL2FwaS9jbXMvbWlncmF0aW9ucy9zeW5jJywge30pO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ21zRGF0YVNlcnZpY2Uge1xuICBwcml2YXRlIGJhc2VQYXRoID0gJy9hcGkvY21zJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IFRnbUh0dHBDbGllbnQpIHt9XG5cbiAgbGlzdChjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBwYXJhbXM/OiB7XG4gICAgcGFnZT86IG51bWJlcjsgcGFnZVNpemU/OiBudW1iZXI7IHNvcnQ/OiBzdHJpbmc7IG9yZGVyPzogc3RyaW5nO1xuICB9KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8YW55W10+PiB7XG4gICAgY29uc3QgaHR0cFBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4gPSB7fTtcbiAgICBpZiAocGFyYW1zPy5wYWdlICE9IG51bGwpIGh0dHBQYXJhbXNbJ3BhZ2UnXSA9IHBhcmFtcy5wYWdlO1xuICAgIGlmIChwYXJhbXM/LnBhZ2VTaXplKSBodHRwUGFyYW1zWydwYWdlU2l6ZSddID0gcGFyYW1zLnBhZ2VTaXplO1xuICAgIGlmIChwYXJhbXM/LnNvcnQpIGh0dHBQYXJhbXNbJ3NvcnQnXSA9IHBhcmFtcy5zb3J0O1xuICAgIGlmIChwYXJhbXM/Lm9yZGVyKSBodHRwUGFyYW1zWydvcmRlciddID0gcGFyYW1zLm9yZGVyO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENtc0RhdGFSZXNwb25zZTxhbnlbXT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9YCwgeyBwYXJhbXM6IGh0dHBQYXJhbXMgfSk7XG4gIH1cblxuICBnZXQoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q21zRGF0YVJlc3BvbnNlPihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS8ke2lkfWApO1xuICB9XG5cbiAgY3JlYXRlKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbXNEYXRhUmVzcG9uc2U+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9YCwgZGF0YSk7XG4gIH1cblxuICB1cGRhdGUoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgaWQ6IG51bWJlciwgZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pik6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8Q21zRGF0YVJlc3BvbnNlPihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS8ke2lkfWAsIGRhdGEpO1xuICB9XG5cbiAgZGVsZXRlKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9LyR7aWR9YCk7XG4gIH1cblxuICBidWxrRGVsZXRlKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGlkczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS9idWxrLWRlbGV0ZWAsIHsgaWRzIH0pO1xuICB9XG5cbiAgY291bnQoY29sbGVjdGlvbk5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8eyBjb3VudDogbnVtYmVyIH0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IGNvdW50OiBudW1iZXIgfT4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vY291bnRgKTtcbiAgfVxuXG4gIHNlYXJjaChjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBmaWx0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBwYXJhbXM/OiB7XG4gICAgcGFnZT86IG51bWJlcjsgcGFnZVNpemU/OiBudW1iZXI7IHNvcnQ/OiBzdHJpbmc7IG9yZGVyPzogc3RyaW5nO1xuICB9KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8YW55W10+PiB7XG4gICAgY29uc3QgaHR0cFBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4gPSB7fTtcbiAgICBpZiAocGFyYW1zPy5wYWdlICE9IG51bGwpIGh0dHBQYXJhbXNbJ3BhZ2UnXSA9IHBhcmFtcy5wYWdlO1xuICAgIGlmIChwYXJhbXM/LnBhZ2VTaXplKSBodHRwUGFyYW1zWydwYWdlU2l6ZSddID0gcGFyYW1zLnBhZ2VTaXplO1xuICAgIGlmIChwYXJhbXM/LnNvcnQpIGh0dHBQYXJhbXNbJ3NvcnQnXSA9IHBhcmFtcy5zb3J0O1xuICAgIGlmIChwYXJhbXM/Lm9yZGVyKSBodHRwUGFyYW1zWydvcmRlciddID0gcGFyYW1zLm9yZGVyO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbXNEYXRhUmVzcG9uc2U8YW55W10+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS9zZWFyY2hgLCBmaWx0ZXJzLCB7IHBhcmFtczogaHR0cFBhcmFtcyB9KTtcbiAgfVxuXG4gIHB1Ymxpc2goY29sbGVjdGlvbk5hbWU6IHN0cmluZywgaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENtc0RhdGFSZXNwb25zZT4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vJHtpZH0vcHVibGlzaGAsIHt9KTtcbiAgfVxuXG4gIHVucHVibGlzaChjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q21zRGF0YVJlc3BvbnNlPihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS8ke2lkfS91bnB1Ymxpc2hgLCB7fSk7XG4gIH1cblxuICBleHBvcnRDc3YoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgY29sdW1ucz86IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBjb25zdCBodHRwUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiA9IHt9O1xuICAgIGlmIChjb2x1bW5zPy5sZW5ndGgpIGh0dHBQYXJhbXNbJ2NvbHVtbnMnXSA9IGNvbHVtbnMuam9pbignLCcpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L2V4cG9ydGAsIHsgcGFyYW1zOiBodHRwUGFyYW1zLCByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KSBhcyBPYnNlcnZhYmxlPHN0cmluZz47XG4gIH1cblxuICAvLyAtLS0gU2F2ZWQgVmlld3MgLS0tXG5cbiAgbGlzdFZpZXdzKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxDbXNTYXZlZFZpZXdbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDbXNEYXRhUmVzcG9uc2U8Q21zU2F2ZWRWaWV3W10+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS92aWV3c2ApO1xuICB9XG5cbiAgY3JlYXRlVmlldyhjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCB2aWV3OiBQYXJ0aWFsPENtc1NhdmVkVmlldz4pOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxDbXNTYXZlZFZpZXc+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENtc0RhdGFSZXNwb25zZTxDbXNTYXZlZFZpZXc+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS92aWV3c2AsIHZpZXcpO1xuICB9XG5cbiAgdXBkYXRlVmlldyhjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCB2aWV3SWQ6IG51bWJlciwgdXBkYXRlOiBQYXJ0aWFsPENtc1NhdmVkVmlldz4pOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxDbXNTYXZlZFZpZXc+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8Q21zRGF0YVJlc3BvbnNlPENtc1NhdmVkVmlldz4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L3ZpZXdzLyR7dmlld0lkfWAsIHVwZGF0ZSk7XG4gIH1cblxuICBkZWxldGVWaWV3KGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHZpZXdJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS92aWV3cy8ke3ZpZXdJZH1gKTtcbiAgfVxuXG4gIC8vIC0tLSBWYWxpZGF0aW9uIFJ1bGVzIC0tLVxuXG4gIGxpc3RWYWxpZGF0aW9uUnVsZXMoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgYWN0aXZlT25seSA9IGZhbHNlKTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8Q21zVmFsaWRhdGlvblJ1bGVbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDbXNEYXRhUmVzcG9uc2U8Q21zVmFsaWRhdGlvblJ1bGVbXT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L3ZhbGlkYXRpb24tcnVsZXNgLCB7XG4gICAgICBwYXJhbXM6IHsgYWN0aXZlT25seSB9LFxuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlVmFsaWRhdGlvblJ1bGUoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgcnVsZTogUGFydGlhbDxDbXNWYWxpZGF0aW9uUnVsZT4pOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxDbXNWYWxpZGF0aW9uUnVsZT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q21zRGF0YVJlc3BvbnNlPENtc1ZhbGlkYXRpb25SdWxlPj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vdmFsaWRhdGlvbi1ydWxlc2AsIHJ1bGUpO1xuICB9XG5cbiAgdXBkYXRlVmFsaWRhdGlvblJ1bGUoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgcnVsZUlkOiBudW1iZXIsIHVwZGF0ZTogUGFydGlhbDxDbXNWYWxpZGF0aW9uUnVsZT4pOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxDbXNWYWxpZGF0aW9uUnVsZT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxDbXNEYXRhUmVzcG9uc2U8Q21zVmFsaWRhdGlvblJ1bGU+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS92YWxpZGF0aW9uLXJ1bGVzLyR7cnVsZUlkfWAsIHVwZGF0ZSk7XG4gIH1cblxuICBkZWxldGVWYWxpZGF0aW9uUnVsZShjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBydWxlSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vdmFsaWRhdGlvbi1ydWxlcy8ke3J1bGVJZH1gKTtcbiAgfVxuXG4gIC8vIC0tLSBSZWNvcmQgVHlwZXMgLS0tXG5cbiAgbGlzdFJlY29yZFR5cGVzKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGFjdGl2ZU9ubHkgPSBmYWxzZSk6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPENtc1JlY29yZFR5cGVbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDbXNEYXRhUmVzcG9uc2U8Q21zUmVjb3JkVHlwZVtdPj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vcmVjb3JkLXR5cGVzYCwge1xuICAgICAgcGFyYW1zOiB7IGFjdGl2ZU9ubHkgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZVJlY29yZFR5cGUoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgcmVjb3JkVHlwZTogUGFydGlhbDxDbXNSZWNvcmRUeXBlPik6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPENtc1JlY29yZFR5cGU+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENtc0RhdGFSZXNwb25zZTxDbXNSZWNvcmRUeXBlPj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vcmVjb3JkLXR5cGVzYCwgcmVjb3JkVHlwZSk7XG4gIH1cblxuICB1cGRhdGVSZWNvcmRUeXBlKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHR5cGVJZDogbnVtYmVyLCB1cGRhdGU6IFBhcnRpYWw8Q21zUmVjb3JkVHlwZT4pOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxDbXNSZWNvcmRUeXBlPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PENtc0RhdGFSZXNwb25zZTxDbXNSZWNvcmRUeXBlPj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vcmVjb3JkLXR5cGVzLyR7dHlwZUlkfWAsIHVwZGF0ZSk7XG4gIH1cblxuICBkZWxldGVSZWNvcmRUeXBlKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHR5cGVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS9yZWNvcmQtdHlwZXMvJHt0eXBlSWR9YCk7XG4gIH1cblxuICAvLyAtLS0gUGFnZSBMYXlvdXRzIC0tLVxuXG4gIGxpc3RMYXlvdXRzKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxDbXNQYWdlTGF5b3V0W10+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q21zRGF0YVJlc3BvbnNlPENtc1BhZ2VMYXlvdXRbXT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L2xheW91dHNgKTtcbiAgfVxuXG4gIGNyZWF0ZUxheW91dChjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBsYXlvdXQ6IFBhcnRpYWw8Q21zUGFnZUxheW91dD4pOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxDbXNQYWdlTGF5b3V0Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbXNEYXRhUmVzcG9uc2U8Q21zUGFnZUxheW91dD4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L2xheW91dHNgLCBsYXlvdXQpO1xuICB9XG5cbiAgdXBkYXRlTGF5b3V0KGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGxheW91dElkOiBudW1iZXIsIHVwZGF0ZTogUGFydGlhbDxDbXNQYWdlTGF5b3V0Pik6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPENtc1BhZ2VMYXlvdXQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8Q21zRGF0YVJlc3BvbnNlPENtc1BhZ2VMYXlvdXQ+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS9sYXlvdXRzLyR7bGF5b3V0SWR9YCwgdXBkYXRlKTtcbiAgfVxuXG4gIGRlbGV0ZUxheW91dChjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBsYXlvdXRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS9sYXlvdXRzLyR7bGF5b3V0SWR9YCk7XG4gIH1cblxuICAvLyAtLS0gRm9ybXVsYSBGaWVsZHMgLS0tXG4gIGxpc3RGb3JtdWxhcyhjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBhY3RpdmVPbmx5ID0gZmFsc2UpOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxhbnlbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDbXNEYXRhUmVzcG9uc2U8YW55W10+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS9mb3JtdWxhc2AsIHsgcGFyYW1zOiB7IGFjdGl2ZU9ubHkgfSB9KTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm11bGEoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgZm9ybXVsYTogYW55KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8YW55Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbXNEYXRhUmVzcG9uc2U8YW55Pj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vZm9ybXVsYXNgLCBmb3JtdWxhKTtcbiAgfVxuXG4gIHVwZGF0ZUZvcm11bGEoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgZm9ybXVsYUlkOiBudW1iZXIsIHVwZGF0ZTogYW55KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8YW55Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PENtc0RhdGFSZXNwb25zZTxhbnk+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS9mb3JtdWxhcy8ke2Zvcm11bGFJZH1gLCB1cGRhdGUpO1xuICB9XG5cbiAgZGVsZXRlRm9ybXVsYShjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBmb3JtdWxhSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vZm9ybXVsYXMvJHtmb3JtdWxhSWR9YCk7XG4gIH1cblxuICAvLyAtLS0gV29ya2Zsb3cgUnVsZXMgLS0tXG4gIGxpc3RXb3JrZmxvd3MoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgYWN0aXZlT25seSA9IGZhbHNlKTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8YW55W10+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q21zRGF0YVJlc3BvbnNlPGFueVtdPj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vd29ya2Zsb3dzYCwgeyBwYXJhbXM6IHsgYWN0aXZlT25seSB9IH0pO1xuICB9XG5cbiAgY3JlYXRlV29ya2Zsb3coY29sbGVjdGlvbk5hbWU6IHN0cmluZywgd29ya2Zsb3c6IGFueSk6IE9ic2VydmFibGU8Q21zRGF0YVJlc3BvbnNlPGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q21zRGF0YVJlc3BvbnNlPGFueT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L3dvcmtmbG93c2AsIHdvcmtmbG93KTtcbiAgfVxuXG4gIHVwZGF0ZVdvcmtmbG93KGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHdvcmtmbG93SWQ6IG51bWJlciwgdXBkYXRlOiBhbnkpOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8Q21zRGF0YVJlc3BvbnNlPGFueT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L3dvcmtmbG93cy8ke3dvcmtmbG93SWR9YCwgdXBkYXRlKTtcbiAgfVxuXG4gIGRlbGV0ZVdvcmtmbG93KGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHdvcmtmbG93SWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vd29ya2Zsb3dzLyR7d29ya2Zsb3dJZH1gKTtcbiAgfVxuXG4gIC8vIC0tLSBBcHByb3ZhbCBQcm9jZXNzZXMgLS0tXG4gIGxpc3RBcHByb3ZhbFByb2Nlc3Nlcyhjb2xsZWN0aW9uTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8YW55W10+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q21zRGF0YVJlc3BvbnNlPGFueVtdPj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vYXBwcm92YWxzYCk7XG4gIH1cblxuICBjcmVhdGVBcHByb3ZhbFByb2Nlc3MoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgcHJvY2VzczogYW55KTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8YW55Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbXNEYXRhUmVzcG9uc2U8YW55Pj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vYXBwcm92YWxzYCwgcHJvY2Vzcyk7XG4gIH1cblxuICBkZWxldGVBcHByb3ZhbFByb2Nlc3MoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgcHJvY2Vzc0lkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L2FwcHJvdmFscy8ke3Byb2Nlc3NJZH1gKTtcbiAgfVxuXG4gIGdldEFwcHJvdmFsU3RhdHVzKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHJlY29yZElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPENtc0RhdGFSZXNwb25zZTxhbnlbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDbXNEYXRhUmVzcG9uc2U8YW55W10+PihgJHt0aGlzLmJhc2VQYXRofS8ke2NvbGxlY3Rpb25OYW1lfS8ke3JlY29yZElkfS9hcHByb3ZhbC1zdGF0dXNgKTtcbiAgfVxuXG4gIHN1Ym1pdEZvckFwcHJvdmFsKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIHJlY29yZElkOiBudW1iZXIsIHByb2Nlc3NJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8YW55Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbXNEYXRhUmVzcG9uc2U8YW55Pj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vJHtyZWNvcmRJZH0vc3VibWl0LWZvci1hcHByb3ZhbGAsIHsgcHJvY2Vzc0lkIH0pO1xuICB9XG5cbiAgYXBwcm92YWxBY3Rpb24oY29sbGVjdGlvbk5hbWU6IHN0cmluZywgaW5zdGFuY2VJZDogbnVtYmVyLCBhY3Rpb246ICdBUFBST1ZFJyB8ICdSRUpFQ1QnLCBjb21tZW50Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxDbXNEYXRhUmVzcG9uc2U8YW55Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbXNEYXRhUmVzcG9uc2U8YW55Pj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtjb2xsZWN0aW9uTmFtZX0vYXBwcm92YWwtaW5zdGFuY2VzLyR7aW5zdGFuY2VJZH0vYWN0aW9uYCwgeyBhY3Rpb24sIGNvbW1lbnQgfSk7XG4gIH1cblxuICAvLyAtLS0gUm9sbHVwIFN1bW1hcnkgLS0tXG4gIHJvbGx1cChjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCB0YXJnZXRDb2xsZWN0aW9uOiBzdHJpbmcsIGZrRmllbGQ6IHN0cmluZywgcGFyZW50SWQ6IG51bWJlciwgZm4gPSAnQ09VTlQnLCBhZ2dyZWdhdGVGaWVsZD86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgcGFyYW1zOiBhbnkgPSB7IHRhcmdldENvbGxlY3Rpb24sIGZrRmllbGQsIHBhcmVudElkLCBmdW5jdGlvbjogZm4gfTtcbiAgICBpZiAoYWdncmVnYXRlRmllbGQpIHBhcmFtcy5hZ2dyZWdhdGVGaWVsZCA9IGFnZ3JlZ2F0ZUZpZWxkO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYmFzZVBhdGh9LyR7Y29sbGVjdGlvbk5hbWV9L3JvbGx1cGAsIHsgcGFyYW1zIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { InjectionToken, Injectable, Inject, Optional, NgModule, inject, ViewChild, Input, Component, EventEmitter, Output, HostListener } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common/http';
|
|
4
4
|
import { HttpClient, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
|
5
|
-
import { BehaviorSubject, Subject, catchError, throwError, take, switchMap, takeUntil, share, tap, map } from 'rxjs';
|
|
5
|
+
import { BehaviorSubject, Subject, catchError, throwError, take, switchMap, takeUntil, share, tap, shareReplay, map } from 'rxjs';
|
|
6
6
|
import { Client } from '@stomp/stompjs';
|
|
7
7
|
import * as SockJSModule from 'sockjs-client';
|
|
8
8
|
import * as i2 from '@angular/common';
|
|
@@ -6703,6 +6703,9 @@ class CmsContentTypeService {
|
|
|
6703
6703
|
create(schema) {
|
|
6704
6704
|
return this.http.post(this.basePath, schema);
|
|
6705
6705
|
}
|
|
6706
|
+
update(collectionName, schema) {
|
|
6707
|
+
return this.http.put(`${this.basePath}/${collectionName}`, schema);
|
|
6708
|
+
}
|
|
6706
6709
|
delete(collectionName) {
|
|
6707
6710
|
return this.http.delete(`${this.basePath}/${collectionName}`);
|
|
6708
6711
|
}
|
|
@@ -6893,77 +6896,76 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
6893
6896
|
}], ctorParameters: () => [{ type: TgmHttpClient }] });
|
|
6894
6897
|
|
|
6895
6898
|
/**
|
|
6896
|
-
*
|
|
6897
|
-
* Frontend devs can inject these into the sidebar dynamically.
|
|
6899
|
+
* Transforms CMS content types into sidebar menu items.
|
|
6898
6900
|
*
|
|
6899
|
-
*
|
|
6901
|
+
* Each content type can specify where it appears via info.menuSection:
|
|
6902
|
+
* - "tgm-om" → TGM O&M section
|
|
6903
|
+
* - "tgm-economics" → TGM Economics section
|
|
6904
|
+
* - "tgm-inventory-management" → Inventory section
|
|
6905
|
+
* - "administration" (default) → Administration → Custom Objects
|
|
6906
|
+
* - Any other menu section id from menu.ts
|
|
6900
6907
|
*
|
|
6901
|
-
*
|
|
6902
|
-
* // In AppComponent or a module initializer:
|
|
6903
|
-
* cmsMenuHelper.getMenuItems('administration/cms').subscribe(items => {
|
|
6904
|
-
* // items is a CoreMenuItem[] array ready to inject into the sidebar
|
|
6905
|
-
* const adminSection = menu.find(m => m.id === 'administration');
|
|
6906
|
-
* const cmsGroup = {
|
|
6907
|
-
* id: 'custom-objects',
|
|
6908
|
-
* type: 'section' as const,
|
|
6909
|
-
* title: 'Custom Objects',
|
|
6910
|
-
* icon: 'layers',
|
|
6911
|
-
* role: [Role['Administration.Read']],
|
|
6912
|
-
* children: items
|
|
6913
|
-
* };
|
|
6914
|
-
* const moreIdx = adminSection.children.findIndex(c => c.id === 'more');
|
|
6915
|
-
* adminSection.children.splice(moreIdx, 0, cmsGroup);
|
|
6916
|
-
* });
|
|
6917
|
-
* ```
|
|
6908
|
+
* Usage in AppComponent.initializeMenu():
|
|
6918
6909
|
*
|
|
6919
|
-
* Route setup in administraton.module.ts:
|
|
6920
6910
|
* ```typescript
|
|
6921
|
-
* {
|
|
6922
|
-
*
|
|
6923
|
-
*
|
|
6924
|
-
*
|
|
6925
|
-
*
|
|
6911
|
+
* this.cmsMenuHelper.getMenuItemsBySection('cms').subscribe(grouped => {
|
|
6912
|
+
* for (const [sectionId, items] of Object.entries(grouped)) {
|
|
6913
|
+
* const section = menu.find(m => m.id === sectionId);
|
|
6914
|
+
* if (section?.children) {
|
|
6915
|
+
* section.children.push(...items);
|
|
6916
|
+
* }
|
|
6917
|
+
* }
|
|
6918
|
+
* });
|
|
6926
6919
|
* ```
|
|
6927
6920
|
*/
|
|
6928
6921
|
class CmsMenuHelper {
|
|
6929
6922
|
contentTypeService = inject(CmsContentTypeService);
|
|
6923
|
+
/** Cached content types — shared across subscribers, auto-refreshes on invalidate() */
|
|
6924
|
+
_cache$ = null;
|
|
6925
|
+
getContentTypes() {
|
|
6926
|
+
if (!this._cache$) {
|
|
6927
|
+
this._cache$ = this.getContentTypes().pipe(shareReplay({ bufferSize: 1, refCount: false }));
|
|
6928
|
+
}
|
|
6929
|
+
return this._cache$;
|
|
6930
|
+
}
|
|
6931
|
+
/** Invalidate the cache — call after creating/updating/deleting a content type */
|
|
6932
|
+
invalidate() {
|
|
6933
|
+
this._cache$ = null;
|
|
6934
|
+
}
|
|
6930
6935
|
/**
|
|
6931
|
-
* Fetch all
|
|
6936
|
+
* Fetch all content types and return menu items grouped by menuSection.
|
|
6937
|
+
* Each key is a menu section id (e.g., "tgm-om", "administration").
|
|
6938
|
+
* Items without menuSection default to "administration".
|
|
6932
6939
|
*
|
|
6933
|
-
* @param baseUrl -
|
|
6934
|
-
* @param defaultIcon - Default icon
|
|
6935
|
-
* @returns Observable of menu items array
|
|
6940
|
+
* @param baseUrl - Route base path for CMS pages
|
|
6941
|
+
* @param defaultIcon - Default icon when menuIcon not set
|
|
6936
6942
|
*/
|
|
6937
|
-
|
|
6938
|
-
return this.
|
|
6943
|
+
getMenuItemsBySection(baseUrl = 'cms', defaultIcon = 'database') {
|
|
6944
|
+
return this.getContentTypes().pipe(map((contentTypes) => {
|
|
6945
|
+
const grouped = {};
|
|
6946
|
+
for (const ct of contentTypes) {
|
|
6947
|
+
const section = ct.info?.menuSection || 'administration';
|
|
6948
|
+
const item = this.toMenuItem(ct, baseUrl, defaultIcon);
|
|
6949
|
+
if (!grouped[section])
|
|
6950
|
+
grouped[section] = [];
|
|
6951
|
+
grouped[section].push(item);
|
|
6952
|
+
}
|
|
6953
|
+
return grouped;
|
|
6954
|
+
}));
|
|
6939
6955
|
}
|
|
6940
6956
|
/**
|
|
6941
|
-
*
|
|
6957
|
+
* Fetch all content types as a flat list of menu items.
|
|
6958
|
+
* Use getMenuItemsBySection() instead if you need placement control.
|
|
6942
6959
|
*/
|
|
6943
|
-
|
|
6944
|
-
return
|
|
6945
|
-
id: `cms-${ct.collectionName}`,
|
|
6946
|
-
title: ct.info?.displayName || ct.collectionName,
|
|
6947
|
-
type: 'item',
|
|
6948
|
-
icon: defaultIcon,
|
|
6949
|
-
url: `${baseUrl}/${ct.collectionName}`,
|
|
6950
|
-
// These match CoreMenuItem from tgm-manager-ui
|
|
6951
|
-
availableOnMobileNative: false,
|
|
6952
|
-
mobileOnly: false,
|
|
6953
|
-
badge: ct.options?.draftAndPublish
|
|
6954
|
-
? { title: 'D/P', classes: 'badge-light-primary' }
|
|
6955
|
-
: undefined,
|
|
6956
|
-
};
|
|
6960
|
+
getMenuItems(baseUrl = 'cms', defaultIcon = 'database') {
|
|
6961
|
+
return this.getContentTypes().pipe(map((contentTypes) => contentTypes.map(ct => this.toMenuItem(ct, baseUrl, defaultIcon))));
|
|
6957
6962
|
}
|
|
6958
6963
|
/**
|
|
6959
|
-
* Build a
|
|
6960
|
-
*
|
|
6961
|
-
*
|
|
6962
|
-
* @param baseUrl - Route base path
|
|
6963
|
-
* @param roles - Required roles to see this section
|
|
6964
|
+
* Build a "Custom Objects" section for items that target "administration".
|
|
6965
|
+
* Items targeting other sections are excluded — use getMenuItemsBySection() for those.
|
|
6964
6966
|
*/
|
|
6965
|
-
getMenuSection(baseUrl = '
|
|
6966
|
-
return this.
|
|
6967
|
+
getMenuSection(baseUrl = 'cms', roles = ['Administration.Read']) {
|
|
6968
|
+
return this.getMenuItemsBySection(baseUrl).pipe(map(grouped => ({
|
|
6967
6969
|
id: 'custom-objects',
|
|
6968
6970
|
type: 'section',
|
|
6969
6971
|
title: 'Custom Objects',
|
|
@@ -6972,9 +6974,22 @@ class CmsMenuHelper {
|
|
|
6972
6974
|
role: roles,
|
|
6973
6975
|
availableOnMobileNative: false,
|
|
6974
6976
|
mobileOnly: false,
|
|
6975
|
-
children:
|
|
6977
|
+
children: grouped['administration'] || [],
|
|
6976
6978
|
})));
|
|
6977
6979
|
}
|
|
6980
|
+
toMenuItem(ct, baseUrl, defaultIcon) {
|
|
6981
|
+
return {
|
|
6982
|
+
id: `cms-${ct.collectionName}`,
|
|
6983
|
+
title: ct.info?.displayName || ct.collectionName,
|
|
6984
|
+
type: 'item',
|
|
6985
|
+
icon: ct.info?.menuIcon || defaultIcon,
|
|
6986
|
+
url: `${baseUrl}/${ct.collectionName}`,
|
|
6987
|
+
availableOnMobileNative: false,
|
|
6988
|
+
mobileOnly: false,
|
|
6989
|
+
// Store the target section for grouping
|
|
6990
|
+
_menuSection: ct.info?.menuSection || 'administration',
|
|
6991
|
+
};
|
|
6992
|
+
}
|
|
6978
6993
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CmsMenuHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6979
6994
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CmsMenuHelper, providedIn: 'root' });
|
|
6980
6995
|
}
|