@hestia-earth/ui-components 0.3.1 → 0.3.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.
@@ -62,9 +62,9 @@ export class HeNodeService {
62
62
  params: filterParams({ dataState })
63
63
  }).toPromise().catch(handleAPIError);
64
64
  }
65
- getModelsLog(_a) {
65
+ getErrorLog(_a) {
66
66
  var { dataState } = _a, node = __rest(_a, ["dataState"]);
67
- return this.http.get(`${this.nodeUrl(node)}/log/models`, {
67
+ return this.http.get(`${this.nodeUrl(node)}/log/error`, {
68
68
  headers: this.authService.headers,
69
69
  params: filterParams({ dataState })
70
70
  }).toPromise().catch(handleAPIError);
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
120
120
  providedIn: 'root'
121
121
  }]
122
122
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HeAuthService }, { type: i3.HeCommonService }]; } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25vZGUvbm9kZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQXNELFFBQVEsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUdsSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFHMUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxVQUFrQixFQUFFLElBQWUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBRWxIOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLFVBQWtCLEVBQUUsRUFBaUMsRUFBRSxFQUFFO1FBQXJDLEVBQUUsU0FBUyxPQUFzQixFQUFqQixJQUFJLGNBQXBCLGFBQXNCLENBQUY7SUFDOUQsT0FBQSxHQUFHLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxD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WixNQUFNOzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGF0YVN0YXRlLCBub2RlVHlwZVRvUGFyYW0gfSBmcm9tICdAaGVzdGlhLWVhcnRoL2FwaSc7XG5pbXBvcnQgeyBJQ3ljbGVKU09OTEQsIElJbXBhY3RBc3Nlc3NtZW50SlNPTkxELCBJU2l0ZUpTT05MRCwgTm9kZVR5cGUsIFRlcm1UZXJtVHlwZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvc2NoZW1hJztcblxuaW1wb3J0IHsgSU5vZGVNaXNzaW5nTG9va3VwTG9nIH0gZnJvbSAnLi9ub2RlLWxvZ3MubW9kZWwnO1xuaW1wb3J0IHsgdGVybUNoaWxkVG9QYXJlbnQgfSBmcm9tICcuLi90ZXJtcy90ZXJtcy5tb2RlbCc7XG5pbXBvcnQgeyBmaWx0ZXJQYXJhbXMsIGhhbmRsZUFQSUVycm9yIH0gZnJvbSAnLi4vY29tbW9uL3V0aWxzJztcbmltcG9ydCB7IEhlQ29tbW9uU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24uc2VydmljZSc7XG5pbXBvcnQgeyBiYXNlVXJsIH0gZnJvbSAnLi4vY29tbW9uL3V0aWxzJztcbmltcG9ydCB7IEhlQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoL2F1dGguc2VydmljZSc7XG5cbmNvbnN0IG5vZGVUeXBlVXJsID0gKGFwaUJhc2VVcmw6IHN0cmluZywgdHlwZT86IE5vZGVUeXBlKSA9PiB0eXBlID8gYCR7YXBpQmFzZVVybH0vJHtub2RlVHlwZVRvUGFyYW0odHlwZSl9YCA6ICcnO1xuXG4vKipcbiAqIEdldCB0aGUgZnVsbCB1cmwgdG8gZmV0Y2ggdGhlIG5vZGUgZGF0YS5cbiAqXG4gKiBAcGFyYW0gYXBpQmFzZVVybCBUaGUgdXJsIG9mIHRoZSBBUEkgaG9zdGluZyB0aGUgZGF0YS5cbiAqIEBwYXJhbSBub2RlIFRoZSBub2RlIHdpdGggYSB0eXBlLCBpZCBhbmQgb3B0aW9uYWxseSBhIGRhdGFTdGF0ZVxuICogQHJldHVybnMgVGhlIGZ1bGwgdXJsLlxuICovXG5leHBvcnQgY29uc3Qgbm9kZVVybCA9IChhcGlCYXNlVXJsOiBzdHJpbmcsIHsgZGF0YVN0YXRlLCAuLi5ub2RlIH06IElKU09OTm9kZSkgPT5cbiAgYCR7bm9kZVR5cGVVcmwoYXBpQmFzZVVybCwgbm9kZVsnQHR5cGUnXSB8fCBub2RlLnR5cGUpfS8ke25vZGVbJ0BpZCddIHx8IG5vZGUuaWR9JHtkYXRhU3RhdGUgPyBgP2RhdGFTdGF0ZT0ke2RhdGFTdGF0ZX1gIDogJydcbiAgfWA7XG5cbmV4cG9ydCBjb25zdCBub2RlTG9nc1VybCA9IChhcGlCYXNlVXJsOiBzdHJpbmcsIHsgZGF0YVN0YXRlLCAuLi5ub2RlIH06IElKU09OTm9kZSkgPT5cbiAgYCR7bm9kZVVybChhcGlCYXNlVXJsLCBub2RlKX0vbG9nJHtkYXRhU3RhdGUgPyBgP2RhdGFTdGF0ZT0ke2RhdGFTdGF0ZX1gIDogJyd9YDtcblxuZXhwb3J0IGNvbnN0IGxvb2t1cFVybCA9IChmaWxlbmFtZTogc3RyaW5nKSA9PlxuICBmaWxlbmFtZS5zdGFydHNXaXRoKCdodHRwJykgPyBmaWxlbmFtZSA6IGAke2Jhc2VVcmwoKX0vZ2xvc3NhcnkvbG9va3Vwcy8ke2ZpbGVuYW1lfS5jc3ZgO1xuXG5leHBvcnQgY29uc3QgdGVybVR5cGVMb29rdXBVcmwgPSAodGVybVR5cGU6IFRlcm1UZXJtVHlwZSkgPT5cbiAgYCR7YmFzZVVybCgpfS9nbG9zc2FyeS8ke3Rlcm1DaGlsZFRvUGFyZW50KHRlcm1UeXBlKS50ZXJtVHlwZX0vJHt0ZXJtVHlwZX0uY3N2YDtcblxuZXhwb3J0IGludGVyZmFjZSBJSlNPTk5vZGUge1xuICAnQHR5cGUnPzogTm9kZVR5cGU7XG4gICdAaWQnPzogc3RyaW5nO1xuICB0eXBlPzogTm9kZVR5cGU7XG4gIGlkPzogc3RyaW5nO1xuICBkYXRhU3RhdGU/OiBEYXRhU3RhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlbGF0ZWROb2RlIHtcbiAgJ0B0eXBlJzogTm9kZVR5cGU7XG4gICdAaWQnOiBzdHJpbmc7XG4gIFt4OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUpTT05EYXRhIHtcbiAgW05vZGVUeXBlLkN5Y2xlXT86IElDeWNsZUpTT05MRFtdO1xuICBbTm9kZVR5cGUuU2l0ZV0/OiBJU2l0ZUpTT05MRFtdO1xuICBbTm9kZVR5cGUuSW1wYWN0QXNzZXNzbWVudF0/OiBJSW1wYWN0QXNzZXNzbWVudEpTT05MRFtdO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIZU5vZGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGF1dGhTZXJ2aWNlOiBIZUF1dGhTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjb21tb25TZXJ2aWNlOiBIZUNvbW1vblNlcnZpY2VcbiAgKSB7IH1cblxuICBnZXQkPFQ+KHsgZGF0YVN0YXRlLCAuLi5ub2RlIH06IElKU09OTm9kZSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHRoaXMubm9kZVVybChub2RlKSwge1xuICAgICAgaGVhZGVyczogdGhpcy5hdXRoU2VydmljZS5oZWFkZXJzLFxuICAgICAgcGFyYW1zOiBmaWx0ZXJQYXJhbXMoeyBkYXRhU3RhdGUgfSlcbiAgICB9KTtcbiAgfVxuXG4gIGdldDxUPihub2RlOiBJSlNPTk5vZGUsIGRlZmF1bHRGb3JTdGF0ZSA9IHRydWUpIHtcbiAgICByZXR1cm4gdGhpcy5nZXQkPFQ+KG5vZGUpXG4gICAgICAudG9Qcm9taXNlKClcbiAgICAgIC5jYXRjaCgoKSA9PiBub2RlLmRhdGFTdGF0ZSAmJiBkZWZhdWx0Rm9yU3RhdGUgPyAoKG5vZGUgYXMgYW55KSBhcyBUKSA6ICh7fSkgYXMgVCk7XG4gIH1cblxuICBnZXRMb2coeyBkYXRhU3RhdGUsIC4uLm5vZGUgfTogSUpTT05Ob2RlKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5ub2RlVXJsKG5vZGUpfS9sb2dgLCB7XG4gICAgICBoZWFkZXJzOiB0aGlzLmF1dGhTZXJ2aWNlLmhlYWRlcnMsXG4gICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgIHBhcmFtczogZmlsdGVyUGFyYW1zKHsgZGF0YVN0YXRlIH0pXG4gICAgfSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoJycpKVxuICAgICk7XG4gIH1cblxuICBnZXRNaXNzaW5nTG9va3Vwc0xvZyh7IGRhdGFTdGF0ZSwgLi4ubm9kZSB9OiBJSlNPTk5vZGUpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJTm9kZU1pc3NpbmdMb29rdXBMb2dbXT4oYCR7dGhpcy5ub2RlVXJsKG5vZGUpfS9sb2cvbG9va3Vwc2AsIHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuYXV0aFNlcnZpY2UuaGVhZGVycyxcbiAgICAgIHBhcmFtczogZmlsdGVyUGFyYW1zKHsgZGF0YVN0YXRlIH0pXG4gICAgfSkudG9Qcm9taXNlKCkuY2F0Y2goaGFuZGxlQVBJRXJyb3IpO1xuICB9XG5cbiAgZ2V0TW9kZWxzTG9nKHsgZGF0YVN0YXRlLCAuLi5ub2RlIH06IElKU09OTm9kZSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5ub2RlVXJsKG5vZGUpfS9sb2cvbW9kZWxzYCwge1xuICAgICAgaGVhZGVyczogdGhpcy5hdXRoU2VydmljZS5oZWFkZXJzLFxuICAgICAgcGFyYW1zOiBmaWx0ZXJQYXJhbXMoeyBkYXRhU3RhdGUgfSlcbiAgICB9KS50b1Byb21pc2UoKS5jYXRjaChoYW5kbGVBUElFcnJvcik7XG4gIH1cblxuICB0cmlnZ2VyUGlwZWxpbmUoeyBkYXRhU3RhdGUsIC4uLm5vZGUgfTogSUpTT05Ob2RlKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMubm9kZVVybChub2RlKX0vcGlwZWxpbmVgLCBkYXRhU3RhdGUgPyB7IGRhdGFTdGF0ZSB9IDoge30sIHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuYXV0aFNlcnZpY2UuaGVhZGVyc1xuICAgIH0pLnRvUHJvbWlzZSgpLmNhdGNoKGhhbmRsZUFQSUVycm9yKTtcbiAgfVxuXG4gIGRvd25sb2FkUmF3PFQgPSBhbnk+KHVybDogc3RyaW5nLCByZXNwb25zZVR5cGU6IGFueSA9ICdqc29uJykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHVybCwgeyByZXNwb25zZVR5cGUgfSlcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLmNhdGNoKCgpID0+IChyZXNwb25zZVR5cGUgPT09ICdqc29uJyA/ICh7fSkgOiAnJykgYXMgVCk7XG4gIH1cblxuICBwdWJsaWMgbm9kZVR5cGVVcmwodHlwZTogYW55KSB7XG4gICAgcmV0dXJuIG5vZGVUeXBlVXJsKHRoaXMuY29tbW9uU2VydmljZS5hcGlCYXNlVXJsLCB0eXBlKTtcbiAgfVxuXG4gIHB1YmxpYyBub2RlVXJsKG5vZGU6IElKU09OTm9kZSkge1xuICAgIHJldHVybiBub2RlVXJsKHRoaXMuY29tbW9uU2VydmljZS5hcGlCYXNlVXJsLCBub2RlKTtcbiAgfVxuXG4gIHB1YmxpYyBub2RlTG9nc1VybChub2RlOiBJSlNPTk5vZGUpIHtcbiAgICByZXR1cm4gbm9kZUxvZ3NVcmwodGhpcy5jb21tb25TZXJ2aWNlLmFwaUJhc2VVcmwsIG5vZGUpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRvd25sb2FkTG9va3VwKGZpbGVuYW1lOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXJsID0gbG9va3VwVXJsKGZpbGVuYW1lKTtcbiAgICAgIHJldHVybiB0aGlzLmRvd25sb2FkUmF3PHN0cmluZz4odXJsLCAndGV4dCcpO1xuICAgIH1cbiAgICBjYXRjaCAoX2Vycikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvb2t1cExpbmsodGVybVR5cGU6IFRlcm1UZXJtVHlwZSkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5kb3dubG9hZExvb2t1cCh0ZXJtVHlwZSk7XG4gICAgICByZXR1cm4gZGF0YT8uc3RhcnRzV2l0aCgndGVybS5pZCcpID8gbG9va3VwVXJsKHRlcm1UeXBlKSA6IG51bGw7XG4gICAgfVxuICAgIGNhdGNoIChfZXJyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25vZGUvbm9kZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQXNELFFBQVEsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUdsSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFHMUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxVQUFrQixFQUFFLElBQWUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBRWxIOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLFVBQWtCLEVBQUUsRUFBaUMsRUFBRSxFQUFFO1FBQXJDLEVBQUUsU0FBUyxPQUFzQixFQUFqQixJQUFJLGNBQXBCLGFBQXNCLENBQUY7SUFDOUQsT0FBQSxHQUFHLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxD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RlosTUFBTTs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERhdGFTdGF0ZSwgbm9kZVR5cGVUb1BhcmFtIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9hcGknO1xuaW1wb3J0IHsgSUN5Y2xlSlNPTkxELCBJSW1wYWN0QXNzZXNzbWVudEpTT05MRCwgSVNpdGVKU09OTEQsIE5vZGVUeXBlLCBUZXJtVGVybVR5cGUgfSBmcm9tICdAaGVzdGlhLWVhcnRoL3NjaGVtYSc7XG5cbmltcG9ydCB7IElOb2RlTWlzc2luZ0xvb2t1cExvZyB9IGZyb20gJy4vbm9kZS1sb2dzLW1vZGVscy9ub2RlLWxvZ3MtbW9kZWxzLm1vZGVsJztcbmltcG9ydCB7IHRlcm1DaGlsZFRvUGFyZW50IH0gZnJvbSAnLi4vdGVybXMvdGVybXMubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyUGFyYW1zLCBoYW5kbGVBUElFcnJvciB9IGZyb20gJy4uL2NvbW1vbi91dGlscyc7XG5pbXBvcnQgeyBIZUNvbW1vblNlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgYmFzZVVybCB9IGZyb20gJy4uL2NvbW1vbi91dGlscyc7XG5pbXBvcnQgeyBIZUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xuXG5jb25zdCBub2RlVHlwZVVybCA9IChhcGlCYXNlVXJsOiBzdHJpbmcsIHR5cGU/OiBOb2RlVHlwZSkgPT4gdHlwZSA/IGAke2FwaUJhc2VVcmx9LyR7bm9kZVR5cGVUb1BhcmFtKHR5cGUpfWAgOiAnJztcblxuLyoqXG4gKiBHZXQgdGhlIGZ1bGwgdXJsIHRvIGZldGNoIHRoZSBub2RlIGRhdGEuXG4gKlxuICogQHBhcmFtIGFwaUJhc2VVcmwgVGhlIHVybCBvZiB0aGUgQVBJIGhvc3RpbmcgdGhlIGRhdGEuXG4gKiBAcGFyYW0gbm9kZSBUaGUgbm9kZSB3aXRoIGEgdHlwZSwgaWQgYW5kIG9wdGlvbmFsbHkgYSBkYXRhU3RhdGVcbiAqIEByZXR1cm5zIFRoZSBmdWxsIHVybC5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vZGVVcmwgPSAoYXBpQmFzZVVybDogc3RyaW5nLCB7IGRhdGFTdGF0ZSwgLi4ubm9kZSB9OiBJSlNPTk5vZGUpID0+XG4gIGAke25vZGVUeXBlVXJsKGFwaUJhc2VVcmwsIG5vZGVbJ0B0eXBlJ10gfHwgbm9kZS50eXBlKX0vJHtub2RlWydAaWQnXSB8fCBub2RlLmlkfSR7ZGF0YVN0YXRlID8gYD9kYXRhU3RhdGU9JHtkYXRhU3RhdGV9YCA6ICcnXG4gIH1gO1xuXG5leHBvcnQgY29uc3Qgbm9kZUxvZ3NVcmwgPSAoYXBpQmFzZVVybDogc3RyaW5nLCB7IGRhdGFTdGF0ZSwgLi4ubm9kZSB9OiBJSlNPTk5vZGUpID0+XG4gIGAke25vZGVVcmwoYXBpQmFzZVVybCwgbm9kZSl9L2xvZyR7ZGF0YVN0YXRlID8gYD9kYXRhU3RhdGU9JHtkYXRhU3RhdGV9YCA6ICcnfWA7XG5cbmV4cG9ydCBjb25zdCBsb29rdXBVcmwgPSAoZmlsZW5hbWU6IHN0cmluZykgPT5cbiAgZmlsZW5hbWUuc3RhcnRzV2l0aCgnaHR0cCcpID8gZmlsZW5hbWUgOiBgJHtiYXNlVXJsKCl9L2dsb3NzYXJ5L2xvb2t1cHMvJHtmaWxlbmFtZX0uY3N2YDtcblxuZXhwb3J0IGNvbnN0IHRlcm1UeXBlTG9va3VwVXJsID0gKHRlcm1UeXBlOiBUZXJtVGVybVR5cGUpID0+XG4gIGAke2Jhc2VVcmwoKX0vZ2xvc3NhcnkvJHt0ZXJtQ2hpbGRUb1BhcmVudCh0ZXJtVHlwZSkudGVybVR5cGV9LyR7dGVybVR5cGV9LmNzdmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUpTT05Ob2RlIHtcbiAgJ0B0eXBlJz86IE5vZGVUeXBlO1xuICAnQGlkJz86IHN0cmluZztcbiAgdHlwZT86IE5vZGVUeXBlO1xuICBpZD86IHN0cmluZztcbiAgZGF0YVN0YXRlPzogRGF0YVN0YXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZWxhdGVkTm9kZSB7XG4gICdAdHlwZSc6IE5vZGVUeXBlO1xuICAnQGlkJzogc3RyaW5nO1xuICBbeDogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElKU09ORGF0YSB7XG4gIFtOb2RlVHlwZS5DeWNsZV0/OiBJQ3ljbGVKU09OTERbXTtcbiAgW05vZGVUeXBlLlNpdGVdPzogSVNpdGVKU09OTERbXTtcbiAgW05vZGVUeXBlLkltcGFjdEFzc2Vzc21lbnRdPzogSUltcGFjdEFzc2Vzc21lbnRKU09OTERbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTm9kZUVycm9yTG9nIHtcbiAgZXJyb3I6IHN0cmluZztcbiAgc3RhY2s/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEhlTm9kZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgYXV0aFNlcnZpY2U6IEhlQXV0aFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGNvbW1vblNlcnZpY2U6IEhlQ29tbW9uU2VydmljZVxuICApIHsgfVxuXG4gIGdldCQ8VD4oeyBkYXRhU3RhdGUsIC4uLm5vZGUgfTogSUpTT05Ob2RlKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odGhpcy5ub2RlVXJsKG5vZGUpLCB7XG4gICAgICBoZWFkZXJzOiB0aGlzLmF1dGhTZXJ2aWNlLmhlYWRlcnMsXG4gICAgICBwYXJhbXM6IGZpbHRlclBhcmFtcyh7IGRhdGFTdGF0ZSB9KVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0PFQ+KG5vZGU6IElKU09OTm9kZSwgZGVmYXVsdEZvclN0YXRlID0gdHJ1ZSkge1xuICAgIHJldHVybiB0aGlzLmdldCQ8VD4obm9kZSlcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLmNhdGNoKCgpID0+IG5vZGUuZGF0YVN0YXRlICYmIGRlZmF1bHRGb3JTdGF0ZSA/ICgobm9kZSBhcyBhbnkpIGFzIFQpIDogKHt9KSBhcyBUKTtcbiAgfVxuXG4gIGdldExvZyh7IGRhdGFTdGF0ZSwgLi4ubm9kZSB9OiBJSlNPTk5vZGUpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLm5vZGVVcmwobm9kZSl9L2xvZ2AsIHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuYXV0aFNlcnZpY2UuaGVhZGVycyxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgcGFyYW1zOiBmaWx0ZXJQYXJhbXMoeyBkYXRhU3RhdGUgfSlcbiAgICB9KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZignJykpXG4gICAgKTtcbiAgfVxuXG4gIGdldE1pc3NpbmdMb29rdXBzTG9nKHsgZGF0YVN0YXRlLCAuLi5ub2RlIH06IElKU09OTm9kZSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElOb2RlTWlzc2luZ0xvb2t1cExvZ1tdPihgJHt0aGlzLm5vZGVVcmwobm9kZSl9L2xvZy9sb29rdXBzYCwge1xuICAgICAgaGVhZGVyczogdGhpcy5hdXRoU2VydmljZS5oZWFkZXJzLFxuICAgICAgcGFyYW1zOiBmaWx0ZXJQYXJhbXMoeyBkYXRhU3RhdGUgfSlcbiAgICB9KS50b1Byb21pc2UoKS5jYXRjaChoYW5kbGVBUElFcnJvcik7XG4gIH1cblxuICBnZXRFcnJvckxvZyh7IGRhdGFTdGF0ZSwgLi4ubm9kZSB9OiBJSlNPTk5vZGUpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJTm9kZUVycm9yTG9nPihgJHt0aGlzLm5vZGVVcmwobm9kZSl9L2xvZy9lcnJvcmAsIHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuYXV0aFNlcnZpY2UuaGVhZGVycyxcbiAgICAgIHBhcmFtczogZmlsdGVyUGFyYW1zKHsgZGF0YVN0YXRlIH0pXG4gICAgfSkudG9Qcm9taXNlKCkuY2F0Y2goaGFuZGxlQVBJRXJyb3IpO1xuICB9XG5cbiAgdHJpZ2dlclBpcGVsaW5lKHsgZGF0YVN0YXRlLCAuLi5ub2RlIH06IElKU09OTm9kZSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLm5vZGVVcmwobm9kZSl9L3BpcGVsaW5lYCwgZGF0YVN0YXRlID8geyBkYXRhU3RhdGUgfSA6IHt9LCB7XG4gICAgICBoZWFkZXJzOiB0aGlzLmF1dGhTZXJ2aWNlLmhlYWRlcnNcbiAgICB9KS50b1Byb21pc2UoKS5jYXRjaChoYW5kbGVBUElFcnJvcik7XG4gIH1cblxuICBkb3dubG9hZFJhdzxUID0gYW55Pih1cmw6IHN0cmluZywgcmVzcG9uc2VUeXBlOiBhbnkgPSAnanNvbicpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih1cmwsIHsgcmVzcG9uc2VUeXBlIH0pXG4gICAgICAudG9Qcm9taXNlKClcbiAgICAgIC5jYXRjaCgoKSA9PiAocmVzcG9uc2VUeXBlID09PSAnanNvbicgPyAoe30pIDogJycpIGFzIFQpO1xuICB9XG5cbiAgcHVibGljIG5vZGVUeXBlVXJsKHR5cGU6IGFueSkge1xuICAgIHJldHVybiBub2RlVHlwZVVybCh0aGlzLmNvbW1vblNlcnZpY2UuYXBpQmFzZVVybCwgdHlwZSk7XG4gIH1cblxuICBwdWJsaWMgbm9kZVVybChub2RlOiBJSlNPTk5vZGUpIHtcbiAgICByZXR1cm4gbm9kZVVybCh0aGlzLmNvbW1vblNlcnZpY2UuYXBpQmFzZVVybCwgbm9kZSk7XG4gIH1cblxuICBwdWJsaWMgbm9kZUxvZ3NVcmwobm9kZTogSUpTT05Ob2RlKSB7XG4gICAgcmV0dXJuIG5vZGVMb2dzVXJsKHRoaXMuY29tbW9uU2VydmljZS5hcGlCYXNlVXJsLCBub2RlKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkb3dubG9hZExvb2t1cChmaWxlbmFtZTogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHVybCA9IGxvb2t1cFVybChmaWxlbmFtZSk7XG4gICAgICByZXR1cm4gdGhpcy5kb3dubG9hZFJhdzxzdHJpbmc+KHVybCwgJ3RleHQnKTtcbiAgICB9XG4gICAgY2F0Y2ggKF9lcnIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb29rdXBMaW5rKHRlcm1UeXBlOiBUZXJtVGVybVR5cGUpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuZG93bmxvYWRMb29rdXAodGVybVR5cGUpO1xuICAgICAgcmV0dXJuIGRhdGE/LnN0YXJ0c1dpdGgoJ3Rlcm0uaWQnKSA/IGxvb2t1cFVybCh0ZXJtVHlwZSkgOiBudWxsO1xuICAgIH1cbiAgICBjYXRjaCAoX2Vycikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -832,9 +832,9 @@ class HeNodeService {
832
832
  params: filterParams({ dataState })
833
833
  }).toPromise().catch(handleAPIError);
