@agridea/suibi-module 0.1.0-preview.21 → 0.1.0-preview.2f7b6e2
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 +76 -64
- package/dist/elements/browser/styles.css +1 -1
- package/dist/elements/browser/suibi-module-latest.css +1 -1
- package/dist/elements/browser/suibi-module-latest.js +76 -64
- package/dist/elements/browser/{suibi-module.v0.1.0-preview.21.css → suibi-module.v0.1.0-preview.2f7b6e2.css} +1 -1
- package/dist/elements/browser/suibi-module.v0.1.0-preview.2f7b6e2.js +79 -0
- package/dist/elements/browser/suibi-theme-dark.css +1 -1
- package/dist/elements/browser/version.txt +1 -1
- package/dist/elements/browser/wc-global-utilities.css +1 -0
- package/dist/types/app/app.d.ts +6 -2
- package/dist/types/app/components/add-dashed-button/add-dashed-button.component.d.ts +9 -0
- package/dist/types/app/components/data-preview/data-preview.component.d.ts +2 -0
- package/dist/types/app/components/empty-state/empty-state.component.d.ts +10 -0
- package/dist/types/app/components/planning-result/planning-result.component.d.ts +69 -0
- package/dist/types/app/components/workflow-stepper/workflow-stepper.component.d.ts +48 -0
- package/dist/types/app/core/data/naebi-data.service.d.ts +19 -4
- package/dist/types/app/core/error/global-error-handler.d.ts +6 -0
- package/dist/types/app/core/master-data/master-data.service.d.ts +6 -1
- package/dist/types/app/core/navigation/navigation.service.d.ts +2 -0
- package/dist/types/app/core/planning/planning-balance.service.d.ts +18 -0
- package/dist/types/app/core/planning/planning-balance.types.d.ts +206 -0
- package/dist/types/app/core/telemetry/telemetry.service.d.ts +12 -0
- package/dist/types/app/core/validation/capabilities.d.ts +5 -5
- package/dist/types/app/core/validation/global-validation.service.d.ts +0 -3
- package/dist/types/app/header-bar.d.ts +3 -4
- package/dist/types/app/jsonforms/registry/renderers.registry.d.ts +4 -0
- package/dist/types/app/jsonforms/renderers/layout/array/array-layout.renderer.d.ts +43 -0
- package/dist/types/app/jsonforms/renderers/layout/categorization/selected-category-categorization.renderer.d.ts +3 -0
- package/dist/types/app/nutrient-cycle/animal-stock/animal-stock-master-detail.component.d.ts +0 -1
- package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-detail.component.d.ts +1 -1
- package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-list.component.d.ts +1 -0
- package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-master-detail.component.d.ts +0 -1
- package/dist/types/app/nutrient-cycle/field-spreading/field-spreading.component.d.ts +0 -1
- package/dist/types/app/nutrient-cycle/lifetime-performance/lifetime-performance-form.component.d.ts +1 -1
- package/dist/types/environments/environment.d.ts +11 -0
- package/package.json +2 -1
- package/dist/elements/browser/suibi-module.v0.1.0-preview.21.js +0 -67
|
@@ -6,6 +6,7 @@ import { LogicalGroupRenderer } from '../renderers/layout/group/logical-group.re
|
|
|
6
6
|
import { RankedTester } from '@jsonforms/core';
|
|
7
7
|
import { ConstraintLayoutRenderer } from '../renderers/layout/constraint/constraint-layout.renderer';
|
|
8
8
|
import { SelectedCategoryCategorizationRenderer } from '../renderers/layout/categorization/selected-category-categorization.renderer';
|
|
9
|
+
import { CustomArrayLayoutRenderer } from '../renderers/layout/array/array-layout.renderer';
|
|
9
10
|
export declare const CUSTOM_JSONFORMS_RENDERERS: ({
|
|
10
11
|
tester: RankedTester;
|
|
11
12
|
renderer: typeof ConstraintLayoutRenderer;
|
|
@@ -27,4 +28,7 @@ export declare const CUSTOM_JSONFORMS_RENDERERS: ({
|
|
|
27
28
|
} | {
|
|
28
29
|
tester: RankedTester;
|
|
29
30
|
renderer: typeof CodeListSelectRenderer;
|
|
31
|
+
} | {
|
|
32
|
+
tester: RankedTester;
|
|
33
|
+
renderer: typeof CustomArrayLayoutRenderer;
|
|
30
34
|
})[];
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { JsonFormsAbstractControl, JsonFormsAngularService } from '@jsonforms/angular';
|
|
3
|
+
import { ArrayLayoutProps, ArrayTranslations, JsonFormsState, OwnPropsOfRenderer, RankedTester, StatePropsOfArrayLayout, UISchemaElement, UISchemaTester } from '@jsonforms/core';
|
|
4
|
+
/**
|
|
5
|
+
* CustomArrayLayoutRenderer
|
|
6
|
+
* Overrides the stock JSONForms `ArrayLayoutRenderer` (rank 4 → this is rank 5) to apply
|
|
7
|
+
* the project UX pattern: centered empty-state placeholder when the array has no entries,
|
|
8
|
+
* and the full-width dashed add-button always anchored below the list.
|
|
9
|
+
*
|
|
10
|
+
* The add button label is driven by `translations.addTooltip` resolved via the JSONForms
|
|
11
|
+
* i18n pipeline — configure per-array labels there.
|
|
12
|
+
*/
|
|
13
|
+
export declare class CustomArrayLayoutRenderer extends JsonFormsAbstractControl<StatePropsOfArrayLayout> implements OnInit {
|
|
14
|
+
noData: boolean;
|
|
15
|
+
/** Indices 0..n-1 used to render per-item cards and drive sort-button disabled state. */
|
|
16
|
+
indices: number[];
|
|
17
|
+
translations: ArrayTranslations;
|
|
18
|
+
showSortButtons: boolean;
|
|
19
|
+
addItem: (path: string, value: unknown) => () => void;
|
|
20
|
+
moveItemUp: (path: string, index: number) => () => void;
|
|
21
|
+
moveItemDown: (path: string, index: number) => () => void;
|
|
22
|
+
removeItems: (path: string, toDelete: number[]) => () => void;
|
|
23
|
+
uischemas: {
|
|
24
|
+
tester: UISchemaTester;
|
|
25
|
+
uischema: UISchemaElement;
|
|
26
|
+
}[];
|
|
27
|
+
constructor(jsonFormsService: JsonFormsAngularService);
|
|
28
|
+
get emptyText(): string;
|
|
29
|
+
get addLabel(): string;
|
|
30
|
+
mapToProps(state: JsonFormsState): StatePropsOfArrayLayout & {
|
|
31
|
+
translations: ArrayTranslations;
|
|
32
|
+
};
|
|
33
|
+
mapAdditionalProps(props: ArrayLayoutProps & {
|
|
34
|
+
translations: ArrayTranslations;
|
|
35
|
+
}): void;
|
|
36
|
+
remove(index: number): void;
|
|
37
|
+
add(): void;
|
|
38
|
+
up(index: number): void;
|
|
39
|
+
down(index: number): void;
|
|
40
|
+
ngOnInit(): void;
|
|
41
|
+
getProps(index: number): OwnPropsOfRenderer;
|
|
42
|
+
}
|
|
43
|
+
export declare const customArrayLayoutRendererTester: RankedTester;
|
|
@@ -19,12 +19,15 @@ export declare class SelectedCategoryCategorizationRenderer extends JsonFormsBas
|
|
|
19
19
|
categoryLabels: string[];
|
|
20
20
|
private readonly categoryKeyToIndex;
|
|
21
21
|
private readonly indexToCategoryKey;
|
|
22
|
+
private _prevCategorySignature;
|
|
22
23
|
readonly selectedTabIndex: import("@angular/core").Signal<number>;
|
|
23
24
|
ngOnInit(): void;
|
|
24
25
|
/**
|
|
25
26
|
* Build bidirectional category key ↔ tab index mapping from UI schema.
|
|
26
27
|
* Reads options.categoryKey from each visible Category element.
|
|
27
28
|
* Example: { base: 0, formOfDetention: 1, feeding: 2 }
|
|
29
|
+
* Skips signal writes when the tab structure hasn't changed (pure data changes
|
|
30
|
+
* fire $state on every keystroke; no need to mark selectedTabIndex stale each time).
|
|
28
31
|
*/
|
|
29
32
|
private buildCategoryMappings;
|
|
30
33
|
onTabChange(newIndex: number): void;
|
package/dist/types/app/nutrient-cycle/animal-stock/animal-stock-master-detail.component.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ import { LifetimePerformance } from '../lifetime-performance/lifetime-performanc
|
|
|
3
3
|
export declare class AnimalStockMasterDetailComponent {
|
|
4
4
|
private readonly dataSvc;
|
|
5
5
|
private readonly navigationSvc;
|
|
6
|
-
private readonly rootData;
|
|
7
6
|
constructor();
|
|
8
7
|
readonly rows: import("@angular/core").Signal<AnimalStockRow[]>;
|
|
9
8
|
readonly lifetimePerformance: import("@angular/core").Signal<LifetimePerformance | null>;
|
package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-detail.component.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export declare class FarmManureTradingDetailComponent {
|
|
|
16
16
|
}[];
|
|
17
17
|
readonly suibiAjv: import("ajv").Ajv;
|
|
18
18
|
private readonly baseSchemas;
|
|
19
|
-
private readonly
|
|
19
|
+
private readonly baseUis;
|
|
20
20
|
itemSchema: Signal<JsonSchema>;
|
|
21
21
|
localizedUi: Signal<UISchemaElement>;
|
|
22
22
|
detailTitle: Signal<string>;
|
package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-list.component.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare class FarmManureTradingListComponent {
|
|
|
15
15
|
readonly displayedColumns: string[];
|
|
16
16
|
resolveProduct(code: string | null | undefined): string;
|
|
17
17
|
emptyLabel(): string;
|
|
18
|
+
emptyHintLabel(): string;
|
|
18
19
|
addLabel(): string;
|
|
19
20
|
headerLabel(): string;
|
|
20
21
|
onDelete(index: number, event: Event): void;
|
|
@@ -3,7 +3,6 @@ import { FarmManureTradingSupply, FarmManureTradingDispense } from './farm-manur
|
|
|
3
3
|
export declare class FarmManureTradingMasterDetailComponent {
|
|
4
4
|
private readonly dataSvc;
|
|
5
5
|
private readonly navigationSvc;
|
|
6
|
-
private readonly rootData;
|
|
7
6
|
constructor();
|
|
8
7
|
readonly supplyRows: import("@angular/core").Signal<FarmManureTradingSupply[]>;
|
|
9
8
|
readonly dispenseRows: import("@angular/core").Signal<FarmManureTradingDispense[]>;
|
|
@@ -4,7 +4,6 @@ export declare class FieldSpreadingComponent {
|
|
|
4
4
|
private readonly dataSvc;
|
|
5
5
|
private readonly navigationSvc;
|
|
6
6
|
private readonly i18n;
|
|
7
|
-
private readonly rootData;
|
|
8
7
|
constructor();
|
|
9
8
|
readonly schema: import("@angular/core").Signal<JsonSchema>;
|
|
10
9
|
readonly localizedUi: import("@angular/core").Signal<UISchemaElement>;
|
package/dist/types/app/nutrient-cycle/lifetime-performance/lifetime-performance-form.component.d.ts
CHANGED
|
@@ -23,5 +23,5 @@ export declare class LifetimePerformanceFormComponent {
|
|
|
23
23
|
readonly jsonFormsData: import("@angular/core").Signal<LifetimePerformance & import("../../core/schemas/ui-helper-registry").UiHelperDefinitions>;
|
|
24
24
|
private readonly pruneDisallowedEffect;
|
|
25
25
|
onDataChange(newValue: unknown): void;
|
|
26
|
-
private
|
|
26
|
+
private hasFlag;
|
|
27
27
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agridea/suibi-module",
|
|
3
|
-
"version": "0.1.0-preview.
|
|
3
|
+
"version": "0.1.0-preview.2f7b6e2",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"ng": "ng",
|
|
6
6
|
"start": "ng serve --host 0.0.0.0",
|
|
@@ -68,6 +68,7 @@
|
|
|
68
68
|
"@jsonforms/angular": "^3.6.0",
|
|
69
69
|
"@jsonforms/angular-material": "^3.6.0",
|
|
70
70
|
"@jsonforms/core": "^3.6.0",
|
|
71
|
+
"@microsoft/applicationinsights-web": "^3.3.10",
|
|
71
72
|
"rxjs": "~7.8.0",
|
|
72
73
|
"tslib": "^2.3.0"
|
|
73
74
|
},
|