@agridea/suibi-module 0.1.0-preview.2f7b6e2 → 0.1.0-preview.557ea51
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/dist/elements/browser/main.js +70 -71
- package/dist/elements/browser/suibi-module-latest.js +70 -71
- package/dist/elements/browser/suibi-module.v0.1.0-preview.557ea51.js +78 -0
- package/dist/elements/browser/suibi-theme-dark.css +1 -1
- package/dist/elements/browser/version.txt +1 -1
- package/dist/types/app/components/data-preview/data-preview.component.d.ts +1 -0
- package/dist/types/app/components/empty-state/empty-state.component.d.ts +2 -0
- package/dist/types/app/components/module-placeholder-page/module-placeholder-page.component.d.ts +6 -0
- package/dist/types/app/components/planning-result/planning-result.component.d.ts +3 -26
- package/dist/types/app/components/planning-result/planning-trigger.component.d.ts +13 -0
- package/dist/types/app/components/results-page/results-page.component.d.ts +13 -0
- package/dist/types/app/components/suissebilanz-dashboard/gauge-arc.component.d.ts +47 -0
- package/dist/types/app/components/suissebilanz-dashboard/suissebilanz-dashboard.component.d.ts +24 -0
- package/dist/types/app/components/suissebilanz-dashboard/suissebilanz-metrics.service.d.ts +21 -0
- package/dist/types/app/components/suissebilanz-dashboard/suissebilanz-minibar.component.d.ts +19 -0
- package/dist/types/app/components/validation-page/validation-page.component.d.ts +18 -0
- package/dist/types/app/components/workflow-stepper/workflow-stepper.component.d.ts +1 -0
- package/dist/types/app/core/data/naebi-data.service.d.ts +12 -0
- package/dist/types/app/core/master-data/master-data.service.d.ts +2 -0
- package/dist/types/app/core/navigation/navigation.service.d.ts +19 -1
- package/dist/types/app/core/planning/planning-balance.service.d.ts +22 -3
- package/dist/types/app/core/planning/planning-balance.utils.d.ts +10 -0
- package/dist/types/app/core/validation/global-validation.service.d.ts +15 -1
- package/dist/types/app/header-bar.d.ts +1 -2
- package/dist/types/app/jsonforms/filters/code-list-filter-resolvers.d.ts +3 -0
- package/dist/types/app/jsonforms/renderers/controls/selects/code-list/code-list-select.renderer.d.ts +10 -4
- package/dist/types/app/nutrient-cycle/fodder/fodder-detail.component.d.ts +32 -0
- package/dist/types/app/nutrient-cycle/fodder/fodder-list.component.d.ts +21 -0
- package/dist/types/app/nutrient-cycle/fodder/fodder-master-detail.component.d.ts +37 -0
- package/dist/types/app/nutrient-cycle/fodder/fodder.types.d.ts +27 -0
- package/dist/types/app/nutrient-cycle/fodder/transaction-unit.util.d.ts +2 -0
- package/dist/types/app/nutrient-cycle/storage/storage-detail.component.d.ts +30 -0
- package/dist/types/app/nutrient-cycle/storage/storage-general.component.d.ts +29 -0
- package/dist/types/app/nutrient-cycle/storage/storage-list.component.d.ts +20 -0
- package/dist/types/app/nutrient-cycle/storage/storage-master-detail.component.d.ts +31 -0
- package/dist/types/app/nutrient-cycle/storage/storage.types.d.ts +40 -0
- package/dist/types/shared/material-icons.d.ts +3 -3
- package/package.json +1 -1
- package/dist/elements/browser/suibi-module.v0.1.0-preview.2f7b6e2.js +0 -79
- /package/dist/elements/browser/{suibi-module.v0.1.0-preview.2f7b6e2.css → suibi-module.v0.1.0-preview.557ea51.css} +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface FodderIngredient {
|
|
2
|
+
quantity?: number;
|
|
3
|
+
molecularFormula?: string;
|
|
4
|
+
unit?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface FodderTradingEntry {
|
|
7
|
+
quantity?: number;
|
|
8
|
+
typeOfFeedstuffProduct?: string;
|
|
9
|
+
transactionUnit?: string;
|
|
10
|
+
ingredient?: FodderIngredient[];
|
|
11
|
+
}
|
|
12
|
+
export interface FodderSupply extends FodderTradingEntry {
|
|
13
|
+
}
|
|
14
|
+
export interface FodderDispense extends FodderTradingEntry {
|
|
15
|
+
}
|
|
16
|
+
export interface FodderCropFromNonFodderCropland extends FodderTradingEntry {
|
|
17
|
+
}
|
|
18
|
+
export interface FodderTradingData {
|
|
19
|
+
supply?: FodderSupply[];
|
|
20
|
+
dispense?: FodderDispense[];
|
|
21
|
+
}
|
|
22
|
+
export interface FodderData {
|
|
23
|
+
trading?: FodderTradingData;
|
|
24
|
+
cropFromNonFodderCropland?: FodderCropFromNonFodderCropland[];
|
|
25
|
+
proportionStorageLoss?: number;
|
|
26
|
+
totalBalanceErrorMargin?: number;
|
|
27
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { JsonSchema, UISchemaElement } from '@jsonforms/core';
|
|
2
|
+
import { ManurePitEntry, SlurryTankEntry, StorageEntryType } from './storage.types';
|
|
3
|
+
export declare class StorageDetailComponent {
|
|
4
|
+
private readonly i18n;
|
|
5
|
+
readonly type: import("@angular/core").InputSignal<StorageEntryType>;
|
|
6
|
+
readonly row: import("@angular/core").InputSignal<ManurePitEntry | SlurryTankEntry | null>;
|
|
7
|
+
readonly rowChange: import("@angular/core").OutputEmitterRef<ManurePitEntry | SlurryTankEntry>;
|
|
8
|
+
readonly close: import("@angular/core").OutputEmitterRef<void>;
|
|
9
|
+
readonly renderers: {
|
|
10
|
+
tester: import("@jsonforms/core").RankedTester;
|
|
11
|
+
renderer: any;
|
|
12
|
+
}[];
|
|
13
|
+
readonly ajv: import("ajv").Ajv;
|
|
14
|
+
readonly schema: import("@angular/core").Signal<JsonSchema>;
|
|
15
|
+
readonly localizedUi: import("@angular/core").Signal<UISchemaElement>;
|
|
16
|
+
readonly detailTitle: import("@angular/core").Signal<string>;
|
|
17
|
+
readonly jsonFormsData: import("@angular/core").Signal<(({
|
|
18
|
+
descriptor?: string;
|
|
19
|
+
cover?: number | null;
|
|
20
|
+
manureFromAnimalStockStored?: import("./storage.types").ManureFromAnimalStockStored[];
|
|
21
|
+
} | {
|
|
22
|
+
descriptor?: string;
|
|
23
|
+
volumeInM3?: number | null;
|
|
24
|
+
depthInM?: number | null;
|
|
25
|
+
cover?: number | null;
|
|
26
|
+
mixingFrequency?: number | null;
|
|
27
|
+
manureDerivation?: string[];
|
|
28
|
+
}) & import("../../core/schemas/ui-helper-registry").UiHelperDefinitions) | null>;
|
|
29
|
+
onDataChange(event: unknown): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { JsonSchema, UISchemaElement } from '@jsonforms/core';
|
|
2
|
+
import { StorageNormalized } from './storage.types';
|
|
3
|
+
type StorageSection = 'manure' | 'slurry' | 'slurryFacilityToggle';
|
|
4
|
+
export declare class StorageGeneralComponent {
|
|
5
|
+
private readonly i18n;
|
|
6
|
+
readonly section: import("@angular/core").InputSignal<StorageSection>;
|
|
7
|
+
readonly value: import("@angular/core").InputSignal<StorageNormalized>;
|
|
8
|
+
readonly valueChange: import("@angular/core").OutputEmitterRef<StorageNormalized>;
|
|
9
|
+
readonly renderers: {
|
|
10
|
+
tester: import("@jsonforms/core").RankedTester;
|
|
11
|
+
renderer: any;
|
|
12
|
+
}[];
|
|
13
|
+
readonly ajv: import("ajv").Ajv;
|
|
14
|
+
readonly schema: import("@angular/core").Signal<JsonSchema>;
|
|
15
|
+
readonly localizedUi: import("@angular/core").Signal<UISchemaElement>;
|
|
16
|
+
readonly jsonFormsData: import("@angular/core").Signal<({
|
|
17
|
+
stableStrawLitter: number | null;
|
|
18
|
+
manureSupplyProportionStored: number | null;
|
|
19
|
+
createFacilitySpecificManureProduct: boolean;
|
|
20
|
+
} & import("../../core/schemas/ui-helper-registry").UiHelperDefinitions) | ({
|
|
21
|
+
createFacilitySpecificSlurryProduct: boolean;
|
|
22
|
+
} & import("../../core/schemas/ui-helper-registry").UiHelperDefinitions) | ({
|
|
23
|
+
slurrySupplyProportionStored: number | null;
|
|
24
|
+
slurryTankQuantity: number | null;
|
|
25
|
+
dilutionRatio: number | null;
|
|
26
|
+
} & import("../../core/schemas/ui-helper-registry").UiHelperDefinitions) | null>;
|
|
27
|
+
onDataChange(event: unknown): void;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ManurePitEntry, SlurryTankEntry, StorageEntryType } from './storage.types';
|
|
2
|
+
export declare class StorageListComponent {
|
|
3
|
+
private readonly i18n;
|
|
4
|
+
private readonly masterData;
|
|
5
|
+
readonly rows: import("@angular/core").InputSignal<(ManurePitEntry | SlurryTankEntry)[]>;
|
|
6
|
+
readonly selectedIndex: import("@angular/core").InputSignal<number | null>;
|
|
7
|
+
readonly type: import("@angular/core").InputSignal<StorageEntryType>;
|
|
8
|
+
readonly select: import("@angular/core").OutputEmitterRef<number>;
|
|
9
|
+
readonly add: import("@angular/core").OutputEmitterRef<void>;
|
|
10
|
+
readonly delete: import("@angular/core").OutputEmitterRef<number>;
|
|
11
|
+
readonly displayedColumns: string[];
|
|
12
|
+
readonly headerName: import("@angular/core").Signal<string>;
|
|
13
|
+
readonly headerMeta: import("@angular/core").Signal<string>;
|
|
14
|
+
resolveName(row: ManurePitEntry | SlurryTankEntry, index: number): string;
|
|
15
|
+
resolveMeta(row: ManurePitEntry | SlurryTankEntry): string;
|
|
16
|
+
emptyLabel(): string;
|
|
17
|
+
emptyHintLabel(): string;
|
|
18
|
+
addLabel(): string;
|
|
19
|
+
onDelete(index: number, event: Event): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { StorageTab } from '../../core/navigation/navigation.service';
|
|
2
|
+
import { ManurePitEntry, SlurryTankEntry, StorageEntryType, StorageNormalized } from './storage.types';
|
|
3
|
+
export declare class StorageMasterDetailComponent {
|
|
4
|
+
private readonly dataSvc;
|
|
5
|
+
private readonly navigationSvc;
|
|
6
|
+
constructor();
|
|
7
|
+
readonly storage: import("@angular/core").Signal<StorageNormalized>;
|
|
8
|
+
readonly manurePitRows: import("@angular/core").Signal<ManurePitEntry[]>;
|
|
9
|
+
readonly slurryTankRows: import("@angular/core").Signal<SlurryTankEntry[]>;
|
|
10
|
+
readonly activeTab: import("@angular/core").WritableSignal<StorageTab>;
|
|
11
|
+
readonly selectedDetailType: import("@angular/core").WritableSignal<StorageEntryType | null>;
|
|
12
|
+
readonly selectedIndex: import("@angular/core").WritableSignal<number | null>;
|
|
13
|
+
readonly manureFacilitySpecificEnabled: import("@angular/core").Signal<boolean>;
|
|
14
|
+
readonly slurryFacilitySpecificEnabled: import("@angular/core").Signal<boolean>;
|
|
15
|
+
readonly detailOpen: import("@angular/core").Signal<boolean>;
|
|
16
|
+
readonly detailType: import("@angular/core").Signal<StorageEntryType>;
|
|
17
|
+
readonly currentDetail: import("@angular/core").Signal<ManurePitEntry | SlurryTankEntry | null>;
|
|
18
|
+
readonly activeTabIndex: import("@angular/core").Signal<0 | 1>;
|
|
19
|
+
onTabChange(index: number): void;
|
|
20
|
+
openDetail(type: StorageEntryType, index: number): void;
|
|
21
|
+
closeDetail(): void;
|
|
22
|
+
addEntry(type: StorageEntryType): void;
|
|
23
|
+
deleteEntry(type: StorageEntryType, index: number): void;
|
|
24
|
+
onGeneralChange(value: StorageNormalized): void;
|
|
25
|
+
onDetailChange(value: ManurePitEntry | SlurryTankEntry): void;
|
|
26
|
+
private patchRows;
|
|
27
|
+
private patchStorage;
|
|
28
|
+
private normalizeStorage;
|
|
29
|
+
private createEmptyManurePit;
|
|
30
|
+
private createEmptySlurryTank;
|
|
31
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface ManureFromAnimalStockStored {
|
|
2
|
+
manureDerivation?: string;
|
|
3
|
+
proportionStored?: number | null;
|
|
4
|
+
}
|
|
5
|
+
export interface ManurePitEntry {
|
|
6
|
+
descriptor?: string;
|
|
7
|
+
cover?: number | null;
|
|
8
|
+
manureFromAnimalStockStored?: ManureFromAnimalStockStored[];
|
|
9
|
+
}
|
|
10
|
+
export interface SlurryTankEntry {
|
|
11
|
+
descriptor?: string;
|
|
12
|
+
volumeInM3?: number | null;
|
|
13
|
+
depthInM?: number | null;
|
|
14
|
+
cover?: number | null;
|
|
15
|
+
mixingFrequency?: number | null;
|
|
16
|
+
manureDerivation?: string[];
|
|
17
|
+
}
|
|
18
|
+
export interface StorageData {
|
|
19
|
+
stableStrawLitter?: number | null;
|
|
20
|
+
manureSupplyProportionStored?: number | null;
|
|
21
|
+
slurrySupplyProportionStored?: number | null;
|
|
22
|
+
createFacilitySpecificManureProduct?: boolean;
|
|
23
|
+
createFacilitySpecificSlurryProduct?: boolean;
|
|
24
|
+
slurryTankQuantity?: number | null;
|
|
25
|
+
dilutionRatio?: number | null;
|
|
26
|
+
manurePit?: ManurePitEntry[];
|
|
27
|
+
slurryTank?: SlurryTankEntry[];
|
|
28
|
+
}
|
|
29
|
+
export interface StorageNormalized {
|
|
30
|
+
stableStrawLitter: number | null;
|
|
31
|
+
manureSupplyProportionStored: number | null;
|
|
32
|
+
slurrySupplyProportionStored: number | null;
|
|
33
|
+
createFacilitySpecificManureProduct: boolean;
|
|
34
|
+
createFacilitySpecificSlurryProduct: boolean;
|
|
35
|
+
slurryTankQuantity: number | null;
|
|
36
|
+
dilutionRatio: number | null;
|
|
37
|
+
manurePit: ManurePitEntry[];
|
|
38
|
+
slurryTank: SlurryTankEntry[];
|
|
39
|
+
}
|
|
40
|
+
export type StorageEntryType = 'manure_pit' | 'slurry_tank';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Ensure the Material
|
|
2
|
+
* Ensure the Material icon stylesheets exist in the document <head> (SPA / non-shadow usage).
|
|
3
3
|
* Idempotent: returns immediately if DOM unavailable (SSR) or link already present.
|
|
4
4
|
*
|
|
5
5
|
* @param doc Optional document for testing / dependency injection.
|
|
6
6
|
*/
|
|
7
7
|
export declare function ensureMaterialIconsInHead(doc?: Document): void;
|
|
8
8
|
/**
|
|
9
|
-
* Ensure the Material
|
|
9
|
+
* Ensure the Material icon stylesheets are available inside a ShadowRoot so that
|
|
10
10
|
* icon ligatures render when the component is embedded as a Web Component.
|
|
11
11
|
* We prepend so icons load early without disturbing existing adopted stylesheets.
|
|
12
|
-
* Idempotent: guarded by
|
|
12
|
+
* Idempotent: each font link is guarded by its own custom attribute selector.
|
|
13
13
|
*
|
|
14
14
|
* @param shadow Target ShadowRoot; silently no-ops if null/undefined or DOM unavailable.
|
|
15
15
|
*/
|