834
834
  }
835
- getModelsLog(_a) {
835
+ getErrorLog(_a) {
836
836
  var { dataState } = _a, node = __rest(_a, ["dataState"]);
837
- return this.http.get(`${this.nodeUrl(node)}/log/models`, {
837
+ return this.http.get(`${this.nodeUrl(node)}/log/error`, {
838
838
  headers: this.authService.headers,
839
839
  params: filterParams({ dataState })
840
840
  }).toPromise().catch(handleAPIError);
@@ -1384,6 +1384,9 @@ class LinkKeyValueComponent {
1384
1384
  this.baseUrl = baseUrl();
1385
1385
  this.toString = toString;
1386
1386
  }
1387
+ get isInlineBlock() {
1388
+ return this.isArray;
1389
+ }
1387
1390
  get type() {
1388
1391
  return this.node['@type'] || this.node.type;
1389
1392
  }
@@ -1404,7 +1407,7 @@ class LinkKeyValueComponent {
1404
1407
  }
1405
1408
  }
1406
1409
  LinkKeyValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LinkKeyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1407
- LinkKeyValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LinkKeyValueComponent, selector: "he-link-key-value", inputs: { node: "node", nodeType: "nodeType", dataKey: "dataKey", key: "key" }, ngImport: i0, template: "<ng-container *ngIf=\"!isUndefined\">\n <ng-container *bindOnce=\"node\">\n <a [href]=\"baseUrl + '/schema/' + type + '#' + key\" target=\"_blank\"><b>{{key}}</b></a>\n <span class=\"pr-2\">:</span>\n\n <ng-container *ngIf=\"isArray; else singleValue\">\n <div class=\"array-container pl-2\">\n <p *ngFor=\"let v of value\" [innerHtml]=\"toString(v) | precision:3\"></p>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #singleValue>\n <div class=\"is-inline-block pr-1\" [innerHtml]=\"valueString | precision:3\"></div>\n\n <he-blank-node-state\n [node]=\"node\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"\n ></he-blank-node-state>\n</ng-template>\n", styles: [":host{display:block}.array-container{max-height:100px;overflow-y:auto}\n"], components: [{ type: BlankNodeStateComponent, selector: "he-blank-node-state", inputs: ["nodeType", "dataKey", "key", "node", "state"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "precision": PrecisionPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1410
+ LinkKeyValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LinkKeyValueComponent, selector: "he-link-key-value", inputs: { node: "node", nodeType: "nodeType", dataKey: "dataKey", key: "key" }, host: { properties: { "class.is-inline-block": "this.isInlineBlock" } }, ngImport: i0, template: "<ng-container *ngIf=\"!isUndefined\">\n <ng-container *bindOnce=\"node\">\n <a [href]=\"baseUrl + '/schema/' + type + '#' + key\" target=\"_blank\"><b>{{key}}</b></a>\n <span class=\"pr-2\">:</span>\n\n <ng-container *ngIf=\"isArray; else singleValue\">\n <div class=\"array-container pl-2\">\n <p *ngFor=\"let v of value\" [innerHtml]=\"toString(v) | precision:3\"></p>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #singleValue>\n <div class=\"is-inline-block pr-1\" [innerHtml]=\"valueString | precision:3\"></div>\n\n <he-blank-node-state\n [node]=\"node\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"\n ></he-blank-node-state>\n</ng-template>\n", styles: [":host{display:block}.array-container{max-height:100px;overflow-y:auto}\n"], components: [{ type: BlankNodeStateComponent, selector: "he-blank-node-state", inputs: ["nodeType", "dataKey", "key", "node", "state"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "precision": PrecisionPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1408
1411
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LinkKeyValueComponent, decorators: [{
1409
1412
  type: Component$1,
1410
1413
  args: [{
@@ -1421,6 +1424,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1421
1424
  type: Input
1422
1425
  }], key: [{
1423
1426
  type: Input
1427
+ }], isInlineBlock: [{
1428
+ type: HostBinding,
1429
+ args: ['class.is-inline-block']
1424
1430
  }] } });
1425
1431
 
1426
1432
  const locationQuery = (bounds, searchField = 'location') => {
@@ -3415,10 +3421,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
3415
3421
  }]
3416
3422
  }] });
