@hestia-earth/ui-components 0.25.2 → 0.25.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/files/files-error.model.mjs +31 -24
- package/esm2022/glossary/glossary.service.mjs +1 -1
- package/esm2022/node/node-store.service.mjs +2 -2
- package/fesm2022/hestia-earth-ui-components.mjs +31 -24
- package/fesm2022/hestia-earth-ui-components.mjs.map +1 -1
- package/glossary/glossary.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -31,7 +31,7 @@ const nodeTypeDataStates = (nodeType, aggregated = false) => {
|
|
|
31
31
|
const sortNodes = (values) => values?.length
|
|
32
32
|
? orderBy(values.filter(Boolean), ['original.aggregated', 'original.site.@id', 'original.cycle.@id', 'original.@id'], ['asc', 'asc', 'asc', 'asc'])
|
|
33
33
|
: [];
|
|
34
|
-
const isAggregated = (id) => !!id
|
|
34
|
+
const isAggregated = (id) => !!id?.match(/^[a-zA-Z]+[-][a-zA-Z]+[-][\d]{4,}[-][\d]{4,}/g);
|
|
35
35
|
export class HeNodeStoreService {
|
|
36
36
|
constructor(nodeService) {
|
|
37
37
|
this.nodeService = nodeService;
|
|
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
|
|
|
115
115
|
providedIn: 'root'
|
|
116
116
|
}]
|
|
117
117
|
}], ctorParameters: function () { return [{ type: i1.HeNodeService }]; } });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1zdG9yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25vZGUvbm9kZS1zdG9yZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBYyxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBNkJyQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFdkUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBSzFCO0lBQ0YsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDaEIsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0tBQ2pDO0lBQ0QsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUMzQixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7S0FDckM7SUFDRCxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNmLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztLQUNqQztDQUNGLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFHLENBQUMsUUFBa0IsRUFBRSxVQUFVLEdBQUcsS0FBSyxFQUFFLEVBQUU7SUFDcEUsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSTtRQUN2RCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQzdCLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7S0FDakMsQ0FBQztJQUNGLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQztBQUMvRSxDQUFDLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQXNCLEVBQUUsRUFBRSxDQUMzQyxNQUFNLEVBQUUsTUFBTTtJQUNaLENBQUMsQ0FBQyxPQUFPLENBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDdEIsQ0FBQyxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLENBQUMsRUFDbEYsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FDN0I7SUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO0FBRVQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7QUFLakcsTUFBTSxPQUFPLGtCQUFrQjtJQUs3QixZQUFvQixXQUEwQjtRQUExQixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQUp0Qyx1QkFBa0IsR0FBcUIsRUFBRSxDQUFDO1FBQzFDLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFRLENBQUMsQ0FBQyxDQUFDO0lBRUcsQ0FBQztJQUUxQyxhQUFhLENBQW9ELElBQU87UUFDOUUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFTyxRQUFRLENBQW9ELElBQU87UUFDekUsTUFBTSxVQUFVLEdBQUcsWUFBWSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFVBQXNCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRyxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUU1RCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQ3RCLFVBQVUsQ0FBQyxNQUFNLENBQ2YsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BCLEdBQUcsSUFBSTtZQUNQLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVc7aUJBQzFCLElBQUksQ0FBbUIsRUFBRSxHQUFHLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztpQkFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUN6QyxDQUFDLEVBQ0YsRUFBcUIsQ0FDdEIsQ0FDRixDQUFDLElBQUksQ0FDSixXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUM5QyxHQUFHLENBQ0QsQ0FBQyxNQUFrQixFQUFFLEVBQUUsQ0FDckIsTUFBTSxDQUFDLFdBQVcsQ0FDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN4QyxTQUFTO1lBQ1QsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSTtTQUN4RCxDQUFDLENBQ1csQ0FDbEIsRUFDRCxHQUFHLENBQ0QsTUFBTSxDQUFDLEVBQUUsQ0FDUCxDQUFDO1lBQ0MsS0FBSztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ25CLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ2YsR0FBRyxNQUFNO1NBQ1YsQ0FBNkIsQ0FDakMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMxQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNmLE9BQU87U0FDUixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTSxPQUFPLENBQW9ELElBQU87UUFDdkUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUU5RCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFJLElBQUksQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxRQUFrQixFQUFFLEtBQWE7UUFDeEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sVUFBVSxDQUE2QixJQUFPO1FBQ25ELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUUsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQ3ZCLEdBQUcsQ0FDRCxLQUFLLENBQUMsRUFBRSxDQUNOLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBVSxDQUM5RyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sSUFBSSxDQUFDLFFBQWtCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FDdkIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQ3BDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUNuQixPQUFPLEVBQUUsQ0FDVixDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FDVixRQUFrQixFQUNsQixFQUFXO1FBRVgsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RILENBQUM7SUFFTSxZQUFZLENBQTZCLFFBQWtCLEVBQUUsU0FBb0IsRUFBRSxFQUFXO1FBQ25HLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBSSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7OEdBckhVLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBKU09OTEQsIE5vZGVUeXBlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuaW1wb3J0IHsgRGF0YVN0YXRlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9hcGknO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBtZXJnZU1hcCwgc2hhcmVSZXBsYXksIHRvQXJyYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBmb3JrSm9pbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCBvcmRlckJ5IGZyb20gJ2xvZGFzaC5vcmRlcmJ5JztcblxuaW1wb3J0IHsgSGVOb2RlU2VydmljZSB9IGZyb20gJy4vbm9kZS5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJU3RvcmVkTm9kZSB7XG4gIGluZGV4OiBudW1iZXI7XG4gIHR5cGU6IE5vZGVUeXBlO1xuICBpZDogc3RyaW5nO1xufVxuXG50eXBlIG5vZGVTdGF0ZXMgPSB7XG4gIFtkYXRhU3RhdGUgaW4gRGF0YVN0YXRlXT86IEpTT05MRDxOb2RlVHlwZT47XG59O1xuXG50eXBlIG5vZGVzID0ge1xuICBbbm9kZVR5cGUgaW4gTm9kZVR5cGVdPzogKG5vZGVTdGF0ZXMgJiBJU3RvcmVkTm9kZSlbXTtcbn07XG5cbnR5cGUgbm9kZUxvYWRSZXF1ZXN0ID0ge1xuICBbZGF0YVN0YXRlIGluIERhdGFTdGF0ZV06IE9ic2VydmFibGU8SlNPTkxEPE5vZGVUeXBlPj47XG59O1xuXG50eXBlIG5vZGVzTG9hZFJlcXVlc3QgPSB7XG4gIFtub2RlVHlwZSBpbiBOb2RlVHlwZV0/OiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICByZXF1ZXN0OiBPYnNlcnZhYmxlPG5vZGVTdGF0ZXMgJiBJU3RvcmVkTm9kZT47XG4gIH1bXTtcbn07XG5cbmNvbnN0IGRlZmF1bHREYXRhU3RhdGVzID0gW0RhdGFTdGF0ZS5vcmlnaW5hbCwgRGF0YVN0YXRlLnJlY2FsY3VsYXRlZF07XG5cbmV4cG9ydCBjb25zdCBub2RlVHlwZURhdGFTdGF0ZToge1xuICBbdHlwZSBpbiBOb2RlVHlwZV0/OiB7XG4gICAgZGVmYXVsdDogRGF0YVN0YXRlW107XG4gICAgYWdncmVnYXRlZD86IERhdGFTdGF0ZVtdO1xuICB9O1xufSA9IHtcbiAgW05vZGVUeXBlLkN5Y2xlXToge1xuICAgIGRlZmF1bHQ6IGRlZmF1bHREYXRhU3RhdGVzLFxuICAgIGFnZ3JlZ2F0ZWQ6IFtEYXRhU3RhdGUub3JpZ2luYWxdXG4gIH0sXG4gIFtOb2RlVHlwZS5JbXBhY3RBc3Nlc3NtZW50XToge1xuICAgIGRlZmF1bHQ6IGRlZmF1bHREYXRhU3RhdGVzLFxuICAgIGFnZ3JlZ2F0ZWQ6IFtEYXRhU3RhdGUucmVjYWxjdWxhdGVkXVxuICB9LFxuICBbTm9kZVR5cGUuU2l0ZV06IHtcbiAgICBkZWZhdWx0OiBkZWZhdWx0RGF0YVN0YXRlcyxcbiAgICBhZ2dyZWdhdGVkOiBbRGF0YVN0YXRlLm9yaWdpbmFsXVxuICB9XG59O1xuXG5jb25zdCBub2RlVHlwZURhdGFTdGF0ZXMgPSAobm9kZVR5cGU6IE5vZGVUeXBlLCBhZ2dyZWdhdGVkID0gZmFsc2UpID0+IHtcbiAgY29uc3QgZGF0YVN0YXRlc01hcHBpbmcgPSBub2RlVHlwZURhdGFTdGF0ZVtub2RlVHlwZV0gfHwge1xuICAgIGRlZmF1bHQ6IFtEYXRhU3RhdGUub3JpZ2luYWxdLFxuICAgIGFnZ3JlZ2F0ZWQ6IFtEYXRhU3RhdGUub3JpZ2luYWxdXG4gIH07XG4gIHJldHVybiBhZ2dyZWdhdGVkID8gZGF0YVN0YXRlc01hcHBpbmcuYWdncmVnYXRlZCA6IGRhdGFTdGF0ZXNNYXBwaW5nLmRlZmF1bHQ7XG59O1xuXG5jb25zdCBzb3J0Tm9kZXMgPSAodmFsdWVzPzogSVN0b3JlZE5vZGVbXSkgPT5cbiAgdmFsdWVzPy5sZW5ndGhcbiAgICA/IG9yZGVyQnkoXG4gICAgICAgIHZhbHVlcy5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIFsnb3JpZ2luYWwuYWdncmVnYXRlZCcsICdvcmlnaW5hbC5zaXRlLkBpZCcsICdvcmlnaW5hbC5jeWNsZS5AaWQnLCAnb3JpZ2luYWwuQGlkJ10sXG4gICAgICAgIFsnYXNjJywgJ2FzYycsICdhc2MnLCAnYXNjJ11cbiAgICAgIClcbiAgICA6IFtdO1xuXG5jb25zdCBpc0FnZ3JlZ2F0ZWQgPSAoaWQ6IHN0cmluZykgPT4gISFpZC5tYXRjaCgvXlthLXpBLVpdK1stXVthLXpBLVpdK1stXVtcXGRdezQsfVstXVtcXGRdezQsfS9nKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSGVOb2RlU3RvcmVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfbm9kZXNMb2FkUmVxdWVzdHM6IG5vZGVzTG9hZFJlcXVlc3QgPSB7fTtcbiAgcHJpdmF0ZSBfbm9kZXM6IG5vZGVzID0ge307XG4gIHByaXZhdGUgX25vZGVzJCA9IG5ldyBSZXBsYXlTdWJqZWN0PG5vZGVzPigxKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5vZGVTZXJ2aWNlOiBIZU5vZGVTZXJ2aWNlKSB7fVxuXG4gIHByaXZhdGUgZmluZE5vZGVJbmRleDxUIGV4dGVuZHMgUGljazxKU09OTEQ8Tm9kZVR5cGU+LCAnQHR5cGUnIHwgJ0BpZCc+Pihub2RlOiBUKSB7XG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLl9ub2Rlcz8uW25vZGVbJ0B0eXBlJ11dIHx8IFtdO1xuICAgIHJldHVybiBub2Rlcy5maW5kSW5kZXgobiA9PiBuLnR5cGUgPT09IG5vZGVbJ0B0eXBlJ10gJiYgbi5pZCA9PT0gbm9kZVsnQGlkJ10pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkTm9kZTxUIGV4dGVuZHMgUGljazxKU09OTEQ8Tm9kZVR5cGU+LCAnQHR5cGUnIHwgJ0BpZCc+Pihub2RlOiBUKSB7XG4gICAgY29uc3QgYWdncmVnYXRlZCA9ICdhZ2dyZWdhdGVkJyBpbiBub2RlID8gKG5vZGUuYWdncmVnYXRlZCBhcyBib29sZWFuKSA6IGlzQWdncmVnYXRlZChub2RlWydAaWQnXSk7XG4gICAgY29uc3QgZGF0YVN0YXRlcyA9IG5vZGVUeXBlRGF0YVN0YXRlcyhub2RlWydAdHlwZSddLCBhZ2dyZWdhdGVkKTtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuX25vZGVzTG9hZFJlcXVlc3RzW25vZGVbJ0B0eXBlJ11dLmxlbmd0aDtcblxuICAgIGNvbnN0IHJlcXVlc3QgPSBmb3JrSm9pbihcbiAgICAgIGRhdGFTdGF0ZXMucmVkdWNlKFxuICAgICAgICAocHJldiwgZGF0YVN0YXRlKSA9PiAoe1xuICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgW2RhdGFTdGF0ZV06IHRoaXMubm9kZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXQkPEpTT05MRDxOb2RlVHlwZT4+KHsgLi4ubm9kZSwgZGF0YVN0YXRlIH0pXG4gICAgICAgICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKHVuZGVmaW5lZCkpKVxuICAgICAgICB9KSxcbiAgICAgICAge30gYXMgbm9kZUxvYWRSZXF1ZXN0XG4gICAgICApXG4gICAgKS5waXBlKFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgICAgIG1hcChcbiAgICAgICAgKHZhbHVlczogbm9kZVN0YXRlcykgPT5cbiAgICAgICAgICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgICAgICBPYmplY3QudmFsdWVzKERhdGFTdGF0ZSkubWFwKGRhdGFTdGF0ZSA9PiBbXG4gICAgICAgICAgICAgIGRhdGFTdGF0ZSxcbiAgICAgICAgICAgICAgdmFsdWVzW2RhdGFTdGF0ZV0gfHwgdmFsdWVzW0RhdGFTdGF0ZS5vcmlnaW5hbF0gfHwgbm9kZVxuICAgICAgICAgICAgXSlcbiAgICAgICAgICApIGFzIG5vZGVTdGF0ZXNcbiAgICAgICksXG4gICAgICBtYXAoXG4gICAgICAgIHZhbHVlcyA9PlxuICAgICAgICAgICh7XG4gICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgIHR5cGU6IG5vZGVbJ0B0eXBlJ10sXG4gICAgICAgICAgICBpZDogbm9kZVsnQGlkJ10sXG4gICAgICAgICAgICAuLi52YWx1ZXNcbiAgICAgICAgICB9KSBhcyBub2RlU3RhdGVzICYgSVN0b3JlZE5vZGVcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5fbm9kZXNMb2FkUmVxdWVzdHNbbm9kZVsnQHR5cGUnXV0ucHVzaCh7XG4gICAgICBpZDogbm9kZVsnQGlkJ10sXG4gICAgICByZXF1ZXN0XG4gICAgfSk7XG5cbiAgICByZXF1ZXN0LnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgIHRoaXMuX25vZGVzW25vZGVbJ0B0eXBlJ11dW2luZGV4XSA9IGRhdGE7XG4gICAgICB0aGlzLl9ub2RlcyQubmV4dCh0aGlzLl9ub2Rlcyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGROb2RlPFQgZXh0ZW5kcyBQaWNrPEpTT05MRDxOb2RlVHlwZT4sICdAdHlwZScgfCAnQGlkJz4+KG5vZGU6IFQpIHtcbiAgICB0aGlzLl9ub2Rlc0xvYWRSZXF1ZXN0c1tub2RlWydAdHlwZSddXSA9IHRoaXMuX25vZGVzTG9hZFJlcXVlc3RzW25vZGVbJ0B0eXBlJ11dIHx8IFtdO1xuICAgIHRoaXMuX25vZGVzW25vZGVbJ0B0eXBlJ11dID0gdGhpcy5fbm9kZXNbbm9kZVsnQHR5cGUnXV0gfHwgW107XG5cbiAgICBjb25zdCBleGlzdGluZ1JlcXVlc3QgPSB0aGlzLl9ub2Rlc0xvYWRSZXF1ZXN0c1tub2RlWydAdHlwZSddXS5maW5kKCh7IGlkIH0pID0+IGlkID09PSBub2RlWydAaWQnXSk7XG4gICAgcmV0dXJuIGV4aXN0aW5nUmVxdWVzdCA/IGV4aXN0aW5nUmVxdWVzdC5yZXF1ZXN0IDogdGhpcy5sb2FkTm9kZTxUPihub2RlKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVOb2RlQnlJbmRleChub2RlVHlwZTogTm9kZVR5cGUsIGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLl9ub2Rlc0xvYWRSZXF1ZXN0c1tub2RlVHlwZV0uc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLl9ub2Rlc1tub2RlVHlwZV0uc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLl9ub2RlcyQubmV4dCh0aGlzLl9ub2Rlcyk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlTm9kZTxUIGV4dGVuZHMgSlNPTkxEPE5vZGVUeXBlPj4obm9kZTogVCkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kTm9kZUluZGV4KG5vZGUpO1xuICAgIHJldHVybiBpbmRleCA+PSAwID8gdGhpcy5yZW1vdmVOb2RlQnlJbmRleChub2RlWydAdHlwZSddLCBpbmRleCkgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGNsZWFyTm9kZXMoKSB7XG4gICAgdGhpcy5fbm9kZXNMb2FkUmVxdWVzdHMgPSB7fTtcbiAgICB0aGlzLl9ub2RlcyA9IHt9O1xuICAgIHRoaXMuX25vZGVzJC5uZXh0KHRoaXMuX25vZGVzKTtcbiAgfVxuXG4gIHB1YmxpYyBub2RlcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0ZWROb2RlcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZXMkKCkucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgbm9kZXMgPT5cbiAgICAgICAgICBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMobm9kZXMpLm1hcCgoW25vZGVLZXksIHZhbHVlc10pID0+IFtub2RlS2V5LCBzb3J0Tm9kZXModmFsdWVzKV0pKSBhcyBub2Rlc1xuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaWRzJChub2RlVHlwZTogTm9kZVR5cGUpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlcyQoKS5waXBlKFxuICAgICAgbWVyZ2VNYXAodmFsdWVzID0+IHZhbHVlc1tub2RlVHlwZV0pLFxuICAgICAgbWFwKCh7IGlkIH0pID0+IGlkKSxcbiAgICAgIHRvQXJyYXkoKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZmluZCQ8VCBleHRlbmRzIEpTT05MRDxOb2RlVHlwZT4+KFxuICAgIG5vZGVUeXBlOiBOb2RlVHlwZSxcbiAgICBpZD86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPHsgW2RhdGFTdGF0ZSBpbiBEYXRhU3RhdGVdPzogVCB9W10+IHtcbiAgICByZXR1cm4gdGhpcy5ub2RlcyQoKS5waXBlKG1hcCh2YWx1ZXMgPT4gKCh2YWx1ZXNbbm9kZVR5cGVdIGFzIGFueVtdKSB8fCBbXSkuZmlsdGVyKG5vZGUgPT4gIWlkIHx8IG5vZGUuaWQgPT09IGlkKSkpO1xuICB9XG5cbiAgcHVibGljIGZpbmRCeVN0YXRlJDxUIGV4dGVuZHMgSlNPTkxEPE5vZGVUeXBlPj4obm9kZVR5cGU6IE5vZGVUeXBlLCBkYXRhU3RhdGU6IERhdGFTdGF0ZSwgaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5maW5kJDxUPihub2RlVHlwZSwgaWQpLnBpcGUobWFwKHZhbHVlcyA9PiB2YWx1ZXMubWFwKHYgPT4gdltkYXRhU3RhdGVdKS5maWx0ZXIoQm9vbGVhbikpKTtcbiAgfVxufVxuIl19
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1zdG9yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25vZGUvbm9kZS1zdG9yZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBYyxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBNkJyQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFdkUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBSzFCO0lBQ0YsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDaEIsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0tBQ2pDO0lBQ0QsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUMzQixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7S0FDckM7SUFDRCxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNmLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztLQUNqQztDQUNGLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFHLENB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b0IsRUFBRSxFQUFXO1FBQ25HLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBSSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7OEdBckhVLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBKU09OTEQsIE5vZGVUeXBlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuaW1wb3J0IHsgRGF0YVN0YXRlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9hcGknO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBtZXJnZU1hcCwgc2hhcmVSZXBsYXksIHRvQXJyYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBmb3JrSm9pbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCBvcmRlckJ5IGZyb20gJ2xvZGFzaC5vcmRlcmJ5JztcblxuaW1wb3J0IHsgSGVOb2RlU2VydmljZSB9IGZyb20gJy4vbm9kZS5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJU3RvcmVkTm9kZSB7XG4gIGluZGV4OiBudW1iZXI7XG4gIHR5cGU6IE5vZGVUeXBlO1xuICBpZDogc3RyaW5nO1xufVxuXG50eXBlIG5vZGVTdGF0ZXMgPSB7XG4gIFtkYXRhU3RhdGUgaW4gRGF0YVN0YXRlXT86IEpTT05MRDxOb2RlVHlwZT47XG59O1xuXG50eXBlIG5vZGVzID0ge1xuICBbbm9kZVR5cGUgaW4gTm9kZVR5cGVdPzogKG5vZGVTdGF0ZXMgJiBJU3RvcmVkTm9kZSlbXTtcbn07XG5cbnR5cGUgbm9kZUxvYWRSZXF1ZXN0ID0ge1xuICBbZGF0YVN0YXRlIGluIERhdGFTdGF0ZV06IE9ic2VydmFibGU8SlNPTkxEPE5vZGVUeXBlPj47XG59O1xuXG50eXBlIG5vZGVzTG9hZFJlcXVlc3QgPSB7XG4gIFtub2RlVHlwZSBpbiBOb2RlVHlwZV0/OiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICByZXF1ZXN0OiBPYnNlcnZhYmxlPG5vZGVTdGF0ZXMgJiBJU3RvcmVkTm9kZT47XG4gIH1bXTtcbn07XG5cbmNvbnN0IGRlZmF1bHREYXRhU3RhdGVzID0gW0RhdGFTdGF0ZS5vcmlnaW5hbCwgRGF0YVN0YXRlLnJlY2FsY3VsYXRlZF07XG5cbmV4cG9ydCBjb25zdCBub2RlVHlwZURhdGFTdGF0ZToge1xuICBbdHlwZSBpbiBOb2RlVHlwZV0/OiB7XG4gICAgZGVmYXVsdDogRGF0YVN0YXRlW107XG4gICAgYWdncmVnYXRlZD86IERhdGFTdGF0ZVtdO1xuICB9O1xufSA9IHtcbiAgW05vZGVUeXBlLkN5Y2xlXToge1xuICAgIGRlZmF1bHQ6IGRlZmF1bHREYXRhU3RhdGVzLFxuICAgIGFnZ3JlZ2F0ZWQ6IFtEYXRhU3RhdGUub3JpZ2luYWxdXG4gIH0sXG4gIFtOb2RlVHlwZS5JbXBhY3RBc3Nlc3NtZW50XToge1xuICAgIGRlZmF1bHQ6IGRlZmF1bHREYXRhU3RhdGVzLFxuICAgIGFnZ3JlZ2F0ZWQ6IFtEYXRhU3RhdGUucmVjYWxjdWxhdGVkXVxuICB9LFxuICBbTm9kZVR5cGUuU2l0ZV06IHtcbiAgICBkZWZhdWx0OiBkZWZhdWx0RGF0YVN0YXRlcyxcbiAgICBhZ2dyZWdhdGVkOiBbRGF0YVN0YXRlLm9yaWdpbmFsXVxuICB9XG59O1xuXG5jb25zdCBub2RlVHlwZURhdGFTdGF0ZXMgPSAobm9kZVR5cGU6IE5vZGVUeXBlLCBhZ2dyZWdhdGVkID0gZmFsc2UpID0+IHtcbiAgY29uc3QgZGF0YVN0YXRlc01hcHBpbmcgPSBub2RlVHlwZURhdGFTdGF0ZVtub2RlVHlwZV0gfHwge1xuICAgIGRlZmF1bHQ6IFtEYXRhU3RhdGUub3JpZ2luYWxdLFxuICAgIGFnZ3JlZ2F0ZWQ6IFtEYXRhU3RhdGUub3JpZ2luYWxdXG4gIH07XG4gIHJldHVybiBhZ2dyZWdhdGVkID8gZGF0YVN0YXRlc01hcHBpbmcuYWdncmVnYXRlZCA6IGRhdGFTdGF0ZXNNYXBwaW5nLmRlZmF1bHQ7XG59O1xuXG5jb25zdCBzb3J0Tm9kZXMgPSAodmFsdWVzPzogSVN0b3JlZE5vZGVbXSkgPT5cbiAgdmFsdWVzPy5sZW5ndGhcbiAgICA/IG9yZGVyQnkoXG4gICAgICAgIHZhbHVlcy5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIFsnb3JpZ2luYWwuYWdncmVnYXRlZCcsICdvcmlnaW5hbC5zaXRlLkBpZCcsICdvcmlnaW5hbC5jeWNsZS5AaWQnLCAnb3JpZ2luYWwuQGlkJ10sXG4gICAgICAgIFsnYXNjJywgJ2FzYycsICdhc2MnLCAnYXNjJ11cbiAgICAgIClcbiAgICA6IFtdO1xuXG5jb25zdCBpc0FnZ3JlZ2F0ZWQgPSAoaWQ6IHN0cmluZykgPT4gISFpZD8ubWF0Y2goL15bYS16QS1aXStbLV1bYS16QS1aXStbLV1bXFxkXXs0LH1bLV1bXFxkXXs0LH0vZyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEhlTm9kZVN0b3JlU2VydmljZSB7XG4gIHByaXZhdGUgX25vZGVzTG9hZFJlcXVlc3RzOiBub2Rlc0xvYWRSZXF1ZXN0ID0ge307XG4gIHByaXZhdGUgX25vZGVzOiBub2RlcyA9IHt9O1xuICBwcml2YXRlIF9ub2RlcyQgPSBuZXcgUmVwbGF5U3ViamVjdDxub2Rlcz4oMSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBub2RlU2VydmljZTogSGVOb2RlU2VydmljZSkge31cblxuICBwcml2YXRlIGZpbmROb2RlSW5kZXg8VCBleHRlbmRzIFBpY2s8SlNPTkxEPE5vZGVUeXBlPiwgJ0B0eXBlJyB8ICdAaWQnPj4obm9kZTogVCkge1xuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5fbm9kZXM/Lltub2RlWydAdHlwZSddXSB8fCBbXTtcbiAgICByZXR1cm4gbm9kZXMuZmluZEluZGV4KG4gPT4gbi50eXBlID09PSBub2RlWydAdHlwZSddICYmIG4uaWQgPT09IG5vZGVbJ0BpZCddKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZE5vZGU8VCBleHRlbmRzIFBpY2s8SlNPTkxEPE5vZGVUeXBlPiwgJ0B0eXBlJyB8ICdAaWQnPj4obm9kZTogVCkge1xuICAgIGNvbnN0IGFnZ3JlZ2F0ZWQgPSAnYWdncmVnYXRlZCcgaW4gbm9kZSA/IChub2RlLmFnZ3JlZ2F0ZWQgYXMgYm9vbGVhbikgOiBpc0FnZ3JlZ2F0ZWQobm9kZVsnQGlkJ10pO1xuICAgIGNvbnN0IGRhdGFTdGF0ZXMgPSBub2RlVHlwZURhdGFTdGF0ZXMobm9kZVsnQHR5cGUnXSwgYWdncmVnYXRlZCk7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLl9ub2Rlc0xvYWRSZXF1ZXN0c1tub2RlWydAdHlwZSddXS5sZW5ndGg7XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gZm9ya0pvaW4oXG4gICAgICBkYXRhU3RhdGVzLnJlZHVjZShcbiAgICAgICAgKHByZXYsIGRhdGFTdGF0ZSkgPT4gKHtcbiAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgIFtkYXRhU3RhdGVdOiB0aGlzLm5vZGVTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0JDxKU09OTEQ8Tm9kZVR5cGU+Pih7IC4uLm5vZGUsIGRhdGFTdGF0ZSB9KVxuICAgICAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZih1bmRlZmluZWQpKSlcbiAgICAgICAgfSksXG4gICAgICAgIHt9IGFzIG5vZGVMb2FkUmVxdWVzdFxuICAgICAgKVxuICAgICkucGlwZShcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICAgICBtYXAoXG4gICAgICAgICh2YWx1ZXM6IG5vZGVTdGF0ZXMpID0+XG4gICAgICAgICAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICAgICAgT2JqZWN0LnZhbHVlcyhEYXRhU3RhdGUpLm1hcChkYXRhU3RhdGUgPT4gW1xuICAgICAgICAgICAgICBkYXRhU3RhdGUsXG4gICAgICAgICAgICAgIHZhbHVlc1tkYXRhU3RhdGVdIHx8IHZhbHVlc1tEYXRhU3RhdGUub3JpZ2luYWxdIHx8IG5vZGVcbiAgICAgICAgICAgIF0pXG4gICAgICAgICAgKSBhcyBub2RlU3RhdGVzXG4gICAgICApLFxuICAgICAgbWFwKFxuICAgICAgICB2YWx1ZXMgPT5cbiAgICAgICAgICAoe1xuICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICB0eXBlOiBub2RlWydAdHlwZSddLFxuICAgICAgICAgICAgaWQ6IG5vZGVbJ0BpZCddLFxuICAgICAgICAgICAgLi4udmFsdWVzXG4gICAgICAgICAgfSkgYXMgbm9kZVN0YXRlcyAmIElTdG9yZWROb2RlXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuX25vZGVzTG9hZFJlcXVlc3RzW25vZGVbJ0B0eXBlJ11dLnB1c2goe1xuICAgICAgaWQ6IG5vZGVbJ0BpZCddLFxuICAgICAgcmVxdWVzdFxuICAgIH0pO1xuXG4gICAgcmVxdWVzdC5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICB0aGlzLl9ub2Rlc1tub2RlWydAdHlwZSddXVtpbmRleF0gPSBkYXRhO1xuICAgICAgdGhpcy5fbm9kZXMkLm5leHQodGhpcy5fbm9kZXMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICBwdWJsaWMgYWRkTm9kZTxUIGV4dGVuZHMgUGljazxKU09OTEQ8Tm9kZVR5cGU+LCAnQHR5cGUnIHwgJ0BpZCc+Pihub2RlOiBUKSB7XG4gICAgdGhpcy5fbm9kZXNMb2FkUmVxdWVzdHNbbm9kZVsnQHR5cGUnXV0gPSB0aGlzLl9ub2Rlc0xvYWRSZXF1ZXN0c1tub2RlWydAdHlwZSddXSB8fCBbXTtcbiAgICB0aGlzLl9ub2Rlc1tub2RlWydAdHlwZSddXSA9IHRoaXMuX25vZGVzW25vZGVbJ0B0eXBlJ11dIHx8IFtdO1xuXG4gICAgY29uc3QgZXhpc3RpbmdSZXF1ZXN0ID0gdGhpcy5fbm9kZXNMb2FkUmVxdWVzdHNbbm9kZVsnQHR5cGUnXV0uZmluZCgoeyBpZCB9KSA9PiBpZCA9PT0gbm9kZVsnQGlkJ10pO1xuICAgIHJldHVybiBleGlzdGluZ1JlcXVlc3QgPyBleGlzdGluZ1JlcXVlc3QucmVxdWVzdCA6IHRoaXMubG9hZE5vZGU8VD4obm9kZSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlTm9kZUJ5SW5kZXgobm9kZVR5cGU6IE5vZGVUeXBlLCBpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5fbm9kZXNMb2FkUmVxdWVzdHNbbm9kZVR5cGVdLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5fbm9kZXNbbm9kZVR5cGVdLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5fbm9kZXMkLm5leHQodGhpcy5fbm9kZXMpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZU5vZGU8VCBleHRlbmRzIEpTT05MRDxOb2RlVHlwZT4+KG5vZGU6IFQpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZmluZE5vZGVJbmRleChub2RlKTtcbiAgICByZXR1cm4gaW5kZXggPj0gMCA/IHRoaXMucmVtb3ZlTm9kZUJ5SW5kZXgobm9kZVsnQHR5cGUnXSwgaW5kZXgpIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhck5vZGVzKCkge1xuICAgIHRoaXMuX25vZGVzTG9hZFJlcXVlc3RzID0ge307XG4gICAgdGhpcy5fbm9kZXMgPSB7fTtcbiAgICB0aGlzLl9ub2RlcyQubmV4dCh0aGlzLl9ub2Rlcyk7XG4gIH1cblxuICBwdWJsaWMgbm9kZXMkKCkge1xuICAgIHJldHVybiB0aGlzLl9ub2RlcyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgc29ydGVkTm9kZXMkKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVzJCgpLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIG5vZGVzID0+XG4gICAgICAgICAgT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKG5vZGVzKS5tYXAoKFtub2RlS2V5LCB2YWx1ZXNdKSA9PiBbbm9kZUtleSwgc29ydE5vZGVzKHZhbHVlcyldKSkgYXMgbm9kZXNcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGlkcyQobm9kZVR5cGU6IE5vZGVUeXBlKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZXMkKCkucGlwZShcbiAgICAgIG1lcmdlTWFwKHZhbHVlcyA9PiB2YWx1ZXNbbm9kZVR5cGVdKSxcbiAgICAgIG1hcCgoeyBpZCB9KSA9PiBpZCksXG4gICAgICB0b0FycmF5KClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGZpbmQkPFQgZXh0ZW5kcyBKU09OTEQ8Tm9kZVR5cGU+PihcbiAgICBub2RlVHlwZTogTm9kZVR5cGUsXG4gICAgaWQ/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTx7IFtkYXRhU3RhdGUgaW4gRGF0YVN0YXRlXT86IFQgfVtdPiB7XG4gICAgcmV0dXJuIHRoaXMubm9kZXMkKCkucGlwZShtYXAodmFsdWVzID0+ICgodmFsdWVzW25vZGVUeXBlXSBhcyBhbnlbXSkgfHwgW10pLmZpbHRlcihub2RlID0+ICFpZCB8fCBub2RlLmlkID09PSBpZCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQnlTdGF0ZSQ8VCBleHRlbmRzIEpTT05MRDxOb2RlVHlwZT4+KG5vZGVUeXBlOiBOb2RlVHlwZSwgZGF0YVN0YXRlOiBEYXRhU3RhdGUsIGlkPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZmluZCQ8VD4obm9kZVR5cGUsIGlkKS5waXBlKG1hcCh2YWx1ZXMgPT4gdmFsdWVzLm1hcCh2ID0+IHZbZGF0YVN0YXRlXSkuZmlsdGVyKEJvb2xlYW4pKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -7064,7 +7064,7 @@ const nodeTypeDataStates = (nodeType, aggregated = false) => {
|
|
|
7064
7064
|
const sortNodes = (values) => values?.length
|
|
7065
7065
|
? orderBy(values.filter(Boolean), ['original.aggregated', 'original.site.@id', 'original.cycle.@id', 'original.@id'], ['asc', 'asc', 'asc', 'asc'])
|
|
7066
7066
|
: [];
|
|
7067
|
-
const isAggregated = (id) => !!id
|
|
7067
|
+
const isAggregated = (id) => !!id?.match(/^[a-zA-Z]+[-][a-zA-Z]+[-][\d]{4,}[-][\d]{4,}/g);
|
|
7068
7068
|
class HeNodeStoreService {
|
|
7069
7069
|
constructor(nodeService) {
|
|
7070
7070
|
this.nodeService = nodeService;
|
|
@@ -8051,7 +8051,7 @@ const customErrorMessage = {
|
|
|
8051
8051
|
'should be linked to an existing node': (error, _errorCount, allErrors) => allErrors?.length
|
|
8052
8052
|
? `Your upload does not contain the following Nodes:
|
|
8053
8053
|
<ul class="is-pl-3 is-list-style-disc is-nowrap">
|
|
8054
|
-
${unique(allErrors.map(({ params }) => `<li>${params?.node?.type} with ${code(`id=${params?.node?.id}`)}</li>`)).join('\n')}
|
|
8054
|
+
${unique(allErrors.map(({ params }) => `<li class="is-pre-wrap">${params?.node?.type} with ${code(`id=${params?.node?.id}`)}</li>`)).join('\n')}
|
|
8055
8055
|
</ul>
|
|
8056
8056
|
If you are trying to link to an existing Node on the Hestia platform, you must use ${code('@id')} field instead.
|
|
8057
8057
|
Otherwise you must include a full ${unique(allErrors.map(({ params }) => `${params?.node?.type} with id ${code(params?.node?.id)}.`)).join(', ')}`
|
|
@@ -8126,10 +8126,10 @@ const customErrorMessage = {
|
|
|
8126
8126
|
? `${code(toPrecision(params?.expected, 3))}, but the value in the upload is ${code(toPrecision(params?.current, 3))}.
|
|
8127
8127
|
${params?.threshold ? `Our threshold is ±${threshold(params?.threshold)}.` : ''}
|
|
8128
8128
|
Please either:
|
|
8129
|
-
<ul class="is-pl-3 is-list-style-decimal">
|
|
8130
|
-
<li>Check the ${params?.term.termType} value you provided;</li>
|
|
8131
|
-
<li>Check the data you provided which is the input into this model;</li>
|
|
8132
|
-
<li>Carefully read the documentation to understand if we used a default property as part of the calculations.</li>
|
|
8129
|
+
<ul class="is-pl-3 is-list-style-decimal is-nowrap">
|
|
8130
|
+
<li class="is-pre-wrap">Check the ${params?.term.termType} value you provided;</li>
|
|
8131
|
+
<li class="is-pre-wrap">Check the data you provided which is the input into this model;</li>
|
|
8132
|
+
<li class="is-pre-wrap">Carefully read the documentation to understand if we used a default property as part of the calculations.</li>
|
|
8133
8133
|
</ul>`
|
|
8134
8134
|
: 'not consistent with the model result.'}`,
|
|
8135
8135
|
'the measurement provided might be in error': ({ params }, errorCount) => `The expected value for ${code(params?.term.name)}
|
|
@@ -8184,10 +8184,10 @@ const customErrorMessage = {
|
|
|
8184
8184
|
? ` Instead use the ${termLink({ id: 'nitrogenContent', name: 'Nitrogen Content' })} Property on the ${code('kg')} term to define the nitrogen content of the ${code(params?.term?.termType)}.`
|
|
8185
8185
|
: ''}`,
|
|
8186
8186
|
'is missing required bibliographic information': () => `The automatic bibliography search failed for this Bibliography. Either:
|
|
8187
|
-
<ul class="is-pl-3 is-list-style-decimal">
|
|
8188
|
-
<li>Manually fill-in the <b>required</b> bibliographic information as per ${schemaLink(SchemaType.Bibliography, 'our schema')}.</li>
|
|
8189
|
-
<li>Provide the ${code('documentDOI')} as well as the ${code('title')}.</li>
|
|
8190
|
-
<li>Check the ${code('documentDOI')} and ${code('title')} for typos against the ${externalLink('https://www.mendeley.com', 'Mendeley catalogue')}.</li>
|
|
8187
|
+
<ul class="is-pl-3 is-list-style-decimal is-nowrap">
|
|
8188
|
+
<li class="is-pre-wrap">Manually fill-in the <b>required</b> bibliographic information as per ${schemaLink(SchemaType.Bibliography, 'our schema')}.</li>
|
|
8189
|
+
<li class="is-pre-wrap">Provide the ${code('documentDOI')} as well as the ${code('title')}.</li>
|
|
8190
|
+
<li class="is-pre-wrap">Check the ${code('documentDOI')} and ${code('title')} for typos against the ${externalLink('https://www.mendeley.com', 'Mendeley catalogue')}.</li>
|
|
8191
8191
|
</ul>`,
|
|
8192
8192
|
'should be lower than max size': ({ params }) => `The boundary or region is >${params?.expected}km2 and is too large to reliably gap fill Measurements.
|
|
8193
8193
|
If you are able to use a more specific region or smaller boundary, please do.`,
|
|
@@ -8207,6 +8207,9 @@ const customErrorMessage = {
|
|
|
8207
8207
|
'can only have 1 tillage practice without a value': ({ params }) => `It is not possible for a Cycle to have the following tillage Practices:
|
|
8208
8208
|
${(params?.current ?? []).map(({ name }) => name).join(' and ')} at the same time.
|
|
8209
8209
|
If multiple tillage practices did occur, please specify the percentage of area they occurred on.`,
|
|
8210
|
+
'cannot use no tillage if depth or number of tillages is not 0': () => `This Practice cannot have a value of ${code(100)} if the Tillage depth is higher than ${code(0)} or the Number of tillages is higher than ${code(0)}. Please resolve this conflict.`,
|
|
8211
|
+
'cannot use full tillage if depth or number of tillages is 0': () => `This Practice cannot have a value of ${code(100)} if the Tillage depth is equal to ${code(0)} or the Number of tillages is equal to ${code(0)}. Please resolve this conflict.`,
|
|
8212
|
+
'must use no tillage when number of tillages is 0': () => `You cannot use a tillage term other than No tillage with a value of ${code(100)} if the Number of tillages has been set to ${code(0)}. Please resolve this conflict.`,
|
|
8210
8213
|
'can not be linked to the same Cycle': () => 'You can not link an Input to the Impact Assessment of the same Cycle.',
|
|
8211
8214
|
// deprecated, remove when message is not being used anymore
|
|
8212
8215
|
'must be 0 for product value 0': ({ dataPath, params }, errorCount) => `If the amount produced is zero, the ${code(dataPath?.split('.').pop())} of ${errorCount === 1 ? code(params?.term.name) : 'that product'} must also be zero.`,
|
|
@@ -8260,22 +8263,25 @@ const customErrorMessage = {
|
|
|
8260
8263
|
The quantity must include both above and below ground crop residue, where the sum of above ground crop residue and below ground crop residue must be greater than zero.
|
|
8261
8264
|
This can be added using the terms:
|
|
8262
8265
|
<ul class="is-pl-3 is-list-style-disc is-nowrap">
|
|
8263
|
-
<li>${termLink({ id: 'belowGroundCropResidue', name: 'Below ground crop residue' })}; and</li>
|
|
8264
|
-
<li>${termLink({
|
|
8266
|
+
<li class="is-pre-wrap">${termLink({ id: 'belowGroundCropResidue', name: 'Below ground crop residue' })}; and</li>
|
|
8267
|
+
<li class="is-pre-wrap">${termLink({
|
|
8268
|
+
id: 'aboveGroundCropResidueTotal',
|
|
8269
|
+
name: 'Above ground crop residue total'
|
|
8270
|
+
})}.</li>
|
|
8265
8271
|
</ul>
|
|
8266
8272
|
<br/>
|
|
8267
8273
|
The fate can be added using:
|
|
8268
8274
|
<ul class="is-pl-3 is-list-style-disc is-nowrap">
|
|
8269
|
-
<li>the ${glossaryTypeLink(TermTermType.cropResidueManagement)} practices; and/or</li>
|
|
8270
|
-
<li>the ${glossaryTypeLink(TermTermType.cropResidue)} products</li>
|
|
8275
|
+
<li class="is-pre-wrap">the ${glossaryTypeLink(TermTermType.cropResidueManagement)} practices; and/or</li>
|
|
8276
|
+
<li class="is-pre-wrap">the ${glossaryTypeLink(TermTermType.cropResidue)} products</li>
|
|
8271
8277
|
</ul>
|
|
8272
8278
|
`,
|
|
8273
8279
|
'should specify the fate of cropResidue': () => `You have not specified the fate of the crop residue.
|
|
8274
8280
|
Adding this information will improve emissions and soil carbon stock calculations.
|
|
8275
8281
|
The fate can be added using:
|
|
8276
8282
|
<ul class="is-pl-3 is-list-style-disc is-nowrap">
|
|
8277
|
-
<li>the ${glossaryTypeLink(TermTermType.cropResidueManagement)} practices; and/or</li>
|
|
8278
|
-
<li>the ${glossaryTypeLink(TermTermType.cropResidue)} products;</li>
|
|
8283
|
+
<li class="is-pre-wrap">the ${glossaryTypeLink(TermTermType.cropResidueManagement)} practices; and/or</li>
|
|
8284
|
+
<li class="is-pre-wrap">the ${glossaryTypeLink(TermTermType.cropResidue)} products;</li>
|
|
8279
8285
|
</ul>
|
|
8280
8286
|
Remember to set ${code('completeness.cropResidue')} to ${code(true)} if both the above and below ground crop residue quantities and fates are specified.`,
|
|
8281
8287
|
'should have the same privacy as the related source': ({ params }) => `To link to a ${(params?.defaultSource || params?.source)?.dataPrivate ? 'private' : 'public'} Source,
|
|
@@ -8306,12 +8312,12 @@ const customErrorMessage = {
|
|
|
8306
8312
|
You do not need to set a ${code('value')} for the Product, but adding a ${code('value')} is desirable.`,
|
|
8307
8313
|
'value should sum to 100 across all values': ({ params }) => `The total value of the following terms should sum up to a value of 100%:
|
|
8308
8314
|
<ul class="is-pl-3 is-list-style-disc is-nowrap">
|
|
8309
|
-
${(params.termIds || []).map(id => `<li>${code(id)}</li>`).join('')}
|
|
8315
|
+
${(params.termIds || []).map(id => `<li class="is-pre-wrap">${code(id)}</li>`).join('')}
|
|
8310
8316
|
</ul>
|
|
8311
8317
|
Make sure to add any missing term if needed and/or adjust the values of the existing terms you already recorded.`,
|
|
8312
8318
|
'value should sum to maximum 100 across all values': ({ params }) => `The total value of the following terms should sum up to a maximum value of 100%:
|
|
8313
8319
|
<ul class="is-pl-3 is-list-style-disc is-nowrap">
|
|
8314
|
-
${(params.termIds || []).map(id => `<li>${code(id)}</li>`).join('')}
|
|
8320
|
+
${(params.termIds || []).map(id => `<li class="is-pre-wrap">${code(id)}</li>`).join('')}
|
|
8315
8321
|
</ul>
|
|
8316
8322
|
Make sure to add any missing term if needed and/or adjust the values of the existing terms you already recorded.`,
|
|
8317
8323
|
'rice products not allowed for this water regime practice': ({ params }) => `This practice is not allowed with the products ${params.products?.map(p => code(p.name || p['@id']))}.
|
|
@@ -8355,16 +8361,17 @@ const customErrorMessage = {
|
|
|
8355
8361
|
?.map(code)
|
|
8356
8362
|
.join(', ')}. Please consider any of the following suggestions to resolve this conflict:
|
|
8357
8363
|
<ul class="is-pl-3 is-list-style-disc is-nowrap">
|
|
8358
|
-
<li>You can amend the Cycles' ${schemaLink('Cycle#startDate', 'startDate')} and ${schemaLink('Cycle#endDate', 'endDate')} to ensure that they do not overlap anymore.
|
|
8359
|
-
<li>You can break down your Cycles into shorter Cycles to ensure that they do not overlap anymore.
|
|
8360
|
-
<li>You can merge the overlapping Cycles into one overall Cycle if the Products of each Cycle are grown at the same time on the same Site.
|
|
8364
|
+
<li class="is-pre-wrap">You can amend the Cycles' ${schemaLink('Cycle#startDate', 'startDate')} and ${schemaLink('Cycle#endDate', 'endDate')} to ensure that they do not overlap anymore.
|
|
8365
|
+
<li class="is-pre-wrap">You can break down your Cycles into shorter Cycles to ensure that they do not overlap anymore.
|
|
8366
|
+
<li class="is-pre-wrap">You can merge the overlapping Cycles into one overall Cycle if the Products of each Cycle are grown at the same time on the same Site.
|
|
8361
8367
|
This is relevant if intercropping is used, for instance.</li>
|
|
8362
|
-
<li>You can create a different Site for each overlapping Cycle.
|
|
8368
|
+
<li class="is-pre-wrap">You can create a different Site for each overlapping Cycle.
|
|
8363
8369
|
This is appropriate if a field is divided into different plots, each dedicated to growing a different Product; each plot would be considered a unique Site on the platform.</li>
|
|
8364
8370
|
</ul>
|
|
8365
8371
|
`,
|
|
8366
|
-
'
|
|
8367
|
-
Please create different Sites for the following Cycles: ${params.ids?.map(code).join(', ')}
|
|
8372
|
+
'cycles linked together cannot be added to the same site': ({ params }) => `Cycles linked together by an Impact Assessment cannot take place on the same Site.
|
|
8373
|
+
Please create different Sites for the following Cycles: ${params.ids?.map(code).join(', ')}.`,
|
|
8374
|
+
'is not an allowed animalProduct': () => `The ${glossaryTypeLink(TermTermType.liveAnimal)} producing this Product is not recorded in the ${schemaLink('Cycle#animals', 'Animal')} blank nodes. Either change this product or add the missing ${glossaryTypeLink(TermTermType.liveAnimal)} to the ${schemaLink('Cycle#animals', 'Animal')} blank nodes.`
|
|
8368
8375
|
};
|
|
8369
8376
|
const parseDefaultMessage = (message) => `<span class="is-capitalized-first-letter">${message?.startsWith('should have required property')
|
|
8370
8377
|
? message.replace("'", '<code>').replace("'", '</code>')
|