tin-spa 2.4.1 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/classes/Classes.mjs +1 -1
- package/esm2020/lib/components/filter/filter.component.mjs +7 -3
- package/esm2020/lib/components/form/form.component.mjs +3 -3
- package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +1 -1
- package/esm2020/lib/components/option/option.component.mjs +3 -3
- package/esm2020/lib/components/page/page.component.mjs +73 -0
- package/esm2020/lib/components/select/select.component.mjs +13 -3
- package/esm2020/lib/components/table/detailsDialog.component.mjs +1 -1
- package/esm2020/lib/components/table/table.component.mjs +16 -4
- package/esm2020/lib/components/table-header/table-header.component.mjs +14 -5
- package/esm2020/lib/components/table-internal/table-internal.component.mjs +16 -4
- package/esm2020/lib/components/table-row/table-row.component.mjs +1 -1
- package/esm2020/lib/components/text/text.component.mjs +25 -15
- package/esm2020/lib/components/tiles/tiles.component.mjs +31 -27
- package/esm2020/lib/pages/accounts/accountDialog.component.mjs +1 -1
- package/esm2020/lib/pages/change-password/change-password.component.mjs +1 -1
- package/esm2020/lib/pages/create-account/create-account.component.mjs +1 -1
- package/esm2020/lib/pages/customers/customers.component.mjs +1 -1
- package/esm2020/lib/pages/departments/departments.component.mjs +1 -1
- package/esm2020/lib/pages/employees/employees.component.mjs +1 -1
- package/esm2020/lib/pages/inventory/inventory.component.mjs +1 -1
- package/esm2020/lib/pages/inventory/quantityDialog.component.mjs +1 -1
- package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +1 -1
- package/esm2020/lib/pages/login/login.component.mjs +1 -1
- package/esm2020/lib/pages/membership/membership.component.mjs +1 -1
- package/esm2020/lib/pages/plans/plans.component.mjs +1 -1
- package/esm2020/lib/pages/positions/positions.component.mjs +1 -1
- package/esm2020/lib/pages/profile/profile.component.mjs +1 -1
- package/esm2020/lib/pages/recover-account/recover-account.component.mjs +1 -1
- package/esm2020/lib/pages/signup/signup.component.mjs +1 -1
- package/esm2020/lib/pages/suppliers/suppliers.component.mjs +1 -1
- package/esm2020/lib/pages/tasks/tasks.component.mjs +1 -1
- package/esm2020/lib/pages/tenant-settings/inviteDialog.component.mjs +1 -1
- package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +1 -1
- package/esm2020/lib/pages/tenants/tenants.component.mjs +1 -1
- package/esm2020/lib/pages/transactions/transactDialog.component.mjs +1 -1
- package/esm2020/lib/pages/transactions/transactions.component.mjs +1 -1
- package/esm2020/lib/pages/welcome/welcome.component.mjs +1 -1
- package/esm2020/lib/tin-spa.module.mjs +6 -5
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/tin-spa.mjs +188 -79
- package/fesm2015/tin-spa.mjs.map +1 -1
- package/fesm2020/tin-spa.mjs +204 -79
- package/fesm2020/tin-spa.mjs.map +1 -1
- package/lib/classes/Classes.d.ts +10 -0
- package/lib/components/filter/filter.component.d.ts +1 -0
- package/lib/components/page/page.component.d.ts +25 -0
- package/lib/components/select/select.component.d.ts +3 -1
- package/lib/components/table/table.component.d.ts +5 -1
- package/lib/components/table-header/table-header.component.d.ts +5 -2
- package/lib/components/table-internal/table-internal.component.d.ts +5 -1
- package/lib/components/text/text.component.d.ts +6 -2
- package/lib/components/tiles/tiles.component.d.ts +5 -4
- package/lib/tin-spa.module.d.ts +6 -5
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -84,4 +84,4 @@ export class FinAccount {
|
|
|
84
84
|
this.currency = "";
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jbGFzc2VzL0NsYXNzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFdBQVc7Q0FJdkI7QUFFRCxNQUFNLE9BQU8sU0FBUzs7QUFDRyxtQkFBUyxHQUFHLEdBQUcsQ0FBQztBQUNoQixtQkFBUyxHQUFHLEdBQUcsQ0FBQztBQUNoQixvQkFBVSxHQUFHLEdBQUcsQ0FBQztBQUNqQixvQkFBVSxHQUFHLEdBQUcsQ0FBQztBQUNqQiwyQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDeEIsMEJBQWdCLEdBQUcsR0FBRyxDQUFDO0FBR2hELE1BQU0sT0FBTyxnQkFBZ0I7Q0FJNUI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUF3QjtBQUFwQyxXQUFZLGFBQWE7SUFBRSwrQ0FBRyxDQUFBO0lBQUUsK0NBQUcsQ0FBQTtBQUFBLENBQUMsRUFBeEIsYUFBYSxLQUFiLGFBQWEsUUFBVztBQUVwQyxNQUFNLE9BQU8sbUJBQW1CO0NBZ0IvQjtBQUVELE1BQU0sT0FBTyxhQUFhO0NBR3pCO0FBRUQsTUFBTSxPQUFPLE1BQU07Q0FNbEI7QUFJRCxNQUFNLE9BQU8sWUFBWTtDQUd4QjtBQVFELE1BQU0sT0FBTyxhQUFhO0NBS3pCO0FBRUQsTUFBTSxPQUFPLFlBQVk7Q0FJeEI7QUFJRCxNQUFNLE9BQU8sVUFBVTtDQWN0QjtBQStFRCxNQUFNLE9BQU8sV0FBVztDQTZCdkI7QUFnQ0QsTUFBTSxPQUFPLFVBQVU7Q0FNdEI7QUFjRCxNQUFNLE9BQU8sSUFBSTtDQUdoQjtBQUlELE1BQU0sT0FBTyxjQUFjO0NBRzFCO0FBTUQsTUFBTSxPQUFPLFNBQVM7SUFDcEI7UUFDRSxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7Q0FhRjtBQUVELE1BQU0sT0FBTyxPQUFPO0lBRWxCO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztJQUU5QixDQUFDO0NBY0Y7QUFJRCxNQUFNLE9BQU8sV0FBVztJQUV0QjtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDO0NBV0Y7QUFFRCxNQUFNLE9BQU8sVUFBVTtJQUVyQjtRQUNFLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFFckIsQ0FBQztDQVFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZSB9IGZyb20gXCIuL1RpbkNvcmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBcGlSZXNwb25zZSB7XHJcbiAgc3VjY2VzczogYm9vbGVhbjtcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgZGF0YTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbnN0YW50cyB7XHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVVRIX1VTRVIgPSAnYSc7XHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVVRIX05BTUUgPSAnYic7XHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVVRIX1JPTEVTID0gJ2MnO1xyXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQVVUSF9UT0tFTiA9ICdkJztcclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFVVEhfVE9LRU5fRVhQSVJFID0gJ2UnO1xyXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQVVUSF9URU5BTlRfTkFNRSA9ICdmJztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpc3REaWFsb2dDb25maWd7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgbGlzdE5hbWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRGV0YWlsc1NvdXJjZSB7Um93LCBVcmx9XHJcblxyXG5leHBvcnQgY2xhc3MgRGV0YWlsc0RpYWxvZ0NvbmZpZyB7XHJcblxyXG4gIGZvcm1Db25maWc6IEZvcm1Db25maWc7XHJcbiAgdGFibGVDb25maWc/OiBUYWJsZUNvbmZpZztcclxuICB0YWJsZUNvbmZpZ3M/OiBUYWJsZUNvbmZpZ1tdO1xyXG4gIGJ1dHRvbnM/OiBCdXR0b25bXTtcclxuICBkZXRhaWxzPyA6IGFueVxyXG4gIGhlcm9GaWVsZD8gOiBhbnlcclxuICBoZXJvVmFsdWU/OiBhbnlcclxuICBtb2RlPzogJ2NyZWF0ZScgfCAnZWRpdCcgfCAndmlldydcclxuICB3aWR0aD86IHN0cmluZ1xyXG4gIC8vIHNldEhlcm8gPzogYm9vbGVhblxyXG4gIGRldGFpbHNTb3VyY2U/OiBEZXRhaWxzU291cmNlXHJcbiAgLy8gc291cmNlTWV0aG9kIDogJ3JvdycgfCAnaWQnIHwgJ2lkRmllbGQnXHJcbiAgLy8gcm93PzogYW55XHJcbiAgb3B0aW9ucz86IGRpYWxvZ09wdGlvbnNcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIGRpYWxvZ09wdGlvbnMge1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGhlaWdodD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFjdGlvbntcclxuICBtZXRob2Q/OiAnZ2V0JyB8ICdwb3N0J1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIHBhcmFtcz8gOiBhbnlbXVxyXG4gIHN1Y2Nlc3NNZXNzYWdlPzogc3RyaW5nXHJcbiAgaXNGb3JtRGF0YT86IGJvb2xlYW5cclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgU2VhcmNoQ29uZmlnIHtcclxuICBmaWVsZHM6IFNlYXJjaEZpZWxkW11cclxuICBzZWFyY2hBY3Rpb24/OiBBY3Rpb25cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hGaWVsZCBleHRlbmRzIEZpZWxke1xyXG5cclxuICBzaG93PzogYm9vbGVhblxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFsZXJ0TWVzc2FnZXMge1xyXG5cclxuICBzdWJqZWN0PyA6IHN0cmluZ1xyXG4gIG1lc3NhZ2VzOiBBbGVydE1lc3NhZ2VbXVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFsZXJ0TWVzc2FnZSB7XHJcbiAgdHlwZT86ICdzdWNjZXNzJyB8J2luZm8nIHwgJ3dhcm4nIHwgJ2NyaXRpY2FsJ1xyXG4gIGNvbnRlbnQ6IHN0cmluZ1xyXG4gIGhpZGRlbkNvbmRpdGlvbj86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtQ29uZmlnIHtcclxuICB0aXRsZT86IHN0cmluZ1xyXG4gIGZpeGVkVGl0bGU/OiBib29sZWFuXHJcbiAgYWxlcnRNZXNzYWdlcz86IEFsZXJ0TWVzc2FnZXNcclxuICBmaWVsZHM6IEZpZWxkW11cclxuICBtb2RlPzogJ2NyZWF0ZScgfCAnZWRpdCcgfCAndmlldydcclxuICBidXR0b24/IDogQnV0dG9uXHJcbiAgbXVsdGlDb2x1bW4/OiBib29sZWFuXHJcbiAgcmVzZXQ/OiBib29sZWFuXHJcbiAgZmlsZUFjdGlvbj86IEFjdGlvblxyXG4gIGxvYWRBY3Rpb24/OiBBY3Rpb25cclxuICBoZXJvRmllbGQ/OiBhbnlcclxuICBoZXJvVmFsdWU/OiBhbnlcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9ue1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIHZpc2libGU/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxuICBkaXNwbGF5Pzogc3RyaW5nO1xyXG4gIGljb24/OiBJY29uO1xyXG4gIGRpc2FibGVkPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbiAgY29sb3I/OiBzdHJpbmc7XHJcbiAgdGlwPzogc3RyaW5nXHJcbiAgZGlhbG9nPzogYm9vbGVhblxyXG4gIGFjdGlvbj86IEFjdGlvblxyXG4gIGNvbmZpcm0/OiBDb25maXJtXHJcbiAgaW5EaWFsb2c/OiBib29sZWFuXHJcbiAgaW5IZWFkZXI/OiBib29sZWFuXHJcbiAgZGV0YWlsc0NvbmZpZz86IERldGFpbHNEaWFsb2dDb25maWdcclxuICBzZXRIZXJvRmllbGQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm0ge1xyXG4gIG1lc3NhZ2U6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbmRpdGlvbntcclxuICBjb25kaXRpb24/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHR5cGU6ICd0ZXh0JyB8ICdkYXRlJyB8ICdkYXRldGltZScgfCAnY2hlY2tib3gnIHwgJ3NlbGVjdCcgfCAnbXVsdGktc2VsZWN0JyB8ICdtb25leScgfCAnbnVtYmVyJyB8ICdzZWN0aW9uJyB8ICdibGFuaycgfCAnY2hpcCcgfCAnZmlsZScgfCAnZmlsZS12aWV3JyB8ICdpY29uJyB8ICdzcGlubmVyJyB8ICdidXR0b24nIHwgJ2xhYmVsJyB8ICdlbWFpbCcgfCAnY29tcG9zaXRlJyB8ICdzdHJpbmcnO1xyXG4gIGFsaWFzPzogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiBhbnlbXTtcclxuICBvcHRpb25EaXNwbGF5Pzogc3RyaW5nXHJcbiAgb3B0aW9uVmFsdWU/OiBzdHJpbmdcclxuICBkZWZhdWx0VmFsdWU/OiBhbnlcclxuICBkZWZhdWx0Rmlyc3RWYWx1ZT86IGJvb2xlYW5cclxuICByZXF1aXJlZD86IGJvb2xlYW5cclxuICBtaW4/OiBhbnlcclxuICBtYXg/OiBhbnlcclxuICByb3dzPzogbnVtYmVyXHJcbiAgc3Bhbj86IGJvb2xlYW5cclxuICB3aWR0aD86IHN0cmluZ1xyXG4gIHNpemU/OiBzdHJpbmdcclxuICByZWFkb25seT86IGJvb2xlYW5cclxuICBoaWRkZW4/OiBib29sZWFuXHJcbiAgcGF0aD86IHN0cmluZ1xyXG4gIGtleUZpbGVkTmFtZT86IHN0cmluZ1xyXG4gIGhpbnQ/OiBzdHJpbmdcclxuICBtYXN0ZXJGaWVsZD86IHN0cmluZ1xyXG4gIGNoaWxkPzogQ2hpbGRGaWVsZFxyXG4gIGNoaWxkcmVuPzogQ2hpbGRGaWVsZFtdXHJcbiAgbWFzdGVyT3B0aW9ucz86IGFueVtdXHJcbiAgbnVsbGFibGUgPzogYm9vbGVhblxyXG5cclxuICBoaWRlT25DcmVhdGUgPzogYm9vbGVhblxyXG4gIGhpZGVPbkV4aXN0cyA/OiBib29sZWFuXHJcbiAgaGlkZGVuQ29uZGl0aW9uPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbiAgcmVhZG9ubHlDb25kaXRpb24/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxuXHJcbiAgcGVla0NvbmZpZyA/OiBQZWVrRGlhbG9nQ29uZmlnO1xyXG5cclxuICBpbmZvTWVzc2FnZT86IHN0cmluZztcclxuICBzdWZmaXg/OiBzdHJpbmc7XHJcblxyXG4gIHN1YmZpZWxkcz86IEZpZWxkW107XHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBlZWtEaWFsb2dDb25maWd7XHJcbiAgZGV0YWlsc0NvbmZpZzogRGV0YWlsc0RpYWxvZ0NvbmZpZ1xyXG4gIGNyZWF0ZT8gOiBib29sZWFuXHJcbiAgdmlldz8gOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hpbGRGaWVsZCB7XHJcbiAgY2hpbGRGaWVsZD86IHN0cmluZ1xyXG4gIGNoaWxkVmFsdWVGaWVsZD86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVDb25maWd7XHJcbiAgdGl0bGU/OiBzdHJpbmdcclxuICBub0RhdGFNZXNzYWdlID86IHN0cmluZ1xyXG4gIGNvbHVtbnM/IDogQ29sdW1uW11cclxuICBtaW5Db2x1bW5zPzogc3RyaW5nW11cclxuICBzaG93RmlsdGVyPzogYm9vbGVhblxyXG4gIGhvbGRGaWx0ZXJTcGFjZT86IGJvb2xlYW5cclxuICBob2xkSGVhZGVyQnV0dG9uU3BhY2U/OiBib29sZWFuXHJcbiAgZWxldmF0aW9uPzogJ25vbmUnIHwgJ2xvdycgfCAnbWVkaXVtJyB8ICdoaWdoJ1xyXG4gIGZvcm1Db25maWc/OiBGb3JtQ29uZmlnXHJcbiAgc2VhcmNoQ29uZmlnPzogU2VhcmNoQ29uZmlnXHJcbiAgdGlsZUNvbmZpZz86IFRpbGVDb25maWdcclxuICBidXR0b25zPzogQnV0dG9uW11cclxuICBtaW5CdXR0b25zPzogc3RyaW5nW11cclxuICBsb2FkQWN0aW9uPzogQWN0aW9uXHJcbiAgbG9hZElERmllbGQgPzogc3RyaW5nXHJcbiAgbG9hZENyaXRlcmlhPzogc3RyaW5nXHJcbiAgbG9nUmVzcG9uc2U/OiBib29sZWFuXHJcbiAgZmxhdEJ1dHRvbnM/OiBib29sZWFuXHJcbiAgZ3JleU91dD86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG4gIGhlcm9GaWVsZD86IGFueVxyXG4gIGhlcm9WYWx1ZT86IGFueVxyXG4gIGNvbGxhcHNlQnV0dG9ucz86IGJvb2xlYW5cclxuICBwYXJlbnREYXRhID8gOiBhbnlcclxuICBwYWdlU2l6ZXM/OiBudW1iZXJbXVxyXG4gIGhpZGVUYWJDb25kaXRpb24/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxuXHJcbiAgZG93bmxvYWQ/OiB7IGNvbHVtbnM6IHN0cmluZ1tdLCBmaWxlTmFtZT86IHN0cmluZywgaGlkZGVuQ29uZGl0aW9uPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47IH1cclxuICB1cGxvYWQ/OiB7IGFjdGlvbjogQWN0aW9uLCBtZXNzYWdlcz86IEFsZXJ0TWVzc2FnZVtdLCBoaWRkZW5Db25kaXRpb24/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjsgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbiB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHR5cGU/OiAndGV4dCcgfCAnZGF0ZScgfCAnZGF0ZXRpbWUnIHwgJ2NoZWNrYm94JyB8ICdzZWxlY3QnIHwgJ21vbmV5JyB8ICdudW1iZXInIHwgJ2NoaXAnIHwgJ2ljb24nIHwgJ3NwaW5uZXInIHwgJ2J1dHRvbicgO1xyXG4gIGFsaWFzPzogc3RyaW5nO1xyXG4gIGljb24/OiBJY29uO1xyXG4gIGNvbG9yPzogQ29sb3I7XHJcbiAgY29sb3JzPzogQ29sb3JbXTtcclxuICBpY29ucz86IEljb25bXTtcclxuICBvcHRpb25zPzogYW55W107XHJcbiAgb3B0aW9uRGlzcGxheT86IHN0cmluZ1xyXG4gIG9wdGlvblZhbHVlPzogc3RyaW5nXHJcbiAgZGV0YWlsc0NvbmZpZz86IERldGFpbHNEaWFsb2dDb25maWdcclxuICBoaWRkZW5Db25kaXRpb24/OiAocGFyZW50RGF0YTogYW55KSA9PiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEljb257XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgY29sb3I/OiBzdHJpbmdcclxuICB0aXA/OiBzdHJpbmdcclxuICB0aXBGaWVsZD86IHN0cmluZ1xyXG4gIGJhbm5lckZpZWxkPzogc3RyaW5nXHJcbiAgY29uZGl0aW9uPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3Ige1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvbmRpdGlvbj86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFRpbGVDb25maWd7XHJcbiAgdGlsZXMgOiBUaWxlW11cclxuICBsb2FkQWN0aW9uPzogQWN0aW9uXHJcbiAgbG9hZEluaXQ/OiBib29sZWFuXHJcbiAgY2xpY2thYmxlPzogYm9vbGVhblxyXG4gIC8vIHJlbG9hZD86IGJvb2xlYW5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRpbGUge1xyXG5cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgYWxpYXM/OiBzdHJpbmc7XHJcbiAgdmFsdWU/OiBzdHJpbmc7XHJcbiAgY29sb3I/OiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRUaWxlPzogc3RyaW5nO1xyXG4gIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgaW5mbz86IHN0cmluZztcclxuICBwcmVmaXg/OiBzdHJpbmc7XHJcbiAgc3VmZml4Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3RlcCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgaWNvbjogc3RyaW5nO1xyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25SZXNwb25zZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHZhbHVlO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFwcENvbmZpZyB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmFwcE5hbWUgPSBcIkFwcCBOYW1lXCI7XHJcbiAgICB0aGlzLmxvZ28gPSBcIlwiO1xyXG4gICAgdGhpcy5sb2dvU2l6ZSA9IFwibm9ybWFsXCI7XHJcbiAgICB0aGlzLkFEQXV0aCA9IHRydWU7XHJcbiAgICB0aGlzLmxvY2FsQXV0aCA9IHRydWU7XHJcbiAgICB0aGlzLmdvb2dsZUF1dGggPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZlNlcnZpY2UgPSBmYWxzZTtcclxuICAgIHRoaXMubXVsdGl0ZW5hbnQgPSBmYWxzZTtcclxuICAgIHRoaXMubmF2aWdhdGlvbiA9ICd0b3AnO1xyXG4gICAgdGhpcy5wcm9ncmVzc0xpbmUgPSBmYWxzZTtcclxuICB9XHJcbiAgYXBwTmFtZTogc3RyaW5nO1xyXG4gIGxvZ286IHN0cmluZztcclxuICBsb2dvU2l6ZTogc3RyaW5nO1xyXG4gIEFEQXV0aDogYm9vbGVhbjtcclxuICBsb2NhbEF1dGg6IGJvb2xlYW47XHJcbiAgZ29vZ2xlQXV0aDogYm9vbGVhbjtcclxuICBzZWxmU2VydmljZTogYm9vbGVhbjtcclxuICBjYXBJdGVtczogQ2FwSXRlbVtdO1xyXG4gIG11bHRpdGVuYW50IDogYm9vbGVhbjtcclxuICBuYXZpZ2F0aW9uIDogJ3RvcCcgfCAnc2lkZSdcclxuICBwcm9ncmVzc0xpbmU6IGJvb2xlYW47XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2FwSXRlbSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5uYW1lID0gXCJcIjtcclxuICAgIHRoaXMuZGlzcGxheSA9IFwiTmV3IENhcCBJdGVtXCI7XHJcbiAgICB0aGlzLmVuYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMudHlwZSA9IFwiXCI7XHJcbiAgICB0aGlzLm5ld0xpbmUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd01lbnUgPSB0cnVlO1xyXG4gICAgdGhpcy5pZ25vcmVTdWJzRGlzcGxheSA9IGZhbHNlO1xyXG4gICAgdGhpcy5saW5rID0gXCJcIjtcclxuICAgIHRoaXMuaWNvbiA9IFwibmF2aWdhdGVfbmV4dFwiO1xyXG5cclxuICB9XHJcblxyXG4gIG5hbWU6IHN0cmluZztcclxuICBkaXNwbGF5OiBzdHJpbmc7XHJcbiAgZW5hYmxlZDogYm9vbGVhbjtcclxuICBzaG93TWVudTogYm9vbGVhbjtcclxuXHJcbiAgaWdub3JlU3Vic0Rpc3BsYXk6IGJvb2xlYW47XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG5ld0xpbmU6IGJvb2xlYW47XHJcbiAgbGluazogc3RyaW5nO1xyXG4gIGljb246IHN0cmluZztcclxuICBjYXBTdWJJdGVtczogQ2FwSXRlbVtdO1xyXG5cclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24ge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25JRCA9IDA7XHJcbiAgICB0aGlzLm5hcnJhdGlvbiA9IFwiXCI7XHJcbiAgICB0aGlzLmFtb3VudCA9ICcwJztcclxuICAgIHRoaXMudHlwZSA9IDA7XHJcbiAgICB0aGlzLmRhdGUgPSBcIlwiO1xyXG4gICAgdGhpcy5hY2NvdW50SUQgPSAwO1xyXG4gICAgdGhpcy5kZXN0aW5hdGlvbklEID0gMDtcclxuICAgIHRoaXMuY2F0ZWdvcnlJRCA9IDA7XHJcbiAgfVxyXG5cclxuICB0cmFuc2FjdGlvbklEIDogbnVtYmVyO1xyXG4gIG5hcnJhdGlvbiA6IHN0cmluZztcclxuICBhbW91bnQgOiBzdHJpbmc7XHJcbiAgdHlwZTogbnVtYmVyO1xyXG4gIGRhdGUgOiBzdHJpbmc7XHJcbiAgYWNjb3VudElEIDogbnVtYmVyO1xyXG4gIGRlc3RpbmF0aW9uSUQgOiBudW1iZXI7XHJcbiAgY2F0ZWdvcnlJRCA6IG51bWJlcjtcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaW5BY2NvdW50IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKXtcclxuICAgIHRoaXMuYWNjb3VudElEID0gMDtcclxuICAgIHRoaXMubmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gXCJcIjtcclxuICAgIHRoaXMuY3VycmVuY3kgPSBcIlwiO1xyXG5cclxuICB9XHJcblxyXG5cclxuICBhY2NvdW50SUQ6IG51bWJlclxyXG4gIG5hbWU6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIGN1cnJlbmN5OiBzdHJpbmc7XHJcblxyXG59XHJcblxyXG4iXX0=
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jbGFzc2VzL0NsYXNzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFdBQVc7Q0FJdkI7QUFFRCxNQUFNLE9BQU8sU0FBUzs7QUFDRyxtQkFBUyxHQUFHLEdBQUcsQ0FBQztBQUNoQixtQkFBUyxHQUFHLEdBQUcsQ0FBQztBQUNoQixvQkFBVSxHQUFHLEdBQUcsQ0FBQztBQUNqQixvQkFBVSxHQUFHLEdBQUcsQ0FBQztBQUNqQiwyQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDeEIsMEJBQWdCLEdBQUcsR0FBRyxDQUFDO0FBR2hELE1BQU0sT0FBTyxnQkFBZ0I7Q0FJNUI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUF3QjtBQUFwQyxXQUFZLGFBQWE7SUFBRSwrQ0FBRyxDQUFBO0lBQUUsK0NBQUcsQ0FBQTtBQUFBLENBQUMsRUFBeEIsYUFBYSxLQUFiLGFBQWEsUUFBVztBQUVwQyxNQUFNLE9BQU8sbUJBQW1CO0NBZ0IvQjtBQUVELE1BQU0sT0FBTyxhQUFhO0NBR3pCO0FBRUQsTUFBTSxPQUFPLE1BQU07Q0FNbEI7QUFJRCxNQUFNLE9BQU8sWUFBWTtDQUt4QjtBQVFELE1BQU0sT0FBTyxhQUFhO0NBS3pCO0FBRUQsTUFBTSxPQUFPLFlBQVk7Q0FJeEI7QUFJRCxNQUFNLE9BQU8sVUFBVTtDQWN0QjtBQXdGRCxNQUFNLE9BQU8sV0FBVztDQTZCdkI7QUFnQ0QsTUFBTSxPQUFPLFVBQVU7Q0FNdEI7QUFlRCxNQUFNLE9BQU8sSUFBSTtDQUdoQjtBQUlELE1BQU0sT0FBTyxjQUFjO0NBRzFCO0FBTUQsTUFBTSxPQUFPLFNBQVM7SUFDcEI7UUFDRSxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7Q0FhRjtBQUVELE1BQU0sT0FBTyxPQUFPO0lBRWxCO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztJQUU5QixDQUFDO0NBY0Y7QUFJRCxNQUFNLE9BQU8sV0FBVztJQUV0QjtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDO0NBV0Y7QUFFRCxNQUFNLE9BQU8sVUFBVTtJQUVyQjtRQUNFLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFFckIsQ0FBQztDQVFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZSB9IGZyb20gXCIuL1RpbkNvcmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBcGlSZXNwb25zZSB7XHJcbiAgc3VjY2VzczogYm9vbGVhbjtcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgZGF0YTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbnN0YW50cyB7XHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVVRIX1VTRVIgPSAnYSc7XHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVVRIX05BTUUgPSAnYic7XHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVVRIX1JPTEVTID0gJ2MnO1xyXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQVVUSF9UT0tFTiA9ICdkJztcclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFVVEhfVE9LRU5fRVhQSVJFID0gJ2UnO1xyXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQVVUSF9URU5BTlRfTkFNRSA9ICdmJztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpc3REaWFsb2dDb25maWd7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgbGlzdE5hbWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRGV0YWlsc1NvdXJjZSB7Um93LCBVcmx9XHJcblxyXG5leHBvcnQgY2xhc3MgRGV0YWlsc0RpYWxvZ0NvbmZpZyB7XHJcblxyXG4gIGZvcm1Db25maWc6IEZvcm1Db25maWc7XHJcbiAgdGFibGVDb25maWc/OiBUYWJsZUNvbmZpZztcclxuICB0YWJsZUNvbmZpZ3M/OiBUYWJsZUNvbmZpZ1tdO1xyXG4gIGJ1dHRvbnM/OiBCdXR0b25bXTtcclxuICBkZXRhaWxzPyA6IGFueVxyXG4gIGhlcm9GaWVsZD8gOiBhbnlcclxuICBoZXJvVmFsdWU/OiBhbnlcclxuICBtb2RlPzogJ2NyZWF0ZScgfCAnZWRpdCcgfCAndmlldydcclxuICB3aWR0aD86IHN0cmluZ1xyXG4gIC8vIHNldEhlcm8gPzogYm9vbGVhblxyXG4gIGRldGFpbHNTb3VyY2U/OiBEZXRhaWxzU291cmNlXHJcbiAgLy8gc291cmNlTWV0aG9kIDogJ3JvdycgfCAnaWQnIHwgJ2lkRmllbGQnXHJcbiAgLy8gcm93PzogYW55XHJcbiAgb3B0aW9ucz86IGRpYWxvZ09wdGlvbnNcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIGRpYWxvZ09wdGlvbnMge1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGhlaWdodD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFjdGlvbntcclxuICBtZXRob2Q/OiAnZ2V0JyB8ICdwb3N0J1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIHBhcmFtcz8gOiBhbnlbXVxyXG4gIHN1Y2Nlc3NNZXNzYWdlPzogc3RyaW5nXHJcbiAgaXNGb3JtRGF0YT86IGJvb2xlYW5cclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgU2VhcmNoQ29uZmlnIHtcclxuICBmaWVsZHM6IFNlYXJjaEZpZWxkW11cclxuICBzZWFyY2hBY3Rpb24/OiBBY3Rpb25cclxuICBlbWFpbFJlc3VsdHM/OiBib29sZWFuXHJcbiAgdGlsZUNvbmZpZz86IFRpbGVDb25maWdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hGaWVsZCBleHRlbmRzIEZpZWxke1xyXG5cclxuICBzaG93PzogYm9vbGVhblxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFsZXJ0TWVzc2FnZXMge1xyXG5cclxuICBzdWJqZWN0PyA6IHN0cmluZ1xyXG4gIG1lc3NhZ2VzOiBBbGVydE1lc3NhZ2VbXVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFsZXJ0TWVzc2FnZSB7XHJcbiAgdHlwZT86ICdzdWNjZXNzJyB8J2luZm8nIHwgJ3dhcm4nIHwgJ2NyaXRpY2FsJ1xyXG4gIGNvbnRlbnQ6IHN0cmluZ1xyXG4gIGhpZGRlbkNvbmRpdGlvbj86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtQ29uZmlnIHtcclxuICB0aXRsZT86IHN0cmluZ1xyXG4gIGZpeGVkVGl0bGU/OiBib29sZWFuXHJcbiAgYWxlcnRNZXNzYWdlcz86IEFsZXJ0TWVzc2FnZXNcclxuICBmaWVsZHM6IEZpZWxkW11cclxuICBtb2RlPzogJ2NyZWF0ZScgfCAnZWRpdCcgfCAndmlldydcclxuICBidXR0b24/IDogQnV0dG9uXHJcbiAgbXVsdGlDb2x1bW4/OiBib29sZWFuXHJcbiAgcmVzZXQ/OiBib29sZWFuXHJcbiAgZmlsZUFjdGlvbj86IEFjdGlvblxyXG4gIGxvYWRBY3Rpb24/OiBBY3Rpb25cclxuICBoZXJvRmllbGQ/OiBhbnlcclxuICBoZXJvVmFsdWU/OiBhbnlcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9ue1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIHZpc2libGU/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxuICBkaXNwbGF5Pzogc3RyaW5nO1xyXG4gIGljb24/OiBJY29uO1xyXG4gIGRpc2FibGVkPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbiAgY29sb3I/OiBzdHJpbmc7XHJcbiAgdGlwPzogc3RyaW5nXHJcbiAgZGlhbG9nPzogYm9vbGVhblxyXG4gIGFjdGlvbj86IEFjdGlvblxyXG4gIGNvbmZpcm0/OiBDb25maXJtXHJcbiAgaW5EaWFsb2c/OiBib29sZWFuXHJcbiAgaW5IZWFkZXI/OiBib29sZWFuXHJcbiAgZGV0YWlsc0NvbmZpZz86IERldGFpbHNEaWFsb2dDb25maWdcclxuICBzZXRIZXJvRmllbGQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm0ge1xyXG4gIG1lc3NhZ2U6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbmRpdGlvbntcclxuICBjb25kaXRpb24/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYWdlQ29uZmlnIHtcclxuXHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgc2VhcmNoQ29uZmlnPzogU2VhcmNoQ29uZmlnO1xyXG4gIHRhYmxlQ29uZmlnPzogVGFibGVDb25maWc7XHJcbiAgc2VhcmNoVGFibGVDb25maWc/OiBUYWJsZUNvbmZpZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHR5cGU6ICd0ZXh0JyB8ICdkYXRlJyB8ICdkYXRldGltZScgfCAnY2hlY2tib3gnIHwgJ3NlbGVjdCcgfCAnbXVsdGktc2VsZWN0JyB8ICdtb25leScgfCAnbnVtYmVyJyB8ICdzZWN0aW9uJyB8ICdibGFuaycgfCAnY2hpcCcgfCAnZmlsZScgfCAnZmlsZS12aWV3JyB8ICdpY29uJyB8ICdzcGlubmVyJyB8ICdidXR0b24nIHwgJ2xhYmVsJyB8ICdlbWFpbCcgfCAnY29tcG9zaXRlJyB8ICdzdHJpbmcnO1xyXG4gIGFsaWFzPzogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiBhbnlbXTtcclxuICBvcHRpb25EaXNwbGF5Pzogc3RyaW5nXHJcbiAgb3B0aW9uVmFsdWU/OiBzdHJpbmdcclxuICBkZWZhdWx0VmFsdWU/OiBhbnlcclxuICBkZWZhdWx0Rmlyc3RWYWx1ZT86IGJvb2xlYW5cclxuICByZXF1aXJlZD86IGJvb2xlYW5cclxuICBtaW4/OiBhbnlcclxuICBtYXg/OiBhbnlcclxuICByb3dzPzogbnVtYmVyXHJcbiAgc3Bhbj86IGJvb2xlYW5cclxuICB3aWR0aD86IHN0cmluZ1xyXG4gIHNpemU/OiBzdHJpbmdcclxuICByZWFkb25seT86IGJvb2xlYW5cclxuICBoaWRkZW4/OiBib29sZWFuXHJcbiAgcGF0aD86IHN0cmluZ1xyXG4gIGtleUZpbGVkTmFtZT86IHN0cmluZ1xyXG4gIGhpbnQ/OiBzdHJpbmdcclxuICBtYXN0ZXJGaWVsZD86IHN0cmluZ1xyXG4gIGNoaWxkPzogQ2hpbGRGaWVsZFxyXG4gIGNoaWxkcmVuPzogQ2hpbGRGaWVsZFtdXHJcbiAgbWFzdGVyT3B0aW9ucz86IGFueVtdXHJcbiAgbnVsbGFibGUgPzogYm9vbGVhblxyXG4gIGNvcHlDb250ZW50PzogYm9vbGVhblxyXG5cclxuICBoaWRlT25DcmVhdGUgPzogYm9vbGVhblxyXG4gIGhpZGVPbkV4aXN0cyA/OiBib29sZWFuXHJcbiAgaGlkZGVuQ29uZGl0aW9uPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbiAgcmVhZG9ubHlDb25kaXRpb24/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxuXHJcbiAgcGVla0NvbmZpZyA/OiBQZWVrRGlhbG9nQ29uZmlnO1xyXG5cclxuICBpbmZvTWVzc2FnZT86IHN0cmluZztcclxuICBzdWZmaXg/OiBzdHJpbmc7XHJcblxyXG4gIHN1YmZpZWxkcz86IEZpZWxkW107XHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBlZWtEaWFsb2dDb25maWd7XHJcbiAgZGV0YWlsc0NvbmZpZzogRGV0YWlsc0RpYWxvZ0NvbmZpZ1xyXG4gIGNyZWF0ZT8gOiBib29sZWFuXHJcbiAgdmlldz8gOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hpbGRGaWVsZCB7XHJcbiAgY2hpbGRGaWVsZD86IHN0cmluZ1xyXG4gIGNoaWxkVmFsdWVGaWVsZD86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVDb25maWd7XHJcbiAgdGl0bGU/OiBzdHJpbmdcclxuICBub0RhdGFNZXNzYWdlID86IHN0cmluZ1xyXG4gIGNvbHVtbnM/IDogQ29sdW1uW11cclxuICBtaW5Db2x1bW5zPzogc3RyaW5nW11cclxuICBzaG93RmlsdGVyPzogYm9vbGVhblxyXG4gIGhvbGRGaWx0ZXJTcGFjZT86IGJvb2xlYW5cclxuICBob2xkSGVhZGVyQnV0dG9uU3BhY2U/OiBib29sZWFuXHJcbiAgZWxldmF0aW9uPzogJ25vbmUnIHwgJ2xvdycgfCAnbWVkaXVtJyB8ICdoaWdoJ1xyXG4gIGZvcm1Db25maWc/OiBGb3JtQ29uZmlnXHJcbiAgc2VhcmNoQ29uZmlnPzogU2VhcmNoQ29uZmlnXHJcbiAgdGlsZUNvbmZpZz86IFRpbGVDb25maWdcclxuICBidXR0b25zPzogQnV0dG9uW11cclxuICBtaW5CdXR0b25zPzogc3RyaW5nW11cclxuICBsb2FkQWN0aW9uPzogQWN0aW9uXHJcbiAgbG9hZElERmllbGQgPzogc3RyaW5nXHJcbiAgbG9hZENyaXRlcmlhPzogc3RyaW5nXHJcbiAgbG9nUmVzcG9uc2U/OiBib29sZWFuXHJcbiAgZmxhdEJ1dHRvbnM/OiBib29sZWFuXHJcbiAgZ3JleU91dD86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG4gIGhlcm9GaWVsZD86IGFueVxyXG4gIGhlcm9WYWx1ZT86IGFueVxyXG4gIGNvbGxhcHNlQnV0dG9ucz86IGJvb2xlYW5cclxuICBwYXJlbnREYXRhID8gOiBhbnlcclxuICBwYWdlU2l6ZXM/OiBudW1iZXJbXVxyXG4gIGhpZGVUYWJDb25kaXRpb24/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxuXHJcbiAgZG93bmxvYWQ/OiB7IGNvbHVtbnM6IHN0cmluZ1tdLCBmaWxlTmFtZT86IHN0cmluZywgaGlkZGVuQ29uZGl0aW9uPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47IH1cclxuICB1cGxvYWQ/OiB7IGFjdGlvbjogQWN0aW9uLCBtZXNzYWdlcz86IEFsZXJ0TWVzc2FnZVtdLCBoaWRkZW5Db25kaXRpb24/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjsgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbiB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHR5cGU/OiAndGV4dCcgfCAnZGF0ZScgfCAnZGF0ZXRpbWUnIHwgJ2NoZWNrYm94JyB8ICdzZWxlY3QnIHwgJ21vbmV5JyB8ICdudW1iZXInIHwgJ2NoaXAnIHwgJ2ljb24nIHwgJ3NwaW5uZXInIHwgJ2J1dHRvbicgO1xyXG4gIGFsaWFzPzogc3RyaW5nO1xyXG4gIGljb24/OiBJY29uO1xyXG4gIGNvbG9yPzogQ29sb3I7XHJcbiAgY29sb3JzPzogQ29sb3JbXTtcclxuICBpY29ucz86IEljb25bXTtcclxuICBvcHRpb25zPzogYW55W107XHJcbiAgb3B0aW9uRGlzcGxheT86IHN0cmluZ1xyXG4gIG9wdGlvblZhbHVlPzogc3RyaW5nXHJcbiAgZGV0YWlsc0NvbmZpZz86IERldGFpbHNEaWFsb2dDb25maWdcclxuICBoaWRkZW5Db25kaXRpb24/OiAocGFyZW50RGF0YTogYW55KSA9PiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEljb257XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgY29sb3I/OiBzdHJpbmdcclxuICB0aXA/OiBzdHJpbmdcclxuICB0aXBGaWVsZD86IHN0cmluZ1xyXG4gIGJhbm5lckZpZWxkPzogc3RyaW5nXHJcbiAgY29uZGl0aW9uPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3Ige1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvbmRpdGlvbj86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFRpbGVDb25maWd7XHJcbiAgdGlsZXMgOiBUaWxlW11cclxuICBsb2FkQWN0aW9uPzogQWN0aW9uXHJcbiAgbG9hZEluaXQ/OiBib29sZWFuXHJcbiAgY2xpY2thYmxlPzogYm9vbGVhblxyXG4gIC8vIHJlbG9hZD86IGJvb2xlYW5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRpbGUge1xyXG5cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgYWxpYXM/OiBzdHJpbmc7XHJcbiAgdmFsdWU/OiBzdHJpbmc7XHJcbiAgY29sb3I/OiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRUaWxlPzogc3RyaW5nO1xyXG4gIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgaW5mbz86IHN0cmluZztcclxuICBwcmVmaXg/OiBzdHJpbmc7XHJcbiAgc3VmZml4Pzogc3RyaW5nO1xyXG4gIGFjdGlvbj86IEFjdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN0ZXAge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGljb246IHN0cmluZztcclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQWN0aW9uUmVzcG9uc2Uge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB2YWx1ZTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBcHBDb25maWcge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5hcHBOYW1lID0gXCJBcHAgTmFtZVwiO1xyXG4gICAgdGhpcy5sb2dvID0gXCJcIjtcclxuICAgIHRoaXMubG9nb1NpemUgPSBcIm5vcm1hbFwiO1xyXG4gICAgdGhpcy5BREF1dGggPSB0cnVlO1xyXG4gICAgdGhpcy5sb2NhbEF1dGggPSB0cnVlO1xyXG4gICAgdGhpcy5nb29nbGVBdXRoID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGZTZXJ2aWNlID0gZmFsc2U7XHJcbiAgICB0aGlzLm11bHRpdGVuYW50ID0gZmFsc2U7XHJcbiAgICB0aGlzLm5hdmlnYXRpb24gPSAndG9wJztcclxuICAgIHRoaXMucHJvZ3Jlc3NMaW5lID0gZmFsc2U7XHJcbiAgfVxyXG4gIGFwcE5hbWU6IHN0cmluZztcclxuICBsb2dvOiBzdHJpbmc7XHJcbiAgbG9nb1NpemU6IHN0cmluZztcclxuICBBREF1dGg6IGJvb2xlYW47XHJcbiAgbG9jYWxBdXRoOiBib29sZWFuO1xyXG4gIGdvb2dsZUF1dGg6IGJvb2xlYW47XHJcbiAgc2VsZlNlcnZpY2U6IGJvb2xlYW47XHJcbiAgY2FwSXRlbXM6IENhcEl0ZW1bXTtcclxuICBtdWx0aXRlbmFudCA6IGJvb2xlYW47XHJcbiAgbmF2aWdhdGlvbiA6ICd0b3AnIHwgJ3NpZGUnXHJcbiAgcHJvZ3Jlc3NMaW5lOiBib29sZWFuO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENhcEl0ZW0ge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMubmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBcIk5ldyBDYXAgSXRlbVwiO1xyXG4gICAgdGhpcy5lbmFibGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLnR5cGUgPSBcIlwiO1xyXG4gICAgdGhpcy5uZXdMaW5lID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dNZW51ID0gdHJ1ZTtcclxuICAgIHRoaXMuaWdub3JlU3Vic0Rpc3BsYXkgPSBmYWxzZTtcclxuICAgIHRoaXMubGluayA9IFwiXCI7XHJcbiAgICB0aGlzLmljb24gPSBcIm5hdmlnYXRlX25leHRcIjtcclxuXHJcbiAgfVxyXG5cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGlzcGxheTogc3RyaW5nO1xyXG4gIGVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgc2hvd01lbnU6IGJvb2xlYW47XHJcblxyXG4gIGlnbm9yZVN1YnNEaXNwbGF5OiBib29sZWFuO1xyXG4gIHR5cGU6IHN0cmluZztcclxuICBuZXdMaW5lOiBib29sZWFuO1xyXG4gIGxpbms6IHN0cmluZztcclxuICBpY29uOiBzdHJpbmc7XHJcbiAgY2FwU3ViSXRlbXM6IENhcEl0ZW1bXTtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uSUQgPSAwO1xyXG4gICAgdGhpcy5uYXJyYXRpb24gPSBcIlwiO1xyXG4gICAgdGhpcy5hbW91bnQgPSAnMCc7XHJcbiAgICB0aGlzLnR5cGUgPSAwO1xyXG4gICAgdGhpcy5kYXRlID0gXCJcIjtcclxuICAgIHRoaXMuYWNjb3VudElEID0gMDtcclxuICAgIHRoaXMuZGVzdGluYXRpb25JRCA9IDA7XHJcbiAgICB0aGlzLmNhdGVnb3J5SUQgPSAwO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNhY3Rpb25JRCA6IG51bWJlcjtcclxuICBuYXJyYXRpb24gOiBzdHJpbmc7XHJcbiAgYW1vdW50IDogc3RyaW5nO1xyXG4gIHR5cGU6IG51bWJlcjtcclxuICBkYXRlIDogc3RyaW5nO1xyXG4gIGFjY291bnRJRCA6IG51bWJlcjtcclxuICBkZXN0aW5hdGlvbklEIDogbnVtYmVyO1xyXG4gIGNhdGVnb3J5SUQgOiBudW1iZXI7XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRmluQWNjb3VudCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgICB0aGlzLmFjY291bnRJRCA9IDA7XHJcbiAgICB0aGlzLm5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IFwiXCI7XHJcbiAgICB0aGlzLmN1cnJlbmN5ID0gXCJcIjtcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgYWNjb3VudElEOiBudW1iZXJcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICBjdXJyZW5jeTogc3RyaW5nO1xyXG5cclxufVxyXG5cclxuIl19
|
|
@@ -34,12 +34,16 @@ export class FilterComponent {
|
|
|
34
34
|
refreshClicked() {
|
|
35
35
|
this.refreshClick.emit();
|
|
36
36
|
}
|
|
37
|
+
clear() {
|
|
38
|
+
this._filterText = "";
|
|
39
|
+
this.applyFilter(this._filterText);
|
|
40
|
+
}
|
|
37
41
|
}
|
|
38
42
|
FilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
-
FilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FilterComponent, selector: "spa-filter", inputs: { flatButtons: "flatButtons", showText: "showText", showButton: "showButton", data: "data" }, outputs: { refreshClick: "refreshClick" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field *ngIf=\"showText\" >\r\n <mat-label>Filter</mat-label>\r\n <input id=\"txtFilter\" matInput [(ngModel)]=\"_filterText\" (keyup)=\"keyUp($event)\" placeholder=\"Enter Filter text\" autocomplete=\"off\">\r\n</mat-form-field>\r\n\r\n<button *ngIf=\"showButton && !flatButtons\" id=\"btnFilter\" mat-mini-fab color=\"primary\" matTooltip=\"Refresh Data\" matTooltipPosition=\"above\" (click)=\"refreshClicked()\" style=\"margin-right:1em;margin-top:5px\">\r\n <mat-icon class=\"refreshIcon\">cached</mat-icon>\r\n</button>\r\n\r\n<button *ngIf=\"showButton && flatButtons\" id=\"btnFilter\" mat-icon-button color=\"primary\" matTooltip=\"Refresh Data\" matTooltipPosition=\"above\" (click)=\"refreshClicked()\" style=\"margin-right:1em;margin-top:5px\">\r\n <mat-icon class=\"refreshIcon\">cached</mat-icon>\r\n</button>\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
43
|
+
FilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FilterComponent, selector: "spa-filter", inputs: { flatButtons: "flatButtons", showText: "showText", showButton: "showButton", data: "data" }, outputs: { refreshClick: "refreshClick" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field *ngIf=\"showText\" >\r\n <mat-label>Filter</mat-label>\r\n <input id=\"txtFilter\" matInput [(ngModel)]=\"_filterText\" (keyup)=\"keyUp($event)\" placeholder=\"Enter Filter text\" autocomplete=\"off\">\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"_filterText\" (click)=\"clear()\" matTooltip=\"Clear\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: black;\">close</mat-icon>\r\n </button>\r\n\r\n </div>\r\n</mat-form-field>\r\n\r\n<button *ngIf=\"showButton && !flatButtons\" id=\"btnFilter\" mat-mini-fab color=\"primary\" matTooltip=\"Refresh Data\" matTooltipPosition=\"above\" (click)=\"refreshClicked()\" style=\"margin-right:1em;margin-top:5px\">\r\n <mat-icon class=\"refreshIcon\">cached</mat-icon>\r\n</button>\r\n\r\n<button *ngIf=\"showButton && flatButtons\" id=\"btnFilter\" mat-icon-button color=\"primary\" matTooltip=\"Refresh Data\" matTooltipPosition=\"above\" (click)=\"refreshClicked()\" style=\"margin-right:1em;margin-top:5px\">\r\n <mat-icon class=\"refreshIcon\">cached</mat-icon>\r\n</button>\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
40
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FilterComponent, decorators: [{
|
|
41
45
|
type: Component,
|
|
42
|
-
args: [{ selector: 'spa-filter', template: "<mat-form-field *ngIf=\"showText\" >\r\n <mat-label>Filter</mat-label>\r\n <input id=\"txtFilter\" matInput [(ngModel)]=\"_filterText\" (keyup)=\"keyUp($event)\" placeholder=\"Enter Filter text\" autocomplete=\"off\">\r\n</mat-form-field>\r\n\r\n<button *ngIf=\"showButton && !flatButtons\" id=\"btnFilter\" mat-mini-fab color=\"primary\" matTooltip=\"Refresh Data\" matTooltipPosition=\"above\" (click)=\"refreshClicked()\" style=\"margin-right:1em;margin-top:5px\">\r\n <mat-icon class=\"refreshIcon\">cached</mat-icon>\r\n</button>\r\n\r\n<button *ngIf=\"showButton && flatButtons\" id=\"btnFilter\" mat-icon-button color=\"primary\" matTooltip=\"Refresh Data\" matTooltipPosition=\"above\" (click)=\"refreshClicked()\" style=\"margin-right:1em;margin-top:5px\">\r\n <mat-icon class=\"refreshIcon\">cached</mat-icon>\r\n</button>\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}\n"] }]
|
|
46
|
+
args: [{ selector: 'spa-filter', template: "<mat-form-field *ngIf=\"showText\" >\r\n <mat-label>Filter</mat-label>\r\n <input id=\"txtFilter\" matInput [(ngModel)]=\"_filterText\" (keyup)=\"keyUp($event)\" placeholder=\"Enter Filter text\" autocomplete=\"off\">\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"_filterText\" (click)=\"clear()\" matTooltip=\"Clear\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: black;\">close</mat-icon>\r\n </button>\r\n\r\n </div>\r\n</mat-form-field>\r\n\r\n<button *ngIf=\"showButton && !flatButtons\" id=\"btnFilter\" mat-mini-fab color=\"primary\" matTooltip=\"Refresh Data\" matTooltipPosition=\"above\" (click)=\"refreshClicked()\" style=\"margin-right:1em;margin-top:5px\">\r\n <mat-icon class=\"refreshIcon\">cached</mat-icon>\r\n</button>\r\n\r\n<button *ngIf=\"showButton && flatButtons\" id=\"btnFilter\" mat-icon-button color=\"primary\" matTooltip=\"Refresh Data\" matTooltipPosition=\"above\" (click)=\"refreshClicked()\" style=\"margin-right:1em;margin-top:5px\">\r\n <mat-icon class=\"refreshIcon\">cached</mat-icon>\r\n</button>\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}\n"] }]
|
|
43
47
|
}], ctorParameters: function () { return []; }, propDecorators: { flatButtons: [{
|
|
44
48
|
type: Input
|
|
45
49
|
}], showText: [{
|
|
@@ -51,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
51
55
|
}], refreshClick: [{
|
|
52
56
|
type: Output
|
|
53
57
|
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFPN0QsTUFBTSxPQUFPLGVBQWU7SUFFMUI7UUFTUyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsU0FBSSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUMvQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7SUFmRCxDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFXRCxLQUFLLENBQUMsS0FBb0I7UUFDeEIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFHRCxXQUFXLENBQUMsV0FBbUI7UUFFN0IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFDO1lBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3JEO0lBRUgsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7NEdBekNVLGVBQWU7Z0dBQWYsZUFBZSx3TkNSNUIsNmtDQWtCQTsyRkRWYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7MEVBZWIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuYXBwbHlGaWx0ZXIodGhpcy5fZmlsdGVyVGV4dCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBmbGF0QnV0dG9ucyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dUZXh0ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93QnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkYXRhID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSgpO1xyXG4gIEBPdXRwdXQoKSByZWZyZXNoQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIF9maWx0ZXJUZXh0ID0gXCJcIjtcclxuXHJcblxyXG4gIGtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBsZXQgdGV4dCA9IGV2ZW50LnRhcmdldFsndmFsdWUnXTtcclxuICAgIHRoaXMuYXBwbHlGaWx0ZXIodGV4dCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYXBwbHlGaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGEpe1xyXG4gICAgICB0aGlzLmRhdGEuZmlsdGVyID0gZmlsdGVyVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcmVmcmVzaENsaWNrZWQoKXtcclxuICAgIHRoaXMucmVmcmVzaENsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGNsZWFyKCl7XHJcbiAgICB0aGlzLl9maWx0ZXJUZXh0ID0gXCJcIjtcclxuICAgIHRoaXMuYXBwbHlGaWx0ZXIodGhpcy5fZmlsdGVyVGV4dCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJzaG93VGV4dFwiID5cclxuIDxtYXQtbGFiZWw+RmlsdGVyPC9tYXQtbGFiZWw+XHJcbiA8aW5wdXQgaWQ9XCJ0eHRGaWx0ZXJcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cIl9maWx0ZXJUZXh0XCIgKGtleXVwKT1cImtleVVwKCRldmVudClcIiBwbGFjZWhvbGRlcj1cIkVudGVyIEZpbHRlciB0ZXh0XCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgPGRpdiBtYXRTdWZmaXggY2xhc3M9XCJzdWZmaXgtaWNvbnNcIj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiX2ZpbHRlclRleHRcIiAoY2xpY2spPVwiY2xlYXIoKVwiIG1hdFRvb2x0aXA9XCJDbGVhclwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImNvbG9yOiBibGFjaztcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgPC9kaXY+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48YnV0dG9uICpuZ0lmPVwic2hvd0J1dHRvbiAmJiAhZmxhdEJ1dHRvbnNcIiBpZD1cImJ0bkZpbHRlclwiIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiBtYXRUb29sdGlwPVwiUmVmcmVzaCBEYXRhXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwicmVmcmVzaENsaWNrZWQoKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjFlbTttYXJnaW4tdG9wOjVweFwiPlxyXG4gIDxtYXQtaWNvbiBjbGFzcz1cInJlZnJlc2hJY29uXCI+Y2FjaGVkPC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcblxyXG48YnV0dG9uICpuZ0lmPVwic2hvd0J1dHRvbiAmJiBmbGF0QnV0dG9uc1wiIGlkPVwiYnRuRmlsdGVyXCIgbWF0LWljb24tYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIG1hdFRvb2x0aXA9XCJSZWZyZXNoIERhdGFcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJyZWZyZXNoQ2xpY2tlZCgpXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MWVtO21hcmdpbi10b3A6NXB4XCI+XHJcbiAgPG1hdC1pY29uIGNsYXNzPVwicmVmcmVzaEljb25cIj5jYWNoZWQ8L21hdC1pY29uPlxyXG48L2J1dHRvbj5cclxuIl19
|
|
@@ -190,10 +190,10 @@ export class FormComponent {
|
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
192
|
FormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormComponent, deps: [{ token: i1.MessageService }, { token: i2.DataServiceLib }], target: i0.ɵɵFactoryTarget.Component });
|
|
193
|
-
FormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FormComponent, selector: "spa-form", inputs: { files: "files", data: "data", config: "config" }, outputs: { buttonClick: "buttonClick", inputChange: "inputChange" }, usesOnChanges: true, ngImport: i0, template: "\r\n<div [ngClass]=\"multiColumn ? 'tin-grid' : 'tin-col'\">\r\n\r\n <div [ngClass]=\"field.span || field.type =='section' || field.type =='file' || field.type =='file-view' ? 'span-col' : ''\" *ngFor=\"let field of getVisibleFields()\">\r\n\r\n <ng-container >\r\n\r\n <ng-container [ngSwitch]=\"field.type\" class=\"highlight\">\r\n\r\n <div *ngSwitchCase=\"'section'\" class=\"title\">\r\n <label style=\"font-size: larger;\">{{field.name | camelToWords}}</label>\r\n </div>\r\n\r\n <ng-container *ngSwitchCase=\"'file'\">\r\n <div class=\"mt-1 mb-2\" *ngIf=\"config.mode !='view'\">\r\n <spa-attach message=\"Drag and Drop files here\" [(files)]=\"files\"></spa-attach>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'file-view'\">\r\n <div class=\"mt-1 mb-2\" *ngIf=\"config.mode && config.mode !='create'\">\r\n <spa-viewer [fileAction]=\"config.fileAction\" [path]=\"field.path\" [folderName]=\"data[field.keyFiledName]\" ></spa-viewer>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <label *ngSwitchCase=\"'blank'\"></label>\r\n\r\n <label *ngSwitchCase=\"'string'\" [ngStyle]=\"{'font-size':field.size ?? '14px'}\" >{{data[field.name] ?? field.alias ?? field.name}}</label>\r\n\r\n <spa-label *ngSwitchCase=\"'label'\" [display]=\"field.alias ?? field.name | camelToWords\" [value]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" ></spa-label>\r\n\r\n <spa-number *ngSwitchCase=\"'number'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [required]=\"field.required\" [min]=\"field.min\" [max]=\"field.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\" [suffix]=\"field.suffix\"></spa-number>\r\n\r\n <spa-money *ngSwitchCase=\"'money'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [required]=\"field.required\" [min]=\"field.min\" [max]=\"field.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-money>\r\n\r\n <spa-check *ngSwitchCase=\"'checkbox'\" [display]=\"field.alias ?? field.name | camelToWords\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [readonly]=\"testReadOnly(field)\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-check>\r\n\r\n <spa-date *ngSwitchCase=\"'date'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [min]=\"field?.min\" [max]=\"field?.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-date>\r\n\r\n <spa-datetime *ngSwitchCase=\"'datetime'\" [display]=\"field.alias ?? field.name | camelToWords\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [readonly]=\"testReadOnly(field)\" [min]=\"field.min\" [max]=\"field.max\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-datetime>\r\n\r\n <spa-select *ngSwitchCase=\"'select'\"\r\n [width]=\"field.width\"\r\n [display]=\"field.alias ?? field.name | camelToWords\" [nullable]=\"field.nullable\"\r\n [options]=\"field.options\" [masterOptions]=\"field.masterOptions\" [optionDisplay]=\"field.optionDisplay ?? 'name'\" [optionValue]=\"field.optionValue ?? 'value'\"\r\n [(value)]=\"data[field.name]\" [defaultFirstValue]=\"field.defaultFirstValue\" (valueChange)=\"inputChanged(field, data[field.name])\"\r\n [readonly]=\"testReadOnly(field)\"\r\n [hint]=\"field.hint\"\r\n [peekConfig]=\"field.peekConfig\"\r\n [infoMessage]=\"field.infoMessage\"\r\n >\r\n </spa-select>\r\n\r\n <spa-select *ngSwitchCase=\"'multi-select'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [options]=\"field.options\" [optionDisplay]=\"field.optionDisplay ?? 'name'\" [optionValue]=\"field.optionValue ?? 'value'\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [readonly]=\"testReadOnly(field)\" [multiple]=\"true\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\">\r\n </spa-select>\r\n\r\n <spa-email *ngSwitchCase=\"'email'\" [display]=\"field.alias ?? field.name | camelToWords\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field,data[field.name])\" [required]=\"field.required\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\" [suffix]=\"field.suffix\"></spa-email>\r\n\r\n\r\n <ng-container *ngSwitchCase=\"'composite'\">\r\n <div class=\"composite-field-container\">\r\n <div class=\"composite-field-group\">\r\n <ng-container *ngFor=\"let subfield of getVisibleSubfields(field)\">\r\n <ng-container [ngSwitch]=\"subfield.type\">\r\n\r\n <spa-number *ngSwitchCase=\"'number'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [required]=\"subfield.required\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\" [suffix]=\"subfield.suffix\"></spa-number>\r\n\r\n <spa-money *ngSwitchCase=\"'money'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [required]=\"subfield.required\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-money>\r\n\r\n <spa-check *ngSwitchCase=\"'checkbox'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-check>\r\n\r\n <spa-date *ngSwitchCase=\"'date'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-date>\r\n\r\n <spa-datetime *ngSwitchCase=\"'datetime'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [min]=\"subfield.min\" [max]=\"subfield.max\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-datetime>\r\n\r\n <spa-select *ngSwitchCase=\"'select'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [nullable]=\"subfield.nullable\" [options]=\"subfield.options\" [masterOptions]=\"subfield.masterOptions\" [optionDisplay]=\"subfield.optionDisplay ?? 'name'\" [optionValue]=\"subfield.optionValue ?? 'value'\" [(value)]=\"data[subfield.name]\" [defaultFirstValue]=\"subfield.defaultFirstValue\" (valueChange)=\"inputChanged(subfield, $event)\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [peekConfig]=\"subfield.peekConfig\" [infoMessage]=\"subfield.infoMessage\"></spa-select>\r\n\r\n <spa-text *ngSwitchDefault [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [options]=\"subfield.options\" [optionValue]=\"subfield.optionValue ?? 'value'\" [rows]=\"subfield.rows\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [required]=\"subfield.required\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\" [suffix]=\"subfield.suffix\"></spa-text>\r\n\r\n\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <spa-text *ngSwitchDefault [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [options]=\"field.options\" [optionValue]=\"field.optionValue ?? 'value'\" [rows]=\"field.rows\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field,data[field.name])\" [required]=\"field.required\" [min]=\"field.min\" [max]=\"field.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\" [suffix]=\"field.suffix\"></spa-text>\r\n\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"span-col-center\" *ngIf=\"config.button\">\r\n <button mat-raised-button color=\"primary\" (click)=\"buttonClicked()\" cdkFocusInitial>{{buttonDisplay}}</button>\r\n </div>\r\n\r\n\r\n</div>\r\n", styles: [".title{margin-top:1em;font-size:larger;font-weight:300}.composite-field-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.TextComponent, selector: "spa-text", inputs: ["readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "options", "optionValue", "required", "min", "max", "regex", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "component", type: i6.CheckComponent, selector: "spa-check", inputs: ["readonly", "display", "value", "infoMessage"], outputs: ["valueChange", "click", "check", "uncheck", "infoClick"] }, { kind: "component", type: i7.DateComponent, selector: "spa-date", inputs: ["required", "min", "max", "readonly", "hint", "value", "display", "placeholder", "width", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i8.DatetimeComponent, selector: "spa-datetime", inputs: ["display", "value", "readonly", "width", "min", "max", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i9.LabelComponent, selector: "spa-label", inputs: ["display", "value", "format"] }, { kind: "component", type: i10.SelectComponent, selector: "spa-select", inputs: ["width", "readonly", "required", "defaultFirstValue", "readonlyMode", "hint", "placeholder", "multiple", "display", "value", "options", "masterOptions", "optionValue", "optionDisplay", "optionDisplayExtra", "nullable", "peekConfig", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i11.MoneyComponent, selector: "spa-money", inputs: ["readonly", "hint", "display", "placeholder", "value", "width", "currency", "required", "min", "max", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "component", type: i12.AttachComponent, selector: "spa-attach", inputs: ["message", "files", "enableUpload"], outputs: ["filesChange", "upload"] }, { kind: "component", type: i13.NumberComponent, selector: "spa-number", inputs: ["readonly", "hint", "display", "placeholder", "value", "width", "required", "min", "max", "step", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "component", type: i14.ViewerComponent, selector: "spa-viewer", inputs: ["fileAction", "path", "folderName", "fileNames", "removable", "display", "title"], outputs: ["remove"] }, { kind: "component", type: i15.EmailComponent, selector: "spa-email", inputs: ["display", "value", "readonly", "required", "hint", "suffix", "infoMessage", "options", "optionValue"], outputs: ["valueChange", "infoClick"] }, { kind: "pipe", type: i16.CamelToWordsPipe, name: "camelToWords" }] });
|
|
193
|
+
FormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FormComponent, selector: "spa-form", inputs: { files: "files", data: "data", config: "config" }, outputs: { buttonClick: "buttonClick", inputChange: "inputChange" }, usesOnChanges: true, ngImport: i0, template: "\r\n<div [ngClass]=\"multiColumn ? 'tin-grid' : 'tin-col'\">\r\n\r\n <div [ngClass]=\"field.span || field.type =='section' || field.type =='file' || field.type =='file-view' ? 'span-col' : ''\" *ngFor=\"let field of getVisibleFields()\">\r\n\r\n <ng-container >\r\n\r\n <ng-container [ngSwitch]=\"field.type\" class=\"highlight\">\r\n\r\n <div *ngSwitchCase=\"'section'\" class=\"title\">\r\n <label style=\"font-size: larger;\">{{field.name | camelToWords}}</label>\r\n </div>\r\n\r\n <ng-container *ngSwitchCase=\"'file'\">\r\n <div class=\"mt-1 mb-2\" *ngIf=\"config.mode !='view'\">\r\n <spa-attach message=\"Drag and Drop files here\" [(files)]=\"files\"></spa-attach>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'file-view'\">\r\n <div class=\"mt-1 mb-2\" *ngIf=\"config.mode && config.mode !='create'\">\r\n <spa-viewer [fileAction]=\"config.fileAction\" [path]=\"field.path\" [folderName]=\"data[field.keyFiledName]\" ></spa-viewer>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <label *ngSwitchCase=\"'blank'\"></label>\r\n\r\n <label *ngSwitchCase=\"'string'\" [ngStyle]=\"{'font-size':field.size ?? '14px'}\" >{{data[field.name] ?? field.alias ?? field.name}}</label>\r\n\r\n <spa-label *ngSwitchCase=\"'label'\" [display]=\"field.alias ?? field.name | camelToWords\" [value]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" ></spa-label>\r\n\r\n <spa-number *ngSwitchCase=\"'number'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [required]=\"field.required\" [min]=\"field.min\" [max]=\"field.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\" [suffix]=\"field.suffix\"></spa-number>\r\n\r\n <spa-money *ngSwitchCase=\"'money'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [required]=\"field.required\" [min]=\"field.min\" [max]=\"field.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-money>\r\n\r\n <spa-check *ngSwitchCase=\"'checkbox'\" [display]=\"field.alias ?? field.name | camelToWords\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [readonly]=\"testReadOnly(field)\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-check>\r\n\r\n <spa-date *ngSwitchCase=\"'date'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [min]=\"field?.min\" [max]=\"field?.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-date>\r\n\r\n <spa-datetime *ngSwitchCase=\"'datetime'\" [display]=\"field.alias ?? field.name | camelToWords\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [readonly]=\"testReadOnly(field)\" [min]=\"field.min\" [max]=\"field.max\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-datetime>\r\n\r\n <spa-select *ngSwitchCase=\"'select'\"\r\n [width]=\"field.width\"\r\n [display]=\"field.alias ?? field.name | camelToWords\" [nullable]=\"field.nullable\"\r\n [options]=\"field.options\" [masterOptions]=\"field.masterOptions\" [optionDisplay]=\"field.optionDisplay ?? 'name'\" [optionValue]=\"field.optionValue ?? 'value'\"\r\n [(value)]=\"data[field.name]\" [defaultFirstValue]=\"field.defaultFirstValue\" (valueChange)=\"inputChanged(field, data[field.name])\"\r\n [readonly]=\"testReadOnly(field)\"\r\n [hint]=\"field.hint\"\r\n [peekConfig]=\"field.peekConfig\"\r\n [infoMessage]=\"field.infoMessage\"\r\n [copyContent]=\"field.copyContent\"\r\n >\r\n </spa-select>\r\n\r\n <spa-select *ngSwitchCase=\"'multi-select'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [options]=\"field.options\" [optionDisplay]=\"field.optionDisplay ?? 'name'\" [optionValue]=\"field.optionValue ?? 'value'\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [readonly]=\"testReadOnly(field)\" [multiple]=\"true\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\">\r\n </spa-select>\r\n\r\n <spa-email *ngSwitchCase=\"'email'\" [display]=\"field.alias ?? field.name | camelToWords\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field,data[field.name])\" [required]=\"field.required\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\" [suffix]=\"field.suffix\"></spa-email>\r\n\r\n\r\n <ng-container *ngSwitchCase=\"'composite'\">\r\n <div class=\"composite-field-container\">\r\n <div class=\"composite-field-group\">\r\n <ng-container *ngFor=\"let subfield of getVisibleSubfields(field)\">\r\n <ng-container [ngSwitch]=\"subfield.type\">\r\n\r\n <spa-number *ngSwitchCase=\"'number'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [required]=\"subfield.required\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\" [suffix]=\"subfield.suffix\"></spa-number>\r\n\r\n <spa-money *ngSwitchCase=\"'money'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [required]=\"subfield.required\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-money>\r\n\r\n <spa-check *ngSwitchCase=\"'checkbox'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-check>\r\n\r\n <spa-date *ngSwitchCase=\"'date'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-date>\r\n\r\n <spa-datetime *ngSwitchCase=\"'datetime'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [min]=\"subfield.min\" [max]=\"subfield.max\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-datetime>\r\n\r\n <spa-select *ngSwitchCase=\"'select'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [nullable]=\"subfield.nullable\" [options]=\"subfield.options\" [masterOptions]=\"subfield.masterOptions\" [optionDisplay]=\"subfield.optionDisplay ?? 'name'\" [optionValue]=\"subfield.optionValue ?? 'value'\" [(value)]=\"data[subfield.name]\" [defaultFirstValue]=\"subfield.defaultFirstValue\" (valueChange)=\"inputChanged(subfield, $event)\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [peekConfig]=\"subfield.peekConfig\" [infoMessage]=\"subfield.infoMessage\" [copyContent]=\"field.copyContent\"></spa-select>\r\n\r\n <spa-text *ngSwitchDefault [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [options]=\"subfield.options\" [optionValue]=\"subfield.optionValue ?? 'value'\" [rows]=\"subfield.rows\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [required]=\"subfield.required\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\" [suffix]=\"subfield.suffix\" [copyContent]=\"field.copyContent\"></spa-text>\r\n\r\n\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <spa-text *ngSwitchDefault [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [options]=\"field.options\" [optionValue]=\"field.optionValue ?? 'value'\" [rows]=\"field.rows\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field,data[field.name])\" [required]=\"field.required\" [min]=\"field.min\" [max]=\"field.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\" [suffix]=\"field.suffix\" [copyContent]=\"field.copyContent\"></spa-text>\r\n\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"span-col-center\" *ngIf=\"config.button\">\r\n <button mat-raised-button color=\"primary\" (click)=\"buttonClicked()\" cdkFocusInitial>{{buttonDisplay}}</button>\r\n </div>\r\n\r\n\r\n</div>\r\n", styles: [".title{margin-top:1em;font-size:larger;font-weight:300}.composite-field-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.TextComponent, selector: "spa-text", inputs: ["readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "copyContent", "options", "optionValue", "required", "min", "max", "regex", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "component", type: i6.CheckComponent, selector: "spa-check", inputs: ["readonly", "display", "value", "infoMessage"], outputs: ["valueChange", "click", "check", "uncheck", "infoClick"] }, { kind: "component", type: i7.DateComponent, selector: "spa-date", inputs: ["required", "min", "max", "readonly", "hint", "value", "display", "placeholder", "width", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i8.DatetimeComponent, selector: "spa-datetime", inputs: ["display", "value", "readonly", "width", "min", "max", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i9.LabelComponent, selector: "spa-label", inputs: ["display", "value", "format"] }, { kind: "component", type: i10.SelectComponent, selector: "spa-select", inputs: ["width", "readonly", "required", "defaultFirstValue", "readonlyMode", "hint", "placeholder", "multiple", "display", "value", "options", "masterOptions", "optionValue", "optionDisplay", "optionDisplayExtra", "nullable", "peekConfig", "infoMessage", "copyContent"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i11.MoneyComponent, selector: "spa-money", inputs: ["readonly", "hint", "display", "placeholder", "value", "width", "currency", "required", "min", "max", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "component", type: i12.AttachComponent, selector: "spa-attach", inputs: ["message", "files", "enableUpload"], outputs: ["filesChange", "upload"] }, { kind: "component", type: i13.NumberComponent, selector: "spa-number", inputs: ["readonly", "hint", "display", "placeholder", "value", "width", "required", "min", "max", "step", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "component", type: i14.ViewerComponent, selector: "spa-viewer", inputs: ["fileAction", "path", "folderName", "fileNames", "removable", "display", "title"], outputs: ["remove"] }, { kind: "component", type: i15.EmailComponent, selector: "spa-email", inputs: ["display", "value", "readonly", "required", "hint", "suffix", "infoMessage", "options", "optionValue"], outputs: ["valueChange", "infoClick"] }, { kind: "pipe", type: i16.CamelToWordsPipe, name: "camelToWords" }] });
|
|
194
194
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormComponent, decorators: [{
|
|
195
195
|
type: Component,
|
|
196
|
-
args: [{ selector: 'spa-form', template: "\r\n<div [ngClass]=\"multiColumn ? 'tin-grid' : 'tin-col'\">\r\n\r\n <div [ngClass]=\"field.span || field.type =='section' || field.type =='file' || field.type =='file-view' ? 'span-col' : ''\" *ngFor=\"let field of getVisibleFields()\">\r\n\r\n <ng-container >\r\n\r\n <ng-container [ngSwitch]=\"field.type\" class=\"highlight\">\r\n\r\n <div *ngSwitchCase=\"'section'\" class=\"title\">\r\n <label style=\"font-size: larger;\">{{field.name | camelToWords}}</label>\r\n </div>\r\n\r\n <ng-container *ngSwitchCase=\"'file'\">\r\n <div class=\"mt-1 mb-2\" *ngIf=\"config.mode !='view'\">\r\n <spa-attach message=\"Drag and Drop files here\" [(files)]=\"files\"></spa-attach>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'file-view'\">\r\n <div class=\"mt-1 mb-2\" *ngIf=\"config.mode && config.mode !='create'\">\r\n <spa-viewer [fileAction]=\"config.fileAction\" [path]=\"field.path\" [folderName]=\"data[field.keyFiledName]\" ></spa-viewer>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <label *ngSwitchCase=\"'blank'\"></label>\r\n\r\n <label *ngSwitchCase=\"'string'\" [ngStyle]=\"{'font-size':field.size ?? '14px'}\" >{{data[field.name] ?? field.alias ?? field.name}}</label>\r\n\r\n <spa-label *ngSwitchCase=\"'label'\" [display]=\"field.alias ?? field.name | camelToWords\" [value]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" ></spa-label>\r\n\r\n <spa-number *ngSwitchCase=\"'number'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [required]=\"field.required\" [min]=\"field.min\" [max]=\"field.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\" [suffix]=\"field.suffix\"></spa-number>\r\n\r\n <spa-money *ngSwitchCase=\"'money'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [required]=\"field.required\" [min]=\"field.min\" [max]=\"field.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-money>\r\n\r\n <spa-check *ngSwitchCase=\"'checkbox'\" [display]=\"field.alias ?? field.name | camelToWords\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [readonly]=\"testReadOnly(field)\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-check>\r\n\r\n <spa-date *ngSwitchCase=\"'date'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [min]=\"field?.min\" [max]=\"field?.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-date>\r\n\r\n <spa-datetime *ngSwitchCase=\"'datetime'\" [display]=\"field.alias ?? field.name | camelToWords\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [readonly]=\"testReadOnly(field)\" [min]=\"field.min\" [max]=\"field.max\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-datetime>\r\n\r\n <spa-select *ngSwitchCase=\"'select'\"\r\n [width]=\"field.width\"\r\n [display]=\"field.alias ?? field.name | camelToWords\" [nullable]=\"field.nullable\"\r\n [options]=\"field.options\" [masterOptions]=\"field.masterOptions\" [optionDisplay]=\"field.optionDisplay ?? 'name'\" [optionValue]=\"field.optionValue ?? 'value'\"\r\n [(value)]=\"data[field.name]\" [defaultFirstValue]=\"field.defaultFirstValue\" (valueChange)=\"inputChanged(field, data[field.name])\"\r\n [readonly]=\"testReadOnly(field)\"\r\n [hint]=\"field.hint\"\r\n [peekConfig]=\"field.peekConfig\"\r\n [infoMessage]=\"field.infoMessage\"\r\n >\r\n </spa-select>\r\n\r\n <spa-select *ngSwitchCase=\"'multi-select'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [options]=\"field.options\" [optionDisplay]=\"field.optionDisplay ?? 'name'\" [optionValue]=\"field.optionValue ?? 'value'\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [readonly]=\"testReadOnly(field)\" [multiple]=\"true\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\">\r\n </spa-select>\r\n\r\n <spa-email *ngSwitchCase=\"'email'\" [display]=\"field.alias ?? field.name | camelToWords\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field,data[field.name])\" [required]=\"field.required\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\" [suffix]=\"field.suffix\"></spa-email>\r\n\r\n\r\n <ng-container *ngSwitchCase=\"'composite'\">\r\n <div class=\"composite-field-container\">\r\n <div class=\"composite-field-group\">\r\n <ng-container *ngFor=\"let subfield of getVisibleSubfields(field)\">\r\n <ng-container [ngSwitch]=\"subfield.type\">\r\n\r\n <spa-number *ngSwitchCase=\"'number'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [required]=\"subfield.required\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\" [suffix]=\"subfield.suffix\"></spa-number>\r\n\r\n <spa-money *ngSwitchCase=\"'money'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [required]=\"subfield.required\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-money>\r\n\r\n <spa-check *ngSwitchCase=\"'checkbox'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-check>\r\n\r\n <spa-date *ngSwitchCase=\"'date'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-date>\r\n\r\n <spa-datetime *ngSwitchCase=\"'datetime'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [min]=\"subfield.min\" [max]=\"subfield.max\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-datetime>\r\n\r\n <spa-select *ngSwitchCase=\"'select'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [nullable]=\"subfield.nullable\" [options]=\"subfield.options\" [masterOptions]=\"subfield.masterOptions\" [optionDisplay]=\"subfield.optionDisplay ?? 'name'\" [optionValue]=\"subfield.optionValue ?? 'value'\" [(value)]=\"data[subfield.name]\" [defaultFirstValue]=\"subfield.defaultFirstValue\" (valueChange)=\"inputChanged(subfield, $event)\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [peekConfig]=\"subfield.peekConfig\" [infoMessage]=\"subfield.infoMessage\"></spa-select>\r\n\r\n <spa-text *ngSwitchDefault [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [options]=\"subfield.options\" [optionValue]=\"subfield.optionValue ?? 'value'\" [rows]=\"subfield.rows\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [required]=\"subfield.required\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\" [suffix]=\"subfield.suffix\"></spa-text>\r\n\r\n\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <spa-text *ngSwitchDefault [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [options]=\"field.options\" [optionValue]=\"field.optionValue ?? 'value'\" [rows]=\"field.rows\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field,data[field.name])\" [required]=\"field.required\" [min]=\"field.min\" [max]=\"field.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\" [suffix]=\"field.suffix\"></spa-text>\r\n\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"span-col-center\" *ngIf=\"config.button\">\r\n <button mat-raised-button color=\"primary\" (click)=\"buttonClicked()\" cdkFocusInitial>{{buttonDisplay}}</button>\r\n </div>\r\n\r\n\r\n</div>\r\n", styles: [".title{margin-top:1em;font-size:larger;font-weight:300}.composite-field-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}\n"] }]
|
|
196
|
+
args: [{ selector: 'spa-form', template: "\r\n<div [ngClass]=\"multiColumn ? 'tin-grid' : 'tin-col'\">\r\n\r\n <div [ngClass]=\"field.span || field.type =='section' || field.type =='file' || field.type =='file-view' ? 'span-col' : ''\" *ngFor=\"let field of getVisibleFields()\">\r\n\r\n <ng-container >\r\n\r\n <ng-container [ngSwitch]=\"field.type\" class=\"highlight\">\r\n\r\n <div *ngSwitchCase=\"'section'\" class=\"title\">\r\n <label style=\"font-size: larger;\">{{field.name | camelToWords}}</label>\r\n </div>\r\n\r\n <ng-container *ngSwitchCase=\"'file'\">\r\n <div class=\"mt-1 mb-2\" *ngIf=\"config.mode !='view'\">\r\n <spa-attach message=\"Drag and Drop files here\" [(files)]=\"files\"></spa-attach>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'file-view'\">\r\n <div class=\"mt-1 mb-2\" *ngIf=\"config.mode && config.mode !='create'\">\r\n <spa-viewer [fileAction]=\"config.fileAction\" [path]=\"field.path\" [folderName]=\"data[field.keyFiledName]\" ></spa-viewer>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <label *ngSwitchCase=\"'blank'\"></label>\r\n\r\n <label *ngSwitchCase=\"'string'\" [ngStyle]=\"{'font-size':field.size ?? '14px'}\" >{{data[field.name] ?? field.alias ?? field.name}}</label>\r\n\r\n <spa-label *ngSwitchCase=\"'label'\" [display]=\"field.alias ?? field.name | camelToWords\" [value]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" ></spa-label>\r\n\r\n <spa-number *ngSwitchCase=\"'number'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [required]=\"field.required\" [min]=\"field.min\" [max]=\"field.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\" [suffix]=\"field.suffix\"></spa-number>\r\n\r\n <spa-money *ngSwitchCase=\"'money'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [required]=\"field.required\" [min]=\"field.min\" [max]=\"field.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-money>\r\n\r\n <spa-check *ngSwitchCase=\"'checkbox'\" [display]=\"field.alias ?? field.name | camelToWords\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [readonly]=\"testReadOnly(field)\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-check>\r\n\r\n <spa-date *ngSwitchCase=\"'date'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [min]=\"field?.min\" [max]=\"field?.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-date>\r\n\r\n <spa-datetime *ngSwitchCase=\"'datetime'\" [display]=\"field.alias ?? field.name | camelToWords\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [readonly]=\"testReadOnly(field)\" [min]=\"field.min\" [max]=\"field.max\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\"></spa-datetime>\r\n\r\n <spa-select *ngSwitchCase=\"'select'\"\r\n [width]=\"field.width\"\r\n [display]=\"field.alias ?? field.name | camelToWords\" [nullable]=\"field.nullable\"\r\n [options]=\"field.options\" [masterOptions]=\"field.masterOptions\" [optionDisplay]=\"field.optionDisplay ?? 'name'\" [optionValue]=\"field.optionValue ?? 'value'\"\r\n [(value)]=\"data[field.name]\" [defaultFirstValue]=\"field.defaultFirstValue\" (valueChange)=\"inputChanged(field, data[field.name])\"\r\n [readonly]=\"testReadOnly(field)\"\r\n [hint]=\"field.hint\"\r\n [peekConfig]=\"field.peekConfig\"\r\n [infoMessage]=\"field.infoMessage\"\r\n [copyContent]=\"field.copyContent\"\r\n >\r\n </spa-select>\r\n\r\n <spa-select *ngSwitchCase=\"'multi-select'\" [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [options]=\"field.options\" [optionDisplay]=\"field.optionDisplay ?? 'name'\" [optionValue]=\"field.optionValue ?? 'value'\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field, data[field.name])\" [readonly]=\"testReadOnly(field)\" [multiple]=\"true\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\">\r\n </spa-select>\r\n\r\n <spa-email *ngSwitchCase=\"'email'\" [display]=\"field.alias ?? field.name | camelToWords\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field,data[field.name])\" [required]=\"field.required\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\" [suffix]=\"field.suffix\"></spa-email>\r\n\r\n\r\n <ng-container *ngSwitchCase=\"'composite'\">\r\n <div class=\"composite-field-container\">\r\n <div class=\"composite-field-group\">\r\n <ng-container *ngFor=\"let subfield of getVisibleSubfields(field)\">\r\n <ng-container [ngSwitch]=\"subfield.type\">\r\n\r\n <spa-number *ngSwitchCase=\"'number'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [required]=\"subfield.required\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\" [suffix]=\"subfield.suffix\"></spa-number>\r\n\r\n <spa-money *ngSwitchCase=\"'money'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [required]=\"subfield.required\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-money>\r\n\r\n <spa-check *ngSwitchCase=\"'checkbox'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-check>\r\n\r\n <spa-date *ngSwitchCase=\"'date'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-date>\r\n\r\n <spa-datetime *ngSwitchCase=\"'datetime'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [min]=\"subfield.min\" [max]=\"subfield.max\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\"></spa-datetime>\r\n\r\n <spa-select *ngSwitchCase=\"'select'\" [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [nullable]=\"subfield.nullable\" [options]=\"subfield.options\" [masterOptions]=\"subfield.masterOptions\" [optionDisplay]=\"subfield.optionDisplay ?? 'name'\" [optionValue]=\"subfield.optionValue ?? 'value'\" [(value)]=\"data[subfield.name]\" [defaultFirstValue]=\"subfield.defaultFirstValue\" (valueChange)=\"inputChanged(subfield, $event)\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [peekConfig]=\"subfield.peekConfig\" [infoMessage]=\"subfield.infoMessage\" [copyContent]=\"field.copyContent\"></spa-select>\r\n\r\n <spa-text *ngSwitchDefault [display]=\"subfield.alias ?? subfield.name | camelToWords\" [width]=\"subfield.width\" [options]=\"subfield.options\" [optionValue]=\"subfield.optionValue ?? 'value'\" [rows]=\"subfield.rows\" [(value)]=\"data[subfield.name]\" (valueChange)=\"inputChanged(subfield, $event)\" [required]=\"subfield.required\" [min]=\"subfield.min\" [max]=\"subfield.max\" [readonly]=\"testReadOnly(field) || testReadOnly(subfield)\" [hint]=\"subfield.hint\" [infoMessage]=\"subfield.infoMessage\" (infoClick)=\"handleInfoClick(subfield)\" [suffix]=\"subfield.suffix\" [copyContent]=\"field.copyContent\"></spa-text>\r\n\r\n\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <spa-text *ngSwitchDefault [display]=\"field.alias ?? field.name | camelToWords\" [width]=\"field.width\" [options]=\"field.options\" [optionValue]=\"field.optionValue ?? 'value'\" [rows]=\"field.rows\" [(value)]=\"data[field.name]\" (valueChange)=\"inputChanged(field,data[field.name])\" [required]=\"field.required\" [min]=\"field.min\" [max]=\"field.max\" [readonly]=\"testReadOnly(field)\" [hint]=\"field.hint\" [infoMessage]=\"field.infoMessage\" (infoClick)=\"handleInfoClick(field)\" [suffix]=\"field.suffix\" [copyContent]=\"field.copyContent\"></spa-text>\r\n\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"span-col-center\" *ngIf=\"config.button\">\r\n <button mat-raised-button color=\"primary\" (click)=\"buttonClicked()\" cdkFocusInitial>{{buttonDisplay}}</button>\r\n </div>\r\n\r\n\r\n</div>\r\n", styles: [".title{margin-top:1em;font-size:larger;font-weight:300}.composite-field-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}\n"] }]
|
|
197
197
|
}], ctorParameters: function () { return [{ type: i1.MessageService }, { type: i2.DataServiceLib }]; }, propDecorators: { files: [{
|
|
198
198
|
type: Input
|
|
199
199
|
}], data: [{
|
|
@@ -205,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
205
205
|
}], inputChange: [{
|
|
206
206
|
type: Output
|
|
207
207
|
}] } });
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHN0MsaUVBQWlFO0FBQ2pFLG9FQUFvRTtBQU9wRSxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUFxQixjQUE4QixFQUFVLFdBQTJCO1FBQW5FLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQW9HL0UsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUUzQixrQkFBYSxHQUFHLFFBQVEsQ0FBQztRQUN6QixpQkFBWSxHQUFhLEtBQUssQ0FBQztRQUMvQixnQkFBVyxHQUFhLEtBQUssQ0FBQztRQU1wQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBL0dpRCxDQUFDO0lBRTdGLFFBQVE7UUFFTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUM7WUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQTtZQUN6RCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFD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aUJBQ3pEO3FCQUFNO29CQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUN4QztnQkFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO29CQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztpQkFDakI7YUFHRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzVEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztJQU1YLENBQUM7OzBHQTFRVSxhQUFhOzhGQUFiLGFBQWEsc01DYjFCLG16VEF1R0E7MkZEMUZhLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsVUFBVTtrSUEwR1gsS0FBSztzQkFBYixLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29uZmlnLCBGaWVsZCwgQnV0dG9uIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgQ29yZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvVGluQ29yZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhbGliLnNlcnZpY2UnO1xyXG4vLyBpbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xyXG4vLyBpbXBvcnQgeyBEZXRhaWxzRGlhbG9nIH0gZnJvbSAnLi4vdGFibGUvZGV0YWlsc0RpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcGEtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIGlmICghdGhpcy5jb25maWcuZmllbGRzKXtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlBsZWFzZSBDb25maWd1cmUgRm9ybSBGaWVsZHNcIilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5kYXRhKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJQbGVhc2UgQ29uZmlndXJlIEZvcm0gRGF0YVwiKVxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWVsZHMgPSB0aGlzLmNvbmZpZy5maWVsZHM7XHJcblxyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5tdWx0aUNvbHVtbil7XHJcbiAgICAgIHRoaXMubXVsdGlDb2x1bW4gPSB0aGlzLmNvbmZpZy5tdWx0aUNvbHVtblxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMubXVsdGlDb2x1bW4gPSB0aGlzLmZpZWxkcy5sZW5ndGggPiAyXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5idXR0b24/LmRpc3BsYXkpe1xyXG4gICAgICB0aGlzLmJ1dHRvbkRpc3BsYXkgPSB0aGlzLmNvbmZpZy5idXR0b24uZGlzcGxheTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZpbGVGaWVsZCA9IHRoaXMuZmllbGRzLmZpbmQoeCA9PiB4LnR5cGUgPT0gJ2ZpbGUnKVxyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZz8uYnV0dG9uPy5hY3Rpb24gJiYgdGhpcy5maWxlRmllbGQpIHtcclxuICAgICAgdGhpcy5jb25maWcuYnV0dG9uLmFjdGlvbi5pc0Zvcm1EYXRhID0gdHJ1ZTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGlsZEZpZWxkcyA9IHRoaXMuZmllbGRzLmZpbHRlcih4ID0+IHgubWFzdGVyRmllbGQpXHJcblxyXG4gICAgdGhpcy5jaGlsZEZpZWxkcy5mb3JFYWNoKGNoaWxkID0+IHtcclxuICAgICAgbGV0IG1hc3RlciA9IHRoaXMuZmllbGRzLmZpbmQoeCA9PiB4Lm5hbWUgPT0gY2hpbGQubWFzdGVyRmllbGQpXHJcbiAgICAgIHRoaXMudXBkYXRlQ2hpbGRPcHRpb25zKG1hc3Rlcik7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pbml0aWFsaXplQ29tcG9zaXRlRmllbGRzKCk7XHJcblxyXG5cclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVDb21wb3NpdGVGaWVsZHMoKSB7XHJcbiAgICB0aGlzLmZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcclxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdjb21wb3NpdGUnICYmIGZpZWxkLnN1YmZpZWxkcykge1xyXG4gICAgICAgIGZpZWxkLnN1YmZpZWxkcy5mb3JFYWNoKHN1YmZpZWxkID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLmRhdGFbc3ViZmllbGQubmFtZV0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFbc3ViZmllbGQubmFtZV0gPSBDb3JlLmdldEluaXRpYWxWYWx1ZShzdWJmaWVsZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmlzaWJsZVN1YmZpZWxkcyhmaWVsZCA6IEZpZWxkKXtcclxuICAgIHJldHVybiBDb3JlLmdldFZpc2libGVTdWJmaWVsZHModGhpcy5jb25maWcsIHRoaXMuZGF0YSwgZmllbGQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgfVxyXG5cclxuICBnZXRWaXNpYmxlRmllbGRzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5maWVsZHM/LmZpbHRlcih4ID0+IENvcmUudGVzdFZpc2libGUodGhpcy5jb25maWcsIHRoaXMuZGF0YSwgeCkpXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHRlc3RSZWFkT25seShmOiBGaWVsZCk6IGJvb2xlYW4ge1xyXG5cclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcubW9kZSA9PSAnY3JlYXRlJykge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGYucmVhZG9ubHkpIHJldHVybiB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5tb2RlID09ICd2aWV3Jykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgaWYgKGYucmVhZG9ubHlDb25kaXRpb24pIHtcclxuICAgICAgcmV0dXJuIGYucmVhZG9ubHlDb25kaXRpb24odGhpcy5kYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbiAgZmlsZU5hbWVzXHJcbiAgZmlsZUZpZWxkOiBGaWVsZDtcclxuICBmaWxlVmlld0ZpZWxkOiBGaWVsZDtcclxuICBASW5wdXQoKSBmaWxlczogYW55W10gPSBbXTtcclxuICBmaWVsZHM6IEZpZWxkW107XHJcbiAgYnV0dG9uRGlzcGxheSA9IFwiU3VibWl0XCI7XHJcbiAgaXNQcm9jZXNzaW5nIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG11bHRpQ29sdW1uIDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjaGlsZEZpZWxkcyA6IEZpZWxkW107XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE6IGFueTtcclxuICBASW5wdXQoKSBjb25maWc6IEZvcm1Db25maWc7XHJcbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBpbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaW5wdXRDaGFuZ2VkKGZpZWxkIDogRmllbGQsIHZhbHVlKXtcclxuXHJcblxyXG4gICAgdGhpcy5pbnB1dENoYW5nZS5lbWl0KHsgZmllbGQ6IGZpZWxkLCB2YWx1ZTogdmFsdWV9KVxyXG5cclxuICAgIHRoaXMudXBkYXRlQ2hpbGRPcHRpb25zKGZpZWxkKVxyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5tb2RlID09ICdjcmVhdGUnICYmIGZpZWxkLmNoaWxkKXtcclxuXHJcbiAgICAgIGxldCBjaGlsZCA9IHRoaXMuZmllbGRzLmZpbmQoeCA9PiB4Lm5hbWUgPT0gZmllbGQuY2hpbGQuY2hpbGRGaWVsZClcclxuICAgICAgdGhpcy5kYXRhW2NoaWxkLm5hbWVdID0gZmllbGQub3B0aW9ucy5maW5kKHggPT4geFtmaWVsZC5vcHRpb25WYWx1ZV0gPT0gdmFsdWUpW2ZpZWxkLmNoaWxkLmNoaWxkVmFsdWVGaWVsZF1cclxuXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5tb2RlID09ICdjcmVhdGUnICYmIGZpZWxkLmNoaWxkcmVuKXtcclxuICAgICAgY29uc29sZS5sb2coXCJDaGlsZHJlbiBmb3VuZFwiKVxyXG5cclxuICAgICAgZmllbGQuY2hpbGRyZW4uZm9yRWFjaChjaGlsZENvbmZpZyA9PiB7XHJcblxyXG4gICAgICAgIGxldCBjaGlsZCA9IHRoaXMuZmllbGRzLmZpbmQoeCA9PiB4Lm5hbWUgPT0gY2hpbGRDb25maWcuY2hpbGRGaWVsZClcclxuICAgICAgICBjb25zb2xlLmxvZyhcIkNoaWxkIGZvdW5kXCIpXHJcblxyXG4gICAgICAgIHRoaXMuZGF0YVtjaGlsZC5uYW1lXSA9IGZpZWxkLm9wdGlvbnMuZmluZCh4ID0+IHhbZmllbGQub3B0aW9uVmFsdWVdID09IHZhbHVlKVtjaGlsZENvbmZpZy5jaGlsZFZhbHVlRmllbGRdXHJcblxyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ2hpbGRPcHRpb25zKG1hc3RlckZpZWxkOiBGaWVsZCl7XHJcblxyXG4gICAgbGV0IGNoaWxkID0gdGhpcy5jaGlsZEZpZWxkcy5maW5kKHggPT4geC5tYXN0ZXJGaWVsZCA9PSBtYXN0ZXJGaWVsZC5uYW1lKVxyXG4gICAgaWYgKGNoaWxkICE9IG51bGwpIHtcclxuXHJcbiAgICAgIC8vY3VycmVudCBpcyBtYXN0ZXJcclxuXHJcbiAgICAgIC8vZmlsdGVyIGNoaWxkIG9wdGlvbnMgYmFzZWQgb24gbWFzdGVyIHZhbHVlXHJcbiAgICAgIGNoaWxkLm9wdGlvbnMgPSBjaGlsZC5tYXN0ZXJPcHRpb25zLmZpbHRlcih4ID0+IHhbbWFzdGVyRmllbGQub3B0aW9uVmFsdWVdID09IHRoaXMuZGF0YVttYXN0ZXJGaWVsZC5uYW1lXSlcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGhhbmRsZUluZm9DbGljayhmaWVsZDogRmllbGQpIHtcclxuICAgIGlmIChmaWVsZC5pbmZvTWVzc2FnZSkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8oZmllbGQuaW5mb01lc3NhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYnV0dG9uQ2xpY2tlZCgpe1xyXG5cclxuICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCh0aGlzLmRhdGEpO1xyXG5cclxuICAgIGxldCBidXR0b24gPSB0aGlzLmNvbmZpZy5idXR0b247XHJcblxyXG4gICAgaWYgKCFidXR0b24pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vdmFsaWRhdGlvblxyXG4gICAgbGV0IHJlc3AgPSBDb3JlLnZhbGlkYXRlT2JqZWN0KHRoaXMuZ2V0VmlzaWJsZUZpZWxkcygpLHRoaXMuZGF0YSk7XHJcbiAgICBpZiAocmVzcCAhPSAnJyl7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QocmVzcClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgaWYgKHRoaXMuZmlsZXMubGVuZ3RoIDwgMSAmJiB0aGlzLmZpbGVGaWVsZD8ucmVxdWlyZWQgJiYgdGhpcy5jb25maWcubW9kZSA9PSdjcmVhdGUnKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJQbGVhc2UgYXR0YWNoIGZpbGUocylcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgaWYgKGJ1dHRvbi5jb25maXJtKXtcclxuXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY29uZmlybShgJHtidXR0b24uY29uZmlybS5tZXNzYWdlfWApLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PSBcInllc1wiKSB7XHJcbiAgICAgICAgICB0aGlzLnByb2Nlc3NDYWxsKGJ1dHRvbilcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnByb2Nlc3NDYWxsKGJ1dHRvbilcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBwcm9jZXNzQ2FsbChidXR0b246IEJ1dHRvbil7XHJcblxyXG4gICAgaWYgKCFidXR0b24uYWN0aW9uKSByZXR1cm5cclxuXHJcbiAgICBsZXQgZGF0YU91dDtcclxuXHJcbiAgICBpZiAoYnV0dG9uLmFjdGlvbi5pc0Zvcm1EYXRhKXtcclxuXHJcbiAgICAgIGxldCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGB1cGxvYWRGaWxlJHtpfWAsIHRoaXMuZmlsZXNbaV0sIHRoaXMuZmlsZXNbaV0ubmFtZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChcImRhdGFcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy5kYXRhKSk7XHJcblxyXG5cclxuICAgICAgZGF0YU91dCA9IGZvcm1EYXRhXHJcbiAgICB9ZWxzZXtcclxuXHJcbiAgICAgIGRhdGFPdXQgPSB0aGlzLmRhdGFcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gdHJ1ZVxyXG4gICAgdGhpcy5kYXRhU2VydmljZS5DYWxsQXBpKGJ1dHRvbi5hY3Rpb24sIGRhdGFPdXQpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZVxyXG5cclxuICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgaWYgKGJ1dHRvbi5hY3Rpb24uc3VjY2Vzc01lc3NhZ2UpIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYnV0dG9uLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJTdWJtaXR0ZWRcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5jb25maWcucmVzZXQpIHtcclxuICAgICAgICAgIENvcmUucmVzZXRPYmplY3QodGhpcy5maWVsZHMsIHRoaXMuZGF0YSlcclxuICAgICAgICAgIHRoaXMuZmlsZXMgPSBbXTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvY2Vzc0Zvcm0oKXtcclxuXHJcblxyXG5cclxuXHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4iLCJcclxuPGRpdiBbbmdDbGFzc109XCJtdWx0aUNvbHVtbiA/ICd0aW4tZ3JpZCcgOiAndGluLWNvbCdcIj5cclxuXHJcbiAgPGRpdiBbbmdDbGFzc109XCJmaWVsZC5zcGFuIHx8IGZpZWxkLnR5cGUgPT0nc2VjdGlvbicgfHwgZmllbGQudHlwZSA9PSdmaWxlJyB8fCBmaWVsZC50eXBlID09J2ZpbGUtdmlldycgID8gJ3NwYW4tY29sJyA6ICcnXCIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGdldFZpc2libGVGaWVsZHMoKVwiPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgID5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpZWxkLnR5cGVcIiBjbGFzcz1cImhpZ2hsaWdodFwiPlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInc2VjdGlvbidcIiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICA8bGFiZWwgc3R5bGU9XCJmb250LXNpemU6IGxhcmdlcjtcIj57e2ZpZWxkLm5hbWUgfCBjYW1lbFRvV29yZHN9fTwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidmaWxlJ1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEgbWItMlwiICpuZ0lmPVwiY29uZmlnLm1vZGUgIT0ndmlldydcIj5cclxuICAgICAgICAgICAgPHNwYS1hdHRhY2ggbWVzc2FnZT1cIkRyYWcgYW5kIERyb3AgZmlsZXMgaGVyZVwiIFsoZmlsZXMpXT1cImZpbGVzXCI+PC9zcGEtYXR0YWNoPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidmaWxlLXZpZXcnXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMSBtYi0yXCIgKm5nSWY9XCJjb25maWcubW9kZSAmJiBjb25maWcubW9kZSAhPSdjcmVhdGUnXCI+XHJcbiAgICAgICAgICAgIDxzcGEtdmlld2VyIFtmaWxlQWN0aW9uXT1cImNvbmZpZy5maWxlQWN0aW9uXCIgW3BhdGhdPVwiZmllbGQucGF0aFwiIFtmb2xkZXJOYW1lXT1cImRhdGFbZmllbGQua2V5RmlsZWROYW1lXVwiID48L3NwYS12aWV3ZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG4gICAgICAgIDxsYWJlbCAqbmdTd2l0Y2hDYXNlPVwiJ2JsYW5rJ1wiPjwvbGFiZWw+XHJcblxyXG4gICAgICAgIDxsYWJlbCAqbmdTd2l0Y2hDYXNlPVwiJ3N0cmluZydcIiBbbmdTdHlsZV09XCJ7J2ZvbnQtc2l6ZSc6ZmllbGQuc2l6ZSA/PyAnMTRweCd9XCIgPnt7ZGF0YVtmaWVsZC5uYW1lXSA/PyBmaWVsZC5hbGlhcyA/PyBmaWVsZC5uYW1lfX08L2xhYmVsPlxyXG5cclxuICAgICAgICA8c3BhLWxhYmVsICpuZ1N3aXRjaENhc2U9XCInbGFiZWwnXCIgW2Rpc3BsYXldPVwiZmllbGQuYWxpYXMgPz8gZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFt2YWx1ZV09XCJkYXRhW2ZpZWxkLm5hbWVdXCIgKHZhbHVlQ2hhbmdlKT1cImlucHV0Q2hhbmdlZChmaWVsZCwgZGF0YVtmaWVsZC5uYW1lXSlcIiA+PC9zcGEtbGFiZWw+XHJcblxyXG4gICAgICAgIDxzcGEtbnVtYmVyICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiIFtkaXNwbGF5XT1cImZpZWxkLmFsaWFzID8/IGZpZWxkLm5hbWUgfCBjYW1lbFRvV29yZHNcIiBbd2lkdGhdPVwiZmllbGQud2lkdGhcIiBbKHZhbHVlKV09XCJkYXRhW2ZpZWxkLm5hbWVdXCIgKHZhbHVlQ2hhbmdlKT1cImlucHV0Q2hhbmdlZChmaWVsZCwgZGF0YVtmaWVsZC5uYW1lXSlcIiBbcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIiBbbWluXT1cImZpZWxkLm1pblwiIFttYXhdPVwiZmllbGQubWF4XCIgW3JlYWRvbmx5XT1cInRlc3RSZWFkT25seShmaWVsZClcIiBbaGludF09XCJmaWVsZC5oaW50XCIgW2luZm9NZXNzYWdlXT1cImZpZWxkLmluZm9NZXNzYWdlXCIgKGluZm9DbGljayk9XCJoYW5kbGVJbmZvQ2xpY2soZmllbGQpXCIgW3N1ZmZpeF09XCJmaWVsZC5zdWZmaXhcIj48L3NwYS1udW1iZXI+XHJcblxyXG4gICAgICAgIDxzcGEtbW9uZXkgKm5nU3dpdGNoQ2FzZT1cIidtb25leSdcIiBbZGlzcGxheV09XCJmaWVsZC5hbGlhcyA/PyBmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgW3dpZHRoXT1cImZpZWxkLndpZHRoXCIgWyh2YWx1ZSldPVwiZGF0YVtmaWVsZC5uYW1lXVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoZmllbGQsIGRhdGFbZmllbGQubmFtZV0pXCIgW3JlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCIgW21pbl09XCJmaWVsZC5taW5cIiBbbWF4XT1cImZpZWxkLm1heFwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpXCIgW2hpbnRdPVwiZmllbGQuaGludFwiIFtpbmZvTWVzc2FnZV09XCJmaWVsZC5pbmZvTWVzc2FnZVwiIChpbmZvQ2xpY2spPVwiaGFuZGxlSW5mb0NsaWNrKGZpZWxkKVwiPjwvc3BhLW1vbmV5PlxyXG5cclxuICAgICAgICA8c3BhLWNoZWNrICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCIgW2Rpc3BsYXldPVwiZmllbGQuYWxpYXMgPz8gZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFsodmFsdWUpXT1cImRhdGFbZmllbGQubmFtZV1cIiAodmFsdWVDaGFuZ2UpPVwiaW5wdXRDaGFuZ2VkKGZpZWxkLCBkYXRhW2ZpZWxkLm5hbWVdKVwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpXCIgW2luZm9NZXNzYWdlXT1cImZpZWxkLmluZm9NZXNzYWdlXCIgKGluZm9DbGljayk9XCJoYW5kbGVJbmZvQ2xpY2soZmllbGQpXCI+PC9zcGEtY2hlY2s+XHJcblxyXG4gICAgICAgIDxzcGEtZGF0ZSAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCIgW2Rpc3BsYXldPVwiZmllbGQuYWxpYXMgPz8gZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFt3aWR0aF09XCJmaWVsZC53aWR0aFwiIFsodmFsdWUpXT1cImRhdGFbZmllbGQubmFtZV1cIiAodmFsdWVDaGFuZ2UpPVwiaW5wdXRDaGFuZ2VkKGZpZWxkLCBkYXRhW2ZpZWxkLm5hbWVdKVwiIFttaW5dPVwiZmllbGQ/Lm1pblwiIFttYXhdPVwiZmllbGQ/Lm1heFwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpXCIgW2hpbnRdPVwiZmllbGQuaGludFwiIFtpbmZvTWVzc2FnZV09XCJmaWVsZC5pbmZvTWVzc2FnZVwiIChpbmZvQ2xpY2spPVwiaGFuZGxlSW5mb0NsaWNrKGZpZWxkKVwiPjwvc3BhLWRhdGU+XHJcblxyXG4gICAgICAgIDxzcGEtZGF0ZXRpbWUgKm5nU3dpdGNoQ2FzZT1cIidkYXRldGltZSdcIiBbZGlzcGxheV09XCJmaWVsZC5hbGlhcyA/PyBmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgWyh2YWx1ZSldPVwiZGF0YVtmaWVsZC5uYW1lXVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoZmllbGQsIGRhdGFbZmllbGQubmFtZV0pXCIgW3JlYWRvbmx5XT1cInRlc3RSZWFkT25seShmaWVsZClcIiBbbWluXT1cImZpZWxkLm1pblwiIFttYXhdPVwiZmllbGQubWF4XCIgW2luZm9NZXNzYWdlXT1cImZpZWxkLmluZm9NZXNzYWdlXCIgKGluZm9DbGljayk9XCJoYW5kbGVJbmZvQ2xpY2soZmllbGQpXCI+PC9zcGEtZGF0ZXRpbWU+XHJcblxyXG4gICAgICAgIDxzcGEtc2VsZWN0ICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiXHJcbiAgICAgICAgICBbd2lkdGhdPVwiZmllbGQud2lkdGhcIlxyXG4gICAgICAgICAgW2Rpc3BsYXldPVwiZmllbGQuYWxpYXMgPz8gZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFtudWxsYWJsZV09XCJmaWVsZC5udWxsYWJsZVwiXHJcbiAgICAgICAgICBbb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCIgW21hc3Rlck9wdGlvbnNdPVwiZmllbGQubWFzdGVyT3B0aW9uc1wiIFtvcHRpb25EaXNwbGF5XT1cImZpZWxkLm9wdGlvbkRpc3BsYXkgPz8gJ25hbWUnXCIgW29wdGlvblZhbHVlXT1cImZpZWxkLm9wdGlvblZhbHVlID8/ICd2YWx1ZSdcIlxyXG4gICAgICAgICAgWyh2YWx1ZSldPVwiZGF0YVtmaWVsZC5uYW1lXVwiIFtkZWZhdWx0Rmlyc3RWYWx1ZV09XCJmaWVsZC5kZWZhdWx0Rmlyc3RWYWx1ZVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoZmllbGQsIGRhdGFbZmllbGQubmFtZV0pXCJcclxuICAgICAgICAgIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpXCJcclxuICAgICAgICAgIFtoaW50XT1cImZpZWxkLmhpbnRcIlxyXG4gICAgICAgICAgW3BlZWtDb25maWddPVwiZmllbGQucGVla0NvbmZpZ1wiXHJcbiAgICAgICAgICBbaW5mb01lc3NhZ2VdPVwiZmllbGQuaW5mb01lc3NhZ2VcIlxyXG4gICAgICAgICA+XHJcbiAgICAgICAgPC9zcGEtc2VsZWN0PlxyXG5cclxuICAgICAgICA8c3BhLXNlbGVjdCAqbmdTd2l0Y2hDYXNlPVwiJ211bHRpLXNlbGVjdCdcIiBbZGlzcGxheV09XCJmaWVsZC5hbGlhcyA/PyBmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgW3dpZHRoXT1cImZpZWxkLndpZHRoXCIgW29wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiIFtvcHRpb25EaXNwbGF5XT1cImZpZWxkLm9wdGlvbkRpc3BsYXkgPz8gJ25hbWUnXCIgW29wdGlvblZhbHVlXT1cImZpZWxkLm9wdGlvblZhbHVlID8/ICd2YWx1ZSdcIiBbKHZhbHVlKV09XCJkYXRhW2ZpZWxkLm5hbWVdXCIgKHZhbHVlQ2hhbmdlKT1cImlucHV0Q2hhbmdlZChmaWVsZCwgZGF0YVtmaWVsZC5uYW1lXSlcIiBbcmVhZG9ubHldPVwidGVzdFJlYWRPbmx5KGZpZWxkKVwiIFttdWx0aXBsZV09XCJ0cnVlXCIgW2hpbnRdPVwiZmllbGQuaGludFwiIFtpbmZvTWVzc2FnZV09XCJmaWVsZC5pbmZvTWVzc2FnZVwiIChpbmZvQ2xpY2spPVwiaGFuZGxlSW5mb0NsaWNrKGZpZWxkKVwiPlxyXG4gICAgICAgIDwvc3BhLXNlbGVjdD5cclxuXHJcbiAgICAgICAgPHNwYS1lbWFpbCAqbmdTd2l0Y2hDYXNlPVwiJ2VtYWlsJ1wiIFtkaXNwbGF5XT1cImZpZWxkLmFsaWFzID8/IGZpZWxkLm5hbWUgfCBjYW1lbFRvV29yZHNcIiBbKHZhbHVlKV09XCJkYXRhW2ZpZWxkLm5hbWVdXCIgKHZhbHVlQ2hhbmdlKT1cImlucHV0Q2hhbmdlZChmaWVsZCxkYXRhW2ZpZWxkLm5hbWVdKVwiIFtyZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpXCIgW2hpbnRdPVwiZmllbGQuaGludFwiIFtpbmZvTWVzc2FnZV09XCJmaWVsZC5pbmZvTWVzc2FnZVwiIChpbmZvQ2xpY2spPVwiaGFuZGxlSW5mb0NsaWNrKGZpZWxkKVwiIFtzdWZmaXhdPVwiZmllbGQuc3VmZml4XCI+PC9zcGEtZW1haWw+XHJcblxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29tcG9zaXRlJ1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBvc2l0ZS1maWVsZC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBvc2l0ZS1maWVsZC1ncm91cFwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YmZpZWxkIG9mIGdldFZpc2libGVTdWJmaWVsZHMoZmllbGQpXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzdWJmaWVsZC50eXBlXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8c3BhLW51bWJlciAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIiBbZGlzcGxheV09XCJzdWJmaWVsZC5hbGlhcyA/PyBzdWJmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgW3dpZHRoXT1cInN1YmZpZWxkLndpZHRoXCIgWyh2YWx1ZSldPVwiZGF0YVtzdWJmaWVsZC5uYW1lXVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoc3ViZmllbGQsICRldmVudClcIiBbcmVxdWlyZWRdPVwic3ViZmllbGQucmVxdWlyZWRcIiBbbWluXT1cInN1YmZpZWxkLm1pblwiIFttYXhdPVwic3ViZmllbGQubWF4XCIgW3JlYWRvbmx5XT1cInRlc3RSZWFkT25seShmaWVsZCkgfHwgdGVzdFJlYWRPbmx5KHN1YmZpZWxkKVwiIFtoaW50XT1cInN1YmZpZWxkLmhpbnRcIiBbaW5mb01lc3NhZ2VdPVwic3ViZmllbGQuaW5mb01lc3NhZ2VcIiAoaW5mb0NsaWNrKT1cImhhbmRsZUluZm9DbGljayhzdWJmaWVsZClcIiBbc3VmZml4XT1cInN1YmZpZWxkLnN1ZmZpeFwiPjwvc3BhLW51bWJlcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxzcGEtbW9uZXkgKm5nU3dpdGNoQ2FzZT1cIidtb25leSdcIiBbZGlzcGxheV09XCJzdWJmaWVsZC5hbGlhcyA/PyBzdWJmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgW3dpZHRoXT1cInN1YmZpZWxkLndpZHRoXCIgWyh2YWx1ZSldPVwiZGF0YVtzdWJmaWVsZC5uYW1lXVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoc3ViZmllbGQsICRldmVudClcIiBbcmVxdWlyZWRdPVwic3ViZmllbGQucmVxdWlyZWRcIiBbbWluXT1cInN1YmZpZWxkLm1pblwiIFttYXhdPVwic3ViZmllbGQubWF4XCIgW3JlYWRvbmx5XT1cInRlc3RSZWFkT25seShmaWVsZCkgfHwgdGVzdFJlYWRPbmx5KHN1YmZpZWxkKVwiIFtoaW50XT1cInN1YmZpZWxkLmhpbnRcIiBbaW5mb01lc3NhZ2VdPVwic3ViZmllbGQuaW5mb01lc3NhZ2VcIiAoaW5mb0NsaWNrKT1cImhhbmRsZUluZm9DbGljayhzdWJmaWVsZClcIj48L3NwYS1tb25leT5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxzcGEtY2hlY2sgKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIiBbZGlzcGxheV09XCJzdWJmaWVsZC5hbGlhcyA/PyBzdWJmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgWyh2YWx1ZSldPVwiZGF0YVtzdWJmaWVsZC5uYW1lXVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoc3ViZmllbGQsICRldmVudClcIiBbcmVhZG9ubHldPVwidGVzdFJlYWRPbmx5KGZpZWxkKSB8fCB0ZXN0UmVhZE9ubHkoc3ViZmllbGQpXCIgW2luZm9NZXNzYWdlXT1cInN1YmZpZWxkLmluZm9NZXNzYWdlXCIgKGluZm9DbGljayk9XCJoYW5kbGVJbmZvQ2xpY2soc3ViZmllbGQpXCI+PC9zcGEtY2hlY2s+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8c3BhLWRhdGUgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiIFtkaXNwbGF5XT1cInN1YmZpZWxkLmFsaWFzID8/IHN1YmZpZWxkLm5hbWUgfCBjYW1lbFRvV29yZHNcIiBbd2lkdGhdPVwic3ViZmllbGQud2lkdGhcIiBbKHZhbHVlKV09XCJkYXRhW3N1YmZpZWxkLm5hbWVdXCIgKHZhbHVlQ2hhbmdlKT1cImlucHV0Q2hhbmdlZChzdWJmaWVsZCwgJGV2ZW50KVwiIFttaW5dPVwic3ViZmllbGQubWluXCIgW21heF09XCJzdWJmaWVsZC5tYXhcIiBbcmVhZG9ubHldPVwidGVzdFJlYWRPbmx5KGZpZWxkKSB8fCB0ZXN0UmVhZE9ubHkoc3ViZmllbGQpXCIgW2hpbnRdPVwic3ViZmllbGQuaGludFwiIFtpbmZvTWVzc2FnZV09XCJzdWJmaWVsZC5pbmZvTWVzc2FnZVwiIChpbmZvQ2xpY2spPVwiaGFuZGxlSW5mb0NsaWNrKHN1YmZpZWxkKVwiPjwvc3BhLWRhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8c3BhLWRhdGV0aW1lICpuZ1N3aXRjaENhc2U9XCInZGF0ZXRpbWUnXCIgW2Rpc3BsYXldPVwic3ViZmllbGQuYWxpYXMgPz8gc3ViZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFsodmFsdWUpXT1cImRhdGFbc3ViZmllbGQubmFtZV1cIiAodmFsdWVDaGFuZ2UpPVwiaW5wdXRDaGFuZ2VkKHN1YmZpZWxkLCAkZXZlbnQpXCIgW3JlYWRvbmx5XT1cInRlc3RSZWFkT25seShmaWVsZCkgfHwgdGVzdFJlYWRPbmx5KHN1YmZpZWxkKVwiIFttaW5dPVwic3ViZmllbGQubWluXCIgW21heF09XCJzdWJmaWVsZC5tYXhcIiBbaW5mb01lc3NhZ2VdPVwic3ViZmllbGQuaW5mb01lc3NhZ2VcIiAoaW5mb0NsaWNrKT1cImhhbmRsZUluZm9DbGljayhzdWJmaWVsZClcIj48L3NwYS1kYXRldGltZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxzcGEtc2VsZWN0ICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiIFtkaXNwbGF5XT1cInN1YmZpZWxkLmFsaWFzID8/IHN1YmZpZWxkLm5hbWUgfCBjYW1lbFRvV29yZHNcIiBbd2lkdGhdPVwic3ViZmllbGQud2lkdGhcIiBbbnVsbGFibGVdPVwic3ViZmllbGQubnVsbGFibGVcIiBbb3B0aW9uc109XCJzdWJmaWVsZC5vcHRpb25zXCIgW21hc3Rlck9wdGlvbnNdPVwic3ViZmllbGQubWFzdGVyT3B0aW9uc1wiIFtvcHRpb25EaXNwbGF5XT1cInN1YmZpZWxkLm9wdGlvbkRpc3BsYXkgPz8gJ25hbWUnXCIgW29wdGlvblZhbHVlXT1cInN1YmZpZWxkLm9wdGlvblZhbHVlID8/ICd2YWx1ZSdcIiBbKHZhbHVlKV09XCJkYXRhW3N1YmZpZWxkLm5hbWVdXCIgW2RlZmF1bHRGaXJzdFZhbHVlXT1cInN1YmZpZWxkLmRlZmF1bHRGaXJzdFZhbHVlXCIgKHZhbHVlQ2hhbmdlKT1cImlucHV0Q2hhbmdlZChzdWJmaWVsZCwgJGV2ZW50KVwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpIHx8IHRlc3RSZWFkT25seShzdWJmaWVsZClcIiBbaGludF09XCJzdWJmaWVsZC5oaW50XCIgW3BlZWtDb25maWddPVwic3ViZmllbGQucGVla0NvbmZpZ1wiIFtpbmZvTWVzc2FnZV09XCJzdWJmaWVsZC5pbmZvTWVzc2FnZVwiPjwvc3BhLXNlbGVjdD5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxzcGEtdGV4dCAqbmdTd2l0Y2hEZWZhdWx0IFtkaXNwbGF5XT1cInN1YmZpZWxkLmFsaWFzID8/IHN1YmZpZWxkLm5hbWUgfCBjYW1lbFRvV29yZHNcIiBbd2lkdGhdPVwic3ViZmllbGQud2lkdGhcIiAgW29wdGlvbnNdPVwic3ViZmllbGQub3B0aW9uc1wiIFtvcHRpb25WYWx1ZV09XCJzdWJmaWVsZC5vcHRpb25WYWx1ZSA/PyAndmFsdWUnXCIgW3Jvd3NdPVwic3ViZmllbGQucm93c1wiIFsodmFsdWUpXT1cImRhdGFbc3ViZmllbGQubmFtZV1cIiAodmFsdWVDaGFuZ2UpPVwiaW5wdXRDaGFuZ2VkKHN1YmZpZWxkLCAkZXZlbnQpXCIgW3JlcXVpcmVkXT1cInN1YmZpZWxkLnJlcXVpcmVkXCIgW21pbl09XCJzdWJmaWVsZC5taW5cIiBbbWF4XT1cInN1YmZpZWxkLm1heFwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpIHx8IHRlc3RSZWFkT25seShzdWJmaWVsZClcIiBbaGludF09XCJzdWJmaWVsZC5oaW50XCIgW2luZm9NZXNzYWdlXT1cInN1YmZpZWxkLmluZm9NZXNzYWdlXCIgKGluZm9DbGljayk9XCJoYW5kbGVJbmZvQ2xpY2soc3ViZmllbGQpXCIgW3N1ZmZpeF09XCJzdWJmaWVsZC5zdWZmaXhcIj48L3NwYS10ZXh0PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG4gICAgICAgIDxzcGEtdGV4dCAqbmdTd2l0Y2hEZWZhdWx0IFtkaXNwbGF5XT1cImZpZWxkLmFsaWFzID8/IGZpZWxkLm5hbWUgfCBjYW1lbFRvV29yZHNcIiBbd2lkdGhdPVwiZmllbGQud2lkdGhcIiBbb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCIgW29wdGlvblZhbHVlXT1cImZpZWxkLm9wdGlvblZhbHVlID8/ICd2YWx1ZSdcIiBbcm93c109XCJmaWVsZC5yb3dzXCIgWyh2YWx1ZSldPVwiZGF0YVtmaWVsZC5uYW1lXVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoZmllbGQsZGF0YVtmaWVsZC5uYW1lXSlcIiBbcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIiBbbWluXT1cImZpZWxkLm1pblwiIFttYXhdPVwiZmllbGQubWF4XCIgW3JlYWRvbmx5XT1cInRlc3RSZWFkT25seShmaWVsZClcIiBbaGludF09XCJmaWVsZC5oaW50XCIgW2luZm9NZXNzYWdlXT1cImZpZWxkLmluZm9NZXNzYWdlXCIgKGluZm9DbGljayk9XCJoYW5kbGVJbmZvQ2xpY2soZmllbGQpXCIgW3N1ZmZpeF09XCJmaWVsZC5zdWZmaXhcIj48L3NwYS10ZXh0PlxyXG5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDwvZGl2PlxyXG5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInNwYW4tY29sLWNlbnRlclwiICpuZ0lmPVwiY29uZmlnLmJ1dHRvblwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrZWQoKVwiICBjZGtGb2N1c0luaXRpYWw+e3tidXR0b25EaXNwbGF5fX08L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcblxyXG48L2Rpdj5cclxuIl19
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHN0MsaUVBQWlFO0FBQ2pFLG9FQUFvRTtBQU9wRSxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUFxQixjQUE4QixFQUFVLFdBQTJCO1FBQW5FLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQW9HL0UsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUUzQixrQkFBYSxHQUFHLFFBQVEsQ0FBQztRQUN6QixpQkFBWSxHQUFhLEtBQUssQ0FBQztRQUMvQixnQkFBVyxHQUFhLEtBQUssQ0FBQztRQU1wQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBL0dpRCxDQUFDO0lBRTdGLFFBQVE7UUFFTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUM7WUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQTtZQUN6RCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFD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aUJBQ3pEO3FCQUFNO29CQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUN4QztnQkFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO29CQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztpQkFDakI7YUFHRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzVEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztJQU1YLENBQUM7OzBHQTFRVSxhQUFhOzhGQUFiLGFBQWEsc01DYjFCLGc5VEF3R0E7MkZEM0ZhLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsVUFBVTtrSUEwR1gsS0FBSztzQkFBYixLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29uZmlnLCBGaWVsZCwgQnV0dG9uIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgQ29yZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvVGluQ29yZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhbGliLnNlcnZpY2UnO1xyXG4vLyBpbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xyXG4vLyBpbXBvcnQgeyBEZXRhaWxzRGlhbG9nIH0gZnJvbSAnLi4vdGFibGUvZGV0YWlsc0RpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcGEtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIGlmICghdGhpcy5jb25maWcuZmllbGRzKXtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlBsZWFzZSBDb25maWd1cmUgRm9ybSBGaWVsZHNcIilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5kYXRhKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJQbGVhc2UgQ29uZmlndXJlIEZvcm0gRGF0YVwiKVxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWVsZHMgPSB0aGlzLmNvbmZpZy5maWVsZHM7XHJcblxyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5tdWx0aUNvbHVtbil7XHJcbiAgICAgIHRoaXMubXVsdGlDb2x1bW4gPSB0aGlzLmNvbmZpZy5tdWx0aUNvbHVtblxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMubXVsdGlDb2x1bW4gPSB0aGlzLmZpZWxkcy5sZW5ndGggPiAyXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5idXR0b24/LmRpc3BsYXkpe1xyXG4gICAgICB0aGlzLmJ1dHRvbkRpc3BsYXkgPSB0aGlzLmNvbmZpZy5idXR0b24uZGlzcGxheTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZpbGVGaWVsZCA9IHRoaXMuZmllbGRzLmZpbmQoeCA9PiB4LnR5cGUgPT0gJ2ZpbGUnKVxyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZz8uYnV0dG9uPy5hY3Rpb24gJiYgdGhpcy5maWxlRmllbGQpIHtcclxuICAgICAgdGhpcy5jb25maWcuYnV0dG9uLmFjdGlvbi5pc0Zvcm1EYXRhID0gdHJ1ZTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGlsZEZpZWxkcyA9IHRoaXMuZmllbGRzLmZpbHRlcih4ID0+IHgubWFzdGVyRmllbGQpXHJcblxyXG4gICAgdGhpcy5jaGlsZEZpZWxkcy5mb3JFYWNoKGNoaWxkID0+IHtcclxuICAgICAgbGV0IG1hc3RlciA9IHRoaXMuZmllbGRzLmZpbmQoeCA9PiB4Lm5hbWUgPT0gY2hpbGQubWFzdGVyRmllbGQpXHJcbiAgICAgIHRoaXMudXBkYXRlQ2hpbGRPcHRpb25zKG1hc3Rlcik7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pbml0aWFsaXplQ29tcG9zaXRlRmllbGRzKCk7XHJcblxyXG5cclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVDb21wb3NpdGVGaWVsZHMoKSB7XHJcbiAgICB0aGlzLmZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcclxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdjb21wb3NpdGUnICYmIGZpZWxkLnN1YmZpZWxkcykge1xyXG4gICAgICAgIGZpZWxkLnN1YmZpZWxkcy5mb3JFYWNoKHN1YmZpZWxkID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLmRhdGFbc3ViZmllbGQubmFtZV0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFbc3ViZmllbGQubmFtZV0gPSBDb3JlLmdldEluaXRpYWxWYWx1ZShzdWJmaWVsZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmlzaWJsZVN1YmZpZWxkcyhmaWVsZCA6IEZpZWxkKXtcclxuICAgIHJldHVybiBDb3JlLmdldFZpc2libGVTdWJmaWVsZHModGhpcy5jb25maWcsIHRoaXMuZGF0YSwgZmllbGQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgfVxyXG5cclxuICBnZXRWaXNpYmxlRmllbGRzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5maWVsZHM/LmZpbHRlcih4ID0+IENvcmUudGVzdFZpc2libGUodGhpcy5jb25maWcsIHRoaXMuZGF0YSwgeCkpXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHRlc3RSZWFkT25seShmOiBGaWVsZCk6IGJvb2xlYW4ge1xyXG5cclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcubW9kZSA9PSAnY3JlYXRlJykge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGYucmVhZG9ubHkpIHJldHVybiB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5tb2RlID09ICd2aWV3Jykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgaWYgKGYucmVhZG9ubHlDb25kaXRpb24pIHtcclxuICAgICAgcmV0dXJuIGYucmVhZG9ubHlDb25kaXRpb24odGhpcy5kYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbiAgZmlsZU5hbWVzXHJcbiAgZmlsZUZpZWxkOiBGaWVsZDtcclxuICBmaWxlVmlld0ZpZWxkOiBGaWVsZDtcclxuICBASW5wdXQoKSBmaWxlczogYW55W10gPSBbXTtcclxuICBmaWVsZHM6IEZpZWxkW107XHJcbiAgYnV0dG9uRGlzcGxheSA9IFwiU3VibWl0XCI7XHJcbiAgaXNQcm9jZXNzaW5nIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG11bHRpQ29sdW1uIDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjaGlsZEZpZWxkcyA6IEZpZWxkW107XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE6IGFueTtcclxuICBASW5wdXQoKSBjb25maWc6IEZvcm1Db25maWc7XHJcbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBpbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaW5wdXRDaGFuZ2VkKGZpZWxkIDogRmllbGQsIHZhbHVlKXtcclxuXHJcblxyXG4gICAgdGhpcy5pbnB1dENoYW5nZS5lbWl0KHsgZmllbGQ6IGZpZWxkLCB2YWx1ZTogdmFsdWV9KVxyXG5cclxuICAgIHRoaXMudXBkYXRlQ2hpbGRPcHRpb25zKGZpZWxkKVxyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5tb2RlID09ICdjcmVhdGUnICYmIGZpZWxkLmNoaWxkKXtcclxuXHJcbiAgICAgIGxldCBjaGlsZCA9IHRoaXMuZmllbGRzLmZpbmQoeCA9PiB4Lm5hbWUgPT0gZmllbGQuY2hpbGQuY2hpbGRGaWVsZClcclxuICAgICAgdGhpcy5kYXRhW2NoaWxkLm5hbWVdID0gZmllbGQub3B0aW9ucy5maW5kKHggPT4geFtmaWVsZC5vcHRpb25WYWx1ZV0gPT0gdmFsdWUpW2ZpZWxkLmNoaWxkLmNoaWxkVmFsdWVGaWVsZF1cclxuXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5tb2RlID09ICdjcmVhdGUnICYmIGZpZWxkLmNoaWxkcmVuKXtcclxuICAgICAgY29uc29sZS5sb2coXCJDaGlsZHJlbiBmb3VuZFwiKVxyXG5cclxuICAgICAgZmllbGQuY2hpbGRyZW4uZm9yRWFjaChjaGlsZENvbmZpZyA9PiB7XHJcblxyXG4gICAgICAgIGxldCBjaGlsZCA9IHRoaXMuZmllbGRzLmZpbmQoeCA9PiB4Lm5hbWUgPT0gY2hpbGRDb25maWcuY2hpbGRGaWVsZClcclxuICAgICAgICBjb25zb2xlLmxvZyhcIkNoaWxkIGZvdW5kXCIpXHJcblxyXG4gICAgICAgIHRoaXMuZGF0YVtjaGlsZC5uYW1lXSA9IGZpZWxkLm9wdGlvbnMuZmluZCh4ID0+IHhbZmllbGQub3B0aW9uVmFsdWVdID09IHZhbHVlKVtjaGlsZENvbmZpZy5jaGlsZFZhbHVlRmllbGRdXHJcblxyXG4gICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ2hpbGRPcHRpb25zKG1hc3RlckZpZWxkOiBGaWVsZCl7XHJcblxyXG4gICAgbGV0IGNoaWxkID0gdGhpcy5jaGlsZEZpZWxkcy5maW5kKHggPT4geC5tYXN0ZXJGaWVsZCA9PSBtYXN0ZXJGaWVsZC5uYW1lKVxyXG4gICAgaWYgKGNoaWxkICE9IG51bGwpIHtcclxuXHJcbiAgICAgIC8vY3VycmVudCBpcyBtYXN0ZXJcclxuXHJcbiAgICAgIC8vZmlsdGVyIGNoaWxkIG9wdGlvbnMgYmFzZWQgb24gbWFzdGVyIHZhbHVlXHJcbiAgICAgIGNoaWxkLm9wdGlvbnMgPSBjaGlsZC5tYXN0ZXJPcHRpb25zLmZpbHRlcih4ID0+IHhbbWFzdGVyRmllbGQub3B0aW9uVmFsdWVdID09IHRoaXMuZGF0YVttYXN0ZXJGaWVsZC5uYW1lXSlcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGhhbmRsZUluZm9DbGljayhmaWVsZDogRmllbGQpIHtcclxuICAgIGlmIChmaWVsZC5pbmZvTWVzc2FnZSkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8oZmllbGQuaW5mb01lc3NhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYnV0dG9uQ2xpY2tlZCgpe1xyXG5cclxuICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCh0aGlzLmRhdGEpO1xyXG5cclxuICAgIGxldCBidXR0b24gPSB0aGlzLmNvbmZpZy5idXR0b247XHJcblxyXG4gICAgaWYgKCFidXR0b24pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vdmFsaWRhdGlvblxyXG4gICAgbGV0IHJlc3AgPSBDb3JlLnZhbGlkYXRlT2JqZWN0KHRoaXMuZ2V0VmlzaWJsZUZpZWxkcygpLHRoaXMuZGF0YSk7XHJcbiAgICBpZiAocmVzcCAhPSAnJyl7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QocmVzcClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgaWYgKHRoaXMuZmlsZXMubGVuZ3RoIDwgMSAmJiB0aGlzLmZpbGVGaWVsZD8ucmVxdWlyZWQgJiYgdGhpcy5jb25maWcubW9kZSA9PSdjcmVhdGUnKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJQbGVhc2UgYXR0YWNoIGZpbGUocylcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgaWYgKGJ1dHRvbi5jb25maXJtKXtcclxuXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY29uZmlybShgJHtidXR0b24uY29uZmlybS5tZXNzYWdlfWApLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PSBcInllc1wiKSB7XHJcbiAgICAgICAgICB0aGlzLnByb2Nlc3NDYWxsKGJ1dHRvbilcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnByb2Nlc3NDYWxsKGJ1dHRvbilcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBwcm9jZXNzQ2FsbChidXR0b246IEJ1dHRvbil7XHJcblxyXG4gICAgaWYgKCFidXR0b24uYWN0aW9uKSByZXR1cm5cclxuXHJcbiAgICBsZXQgZGF0YU91dDtcclxuXHJcbiAgICBpZiAoYnV0dG9uLmFjdGlvbi5pc0Zvcm1EYXRhKXtcclxuXHJcbiAgICAgIGxldCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGB1cGxvYWRGaWxlJHtpfWAsIHRoaXMuZmlsZXNbaV0sIHRoaXMuZmlsZXNbaV0ubmFtZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChcImRhdGFcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy5kYXRhKSk7XHJcblxyXG5cclxuICAgICAgZGF0YU91dCA9IGZvcm1EYXRhXHJcbiAgICB9ZWxzZXtcclxuXHJcbiAgICAgIGRhdGFPdXQgPSB0aGlzLmRhdGFcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gdHJ1ZVxyXG4gICAgdGhpcy5kYXRhU2VydmljZS5DYWxsQXBpKGJ1dHRvbi5hY3Rpb24sIGRhdGFPdXQpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZVxyXG5cclxuICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgaWYgKGJ1dHRvbi5hY3Rpb24uc3VjY2Vzc01lc3NhZ2UpIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYnV0dG9uLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJTdWJtaXR0ZWRcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5jb25maWcucmVzZXQpIHtcclxuICAgICAgICAgIENvcmUucmVzZXRPYmplY3QodGhpcy5maWVsZHMsIHRoaXMuZGF0YSlcclxuICAgICAgICAgIHRoaXMuZmlsZXMgPSBbXTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvY2Vzc0Zvcm0oKXtcclxuXHJcblxyXG5cclxuXHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4iLCJcclxuPGRpdiBbbmdDbGFzc109XCJtdWx0aUNvbHVtbiA/ICd0aW4tZ3JpZCcgOiAndGluLWNvbCdcIj5cclxuXHJcbiAgPGRpdiBbbmdDbGFzc109XCJmaWVsZC5zcGFuIHx8IGZpZWxkLnR5cGUgPT0nc2VjdGlvbicgfHwgZmllbGQudHlwZSA9PSdmaWxlJyB8fCBmaWVsZC50eXBlID09J2ZpbGUtdmlldycgID8gJ3NwYW4tY29sJyA6ICcnXCIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGdldFZpc2libGVGaWVsZHMoKVwiPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgID5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpZWxkLnR5cGVcIiBjbGFzcz1cImhpZ2hsaWdodFwiPlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInc2VjdGlvbidcIiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICA8bGFiZWwgc3R5bGU9XCJmb250LXNpemU6IGxhcmdlcjtcIj57e2ZpZWxkLm5hbWUgfCBjYW1lbFRvV29yZHN9fTwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidmaWxlJ1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEgbWItMlwiICpuZ0lmPVwiY29uZmlnLm1vZGUgIT0ndmlldydcIj5cclxuICAgICAgICAgICAgPHNwYS1hdHRhY2ggbWVzc2FnZT1cIkRyYWcgYW5kIERyb3AgZmlsZXMgaGVyZVwiIFsoZmlsZXMpXT1cImZpbGVzXCI+PC9zcGEtYXR0YWNoPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidmaWxlLXZpZXcnXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMSBtYi0yXCIgKm5nSWY9XCJjb25maWcubW9kZSAmJiBjb25maWcubW9kZSAhPSdjcmVhdGUnXCI+XHJcbiAgICAgICAgICAgIDxzcGEtdmlld2VyIFtmaWxlQWN0aW9uXT1cImNvbmZpZy5maWxlQWN0aW9uXCIgW3BhdGhdPVwiZmllbGQucGF0aFwiIFtmb2xkZXJOYW1lXT1cImRhdGFbZmllbGQua2V5RmlsZWROYW1lXVwiID48L3NwYS12aWV3ZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG4gICAgICAgIDxsYWJlbCAqbmdTd2l0Y2hDYXNlPVwiJ2JsYW5rJ1wiPjwvbGFiZWw+XHJcblxyXG4gICAgICAgIDxsYWJlbCAqbmdTd2l0Y2hDYXNlPVwiJ3N0cmluZydcIiBbbmdTdHlsZV09XCJ7J2ZvbnQtc2l6ZSc6ZmllbGQuc2l6ZSA/PyAnMTRweCd9XCIgPnt7ZGF0YVtmaWVsZC5uYW1lXSA/PyBmaWVsZC5hbGlhcyA/PyBmaWVsZC5uYW1lfX08L2xhYmVsPlxyXG5cclxuICAgICAgICA8c3BhLWxhYmVsICpuZ1N3aXRjaENhc2U9XCInbGFiZWwnXCIgW2Rpc3BsYXldPVwiZmllbGQuYWxpYXMgPz8gZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFt2YWx1ZV09XCJkYXRhW2ZpZWxkLm5hbWVdXCIgKHZhbHVlQ2hhbmdlKT1cImlucHV0Q2hhbmdlZChmaWVsZCwgZGF0YVtmaWVsZC5uYW1lXSlcIiA+PC9zcGEtbGFiZWw+XHJcblxyXG4gICAgICAgIDxzcGEtbnVtYmVyICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiIFtkaXNwbGF5XT1cImZpZWxkLmFsaWFzID8/IGZpZWxkLm5hbWUgfCBjYW1lbFRvV29yZHNcIiBbd2lkdGhdPVwiZmllbGQud2lkdGhcIiBbKHZhbHVlKV09XCJkYXRhW2ZpZWxkLm5hbWVdXCIgKHZhbHVlQ2hhbmdlKT1cImlucHV0Q2hhbmdlZChmaWVsZCwgZGF0YVtmaWVsZC5uYW1lXSlcIiBbcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIiBbbWluXT1cImZpZWxkLm1pblwiIFttYXhdPVwiZmllbGQubWF4XCIgW3JlYWRvbmx5XT1cInRlc3RSZWFkT25seShmaWVsZClcIiBbaGludF09XCJmaWVsZC5oaW50XCIgW2luZm9NZXNzYWdlXT1cImZpZWxkLmluZm9NZXNzYWdlXCIgKGluZm9DbGljayk9XCJoYW5kbGVJbmZvQ2xpY2soZmllbGQpXCIgW3N1ZmZpeF09XCJmaWVsZC5zdWZmaXhcIj48L3NwYS1udW1iZXI+XHJcblxyXG4gICAgICAgIDxzcGEtbW9uZXkgKm5nU3dpdGNoQ2FzZT1cIidtb25leSdcIiBbZGlzcGxheV09XCJmaWVsZC5hbGlhcyA/PyBmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgW3dpZHRoXT1cImZpZWxkLndpZHRoXCIgWyh2YWx1ZSldPVwiZGF0YVtmaWVsZC5uYW1lXVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoZmllbGQsIGRhdGFbZmllbGQubmFtZV0pXCIgW3JlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCIgW21pbl09XCJmaWVsZC5taW5cIiBbbWF4XT1cImZpZWxkLm1heFwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpXCIgW2hpbnRdPVwiZmllbGQuaGludFwiIFtpbmZvTWVzc2FnZV09XCJmaWVsZC5pbmZvTWVzc2FnZVwiIChpbmZvQ2xpY2spPVwiaGFuZGxlSW5mb0NsaWNrKGZpZWxkKVwiPjwvc3BhLW1vbmV5PlxyXG5cclxuICAgICAgICA8c3BhLWNoZWNrICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCIgW2Rpc3BsYXldPVwiZmllbGQuYWxpYXMgPz8gZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFsodmFsdWUpXT1cImRhdGFbZmllbGQubmFtZV1cIiAodmFsdWVDaGFuZ2UpPVwiaW5wdXRDaGFuZ2VkKGZpZWxkLCBkYXRhW2ZpZWxkLm5hbWVdKVwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpXCIgW2luZm9NZXNzYWdlXT1cImZpZWxkLmluZm9NZXNzYWdlXCIgKGluZm9DbGljayk9XCJoYW5kbGVJbmZvQ2xpY2soZmllbGQpXCI+PC9zcGEtY2hlY2s+XHJcblxyXG4gICAgICAgIDxzcGEtZGF0ZSAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCIgW2Rpc3BsYXldPVwiZmllbGQuYWxpYXMgPz8gZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFt3aWR0aF09XCJmaWVsZC53aWR0aFwiIFsodmFsdWUpXT1cImRhdGFbZmllbGQubmFtZV1cIiAodmFsdWVDaGFuZ2UpPVwiaW5wdXRDaGFuZ2VkKGZpZWxkLCBkYXRhW2ZpZWxkLm5hbWVdKVwiIFttaW5dPVwiZmllbGQ/Lm1pblwiIFttYXhdPVwiZmllbGQ/Lm1heFwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpXCIgW2hpbnRdPVwiZmllbGQuaGludFwiIFtpbmZvTWVzc2FnZV09XCJmaWVsZC5pbmZvTWVzc2FnZVwiIChpbmZvQ2xpY2spPVwiaGFuZGxlSW5mb0NsaWNrKGZpZWxkKVwiPjwvc3BhLWRhdGU+XHJcblxyXG4gICAgICAgIDxzcGEtZGF0ZXRpbWUgKm5nU3dpdGNoQ2FzZT1cIidkYXRldGltZSdcIiBbZGlzcGxheV09XCJmaWVsZC5hbGlhcyA/PyBmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgWyh2YWx1ZSldPVwiZGF0YVtmaWVsZC5uYW1lXVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoZmllbGQsIGRhdGFbZmllbGQubmFtZV0pXCIgW3JlYWRvbmx5XT1cInRlc3RSZWFkT25seShmaWVsZClcIiBbbWluXT1cImZpZWxkLm1pblwiIFttYXhdPVwiZmllbGQubWF4XCIgW2luZm9NZXNzYWdlXT1cImZpZWxkLmluZm9NZXNzYWdlXCIgKGluZm9DbGljayk9XCJoYW5kbGVJbmZvQ2xpY2soZmllbGQpXCI+PC9zcGEtZGF0ZXRpbWU+XHJcblxyXG4gICAgICAgIDxzcGEtc2VsZWN0ICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiXHJcbiAgICAgICAgICBbd2lkdGhdPVwiZmllbGQud2lkdGhcIlxyXG4gICAgICAgICAgW2Rpc3BsYXldPVwiZmllbGQuYWxpYXMgPz8gZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFtudWxsYWJsZV09XCJmaWVsZC5udWxsYWJsZVwiXHJcbiAgICAgICAgICBbb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCIgW21hc3Rlck9wdGlvbnNdPVwiZmllbGQubWFzdGVyT3B0aW9uc1wiIFtvcHRpb25EaXNwbGF5XT1cImZpZWxkLm9wdGlvbkRpc3BsYXkgPz8gJ25hbWUnXCIgW29wdGlvblZhbHVlXT1cImZpZWxkLm9wdGlvblZhbHVlID8/ICd2YWx1ZSdcIlxyXG4gICAgICAgICAgWyh2YWx1ZSldPVwiZGF0YVtmaWVsZC5uYW1lXVwiIFtkZWZhdWx0Rmlyc3RWYWx1ZV09XCJmaWVsZC5kZWZhdWx0Rmlyc3RWYWx1ZVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoZmllbGQsIGRhdGFbZmllbGQubmFtZV0pXCJcclxuICAgICAgICAgIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpXCJcclxuICAgICAgICAgIFtoaW50XT1cImZpZWxkLmhpbnRcIlxyXG4gICAgICAgICAgW3BlZWtDb25maWddPVwiZmllbGQucGVla0NvbmZpZ1wiXHJcbiAgICAgICAgICBbaW5mb01lc3NhZ2VdPVwiZmllbGQuaW5mb01lc3NhZ2VcIlxyXG4gICAgICAgICAgW2NvcHlDb250ZW50XT1cImZpZWxkLmNvcHlDb250ZW50XCJcclxuICAgICAgICAgPlxyXG4gICAgICAgIDwvc3BhLXNlbGVjdD5cclxuXHJcbiAgICAgICAgPHNwYS1zZWxlY3QgKm5nU3dpdGNoQ2FzZT1cIidtdWx0aS1zZWxlY3QnXCIgW2Rpc3BsYXldPVwiZmllbGQuYWxpYXMgPz8gZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFt3aWR0aF09XCJmaWVsZC53aWR0aFwiIFtvcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIiBbb3B0aW9uRGlzcGxheV09XCJmaWVsZC5vcHRpb25EaXNwbGF5ID8/ICduYW1lJ1wiIFtvcHRpb25WYWx1ZV09XCJmaWVsZC5vcHRpb25WYWx1ZSA/PyAndmFsdWUnXCIgWyh2YWx1ZSldPVwiZGF0YVtmaWVsZC5uYW1lXVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoZmllbGQsIGRhdGFbZmllbGQubmFtZV0pXCIgW3JlYWRvbmx5XT1cInRlc3RSZWFkT25seShmaWVsZClcIiBbbXVsdGlwbGVdPVwidHJ1ZVwiIFtoaW50XT1cImZpZWxkLmhpbnRcIiBbaW5mb01lc3NhZ2VdPVwiZmllbGQuaW5mb01lc3NhZ2VcIiAoaW5mb0NsaWNrKT1cImhhbmRsZUluZm9DbGljayhmaWVsZClcIj5cclxuICAgICAgICA8L3NwYS1zZWxlY3Q+XHJcblxyXG4gICAgICAgIDxzcGEtZW1haWwgKm5nU3dpdGNoQ2FzZT1cIidlbWFpbCdcIiBbZGlzcGxheV09XCJmaWVsZC5hbGlhcyA/PyBmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgWyh2YWx1ZSldPVwiZGF0YVtmaWVsZC5uYW1lXVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoZmllbGQsZGF0YVtmaWVsZC5uYW1lXSlcIiBbcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIiBbcmVhZG9ubHldPVwidGVzdFJlYWRPbmx5KGZpZWxkKVwiIFtoaW50XT1cImZpZWxkLmhpbnRcIiBbaW5mb01lc3NhZ2VdPVwiZmllbGQuaW5mb01lc3NhZ2VcIiAoaW5mb0NsaWNrKT1cImhhbmRsZUluZm9DbGljayhmaWVsZClcIiBbc3VmZml4XT1cImZpZWxkLnN1ZmZpeFwiPjwvc3BhLWVtYWlsPlxyXG5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbXBvc2l0ZSdcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21wb3NpdGUtZmllbGQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21wb3NpdGUtZmllbGQtZ3JvdXBcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWJmaWVsZCBvZiBnZXRWaXNpYmxlU3ViZmllbGRzKGZpZWxkKVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic3ViZmllbGQudHlwZVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPHNwYS1udW1iZXIgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCIgW2Rpc3BsYXldPVwic3ViZmllbGQuYWxpYXMgPz8gc3ViZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFt3aWR0aF09XCJzdWJmaWVsZC53aWR0aFwiIFsodmFsdWUpXT1cImRhdGFbc3ViZmllbGQubmFtZV1cIiAodmFsdWVDaGFuZ2UpPVwiaW5wdXRDaGFuZ2VkKHN1YmZpZWxkLCAkZXZlbnQpXCIgW3JlcXVpcmVkXT1cInN1YmZpZWxkLnJlcXVpcmVkXCIgW21pbl09XCJzdWJmaWVsZC5taW5cIiBbbWF4XT1cInN1YmZpZWxkLm1heFwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpIHx8IHRlc3RSZWFkT25seShzdWJmaWVsZClcIiBbaGludF09XCJzdWJmaWVsZC5oaW50XCIgW2luZm9NZXNzYWdlXT1cInN1YmZpZWxkLmluZm9NZXNzYWdlXCIgKGluZm9DbGljayk9XCJoYW5kbGVJbmZvQ2xpY2soc3ViZmllbGQpXCIgW3N1ZmZpeF09XCJzdWJmaWVsZC5zdWZmaXhcIj48L3NwYS1udW1iZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8c3BhLW1vbmV5ICpuZ1N3aXRjaENhc2U9XCInbW9uZXknXCIgW2Rpc3BsYXldPVwic3ViZmllbGQuYWxpYXMgPz8gc3ViZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFt3aWR0aF09XCJzdWJmaWVsZC53aWR0aFwiIFsodmFsdWUpXT1cImRhdGFbc3ViZmllbGQubmFtZV1cIiAodmFsdWVDaGFuZ2UpPVwiaW5wdXRDaGFuZ2VkKHN1YmZpZWxkLCAkZXZlbnQpXCIgW3JlcXVpcmVkXT1cInN1YmZpZWxkLnJlcXVpcmVkXCIgW21pbl09XCJzdWJmaWVsZC5taW5cIiBbbWF4XT1cInN1YmZpZWxkLm1heFwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpIHx8IHRlc3RSZWFkT25seShzdWJmaWVsZClcIiBbaGludF09XCJzdWJmaWVsZC5oaW50XCIgW2luZm9NZXNzYWdlXT1cInN1YmZpZWxkLmluZm9NZXNzYWdlXCIgKGluZm9DbGljayk9XCJoYW5kbGVJbmZvQ2xpY2soc3ViZmllbGQpXCI+PC9zcGEtbW9uZXk+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8c3BhLWNoZWNrICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCIgW2Rpc3BsYXldPVwic3ViZmllbGQuYWxpYXMgPz8gc3ViZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiIFsodmFsdWUpXT1cImRhdGFbc3ViZmllbGQubmFtZV1cIiAodmFsdWVDaGFuZ2UpPVwiaW5wdXRDaGFuZ2VkKHN1YmZpZWxkLCAkZXZlbnQpXCIgW3JlYWRvbmx5XT1cInRlc3RSZWFkT25seShmaWVsZCkgfHwgdGVzdFJlYWRPbmx5KHN1YmZpZWxkKVwiIFtpbmZvTWVzc2FnZV09XCJzdWJmaWVsZC5pbmZvTWVzc2FnZVwiIChpbmZvQ2xpY2spPVwiaGFuZGxlSW5mb0NsaWNrKHN1YmZpZWxkKVwiPjwvc3BhLWNoZWNrPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPHNwYS1kYXRlICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIiBbZGlzcGxheV09XCJzdWJmaWVsZC5hbGlhcyA/PyBzdWJmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgW3dpZHRoXT1cInN1YmZpZWxkLndpZHRoXCIgWyh2YWx1ZSldPVwiZGF0YVtzdWJmaWVsZC5uYW1lXVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoc3ViZmllbGQsICRldmVudClcIiBbbWluXT1cInN1YmZpZWxkLm1pblwiIFttYXhdPVwic3ViZmllbGQubWF4XCIgW3JlYWRvbmx5XT1cInRlc3RSZWFkT25seShmaWVsZCkgfHwgdGVzdFJlYWRPbmx5KHN1YmZpZWxkKVwiIFtoaW50XT1cInN1YmZpZWxkLmhpbnRcIiBbaW5mb01lc3NhZ2VdPVwic3ViZmllbGQuaW5mb01lc3NhZ2VcIiAoaW5mb0NsaWNrKT1cImhhbmRsZUluZm9DbGljayhzdWJmaWVsZClcIj48L3NwYS1kYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPHNwYS1kYXRldGltZSAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGV0aW1lJ1wiIFtkaXNwbGF5XT1cInN1YmZpZWxkLmFsaWFzID8/IHN1YmZpZWxkLm5hbWUgfCBjYW1lbFRvV29yZHNcIiBbKHZhbHVlKV09XCJkYXRhW3N1YmZpZWxkLm5hbWVdXCIgKHZhbHVlQ2hhbmdlKT1cImlucHV0Q2hhbmdlZChzdWJmaWVsZCwgJGV2ZW50KVwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpIHx8IHRlc3RSZWFkT25seShzdWJmaWVsZClcIiBbbWluXT1cInN1YmZpZWxkLm1pblwiIFttYXhdPVwic3ViZmllbGQubWF4XCIgW2luZm9NZXNzYWdlXT1cInN1YmZpZWxkLmluZm9NZXNzYWdlXCIgKGluZm9DbGljayk9XCJoYW5kbGVJbmZvQ2xpY2soc3ViZmllbGQpXCI+PC9zcGEtZGF0ZXRpbWU+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8c3BhLXNlbGVjdCAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIiBbZGlzcGxheV09XCJzdWJmaWVsZC5hbGlhcyA/PyBzdWJmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgW3dpZHRoXT1cInN1YmZpZWxkLndpZHRoXCIgW251bGxhYmxlXT1cInN1YmZpZWxkLm51bGxhYmxlXCIgW29wdGlvbnNdPVwic3ViZmllbGQub3B0aW9uc1wiIFttYXN0ZXJPcHRpb25zXT1cInN1YmZpZWxkLm1hc3Rlck9wdGlvbnNcIiBbb3B0aW9uRGlzcGxheV09XCJzdWJmaWVsZC5vcHRpb25EaXNwbGF5ID8/ICduYW1lJ1wiIFtvcHRpb25WYWx1ZV09XCJzdWJmaWVsZC5vcHRpb25WYWx1ZSA/PyAndmFsdWUnXCIgWyh2YWx1ZSldPVwiZGF0YVtzdWJmaWVsZC5uYW1lXVwiIFtkZWZhdWx0Rmlyc3RWYWx1ZV09XCJzdWJmaWVsZC5kZWZhdWx0Rmlyc3RWYWx1ZVwiICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZWQoc3ViZmllbGQsICRldmVudClcIiBbcmVhZG9ubHldPVwidGVzdFJlYWRPbmx5KGZpZWxkKSB8fCB0ZXN0UmVhZE9ubHkoc3ViZmllbGQpXCIgW2hpbnRdPVwic3ViZmllbGQuaGludFwiIFtwZWVrQ29uZmlnXT1cInN1YmZpZWxkLnBlZWtDb25maWdcIiBbaW5mb01lc3NhZ2VdPVwic3ViZmllbGQuaW5mb01lc3NhZ2VcIiBbY29weUNvbnRlbnRdPVwiZmllbGQuY29weUNvbnRlbnRcIj48L3NwYS1zZWxlY3Q+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8c3BhLXRleHQgKm5nU3dpdGNoRGVmYXVsdCBbZGlzcGxheV09XCJzdWJmaWVsZC5hbGlhcyA/PyBzdWJmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgW3dpZHRoXT1cInN1YmZpZWxkLndpZHRoXCIgIFtvcHRpb25zXT1cInN1YmZpZWxkLm9wdGlvbnNcIiBbb3B0aW9uVmFsdWVdPVwic3ViZmllbGQub3B0aW9uVmFsdWUgPz8gJ3ZhbHVlJ1wiIFtyb3dzXT1cInN1YmZpZWxkLnJvd3NcIiBbKHZhbHVlKV09XCJkYXRhW3N1YmZpZWxkLm5hbWVdXCIgKHZhbHVlQ2hhbmdlKT1cImlucHV0Q2hhbmdlZChzdWJmaWVsZCwgJGV2ZW50KVwiIFtyZXF1aXJlZF09XCJzdWJmaWVsZC5yZXF1aXJlZFwiIFttaW5dPVwic3ViZmllbGQubWluXCIgW21heF09XCJzdWJmaWVsZC5tYXhcIiBbcmVhZG9ubHldPVwidGVzdFJlYWRPbmx5KGZpZWxkKSB8fCB0ZXN0UmVhZE9ubHkoc3ViZmllbGQpXCIgW2hpbnRdPVwic3ViZmllbGQuaGludFwiIFtpbmZvTWVzc2FnZV09XCJzdWJmaWVsZC5pbmZvTWVzc2FnZVwiIChpbmZvQ2xpY2spPVwiaGFuZGxlSW5mb0NsaWNrKHN1YmZpZWxkKVwiIFtzdWZmaXhdPVwic3ViZmllbGQuc3VmZml4XCIgW2NvcHlDb250ZW50XT1cImZpZWxkLmNvcHlDb250ZW50XCI+PC9zcGEtdGV4dD5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuICAgICAgICA8c3BhLXRleHQgKm5nU3dpdGNoRGVmYXVsdCBbZGlzcGxheV09XCJmaWVsZC5hbGlhcyA/PyBmaWVsZC5uYW1lIHwgY2FtZWxUb1dvcmRzXCIgW3dpZHRoXT1cImZpZWxkLndpZHRoXCIgW29wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiIFtvcHRpb25WYWx1ZV09XCJmaWVsZC5vcHRpb25WYWx1ZSA/PyAndmFsdWUnXCIgW3Jvd3NdPVwiZmllbGQucm93c1wiIFsodmFsdWUpXT1cImRhdGFbZmllbGQubmFtZV1cIiAodmFsdWVDaGFuZ2UpPVwiaW5wdXRDaGFuZ2VkKGZpZWxkLGRhdGFbZmllbGQubmFtZV0pXCIgW3JlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCIgW21pbl09XCJmaWVsZC5taW5cIiBbbWF4XT1cImZpZWxkLm1heFwiIFtyZWFkb25seV09XCJ0ZXN0UmVhZE9ubHkoZmllbGQpXCIgW2hpbnRdPVwiZmllbGQuaGludFwiIFtpbmZvTWVzc2FnZV09XCJmaWVsZC5pbmZvTWVzc2FnZVwiIChpbmZvQ2xpY2spPVwiaGFuZGxlSW5mb0NsaWNrKGZpZWxkKVwiIFtzdWZmaXhdPVwiZmllbGQuc3VmZml4XCIgW2NvcHlDb250ZW50XT1cImZpZWxkLmNvcHlDb250ZW50XCI+PC9zcGEtdGV4dD5cclxuXHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8L2Rpdj5cclxuXHJcblxyXG4gIDxkaXYgY2xhc3M9XCJzcGFuLWNvbC1jZW50ZXJcIiAqbmdJZj1cImNvbmZpZy5idXR0b25cIj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgIChjbGljayk9XCJidXR0b25DbGlja2VkKClcIiAgY2RrRm9jdXNJbml0aWFsPnt7YnV0dG9uRGlzcGxheX19PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -57,7 +57,7 @@ export class ListDialogComponent {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
ListDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ListDialogComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
-
ListDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ListDialogComponent, selector: "spa-list-dialog", ngImport: i0, template: "<div>\n\n <label style=\"font-size: 24px;\">{{listConfig?.title ?? 'List'}}</label>\n\n</div>\n\n<mat-dialog-content class=\"mat-typography\">\n\n <div style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" [reload]=\"tableReload\" (actionClick)=\"actionClicked()\"></spa-table>\n </div>\n\n\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-button (click)=\"close()\" >Ok</button>\n</mat-dialog-actions>\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange"] }] });
|
|
60
|
+
ListDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ListDialogComponent, selector: "spa-list-dialog", ngImport: i0, template: "<div>\n\n <label style=\"font-size: 24px;\">{{listConfig?.title ?? 'List'}}</label>\n\n</div>\n\n<mat-dialog-content class=\"mat-typography\">\n\n <div style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" [reload]=\"tableReload\" (actionClick)=\"actionClicked()\"></spa-table>\n </div>\n\n\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-button (click)=\"close()\" >Ok</button>\n</mat-dialog-actions>\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "tileData", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange"] }] });
|
|
61
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ListDialogComponent, decorators: [{
|
|
62
62
|
type: Component,
|
|
63
63
|
args: [{ selector: 'spa-list-dialog', template: "<div>\n\n <label style=\"font-size: 24px;\">{{listConfig?.title ?? 'List'}}</label>\n\n</div>\n\n<mat-dialog-content class=\"mat-typography\">\n\n <div style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" [reload]=\"tableReload\" (actionClick)=\"actionClicked()\"></spa-table>\n </div>\n\n\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-button (click)=\"close()\" >Ok</button>\n</mat-dialog-actions>\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"] }]
|
|
@@ -40,10 +40,10 @@ export class OptionComponent {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: OptionComponent, selector: "spa-option", inputs: { options: "options", optionValue: "optionValue", optionDisplay: "optionDisplay", readonly: "readonly", type: "type", value: "value", display: "display", show: "show", required: "required" }, outputs: { valueChange: "valueChange", enterPress: "enterPress" }, ngImport: i0, template: "\r\n<div class=\"tin-row gap-0\">\r\n\r\n<mat-checkbox color=\"primary\" style=\"margin-right:5px\" [(ngModel)]=\"show\" (change)=\"resetValue()\" labelPosition=\"after\" [disabled]=\"required\" >{{display}}</mat-checkbox>\r\n\r\n<mat-form-field style=\"margin-right:5px;width: 0px;\" >\r\n<input matInput />\r\n</mat-form-field>\r\n\r\n\r\n<ng-container *ngIf=\"show\" [ngSwitch]=\"type\">\r\n\r\n <spa-date *ngSwitchCase=\"'date'\" [display]=\"display\" [(value)]=\"value\" [display]=\"display\" (valueChange)=\"dateChanged($event)\"></spa-date>\r\n\r\n <spa-select *ngSwitchCase=\"'select'\" [display]=\"display\" [options]=\"options\" [optionDisplay]=\"optionDisplay\" [optionValue]=\"optionValue\" [(value)]=\"value\" (valueChange)=\"changed()\">\r\n </spa-select>\r\n\r\n <spa-text *ngSwitchDefault [display]=\"display\" (keyup.enter)=\"enterPressed()\" [options]=\"options\" [optionValue]=\"optionValue\" [(value)]=\"value\" (valueChange)=\"changed()\"></spa-text>\r\n\r\n</ng-container>\r\n\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.TextComponent, selector: "spa-text", inputs: ["readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "options", "optionValue", "required", "min", "max", "regex", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "component", type: i7.DateComponent, selector: "spa-date", inputs: ["required", "min", "max", "readonly", "hint", "value", "display", "placeholder", "width", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i8.SelectComponent, selector: "spa-select", inputs: ["width", "readonly", "required", "defaultFirstValue", "readonlyMode", "hint", "placeholder", "multiple", "display", "value", "options", "masterOptions", "optionValue", "optionDisplay", "optionDisplayExtra", "nullable", "peekConfig", "infoMessage"], outputs: ["valueChange", "infoClick"] }] });
|
|
43
|
+
OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: OptionComponent, selector: "spa-option", inputs: { options: "options", optionValue: "optionValue", optionDisplay: "optionDisplay", readonly: "readonly", type: "type", value: "value", display: "display", show: "show", required: "required" }, outputs: { valueChange: "valueChange", enterPress: "enterPress" }, ngImport: i0, template: "\r\n<div class=\"tin-row gap-0\">\r\n\r\n<mat-checkbox color=\"primary\" style=\"margin-right:5px\" [(ngModel)]=\"show\" (change)=\"resetValue()\" labelPosition=\"after\" [disabled]=\"required\" >{{display}}</mat-checkbox>\r\n\r\n<mat-form-field style=\"margin-right:5px;width: 0px;\" >\r\n<input matInput />\r\n</mat-form-field>\r\n\r\n\r\n<ng-container *ngIf=\"show\" [ngSwitch]=\"type\">\r\n\r\n <spa-date *ngSwitchCase=\"'date'\" [display]=\"display\" width=\"120px\" [(value)]=\"value\" [display]=\"display\" (valueChange)=\"dateChanged($event)\"></spa-date>\r\n\r\n <spa-select *ngSwitchCase=\"'select'\" [display]=\"display\" [options]=\"options\" [optionDisplay]=\"optionDisplay\" [optionValue]=\"optionValue\" [(value)]=\"value\" (valueChange)=\"changed()\">\r\n </spa-select>\r\n\r\n <spa-text *ngSwitchDefault [display]=\"display\" (keyup.enter)=\"enterPressed()\" [options]=\"options\" [optionValue]=\"optionValue\" [(value)]=\"value\" (valueChange)=\"changed()\"></spa-text>\r\n\r\n</ng-container>\r\n\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.TextComponent, selector: "spa-text", inputs: ["readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "copyContent", "options", "optionValue", "required", "min", "max", "regex", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "component", type: i7.DateComponent, selector: "spa-date", inputs: ["required", "min", "max", "readonly", "hint", "value", "display", "placeholder", "width", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i8.SelectComponent, selector: "spa-select", inputs: ["width", "readonly", "required", "defaultFirstValue", "readonlyMode", "hint", "placeholder", "multiple", "display", "value", "options", "masterOptions", "optionValue", "optionDisplay", "optionDisplayExtra", "nullable", "peekConfig", "infoMessage", "copyContent"], outputs: ["valueChange", "infoClick"] }] });
|
|
44
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OptionComponent, decorators: [{
|
|
45
45
|
type: Component,
|
|
46
|
-
args: [{ selector: 'spa-option', template: "\r\n<div class=\"tin-row gap-0\">\r\n\r\n<mat-checkbox color=\"primary\" style=\"margin-right:5px\" [(ngModel)]=\"show\" (change)=\"resetValue()\" labelPosition=\"after\" [disabled]=\"required\" >{{display}}</mat-checkbox>\r\n\r\n<mat-form-field style=\"margin-right:5px;width: 0px;\" >\r\n<input matInput />\r\n</mat-form-field>\r\n\r\n\r\n<ng-container *ngIf=\"show\" [ngSwitch]=\"type\">\r\n\r\n <spa-date *ngSwitchCase=\"'date'\" [display]=\"display\" [(value)]=\"value\" [display]=\"display\" (valueChange)=\"dateChanged($event)\"></spa-date>\r\n\r\n <spa-select *ngSwitchCase=\"'select'\" [display]=\"display\" [options]=\"options\" [optionDisplay]=\"optionDisplay\" [optionValue]=\"optionValue\" [(value)]=\"value\" (valueChange)=\"changed()\">\r\n </spa-select>\r\n\r\n <spa-text *ngSwitchDefault [display]=\"display\" (keyup.enter)=\"enterPressed()\" [options]=\"options\" [optionValue]=\"optionValue\" [(value)]=\"value\" (valueChange)=\"changed()\"></spa-text>\r\n\r\n</ng-container>\r\n\r\n</div>\r\n" }]
|
|
46
|
+
args: [{ selector: 'spa-option', template: "\r\n<div class=\"tin-row gap-0\">\r\n\r\n<mat-checkbox color=\"primary\" style=\"margin-right:5px\" [(ngModel)]=\"show\" (change)=\"resetValue()\" labelPosition=\"after\" [disabled]=\"required\" >{{display}}</mat-checkbox>\r\n\r\n<mat-form-field style=\"margin-right:5px;width: 0px;\" >\r\n<input matInput />\r\n</mat-form-field>\r\n\r\n\r\n<ng-container *ngIf=\"show\" [ngSwitch]=\"type\">\r\n\r\n <spa-date *ngSwitchCase=\"'date'\" [display]=\"display\" width=\"120px\" [(value)]=\"value\" [display]=\"display\" (valueChange)=\"dateChanged($event)\"></spa-date>\r\n\r\n <spa-select *ngSwitchCase=\"'select'\" [display]=\"display\" [options]=\"options\" [optionDisplay]=\"optionDisplay\" [optionValue]=\"optionValue\" [(value)]=\"value\" (valueChange)=\"changed()\">\r\n </spa-select>\r\n\r\n <spa-text *ngSwitchDefault [display]=\"display\" (keyup.enter)=\"enterPressed()\" [options]=\"options\" [optionValue]=\"optionValue\" [(value)]=\"value\" (valueChange)=\"changed()\"></spa-text>\r\n\r\n</ng-container>\r\n\r\n</div>\r\n" }]
|
|
47
47
|
}], ctorParameters: function () { return []; }, propDecorators: { options: [{
|
|
48
48
|
type: Input
|
|
49
49
|
}], optionValue: [{
|
|
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
67
67
|
}], enterPress: [{
|
|
68
68
|
type: Output
|
|
69
69
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL29wdGlvbi9vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvb3B0aW9uL29wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBTy9FLE1BQU0sT0FBTyxlQUFlO0lBRTFCO1FBV1MsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixTQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ2QsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixTQUFJLEdBQVksS0FBSyxDQUFDO1FBQ3RCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHekIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBdkIxQixDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQXFCRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFBO1FBQ2QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ2hCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7NEdBM0NVLGVBQWU7Z0dBQWYsZUFBZSw2VENQNUIsNGdDQXNCQTsyRkRmYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7MEVBZ0JiLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS1vcHRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29wdGlvbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE9wdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5PR1ZhbHVlID0gdGhpcy52YWx1ZTtcclxuICB9XHJcblxyXG4gIE9HVmFsdWVcclxuXHJcblxyXG5cclxuICBASW5wdXQoKSBvcHRpb25zOiBhbnk7XHJcbiAgQElucHV0KCkgb3B0aW9uVmFsdWUgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIG9wdGlvbkRpc3BsYXkgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHR5cGUgPSBcInRleHRcIjtcclxuICBASW5wdXQoKSB2YWx1ZSA9IFwiXCI7XHJcbiAgQElucHV0KCkgZGlzcGxheSA9IFwiXCI7XHJcbiAgQElucHV0KCkgc2hvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGVudGVyUHJlc3MgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNoYW5nZWQoKSB7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBkYXRlQ2hhbmdlZCh4KXtcclxuICAgIHRoaXMudmFsdWUgPSB4XHJcbiAgICB0aGlzLmNoYW5nZWQoKVxyXG4gIH1cclxuXHJcbiAgZW50ZXJQcmVzc2VkKCl7XHJcbiAgICB0aGlzLmVudGVyUHJlc3MuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRWYWx1ZSgpe1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuT0dWYWx1ZTtcclxuICAgIHRoaXMuY2hhbmdlZCgpO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIlxyXG48ZGl2IGNsYXNzPVwidGluLXJvdyBnYXAtMFwiPlxyXG5cclxuPG1hdC1jaGVja2JveCBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDo1cHhcIiBbKG5nTW9kZWwpXT1cInNob3dcIiAoY2hhbmdlKT1cInJlc2V0VmFsdWUoKVwiIGxhYmVsUG9zaXRpb249XCJhZnRlclwiIFtkaXNhYmxlZF09XCJyZXF1aXJlZFwiID57e2Rpc3BsYXl9fTwvbWF0LWNoZWNrYm94PlxyXG5cclxuPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjVweDt3aWR0aDogMHB4O1wiID5cclxuPGlucHV0IG1hdElucHV0IC8+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dcIiBbbmdTd2l0Y2hdPVwidHlwZVwiPlxyXG5cclxuICA8c3BhLWRhdGUgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiIFtkaXNwbGF5XT1cImRpc3BsYXlcIiB3aWR0aD1cIjEyMHB4XCIgIFsodmFsdWUpXT1cInZhbHVlXCIgW2Rpc3BsYXldPVwiZGlzcGxheVwiICh2YWx1ZUNoYW5nZSk9XCJkYXRlQ2hhbmdlZCgkZXZlbnQpXCI+PC9zcGEtZGF0ZT5cclxuXHJcbiAgPHNwYS1zZWxlY3QgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3QnXCIgW2Rpc3BsYXldPVwiZGlzcGxheVwiICBbb3B0aW9uc109XCJvcHRpb25zXCIgW29wdGlvbkRpc3BsYXldPVwib3B0aW9uRGlzcGxheVwiIFtvcHRpb25WYWx1ZV09XCJvcHRpb25WYWx1ZVwiIFsodmFsdWUpXT1cInZhbHVlXCIgKHZhbHVlQ2hhbmdlKT1cImNoYW5nZWQoKVwiPlxyXG4gIDwvc3BhLXNlbGVjdD5cclxuXHJcbiAgPHNwYS10ZXh0ICpuZ1N3aXRjaERlZmF1bHQgW2Rpc3BsYXldPVwiZGlzcGxheVwiIChrZXl1cC5lbnRlcik9XCJlbnRlclByZXNzZWQoKVwiIFtvcHRpb25zXT1cIm9wdGlvbnNcIiBbb3B0aW9uVmFsdWVdPVwib3B0aW9uVmFsdWVcIiBbKHZhbHVlKV09XCJ2YWx1ZVwiICh2YWx1ZUNoYW5nZSk9XCJjaGFuZ2VkKClcIj48L3NwYS10ZXh0PlxyXG5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48L2Rpdj5cclxuIl19
|