@provoly/dashboard 1.3.11 → 1.3.13

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.
Files changed (38) hide show
  1. package/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.d.ts +1 -0
  2. package/admin/i18n/en.translations.d.ts +1 -0
  3. package/admin/i18n/fr.translations.d.ts +1 -0
  4. package/components/paginator/paginator.component.d.ts +2 -1
  5. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +9 -6
  6. package/esm2022/admin/i18n/en.translations.mjs +2 -1
  7. package/esm2022/admin/i18n/fr.translations.mjs +2 -1
  8. package/esm2022/components/data-format/data-format.pipe.mjs +2 -2
  9. package/esm2022/components/paginator/paginator.component.mjs +9 -2
  10. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +3 -3
  11. package/esm2022/import/components/list/import-list.component.mjs +16 -8
  12. package/esm2022/lib/core/store/data-source/data-source.actions.mjs +1 -1
  13. package/esm2022/lib/core/store/data-source/data-source.service.mjs +4 -4
  14. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +4 -3
  15. package/esm2022/widgets/widget-detail/widget-detail.module.mjs +8 -4
  16. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +1 -1
  17. package/fesm2022/provoly-dashboard-admin.mjs +10 -5
  18. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  19. package/fesm2022/provoly-dashboard-components-data-format.mjs +1 -1
  20. package/fesm2022/provoly-dashboard-components-data-format.mjs.map +1 -1
  21. package/fesm2022/provoly-dashboard-components-paginator.mjs +8 -1
  22. package/fesm2022/provoly-dashboard-components-paginator.mjs.map +1 -1
  23. package/fesm2022/provoly-dashboard-dataset.mjs +2 -2
  24. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  25. package/fesm2022/provoly-dashboard-import.mjs +15 -8
  26. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  27. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +10 -5
  28. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
  29. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +1 -1
  30. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  31. package/fesm2022/provoly-dashboard.mjs +3 -3
  32. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  33. package/import/components/list/import-list.component.d.ts +5 -3
  34. package/lib/core/store/data-source/data-source.actions.d.ts +4 -4
  35. package/lib/core/store/data-source/data-source.effects.d.ts +2 -2
  36. package/lib/core/store/data-source/data-source.service.d.ts +2 -2
  37. package/package.json +37 -37
  38. package/widgets/widget-detail/widget-detail.module.d.ts +2 -1
@@ -68,11 +68,11 @@ export class DataSourceService {
68
68
  if (sortBy)
69
69
  params = params.set('sortBy', sortBy).set('orderBy', orderBy ?? 'ASC');
70
70
  if (dateMin)
71
- params = params.set('dateMin', dateMin);
71
+ params = params.set('dateMin', new Date(dateMin).toISOString());
72
72
  if (dateMax)
73
- params = params.set('dateMax', dateMax);
73
+ params = params.set('dateMax', new Date(dateMax).toISOString());
74
74
  if (status)
75
- params = params.set('status', status);
75
+ params = params.set('state', status);
76
76
  return this.httpClient.get(encodeURI(`${url}/dataset-versions`), {
77
77
  params,
78
78
  observe: 'response'
@@ -130,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
130
130
  providedIn: 'root'
131
131
  }]
132
132
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.HttpClient }, { type: i3.PryI18nService }] });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQWM1RixNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQ1UsS0FBMkMsRUFDM0MsVUFBc0IsRUFDdEIsZ0JBQWdDO1FBRmhDLFVBQUssR0FBTCxLQUFLLENBQXNDO1FBQzNDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtJQUN2QyxDQUFDO0lBRUosR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDbkQsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBZSxTQUFTLENBQUMsR0FBRyxHQUFHLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUM3RixHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ1gsR0FBRyxHQUFHO1lBQ047Z0JBQ0UsRUFBRSxFQUFFLHNCQUFzQjtnQkFD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Y0FBYztTQUN2QyxDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQXVCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBTyxTQUFTLENBQUMsR0FBRyxHQUFHLHdCQUF3QixPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBYSxTQUFTLENBQUMsR0FBRyxHQUFHLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQzs4R0EvS1UsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJ5STE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhc2V0UHJldmlldyB9IGZyb20gJy4uLy4uL21vZGVsL2RhdGFzZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5yZWR1Y2VyJztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gJy4uL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmltcG9ydCB7IERFRkFVTFRfTkFNRURfUVVFUllfSUQsIEVYUExPUkVfTkFNRURfUVVFUllfSUQgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBEYXRhc2V0LCBEYXRhc2V0VmVyc2lvbiwgTmFtZWRRdWVyeSB9IGZyb20gJy4vZGF0YS1zb3VyY2UubW9kZWwnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZVN0YXRlIH0gZnJvbSAnLi9kYXRhLXNvdXJjZS5yZWR1Y2VyJztcbmltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnLi4vY2F0ZWdvcnkvY2F0ZWdvcnkuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZVJlcXVlc3Qge1xuICBkYXRhOiB7XG4gICAgc3VjY2VzczogYm9vbGVhbjtcbiAgfTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxDb25maWdTdGF0ZSB8IERhdGFTb3VyY2VTdGF0ZT4sXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPE5hbWVkUXVlcnlbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxOYW1lZFF1ZXJ5W10+KGVuY29kZVVSSShgJHt1cmx9L3VzZXJzL21lL25hbWVkcXVlcnlgKSkpLFxuICAgICAgbWFwKChucXMpID0+IFtcbiAgICAgICAgLi4ubnFzLFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6IERFRkFVTFRfTkFNRURfUVVFUllfSUQsXG4gICAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0Bwcnkud2lkZ2V0Lm5hbWVkUXVlcnkuZGVmYXVsdFJzJyksXG4gICAgICAgICAgY29sb3I6ICcjODRlYWM1JyxcbiAgICAgICAgICBsYXN0RXhlY3V0aW9uRGF0ZTogMTAwLFxuICAgICAgICAgIHJlcXVlc3Q6IG51bGxcbiAgICAgICAgfSBhcyB1bmtub3duIGFzIE5hbWVkUXVlcnksXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogRVhQTE9SRV9OQU1FRF9RVUVSWV9JRCxcbiAgICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5leHBsb3JlJyksXG4gICAgICAgICAgY29sb3I6ICcjNmEyOTc0JyxcbiAgICAgICAgICBsYXN0RXhlY3V0aW9uRGF0ZTogNTAsXG4gICAgICAgICAgcmVxdWVzdDogbnVsbFxuICAgICAgICB9IGFzIHVua25vd24gYXMgTmFtZWRRdWVyeVxuICAgICAgXSksXG4gICAgICBtYXAoKG5xcykgPT4gbnFzLm1hcCgobnEpID0+ICh7IC4uLm5xLCBzb3VyY2VUeXBlOiAnbmFtZWRRdWVyeScgfSkpKVxuICAgICk7XG4gIH1cblxuICBwb3N0KG5hbWVkUXVlcnk/OiBOYW1lZFF1ZXJ5KTogT2JzZXJ2YWJsZTxSZXNwb25zZVJlcXVlc3Q+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKCh1cmwpID0+XG4gICAgICAgICAgbmFtZWRRdWVyeT8uaWQgIT09IERFRkFVTFRfTkFNRURfUVVFUllfSURcbiAgICAgICAgICAgID8gdGhpcy5odHRwQ2xpZW50LnBvc3Q8UmVzcG9uc2VSZXF1ZXN0PihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9uYW1lZHF1ZXJ5YCksIG5hbWVkUXVlcnkpXG4gICAgICAgICAgICA6IG9mKHsgZGF0YTogeyBzdWNjZXNzOiB0cnVlIH0gfSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXNwb25zZVJlcXVlc3Q+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTxSZXNwb25zZVJlcXVlc3Q+KGVuY29kZVVSSShgJHt1cmx9L3VzZXJzL21lL25hbWVkcXVlcnkvJHtpZH1gKSkpKTtcbiAgfVxuXG4gIGFkZEZhdm9yaXRlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc3BvbnNlUmVxdWVzdD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQucG9zdDxSZXNwb25zZVJlcXVlc3Q+KGVuY29kZVVSSShgJHt1cmx9L3VzZXJzL21lL25hbWVkcXVlcnkvJHtpZH0vZmF2b3JpdGVgKSwgbnVsbClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIGRlbGV0ZUZhdm9yaXRlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc3BvbnNlUmVxdWVzdD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPFJlc3BvbnNlUmVxdWVzdD4oZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvbWUvbmFtZWRxdWVyeS8ke2lkfS9mYXZvcml0ZWApKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgZ2V0RGF0YXNldHMoKTogT2JzZXJ2YWJsZTxEYXRhc2V0W10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8RGF0YXNldFtdPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0c2ApKSksXG4gICAgICBtYXAoKGRzZHMpID0+IGRzZHMubWFwKChkc2QpID0+ICh7IC4uLmRzZCwgc291cmNlVHlwZTogJ2RhdGFzZXQnIH0pKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RGF0YXNldFZlcnNpb25zKHByb3BzOiB7XG4gICAgbGltaXQ/OiBudW1iZXI7XG4gICAgb2Zmc2V0PzogbnVtYmVyO1xuICAgIGRhdGFzZXQ/OiBzdHJpbmc7XG4gICAgc29ydEJ5Pzogc3RyaW5nO1xuICAgIG9yZGVyQnk/OiAnQVNDJyB8ICdERVNDJztcbiAgICBkYXRlTWluPzogc3RyaW5nO1xuICAgIGRhdGVNYXg/OiBzdHJpbmc7XG4gICAgc3RhdHVzPzogc3RyaW5nO1xuICB9KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8RGF0YXNldFZlcnNpb25bXT4+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgodXJsKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgbGltaXQsIG9mZnNldCwgZGF0YXNldCwgc29ydEJ5LCBvcmRlckJ5LCBkYXRlTWluLCBkYXRlTWF4LCBzdGF0dXMgfSA9IHByb3BzO1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbGltaXQnLCAobGltaXQgPz8gMjApLnRvU3RyaW5nKCkpO1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdvZmZzZXQnLCAob2Zmc2V0ID8/IDApLnRvU3RyaW5nKCkpO1xuICAgICAgICBpZiAoZGF0YXNldCkgcGFyYW1zID0gcGFyYW1zLnNldCgnZGF0YXNldCcsIGRhdGFzZXQpO1xuICAgICAgICBpZiAoc29ydEJ5KSBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzb3J0QnknLCBzb3J0QnkpLnNldCgnb3JkZXJCeScsIG9yZGVyQnkgPz8gJ0FTQycpO1xuICAgICAgICBpZiAoZGF0ZU1pbikgcGFyYW1zID0gcGFyYW1zLnNldCgnZGF0ZU1pbicsIGRhdGVNaW4pO1xuICAgICAgICBpZiAoZGF0ZU1heCkgcGFyYW1zID0gcGFyYW1zLnNldCgnZGF0ZU1heCcsIGRhdGVNYXgpO1xuICAgICAgICBpZiAoc3RhdHVzKSBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzdGF0dXMnLCBzdGF0dXMpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxEYXRhc2V0VmVyc2lvbltdPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0LXZlcnNpb25zYCksIHtcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldERhdGFzZXRWZXJzaW9uc0J5SWQoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh1cmwpID0+XG4gICAgICAgICAgdGhpcy5odHRwQ2xpZW50LmdldDxEYXRhc2V0VmVyc2lvbltdPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0cy9pZC8ke2lkfS9kYXRhc2V0LXZlcnNpb25zYCkpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBnZXRQcmV2aWV3cyhpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PERhdGFzZXRQcmV2aWV3W10+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXQtdmVyc2lvbnMvaWQvJHtpZH0vcHJldmlld3NgKSkpXG4gICAgICApO1xuICB9XG5cbiAgZGVhY3RpdmF0ZURhdGFzZXRWZXJzaW9uKHZlcnNpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQucG9zdDxEYXRhc2V0VmVyc2lvbj4oZW5jb2RlVVJJKGAke3VybH0vZGF0YXNldC12ZXJzaW9ucy9pZC8ke3ZlcnNpb25JZH0vZGVhY3RpdmF0ZWApLCBudWxsKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgYWN0aXZhdGVEYXRhc2V0VmVyc2lvbih2ZXJzaW9uSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh1cmwpID0+XG4gICAgICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3Q8RGF0YXNldFZlcnNpb24+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXQtdmVyc2lvbnMvaWQvJHt2ZXJzaW9uSWR9L2FjdGl2YXRlYCksIG51bGwpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBnZXRMYXN0QWN0aXZlRGF0YXNldFZlcnNpb24oZGF0YXNldElkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodXJsKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cENsaWVudC5nZXQ8RGF0YXNldFZlcnNpb24+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXRzLyR7ZGF0YXNldElkfS9kYXRhc2V0LXZlcnNpb25zL2xhdGVzdGApKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgdXBkYXRlRGF0YXNldFZlcnNpb25JbmZvKHZlcnNpb246IFBhcnRpYWw8RGF0YXNldFZlcnNpb24+KSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHVybCkgPT5cbiAgICAgICAgdGhpcy5odHRwQ2xpZW50LnB1dDxEYXRhc2V0VmVyc2lvbj4oZW5jb2RlVVJJKGAke3VybH0vZGF0YXNldC12ZXJzaW9ucy9pZC8ke3ZlcnNpb24uaWR9YCksIHtcbiAgICAgICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb246IHZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uLFxuICAgICAgICAgIHByb2R1Y2VyOiB2ZXJzaW9uLnByb2R1Y2VyLFxuICAgICAgICAgIHByb2R1Y3Rpb25EYXRlOiB2ZXJzaW9uLnByb2R1Y3Rpb25EYXRlXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZURhdGFzZXRWZXJzaW9uKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXQtdmVyc2lvbnMvaWQvJHt2ZXJzaW9uLmlkfWApKSkpO1xuICB9XG5cbiAgZ2V0Q2F0ZWdvcmllcygpOiBPYnNlcnZhYmxlPENhdGVnb3J5W10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxDYXRlZ29yeVtdPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0cy9jYXRlZ29yaWVzYCkpKSk7XG4gIH1cbn1cbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQWM1RixNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQ1UsS0FBMkMsRUFDM0MsVUFBc0IsRUFDdEIsZ0JBQWdDO1FBRmhDLFVBQUssR0FBTCxLQUFLLENBQXNDO1FBQzNDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtJQUN2QyxDQUFDO0lBRUosR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDbkQsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBZSxTQUFTLENBQUMsR0FBRyxHQUFHLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUM3RixHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ1gsR0FBRyxHQUFHO1lBQ047Z0JBQ0UsRUFBRSxFQUFFLHNCQUFzQjtnQkFD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LENBQUMscUJBQXFCO1lBQ3BELFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7U0FDdkMsQ0FBQyxDQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxPQUF1QjtRQUMxQyxPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7YUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQU8sU0FBUyxDQUFDLEdBQUcsR0FBRyx3QkFBd0IsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7YUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWEsU0FBUyxDQUFDLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7OEdBL0tVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IG1hcCwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0YXNldFByZXZpZXcgfSBmcm9tICcuLi8uLi9tb2RlbC9kYXRhc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4uL2NvbmZpZy9jb25maWcucmVkdWNlcic7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RvcnMgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBERUZBVUxUX05BTUVEX1FVRVJZX0lELCBFWFBMT1JFX05BTUVEX1FVRVJZX0lEIH0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC5jb25zdGFudHMnO1xuaW1wb3J0IHsgRGF0YXNldCwgRGF0YXNldFZlcnNpb24sIE5hbWVkUXVlcnkgfSBmcm9tICcuL2RhdGEtc291cmNlLm1vZGVsJztcbmltcG9ydCB7IERhdGFTb3VyY2VTdGF0ZSB9IGZyb20gJy4vZGF0YS1zb3VyY2UucmVkdWNlcic7XG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4uL2NhdGVnb3J5L2NhdGVnb3J5LmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VSZXF1ZXN0IHtcbiAgZGF0YToge1xuICAgIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIH07XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8Q29uZmlnU3RhdGUgfCBEYXRhU291cmNlU3RhdGU+LFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlXG4gICkge31cblxuICBnZXQoKTogT2JzZXJ2YWJsZTxOYW1lZFF1ZXJ5W10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8TmFtZWRRdWVyeVtdPihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9uYW1lZHF1ZXJ5YCkpKSxcbiAgICAgIG1hcCgobnFzKSA9PiBbXG4gICAgICAgIC4uLm5xcyxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBERUZBVUxUX05BTUVEX1FVRVJZX0lELFxuICAgICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LndpZGdldC5uYW1lZFF1ZXJ5LmRlZmF1bHRScycpLFxuICAgICAgICAgIGNvbG9yOiAnIzg0ZWFjNScsXG4gICAgICAgICAgbGFzdEV4ZWN1dGlvbkRhdGU6IDEwMCxcbiAgICAgICAgICByZXF1ZXN0OiBudWxsXG4gICAgICAgIH0gYXMgdW5rbm93biBhcyBOYW1lZFF1ZXJ5LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6IEVYUExPUkVfTkFNRURfUVVFUllfSUQsXG4gICAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZXhwbG9yZScpLFxuICAgICAgICAgIGNvbG9yOiAnIzZhMjk3NCcsXG4gICAgICAgICAgbGFzdEV4ZWN1dGlvbkRhdGU6IDUwLFxuICAgICAgICAgIHJlcXVlc3Q6IG51bGxcbiAgICAgICAgfSBhcyB1bmtub3duIGFzIE5hbWVkUXVlcnlcbiAgICAgIF0pLFxuICAgICAgbWFwKChucXMpID0+IG5xcy5tYXAoKG5xKSA9PiAoeyAuLi5ucSwgc291cmNlVHlwZTogJ25hbWVkUXVlcnknIH0pKSlcbiAgICApO1xuICB9XG5cbiAgcG9zdChuYW1lZFF1ZXJ5PzogTmFtZWRRdWVyeSk6IE9ic2VydmFibGU8UmVzcG9uc2VSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgodXJsKSA9PlxuICAgICAgICAgIG5hbWVkUXVlcnk/LmlkICE9PSBERUZBVUxUX05BTUVEX1FVRVJZX0lEXG4gICAgICAgICAgICA/IHRoaXMuaHR0cENsaWVudC5wb3N0PFJlc3BvbnNlUmVxdWVzdD4oZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvbWUvbmFtZWRxdWVyeWApLCBuYW1lZFF1ZXJ5KVxuICAgICAgICAgICAgOiBvZih7IGRhdGE6IHsgc3VjY2VzczogdHJ1ZSB9IH0pXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmVzcG9uc2VSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5kZWxldGU8UmVzcG9uc2VSZXF1ZXN0PihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9uYW1lZHF1ZXJ5LyR7aWR9YCkpKSk7XG4gIH1cblxuICBhZGRGYXZvcml0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXNwb25zZVJlcXVlc3Q+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKCh1cmwpID0+XG4gICAgICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3Q8UmVzcG9uc2VSZXF1ZXN0PihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9tZS9uYW1lZHF1ZXJ5LyR7aWR9L2Zhdm9yaXRlYCksIG51bGwpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBkZWxldGVGYXZvcml0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXNwb25zZVJlcXVlc3Q+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKCh1cmwpID0+XG4gICAgICAgICAgdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTxSZXNwb25zZVJlcXVlc3Q+KGVuY29kZVVSSShgJHt1cmx9L3VzZXJzL21lL25hbWVkcXVlcnkvJHtpZH0vZmF2b3JpdGVgKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIGdldERhdGFzZXRzKCk6IE9ic2VydmFibGU8RGF0YXNldFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PERhdGFzZXRbXT4oZW5jb2RlVVJJKGAke3VybH0vZGF0YXNldHNgKSkpLFxuICAgICAgbWFwKChkc2RzKSA9PiBkc2RzLm1hcCgoZHNkKSA9PiAoeyAuLi5kc2QsIHNvdXJjZVR5cGU6ICdkYXRhc2V0JyB9KSkpXG4gICAgKTtcbiAgfVxuXG4gIGdldERhdGFzZXRWZXJzaW9ucyhwcm9wczoge1xuICAgIGxpbWl0PzogbnVtYmVyO1xuICAgIG9mZnNldD86IG51bWJlcjtcbiAgICBkYXRhc2V0Pzogc3RyaW5nO1xuICAgIHNvcnRCeT86ICdhc2MnIHwgJ2Rlc2MnO1xuICAgIG9yZGVyQnk/OiAnREFUQVNFVF9OQU1FJyB8ICdEQVRFJztcbiAgICBkYXRlTWluPzogc3RyaW5nO1xuICAgIGRhdGVNYXg/OiBzdHJpbmc7XG4gICAgc3RhdHVzPzogc3RyaW5nO1xuICB9KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8RGF0YXNldFZlcnNpb25bXT4+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgodXJsKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgbGltaXQsIG9mZnNldCwgZGF0YXNldCwgc29ydEJ5LCBvcmRlckJ5LCBkYXRlTWluLCBkYXRlTWF4LCBzdGF0dXMgfSA9IHByb3BzO1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbGltaXQnLCAobGltaXQgPz8gMjApLnRvU3RyaW5nKCkpO1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdvZmZzZXQnLCAob2Zmc2V0ID8/IDApLnRvU3RyaW5nKCkpO1xuICAgICAgICBpZiAoZGF0YXNldCkgcGFyYW1zID0gcGFyYW1zLnNldCgnZGF0YXNldCcsIGRhdGFzZXQpO1xuICAgICAgICBpZiAoc29ydEJ5KSBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzb3J0QnknLCBzb3J0QnkpLnNldCgnb3JkZXJCeScsIG9yZGVyQnkgPz8gJ0FTQycpO1xuICAgICAgICBpZiAoZGF0ZU1pbikgcGFyYW1zID0gcGFyYW1zLnNldCgnZGF0ZU1pbicsIG5ldyBEYXRlKGRhdGVNaW4pLnRvSVNPU3RyaW5nKCkpO1xuICAgICAgICBpZiAoZGF0ZU1heCkgcGFyYW1zID0gcGFyYW1zLnNldCgnZGF0ZU1heCcsIG5ldyBEYXRlKGRhdGVNYXgpLnRvSVNPU3RyaW5nKCkpO1xuICAgICAgICBpZiAoc3RhdHVzKSBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzdGF0ZScsIHN0YXR1cyk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PERhdGFzZXRWZXJzaW9uW10+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXQtdmVyc2lvbnNgKSwge1xuICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RGF0YXNldFZlcnNpb25zQnlJZChpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0PERhdGFzZXRWZXJzaW9uW10+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXRzL2lkLyR7aWR9L2RhdGFzZXQtdmVyc2lvbnNgKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFByZXZpZXdzKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8RGF0YXNldFByZXZpZXdbXT4oZW5jb2RlVVJJKGAke3VybH0vZGF0YXNldC12ZXJzaW9ucy9pZC8ke2lkfS9wcmV2aWV3c2ApKSlcbiAgICAgICk7XG4gIH1cblxuICBkZWFjdGl2YXRlRGF0YXNldFZlcnNpb24odmVyc2lvbklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodXJsKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cENsaWVudC5wb3N0PERhdGFzZXRWZXJzaW9uPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0LXZlcnNpb25zL2lkLyR7dmVyc2lvbklkfS9kZWFjdGl2YXRlYCksIG51bGwpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBhY3RpdmF0ZURhdGFzZXRWZXJzaW9uKHZlcnNpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQucG9zdDxEYXRhc2V0VmVyc2lvbj4oZW5jb2RlVVJJKGAke3VybH0vZGF0YXNldC12ZXJzaW9ucy9pZC8ke3ZlcnNpb25JZH0vYWN0aXZhdGVgKSwgbnVsbClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIGdldExhc3RBY3RpdmVEYXRhc2V0VmVyc2lvbihkYXRhc2V0SWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh1cmwpID0+XG4gICAgICAgICAgdGhpcy5odHRwQ2xpZW50LmdldDxEYXRhc2V0VmVyc2lvbj4oZW5jb2RlVVJJKGAke3VybH0vZGF0YXNldHMvJHtkYXRhc2V0SWR9L2RhdGFzZXQtdmVyc2lvbnMvbGF0ZXN0YCkpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICB1cGRhdGVEYXRhc2V0VmVyc2lvbkluZm8odmVyc2lvbjogUGFydGlhbDxEYXRhc2V0VmVyc2lvbj4pIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgodXJsKSA9PlxuICAgICAgICB0aGlzLmh0dHBDbGllbnQucHV0PERhdGFzZXRWZXJzaW9uPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhc2V0LXZlcnNpb25zL2lkLyR7dmVyc2lvbi5pZH1gKSwge1xuICAgICAgICAgIGFkZGl0aW9uYWxJbmZvcm1hdGlvbjogdmVyc2lvbi5hZGRpdGlvbmFsSW5mb3JtYXRpb24sXG4gICAgICAgICAgcHJvZHVjZXI6IHZlcnNpb24ucHJvZHVjZXIsXG4gICAgICAgICAgcHJvZHVjdGlvbkRhdGU6IHZlcnNpb24ucHJvZHVjdGlvbkRhdGVcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlRGF0YXNldFZlcnNpb24odmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoc3dpdGNoTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5kZWxldGU8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vZGF0YXNldC12ZXJzaW9ucy9pZC8ke3ZlcnNpb24uaWR9YCkpKSk7XG4gIH1cblxuICBnZXRDYXRlZ29yaWVzKCk6IE9ic2VydmFibGU8Q2F0ZWdvcnlbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PENhdGVnb3J5W10+KGVuY29kZVVSSShgJHt1cmx9L2RhdGFzZXRzL2NhdGVnb3JpZXNgKSkpKTtcbiAgfVxufVxuIl19
@@ -7,6 +7,7 @@ import * as i1 from "@ngrx/store";
7
7
  import * as i2 from "@provoly/dashboard";
