@fieldia/angular 0.10.0 → 0.12.0
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/README.md
CHANGED
|
@@ -30,4 +30,25 @@ Custom fields can be Angular components (`fieldTypes`), slot content goes in
|
|
|
30
30
|
as a signal. The viewer's options are inputs of the same names, but for the
|
|
31
31
|
app's translator: `[translator]`, because a `[translate]` binding goes to the
|
|
32
32
|
element's own HTML attribute. A list page opens a row through the
|
|
33
|
-
`(openRecord)` output.
|
|
33
|
+
`(openRecord)` output.
|
|
34
|
+
|
|
35
|
+
The form's events are outputs: `(fieldChange)` — not `(change)`, which on a
|
|
36
|
+
component's element would hear its boxes' own change events too — `(save)`,
|
|
37
|
+
`(send)`, `(step)` and `(run)`. An output cannot answer, so the app's answer to
|
|
38
|
+
a button or a `call` step is the `[answer]` input; `(action)` still tells every
|
|
39
|
+
call:
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
@Component({
|
|
43
|
+
imports: [FieldiaFormComponent],
|
|
44
|
+
template: `<fieldia-form [page]="page" [dataSource]="dataSource" [pages]="pages"
|
|
45
|
+
[answer]="answer" (fieldChange)="changed($event)" (save)="saved($event)" (run)="ran($event)" />`,
|
|
46
|
+
})
|
|
47
|
+
export class OrderComponent {
|
|
48
|
+
readonly answer = async ({ action, values }: ActionRequest) =>
|
|
49
|
+
action === 'check_stock' ? { values: { price: await priceOf(values['product']) } } : undefined;
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
The viewer's `host` and `onOpen` are `[actionHost]` and `[openPage]`; the
|
|
54
|
+
handle from `(ready)` has `on`, `setValues` and `run`. MIT licensed.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fieldia/angular",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "Angular binding for Fieldia: <fieldia-form> over the plain-DOM viewer, with custom fields as Angular components and slots as ng-templates.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://fieldia.dev",
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
"./package.json": "./package.json"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@fieldia/core": "0.
|
|
19
|
-
"@fieldia/viewer": "0.
|
|
20
|
-
"@fieldia/widgets": "0.
|
|
18
|
+
"@fieldia/core": "0.12.0",
|
|
19
|
+
"@fieldia/viewer": "0.12.0",
|
|
20
|
+
"@fieldia/widgets": "0.12.0",
|
|
21
21
|
"tslib": "^2.8.1"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DestroyRef, TemplateRef, type OnDestroy, type Signal, type Type } from '@angular/core';
|
|
2
|
-
import type { ActionRequest, DataSource, DraftStore, Form, FormState, Locale, Page, RecordId, Scheduler, Values } from '@fieldia/core';
|
|
2
|
+
import type { ActionRequest, DataSource, DraftStore, Form, FormState, FormUser, Locale, OnAction, Page, RecordId, Scheduler, Value, Values } from '@fieldia/core';
|
|
3
3
|
import { type Skin, type ViewerHandle, type ViewerLabels } from '@fieldia/viewer';
|
|
4
4
|
import type { PreferenceStore, WidgetFactory } from '@fieldia/widgets';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -35,6 +35,10 @@ export declare class FieldiaFormComponent implements OnDestroy {
|
|
|
35
35
|
readonly form: import("@angular/core").InputSignal<Form | undefined>;
|
|
36
36
|
readonly dataSource: import("@angular/core").InputSignal<DataSource | undefined>;
|
|
37
37
|
readonly recordId: import("@angular/core").InputSignal<RecordId | null>;
|
|
38
|
+
/** The person using the form: what `user` reads, and the roles that show parts. */
|
|
39
|
+
readonly user: import("@angular/core").InputSignal<FormUser | undefined>;
|
|
40
|
+
/** Values the app passes in, as Flectra's context: what conditions and filters read as `context`. */
|
|
41
|
+
readonly context: import("@angular/core").InputSignal<Readonly<Record<string, import("@fieldia/core").JsonValue>> | undefined>;
|
|
38
42
|
readonly values: import("@angular/core").InputSignal<Values | undefined>;
|
|
39
43
|
readonly skin: import("@angular/core").InputSignal<Skin>;
|
|
40
44
|
readonly dir: import("@angular/core").InputSignal<"ltr" | "rtl" | undefined>;
|
|
@@ -54,6 +58,8 @@ export declare class FieldiaFormComponent implements OnDestroy {
|
|
|
54
58
|
readonly scheduler: import("@angular/core").InputSignal<Scheduler | undefined>;
|
|
55
59
|
readonly confirm: import("@angular/core").InputSignal<((message: string) => Promise<boolean>) | undefined>;
|
|
56
60
|
readonly preferences: import("@angular/core").InputSignal<PreferenceStore | undefined>;
|
|
61
|
+
/** The app's pages: a saved form placed in the page by its id, a link's record by its model. */
|
|
62
|
+
readonly pages: import("@angular/core").InputSignal<import("@fieldia/viewer").PageFinder | undefined>;
|
|
57
63
|
readonly relatedPages: import("@angular/core").InputSignal<Record<string, Page> | ((model: string) => Page | null | undefined) | undefined>;
|
|
58
64
|
/** The app's own icons, by the names its pages give them. */
|
|
59
65
|
readonly icons: import("@angular/core").InputSignal<Readonly<Record<string, string>> | undefined>;
|
|
@@ -76,10 +82,72 @@ export declare class FieldiaFormComponent implements OnDestroy {
|
|
|
76
82
|
* HTML `translate` attribute, never to an input.
|
|
77
83
|
*/
|
|
78
84
|
readonly translator: import("@angular/core").InputSignal<((text: string) => string) | undefined>;
|
|
85
|
+
/**
|
|
86
|
+
* The app's answer to a button's action or a `call` step: what `onAction` is
|
|
87
|
+
* in the other bindings. What it returns — values, words, a page to open, a
|
|
88
|
+
* stop — the form takes; an output cannot hand an answer back. The `action`
|
|
89
|
+
* output still tells every call.
|
|
90
|
+
*/
|
|
91
|
+
readonly answer: import("@angular/core").InputSignal<OnAction | undefined>;
|
|
92
|
+
/** Your own way to open a page a step asks for (the viewer's `onOpen`); undefined lets the viewer open it. */
|
|
93
|
+
readonly openPage: import("@angular/core").InputSignal<((request: import("@fieldia/core").OpenRequest) => Promise<import("@fieldia/core").OpenResult> | undefined) | undefined>;
|
|
94
|
+
/** Any of the viewer's host done your own way (the viewer's `host`): words said, a question asked, a page opened, a tab shown. */
|
|
95
|
+
readonly actionHost: import("@angular/core").InputSignal<Partial<import("@fieldia/core").ActionHost> | undefined>;
|
|
96
|
+
/** The records round this one, for the pager over it: their ids, or how many, where this one is, and the id at a place. */
|
|
97
|
+
readonly records: import("@angular/core").InputSignal<readonly RecordId[] | import("@fieldia/viewer").RecordPager | undefined>;
|
|
98
|
+
/** The trail to this record, for the breadcrumbs over it. */
|
|
99
|
+
readonly breadcrumbs: import("@angular/core").InputSignal<readonly import("@fieldia/viewer").Breadcrumb[] | undefined>;
|
|
79
100
|
readonly ready: import("@angular/core").OutputEmitterRef<ViewerHandle>;
|
|
80
101
|
readonly action: import("@angular/core").OutputEmitterRef<ActionRequest>;
|
|
81
102
|
/** A list's row was opened: the app shows the record. */
|
|
82
103
|
readonly openRecord: import("@angular/core").OutputEmitterRef<RecordId>;
|
|
104
|
+
/**
|
|
105
|
+
* A field was written — `by` a person, a step or the app. Not `change`: on a
|
|
106
|
+
* component's element Angular hears the inputs' own change events under that
|
|
107
|
+
* name too.
|
|
108
|
+
*/
|
|
109
|
+
readonly fieldChange: import("@angular/core").OutputEmitterRef<{
|
|
110
|
+
field: string;
|
|
111
|
+
value: Value;
|
|
112
|
+
values: Readonly<Values>;
|
|
113
|
+
by: import("@fieldia/core").ChangeBy;
|
|
114
|
+
}>;
|
|
115
|
+
/** A record was saved. */
|
|
116
|
+
readonly save: import("@angular/core").OutputEmitterRef<{
|
|
117
|
+
recordId: RecordId | null;
|
|
118
|
+
values: Readonly<Values>;
|
|
119
|
+
}>;
|
|
120
|
+
/** A page of responses sent its answers. */
|
|
121
|
+
readonly send: import("@angular/core").OutputEmitterRef<{
|
|
122
|
+
values: Values;
|
|
123
|
+
}>;
|
|
124
|
+
/** A wizard's step was entered. */
|
|
125
|
+
readonly step: import("@angular/core").OutputEmitterRef<{
|
|
126
|
+
step: string;
|
|
127
|
+
}>;
|
|
128
|
+
/** A run of steps ended — a button's, a moment's — and how. */
|
|
129
|
+
readonly run: import("@angular/core").OutputEmitterRef<{
|
|
130
|
+
id: string;
|
|
131
|
+
steps: readonly import("@fieldia/core").ActionStep[];
|
|
132
|
+
result: import("@fieldia/core").RunResult;
|
|
133
|
+
}>;
|
|
134
|
+
/** The form has its values: a record loaded — the pager moved on, a copy shown — or a new one. */
|
|
135
|
+
readonly record: import("@angular/core").OutputEmitterRef<{
|
|
136
|
+
recordId: RecordId | null;
|
|
137
|
+
values: Readonly<Values>;
|
|
138
|
+
}>;
|
|
139
|
+
/** The record was archived or brought back, copied, or deleted, by a step such as the gear menu's. */
|
|
140
|
+
readonly archive: import("@angular/core").OutputEmitterRef<{
|
|
141
|
+
recordId: RecordId;
|
|
142
|
+
archived: boolean;
|
|
143
|
+
}>;
|
|
144
|
+
readonly duplicate: import("@angular/core").OutputEmitterRef<{
|
|
145
|
+
from: RecordId;
|
|
146
|
+
recordId: RecordId;
|
|
147
|
+
}>;
|
|
148
|
+
readonly delete: import("@angular/core").OutputEmitterRef<{
|
|
149
|
+
recordId: RecordId;
|
|
150
|
+
}>;
|
|
83
151
|
private readonly slotTemplates;
|
|
84
152
|
private readonly host;
|
|
85
153
|
private readonly views;
|
|
@@ -93,5 +161,5 @@ export declare class FieldiaFormComponent implements OnDestroy {
|
|
|
93
161
|
private mount;
|
|
94
162
|
private unmount;
|
|
95
163
|
static ɵfac: i0.ɵɵFactoryDeclaration<FieldiaFormComponent, never>;
|
|
96
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FieldiaFormComponent, "fieldia-form", never, { "page": { "alias": "page"; "required": true; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "recordId": { "alias": "recordId"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; "skin": { "alias": "skin"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "widgets": { "alias": "widgets"; "required": false; "isSignal": true; }; "fieldTypes": { "alias": "fieldTypes"; "required": false; "isSignal": true; }; "drafts": { "alias": "drafts"; "required": false; "isSignal": true; }; "autosave": { "alias": "autosave"; "required": false; "isSignal": true; }; "scheduler": { "alias": "scheduler"; "required": false; "isSignal": true; }; "confirm": { "alias": "confirm"; "required": false; "isSignal": true; }; "preferences": { "alias": "preferences"; "required": false; "isSignal": true; }; "relatedPages": { "alias": "relatedPages"; "required": false; "isSignal": true; }; "icons": { "alias": "icons"; "required": false; "isSignal": true; }; "keys": { "alias": "keys"; "required": false; "isSignal": true; }; "showValid": { "alias": "showValid"; "required": false; "isSignal": true; }; "saveStatus": { "alias": "saveStatus"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "editSwitch": { "alias": "editSwitch"; "required": false; "isSignal": true; }; "translator": { "alias": "translator"; "required": false; "isSignal": true; }; }, { "ready": "ready"; "action": "action"; "openRecord": "openRecord"; }, ["slotTemplates"], never, true, never>;
|
|
164
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldiaFormComponent, "fieldia-form", never, { "page": { "alias": "page"; "required": true; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "recordId": { "alias": "recordId"; "required": false; "isSignal": true; }; "user": { "alias": "user"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; "skin": { "alias": "skin"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "widgets": { "alias": "widgets"; "required": false; "isSignal": true; }; "fieldTypes": { "alias": "fieldTypes"; "required": false; "isSignal": true; }; "drafts": { "alias": "drafts"; "required": false; "isSignal": true; }; "autosave": { "alias": "autosave"; "required": false; "isSignal": true; }; "scheduler": { "alias": "scheduler"; "required": false; "isSignal": true; }; "confirm": { "alias": "confirm"; "required": false; "isSignal": true; }; "preferences": { "alias": "preferences"; "required": false; "isSignal": true; }; "pages": { "alias": "pages"; "required": false; "isSignal": true; }; "relatedPages": { "alias": "relatedPages"; "required": false; "isSignal": true; }; "icons": { "alias": "icons"; "required": false; "isSignal": true; }; "keys": { "alias": "keys"; "required": false; "isSignal": true; }; "showValid": { "alias": "showValid"; "required": false; "isSignal": true; }; "saveStatus": { "alias": "saveStatus"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "editSwitch": { "alias": "editSwitch"; "required": false; "isSignal": true; }; "translator": { "alias": "translator"; "required": false; "isSignal": true; }; "answer": { "alias": "answer"; "required": false; "isSignal": true; }; "openPage": { "alias": "openPage"; "required": false; "isSignal": true; }; "actionHost": { "alias": "actionHost"; "required": false; "isSignal": true; }; "records": { "alias": "records"; "required": false; "isSignal": true; }; "breadcrumbs": { "alias": "breadcrumbs"; "required": false; "isSignal": true; }; }, { "ready": "ready"; "action": "action"; "openRecord": "openRecord"; "fieldChange": "fieldChange"; "save": "save"; "send": "send"; "step": "step"; "run": "run"; "record": "record"; "archive": "archive"; "duplicate": "duplicate"; "delete": "delete"; }, ["slotTemplates"], never, true, never>;
|
|
97
165
|
}
|
|
@@ -32,6 +32,10 @@ export class FieldiaFormComponent {
|
|
|
32
32
|
this.form = input(undefined, ...(ngDevMode ? [{ debugName: "form" }] : /* istanbul ignore next */ []));
|
|
33
33
|
this.dataSource = input(undefined, ...(ngDevMode ? [{ debugName: "dataSource" }] : /* istanbul ignore next */ []));
|
|
34
34
|
this.recordId = input(null, ...(ngDevMode ? [{ debugName: "recordId" }] : /* istanbul ignore next */ []));
|
|
35
|
+
/** The person using the form: what `user` reads, and the roles that show parts. */
|
|
36
|
+
this.user = input(undefined, ...(ngDevMode ? [{ debugName: "user" }] : /* istanbul ignore next */ []));
|
|
37
|
+
/** Values the app passes in, as Flectra's context: what conditions and filters read as `context`. */
|
|
38
|
+
this.context = input(undefined, ...(ngDevMode ? [{ debugName: "context" }] : /* istanbul ignore next */ []));
|
|
35
39
|
this.values = input(undefined, ...(ngDevMode ? [{ debugName: "values" }] : /* istanbul ignore next */ []));
|
|
36
40
|
this.skin = input('underline', ...(ngDevMode ? [{ debugName: "skin" }] : /* istanbul ignore next */ []));
|
|
37
41
|
this.dir = input(undefined, ...(ngDevMode ? [{ debugName: "dir" }] : /* istanbul ignore next */ []));
|
|
@@ -45,6 +49,8 @@ export class FieldiaFormComponent {
|
|
|
45
49
|
this.scheduler = input(undefined, ...(ngDevMode ? [{ debugName: "scheduler" }] : /* istanbul ignore next */ []));
|
|
46
50
|
this.confirm = input(undefined, ...(ngDevMode ? [{ debugName: "confirm" }] : /* istanbul ignore next */ []));
|
|
47
51
|
this.preferences = input(undefined, ...(ngDevMode ? [{ debugName: "preferences" }] : /* istanbul ignore next */ []));
|
|
52
|
+
/** The app's pages: a saved form placed in the page by its id, a link's record by its model. */
|
|
53
|
+
this.pages = input(undefined, ...(ngDevMode ? [{ debugName: "pages" }] : /* istanbul ignore next */ []));
|
|
48
54
|
this.relatedPages = input(undefined, ...(ngDevMode ? [{ debugName: "relatedPages" }] : /* istanbul ignore next */ []));
|
|
49
55
|
/** The app's own icons, by the names its pages give them. */
|
|
50
56
|
this.icons = input(undefined, ...(ngDevMode ? [{ debugName: "icons" }] : /* istanbul ignore next */ []));
|
|
@@ -64,10 +70,45 @@ export class FieldiaFormComponent {
|
|
|
64
70
|
* HTML `translate` attribute, never to an input.
|
|
65
71
|
*/
|
|
66
72
|
this.translator = input(undefined, ...(ngDevMode ? [{ debugName: "translator" }] : /* istanbul ignore next */ []));
|
|
73
|
+
/**
|
|
74
|
+
* The app's answer to a button's action or a `call` step: what `onAction` is
|
|
75
|
+
* in the other bindings. What it returns — values, words, a page to open, a
|
|
76
|
+
* stop — the form takes; an output cannot hand an answer back. The `action`
|
|
77
|
+
* output still tells every call.
|
|
78
|
+
*/
|
|
79
|
+
this.answer = input(undefined, ...(ngDevMode ? [{ debugName: "answer" }] : /* istanbul ignore next */ []));
|
|
80
|
+
/** Your own way to open a page a step asks for (the viewer's `onOpen`); undefined lets the viewer open it. */
|
|
81
|
+
this.openPage = input(undefined, ...(ngDevMode ? [{ debugName: "openPage" }] : /* istanbul ignore next */ []));
|
|
82
|
+
/** Any of the viewer's host done your own way (the viewer's `host`): words said, a question asked, a page opened, a tab shown. */
|
|
83
|
+
this.actionHost = input(undefined, ...(ngDevMode ? [{ debugName: "actionHost" }] : /* istanbul ignore next */ []));
|
|
84
|
+
/** The records round this one, for the pager over it: their ids, or how many, where this one is, and the id at a place. */
|
|
85
|
+
this.records = input(undefined, ...(ngDevMode ? [{ debugName: "records" }] : /* istanbul ignore next */ []));
|
|
86
|
+
/** The trail to this record, for the breadcrumbs over it. */
|
|
87
|
+
this.breadcrumbs = input(undefined, ...(ngDevMode ? [{ debugName: "breadcrumbs" }] : /* istanbul ignore next */ []));
|
|
67
88
|
this.ready = output();
|
|
68
89
|
this.action = output();
|
|
69
90
|
/** A list's row was opened: the app shows the record. */
|
|
70
91
|
this.openRecord = output();
|
|
92
|
+
/**
|
|
93
|
+
* A field was written — `by` a person, a step or the app. Not `change`: on a
|
|
94
|
+
* component's element Angular hears the inputs' own change events under that
|
|
95
|
+
* name too.
|
|
96
|
+
*/
|
|
97
|
+
this.fieldChange = output();
|
|
98
|
+
/** A record was saved. */
|
|
99
|
+
this.save = output();
|
|
100
|
+
/** A page of responses sent its answers. */
|
|
101
|
+
this.send = output();
|
|
102
|
+
/** A wizard's step was entered. */
|
|
103
|
+
this.step = output();
|
|
104
|
+
/** A run of steps ended — a button's, a moment's — and how. */
|
|
105
|
+
this.run = output();
|
|
106
|
+
/** The form has its values: a record loaded — the pager moved on, a copy shown — or a new one. */
|
|
107
|
+
this.record = output();
|
|
108
|
+
/** The record was archived or brought back, copied, or deleted, by a step such as the gear menu's. */
|
|
109
|
+
this.archive = output();
|
|
110
|
+
this.duplicate = output();
|
|
111
|
+
this.delete = output();
|
|
71
112
|
this.slotTemplates = contentChildren(FieldiaSlotDirective, ...(ngDevMode ? [{ debugName: "slotTemplates" }] : /* istanbul ignore next */ []));
|
|
72
113
|
this.host = inject(ElementRef);
|
|
73
114
|
this.views = inject(ViewContainerRef);
|
|
@@ -83,6 +124,8 @@ export class FieldiaFormComponent {
|
|
|
83
124
|
form: this.form(),
|
|
84
125
|
dataSource: this.dataSource(),
|
|
85
126
|
recordId: this.recordId(),
|
|
127
|
+
user: this.user(),
|
|
128
|
+
context: this.context(),
|
|
86
129
|
dir: this.dir(),
|
|
87
130
|
locale: this.locale(),
|
|
88
131
|
labels: this.labels(),
|
|
@@ -152,6 +195,8 @@ export class FieldiaFormComponent {
|
|
|
152
195
|
form: options.form,
|
|
153
196
|
dataSource: options.dataSource,
|
|
154
197
|
recordId: options.recordId,
|
|
198
|
+
user: options.user,
|
|
199
|
+
context: options.context,
|
|
155
200
|
values: this.values(),
|
|
156
201
|
skin: this.skin(),
|
|
157
202
|
dir: options.dir,
|
|
@@ -164,6 +209,7 @@ export class FieldiaFormComponent {
|
|
|
164
209
|
scheduler: this.scheduler(),
|
|
165
210
|
confirm: this.confirm(),
|
|
166
211
|
preferences: this.preferences(),
|
|
212
|
+
pages: this.pages(),
|
|
167
213
|
relatedPages: this.relatedPages(),
|
|
168
214
|
icons: this.icons(),
|
|
169
215
|
keys: this.keys(),
|
|
@@ -172,10 +218,27 @@ export class FieldiaFormComponent {
|
|
|
172
218
|
readonly: this.readonly(),
|
|
173
219
|
editSwitch: this.editSwitch(),
|
|
174
220
|
translate: this.translator(),
|
|
175
|
-
onAction: (request) =>
|
|
221
|
+
onAction: (request) => {
|
|
222
|
+
this.action.emit(request);
|
|
223
|
+
return this.answer()?.(request);
|
|
224
|
+
},
|
|
225
|
+
onOpen: (request) => this.openPage()?.(request),
|
|
226
|
+
host: this.actionHost(),
|
|
176
227
|
onOpenRecord: (id) => this.openRecord.emit(id),
|
|
228
|
+
records: this.records(),
|
|
229
|
+
breadcrumbs: this.breadcrumbs(),
|
|
177
230
|
});
|
|
178
|
-
this.
|
|
231
|
+
const handle = this.handle;
|
|
232
|
+
handle.on('change', (event) => this.fieldChange.emit(event));
|
|
233
|
+
handle.on('save', (event) => this.save.emit(event));
|
|
234
|
+
handle.on('send', (event) => this.send.emit(event));
|
|
235
|
+
handle.on('step', (event) => this.step.emit(event));
|
|
236
|
+
handle.on('run', (event) => this.run.emit(event));
|
|
237
|
+
handle.on('open', (event) => this.record.emit(event));
|
|
238
|
+
handle.on('archive', (event) => this.archive.emit(event));
|
|
239
|
+
handle.on('duplicate', (event) => this.duplicate.emit(event));
|
|
240
|
+
handle.on('delete', (event) => this.delete.emit(event));
|
|
241
|
+
this.ready.emit(handle);
|
|
179
242
|
}
|
|
180
243
|
unmount() {
|
|
181
244
|
this.handle?.destroy();
|
|
@@ -190,10 +253,10 @@ export class FieldiaFormComponent {
|
|
|
190
253
|
this.components = [];
|
|
191
254
|
}
|
|
192
255
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FieldiaFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
193
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.25", type: FieldiaFormComponent, isStandalone: true, selector: "fieldia-form", inputs: { page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: true, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, skin: { classPropertyName: "skin", publicName: "skin", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, labels: { classPropertyName: "labels", publicName: "labels", isSignal: true, isRequired: false, transformFunction: null }, widgets: { classPropertyName: "widgets", publicName: "widgets", isSignal: true, isRequired: false, transformFunction: null }, fieldTypes: { classPropertyName: "fieldTypes", publicName: "fieldTypes", isSignal: true, isRequired: false, transformFunction: null }, drafts: { classPropertyName: "drafts", publicName: "drafts", isSignal: true, isRequired: false, transformFunction: null }, autosave: { classPropertyName: "autosave", publicName: "autosave", isSignal: true, isRequired: false, transformFunction: null }, scheduler: { classPropertyName: "scheduler", publicName: "scheduler", isSignal: true, isRequired: false, transformFunction: null }, confirm: { classPropertyName: "confirm", publicName: "confirm", isSignal: true, isRequired: false, transformFunction: null }, preferences: { classPropertyName: "preferences", publicName: "preferences", isSignal: true, isRequired: false, transformFunction: null }, relatedPages: { classPropertyName: "relatedPages", publicName: "relatedPages", isSignal: true, isRequired: false, transformFunction: null }, icons: { classPropertyName: "icons", publicName: "icons", isSignal: true, isRequired: false, transformFunction: null }, keys: { classPropertyName: "keys", publicName: "keys", isSignal: true, isRequired: false, transformFunction: null }, showValid: { classPropertyName: "showValid", publicName: "showValid", isSignal: true, isRequired: false, transformFunction: null }, saveStatus: { classPropertyName: "saveStatus", publicName: "saveStatus", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, editSwitch: { classPropertyName: "editSwitch", publicName: "editSwitch", isSignal: true, isRequired: false, transformFunction: null }, translator: { classPropertyName: "translator", publicName: "translator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ready: "ready", action: "action", openRecord: "openRecord" }, queries: [{ propertyName: "slotTemplates", predicate: FieldiaSlotDirective, isSignal: true }], ngImport: i0, template: '', isInline: true, styles: [":host { display: block; }"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
256
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.25", type: FieldiaFormComponent, isStandalone: true, selector: "fieldia-form", inputs: { page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: true, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: true, isRequired: false, transformFunction: null }, user: { classPropertyName: "user", publicName: "user", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, skin: { classPropertyName: "skin", publicName: "skin", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, labels: { classPropertyName: "labels", publicName: "labels", isSignal: true, isRequired: false, transformFunction: null }, widgets: { classPropertyName: "widgets", publicName: "widgets", isSignal: true, isRequired: false, transformFunction: null }, fieldTypes: { classPropertyName: "fieldTypes", publicName: "fieldTypes", isSignal: true, isRequired: false, transformFunction: null }, drafts: { classPropertyName: "drafts", publicName: "drafts", isSignal: true, isRequired: false, transformFunction: null }, autosave: { classPropertyName: "autosave", publicName: "autosave", isSignal: true, isRequired: false, transformFunction: null }, scheduler: { classPropertyName: "scheduler", publicName: "scheduler", isSignal: true, isRequired: false, transformFunction: null }, confirm: { classPropertyName: "confirm", publicName: "confirm", isSignal: true, isRequired: false, transformFunction: null }, preferences: { classPropertyName: "preferences", publicName: "preferences", isSignal: true, isRequired: false, transformFunction: null }, pages: { classPropertyName: "pages", publicName: "pages", isSignal: true, isRequired: false, transformFunction: null }, relatedPages: { classPropertyName: "relatedPages", publicName: "relatedPages", isSignal: true, isRequired: false, transformFunction: null }, icons: { classPropertyName: "icons", publicName: "icons", isSignal: true, isRequired: false, transformFunction: null }, keys: { classPropertyName: "keys", publicName: "keys", isSignal: true, isRequired: false, transformFunction: null }, showValid: { classPropertyName: "showValid", publicName: "showValid", isSignal: true, isRequired: false, transformFunction: null }, saveStatus: { classPropertyName: "saveStatus", publicName: "saveStatus", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, editSwitch: { classPropertyName: "editSwitch", publicName: "editSwitch", isSignal: true, isRequired: false, transformFunction: null }, translator: { classPropertyName: "translator", publicName: "translator", isSignal: true, isRequired: false, transformFunction: null }, answer: { classPropertyName: "answer", publicName: "answer", isSignal: true, isRequired: false, transformFunction: null }, openPage: { classPropertyName: "openPage", publicName: "openPage", isSignal: true, isRequired: false, transformFunction: null }, actionHost: { classPropertyName: "actionHost", publicName: "actionHost", isSignal: true, isRequired: false, transformFunction: null }, records: { classPropertyName: "records", publicName: "records", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbs: { classPropertyName: "breadcrumbs", publicName: "breadcrumbs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ready: "ready", action: "action", openRecord: "openRecord", fieldChange: "fieldChange", save: "save", send: "send", step: "step", run: "run", record: "record", archive: "archive", duplicate: "duplicate", delete: "delete" }, queries: [{ propertyName: "slotTemplates", predicate: FieldiaSlotDirective, isSignal: true }], ngImport: i0, template: '', isInline: true, styles: [":host { display: block; }"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
194
257
|
}
|
|
195
258
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FieldiaFormComponent, decorators: [{
|
|
196
259
|
type: Component,
|
|
197
260
|
args: [{ selector: 'fieldia-form', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host { display: block; }"] }]
|
|
198
|
-
}], ctorParameters: () => [], propDecorators: { page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: true }] }], form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: false }] }], dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: false }] }], recordId: [{ type: i0.Input, args: [{ isSignal: true, alias: "recordId", required: false }] }], values: [{ type: i0.Input, args: [{ isSignal: true, alias: "values", required: false }] }], skin: [{ type: i0.Input, args: [{ isSignal: true, alias: "skin", required: false }] }], dir: [{ type: i0.Input, args: [{ isSignal: true, alias: "dir", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], labels: [{ type: i0.Input, args: [{ isSignal: true, alias: "labels", required: false }] }], widgets: [{ type: i0.Input, args: [{ isSignal: true, alias: "widgets", required: false }] }], fieldTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldTypes", required: false }] }], drafts: [{ type: i0.Input, args: [{ isSignal: true, alias: "drafts", required: false }] }], autosave: [{ type: i0.Input, args: [{ isSignal: true, alias: "autosave", required: false }] }], scheduler: [{ type: i0.Input, args: [{ isSignal: true, alias: "scheduler", required: false }] }], confirm: [{ type: i0.Input, args: [{ isSignal: true, alias: "confirm", required: false }] }], preferences: [{ type: i0.Input, args: [{ isSignal: true, alias: "preferences", required: false }] }], relatedPages: [{ type: i0.Input, args: [{ isSignal: true, alias: "relatedPages", required: false }] }], icons: [{ type: i0.Input, args: [{ isSignal: true, alias: "icons", required: false }] }], keys: [{ type: i0.Input, args: [{ isSignal: true, alias: "keys", required: false }] }], showValid: [{ type: i0.Input, args: [{ isSignal: true, alias: "showValid", required: false }] }], saveStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "saveStatus", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], editSwitch: [{ type: i0.Input, args: [{ isSignal: true, alias: "editSwitch", required: false }] }], translator: [{ type: i0.Input, args: [{ isSignal: true, alias: "translator", required: false }] }], ready: [{ type: i0.Output, args: ["ready"] }], action: [{ type: i0.Output, args: ["action"] }], openRecord: [{ type: i0.Output, args: ["openRecord"] }], slotTemplates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => FieldiaSlotDirective), { isSignal: true }] }] } });
|
|
261
|
+
}], ctorParameters: () => [], propDecorators: { page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: true }] }], form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: false }] }], dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: false }] }], recordId: [{ type: i0.Input, args: [{ isSignal: true, alias: "recordId", required: false }] }], user: [{ type: i0.Input, args: [{ isSignal: true, alias: "user", required: false }] }], context: [{ type: i0.Input, args: [{ isSignal: true, alias: "context", required: false }] }], values: [{ type: i0.Input, args: [{ isSignal: true, alias: "values", required: false }] }], skin: [{ type: i0.Input, args: [{ isSignal: true, alias: "skin", required: false }] }], dir: [{ type: i0.Input, args: [{ isSignal: true, alias: "dir", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], labels: [{ type: i0.Input, args: [{ isSignal: true, alias: "labels", required: false }] }], widgets: [{ type: i0.Input, args: [{ isSignal: true, alias: "widgets", required: false }] }], fieldTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldTypes", required: false }] }], drafts: [{ type: i0.Input, args: [{ isSignal: true, alias: "drafts", required: false }] }], autosave: [{ type: i0.Input, args: [{ isSignal: true, alias: "autosave", required: false }] }], scheduler: [{ type: i0.Input, args: [{ isSignal: true, alias: "scheduler", required: false }] }], confirm: [{ type: i0.Input, args: [{ isSignal: true, alias: "confirm", required: false }] }], preferences: [{ type: i0.Input, args: [{ isSignal: true, alias: "preferences", required: false }] }], pages: [{ type: i0.Input, args: [{ isSignal: true, alias: "pages", required: false }] }], relatedPages: [{ type: i0.Input, args: [{ isSignal: true, alias: "relatedPages", required: false }] }], icons: [{ type: i0.Input, args: [{ isSignal: true, alias: "icons", required: false }] }], keys: [{ type: i0.Input, args: [{ isSignal: true, alias: "keys", required: false }] }], showValid: [{ type: i0.Input, args: [{ isSignal: true, alias: "showValid", required: false }] }], saveStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "saveStatus", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], editSwitch: [{ type: i0.Input, args: [{ isSignal: true, alias: "editSwitch", required: false }] }], translator: [{ type: i0.Input, args: [{ isSignal: true, alias: "translator", required: false }] }], answer: [{ type: i0.Input, args: [{ isSignal: true, alias: "answer", required: false }] }], openPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "openPage", required: false }] }], actionHost: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionHost", required: false }] }], records: [{ type: i0.Input, args: [{ isSignal: true, alias: "records", required: false }] }], breadcrumbs: [{ type: i0.Input, args: [{ isSignal: true, alias: "breadcrumbs", required: false }] }], ready: [{ type: i0.Output, args: ["ready"] }], action: [{ type: i0.Output, args: ["action"] }], openRecord: [{ type: i0.Output, args: ["openRecord"] }], fieldChange: [{ type: i0.Output, args: ["fieldChange"] }], save: [{ type: i0.Output, args: ["save"] }], send: [{ type: i0.Output, args: ["send"] }], step: [{ type: i0.Output, args: ["step"] }], run: [{ type: i0.Output, args: ["run"] }], record: [{ type: i0.Output, args: ["record"] }], archive: [{ type: i0.Output, args: ["archive"] }], duplicate: [{ type: i0.Output, args: ["duplicate"] }], delete: [{ type: i0.Output, args: ["delete"] }], slotTemplates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => FieldiaSlotDirective), { isSignal: true }] }] } });
|
|
199
262
|
//# sourceMappingURL=fieldia-form.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldia-form.component.js","sourceRoot":"","sources":["../../../../../libs/angular/src/lib/fieldia-form.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,MAAM,EACN,MAAM,EACN,KAAK,EACL,MAAM,EACN,oBAAoB,EACpB,MAAM,EACN,SAAS,GAMV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAA0F,MAAM,iBAAiB,CAAC;;AAmBtI,mFAAmF;AAEnF,MAAM,OAAO,oBAAoB;IADjC;QAEW,SAAI,GAAG,KAAK,CAAC,QAAQ,2EAAW,KAAK,EAAE,aAAa,GAAG,CAAC;QACxD,aAAQ,GAAG,MAAM,CAAkC,WAAW,CAAC,CAAC;KAC1E;+GAHY,oBAAoB;mGAApB,oBAAoB;;4FAApB,oBAAoB;kBADhC,SAAS;mBAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE;;AAMnD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAU,EAAE,aAAyB,MAAM,CAAC,UAAU,CAAC;IAC/E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,4EAAC,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,CAAU,CAAC;AAQtG,MAAM,OAAO,oBAAoB;
|
|
1
|
+
{"version":3,"file":"fieldia-form.component.js","sourceRoot":"","sources":["../../../../../libs/angular/src/lib/fieldia-form.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,MAAM,EACN,MAAM,EACN,KAAK,EACL,MAAM,EACN,oBAAoB,EACpB,MAAM,EACN,SAAS,GAMV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAA0F,MAAM,iBAAiB,CAAC;;AAmBtI,mFAAmF;AAEnF,MAAM,OAAO,oBAAoB;IADjC;QAEW,SAAI,GAAG,KAAK,CAAC,QAAQ,2EAAW,KAAK,EAAE,aAAa,GAAG,CAAC;QACxD,aAAQ,GAAG,MAAM,CAAkC,WAAW,CAAC,CAAC;KAC1E;+GAHY,oBAAoB;mGAApB,oBAAoB;;4FAApB,oBAAoB;kBADhC,SAAS;mBAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE;;AAMnD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAU,EAAE,aAAyB,MAAM,CAAC,UAAU,CAAC;IAC/E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,4EAAC,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,CAAU,CAAC;AAQtG,MAAM,OAAO,oBAAoB;IA8F/B;QA7FS,SAAI,GAAG,KAAK,CAAC,QAAQ,0EAAQ,CAAC;QAC9B,SAAI,GAAG,KAAK,CAAmB,SAAS,2EAAC,CAAC;QAC1C,eAAU,GAAG,KAAK,CAAyB,SAAS,iFAAC,CAAC;QACtD,aAAQ,GAAG,KAAK,CAAkB,IAAI,+EAAC,CAAC;QACjD,mFAAmF;QAC1E,SAAI,GAAG,KAAK,CAAuB,SAAS,2EAAC,CAAC;QACvD,qGAAqG;QAC5F,YAAO,GAAG,KAAK,CAA2B,SAAS,8EAAC,CAAC;QACrD,WAAM,GAAG,KAAK,CAAqB,SAAS,6EAAC,CAAC;QAC9C,SAAI,GAAG,KAAK,CAAO,WAAW,2EAAC,CAAC;QAChC,QAAG,GAAG,KAAK,CAA4B,SAAS,0EAAC,CAAC;QAClD,WAAM,GAAG,KAAK,CAAqB,SAAS,6EAAC,CAAC;QAC9C,WAAM,GAAG,KAAK,CAAoC,SAAS,6EAAC,CAAC;QAC7D,YAAO,GAAG,KAAK,CAA4C,SAAS,8EAAC,CAAC;QAC/E,6GAA6G;QACpG,eAAU,GAAG,KAAK,CAA4C,SAAS,iFAAC,CAAC;QACzE,WAAM,GAAG,KAAK,CAAgF,SAAS,6EAAC,CAAC;QACzG,aAAQ,GAAG,KAAK,CAAkC,SAAS,+EAAC,CAAC;QAC7D,cAAS,GAAG,KAAK,CAAwB,SAAS,gFAAC,CAAC;QACpD,YAAO,GAAG,KAAK,CAAsD,SAAS,8EAAC,CAAC;QAChF,gBAAW,GAAG,KAAK,CAA8B,SAAS,kFAAC,CAAC;QACrE,gGAAgG;QACvF,UAAK,GAAG,KAAK,CAAyB,SAAS,4EAAC,CAAC;QACjD,iBAAY,GAAG,KAAK,CAAgC,SAAS,mFAAC,CAAC;QACxE,6DAA6D;QACpD,UAAK,GAAG,KAAK,CAAyB,SAAS,4EAAC,CAAC;QAC1D,6DAA6D;QACpD,SAAI,GAAG,KAAK,CAAwB,SAAS,2EAAC,CAAC;QACxD,yCAAyC;QAChC,cAAS,GAAG,KAAK,CAAU,KAAK,gFAAC,CAAC;QAC3C,2EAA2E;QAClE,eAAU,GAAG,KAAK,CAA8B,SAAS,iFAAC,CAAC;QACpE,2EAA2E;QAClE,aAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC,CAAC;QAC1C,gFAAgF;QACvE,eAAU,GAAG,KAAK,CAAU,KAAK,iFAAC,CAAC;QAC5C;;;;WAIG;QACM,eAAU,GAAG,KAAK,CAA6B,SAAS,iFAAC,CAAC;QACnE;;;;;WAKG;QACM,WAAM,GAAG,KAAK,CAAuB,SAAS,6EAAC,CAAC;QACzD,8GAA8G;QACrG,aAAQ,GAAG,KAAK,CAA0B,SAAS,+EAAC,CAAC;QAC9D,kIAAkI;QACzH,eAAU,GAAG,KAAK,CAAwB,SAAS,iFAAC,CAAC;QAC9D,2HAA2H;QAClH,YAAO,GAAG,KAAK,CAA2B,SAAS,8EAAC,CAAC;QAC9D,6DAA6D;QACpD,gBAAW,GAAG,KAAK,CAA+B,SAAS,kFAAC,CAAC;QAE7D,UAAK,GAAG,MAAM,EAAgB,CAAC;QAC/B,WAAM,GAAG,MAAM,EAAiB,CAAC;QAC1C,yDAAyD;QAChD,eAAU,GAAG,MAAM,EAAY,CAAC;QACzC;;;;WAIG;QACM,gBAAW,GAAG,MAAM,EAAwB,CAAC;QACtD,0BAA0B;QACjB,SAAI,GAAG,MAAM,EAAsB,CAAC;QAC7C,4CAA4C;QACnC,SAAI,GAAG,MAAM,EAAsB,CAAC;QAC7C,mCAAmC;QAC1B,SAAI,GAAG,MAAM,EAAsB,CAAC;QAC7C,+DAA+D;QACtD,QAAG,GAAG,MAAM,EAAqB,CAAC;QAC3C,kGAAkG;QACzF,WAAM,GAAG,MAAM,EAAsB,CAAC;QAC/C,sGAAsG;QAC7F,YAAO,GAAG,MAAM,EAAyB,CAAC;QAC1C,cAAS,GAAG,MAAM,EAA2B,CAAC;QAC9C,WAAM,GAAG,MAAM,EAAwB,CAAC;QAEhC,kBAAa,GAAG,eAAe,CAAC,oBAAoB,oFAAC,CAAC;QACtD,SAAI,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;QACnD,UAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjC,QAAG,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;QAC7B,aAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEhD,WAAM,GAAwB,IAAI,CAAC;QACnC,eAAU,GAA4B,EAAE,CAAC;QACzC,aAAQ,GAA0C,EAAE,CAAC;QAG3D,2EAA2E;QAC3E,MAAM,CAAC,GAAG,EAAE;YACV,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;gBACvB,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;gBACrB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC7B,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;aACrE,CAAC;YACF,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,EAAE;YACV,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,EAAE;YACV,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,SAAS,CAAC,GAAG,EAAE;gBACb,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,QAAQ;oBAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC9F,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,OAA+P;QAC3Q,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,OAAO,GAAkC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACrE,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YACnE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YAChG,MAAM,GAAG,GAAG,CAAC,GAA0B,EAAE,IAAY,EAAE,KAAc,EAAE,EAAE;gBACvE,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE;gBACzB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAClD,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;gBAC5B,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5F,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/B,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/B,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/B,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACnF,OAAO;oBACL,OAAO,EAAE,GAAG;oBACZ,MAAM,EAAE,CAAC,KAAkB,EAAE,EAAE;wBAC7B,KAAK,MAAM,IAAI,IAAI,cAAc;4BAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjE,CAAC;oBACD,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAc,6CAA6C,CAAC,EAAE,KAAK,EAAE;iBACpG,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAiC,EAAE,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;gBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/H,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS;oBAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACjD,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACjB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO;YACP,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE;YAC5B,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;YACD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;+GArOU,oBAAoB;mGAApB,oBAAoB,6zIAoFkB,oBAAoB,6CAxF3D,EAAE;;4FAID,oBAAoB;kBANhC,SAAS;+BACE,cAAc,YACd,EAAE,mBAEK,uBAAuB,CAAC,MAAM;sqHAsFE,oBAAoB"}
|