3417
3423
 
3418
- const orderBy$7 = require('lodash.orderby');
3424
+ const orderBy$6 = require('lodash.orderby');
3419
3425
  class SortByPipe {
3420
3426
  transform(value, keys, orders = ['asc']) {
3421
- return orderBy$7(value, keys, orders);
3427
+ return orderBy$6(value, keys, orders);
3422
3428
  }
3423
3429
  }
3424
3430
  SortByPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SortByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
@@ -4438,6 +4444,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
4438
4444
  type: Input
4439
4445
  }] } });
4440
4446
 
4447
+ const skipState = [
4448
+ NodeType.Term
4449
+ ];
4441
4450
  class NodeLinkComponent {
4442
4451
  constructor() {
4443
4452
  this.showExternalLink = false;
@@ -4451,7 +4460,7 @@ class NodeLinkComponent {
4451
4460
  this.node['@type'].toLowerCase(),
4452
4461
  this.id
4453
4462
  ].filter(Boolean).join('/');
4454
- return `${url}?dataState=${DataState.recalculated}`;
4463
+ return `${url}${skipState.includes(this.node['@type']) ? '' : `?dataState=${DataState.recalculated}`}`;
4455
4464
  }
4456
4465
  get showLink() {
4457
4466
  return this.node && linkTypeEnabled(this.node['@type']);
@@ -4527,7 +4536,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
4527
4536
 
4528
4537
  const get$3 = require('lodash.get');
4529
4538
  const set$1 = require('lodash.set');
4530
- const orderBy$6 = require('lodash.orderby');
4539
+ const orderBy$5 = require('lodash.orderby');
4531
4540
  const termTypes = Object.values(TermTermType);
4532
4541
  const blankNodeTypes = Object.values(SchemaType).filter(t => !isTypeNode(t));
4533
4542
  const schemaTypesLowerCase = Object.values(SchemaType).map(v => v.toLowerCase());
@@ -4568,6 +4577,7 @@ const groupLog = (group, _a) => {
4568
4577
  var { logger, term, model, key, should_run, run_required, property } = _a, log = __rest(_a, ["logger", "term", "model", "key", "should_run", "run_required", "property"]);
4569
4578
  const isOrchestrator = logger.includes('orchestrator');
4570
4579
  const isKey = !isOrchestrator && !!key;
4580
+ const isProperty = !isOrchestrator && !!property;
4571
4581
  const parentLogKey = [`["${term}"]`, !isOrchestrator && key || property].filter(Boolean).join('.');
4572
4582
  const logModelKey = [parentLogKey, model].filter(Boolean).join('.');
4573
4583
  set$1(group, `${parentLogKey}.models`, unique([
@@ -4575,6 +4585,7 @@ const groupLog = (group, _a) => {
4575
4585
  model
4576
4586
  ]));
4577
4587
  set$1(group, `${parentLogKey}.isKey`, isKey);
4588
+ set$1(group, `${parentLogKey}.isProperty`, isProperty);
4578
4589
  let data = get$3(group, logModelKey, {});
4579
4590
  data = includeBlankNodes(data, log);
4580
4591
  if (typeof should_run !== 'undefined') {
@@ -4623,7 +4634,7 @@ const groupLogSubValue = (group, log, key) => {
4623
4634
  const subValueKeys = [
4624
4635
  'transformation'
4625
4636
  ];
4626
- const groupLogsByModel = (data) => data.split('\n')
4637
+ const groupLogsByModel = (data) => data.trim().split('\n')
4627
4638
  .map(parseMessage)
4628
4639
  .filter(v => !!(v === null || v === void 0 ? void 0 : v.term) && (v === null || v === void 0 ? void 0 : v.term) !== 'None' && !!(v === null || v === void 0 ? void 0 : v.model))
4629
4640
  .reduce((group, log) => {
@@ -4634,13 +4645,13 @@ const groupLogsByModel = (data) => data.split('\n')
4634
4645
  groupLogSubValue(group, log, subValue) :
4635
4646
  groupLog(groupLogSubValue(group, log, subValue), log)
4636
4647
  : groupLog(group, log);
4637
- });
4648
+ }, {});
4638
4649
  const computeTerms = (originalValues, recalculatedValues, terms, filterTermTypes) => from((terms === null || terms === void 0 ? void 0 : terms.length) ?
4639
4650
  terms :
4640
4651
  [
4641
4652
  ...(originalValues || []).map(({ term }) => term),
4642
4653
  ...(recalculatedValues || []).map(({ term }) => term)
4643
- ].filter(node => !(filterTermTypes === null || filterTermTypes === void 0 ? void 0 : filterTermTypes.length) || filterTermTypes.includes(node.termType))).pipe(distinct(v => v['@id']), toArray(), map(v => orderBy$6(v, ['name'], ['asc']))).toPromise();
4654
+ ].filter(node => !(filterTermTypes === null || filterTermTypes === void 0 ? void 0 : filterTermTypes.length) || filterTermTypes.includes(node.termType))).pipe(distinct(v => v['@id']), toArray(), map(v => orderBy$5(v, ['name'], ['asc']))).toPromise();
4644
4655
  var LogStatus;
4645
4656
  (function (LogStatus) {
4646
4657
  LogStatus["success"] = "successful";
@@ -4720,24 +4731,38 @@ const logSubValue = (logs, key, prop) => logs[key][prop] ? (Array.isArray(logs[k
4720
4731
  { key: prop, id: logs[key][prop] }) : undefined;
4721
4732
  const logProperties = (nodes, models) => nodes.flatMap(node => (node.properties || []).map(({ term }) => term['@id'])).map(id => ({ key: 'property', id, configModels: findModels(models, id).map(({ model }) => model) }));
4722
4733
  const logSubValues = (allLogs, logs, original, recalculated, models, { nodeType, type, termId }) => unique([
4734
+ ...Object.keys(logs)
4735
+ .filter(id => logs[id].isProperty)
4736
+ .map(id => ({
4737
+ id,
4738
+ key: 'property',
4739
+ configModels: (logs[id].models || []).filter(v => hasLog(logs[id][v]))
4740
+ })),
4723
4741
  ...Object.keys(logs).flatMap(key => [
4724
4742
  logSubValue(logs, key, 'input'),
4725
4743
  logSubValue(logs, key, 'property')
4726
4744
  ]
4727
4745
  .flat()
4728
4746
  .filter(Boolean)
4729
- .map(v => (Object.assign(Object.assign({}, v), { configModels: [key] })))),
4747
+ .map(v => (Object.assign(Object.assign({}, v), { configModels: v.configModels || [key] })))),
4730
4748
  ...logProperties(original, models),
4731
4749
  ...logProperties(recalculated, models)
4732
4750
  ])
4733
- .map(v => {
4734
- const originalValue = blankNodeValue(original, v.key, v.id);
4735
- const recalculatedValue = blankNodeValue(recalculated, v.key, v.id);
4736
- return Object.assign(Object.assign({}, v), { configModels: v.configModels.map(configModelWithDocs(models, { nodeType, type, termId }, v)), originalValue,
4737
- recalculatedValue, isRecalculated: !isUndefined(recalculatedValue) && recalculatedValue !== originalValue, isRequired: true });
4751
+ .map(({ key, id, configModels }) => {
4752
+ const originalValue = blankNodeValue(original, key, id);
4753
+ const recalculatedValue = blankNodeValue(recalculated, key, id);
4754
+ return {
4755
+ key,
4756
+ id,
4757
+ configModels: configModels.map(configModelWithDocs(models, { nodeType, type, termId }, { key, id })),
4758
+ originalValue,
4759
+ recalculatedValue,
4760
+ isRecalculated: !isUndefined(recalculatedValue) && recalculatedValue !== originalValue,
4761
+ isRequired: true
4762
+ };
4738
4763
  })
4739
4764
  .filter(v => v.configModels.length > 0)
4740
- .map(dataWithConfigModelLogs(allLogs));
4765
+ .map(v => v.key === 'property' ? dataWithConfigModelLogs(logs)(v) : dataWithConfigModelLogs(allLogs)(v));
4741
4766
  // const hasKey = (blankNodes: blankNode[], key: string) => (blankNodes || []).some(n => key in n);
4742
4767
  const logKeys = (logs, original, recalculated, models, { nodeType, type, termId }) => Object.keys(logs)
4743
4768
  .filter(key => logs[key].isKey)
@@ -4881,12 +4906,11 @@ const modelCount = (blankNodeLogs) => Math.max.apply(Math.max, [
4881
4906
  0,
4882
4907
  ...blankNodeLogs.flatMap(v => [
4883
4908
  v.configModels.length,
4884
- ...v.subValues.map(s => { var _a, _b; return (_b = (_a = s.configModels) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0; }),
4885
- v.keys.length ? 1 : 0
4909
+ ...(v.subValues.map(s => { var _a; return ((_a = s.configModels) === null || _a === void 0 ? void 0 : _a.length) || 0; })),
4910
+ ...(v.keys.map(s => { var _a; return ((_a = s.configModels) === null || _a === void 0 ? void 0 : _a.length) || 0; }))
4886
4911
  ])
4887
4912
  ]);
4888
4913
 
4889
- const orderBy$5 = require('lodash.orderby');
4890
4914
  const nodeTypesLowerCase = Object.values(NodeType).map(v => v.toLowerCase());
4891
4915
  const logIcon = {
4892
4916
  [LogStatus.success]: 'check',
@@ -4942,8 +4966,9 @@ class NodeLogsModelsComponent {
4942
4966
  ngOnInit() {
4943
4967
  return __awaiter(this, void 0, void 0, function* () {
4944
4968
  this.logsUrl = this.nodeService.nodeLogsUrl(this.node);
4945
- const logsString = yield this.nodeService.getLog(this.node).toPromise();
4946
- const groupedLogs = groupLogsByModel(logsString);
4969
+ // save as local variable to avoid "reserved yield keyword" issue
4970
+ this.logs = yield this.getLogs();
4971
+ const groupedLogs = groupLogsByModel(this.logs);
4947
4972
  const logs = this.logsKey ? groupedLogs[this.logsKey] : groupedLogs;
4948
4973
  const nodeType = this.node['@type'] || this.node.type;
4949
4974
  const config = yield this.engineService.ochestratorConfig(nodeType);
@@ -4970,6 +4995,9 @@ class NodeLogsModelsComponent {
4970
4995
  this.loading = false;
4971
4996
  });
4972
4997
  }
4998
+ getLogs() {
4999
+ return this.nodeService.getLog(this.node).toPromise();
5000
+ }
4973
5001
  suggestByTerm(term) {
4974
5002
  return from(this.allTerms).pipe(map(v => v.name), filter(v => v.toLowerCase().includes(term.toLowerCase())), toArray());
4975
5003
  }
@@ -5066,16 +5094,20 @@ class NodeValueDetailsComponent {
5066
5094
  this.additionalKeys = additionalKeys;
5067
5095
  this.tableKeys = tableKeys;
5068
5096
  }
5097
+ ngOnInit() {
5098
+ this.tableKeys = tableKeys.filter(key => { var _a; return (((_a = this.data) === null || _a === void 0 ? void 0 : _a.nodes) || []).some(node => key in node); });
5099
+ }
5069
5100
  get type() {
5070
5101
  var _a;
5071
5102
  return (_a = this.data) === null || _a === void 0 ? void 0 : _a.nodes[0]['@type'];
5072
5103
  }
5073
- ngOnInit() {
5074
- this.tableKeys = tableKeys.filter(key => { var _a; return (((_a = this.data) === null || _a === void 0 ? void 0 : _a.nodes) || []).some(node => key in node); });
5104
+ get showInline() {
5105
+ var _a, _b;
5106
+ return ((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.nodes) === null || _b === void 0 ? void 0 : _b.length) === 1;
5075
5107
  }
5076
5108
  }
5077
5109
  NodeValueDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: NodeValueDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5078
- NodeValueDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: NodeValueDetailsComponent, selector: "he-node-value-details", inputs: { data: "data", nodeType: "nodeType", dataKey: "dataKey" }, ngImport: i0, template: "<ng-container *bindOnce=\"data\">\n <ng-container *ngIf=\"data?.nodes?.length === 1; else showTable\">\n <ng-container *ngFor=\"let key of keys\">\n <he-link-key-value [node]=\"data!.nodes[0]\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"></he-link-key-value>\n </ng-container>\n <ng-container *ngFor=\"let key of additionalKeys\">\n <he-link-key-value [node]=\"data!.nodes[0]\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"></he-link-key-value>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #showTable>\n <he-link-key-value [node]=\"data!.nodes[0]\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" key=\"term\"></he-link-key-value>\n\n <div class=\"table-container mt-2\">\n <table class=\"table is-narrow\">\n <thead>\n <th *ngFor=\"let key of tableKeys\">\n <a [href]=\"baseUrl + '/schema/' + type + '#' + key\" target=\"_blank\"><b>{{key}}</b></a>\n </th>\n </thead>\n <tbody>\n <tr *ngFor=\"let node of data!.nodes\">\n <td *ngFor=\"let key of tableKeys\">\n <he-link-key-value [node]=\"node\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"></he-link-key-value>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n", styles: ["table{background-color:transparent;color:#fff}table::ng-deep he-link-key-value>a:first-child,table::ng-deep he-link-key-value>a:first-child+span{display:none}\n"], components: [{ type: LinkKeyValueComponent, selector: "he-link-key-value", inputs: ["node", "nodeType", "dataKey", "key"] }], directives: [{ type: BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5110
+ NodeValueDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: NodeValueDetailsComponent, selector: "he-node-value-details", inputs: { data: "data", nodeType: "nodeType", dataKey: "dataKey" }, ngImport: i0, template: "<ng-container *bindOnce=\"data\">\n <ng-container *ngIf=\"showInline; else asTable\">\n <ng-container *ngFor=\"let key of keys\">\n <he-link-key-value [node]=\"data!.nodes[0]\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"></he-link-key-value>\n </ng-container>\n <ng-container *ngFor=\"let key of additionalKeys\">\n <he-link-key-value [node]=\"data!.nodes[0]\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"></he-link-key-value>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #asTable>\n <he-link-key-value [node]=\"data!.nodes[0]\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" key=\"term\"></he-link-key-value>\n\n <div class=\"table-container mt-2\">\n <table class=\"table is-narrow\">\n <thead>\n <th *ngFor=\"let key of tableKeys\">\n <a [href]=\"baseUrl + '/schema/' + type + '#' + key\" target=\"_blank\"><b>{{key}}</b></a>\n </th>\n </thead>\n <tbody>\n <tr *ngFor=\"let node of data!.nodes\">\n <td *ngFor=\"let key of tableKeys\">\n <he-link-key-value [node]=\"node\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"></he-link-key-value>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n", styles: ["table{background-color:transparent;color:#fff}table::ng-deep he-link-key-value>a:first-child,table::ng-deep he-link-key-value>a:first-child+span{display:none}\n"], components: [{ type: LinkKeyValueComponent, selector: "he-link-key-value", inputs: ["node", "nodeType", "dataKey", "key"] }], directives: [{ type: BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5079
5111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: NodeValueDetailsComponent, decorators: [{
5080
5112
  type: Component$1,
5081
5113
  args: [{
@@ -6046,7 +6078,7 @@ const parseDataPath = (dataPath = '') => {
6046
6078
  const contactUsEmail = 'community@hestia.earth';
6047
6079
  const externalLink = (href, text) => `<a href="${href}" target="_blank">${text}</a>`;
6048
6080
  const glossaryLink = (text) => externalLink(`${baseUrl()}/glossary`, text);
6049
- const glossaryTypeLink = (type) => externalLink(`${baseUrl()}/glossary?termType=${type}`, termTypeLabel(type));
6081
+ const glossaryTypeLink = (type, text = termTypeLabel(type)) => externalLink(`${baseUrl()}/glossary?termType=${type}`, text);
6050
6082
  const termLink = ({ id, name }) => externalLink(`${baseUrl()}/term/${id}`, name);
6051
6083
  const nodeLink = ({ '@type': type, '@id': id, name }) => type && id ? `<a href="/${type.toLowerCase()}/${id}" target="_blank">${name || id}</a>` : null;
6052
6084
  const schemaLink = (type, title = type) => `<a href="${baseUrl()}/schema/${type}" target="_blank">${title}</a>`;
@@ -6242,7 +6274,9 @@ const customErrorMessage = {
6242
6274
  'must be less than or equal to land occupation': () => `Land transformation should be less than or equal to land occupation
6243
6275
  (land transformation is the amount of land converted between some date in the past and the current year,
6244
6276
  divided by an amortization period, so it should always be less than land occupation by definition).`,
6245
- 'should be linked to an emission in the Cycle': ({ params }, errorCount) => `${errorCount === 1 ? `${code(params === null || params === void 0 ? void 0 : params.term.name)} exists` : 'Some Emissions exist'} in both the Cycle and the Transformation but ${errorCount === 1 ? 'it is' : 'they are'} not linked using ${code('cycle.emissions.X.transformation.term')}. This may be an error.`
6277
+ 'should be linked to an emission in the Cycle': ({ params }, errorCount) => `${errorCount === 1 ? `${code(params === null || params === void 0 ? void 0 : params.term.name)} exists` : 'Some Emissions exist'} in both the Cycle and the Transformation but ${errorCount === 1 ? 'it is' : 'they are'} not linked using ${code('cycle.emissions.X.transformation.term')}. This may be an error.`,
6278
+ 'should add an animal production system': () => `For animal production cycles, we recommend specifying the animal production ${glossaryTypeLink(TermTermType.system)} as a Practice.
6279
+ You can find a list of systems in the ${glossaryTypeLink(TermTermType.system, 'Glossary')}.`
6246
6280
  };
6247
6281
  const formatCustomErrorMessage = (message, error, errorCount = 1) => {
6248
6282
  const formattedMessage = message && message in customErrorMessage ?
@@ -8243,5 +8277,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
8243
8277
  * Generated bundle index. Do not edit.
8244
8278
  */
8245
8279
 
8246
- export { ARRAY_DELIMITER, BibliographiesSearchConfirmComponent, BindOnceDirective, BlankNodeStateComponent, BlankNodeStateNoticeComponent, BlankNodeValueDeltaComponent, ClickOutsideDirective, ClipboardComponent, CyclesActivityComponent, CyclesActivityLogsComponent, CyclesCompletenessComponent, CyclesEmissionsChartComponent, CyclesEmissionsComponent, CyclesEmissionsLogsComponent, CyclesFunctionalUnitMeasureComponent, CyclesPracticesComponent, CyclesPracticesLogsComponent, CyclesPracticesTimelineComponent, CyclesResultComponent, DataTableComponent, DefaultPipe, DeltaColour, DiffsDisplayType, EllipsisPipe, EngineOrchestratorEditComponent, EngineRequirementsFormComponent, FilesFormComponent, GetPipe, HE_API_BASE_URL, HE_CALCULATIONS_BASE_URL, HE_ORCHESTRATOR_BASE_URL, HeAggregationEngineService, HeAuthService, HeBibliographiesModule, HeCommonLightModule, HeCommonModule, HeCommonService, HeCyclesModule, HeEngineModule, HeEngineService, HeFilesModule, HeFontawesomeModule, HeImpactAssessmentsModule, HeMendeleyService, HeNodeCsvService, HeNodeModule, HeNodeService, HeSchemaService, HeSearchModule, HeSearchService, HeSitesModule, HeToastService, HeUsersService, ImpactAssessmentsIndicatorBreakdownChartComponent, ImpactAssessmentsIndicatorsChartComponent, ImpactAssessmentsProductsComponent, ImpactAssessmentsProductsLogsComponent, IsArrayPipe, IssueConfirmComponent, KeyToLabelPipe, KeysPipe, Level, LinkKeyValueComponent, MAX_RESULTS, MapsDrawingConfirmComponent, MendeleySearchResult, NodeCsvExportConfirmComponent, NodeCsvSelectHeadersComponent, NodeDiffsComponent, NodeIconComponent, NodeLinkComponent, NodeLogsFileComponent, NodeLogsModelsComponent, NodeMissingLookupFactorsComponent, NodeRecommendationsComponent, NodeValueDetailsComponent, PluralizePipe, PopoverComponent, PopoverConfirmComponent, PrecisionPipe, Repository, SchemaVersionLinkComponent, SitesMapsComponent, SitesMeasurementsComponent, SitesMeasurementsLogsComponent, SkeletonTextComponent, SocialTagsComponent, SortByPipe, TagsInputDirective, Template, TimesPipe, ToastComponent, UnitConverterComponent, addPolygonToFeature, allCountriesQuery, arrayValue, availableProperties, baseUrl, bottom, buildSummary, calculateCycleDuration, calculateCycleDurationEnabled, calculateCycleStartDate, calculateCycleStartDateEnabled, clustererImage, code, coordinatesToPoint, copyObject, countriesQuery, createMarker, cropsQuery, dataPathToKey, defaultFeature, defaultLabel, defaultSuggestionType, definitionToSchemaType, deserializeSearchFilters, ellipsis, engineGitUrl, errorHasError, errorHasWarning, errorText, evaluateSuccess, filenameWithoutExt, fillColor, fillStyle, filterError, filterParams, findConfigModels, findMatchingModel, findModels, findProperty, findPropertyById, formatCustomErrorMessage, formatError, formatPropertyError, gitBranch, gitHome, gitRawBaseUrl, groupChanged, handleAPIError, hasError, hasWarning, isAddPropertyEnabled, isChrome, isEqual, isExternal, isMissingOneOfError, isMissingPropertyError, isSchemaIri, isScrolledBelow, itemColor, keyToDataPath, levels, linkTypeEnabled, listColor, locationQuery, logsKey, lookupUrl, lookups, mapsUrl, markerIcon, markerPie, matchAggregatedQuery, matchBoolPrefixQuery, matchCountry, matchExactQuery, matchGlobalRegion, matchNameNormalized, matchNestedKey, matchPhrasePrefixQuery, matchPhraseQuery, matchQuery, matchRegex, matchRegion, matchTermType, matchType, maxAreaSize, measurementValue, missingNodeErrorMessage, missingNodeErrors, modelKeyParams, modelParams, multiMatchQuery, nestedProperty, nestingEnabled, nestingTypeEnabled, nodeAvailableProperties, nodeLink, nodeLogsUrl, nodeUrl, numberGte, parentKey, parentProperty, parseData, parseDataPath, parseLines, parseMessage$1 as parseMessage, parseNewValue, pathToApiDocsPath, pointToCoordinates, polygonBounds, polygonToCoordinates, polygonsFromFeature, primaryProduct, propertyError, propertyId, recursiveProperties, refToSchemaType, refreshPropertyKeys, regionsQuery, repeat, safeJSONParse, safeJSONStringify, schemaRequiredProperties, schemaTypeToDefaultValue, scrollToEl, scrollTop, searchQuery, searchResultsFields, searchableTypes, serializeSearchFilters, siblingProperty, singleProperty, siteTooBig, sortOrder, sortProperties, strokeColor, strokeStyle, suggestMatchQuery, suggestQuery, termChildToParent, termLocation, termLocationName, termProperties, termTypeGroups, termTypeLabel, termTypeLookupUrl, toCsv$1 as toCsv, typeToNewProperty, updateProperties, valueTypeToDefault, waitFor, wildcardQuery, worldRegion };
8280
+ export { ARRAY_DELIMITER, BibliographiesSearchConfirmComponent, BindOnceDirective, BlankNodeStateComponent, BlankNodeStateNoticeComponent, BlankNodeValueDeltaComponent, ClickOutsideDirective, ClipboardComponent, CyclesActivityComponent, CyclesActivityLogsComponent, CyclesCompletenessComponent, CyclesEmissionsChartComponent, CyclesEmissionsComponent, CyclesEmissionsLogsComponent, CyclesFunctionalUnitMeasureComponent, CyclesPracticesComponent, CyclesPracticesLogsComponent, CyclesPracticesTimelineComponent, CyclesResultComponent, DataTableComponent, DefaultPipe, DeltaColour, DiffsDisplayType, EllipsisPipe, EngineOrchestratorEditComponent, EngineRequirementsFormComponent, FilesFormComponent, GetPipe, HE_API_BASE_URL, HE_CALCULATIONS_BASE_URL, HE_ORCHESTRATOR_BASE_URL, HeAggregationEngineService, HeAuthService, HeBibliographiesModule, HeCommonLightModule, HeCommonModule, HeCommonService, HeCyclesModule, HeEngineModule, HeEngineService, HeFilesModule, HeFontawesomeModule, HeImpactAssessmentsModule, HeMendeleyService, HeNodeCsvService, HeNodeModule, HeNodeService, HeSchemaService, HeSearchModule, HeSearchService, HeSitesModule, HeToastService, HeUsersService, ImpactAssessmentsIndicatorBreakdownChartComponent, ImpactAssessmentsIndicatorsChartComponent, ImpactAssessmentsProductsComponent, ImpactAssessmentsProductsLogsComponent, IsArrayPipe, IssueConfirmComponent, KeyToLabelPipe, KeysPipe, Level, LinkKeyValueComponent, LogStatus, MAX_RESULTS, MapsDrawingConfirmComponent, MendeleySearchResult, NodeCsvExportConfirmComponent, NodeCsvSelectHeadersComponent, NodeDiffsComponent, NodeIconComponent, NodeLinkComponent, NodeLogsFileComponent, NodeLogsModelsComponent, NodeMissingLookupFactorsComponent, NodeRecommendationsComponent, NodeValueDetailsComponent, PluralizePipe, PopoverComponent, PopoverConfirmComponent, PrecisionPipe, Repository, SchemaVersionLinkComponent, SitesMapsComponent, SitesMeasurementsComponent, SitesMeasurementsLogsComponent, SkeletonTextComponent, SocialTagsComponent, SortByPipe, TagsInputDirective, Template, TimesPipe, ToastComponent, UnitConverterComponent, addPolygonToFeature, allCountriesQuery, arrayValue, availableProperties, baseUrl, bottom, buildSummary, calculateCycleDuration, calculateCycleDurationEnabled, calculateCycleStartDate, calculateCycleStartDateEnabled, clustererImage, code, computeTerms, coordinatesToPoint, copyObject, countriesQuery, createMarker, cropsQuery, dataPathToKey, defaultFeature, defaultLabel, defaultSuggestionType, definitionToSchemaType, deserializeSearchFilters, ellipsis, engineGitUrl, errorHasError, errorHasWarning, errorText, evaluateSuccess, filenameWithoutExt, fillColor, fillStyle, filterError, filterParams, findConfigModels, findMatchingModel, findModels, findProperty, findPropertyById, formatCustomErrorMessage, formatError, formatPropertyError, gitBranch, gitHome, gitRawBaseUrl, groupChanged, groupLogsByModel, groupLogsByTerm, handleAPIError, hasError, hasWarning, isAddPropertyEnabled, isChrome, isEqual, isExternal, isMissingOneOfError, isMissingPropertyError, isSchemaIri, isScrolledBelow, itemColor, keyToDataPath, levels, linkTypeEnabled, listColor, locationQuery, logsKey, lookupUrl, lookups, mapsUrl, markerIcon, markerPie, matchAggregatedQuery, matchBoolPrefixQuery, matchCountry, matchExactQuery, matchGlobalRegion, matchNameNormalized, matchNestedKey, matchPhrasePrefixQuery, matchPhraseQuery, matchQuery, matchRegex, matchRegion, matchTermType, matchType, maxAreaSize, measurementValue, missingNodeErrorMessage, missingNodeErrors, modelCount, modelKeyParams, modelParams, multiMatchQuery, nestedProperty, nestingEnabled, nestingTypeEnabled, nodeAvailableProperties, nodeLink, nodeLogsUrl, nodeUrl, numberGte, parentKey, parentProperty, parseData, parseDataPath, parseLines, parseMessage$1 as parseMessage, parseNewValue, pathToApiDocsPath, pointToCoordinates, polygonBounds, polygonToCoordinates, polygonsFromFeature, primaryProduct, propertyError, propertyId, recursiveProperties, refToSchemaType, refreshPropertyKeys, regionsQuery, repeat, safeJSONParse, safeJSONStringify, schemaRequiredProperties, schemaTypeToDefaultValue, scrollToEl, scrollTop, searchQuery, searchResultsFields, searchableTypes, serializeSearchFilters, siblingProperty, singleProperty, siteTooBig, sortOrder, sortProperties, strokeColor, strokeStyle, suggestMatchQuery, suggestQuery, termChildToParent, termLocation, termLocationName, termProperties, termTypeGroups, termTypeLabel, termTypeLookupUrl, toCsv$1 as toCsv, typeToNewProperty, updateProperties, valueTypeToDefault, waitFor, wildcardQuery, worldRegion };
8247
8281
  //# sourceMappingURL=hestia-earth-ui-components.js.map