8
8
  import * as i3 from "@angular/common";
9
9
  import * as i4 from "../style/css.component";
10
+ import * as i5 from "@provoly/dashboard/components/data-format";
10
11
  export class WidgetDetailComponent extends BaseWidgetComponent {
11
12
  static { this.widgetIdGenerator = 0; }
12
13
  constructor(store, translateService, el) {
@@ -122,10 +123,10 @@ export class WidgetDetailComponent extends BaseWidgetComponent {
122
123
  return attribute.field?.type === FieldType.RAW;
123
124
  }
124
125
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetDetailComponent, deps: [{ token: i1.Store }, { token: i2.PryI18nService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: WidgetDetailComponent, selector: "pry-widget-detail", usesInheritance: true, ngImport: i0, template: "<pry-widget-detail-css></pry-widget-detail-css>\n<div class=\"o-widget o-widget--detail\">\n <pry-widget-header\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"detailledWidgetManifest$ | async\"\n [additionalOptions]=\"additionalOptions$ | async\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n >\n </pry-widget-header>\n\n <p class=\"is-empty\" *ngIf=\"!(itemAndCategories$ | async) || (itemAndCategories$ | async)?.length === 0\">\n {{ '@pry.widget.detail.noItems' | i18n }}\n </p>\n\n <div class=\"o-widget--detail__content\" *ngFor=\"let couple of itemAndCategories$ | async; let itemIndex = index\">\n <ng-container *ngIf=\"!((options$ | async)?.header === false)\">\n <div\n class=\"o-widget--detail__header\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n title=\"{{ '@pry.widget.itemId' | i18n }}: {{ couple.item.id }}\"\n >\n <img [height]=\"25\" [width]=\"25\" [src]=\"couple.item | translateItemToSymbol | async\" [alt]=\"couple\" />\n <h3 class=\"o-widget--detail__header__title\">\n {{ '@pry.widget.class' | i18n }}:\n {{\n couple.item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\"\n [attr.aria-controls]=\"'item-' + widgetId + '-' + itemIndex\"\n (click)=\"toggle(itemIndex)\"\n >\n <pry-icon *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\" iconSvg=\"fleche_haut\"></pry-icon>\n <pry-icon *ngIf=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\" iconSvg=\"fleche_bas\"></pry-icon>\n </button>\n </div>\n <div class=\"o-widget--detail__datas\" *ngIf=\"hasMetadata(couple.item)\">\n <pry-metadata [item]=\"couple.item\"></pry-metadata>\n </div>\n </ng-container>\n\n <div\n *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n class=\"o-widget--detail__datas\"\n [id]=\"'item-' + widgetId + '-' + itemIndex\"\n >\n <ng-container *ngFor=\"let category of couple.categories; let categoryIndex = index\">\n <div class=\"o-widget--detail__category\">\n <p>{{ '@pry.widget.detail.category' | i18n }}: {{ category.name }}</p>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n [attr.aria-controls]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n (click)=\"toggle(itemIndex, categoryIndex)\"\n >\n <pry-icon\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n iconSvg=\"fleche_haut\"\n >\n </pry-icon>\n <pry-icon\n *ngIf=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n iconSvg=\"fleche_bas\"\n >\n </pry-icon>\n </button>\n </div>\n\n <div\n class=\"o-properties\"\n [id]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n >\n <ul class=\"o-properties__list\">\n <ng-container>\n <ng-container *ngFor=\"let property of category.properties\">\n <li\n *ngFor=\"let value of getValue(couple.item, property.attribute); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.name }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property.attribute)\">{{ value?.value }}</p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property.attribute)\">\n <pry-vizualize-raw [item]=\"couple.item\" [propertyName]=\"property.name\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MetadataComponent, selector: "pry-metadata", inputs: ["item"] }, { kind: "component", type: i2.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i2.VizualizeRawComponent, selector: "pry-vizualize-raw", inputs: ["item", "propertyName", "alt"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i4.PryWidgetDetailCssComponent, selector: "pry-widget-detail-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.TranslateItemToSymbolPipe, name: "translateItemToSymbol" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
126
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: WidgetDetailComponent, selector: "pry-widget-detail", usesInheritance: true, ngImport: i0, template: "<pry-widget-detail-css></pry-widget-detail-css>\n<div class=\"o-widget o-widget--detail\">\n <pry-widget-header\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"detailledWidgetManifest$ | async\"\n [additionalOptions]=\"additionalOptions$ | async\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n >\n </pry-widget-header>\n\n <p class=\"is-empty\" *ngIf=\"!(itemAndCategories$ | async) || (itemAndCategories$ | async)?.length === 0\">\n {{ '@pry.widget.detail.noItems' | i18n }}\n </p>\n\n <div class=\"o-widget--detail__content\" *ngFor=\"let couple of itemAndCategories$ | async; let itemIndex = index\">\n <ng-container *ngIf=\"!((options$ | async)?.header === false)\">\n <div\n class=\"o-widget--detail__header\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n title=\"{{ '@pry.widget.itemId' | i18n }}: {{ couple.item.id }}\"\n >\n <img [height]=\"25\" [width]=\"25\" [src]=\"couple.item | translateItemToSymbol | async\" [alt]=\"couple\" />\n <h3 class=\"o-widget--detail__header__title\">\n {{ '@pry.widget.class' | i18n }}:\n {{\n couple.item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\"\n [attr.aria-controls]=\"'item-' + widgetId + '-' + itemIndex\"\n (click)=\"toggle(itemIndex)\"\n >\n <pry-icon *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\" iconSvg=\"fleche_haut\"></pry-icon>\n <pry-icon *ngIf=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\" iconSvg=\"fleche_bas\"></pry-icon>\n </button>\n </div>\n <div class=\"o-widget--detail__datas\" *ngIf=\"hasMetadata(couple.item)\">\n <pry-metadata [item]=\"couple.item\"></pry-metadata>\n </div>\n </ng-container>\n\n <div\n *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n class=\"o-widget--detail__datas\"\n [id]=\"'item-' + widgetId + '-' + itemIndex\"\n >\n <ng-container *ngFor=\"let category of couple.categories; let categoryIndex = index\">\n <div class=\"o-widget--detail__category\">\n <p>{{ '@pry.widget.detail.category' | i18n }}: {{ category.name }}</p>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n [attr.aria-controls]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n (click)=\"toggle(itemIndex, categoryIndex)\"\n >\n <pry-icon\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n iconSvg=\"fleche_haut\"\n >\n </pry-icon>\n <pry-icon\n *ngIf=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n iconSvg=\"fleche_bas\"\n >\n </pry-icon>\n </button>\n </div>\n\n <div\n class=\"o-properties\"\n [id]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n >\n <ul class=\"o-properties__list\">\n <ng-container>\n <ng-container *ngFor=\"let property of category.properties\">\n <li\n *ngFor=\"let value of getValue(couple.item, property.attribute); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.name }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property.attribute)\">\n {{ value?.value | dataFormat: property.attribute.field }}\n </p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property.attribute)\">\n <pry-vizualize-raw [item]=\"couple.item\" [propertyName]=\"property.name\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MetadataComponent, selector: "pry-metadata", inputs: ["item"] }, { kind: "component", type: i2.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i2.VizualizeRawComponent, selector: "pry-vizualize-raw", inputs: ["item", "propertyName", "alt"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i4.PryWidgetDetailCssComponent, selector: "pry-widget-detail-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.TranslateItemToSymbolPipe, name: "translateItemToSymbol" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.DataFormatPipe, name: "dataFormat" }] }); }
126
127
  }
