@hestia-earth/ui-components 0.31.14 → 0.31.16
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/common/logs-utils.d.ts +10 -3
- package/fesm2022/hestia-earth-ui-components.mjs +56 -7
- package/fesm2022/hestia-earth-ui-components.mjs.map +1 -1
- package/files/files-error-summary/files-error-summary.component.d.ts +5 -1
- package/input-range.sass +179 -0
- package/node/index.d.ts +1 -0
- package/node/node-logs-time/node-logs-time.component.d.ts +24 -0
- package/package.json +1 -1
- package/schema/schema.service.d.ts +3 -3
- package/styles.scss +1 -0
package/common/logs-utils.d.ts
CHANGED
|
@@ -5,13 +5,20 @@ export declare enum Level {
|
|
|
5
5
|
error = "ERROR"
|
|
6
6
|
}
|
|
7
7
|
export declare const levels: Level[];
|
|
8
|
+
interface ILineData {
|
|
9
|
+
timestamp: string;
|
|
10
|
+
logger: string;
|
|
11
|
+
message: string;
|
|
12
|
+
level: Level;
|
|
13
|
+
}
|
|
8
14
|
export interface ILine {
|
|
9
15
|
code: string;
|
|
10
|
-
data:
|
|
16
|
+
data: ILineData;
|
|
11
17
|
class: string;
|
|
12
18
|
level: Level;
|
|
13
19
|
}
|
|
14
20
|
export declare const parseData: (data: any) => ILine;
|
|
15
|
-
export declare const parseLines: (text: any) => ILine[];
|
|
16
|
-
export declare const parseMessage: (message?: string) =>
|
|
21
|
+
export declare const parseLines: <T>(text: any) => ILine[];
|
|
22
|
+
export declare const parseMessage: <T>(message?: string) => T;
|
|
17
23
|
export declare const logToCsv: (lines: ILine[]) => string;
|
|
24
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, InjectionToken, inject, model, computed, output, signal, effect, ChangeDetectionStrategy, Component as Component$1, NgZone, ElementRef, Input, Directive, input, Pipe, viewChild, HostBinding, ViewEncapsulation, HostListener, EventEmitter as EventEmitter$1, Output, ContentChild, DestroyRef, NgModule, ViewChild, viewChildren, ChangeDetectorRef, forwardRef, ContentChildren } from '@angular/core';
|
|
3
|
-
import { toSignal, toObservable, outputFromObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { toSignal, toObservable, outputFromObservable, takeUntilDestroyed, rxResource } from '@angular/core/rxjs-interop';
|
|
4
4
|
import * as i1 from '@angular/forms';
|
|
5
5
|
import { UntypedFormBuilder, Validators, FormsModule, ReactiveFormsModule, NG_VALUE_ACCESSOR, FormControl } from '@angular/forms';
|
|
6
6
|
import { NgTemplateOutlet, NgClass, DecimalPipe, KeyValuePipe, CommonModule, DatePipe, JsonPipe, AsyncPipe, NgSwitch, NgSwitchCase, NgIf, NgFor, SlicePipe } from '@angular/common';
|
|
@@ -15,7 +15,7 @@ import get from 'lodash.get';
|
|
|
15
15
|
import { SCHEMA_VERSION, SchemaType, NodeType, TermTermType, productTermTermType, nestedSearchableKeys, EmissionMethodTier, isExpandable, sortKeysByType, isTypeNode, BlankNodesKey, impactAssessmentTermTermType, measurementTermTermType, emissionTermTermType, inputTermTermType, CycleFunctionalUnit, NonBlankNodesKey, jsonldPath, SiteSiteType, isTypeValid, typeToSchemaType, managementTermTermType } from '@hestia-earth/schema';
|
|
16
16
|
import merge from 'lodash.merge';
|
|
17
17
|
import Chart, { Chart as Chart$1 } from 'chart.js';
|
|
18
|
-
import { toPrecision, isEmpty, unique, monthsBefore, toDashCase, isUndefined, toComma, isNumber, keyToLabel, isEqual as isEqual$2, diffInDays } from '@hestia-earth/utils';
|
|
18
|
+
import { toPrecision, isEmpty, unique, monthsBefore, toDashCase, isUndefined, toComma, isNumber, keyToLabel, isEqual as isEqual$2, sum, diffInDays } from '@hestia-earth/utils';
|
|
19
19
|
import Gradient from 'javascript-color-gradient';
|
|
20
20
|
import { ShadeGenerator } from 'shade-generator/dist/shadeGenerator';
|
|
21
21
|
import { select, selectAll } from 'd3-selection';
|
|
@@ -7581,6 +7581,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
|
|
|
7581
7581
|
args: [{ selector: 'he-node-logs-file', changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, NgbTooltip, FaIconComponent, ClipboardComponent, KeyValuePipe], template: "<div class=\"is-relative\">\n <div class=\"copy-clipboard\">\n <div class=\"field has-addons\">\n @if (showFilters()) {\n <div class=\"control\">\n <input\n class=\"input is-secondary is-small\"\n [ngModel]=\"modelFilter()\"\n id=\"modelFilter\"\n (input)=\"modelFilter.set($event.target.value)\"\n placeholder=\"Filter by Method / Model\" />\n </div>\n <div class=\"control\">\n <input\n class=\"input is-secondary is-small\"\n [ngModel]=\"termFilter()\"\n id=\"termFilter\"\n (input)=\"termFilter.set($event.target.value)\"\n placeholder=\"Filter by Term\" />\n </div>\n <div class=\"control\">\n <div class=\"select is-secondary is-small\">\n <select [ngModel]=\"selectedLevel()\" (change)=\"selectedLevel.set($event.target.value)\" id=\"selectedLevel\">\n @for (level of Level | keyvalue; track level) {\n <option [value]=\"level.value\">{{ level.value }}</option>\n }\n </select>\n </div>\n </div>\n }\n <div class=\"control\">\n <button\n class=\"button is-small\"\n (click)=\"showFilters.set(!showFilters())\"\n [ngbTooltip]=\"showFilters() ? 'Hide filters' : 'Show filters'\"\n placement=\"bottom\"\n container=\"body\">\n <fa-icon [icon]=\"faFilter\" />\n </button>\n </div>\n <div class=\"control\">\n <he-clipboard\n clipboardClass=\"button is-secondary is-small\"\n [value]=\"nodeLog()\"\n [hideText]=\"true\"\n [icon]=\"farClone\"\n size=\"lg\"\n rotate=\"180\"></he-clipboard>\n </div>\n <div class=\"control\">\n <a class=\"button is-info is-small\" target=\"_blank\" [href]=\"csvContent()\" [download]=\"csvFilename()\">\n <fa-icon [icon]=\"faDownload\" />\n </a>\n </div>\n </div>\n </div>\n\n <pre class=\"pl-3 pt-3 ml-3\">\n @for (line of nodeLogLines(); track line) {\n <code class=\"is-block {{line.class}}\">{{line.data.timestamp}} {{('[' + line.data.level + ']:').padEnd(9, ' ')}} {{line.data.message}}</code>\n }\n </pre>\n</div>\n", styles: [":host{display:block}pre{background-color:inherit;color:inherit;min-height:38px;max-height:500px;font-size:0}pre>code{font-size:.875rem;line-height:20px}\n"] }]
|
|
7582
7582
|
}] });
|
|
7583
7583
|
|
|
7584
|
+
class NodeLogsTimeComponent {
|
|
7585
|
+
constructor() {
|
|
7586
|
+
this.nodeService = inject(HeNodeService);
|
|
7587
|
+
this.node = input.required();
|
|
7588
|
+
this.showMemoryUsage = input(true);
|
|
7589
|
+
this.nodeLogsResource = rxResource({
|
|
7590
|
+
request: () => ({ node: this.node() }),
|
|
7591
|
+
loader: ({ request: { node } }) => this.nodeService.getLog$({
|
|
7592
|
+
...node,
|
|
7593
|
+
dataState: DataState.recalculated
|
|
7594
|
+
})
|
|
7595
|
+
});
|
|
7596
|
+
this.logs = computed(() => this.nodeLogsResource.isLoading()
|
|
7597
|
+
? []
|
|
7598
|
+
: parseLines(this.nodeLogsResource.value())
|
|
7599
|
+
.filter(({ data }) => data.message.includes('memory_used'))
|
|
7600
|
+
.map(({ data }) => parseMessage$1(data.message))
|
|
7601
|
+
.map(data => ({
|
|
7602
|
+
...data,
|
|
7603
|
+
time: +data.time
|
|
7604
|
+
})));
|
|
7605
|
+
this.totalTime = computed(() => Math.round(sum(this.logs().map(log => +log.time)) / 1000));
|
|
7606
|
+
this.sorting = {
|
|
7607
|
+
sortBy: 'time',
|
|
7608
|
+
sortOrder: 'desc'
|
|
7609
|
+
};
|
|
7610
|
+
}
|
|
7611
|
+
toggleSort(sortBy) {
|
|
7612
|
+
const sortOrder = this.sorting.sortOrder === 'asc' ? 'desc' : 'asc';
|
|
7613
|
+
this.sorting.sortBy = sortBy;
|
|
7614
|
+
this.sorting.sortOrder = sortOrder;
|
|
7615
|
+
}
|
|
7616
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: NodeLogsTimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7617
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: NodeLogsTimeComponent, isStandalone: true, selector: "he-node-logs-time", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null }, showMemoryUsage: { classPropertyName: "showMemoryUsage", publicName: "showMemoryUsage", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"table-container data-table-container\">\n <table class=\"table is-fullwidth\">\n <thead>\n <tr>\n <th>\n <div class=\"is-nowrap\">\n <span>Model ID</span>\n <ng-container *ngTemplateOutlet=\"sortColumn; context: { column: 'model_id' }\" />\n </div>\n </th>\n <th>\n <div class=\"is-nowrap\">\n <span>Model Value</span>\n <ng-container *ngTemplateOutlet=\"sortColumn; context: { column: 'model_value' }\" />\n </div>\n </th>\n <th>\n <div class=\"is-nowrap\">\n <span>Time (ms)</span>\n <span class=\"has-text-secondary\" [ngbTooltip]=\"'Total calculation time: ' + totalTime() + 's'\">\n <svg-icon name=\"far-question-circle\" />\n </span>\n <ng-container *ngTemplateOutlet=\"sortColumn; context: { column: 'time' }\" />\n </div>\n </th>\n @if (showMemoryUsage()) {\n <th>\n <div class=\"is-nowrap\">\n <span>Memory Usage (MB)</span>\n <ng-container *ngTemplateOutlet=\"sortColumn; context: { column: 'memory_used' }\" />\n </div>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (nodeLogsResource.isLoading()) {\n <tr>\n <td colspan=\"4\">\n <he-skeleton-text [width]=\"70\" />\n </td>\n </tr>\n <tr>\n <td colspan=\"4\">\n <he-skeleton-text [width]=\"70\" />\n </td>\n </tr>\n }\n @for (log of logs() | sortBy: sorting.sortBy : sorting.sortOrder; track logIndex; let logIndex = $index) {\n <tr>\n <td>\n <span class=\"ellipsis\">{{ log.model_model }}</span>\n </td>\n <td>\n <span class=\"ellipsis\">{{ log.model_value }}</span>\n </td>\n <td>\n <span>{{ +log.time | number: '1.0-2' }}</span>\n </td>\n @if (showMemoryUsage()) {\n <td>\n <span>{{ log.memory_used }}</span>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n</div>\n\n<ng-template #sortColumn let-column=\"column\">\n <a class=\"is-p-1\" (click)=\"toggleSort(column)\">\n @if (sorting.sortBy === column) {\n @if (sorting.sortOrder === 'asc') {\n <svg-icon name=\"sort-up\" />\n } @else {\n <svg-icon name=\"sort-down\" />\n }\n } @else {\n <svg-icon name=\"sort\" />\n }\n </a>\n</ng-template>\n", styles: ["span{word-break:break-all}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "component", type: SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "svgClass", "class", "viewBox", "svgAriaLabel", "onSVGLoaded", "svgStyle"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: SortByPipe, name: "sortBy" }, { kind: "component", type: SkeletonTextComponent, selector: "he-skeleton-text", inputs: ["animated", "width", "height"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7618
|
+
}
|
|
7619
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: NodeLogsTimeComponent, decorators: [{
|
|
7620
|
+
type: Component$1,
|
|
7621
|
+
args: [{ selector: 'he-node-logs-time', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, DecimalPipe, SvgIconComponent, NgbTooltip, SortByPipe, SkeletonTextComponent], template: "<div class=\"table-container data-table-container\">\n <table class=\"table is-fullwidth\">\n <thead>\n <tr>\n <th>\n <div class=\"is-nowrap\">\n <span>Model ID</span>\n <ng-container *ngTemplateOutlet=\"sortColumn; context: { column: 'model_id' }\" />\n </div>\n </th>\n <th>\n <div class=\"is-nowrap\">\n <span>Model Value</span>\n <ng-container *ngTemplateOutlet=\"sortColumn; context: { column: 'model_value' }\" />\n </div>\n </th>\n <th>\n <div class=\"is-nowrap\">\n <span>Time (ms)</span>\n <span class=\"has-text-secondary\" [ngbTooltip]=\"'Total calculation time: ' + totalTime() + 's'\">\n <svg-icon name=\"far-question-circle\" />\n </span>\n <ng-container *ngTemplateOutlet=\"sortColumn; context: { column: 'time' }\" />\n </div>\n </th>\n @if (showMemoryUsage()) {\n <th>\n <div class=\"is-nowrap\">\n <span>Memory Usage (MB)</span>\n <ng-container *ngTemplateOutlet=\"sortColumn; context: { column: 'memory_used' }\" />\n </div>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (nodeLogsResource.isLoading()) {\n <tr>\n <td colspan=\"4\">\n <he-skeleton-text [width]=\"70\" />\n </td>\n </tr>\n <tr>\n <td colspan=\"4\">\n <he-skeleton-text [width]=\"70\" />\n </td>\n </tr>\n }\n @for (log of logs() | sortBy: sorting.sortBy : sorting.sortOrder; track logIndex; let logIndex = $index) {\n <tr>\n <td>\n <span class=\"ellipsis\">{{ log.model_model }}</span>\n </td>\n <td>\n <span class=\"ellipsis\">{{ log.model_value }}</span>\n </td>\n <td>\n <span>{{ +log.time | number: '1.0-2' }}</span>\n </td>\n @if (showMemoryUsage()) {\n <td>\n <span>{{ log.memory_used }}</span>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n</div>\n\n<ng-template #sortColumn let-column=\"column\">\n <a class=\"is-p-1\" (click)=\"toggleSort(column)\">\n @if (sorting.sortBy === column) {\n @if (sorting.sortOrder === 'asc') {\n <svg-icon name=\"sort-up\" />\n } @else {\n <svg-icon name=\"sort-down\" />\n }\n } @else {\n <svg-icon name=\"sort\" />\n }\n </a>\n</ng-template>\n", styles: ["span{word-break:break-all}\n"] }]
|
|
7622
|
+
}] });
|
|
7623
|
+
|
|
7584
7624
|
class NodeMissingLookupFactorsComponent {
|
|
7585
7625
|
constructor() {
|
|
7586
7626
|
this.nodeService = inject(HeNodeService);
|
|
@@ -7999,7 +8039,7 @@ const dataPathLabel = (dataPath = '') => parseDataPath(dataPath)
|
|
|
7999
8039
|
.pop()?.label;
|
|
8000
8040
|
const glossaryTypeLink = (type, text = termTypeLabel(type)) => externalLink(`${glossaryBaseUrl()}?termType=${type}`, text);
|
|
8001
8041
|
const termLink = ({ id, name }) => externalLink(`${baseUrl()}/term/${id}`, name || id);
|
|
8002
|
-
const dateFormatMessage = `
|
|
8042
|
+
const dateFormatMessage = `Should follow the ISO 8601 date format, e.g. ${code(2000)}, or ${code('2000-12')}, or ${code('2000-12-30')}, and in some cases an optional time. Please refer to the schema for more details.`;
|
|
8003
8043
|
const modelLink = (term, model) => `
|
|
8004
8044
|
<a href="${pathToApiDocsPath(model['@id'], term['@id'])}" target="_blank">
|
|
8005
8045
|
<span class="pr-1">${model.name}</span>
|
|
@@ -8065,6 +8105,7 @@ const customErrorMessage = {
|
|
|
8065
8105
|
? `This ${code('termType')} is not allowed here.`
|
|
8066
8106
|
: 'Should not be used in this case.',
|
|
8067
8107
|
'should match pattern "^\\d{13}$"': () => `should be composed of 13 numbers`,
|
|
8108
|
+
'not a valid date': () => dateFormatMessage,
|
|
8068
8109
|
'should match pattern "^[0-9]{4}(-[0-9]{2})?(-[0-9]{2})?$"': () => dateFormatMessage,
|
|
8069
8110
|
'should match pattern "^([0-9]{4}|-)(-[0-9]{2})?(-[0-9]{2})?$"': () => dateFormatMessage,
|
|
8070
8111
|
'should match pattern "^([0-9]{4}|-)(-[0-9]{2})?(-[0-9]{2})?([T][0-2][0-9]:[0-5][0-9]:[0-5][0-9]((+|-)[0-1][0-9]:[0-5][0-9])?)?$"': () => dateFormatMessage,
|
|
@@ -8443,7 +8484,7 @@ const customErrorMessage = {
|
|
|
8443
8484
|
'invalid water salinity': ({ params }) => `The water type ${params?.current} is not consistent with the Water salinity you specified.
|
|
8444
8485
|
Make sure the Water salinity value is correct and either fix it or update the water type accordingly.`,
|
|
8445
8486
|
'must add substrate inputs': () => 'The substrate must be specified when a substrate-based protected cropping system has been added.',
|
|
8446
|
-
'should not be equal to cycleDuration for crop': ({ params }) => `For crop production Cycles, siteDuration must represent the period from harvest of the previous crop to harvest of the current crop.
|
|
8487
|
+
'should not be equal to cycleDuration for crop': ({ params }) => `For temporary crop production Cycles, siteDuration must represent the period from harvest of the previous crop to harvest of the current crop.
|
|
8447
8488
|
Here, you have stated that ${schemaLink('Cycle#cycleDuration', 'cycleDuration')} represents the period from
|
|
8448
8489
|
${code(params?.current)} to harvest of the current crop, and set ${schemaLink('Cycle#cycleDuration', 'cycleDuration')} as equal to ${schemaLink('Cycle#siteDuration', 'siteDuration')}.
|
|
8449
8490
|
Please check the affected fields for errors.`,
|
|
@@ -8457,7 +8498,10 @@ const customErrorMessage = {
|
|
|
8457
8498
|
'must be below maximum cycleDuration': ({ params }) => `The maximum duration for this crop production cycle is ${params.limit} days,
|
|
8458
8499
|
but the calculated duration from the end date and start date provided is ${params.current}.`,
|
|
8459
8500
|
'should add the term pastureGrass': () => `For Cycles with ${code('siteType=permanent pasture')} we recommend specifying the type(s) of ${code('Pasture grass')} grown.
|
|
8460
|
-
This is particularly important for ruminants and will allow for a more accurate estimate of the amount of grass grazed
|
|
8501
|
+
This is particularly important for ruminants and will allow for a more accurate estimate of the amount of grass grazed.`,
|
|
8502
|
+
'should add the fields for a relative cycle': ({ params }) => `We strongly recommend setting ${params?.expected
|
|
8503
|
+
?.map((param) => code(param))
|
|
8504
|
+
.join('and')} on all other sites for any uploads with a ${code('relative')} functional unit. This will allow calculation of land occupation and land transformation.`
|
|
8461
8505
|
};
|
|
8462
8506
|
const requiredPropertyError = (message, error) => {
|
|
8463
8507
|
const field = message.split("'")[1].replace("'", '');
|
|
@@ -9954,6 +9998,10 @@ class FilesErrorSummaryComponent {
|
|
|
9954
9998
|
this.summaries = computed(() => sortSummaries(this.summaryData(), this.resolvedByIndex()));
|
|
9955
9999
|
this.selectedIndex = signal(undefined);
|
|
9956
10000
|
this.selectedIndex$ = toObservable(this.selectedIndex);
|
|
10001
|
+
/**
|
|
10002
|
+
* Index of the error that is currently being focused on.
|
|
10003
|
+
*/
|
|
10004
|
+
this.focusIndex = output();
|
|
9957
10005
|
this.resolvedErrors = toSignal(combineLatest([this.itemData$, this.selectedIndex$]).pipe(distinctUntilChangedDeep(), filter(([items]) => items?.length > 0), map(([items, selectedIndex]) => items
|
|
9958
10006
|
.filter(item => (typeof selectedIndex === 'undefined' ? item.resolved : selectedIndex !== item.summary.index))
|
|
9959
10007
|
.flatMap(item => item.summary.errors)), startWith([])));
|
|
@@ -9974,12 +10022,13 @@ class FilesErrorSummaryComponent {
|
|
|
9974
10022
|
toggleSummary(summary) {
|
|
9975
10023
|
const index = this.isSelected(summary) ? undefined : summary.index;
|
|
9976
10024
|
this.selectedIndex.set(index);
|
|
10025
|
+
this.focusIndex.emit(index);
|
|
9977
10026
|
}
|
|
9978
10027
|
isSelected({ index }) {
|
|
9979
10028
|
return this.selectedIndex() === index;
|
|
9980
10029
|
}
|
|
9981
10030
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: FilesErrorSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9982
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: FilesErrorSummaryComponent, isStandalone: true, selector: "he-files-error-summary", inputs: { nodes: { classPropertyName: "nodes", publicName: "nodes", isSignal: true, isRequired: true, transformFunction: null }, errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: true, transformFunction: null }, showErrorsOnAutogenerated: { classPropertyName: "showErrorsOnAutogenerated", publicName: "showErrorsOnAutogenerated", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { resolvedErrorsChange: "resolvedErrorsChange", unresolvedIndexesChange: "unresolvedIndexesChange" }, viewQueries: [{ propertyName: "items", predicate: FilesErrorSummaryItemComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (summaries().length) {\n <div class=\"table-container\">\n <table class=\"table is-fullwidth is-striped\">\n <tbody>\n @for (summary of summaries(); track summary.index) {\n <tr>\n <he-files-error-summary-item\n class=\"is-block is-p-2 pointer\"\n [summary]=\"summary\"\n [class.is-selected]=\"isSelected(summary)\"\n (click)=\"toggleSummary(summary)\" />\n </tr>\n }\n </tbody>\n </table>\n </div>\n}\n", styles: [".table.is-striped tbody tr:nth-child(2n){background-color:#fff}.table.is-striped tbody tr:nth-child(odd){background-color:#fefaf0!important}.table tbody tr:last-child td{border-bottom-width:thin}he-files-error-summary-item{border:2px solid transparent;border-radius:3px}he-files-error-summary-item.is-selected{border-color:#ffce38;background:#fefcf7}\n"], dependencies: [{ kind: "component", type: FilesErrorSummaryItemComponent, selector: "he-files-error-summary-item", inputs: ["summary", "resolved"], outputs: ["resolvedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10031
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: FilesErrorSummaryComponent, isStandalone: true, selector: "he-files-error-summary", inputs: { nodes: { classPropertyName: "nodes", publicName: "nodes", isSignal: true, isRequired: true, transformFunction: null }, errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: true, transformFunction: null }, showErrorsOnAutogenerated: { classPropertyName: "showErrorsOnAutogenerated", publicName: "showErrorsOnAutogenerated", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { focusIndex: "focusIndex", resolvedErrorsChange: "resolvedErrorsChange", unresolvedIndexesChange: "unresolvedIndexesChange" }, viewQueries: [{ propertyName: "items", predicate: FilesErrorSummaryItemComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (summaries().length) {\n <div class=\"table-container\">\n <table class=\"table is-fullwidth is-striped\">\n <tbody>\n @for (summary of summaries(); track summary.index) {\n <tr>\n <he-files-error-summary-item\n class=\"is-block is-p-2 pointer\"\n [summary]=\"summary\"\n [class.is-selected]=\"isSelected(summary)\"\n (click)=\"toggleSummary(summary)\" />\n </tr>\n }\n </tbody>\n </table>\n </div>\n}\n", styles: [".table.is-striped tbody tr:nth-child(2n){background-color:#fff}.table.is-striped tbody tr:nth-child(odd){background-color:#fefaf0!important}.table tbody tr:last-child td{border-bottom-width:thin}he-files-error-summary-item{border:2px solid transparent;border-radius:3px}he-files-error-summary-item.is-selected{border-color:#ffce38;background:#fefcf7}\n"], dependencies: [{ kind: "component", type: FilesErrorSummaryItemComponent, selector: "he-files-error-summary-item", inputs: ["summary", "resolved"], outputs: ["resolvedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9983
10032
|
}
|
|
9984
10033
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: FilesErrorSummaryComponent, decorators: [{
|
|
9985
10034
|
type: Component$1,
|
|
@@ -12380,5 +12429,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
|
|
|
12380
12429
|
* Generated bundle index. Do not edit.
|
|
12381
12430
|
*/
|
|
12382
12431
|
|
|
12383
|
-
export { ARRAY_DELIMITER, ApplyPurePipe, BarChartComponent, BibliographiesSearchConfirmComponent, BlankNodeStateComponent, BlankNodeStateNoticeComponent, BlankNodeValueDeltaComponent, CapitalizePipe, ChartComponent, ChartConfigurationDirective, ClickOutsideDirective, ClipboardComponent, CollapsibleBoxComponent, ColorPalette, CompoundDirective, CompoundPipe, CycleNodesKeyGroup, CyclesCompletenessComponent, CyclesEmissionsChartComponent, CyclesFunctionalUnitMeasureComponent, CyclesNodesComponent, CyclesNodesTimelineComponent, CyclesResultComponent, DataTableComponent, DefaultPipe, DeltaColour, DrawerContainerComponent, EllipsisPipe, EngineModelsStageComponent, EngineModelsStageDeepComponent, EngineModelsStageDeepService, EngineModelsVersionLinkComponent, EngineOrchestratorEditComponent, EngineRequirementsFormComponent, FileSizePipe, FilesErrorSummaryComponent, FilesFormComponent, FilesFormEditableComponent, FilesUploadErrorsComponent, FilterComponent, FilterHasOptionsPipe, GetPipe, GlossaryMigrationFormat, HE_API_BASE_URL, HE_CALCULATIONS_BASE_URL, HE_MAP_LOADED, HeAuthService, HeCommonService, HeEngineService, HeGlossaryService, HeMendeleyService, HeNodeCsvService, HeNodeService, HeNodeStoreService, HeSchemaService, HeSearchService, HeSvgIconsModule, HeToastService, ImpactAssessmentsGraphComponent, ImpactAssessmentsIndicatorBreakdownChartComponent, ImpactAssessmentsIndicatorsChartComponent, ImpactAssessmentsProductsComponent, IsArrayPipe, IsObjectPipe, IssueConfirmComponent, KeyToLabelPipe, KeysPipe, Level, LineChartComponent, LinkKeyValueComponent, LogStatus, MAX_RESULTS, MapsDrawingComponent, MapsDrawingConfirmComponent, MendeleySearchResult, MobileShellComponent, NavigationMenuComponent, NoExtPipe, NodeCsvExportConfirmComponent, NodeCsvSelectHeadersComponent, NodeElementDirective, NodeIconComponent, NodeKeyState, NodeLinkComponent, NodeLogsFileComponent, NodeLogsModelsComponent, NodeMissingLookupFactorsComponent, NodeRecommendationsComponent, NodeValueDetailsComponent, OPTION_GROUP_TOKEN, PluralizePipe, PopoverComponent, PopoverConfirmComponent, PrecisionPipe, RelatedNodeResult, RemoveMarkdownPipe, Repository, ResizedDirective, ResizedEvent, ResponsiveService, SELECT_OPTION_TOKEN, SELECT_TOKEN, SchemaInfoComponent, SchemaVersionLinkComponent, SearchExtendComponent, SelectComponent, SelectOptionComponent, SelectOptionGroupComponent, ShelfDialogComponent, ShellComponent, SitesManagementChartComponent, SitesMapsComponent, SitesNodesComponent, SkeletonTextComponent, SocialTagsComponent, SortByPipe, SortSelectComponent, TagsInputDirective, Template, TermsPropertyContentComponent, TermsSubClassOfContentComponent, TermsUnitsDescriptionComponent, ThousandSuffixesPipe, TimesPipe, ToastComponent, ToggleOptionDirective, UncapitalizePipe, addPolygonToFeature, afterBarDrawPlugin, allCountriesQuery, arrayValue, availableProperties, baseApiUrl, baseUrl, bottom, buildSummary, bytesSize, calculateCycleDuration, calculateCycleDurationEnabled, calculateCycleStartDate, calculateCycleStartDateEnabled, capitalize, changelogUrl, clustererImage, code, compoundToHtml, computeKeys, computeTerms, contactUsEmail, contactUsLink, coordinatesToPoint, copyObject, countriesQuery, createMarker, cropsQuery, d3ellipse, d3wrap, dataPathLabel, dataPathToKey, defaultBarDrawSettings, defaultFeature, defaultLabel, defaultLollipopSettings, defaultSuggestionType, definitionToSchemaType, distinctUntilChangedDeep, ellipsis, engineGitBaseUrl, engineGitUrl, errorHasError, errorHasWarning, errorText, evaluateSuccess, externalLink, fillColor, fillStyle, filterBlankNode$1 as filterBlankNode, filterError, filterParams, findConfigModels, findMatchingModel, findModels, findNodeModel, findOrchestratorModel, findProperty, findPropertyById, flatFilterData, flatFilterNode, formatCustomErrorMessage, formatDate, formatError, formatPropertyError, formatter, getColor, getDatesBetween, gitBranch, gitHome, gitlabRawUrl, glossaryBaseUrl, glossaryLink, groupChanged, groupLogsByModel, groupLogsByTerm, groupNodesByTerm, groupdLogsByKey, grouppedKeys, grouppedValueKeys, handleAPIError, hasError, hasLeafWithValue, hasValidationError, hasWarning, ignoreKeys$1 as ignoreKeys, initialFilterState, isAddPropertyEnabled, isChrome, isDateBetween, isEqual, isExternal, isMethodModelAllowed, isMigrationError, isMissingOneOfError, isMissingPropertyError, isNonNodeModelKey, isSchemaIri, isScrolledBelow, isState, isTermTypeAllowed, isValidKey, keyToDataPath, levels, linkTypeEnabled, listColor, listColorContinuous, loadMapApi, localStorageSignal, locationQuery, logToCsv$1 as logToCsv, logValueArray, logsKey, lollipopChartPlugin, lookupUrl, mapFilterData, mapsUrl, markerIcon, markerPie, matchAggregatedQuery, matchAggregatedValidatedQuery, matchBoolPrefixQuery, matchCountry, matchExactQuery, matchGlobalRegion, matchId, matchNameNormalized, matchNestedKey, matchPhrasePrefixQuery, matchPhraseQuery, matchPrimaryProductQuery, matchQuery, matchRegex, matchRegion, matchTermType, matchType, maxAreaSize, measurementValue, mergeDataWithHeaders, methodTierOrder, migrationErrorMessage, migrationsUrl, missingNodeErrors, modelCount, modelKeyParams, modelParams, models, multiMatchQuery, nestedProperty, nestingEnabled, nestingTypeEnabled, nodeAvailableProperties, nodeColours$1 as nodeColours, nodeId, nodeLink, nodeLogsUrl, nodeType, nodeTypeDataState, nodeUrl, nodeVersion, numberGte, parentKey, parentProperty, parseData, parseDataPath, parseLines, parseMessage$1 as parseMessage, parseNewValue, pathToApiDocsPath, pluralize, pointToCoordinates, polygonBounds, polygonToCoordinates, polygonToMap, polygonsFromFeature, populateWithTrackIdsFilterData, primaryProduct, productsQuery, propertyError, propertyId, recursiveProperties, refToSchemaType, refreshPropertyKeys, regionsQuery, repeat, reportIssueLink, reportIssueUrl, safeJSONParse, safeJSONStringify, schemaBaseUrl, schemaDataBaseUrl, schemaLink, schemaRequiredProperties, schemaTypeToDefaultValue, scrollToEl, scrollTop, searchFilterData, searchableTypes, siblingProperty, singleProperty, siteTooBig, sortProperties, sortedDates, strokeColor, strokeStyle, suggestMatchQuery, suggestQuery, takeAfterViewInit, termLocation, termLocationName, termProperties, termTypeLabel, toThousands, typeToNewProperty, typeaheadFocus, uncapitalize, uniqueDatesBetween, updateProperties, valueTypeToDefault, waitFor, wildcardQuery };
|
|
12432
|
+
export { ARRAY_DELIMITER, ApplyPurePipe, BarChartComponent, BibliographiesSearchConfirmComponent, BlankNodeStateComponent, BlankNodeStateNoticeComponent, BlankNodeValueDeltaComponent, CapitalizePipe, ChartComponent, ChartConfigurationDirective, ClickOutsideDirective, ClipboardComponent, CollapsibleBoxComponent, ColorPalette, CompoundDirective, CompoundPipe, CycleNodesKeyGroup, CyclesCompletenessComponent, CyclesEmissionsChartComponent, CyclesFunctionalUnitMeasureComponent, CyclesNodesComponent, CyclesNodesTimelineComponent, CyclesResultComponent, DataTableComponent, DefaultPipe, DeltaColour, DrawerContainerComponent, EllipsisPipe, EngineModelsStageComponent, EngineModelsStageDeepComponent, EngineModelsStageDeepService, EngineModelsVersionLinkComponent, EngineOrchestratorEditComponent, EngineRequirementsFormComponent, FileSizePipe, FilesErrorSummaryComponent, FilesFormComponent, FilesFormEditableComponent, FilesUploadErrorsComponent, FilterComponent, FilterHasOptionsPipe, GetPipe, GlossaryMigrationFormat, HE_API_BASE_URL, HE_CALCULATIONS_BASE_URL, HE_MAP_LOADED, HeAuthService, HeCommonService, HeEngineService, HeGlossaryService, HeMendeleyService, HeNodeCsvService, HeNodeService, HeNodeStoreService, HeSchemaService, HeSearchService, HeSvgIconsModule, HeToastService, ImpactAssessmentsGraphComponent, ImpactAssessmentsIndicatorBreakdownChartComponent, ImpactAssessmentsIndicatorsChartComponent, ImpactAssessmentsProductsComponent, IsArrayPipe, IsObjectPipe, IssueConfirmComponent, KeyToLabelPipe, KeysPipe, Level, LineChartComponent, LinkKeyValueComponent, LogStatus, MAX_RESULTS, MapsDrawingComponent, MapsDrawingConfirmComponent, MendeleySearchResult, MobileShellComponent, NavigationMenuComponent, NoExtPipe, NodeCsvExportConfirmComponent, NodeCsvSelectHeadersComponent, NodeElementDirective, NodeIconComponent, NodeKeyState, NodeLinkComponent, NodeLogsFileComponent, NodeLogsModelsComponent, NodeLogsTimeComponent, NodeMissingLookupFactorsComponent, NodeRecommendationsComponent, NodeValueDetailsComponent, OPTION_GROUP_TOKEN, PluralizePipe, PopoverComponent, PopoverConfirmComponent, PrecisionPipe, RelatedNodeResult, RemoveMarkdownPipe, Repository, ResizedDirective, ResizedEvent, ResponsiveService, SELECT_OPTION_TOKEN, SELECT_TOKEN, SchemaInfoComponent, SchemaVersionLinkComponent, SearchExtendComponent, SelectComponent, SelectOptionComponent, SelectOptionGroupComponent, ShelfDialogComponent, ShellComponent, SitesManagementChartComponent, SitesMapsComponent, SitesNodesComponent, SkeletonTextComponent, SocialTagsComponent, SortByPipe, SortSelectComponent, TagsInputDirective, Template, TermsPropertyContentComponent, TermsSubClassOfContentComponent, TermsUnitsDescriptionComponent, ThousandSuffixesPipe, TimesPipe, ToastComponent, ToggleOptionDirective, UncapitalizePipe, addPolygonToFeature, afterBarDrawPlugin, allCountriesQuery, arrayValue, availableProperties, baseApiUrl, baseUrl, bottom, buildSummary, bytesSize, calculateCycleDuration, calculateCycleDurationEnabled, calculateCycleStartDate, calculateCycleStartDateEnabled, capitalize, changelogUrl, clustererImage, code, compoundToHtml, computeKeys, computeTerms, contactUsEmail, contactUsLink, coordinatesToPoint, copyObject, countriesQuery, createMarker, cropsQuery, d3ellipse, d3wrap, dataPathLabel, dataPathToKey, defaultBarDrawSettings, defaultFeature, defaultLabel, defaultLollipopSettings, defaultSuggestionType, definitionToSchemaType, distinctUntilChangedDeep, ellipsis, engineGitBaseUrl, engineGitUrl, errorHasError, errorHasWarning, errorText, evaluateSuccess, externalLink, fillColor, fillStyle, filterBlankNode$1 as filterBlankNode, filterError, filterParams, findConfigModels, findMatchingModel, findModels, findNodeModel, findOrchestratorModel, findProperty, findPropertyById, flatFilterData, flatFilterNode, formatCustomErrorMessage, formatDate, formatError, formatPropertyError, formatter, getColor, getDatesBetween, gitBranch, gitHome, gitlabRawUrl, glossaryBaseUrl, glossaryLink, groupChanged, groupLogsByModel, groupLogsByTerm, groupNodesByTerm, groupdLogsByKey, grouppedKeys, grouppedValueKeys, handleAPIError, hasError, hasLeafWithValue, hasValidationError, hasWarning, ignoreKeys$1 as ignoreKeys, initialFilterState, isAddPropertyEnabled, isChrome, isDateBetween, isEqual, isExternal, isMethodModelAllowed, isMigrationError, isMissingOneOfError, isMissingPropertyError, isNonNodeModelKey, isSchemaIri, isScrolledBelow, isState, isTermTypeAllowed, isValidKey, keyToDataPath, levels, linkTypeEnabled, listColor, listColorContinuous, loadMapApi, localStorageSignal, locationQuery, logToCsv$1 as logToCsv, logValueArray, logsKey, lollipopChartPlugin, lookupUrl, mapFilterData, mapsUrl, markerIcon, markerPie, matchAggregatedQuery, matchAggregatedValidatedQuery, matchBoolPrefixQuery, matchCountry, matchExactQuery, matchGlobalRegion, matchId, matchNameNormalized, matchNestedKey, matchPhrasePrefixQuery, matchPhraseQuery, matchPrimaryProductQuery, matchQuery, matchRegex, matchRegion, matchTermType, matchType, maxAreaSize, measurementValue, mergeDataWithHeaders, methodTierOrder, migrationErrorMessage, migrationsUrl, missingNodeErrors, modelCount, modelKeyParams, modelParams, models, multiMatchQuery, nestedProperty, nestingEnabled, nestingTypeEnabled, nodeAvailableProperties, nodeColours$1 as nodeColours, nodeId, nodeLink, nodeLogsUrl, nodeType, nodeTypeDataState, nodeUrl, nodeVersion, numberGte, parentKey, parentProperty, parseData, parseDataPath, parseLines, parseMessage$1 as parseMessage, parseNewValue, pathToApiDocsPath, pluralize, pointToCoordinates, polygonBounds, polygonToCoordinates, polygonToMap, polygonsFromFeature, populateWithTrackIdsFilterData, primaryProduct, productsQuery, propertyError, propertyId, recursiveProperties, refToSchemaType, refreshPropertyKeys, regionsQuery, repeat, reportIssueLink, reportIssueUrl, safeJSONParse, safeJSONStringify, schemaBaseUrl, schemaDataBaseUrl, schemaLink, schemaRequiredProperties, schemaTypeToDefaultValue, scrollToEl, scrollTop, searchFilterData, searchableTypes, siblingProperty, singleProperty, siteTooBig, sortProperties, sortedDates, strokeColor, strokeStyle, suggestMatchQuery, suggestQuery, takeAfterViewInit, termLocation, termLocationName, termProperties, termTypeLabel, toThousands, typeToNewProperty, typeaheadFocus, uncapitalize, uniqueDatesBetween, updateProperties, valueTypeToDefault, waitFor, wildcardQuery };
|
|
12384
12433
|
//# sourceMappingURL=hestia-earth-ui-components.mjs.map
|