127
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetDetailComponent, decorators: [{
128
129
  type: Component,
129
- args: [{ selector: 'pry-widget-detail', template: "<pry-widget-detail-css></pry-widget-detail-css>\n<div class=\"o-widget o-widget--detail\">\n <pry-widget-header\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"detailledWidgetManifest$ | async\"\n [additionalOptions]=\"additionalOptions$ | async\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n >\n </pry-widget-header>\n\n <p class=\"is-empty\" *ngIf=\"!(itemAndCategories$ | async) || (itemAndCategories$ | async)?.length === 0\">\n {{ '@pry.widget.detail.noItems' | i18n }}\n </p>\n\n <div class=\"o-widget--detail__content\" *ngFor=\"let couple of itemAndCategories$ | async; let itemIndex = index\">\n <ng-container *ngIf=\"!((options$ | async)?.header === false)\">\n <div\n class=\"o-widget--detail__header\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n title=\"{{ '@pry.widget.itemId' | i18n }}: {{ couple.item.id }}\"\n >\n <img [height]=\"25\" [width]=\"25\" [src]=\"couple.item | translateItemToSymbol | async\" [alt]=\"couple\" />\n <h3 class=\"o-widget--detail__header__title\">\n {{ '@pry.widget.class' | i18n }}:\n {{\n couple.item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\"\n [attr.aria-controls]=\"'item-' + widgetId + '-' + itemIndex\"\n (click)=\"toggle(itemIndex)\"\n >\n <pry-icon *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\" iconSvg=\"fleche_haut\"></pry-icon>\n <pry-icon *ngIf=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\" iconSvg=\"fleche_bas\"></pry-icon>\n </button>\n </div>\n <div class=\"o-widget--detail__datas\" *ngIf=\"hasMetadata(couple.item)\">\n <pry-metadata [item]=\"couple.item\"></pry-metadata>\n </div>\n </ng-container>\n\n <div\n *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n class=\"o-widget--detail__datas\"\n [id]=\"'item-' + widgetId + '-' + itemIndex\"\n >\n <ng-container *ngFor=\"let category of couple.categories; let categoryIndex = index\">\n <div class=\"o-widget--detail__category\">\n <p>{{ '@pry.widget.detail.category' | i18n }}: {{ category.name }}</p>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n [attr.aria-controls]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n (click)=\"toggle(itemIndex, categoryIndex)\"\n >\n <pry-icon\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n iconSvg=\"fleche_haut\"\n >\n </pry-icon>\n <pry-icon\n *ngIf=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n iconSvg=\"fleche_bas\"\n >\n </pry-icon>\n </button>\n </div>\n\n <div\n class=\"o-properties\"\n [id]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n >\n <ul class=\"o-properties__list\">\n <ng-container>\n <ng-container *ngFor=\"let property of category.properties\">\n <li\n *ngFor=\"let value of getValue(couple.item, property.attribute); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.name }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property.attribute)\">{{ value?.value }}</p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property.attribute)\">\n <pry-vizualize-raw [item]=\"couple.item\" [propertyName]=\"property.name\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
130
+ args: [{ selector: 'pry-widget-detail', template: "<pry-widget-detail-css></pry-widget-detail-css>\n<div class=\"o-widget o-widget--detail\">\n <pry-widget-header\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"detailledWidgetManifest$ | async\"\n [additionalOptions]=\"additionalOptions$ | async\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n >\n </pry-widget-header>\n\n <p class=\"is-empty\" *ngIf=\"!(itemAndCategories$ | async) || (itemAndCategories$ | async)?.length === 0\">\n {{ '@pry.widget.detail.noItems' | i18n }}\n </p>\n\n <div class=\"o-widget--detail__content\" *ngFor=\"let couple of itemAndCategories$ | async; let itemIndex = index\">\n <ng-container *ngIf=\"!((options$ | async)?.header === false)\">\n <div\n class=\"o-widget--detail__header\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n title=\"{{ '@pry.widget.itemId' | i18n }}: {{ couple.item.id }}\"\n >\n <img [height]=\"25\" [width]=\"25\" [src]=\"couple.item | translateItemToSymbol | async\" [alt]=\"couple\" />\n <h3 class=\"o-widget--detail__header__title\">\n {{ '@pry.widget.class' | i18n }}:\n {{\n couple.item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\"\n [attr.aria-controls]=\"'item-' + widgetId + '-' + itemIndex\"\n (click)=\"toggle(itemIndex)\"\n >\n <pry-icon *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\" iconSvg=\"fleche_haut\"></pry-icon>\n <pry-icon *ngIf=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\" iconSvg=\"fleche_bas\"></pry-icon>\n </button>\n </div>\n <div class=\"o-widget--detail__datas\" *ngIf=\"hasMetadata(couple.item)\">\n <pry-metadata [item]=\"couple.item\"></pry-metadata>\n </div>\n </ng-container>\n\n <div\n *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n class=\"o-widget--detail__datas\"\n [id]=\"'item-' + widgetId + '-' + itemIndex\"\n >\n <ng-container *ngFor=\"let category of couple.categories; let categoryIndex = index\">\n <div class=\"o-widget--detail__category\">\n <p>{{ '@pry.widget.detail.category' | i18n }}: {{ category.name }}</p>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n [attr.aria-controls]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n (click)=\"toggle(itemIndex, categoryIndex)\"\n >\n <pry-icon\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n iconSvg=\"fleche_haut\"\n >\n </pry-icon>\n <pry-icon\n *ngIf=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n iconSvg=\"fleche_bas\"\n >\n </pry-icon>\n </button>\n </div>\n\n <div\n class=\"o-properties\"\n [id]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n >\n <ul class=\"o-properties__list\">\n <ng-container>\n <ng-container *ngFor=\"let property of category.properties\">\n <li\n *ngFor=\"let value of getValue(couple.item, property.attribute); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.name }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property.attribute)\">\n {{ value?.value | dataFormat: property.attribute.field }}\n </p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property.attribute)\">\n <pry-vizualize-raw [item]=\"couple.item\" [propertyName]=\"property.name\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
130
131
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.PryI18nService }, { type: i0.ElementRef }] });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC93aWRnZXRzL3dpZGdldC1kZXRhaWwvY29tcG9uZW50L3dpZGdldC1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtZGV0YWlsL2NvbXBvbmVudC93aWRnZXQtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUdMLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBR2xCLGNBQWMsRUFDZCxTQUFTLEVBR1QsU0FBUyxFQUdWLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFNMUMsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG1CQUFtQjthQWNyRCxzQkFBaUIsR0FBRyxDQUFDLEFBQUosQ0FBSztJQUU3QixZQUNFLEtBQWlCLEVBQ1QsZ0JBQWdDLEVBQ3hDLEVBQWM7UUFFZCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBSFQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtRQWYxQyxnQkFBVyxHQUErQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFPL0YsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQVluQixJQUFJ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ICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQXR0cmlidXRlLFxuICBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSxcbiAgQmFzZVdpZGdldENvbXBvbmVudCxcbiAgQ2F0ZWdvcnlTZWxlY3RvcnMsXG4gIENsYXNzU2VsZWN0b3JzLFxuICBDb250ZXh0TWVudUFjdGlvbnMsXG4gIERhc2hib2FyZEFjdGlvbnMsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGV0YWlsV2lkZ2V0T3B0aW9ucyxcbiAgRmllbGQsXG4gIEZpZWxkU2VsZWN0b3JzLFxuICBGaWVsZFR5cGUsXG4gIEhlYWRlckFjdGlvbixcbiAgSXRlbSxcbiAgSXRlbVV0aWxzLFxuICBQcnlJMThuU2VydmljZSxcbiAgV2lkZ2V0TWFuaWZlc3Rcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktd2lkZ2V0LWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQtZGV0YWlsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXREZXRhaWxDb21wb25lbnQgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29tcG9uZW50IHtcbiAgb3B0aW9ucyQ6IE9ic2VydmFibGU8RGV0YWlsV2lkZ2V0T3B0aW9ucz47XG4gIGl0ZW1zVG9EaXNwbGF5JDogT2JzZXJ2YWJsZTxJdGVtW10+O1xuICBwYW5lbE9wZW5lZDogeyBpdGVtOiBib29sZWFuOyBjYXRlZ29yaWVzOiBib29sZWFuW10gfVtdID0gW3sgaXRlbTogdHJ1ZSwgY2F0ZWdvcmllczogW3RydWVdIH1dO1xuICBpdGVtQW5kQ2F0ZWdvcmllcyQ6IE9ic2VydmFibGU8XG4gICAgeyBpdGVtOiBJdGVtOyBjYXRlZ29yaWVzOiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZzsgcHJvcGVydGllczogeyBuYW1lOiBzdHJpbmc7IGF0dHJpYnV0ZTogQXR0cmlidXRlIH1bXSB9W10gfVtdXG4gID47XG4gIHBpbm5lZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIG9wdGlvbnNDb3B5PzogRGV0YWlsV2lkZ2V0T3B0aW9ucztcbiAgaXRlbXNGb3JQaW4/OiBzdHJpbmdbXTtcbiAgZmllbGRzOiBGaWVsZFtdID0gW107XG4gIGRldGFpbGxlZFdpZGdldE1hbmlmZXN0JDogT2JzZXJ2YWJsZTxXaWRnZXRNYW5pZmVzdD47XG4gIGFkZGl0aW9uYWxPcHRpb25zJDogT2JzZXJ2YWJsZTxIZWFkZXJBY3Rpb25bXT47XG4gIHdpZGdldElkOiBudW1iZXI7XG4gIHN0YXRpYyB3aWRnZXRJZEdlbmVyYXRvciA9IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RvcmU6IFN0b3JlPGFueT4sXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZSxcbiAgICBlbDogRWxlbWVudFJlZlxuICApIHtcbiAgICBzdXBlcihzdG9yZSwgZWwpO1xuICAgIHRoaXMud2lkZ2V0SWQgPSBXaWRnZXREZXRhaWxDb21wb25lbnQud2lkZ2V0SWRHZW5lcmF0b3IrKztcbiAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5tYW5pZmVzdCQucGlwZShtYXAoKG1hbmlmZXN0KSA9PiAobWFuaWZlc3Qub3B0aW9ucyA/PyB7fSkgYXMgRGV0YWlsV2lkZ2V0T3B0aW9ucykpO1xuICAgIHRoaXMucGlubmVkJCA9IHRoaXMub3B0aW9ucyQucGlwZShtYXAoKG9wdGlvbnMpID0+ICEhb3B0aW9ucy5pdGVtSWRzICYmIG9wdGlvbnMuaXRlbUlkcy5sZW5ndGggPiAwKSk7XG4gICAgdGhpcy5pdGVtc1RvRGlzcGxheSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5zZWxlY3RlZEl0ZW1zKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5hbGxJdGVtcyksXG4gICAgICB0aGlzLm9wdGlvbnMkLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLm9iamVjdERldGFpbHMpXG4gICAgXSkucGlwZShcbiAgICAgIHRhcCgoW18sIGFsbEl0ZW1zLCBvcHRpb25zLCBvYmplY3REZXRhaWxzXSkgPT4ge1xuICAgICAgICAvLyBnbyBzZWFyY2ggZm9yIGRldGFpbCBpdGVtIGlmIG5vdCBhbHJlYWR5IGZvdW5kIGluIGFsbEl0ZW1zIExpc3RcbiAgICAgICAgaWYgKG9wdGlvbnMuaXRlbUlkcyAmJiBvcHRpb25zLml0ZW1JZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IG1pc3NpbmdJdGVtcyA9IG9wdGlvbnMuaXRlbUlkc1xuICAgICAgICAgICAgLm1hcCgoaWQpID0+ICghYWxsSXRlbXMuZmluZCgoaXQpID0+IGl0LmlkID09PSBpZCkgPyBpZCA6IChudWxsIGFzIHVua25vd24gYXMgc3RyaW5nKSkpXG4gICAgICAgICAgICAuZmlsdGVyKChpdCkgPT4gISFpdClcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0KSA9PiAhT2JqZWN0LmtleXMob2JqZWN0RGV0YWlscykuaW5jbHVkZXMoaXQpKTtcblxuICAgICAgICAgIGlmIChtaXNzaW5nSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLmZldGNoT2JqZWN0c0RldGFpbHMoeyBpZHM6IG1pc3NpbmdJdGVtcyB9KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIG1hcCgoW2dsb2JhbFNlbGVjdGlvbkl0ZW1zLCBhbGxJdGVtcywgb3B0aW9ucywgb2JqZWN0RGV0YWlsc10pID0+XG4gICAgICAgIG9wdGlvbnMuaXRlbUlkcyAmJiBvcHRpb25zLml0ZW1JZHMubGVuZ3RoID4gMFxuICAgICAgICAgID8gb3B0aW9ucy5pdGVtSWRzLm1hcCgoaWQpID0+IGFsbEl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5pZCA9PT0gaWQpID8/IG9iamVjdERldGFpbHNbaWRdKVxuICAgICAgICAgIDogZ2xvYmFsU2VsZWN0aW9uSXRlbXNcbiAgICAgICksXG4gICAgICBtYXAoKGl0ZW1zKSA9PiBpdGVtcy5maWx0ZXIoKGl0KSA9PiAhIWl0KSBhcyBJdGVtW10pXG4gICAgKTtcblxuICAgIHRoaXMuaXRlbUFuZENhdGVnb3JpZXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLml0ZW1zVG9EaXNwbGF5JCxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoQ2F0ZWdvcnlTZWxlY3RvcnMuY2F0ZWdvcmllcylcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbaXRlbXMsIGNsYXNzZXMsIGNhdGVnb3JpZXNdKSA9PlxuICAgICAgICBpdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICBjb25zdCBvYmplY3RDbGFzcyA9IGNsYXNzZXMuZmluZCgob0NsYXNzKSA9PiBvQ2xhc3MuaWQgPT09IGl0ZW0ub0NsYXNzKSA/PyB7IGF0dHJpYnV0ZXM6IFtdIH07XG4gICAgICAgICAgY29uc3QgY2F0ZWdvcmllc1dpdGhQcm9wcyA9IFtdIGFzIHtcbiAgICAgICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7IG5hbWU6IHN0cmluZzsgYXR0cmlidXRlOiBBdHRyaWJ1dGUgfVtdO1xuICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgIH1bXTtcbiAgICAgICAgICBvYmplY3RDbGFzcy5hdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3J5SWQgPSBhdHRyLmNhdGVnb3J5ID8/IGNhdGVnb3JpZXMuZmluZCgoY2F0KSA9PiBjYXQubmFtZSA9PT0gJ2RlZmF1bHQnKT8uaWQgPz8gJ2RlZmF1bHQtaWQnO1xuICAgICAgICAgICAgaWYgKCFjYXRlZ29yaWVzV2l0aFByb3BzLmZpbmQoKGNhdCkgPT4gY2F0LmlkID09PSBjYXRlZ29yeUlkKSkge1xuICAgICAgICAgICAgICBjYXRlZ29yaWVzV2l0aFByb3BzLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBjYXRlZ29yeUlkLFxuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IFtdLFxuICAgICAgICAgICAgICAgIG5hbWU6IGNhdGVnb3JpZXMuZmluZCgoY2F0KSA9PiBjYXQuaWQgPT09IGNhdGVnb3J5SWQpPy5uYW1lID8/ICdkZWZhdWx0J1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGVnb3JpZXNXaXRoUHJvcHNcbiAgICAgICAgICAgICAgLmZpbmQoKGNhdCkgPT4gY2F0LmlkID09PSBjYXRlZ29yeUlkKVxuICAgICAgICAgICAgICA/LnByb3BlcnRpZXMucHVzaCh7IG5hbWU6IGF0dHIubmFtZSwgYXR0cmlidXRlOiBhdHRyIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpdGVtLFxuICAgICAgICAgICAgY2F0ZWdvcmllczogY2F0ZWdvcmllc1dpdGhQcm9wc1xuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLm9wdGlvbnMkLnN1YnNjcmliZSgob3B0aW9ucykgPT4gKHRoaXMub3B0aW9uc0NvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKSkpXG4gICAgKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLml0ZW1zVG9EaXNwbGF5JC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiAodGhpcy5pdGVtc0ZvclBpbiA9IGl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCkpKVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuc3RvcmUuc2VsZWN0KEZpZWxkU2VsZWN0b3JzLmZpZWxkcykuc3Vic2NyaWJlKChmaWVsZHMpID0+ICh0aGlzLmZpZWxkcyA9IGZpZWxkcykpKTtcblxuICAgIHRoaXMuZGV0YWlsbGVkV2lkZ2V0TWFuaWZlc3QkID0gdGhpcy5pdGVtc1RvRGlzcGxheSQucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKGl0ZW1zKSA9PlxuICAgICAgICAgICh7XG4gICAgICAgICAgICAuLi50aGlzLm1hbmlmZXN0LFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LndpZGdldC5kZXRhaWwudGl0bGUnLCB7IGl0ZW1zTmI6IGl0ZW1zLmxlbmd0aCB9KVxuICAgICAgICAgIH0pIGFzIFdpZGdldE1hbmlmZXN0XG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuYWRkaXRpb25hbE9wdGlvbnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5waW5uZWQkLCB0aGlzLml0ZW1zVG9EaXNwbGF5JF0pLnBpcGUoXG4gICAgICBtYXAoKFtpc1Bpbm5lZCwgaXRlbXNdKSA9PiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogaXNQaW5uZWQgPyAnQHByeS53aWRnZXQuZGV0YWlsLnVucGluJyA6ICdAcHJ5LndpZGdldC5kZXRhaWwucGluJyxcbiAgICAgICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlUGluKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBpY29uOiBpc1Bpbm5lZCA/ICd1bnB1Ymxpc2hlZCcgOiAncHVibGlzaGVkX3dpdGhfY2hhbmdlcycsXG4gICAgICAgICAgZGlzYWJsZWQ6ICgpID0+IGl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICB9XG4gICAgICBdKVxuICAgICk7XG4gIH1cblxuICB0b2dnbGUoaXRlbUluZGV4OiBudW1iZXIsIGNhdGVnb3J5SW5kZXg/OiBudW1iZXIpIHtcbiAgICBpZiAoIXRoaXMucGFuZWxPcGVuZWRbaXRlbUluZGV4XSkge1xuICAgICAgdGhpcy5wYW5lbE9wZW5lZFtpdGVtSW5kZXhdID0geyBpdGVtOiBmYWxzZSwgY2F0ZWdvcmllczogW10gfTtcbiAgICB9XG4gICAgaWYgKGNhdGVnb3J5SW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wYW5lbE9wZW5lZFtpdGVtSW5kZXhdLml0ZW0gPSAhdGhpcy5wYW5lbE9wZW5lZFtpdGVtSW5kZXhdLml0ZW07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFuZWxPcGVuZWRbaXRlbUluZGV4XS5jYXRlZ29yaWVzW2NhdGVnb3J5SW5kZXhdID0gIXRoaXMucGFuZWxPcGVuZWRbaXRlbUluZGV4XS5jYXRlZ29yaWVzW2NhdGVnb3J5SW5kZXhdO1xuICAgIH1cbiAgfVxuXG4gIGdldFZhbHVlKGl0ZW06IEl0ZW0sIHByb3BlcnR5OiBBdHRyaWJ1dGUpOiBBdHRyaWJ1dGVTaW1wbGVWYWx1ZVtdIHtcbiAgICBjb25zdCB2YWx1ZSA9IEl0ZW1VdGlscy5nZXRBdHRyaWJ1dGVWYWx1ZShpdGVtLCBwcm9wZXJ0eSk7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICB9XG5cbiAgdG9nZ2xlUGluKCkge1xuICAgIGlmICghdGhpcy5vcHRpb25zQ29weSkge1xuICAgICAgdGhpcy5vcHRpb25zQ29weSA9IHt9O1xuICAgIH1cbiAgICBpZiAoISF0aGlzLm9wdGlvbnNDb3B5Lml0ZW1JZHMgJiYgdGhpcy5vcHRpb25zQ29weS5pdGVtSWRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGRlbGV0ZSB0aGlzLm9wdGlvbnNDb3B5Lml0ZW1JZHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3B0aW9uc0NvcHkuaXRlbUlkcyA9IHRoaXMuaXRlbXNGb3JQaW47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlV2lkZ2V0TWFuaWZlc3Qoe1xuICAgICAgICBtYW5pZmVzdDogeyAuLi50aGlzLm1hbmlmZXN0LCBvcHRpb25zOiB0aGlzLm9wdGlvbnNDb3B5IH0sXG4gICAgICAgIGluZGV4OiB0aGlzLndpZGdldEluZGV4XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBoYXNNZXRhZGF0YSh2YWx1ZTogQXR0cmlidXRlU2ltcGxlVmFsdWUgfCBJdGVtKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHZhbHVlPy5tZXRhZGF0YSA/PyB7fSkubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGNvbnRleHRNZW51KCRldmVudDogTW91c2VFdmVudCwgaXRlbTogSXRlbSkge1xuICAgIGlmICh0aGlzLm1hbmlmZXN0LmNvbnRleHRNZW51ICE9PSBmYWxzZSkge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBDb250ZXh0TWVudUFjdGlvbnMub3Blbih7IGl0ZW1JZDogaXRlbS5pZCwgY2xpZW50WDogJGV2ZW50LmNsaWVudFgsIGNsaWVudFk6ICRldmVudC5jbGllbnRZLCBmcm9tOiAnZGV0YWlsJyxhbGxvd09iamVjdENyZWF0aW9uOiBmYWxzZSB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBpc1JhdyhhdHRyaWJ1dGU6IEF0dHJpYnV0ZSkge1xuICAgIHJldHVybiBhdHRyaWJ1dGUuZmllbGQ/LnR5cGUgPT09IEZpZWxkVHlwZS5SQVc7XG4gIH1cbn1cbiIsIjxwcnktd2lkZ2V0LWRldGFpbC1jc3M+PC9wcnktd2lkZ2V0LWRldGFpbC1jc3M+XG48ZGl2IGNsYXNzPVwiby13aWRnZXQgby13aWRnZXQtLWRldGFpbFwiPlxuICA8cHJ5LXdpZGdldC1oZWFkZXJcbiAgICAqbmdJZj1cImRpc3BsYXlIZWFkZXIkIHwgYXN5bmNcIlxuICAgIFt3aWRnZXRJbmRleF09XCJ3aWRnZXRJbmRleFwiXG4gICAgW21hbmlmZXN0XT1cImRldGFpbGxlZFdpZGdldE1hbmlmZXN0JCB8IGFzeW5jXCJcbiAgICBbYWRkaXRpb25hbE9wdGlvbnNdPVwiYWRkaXRpb25hbE9wdGlvbnMkIHwgYXN5bmNcIlxuICAgIFtoZWFkZXJPcHRpb25zXT1cIihkaXNwbGF5SGVhZGVyJCB8IGFzeW5jKSA/PyB7fVwiXG4gICAgW2Rpc3BsYXlDb3VudF09XCJmYWxzZVwiXG4gID5cbiAgPC9wcnktd2lkZ2V0LWhlYWRlcj5cblxuICA8cCBjbGFzcz1cImlzLWVtcHR5XCIgKm5nSWY9XCIhKGl0ZW1BbmRDYXRlZ29yaWVzJCB8IGFzeW5jKSB8fCAoaXRlbUFuZENhdGVnb3JpZXMkIHwgYXN5bmMpPy5sZW5ndGggPT09IDBcIj5cbiAgICB7eyAnQHByeS53aWRnZXQuZGV0YWlsLm5vSXRlbXMnIHwgaTE4biB9fVxuICA8L3A+XG5cbiAgPGRpdiBjbGFzcz1cIm8td2lkZ2V0LS1kZXRhaWxfX2NvbnRlbnRcIiAqbmdGb3I9XCJsZXQgY291cGxlIG9mIGl0ZW1BbmRDYXRlZ29yaWVzJCB8IGFzeW5jOyBsZXQgaXRlbUluZGV4ID0gaW5kZXhcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISgob3B0aW9ucyQgfCBhc3luYyk/LmhlYWRlciA9PT0gZmFsc2UpXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiby13aWRnZXQtLWRldGFpbF9faGVhZGVyXCJcbiAgICAgICAgKGNvbnRleHRtZW51KT1cImNvbnRleHRNZW51KCRldmVudCwgY291cGxlLml0ZW0pXCJcbiAgICAgICAgdGl0bGU9XCJ7eyAnQHByeS53aWRnZXQuaXRlbUlkJyB8IGkxOG4gfX06IHt7IGNvdXBsZS5pdGVtLmlkIH19XCJcbiAgICAgID5cbiAgICAgICAgPGltZyBbaGVpZ2h0XT1cIjI1XCIgW3dpZHRoXT1cIjI1XCIgW3NyY109XCJjb3VwbGUuaXRlbSB8IHRyYW5zbGF0ZUl0ZW1Ub1N5bWJvbCB8IGFzeW5jXCIgW2FsdF09XCJjb3VwbGVcIiAvPlxuICAgICAgICA8aDMgY2xhc3M9XCJvLXdpZGdldC0tZGV0YWlsX19oZWFkZXJfX3RpdGxlXCI+XG4gICAgICAgICAge3sgJ0Bwcnkud2lkZ2V0LmNsYXNzJyB8IGkxOG4gfX06XG4gICAgICAgICAge3tcbiAgICAgICAgICAgIGNvdXBsZS5pdGVtLm9DbGFzc1xuICAgICAgICAgICAgICB8IHRyYW5zbGF0ZUlkXG4gICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdjbGFzcycsXG4gICAgICAgICAgICAgICAgICAgIG91dHB1dDogJ25hbWUnXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHwgYXN5bmNcbiAgICAgICAgICB9fVxuICAgICAgICA8L2gzPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5XCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiEoISFwYW5lbE9wZW5lZFtpdGVtSW5kZXhdICYmIHBhbmVsT3BlbmVkW2l0ZW1JbmRleF0uaXRlbSlcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ2l0ZW0tJyArIHdpZGdldElkICsgJy0nICsgaXRlbUluZGV4XCJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlKGl0ZW1JbmRleClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHByeS1pY29uICpuZ0lmPVwiISFwYW5lbE9wZW5lZFtpdGVtSW5kZXhdICYmIHBhbmVsT3BlbmVkW2l0ZW1JbmRleF0uaXRlbVwiIGljb25Tdmc9XCJmbGVjaGVfaGF1dFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPHByeS1pY29uICpuZ0lmPVwiISghIXBhbmVsT3BlbmVkW2l0ZW1JbmRleF0gJiYgcGFuZWxPcGVuZWRbaXRlbUluZGV4XS5pdGVtKVwiIGljb25Tdmc9XCJmbGVjaGVfYmFzXCI+PC9wcnktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXdpZGdldC0tZGV0YWlsX19kYXRhc1wiICpuZ0lmPVwiaGFzTWV0YWRhdGEoY291cGxlLml0ZW0pXCI+XG4gICAgICAgIDxwcnktbWV0YWRhdGEgW2l0ZW1dPVwiY291cGxlLml0ZW1cIj48L3ByeS1tZXRhZGF0YT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhIXBhbmVsT3BlbmVkW2l0ZW1JbmRleF0gJiYgcGFuZWxPcGVuZWRbaXRlbUluZGV4XS5pdGVtXCJcbiAgICAgIChjb250ZXh0bWVudSk9XCJjb250ZXh0TWVudSgkZXZlbnQsIGNvdXBsZS5pdGVtKVwiXG4gICAgICBjbGFzcz1cIm8td2lkZ2V0LS1kZXRhaWxfX2RhdGFzXCJcbiAgICAgIFtpZF09XCInaXRlbS0nICsgd2lkZ2V0SWQgKyAnLScgKyBpdGVtSW5kZXhcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIGNvdXBsZS5jYXRlZ29yaWVzOyBsZXQgY2F0ZWdvcnlJbmRleCA9IGluZGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLXdpZGdldC0tZGV0YWlsX19jYXRlZ29yeVwiPlxuICAgICAgICAgIDxwPnt7ICdAcHJ5LndpZGdldC5kZXRhaWwuY2F0ZWdvcnknIHwgaTE4biB9fToge3sgY2F0ZWdvcnkubmFtZSB9fTwvcD5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiEocGFuZWxPcGVuZWRbaXRlbUluZGV4XSAmJiBwYW5lbE9wZW5lZFtpdGVtSW5kZXhdLmNhdGVnb3JpZXNbY2F0ZWdvcnlJbmRleF0pXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ3Byb3BlcnRpZXMtJyArIHdpZGdldElkICsgJy0nICsgaXRlbUluZGV4ICsgJy0nICsgY2F0ZWdvcnlJbmRleFwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlKGl0ZW1JbmRleCwgY2F0ZWdvcnlJbmRleClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICAqbmdJZj1cInBhbmVsT3BlbmVkW2l0ZW1JbmRleF0gJiYgcGFuZWxPcGVuZWRbaXRlbUluZGV4XS5jYXRlZ29yaWVzW2NhdGVnb3J5SW5kZXhdXCJcbiAgICAgICAgICAgICAgaWNvblN2Zz1cImZsZWNoZV9oYXV0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcHJ5LWljb24+XG4gICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgKm5nSWY9XCIhKHBhbmVsT3BlbmVkW2l0ZW1JbmRleF0gJiYgcGFuZWxPcGVuZWRbaXRlbUluZGV4XS5jYXRlZ29yaWVzW2NhdGVnb3J5SW5kZXhdKVwiXG4gICAgICAgICAgICAgIGljb25Tdmc9XCJmbGVjaGVfYmFzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcHJ5LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cIm8tcHJvcGVydGllc1wiXG4gICAgICAgICAgW2lkXT1cIidwcm9wZXJ0aWVzLScgKyB3aWRnZXRJZCArICctJyArIGl0ZW1JbmRleCArICctJyArIGNhdGVnb3J5SW5kZXhcIlxuICAgICAgICAgICpuZ0lmPVwicGFuZWxPcGVuZWRbaXRlbUluZGV4XSAmJiBwYW5lbE9wZW5lZFtpdGVtSW5kZXhdLmNhdGVnb3JpZXNbY2F0ZWdvcnlJbmRleF1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHVsIGNsYXNzPVwiby1wcm9wZXJ0aWVzX19saXN0XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiBjYXRlZ29yeS5wcm9wZXJ0aWVzXCI+XG4gICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgZ2V0VmFsdWUoY291cGxlLml0ZW0sIHByb3BlcnR5LmF0dHJpYnV0ZSk7IGxldCBpID0gaW5kZXg7IGxldCBjID0gY291bnRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvLXByb3BlcnRpZXNfX2xpc3RfX2l0ZW1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiby1wcm9wZXJ0aWVzX19saXN0X19pdGVtX19sYWJlbFwiICpuZ0lmPVwiaSA9PT0gMFwiPnt7IHByb3BlcnR5Lm5hbWUgfX06PC9wPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJvLXByb3BlcnRpZXNfX2xpc3RfX2l0ZW1fX3ZhbHVlXCIgKm5nSWY9XCIhaXNSYXcocHJvcGVydHkuYXR0cmlidXRlKVwiPnt7IHZhbHVlPy52YWx1ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiby1wcm9wZXJ0aWVzX19saXN0X19pdGVtX19yYXdcIiAqbmdJZj1cImlzUmF3KHByb3BlcnR5LmF0dHJpYnV0ZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPHByeS12aXp1YWxpemUtcmF3IFtpdGVtXT1cImNvdXBsZS5pdGVtXCIgW3Byb3BlcnR5TmFtZV09XCJwcm9wZXJ0eS5uYW1lXCI+PC9wcnktdml6dWFsaXplLXJhdz5cbiAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNNZXRhZGF0YSh2YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPHByeS1tZXRhZGF0YSBbaXRlbV09XCJ2YWx1ZVwiPjwvcHJ5LW1ldGFkYXRhPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC93aWRnZXRzL3dpZGdldC1kZXRhaWwvY29tcG9uZW50L3dpZGdldC1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtZGV0YWlsL2NvbXBvbmVudC93aWRnZXQtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUdMLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBR2xCLGNBQWMsRUFDZCxTQUFTLEVBR1QsU0FBUyxFQUdWLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBTTFDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7YUFjckQsc0JBQWlCLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFFN0IsWUFDRSxLQUFpQixFQUNULGdCQUFnQyxFQUN4QyxFQUFjO1FBRWQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUhULHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0I7UUFmMUMsZ0JBQVcsR0FBK0MsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBTy9GLFdBQU0sR0FBWSxFQUFFLENBQUM7UUFZbkIsSUFB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bSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEF0dHJpYnV0ZSxcbiAgQXR0cmlidXRlU2ltcGxlVmFsdWUsXG4gIEJhc2VXaWRnZXRDb21wb25lbnQsXG4gIENhdGVnb3J5U2VsZWN0b3JzLFxuICBDbGFzc1NlbGVjdG9ycyxcbiAgQ29udGV4dE1lbnVBY3Rpb25zLFxuICBEYXNoYm9hcmRBY3Rpb25zLFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERldGFpbFdpZGdldE9wdGlvbnMsXG4gIEZpZWxkLFxuICBGaWVsZFNlbGVjdG9ycyxcbiAgRmllbGRUeXBlLFxuICBIZWFkZXJBY3Rpb24sXG4gIEl0ZW0sXG4gIEl0ZW1VdGlscyxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFdpZGdldE1hbmlmZXN0XG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXdpZGdldC1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWRldGFpbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0RGV0YWlsQ29tcG9uZW50IGV4dGVuZHMgQmFzZVdpZGdldENvbXBvbmVudCB7XG4gIG9wdGlvbnMkOiBPYnNlcnZhYmxlPERldGFpbFdpZGdldE9wdGlvbnM+O1xuICBpdGVtc1RvRGlzcGxheSQ6IE9ic2VydmFibGU8SXRlbVtdPjtcbiAgcGFuZWxPcGVuZWQ6IHsgaXRlbTogYm9vbGVhbjsgY2F0ZWdvcmllczogYm9vbGVhbltdIH1bXSA9IFt7IGl0ZW06IHRydWUsIGNhdGVnb3JpZXM6IFt0cnVlXSB9XTtcbiAgaXRlbUFuZENhdGVnb3JpZXMkOiBPYnNlcnZhYmxlPFxuICAgIHsgaXRlbTogSXRlbTsgY2F0ZWdvcmllczogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IHByb3BlcnRpZXM6IHsgbmFtZTogc3RyaW5nOyBhdHRyaWJ1dGU6IEF0dHJpYnV0ZSB9W10gfVtdIH1bXVxuICA+O1xuICBwaW5uZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBvcHRpb25zQ29weT86IERldGFpbFdpZGdldE9wdGlvbnM7XG4gIGl0ZW1zRm9yUGluPzogc3RyaW5nW107XG4gIGZpZWxkczogRmllbGRbXSA9IFtdO1xuICBkZXRhaWxsZWRXaWRnZXRNYW5pZmVzdCQ6IE9ic2VydmFibGU8V2lkZ2V0TWFuaWZlc3Q+O1xuICBhZGRpdGlvbmFsT3B0aW9ucyQ6IE9ic2VydmFibGU8SGVhZGVyQWN0aW9uW10+O1xuICB3aWRnZXRJZDogbnVtYmVyO1xuICBzdGF0aWMgd2lkZ2V0SWRHZW5lcmF0b3IgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2UsXG4gICAgZWw6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgc3VwZXIoc3RvcmUsIGVsKTtcbiAgICB0aGlzLndpZGdldElkID0gV2lkZ2V0RGV0YWlsQ29tcG9uZW50LndpZGdldElkR2VuZXJhdG9yKys7XG4gICAgdGhpcy5vcHRpb25zJCA9IHRoaXMubWFuaWZlc3QkLnBpcGUobWFwKChtYW5pZmVzdCkgPT4gKG1hbmlmZXN0Lm9wdGlvbnMgPz8ge30pIGFzIERldGFpbFdpZGdldE9wdGlvbnMpKTtcbiAgICB0aGlzLnBpbm5lZCQgPSB0aGlzLm9wdGlvbnMkLnBpcGUobWFwKChvcHRpb25zKSA9PiAhIW9wdGlvbnMuaXRlbUlkcyAmJiBvcHRpb25zLml0ZW1JZHMubGVuZ3RoID4gMCkpO1xuICAgIHRoaXMuaXRlbXNUb0Rpc3BsYXkkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuc2VsZWN0ZWRJdGVtcyksXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuYWxsSXRlbXMpLFxuICAgICAgdGhpcy5vcHRpb25zJCxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5vYmplY3REZXRhaWxzKVxuICAgIF0pLnBpcGUoXG4gICAgICB0YXAoKFtfLCBhbGxJdGVtcywgb3B0aW9ucywgb2JqZWN0RGV0YWlsc10pID0+IHtcbiAgICAgICAgLy8gZ28gc2VhcmNoIGZvciBkZXRhaWwgaXRlbSBpZiBub3QgYWxyZWFkeSBmb3VuZCBpbiBhbGxJdGVtcyBMaXN0XG4gICAgICAgIGlmIChvcHRpb25zLml0ZW1JZHMgJiYgb3B0aW9ucy5pdGVtSWRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjb25zdCBtaXNzaW5nSXRlbXMgPSBvcHRpb25zLml0ZW1JZHNcbiAgICAgICAgICAgIC5tYXAoKGlkKSA9PiAoIWFsbEl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5pZCA9PT0gaWQpID8gaWQgOiAobnVsbCBhcyB1bmtub3duIGFzIHN0cmluZykpKVxuICAgICAgICAgICAgLmZpbHRlcigoaXQpID0+ICEhaXQpXG4gICAgICAgICAgICAuZmlsdGVyKChpdCkgPT4gIU9iamVjdC5rZXlzKG9iamVjdERldGFpbHMpLmluY2x1ZGVzKGl0KSk7XG5cbiAgICAgICAgICBpZiAobWlzc2luZ0l0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5mZXRjaE9iamVjdHNEZXRhaWxzKHsgaWRzOiBtaXNzaW5nSXRlbXMgfSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBtYXAoKFtnbG9iYWxTZWxlY3Rpb25JdGVtcywgYWxsSXRlbXMsIG9wdGlvbnMsIG9iamVjdERldGFpbHNdKSA9PlxuICAgICAgICBvcHRpb25zLml0ZW1JZHMgJiYgb3B0aW9ucy5pdGVtSWRzLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IG9wdGlvbnMuaXRlbUlkcy5tYXAoKGlkKSA9PiBhbGxJdGVtcy5maW5kKChpdCkgPT4gaXQuaWQgPT09IGlkKSA/PyBvYmplY3REZXRhaWxzW2lkXSlcbiAgICAgICAgICA6IGdsb2JhbFNlbGVjdGlvbkl0ZW1zXG4gICAgICApLFxuICAgICAgbWFwKChpdGVtcykgPT4gaXRlbXMuZmlsdGVyKChpdCkgPT4gISFpdCkgYXMgSXRlbVtdKVxuICAgICk7XG5cbiAgICB0aGlzLml0ZW1BbmRDYXRlZ29yaWVzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5pdGVtc1RvRGlzcGxheSQsXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENhdGVnb3J5U2VsZWN0b3JzLmNhdGVnb3JpZXMpXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2l0ZW1zLCBjbGFzc2VzLCBjYXRlZ29yaWVzXSkgPT5cbiAgICAgICAgaXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb2JqZWN0Q2xhc3MgPSBjbGFzc2VzLmZpbmQoKG9DbGFzcykgPT4gb0NsYXNzLmlkID09PSBpdGVtLm9DbGFzcykgPz8geyBhdHRyaWJ1dGVzOiBbXSB9O1xuICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXNXaXRoUHJvcHMgPSBbXSBhcyB7XG4gICAgICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICAgICAgcHJvcGVydGllczogeyBuYW1lOiBzdHJpbmc7IGF0dHJpYnV0ZTogQXR0cmlidXRlIH1bXTtcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICB9W107XG4gICAgICAgICAgb2JqZWN0Q2xhc3MuYXR0cmlidXRlcy5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYXRlZ29yeUlkID0gYXR0ci5jYXRlZ29yeSA/PyBjYXRlZ29yaWVzLmZpbmQoKGNhdCkgPT4gY2F0Lm5hbWUgPT09ICdkZWZhdWx0Jyk/LmlkID8/ICdkZWZhdWx0LWlkJztcbiAgICAgICAgICAgIGlmICghY2F0ZWdvcmllc1dpdGhQcm9wcy5maW5kKChjYXQpID0+IGNhdC5pZCA9PT0gY2F0ZWdvcnlJZCkpIHtcbiAgICAgICAgICAgICAgY2F0ZWdvcmllc1dpdGhQcm9wcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZDogY2F0ZWdvcnlJZCxcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXSxcbiAgICAgICAgICAgICAgICBuYW1lOiBjYXRlZ29yaWVzLmZpbmQoKGNhdCkgPT4gY2F0LmlkID09PSBjYXRlZ29yeUlkKT8ubmFtZSA/PyAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRlZ29yaWVzV2l0aFByb3BzXG4gICAgICAgICAgICAgIC5maW5kKChjYXQpID0+IGNhdC5pZCA9PT0gY2F0ZWdvcnlJZClcbiAgICAgICAgICAgICAgPy5wcm9wZXJ0aWVzLnB1c2goeyBuYW1lOiBhdHRyLm5hbWUsIGF0dHJpYnV0ZTogYXR0ciB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXRlbSxcbiAgICAgICAgICAgIGNhdGVnb3JpZXM6IGNhdGVnb3JpZXNXaXRoUHJvcHNcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5vcHRpb25zJC5zdWJzY3JpYmUoKG9wdGlvbnMpID0+ICh0aGlzLm9wdGlvbnNDb3B5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvcHRpb25zKSkpKVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5pdGVtc1RvRGlzcGxheSQuc3Vic2NyaWJlKChpdGVtcykgPT4gKHRoaXMuaXRlbXNGb3JQaW4gPSBpdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaWQpKSlcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLnN0b3JlLnNlbGVjdChGaWVsZFNlbGVjdG9ycy5maWVsZHMpLnN1YnNjcmliZSgoZmllbGRzKSA9PiAodGhpcy5maWVsZHMgPSBmaWVsZHMpKSk7XG5cbiAgICB0aGlzLmRldGFpbGxlZFdpZGdldE1hbmlmZXN0JCA9IHRoaXMuaXRlbXNUb0Rpc3BsYXkkLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChpdGVtcykgPT5cbiAgICAgICAgICAoe1xuICAgICAgICAgICAgLi4udGhpcy5tYW5pZmVzdCxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS53aWRnZXQuZGV0YWlsLnRpdGxlJywgeyBpdGVtc05iOiBpdGVtcy5sZW5ndGggfSlcbiAgICAgICAgICB9KSBhcyBXaWRnZXRNYW5pZmVzdFxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLmFkZGl0aW9uYWxPcHRpb25zJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMucGlubmVkJCwgdGhpcy5pdGVtc1RvRGlzcGxheSRdKS5waXBlKFxuICAgICAgbWFwKChbaXNQaW5uZWQsIGl0ZW1zXSkgPT4gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6IGlzUGlubmVkID8gJ0Bwcnkud2lkZ2V0LmRldGFpbC51bnBpbicgOiAnQHByeS53aWRnZXQuZGV0YWlsLnBpbicsXG4gICAgICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZVBpbigpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgaWNvbjogaXNQaW5uZWQgPyAndW5wdWJsaXNoZWQnIDogJ3B1Ymxpc2hlZF93aXRoX2NoYW5nZXMnLFxuICAgICAgICAgIGRpc2FibGVkOiAoKSA9PiBpdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgfVxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgdG9nZ2xlKGl0ZW1JbmRleDogbnVtYmVyLCBjYXRlZ29yeUluZGV4PzogbnVtYmVyKSB7XG4gICAgaWYgKCF0aGlzLnBhbmVsT3BlbmVkW2l0ZW1JbmRleF0pIHtcbiAgICAgIHRoaXMucGFuZWxPcGVuZWRbaXRlbUluZGV4XSA9IHsgaXRlbTogZmFsc2UsIGNhdGVnb3JpZXM6IFtdIH07XG4gICAgfVxuICAgIGlmIChjYXRlZ29yeUluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMucGFuZWxPcGVuZWRbaXRlbUluZGV4XS5pdGVtID0gIXRoaXMucGFuZWxPcGVuZWRbaXRlbUluZGV4XS5pdGVtO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhbmVsT3BlbmVkW2l0ZW1JbmRleF0uY2F0ZWdvcmllc1tjYXRlZ29yeUluZGV4XSA9ICF0aGlzLnBhbmVsT3BlbmVkW2l0ZW1JbmRleF0uY2F0ZWdvcmllc1tjYXRlZ29yeUluZGV4XTtcbiAgICB9XG4gIH1cblxuICBnZXRWYWx1ZShpdGVtOiBJdGVtLCBwcm9wZXJ0eTogQXR0cmlidXRlKTogQXR0cmlidXRlU2ltcGxlVmFsdWVbXSB7XG4gICAgY29uc3QgdmFsdWUgPSBJdGVtVXRpbHMuZ2V0QXR0cmlidXRlVmFsdWUoaXRlbSwgcHJvcGVydHkpO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgfVxuXG4gIHRvZ2dsZVBpbigpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9uc0NvcHkpIHtcbiAgICAgIHRoaXMub3B0aW9uc0NvcHkgPSB7fTtcbiAgICB9XG4gICAgaWYgKCEhdGhpcy5vcHRpb25zQ29weS5pdGVtSWRzICYmIHRoaXMub3B0aW9uc0NvcHkuaXRlbUlkcy5sZW5ndGggPiAwKSB7XG4gICAgICBkZWxldGUgdGhpcy5vcHRpb25zQ29weS5pdGVtSWRzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wdGlvbnNDb3B5Lml0ZW1JZHMgPSB0aGlzLml0ZW1zRm9yUGluO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVdpZGdldE1hbmlmZXN0KHtcbiAgICAgICAgbWFuaWZlc3Q6IHsgLi4udGhpcy5tYW5pZmVzdCwgb3B0aW9uczogdGhpcy5vcHRpb25zQ29weSB9LFxuICAgICAgICBpbmRleDogdGhpcy53aWRnZXRJbmRleFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgaGFzTWV0YWRhdGEodmFsdWU6IEF0dHJpYnV0ZVNpbXBsZVZhbHVlIHwgSXRlbSkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh2YWx1ZT8ubWV0YWRhdGEgPz8ge30pLmxlbmd0aCA+IDA7XG4gIH1cblxuICBjb250ZXh0TWVudSgkZXZlbnQ6IE1vdXNlRXZlbnQsIGl0ZW06IEl0ZW0pIHtcbiAgICBpZiAodGhpcy5tYW5pZmVzdC5jb250ZXh0TWVudSAhPT0gZmFsc2UpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgQ29udGV4dE1lbnVBY3Rpb25zLm9wZW4oeyBpdGVtSWQ6IGl0ZW0uaWQsIGNsaWVudFg6ICRldmVudC5jbGllbnRYLCBjbGllbnRZOiAkZXZlbnQuY2xpZW50WSwgZnJvbTogJ2RldGFpbCcsYWxsb3dPYmplY3RDcmVhdGlvbjogZmFsc2UgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaXNSYXcoYXR0cmlidXRlOiBBdHRyaWJ1dGUpIHtcbiAgICByZXR1cm4gYXR0cmlidXRlLmZpZWxkPy50eXBlID09PSBGaWVsZFR5cGUuUkFXO1xuICB9XG59XG4iLCI8cHJ5LXdpZGdldC1kZXRhaWwtY3NzPjwvcHJ5LXdpZGdldC1kZXRhaWwtY3NzPlxuPGRpdiBjbGFzcz1cIm8td2lkZ2V0IG8td2lkZ2V0LS1kZXRhaWxcIj5cbiAgPHByeS13aWRnZXQtaGVhZGVyXG4gICAgKm5nSWY9XCJkaXNwbGF5SGVhZGVyJCB8IGFzeW5jXCJcbiAgICBbd2lkZ2V0SW5kZXhdPVwid2lkZ2V0SW5kZXhcIlxuICAgIFttYW5pZmVzdF09XCJkZXRhaWxsZWRXaWRnZXRNYW5pZmVzdCQgfCBhc3luY1wiXG4gICAgW2FkZGl0aW9uYWxPcHRpb25zXT1cImFkZGl0aW9uYWxPcHRpb25zJCB8IGFzeW5jXCJcbiAgICBbaGVhZGVyT3B0aW9uc109XCIoZGlzcGxheUhlYWRlciQgfCBhc3luYykgPz8ge31cIlxuICAgIFtkaXNwbGF5Q291bnRdPVwiZmFsc2VcIlxuICA+XG4gIDwvcHJ5LXdpZGdldC1oZWFkZXI+XG5cbiAgPHAgY2xhc3M9XCJpcy1lbXB0eVwiICpuZ0lmPVwiIShpdGVtQW5kQ2F0ZWdvcmllcyQgfCBhc3luYykgfHwgKGl0ZW1BbmRDYXRlZ29yaWVzJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwXCI+XG4gICAge3sgJ0Bwcnkud2lkZ2V0LmRldGFpbC5ub0l0ZW1zJyB8IGkxOG4gfX1cbiAgPC9wPlxuXG4gIDxkaXYgY2xhc3M9XCJvLXdpZGdldC0tZGV0YWlsX19jb250ZW50XCIgKm5nRm9yPVwibGV0IGNvdXBsZSBvZiBpdGVtQW5kQ2F0ZWdvcmllcyQgfCBhc3luYzsgbGV0IGl0ZW1JbmRleCA9IGluZGV4XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEoKG9wdGlvbnMkIHwgYXN5bmMpPy5oZWFkZXIgPT09IGZhbHNlKVwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm8td2lkZ2V0LS1kZXRhaWxfX2hlYWRlclwiXG4gICAgICAgIChjb250ZXh0bWVudSk9XCJjb250ZXh0TWVudSgkZXZlbnQsIGNvdXBsZS5pdGVtKVwiXG4gICAgICAgIHRpdGxlPVwie3sgJ0Bwcnkud2lkZ2V0Lml0ZW1JZCcgfCBpMThuIH19OiB7eyBjb3VwbGUuaXRlbS5pZCB9fVwiXG4gICAgICA+XG4gICAgICAgIDxpbWcgW2hlaWdodF09XCIyNVwiIFt3aWR0aF09XCIyNVwiIFtzcmNdPVwiY291cGxlLml0ZW0gfCB0cmFuc2xhdGVJdGVtVG9TeW1ib2wgfCBhc3luY1wiIFthbHRdPVwiY291cGxlXCIgLz5cbiAgICAgICAgPGgzIGNsYXNzPVwiby13aWRnZXQtLWRldGFpbF9faGVhZGVyX190aXRsZVwiPlxuICAgICAgICAgIHt7ICdAcHJ5LndpZGdldC5jbGFzcycgfCBpMThuIH19OlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICBjb3VwbGUuaXRlbS5vQ2xhc3NcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVJZFxuICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnY2xhc3MnLFxuICAgICAgICAgICAgICAgICAgICBvdXRwdXQ6ICduYW1lJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB8IGFzeW5jXG4gICAgICAgICAgfX1cbiAgICAgICAgPC9oMz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhKCEhcGFuZWxPcGVuZWRbaXRlbUluZGV4XSAmJiBwYW5lbE9wZW5lZFtpdGVtSW5kZXhdLml0ZW0pXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIidpdGVtLScgKyB3aWRnZXRJZCArICctJyArIGl0ZW1JbmRleFwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZShpdGVtSW5kZXgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwcnktaWNvbiAqbmdJZj1cIiEhcGFuZWxPcGVuZWRbaXRlbUluZGV4XSAmJiBwYW5lbE9wZW5lZFtpdGVtSW5kZXhdLml0ZW1cIiBpY29uU3ZnPVwiZmxlY2hlX2hhdXRcIj48L3ByeS1pY29uPlxuICAgICAgICAgIDxwcnktaWNvbiAqbmdJZj1cIiEoISFwYW5lbE9wZW5lZFtpdGVtSW5kZXhdICYmIHBhbmVsT3BlbmVkW2l0ZW1JbmRleF0uaXRlbSlcIiBpY29uU3ZnPVwiZmxlY2hlX2Jhc1wiPjwvcHJ5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby13aWRnZXQtLWRldGFpbF9fZGF0YXNcIiAqbmdJZj1cImhhc01ldGFkYXRhKGNvdXBsZS5pdGVtKVwiPlxuICAgICAgICA8cHJ5LW1ldGFkYXRhIFtpdGVtXT1cImNvdXBsZS5pdGVtXCI+PC9wcnktbWV0YWRhdGE+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiISFwYW5lbE9wZW5lZFtpdGVtSW5kZXhdICYmIHBhbmVsT3BlbmVkW2l0ZW1JbmRleF0uaXRlbVwiXG4gICAgICAoY29udGV4dG1lbnUpPVwiY29udGV4dE1lbnUoJGV2ZW50LCBjb3VwbGUuaXRlbSlcIlxuICAgICAgY2xhc3M9XCJvLXdpZGdldC0tZGV0YWlsX19kYXRhc1wiXG4gICAgICBbaWRdPVwiJ2l0ZW0tJyArIHdpZGdldElkICsgJy0nICsgaXRlbUluZGV4XCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBjb3VwbGUuY2F0ZWdvcmllczsgbGV0IGNhdGVnb3J5SW5kZXggPSBpbmRleFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby13aWRnZXQtLWRldGFpbF9fY2F0ZWdvcnlcIj5cbiAgICAgICAgICA8cD57eyAnQHByeS53aWRnZXQuZGV0YWlsLmNhdGVnb3J5JyB8IGkxOG4gfX06IHt7IGNhdGVnb3J5Lm5hbWUgfX08L3A+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhKHBhbmVsT3BlbmVkW2l0ZW1JbmRleF0gJiYgcGFuZWxPcGVuZWRbaXRlbUluZGV4XS5jYXRlZ29yaWVzW2NhdGVnb3J5SW5kZXhdKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIidwcm9wZXJ0aWVzLScgKyB3aWRnZXRJZCArICctJyArIGl0ZW1JbmRleCArICctJyArIGNhdGVnb3J5SW5kZXhcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZShpdGVtSW5kZXgsIGNhdGVnb3J5SW5kZXgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgKm5nSWY9XCJwYW5lbE9wZW5lZFtpdGVtSW5kZXhdICYmIHBhbmVsT3BlbmVkW2l0ZW1JbmRleF0uY2F0ZWdvcmllc1tjYXRlZ29yeUluZGV4XVwiXG4gICAgICAgICAgICAgIGljb25Tdmc9XCJmbGVjaGVfaGF1dFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3ByeS1pY29uPlxuICAgICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICAgICpuZ0lmPVwiIShwYW5lbE9wZW5lZFtpdGVtSW5kZXhdICYmIHBhbmVsT3BlbmVkW2l0ZW1JbmRleF0uY2F0ZWdvcmllc1tjYXRlZ29yeUluZGV4XSlcIlxuICAgICAgICAgICAgICBpY29uU3ZnPVwiZmxlY2hlX2Jhc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3ByeS1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJvLXByb3BlcnRpZXNcIlxuICAgICAgICAgIFtpZF09XCIncHJvcGVydGllcy0nICsgd2lkZ2V0SWQgKyAnLScgKyBpdGVtSW5kZXggKyAnLScgKyBjYXRlZ29yeUluZGV4XCJcbiAgICAgICAgICAqbmdJZj1cInBhbmVsT3BlbmVkW2l0ZW1JbmRleF0gJiYgcGFuZWxPcGVuZWRbaXRlbUluZGV4XS5jYXRlZ29yaWVzW2NhdGVnb3J5SW5kZXhdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx1bCBjbGFzcz1cIm8tcHJvcGVydGllc19fbGlzdFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgY2F0ZWdvcnkucHJvcGVydGllc1wiPlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHZhbHVlIG9mIGdldFZhbHVlKGNvdXBsZS5pdGVtLCBwcm9wZXJ0eS5hdHRyaWJ1dGUpOyBsZXQgaSA9IGluZGV4OyBsZXQgYyA9IGNvdW50XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiby1wcm9wZXJ0aWVzX19saXN0X19pdGVtXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm8tcHJvcGVydGllc19fbGlzdF9faXRlbV9fbGFiZWxcIiAqbmdJZj1cImkgPT09IDBcIj57eyBwcm9wZXJ0eS5uYW1lIH19OjwvcD5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiby1wcm9wZXJ0aWVzX19saXN0X19pdGVtX192YWx1ZVwiICpuZ0lmPVwiIWlzUmF3KHByb3BlcnR5LmF0dHJpYnV0ZSlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdmFsdWU/LnZhbHVlIHwgZGF0YUZvcm1hdDogcHJvcGVydHkuYXR0cmlidXRlLmZpZWxkIH19XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm8tcHJvcGVydGllc19fbGlzdF9faXRlbV9fcmF3XCIgKm5nSWY9XCJpc1Jhdyhwcm9wZXJ0eS5hdHRyaWJ1dGUpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwcnktdml6dWFsaXplLXJhdyBbaXRlbV09XCJjb3VwbGUuaXRlbVwiIFtwcm9wZXJ0eU5hbWVdPVwicHJvcGVydHkubmFtZVwiPjwvcHJ5LXZpenVhbGl6ZS1yYXc+XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzTWV0YWRhdGEodmFsdWUpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwcnktbWV0YWRhdGEgW2l0ZW1dPVwidmFsdWVcIj48L3ByeS1tZXRhZGF0YT5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -8,6 +8,7 @@ import { WidgetDetailComponent } from './component/widget-detail.component';
8
8
  import { enTranslations } from './i18n/en.translations';
9
9
  import { frTranslations } from './i18n/fr.translations';
10
10
  import { PryWidgetDetailCssComponent } from './style/css.component';
11
+ import { PryDataFormatModule } from '@provoly/dashboard/components/data-format';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "@provoly/dashboard";
13
14
  export class WidgetDetailModule extends BaseWidgetModule {
@@ -30,7 +31,8 @@ export class WidgetDetailModule extends BaseWidgetModule {
30
31
  PryIconModule,
31
32
  PryCheckboxModule,
32
33
  PryToggleModule,
33
- PryI18nModule], exports: [WidgetDetailComponent] }); }
34
+ PryI18nModule,
35
+ PryDataFormatModule], exports: [WidgetDetailComponent] }); }
34
36
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetDetailModule, imports: [CommonModule,
35
37
  FormsModule,
36
38
  OverlayModule,
@@ -40,7 +42,8 @@ export class WidgetDetailModule extends BaseWidgetModule {
40
42
  PryIconModule,
41
43
  PryCheckboxModule,
42
44
  PryToggleModule,
43
- PryI18nModule] }); }
45
+ PryI18nModule,
46
+ PryDataFormatModule] }); }
44
47
  }
45
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetDetailModule, decorators: [{
46
49
  type: NgModule,
@@ -56,9 +59,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
56
59
  PryIconModule,
57
60
  PryCheckboxModule,
58
61
  PryToggleModule,
59
- PryI18nModule
62
+ PryI18nModule,
63
+ PryDataFormatModule
60
64
  ],
61
65
  exports: [WidgetDetailComponent]
62
66
  }]
63
67
  }], ctorParameters: () => [{ type: i1.PryI18nService }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRldGFpbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC93aWRnZXRzL3dpZGdldC1kZXRhaWwvd2lkZ2V0LWRldGFpbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUViLGFBQWEsRUFDYixlQUFlLEVBQ2YsZUFBZSxFQUNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQWtCcEUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUN0RCxZQUFvQixtQkFBbUM7UUFDckQsS0FBSyxFQUFFLENBQUM7UUFEVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWdCO1FBRXJELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVRLFlBQVk7UUFDbkIsT0FBTyxxQkFBa0QsQ0FBQztJQUM1RCxDQUFDOzhHQVRVLGtCQUFrQjsrR0FBbEIsa0JBQWtCLGlCQWZkLHFCQUFxQixFQUFFLDJCQUEyQixhQUUvRCxZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixhQUFhLGFBRUwscUJBQXFCOytHQUVwQixrQkFBa0IsWUFiM0IsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsYUFBYTs7MkZBSUosa0JBQWtCO2tCQWhCOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDbEUsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBCYXNlV2lkZ2V0Q29tcG9uZW50LFxuICBCYXNlV2lkZ2V0TW9kdWxlLFxuICBQcnlDb3JlTW9kdWxlLFxuICBQcnlEYXNoYm9hcmRNb2R1bGUsXG4gIFByeUkxOG5Nb2R1bGUsXG4gIFByeUkxOG5TZXJ2aWNlLFxuICBQcnlJY29uTW9kdWxlLFxuICBQcnlTZWxlY3RNb2R1bGUsXG4gIFByeVRvZ2dsZU1vZHVsZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgUHJ5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9jaGVja2JveCc7XG5pbXBvcnQgeyBXaWRnZXREZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC93aWRnZXQtZGV0YWlsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBlblRyYW5zbGF0aW9ucyB9IGZyb20gJy4vaTE4bi9lbi50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgZnJUcmFuc2xhdGlvbnMgfSBmcm9tICcuL2kxOG4vZnIudHJhbnNsYXRpb25zJztcbmltcG9ydCB7IFByeVdpZGdldERldGFpbENzc0NvbXBvbmVudCB9IGZyb20gJy4vc3R5bGUvY3NzLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1dpZGdldERldGFpbENvbXBvbmVudCwgUHJ5V2lkZ2V0RGV0YWlsQ3NzQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIFByeUNvcmVNb2R1bGUsXG4gICAgUHJ5RGFzaGJvYXJkTW9kdWxlLFxuICAgIFByeVNlbGVjdE1vZHVsZSxcbiAgICBQcnlJY29uTW9kdWxlLFxuICAgIFByeUNoZWNrYm94TW9kdWxlLFxuICAgIFByeVRvZ2dsZU1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtXaWRnZXREZXRhaWxDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFdpZGdldERldGFpbE1vZHVsZSBleHRlbmRzIEJhc2VXaWRnZXRNb2R1bGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByeVRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnByeVRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZnInLCAnd2lkZ2V0LWRldGFpbCcsIGZyVHJhbnNsYXRpb25zKTtcbiAgICB0aGlzLnByeVRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZW4nLCAnd2lkZ2V0LWRldGFpbCcsIGVuVHJhbnNsYXRpb25zKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldENvbXBvbmVudCgpIHtcbiAgICByZXR1cm4gV2lkZ2V0RGV0YWlsQ29tcG9uZW50IGFzIFR5cGU8QmFzZVdpZGdldENvbXBvbmVudD47XG4gIH1cbn1cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRldGFpbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC93aWRnZXRzL3dpZGdldC1kZXRhaWwvd2lkZ2V0LWRldGFpbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUViLGFBQWEsRUFDYixlQUFlLEVBQ2YsZUFBZSxFQUNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQW1CaEYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUN0RCxZQUFvQixtQkFBbUM7UUFDckQsS0FBSyxFQUFFLENBQUM7UUFEVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWdCO1FBRXJELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVRLFlBQVk7UUFDbkIsT0FBTyxxQkFBa0QsQ0FBQztJQUM1RCxDQUFDOzhHQVRVLGtCQUFrQjsrR0FBbEIsa0JBQWtCLGlCQWhCZCxxQkFBcUIsRUFBRSwyQkFBMkIsYUFFL0QsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsYUFBYTtZQUNiLG1CQUFtQixhQUVYLHFCQUFxQjsrR0FFcEIsa0JBQWtCLFlBZDNCLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGFBQWE7WUFDYixtQkFBbUI7OzJGQUlWLGtCQUFrQjtrQkFqQjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLEVBQUUsMkJBQTJCLENBQUM7b0JBQ2xFLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBCYXNlV2lkZ2V0Q29tcG9uZW50LFxuICBCYXNlV2lkZ2V0TW9kdWxlLFxuICBQcnlDb3JlTW9kdWxlLFxuICBQcnlEYXNoYm9hcmRNb2R1bGUsXG4gIFByeUkxOG5Nb2R1bGUsXG4gIFByeUkxOG5TZXJ2aWNlLFxuICBQcnlJY29uTW9kdWxlLFxuICBQcnlTZWxlY3RNb2R1bGUsXG4gIFByeVRvZ2dsZU1vZHVsZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgUHJ5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9jaGVja2JveCc7XG5pbXBvcnQgeyBXaWRnZXREZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC93aWRnZXQtZGV0YWlsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBlblRyYW5zbGF0aW9ucyB9IGZyb20gJy4vaTE4bi9lbi50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgZnJUcmFuc2xhdGlvbnMgfSBmcm9tICcuL2kxOG4vZnIudHJhbnNsYXRpb25zJztcbmltcG9ydCB7IFByeVdpZGdldERldGFpbENzc0NvbXBvbmVudCB9IGZyb20gJy4vc3R5bGUvY3NzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcnlEYXRhRm9ybWF0TW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvZGF0YS1mb3JtYXQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtXaWRnZXREZXRhaWxDb21wb25lbnQsIFByeVdpZGdldERldGFpbENzc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQcnlDb3JlTW9kdWxlLFxuICAgIFByeURhc2hib2FyZE1vZHVsZSxcbiAgICBQcnlTZWxlY3RNb2R1bGUsXG4gICAgUHJ5SWNvbk1vZHVsZSxcbiAgICBQcnlDaGVja2JveE1vZHVsZSxcbiAgICBQcnlUb2dnbGVNb2R1bGUsXG4gICAgUHJ5STE4bk1vZHVsZSxcbiAgICBQcnlEYXRhRm9ybWF0TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtXaWRnZXREZXRhaWxDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFdpZGdldERldGFpbE1vZHVsZSBleHRlbmRzIEJhc2VXaWRnZXRNb2R1bGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByeVRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnByeVRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZnInLCAnd2lkZ2V0LWRldGFpbCcsIGZyVHJhbnNsYXRpb25zKTtcbiAgICB0aGlzLnByeVRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZW4nLCAnd2lkZ2V0LWRldGFpbCcsIGVuVHJhbnNsYXRpb25zKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldENvbXBvbmVudCgpIHtcbiAgICByZXR1cm4gV2lkZ2V0RGV0YWlsQ29tcG9uZW50IGFzIFR5cGU8QmFzZVdpZGdldENvbXBvbmVudD47XG4gIH1cbn1cbiJdfQ==
@@ -235,7 +235,7 @@ export class WidgetTableComponent extends DataWidgetComponent {
235
235
  this.actualPage$.next(number);
236
236
  }
237
237
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetTableComponent, deps: [{ token: i1.Store }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
238
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: WidgetTableComponent, selector: "pry-widget-table", usesInheritance: true, ngImport: i0, template: "<pry-widget-table-css></pry-widget-table-css>\n<div class=\"o-widget o-widget--table\">\n @if (displayHeader$ | async) {\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n (click)=\"refresh()\"\n >\n <pry-settings\n (click)=\"refresh()\"\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [header]=\"header\"\n [open$]=\"open$\"\n (triggerClick)=\"this.refresh()\"\n class=\"o-settings\"\n >\n @if (optionsCopy && optionsCopy.style) {\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_style_headerTextAlign\">{{\n '@pry.widget.table.headerTextAlign' | i18n\n }}</label>\n <pry-select\n [items]=\"ALIGNMENT_OPTIONS\"\n [ngModel]=\"optionsCopy.style.headerTextAlign\"\n (ngModelChange)=\"updateStyle($event, 'headerTextAlign')\"\n id=\"table_style_headerTextAlign\"\n i18nPrefix=\"@pry.widget.table.align.\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_style_cellTextAlign\">{{\n '@pry.widget.table.cellTextAlign' | i18n\n }}</label>\n <pry-select\n [items]=\"ALIGNMENT_OPTIONS\"\n [ngModel]=\"optionsCopy.style.cellTextAlign\"\n (ngModelChange)=\"updateStyle($event, 'cellTextAlign')\"\n id=\"table_style_cellTextAlign\"\n i18nPrefix=\"@pry.widget.table.align.\"\n ></pry-select>\n </div>\n <div\n class=\"m-form-label-field u-display-flex -row -justify-space-between o-widget--table__vertical-separator\"\n >\n <label class=\"a-label\" for=\"table_style_verticalSeparator\">{{\n '@pry.widget.table.verticalSeparator' | i18n\n }}</label>\n <pry-checkbox\n [ngModel]=\"optionsCopy.style.showVerticalSeparator\"\n (ngModelChange)=\"updateStyle($event, 'showVerticalSeparator')\"\n id=\"table_style_verticalSeparator\"\n ></pry-checkbox>\n </div>\n }\n\n <div class=\"o-settings__popup__content__actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text -link-like\" (click)=\"addColumn()\">\n <pry-icon iconSvg=\"post_add\"></pry-icon>\n {{ '@pry.widget.table.addColumn' | i18n }}\n </button>\n </div>\n\n @for (columnDef of optionsCopy?.columns ?? []; track columnDef.attributeId; let i = $index) {\n <div class=\"o-settings__popup__content__fields\" (click)=\"refresh()\">\n <div class=\"o-settings__popup__content__fields__head\">\n <div class=\"m-btn-group\">\n @if (i > 0) {\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"invertLayers(i, i - 1)\">\n <pry-icon iconSvg=\"fleche_haut\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.moveUp' | i18n }}</span>\n </button>\n }\n @if (i < (optionsCopy?.columns?.length ?? 0) - 1) {\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"invertLayers(i, i + 1)\">\n <pry-icon iconSvg=\"fleche_bas\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.moveDown' | i18n }}</span>\n </button>\n }\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields__content\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_property\">{{ '@pry.widget.table.property' | i18n }}</label>\n <pry-select\n (click)=\"refresh()\"\n (ngModelChange)=\"changePropertyName($event, columnDef)\"\n [items]=\"properties$ | async\"\n [ngModel]=\"columnDef.property\"\n bindLabel=\"label\"\n bindValue=\"property\"\n id=\"table_property\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_label\">{{ '@pry.widget.table.label' | i18n }}</label>\n <input\n id=\"table_label\"\n class=\"a-form-field\"\n type=\"text\"\n (input)=\"changeLabel($event, columnDef)\"\n [value]=\"columnDef.label\"\n />\n </div>\n </div>\n <button\n (click)=\"deleteColumn(i)\"\n aria-label=\"delete\"\n type=\"button\"\n class=\"a-btn a-btn--icon-text -link-like\"\n data-func=\"delete\"\n >\n <pry-icon iconSvg=\"delete\" [width]=\"19\" [height]=\"19\"></pry-icon>\n <span>{{ '@pry.widget.table.deleteColumn' | i18n }}</span>\n </button>\n </div>\n }\n </pry-settings>\n </pry-widget-header>\n }\n\n <div class=\"a-table-wrapper\">\n @if (pagination$ | async; as pagination) {\n @if (pagination?.items ?? []; as allObjects) {\n @if (pagination.noFillersItems === 0) {\n <div class=\"no-result\" [style.height.%]=\"pagination.totalPages > 0 ? 80 : 100\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.table.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.table.empty' | i18n }}</span>\n </div>\n } @else if (pagination.noFillersItems > 0) {\n @if ((selectedIds$ | async) ?? []; as selectedIds) {\n @if ((columns$ | async) ?? []; as columns) {\n <table\n class=\"a-table\"\n [class.-show-vertical-separator]=\"optionsCopy?.style?.showVerticalSeparator\"\n [attr.aria-label]=\"'@pry.widget.table.description' | i18n\"\n >\n <thead>\n <tr>\n @if (allObjects?.length ?? 0 > 0) {\n <th>\n <pry-checkbox [ngModel]=\"areAllSelected\" (ngModelChange)=\"selectAll($event)\"></pry-checkbox>\n </th>\n }\n @for (column of columns; track column.attributeId; let i = $index) {\n <th\n resizable\n (click)=\"setOrder(column)\"\n [ngClass]=\"'u-txt-' + optionsCopy?.style?.headerTextAlign\"\n >\n <span>{{ column.label }}</span>\n @if (quickOrder$ | async; as quickOrder) {\n @if (quickOrder.attribute === column.attributeId) {\n <pry-icon\n [iconSvg]=\"quickOrder.asc ? 'chevron_top' : 'chevron_bottom'\"\n [height]=\"12\"\n [width]=\"12\"\n ></pry-icon>\n }\n }\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (item of allObjects; track item.id) {\n <tr\n [class.is-selected]=\"selectedIds.includes(item.id)\"\n [class.context-menu-selected]=\"contextMenuClickedId === item.id && (isContextMenuOpened$ | async)\"\n (contextmenu)=\"contextMenu($event, item)\"\n detachRow\n (selectedValue)=\"selection($event, item)\"\n [class.filler]=\"item.metadata!['__widget-table-filler']\"\n >\n <td class=\"checkbox-wrapper\">\n <pry-checkbox [ngModel]=\"selectedIds.includes(item.id)\"></pry-checkbox>\n </td>\n @for (column of columns; track column.attributeId) {\n <td class=\"u-ellipsis\" [ngClass]=\"'u-txt-' + optionsCopy?.style?.cellTextAlign\">\n @if (column.property === 'metadata') {\n <pry-metadata [item]=\"item\"></pry-metadata>\n }\n @if (column.property === 'oClass') {\n <p class=\"content-img\">\n <img\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item | translateItemToSymbol | async\"\n [alt]=\"item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n />\n </p>\n }\n @if (!['metadata', 'oClass'].includes(column.property)) {\n <pry-expand-value [value]=\"item | getValue: column.property | async\" [field]=\"column.field\"></pry-expand-value>\n }\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n }\n }\n }\n @if (pagination.totalPages > 0) {\n <div class=\"u-display-flex\">\n <pry-paginator\n [totalItemNb]=\"pagination.total\"\n (pageChange)=\"goToPage($event - 1)\"\n [nbPerPage]=\"pagination.rows\"\n mode=\"short\"\n ></pry-paginator>\n <div class=\"a-table__pagination-label\">\n ({{\n '@pry.widget.table.remaining' | i18n: { remaining: pagination.totalPages - pagination.loadedPages }\n }})\n </div>\n </div>\n }\n }\n }\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.SettingsComponent, selector: "pry-settings", inputs: ["widgetIndex", "isDisable", "headerPresent", "open$", "header"], outputs: ["triggerClick", "saveTriggered", "changeTitle"] }, { kind: "component", type: i4.MetadataComponent, selector: "pry-metadata", inputs: ["item"] }, { kind: "component", type: i4.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "component", type: i6.PryPaginatorComponent, selector: "pry-paginator", inputs: ["action", "nbPerPage", "totalItemNb", "mode"], outputs: ["pageChange"] }, { kind: "component", type: i7.ResizableComponent, selector: "th[resizable]" }, { kind: "directive", type: i8.ResizableDirective, selector: "[resizable]", outputs: ["resizable"] }, { kind: "component", type: i9.PryWidgetTableCssComponent, selector: "pry-widget-table-css" }, { kind: "component", type: i10.ExpandValueComponent, selector: "pry-expand-value", inputs: ["field", "value"] }, { kind: "directive", type: i11.DetachRowDirective, selector: "[detachRow]", outputs: ["selectedValue"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i4.TranslateItemToSymbolPipe, name: "translateItemToSymbol" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i12.GetValuePipe, name: "getValue" }] }); }
238
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: WidgetTableComponent, selector: "pry-widget-table", usesInheritance: true, ngImport: i0, template: "<pry-widget-table-css></pry-widget-table-css>\n<div class=\"o-widget o-widget--table\">\n @if (displayHeader$ | async) {\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n (click)=\"refresh()\"\n >\n <pry-settings\n (click)=\"refresh()\"\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [header]=\"header\"\n [open$]=\"open$\"\n (triggerClick)=\"this.refresh()\"\n class=\"o-settings\"\n >\n @if (optionsCopy && optionsCopy.style) {\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_style_headerTextAlign\">{{\n '@pry.widget.table.headerTextAlign' | i18n\n }}</label>\n <pry-select\n [items]=\"ALIGNMENT_OPTIONS\"\n [ngModel]=\"optionsCopy.style.headerTextAlign\"\n (ngModelChange)=\"updateStyle($event, 'headerTextAlign')\"\n id=\"table_style_headerTextAlign\"\n i18nPrefix=\"@pry.widget.table.align.\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_style_cellTextAlign\">{{\n '@pry.widget.table.cellTextAlign' | i18n\n }}</label>\n <pry-select\n [items]=\"ALIGNMENT_OPTIONS\"\n [ngModel]=\"optionsCopy.style.cellTextAlign\"\n (ngModelChange)=\"updateStyle($event, 'cellTextAlign')\"\n id=\"table_style_cellTextAlign\"\n i18nPrefix=\"@pry.widget.table.align.\"\n ></pry-select>\n </div>\n <div\n class=\"m-form-label-field u-display-flex -row -justify-space-between o-widget--table__vertical-separator\"\n >\n <label class=\"a-label\" for=\"table_style_verticalSeparator\">{{\n '@pry.widget.table.verticalSeparator' | i18n\n }}</label>\n <pry-checkbox\n [ngModel]=\"optionsCopy.style.showVerticalSeparator\"\n (ngModelChange)=\"updateStyle($event, 'showVerticalSeparator')\"\n id=\"table_style_verticalSeparator\"\n ></pry-checkbox>\n </div>\n }\n\n <div class=\"o-settings__popup__content__actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text -link-like\" (click)=\"addColumn()\">\n <pry-icon iconSvg=\"post_add\"></pry-icon>\n {{ '@pry.widget.table.addColumn' | i18n }}\n </button>\n </div>\n\n @for (columnDef of optionsCopy?.columns ?? []; track columnDef.attributeId; let i = $index) {\n <div class=\"o-settings__popup__content__fields\" (click)=\"refresh()\">\n <div class=\"o-settings__popup__content__fields__head\">\n <div class=\"m-btn-group\">\n @if (i > 0) {\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"invertLayers(i, i - 1)\">\n <pry-icon iconSvg=\"fleche_haut\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.moveUp' | i18n }}</span>\n </button>\n }\n @if (i < (optionsCopy?.columns?.length ?? 0) - 1) {\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"invertLayers(i, i + 1)\">\n <pry-icon iconSvg=\"fleche_bas\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.moveDown' | i18n }}</span>\n </button>\n }\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields__content\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_property\">{{ '@pry.widget.table.property' | i18n }}</label>\n <pry-select\n (click)=\"refresh()\"\n (ngModelChange)=\"changePropertyName($event, columnDef)\"\n [items]=\"properties$ | async\"\n [ngModel]=\"columnDef.property\"\n bindLabel=\"label\"\n bindValue=\"property\"\n id=\"table_property\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_label\">{{ '@pry.widget.table.label' | i18n }}</label>\n <input\n id=\"table_label\"\n class=\"a-form-field\"\n type=\"text\"\n (input)=\"changeLabel($event, columnDef)\"\n [value]=\"columnDef.label\"\n />\n </div>\n </div>\n <button\n (click)=\"deleteColumn(i)\"\n aria-label=\"delete\"\n type=\"button\"\n class=\"a-btn a-btn--icon-text -link-like\"\n data-func=\"delete\"\n >\n <pry-icon iconSvg=\"delete\" [width]=\"19\" [height]=\"19\"></pry-icon>\n <span>{{ '@pry.widget.table.deleteColumn' | i18n }}</span>\n </button>\n </div>\n }\n </pry-settings>\n </pry-widget-header>\n }\n\n <div class=\"a-table-wrapper\">\n @if (pagination$ | async; as pagination) {\n @if (pagination?.items ?? []; as allObjects) {\n @if (pagination.noFillersItems === 0) {\n <div class=\"no-result\" [style.height.%]=\"pagination.totalPages > 0 ? 80 : 100\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.table.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.table.empty' | i18n }}</span>\n </div>\n } @else if (pagination.noFillersItems > 0) {\n @if ((selectedIds$ | async) ?? []; as selectedIds) {\n @if ((columns$ | async) ?? []; as columns) {\n <table\n class=\"a-table\"\n [class.-show-vertical-separator]=\"optionsCopy?.style?.showVerticalSeparator\"\n [attr.aria-label]=\"'@pry.widget.table.description' | i18n\"\n >\n <thead>\n <tr>\n @if (allObjects?.length ?? 0 > 0) {\n <th>\n <pry-checkbox [ngModel]=\"areAllSelected\" (ngModelChange)=\"selectAll($event)\"></pry-checkbox>\n </th>\n }\n @for (column of columns; track column.attributeId; let i = $index) {\n <th\n resizable\n (click)=\"setOrder(column)\"\n [ngClass]=\"'u-txt-' + optionsCopy?.style?.headerTextAlign\"\n >\n <span>{{ column.label }}</span>\n @if (quickOrder$ | async; as quickOrder) {\n @if (quickOrder.attribute === column.attributeId) {\n <pry-icon\n [iconSvg]=\"quickOrder.asc ? 'chevron_top' : 'chevron_bottom'\"\n [height]=\"12\"\n [width]=\"12\"\n ></pry-icon>\n }\n }\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (item of allObjects; track item.id) {\n <tr\n [class.is-selected]=\"selectedIds.includes(item.id)\"\n [class.context-menu-selected]=\"contextMenuClickedId === item.id && (isContextMenuOpened$ | async)\"\n (contextmenu)=\"contextMenu($event, item)\"\n detachRow\n (selectedValue)=\"selection($event, item)\"\n [class.filler]=\"item.metadata!['__widget-table-filler']\"\n >\n <td class=\"checkbox-wrapper\">\n <pry-checkbox [ngModel]=\"selectedIds.includes(item.id)\"></pry-checkbox>\n </td>\n @for (column of columns; track column.attributeId) {\n <td class=\"u-ellipsis\" [ngClass]=\"'u-txt-' + optionsCopy?.style?.cellTextAlign\">\n @if (column.property === 'metadata') {\n <pry-metadata [item]=\"item\"></pry-metadata>\n }\n @if (column.property === 'oClass') {\n <p class=\"content-img\">\n <img\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item | translateItemToSymbol | async\"\n [alt]=\"item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n />\n </p>\n }\n @if (!['metadata', 'oClass'].includes(column.property)) {\n <pry-expand-value [value]=\"item | getValue: column.property | async\" [field]=\"column.field\"></pry-expand-value>\n }\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n }\n }\n }\n @if (pagination.totalPages > 0) {\n <div class=\"u-display-flex\">\n <pry-paginator\n [totalItemNb]=\"pagination.total\"\n (pageChange)=\"goToPage($event - 1)\"\n [nbPerPage]=\"pagination.rows\"\n mode=\"short\"\n ></pry-paginator>\n <div class=\"a-table__pagination-label\">\n ({{\n '@pry.widget.table.remaining' | i18n: { remaining: pagination.totalPages - pagination.loadedPages }\n }})\n </div>\n </div>\n }\n }\n }\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.SettingsComponent, selector: "pry-settings", inputs: ["widgetIndex", "isDisable", "headerPresent", "open$", "header"], outputs: ["triggerClick", "saveTriggered", "changeTitle"] }, { kind: "component", type: i4.MetadataComponent, selector: "pry-metadata", inputs: ["item"] }, { kind: "component", type: i4.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "component", type: i6.PryPaginatorComponent, selector: "pry-paginator", inputs: ["action", "nbPerPage", "totalItemNb", "mode", "goBackToFirstPage"], outputs: ["pageChange"] }, { kind: "component", type: i7.ResizableComponent, selector: "th[resizable]" }, { kind: "directive", type: i8.ResizableDirective, selector: "[resizable]", outputs: ["resizable"] }, { kind: "component", type: i9.PryWidgetTableCssComponent, selector: "pry-widget-table-css" }, { kind: "component", type: i10.ExpandValueComponent, selector: "pry-expand-value", inputs: ["field", "value"] }, { kind: "directive", type: i11.DetachRowDirective, selector: "[detachRow]", outputs: ["selectedValue"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i4.TranslateItemToSymbolPipe, name: "translateItemToSymbol" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i12.GetValuePipe, name: "getValue" }] }); }
239
239
  }
240
240
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetTableComponent, decorators: [{
241
241
  type: Component,