@piying/view-angular 3.0.0 → 3.0.1
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.
|
@@ -14,7 +14,8 @@ const PI_INPUT_MODEL_TOKEN = new InjectionToken('PI_INPUT_MODEL');
|
|
|
14
14
|
* core
|
|
15
15
|
*/
|
|
16
16
|
const PI_VIEW_FIELD_TOKEN = PI_VIEW_FIELD_TOKEN$1;
|
|
17
|
-
const
|
|
17
|
+
const PI_VIEW_FIELD_TEMPLATE_REF_TOKEN = new InjectionToken('PI_VIEW_TEMPLATE_REF');
|
|
18
|
+
const PI_VIEW_NEXT_TEMPLATE_REF_TOKEN = new InjectionToken('PI_VIEW_NEXT_TEMPLATE_REF');
|
|
18
19
|
/** todo 用以前的? */
|
|
19
20
|
const PI_VIEW_COMPONENT_LIST_TOKEN = new InjectionToken('PI_VIEW_COMPONENT_LIST');
|
|
20
21
|
/**
|
|
@@ -31,7 +32,7 @@ class PiyingViewGroupBase {
|
|
|
31
32
|
children$$ = computed(() => this.field$$().children());
|
|
32
33
|
fixedChildren$$ = computed(() => this.field$$().fixedChildren?.() ?? []);
|
|
33
34
|
restChildren$$ = computed(() => this.field$$().restChildren?.() ?? []);
|
|
34
|
-
fieldTemplateRef = inject(
|
|
35
|
+
fieldTemplateRef = inject(PI_VIEW_FIELD_TEMPLATE_REF_TOKEN);
|
|
35
36
|
injector = inject(Injector);
|
|
36
37
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: PiyingViewGroupBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
37
38
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.3", type: PiyingViewGroupBase, isStandalone: true, ngImport: i0 });
|
|
@@ -303,7 +304,6 @@ function createEventsDirective(events) {
|
|
|
303
304
|
// 没有保存
|
|
304
305
|
class FieldOutlet {
|
|
305
306
|
fieldOutlet = input.required();
|
|
306
|
-
nextTemplateRef = input.required();
|
|
307
307
|
index = input(0);
|
|
308
308
|
injector = input.required();
|
|
309
309
|
listen = input();
|
|
@@ -361,7 +361,6 @@ class FieldOutlet {
|
|
|
361
361
|
const evInjector = injector.get(EnvironmentInjector);
|
|
362
362
|
const index = this.index();
|
|
363
363
|
/** 用于wrapper的槽传递 */
|
|
364
|
-
const templateRef = this.nextTemplateRef();
|
|
365
364
|
let createProjectableNodes;
|
|
366
365
|
let typeDefine = this.#wrappers()[index];
|
|
367
366
|
const cmpInjector = signal(undefined);
|
|
@@ -370,11 +369,11 @@ class FieldOutlet {
|
|
|
370
369
|
const componentList = injector.get(PI_VIEW_COMPONENT_LIST_TOKEN);
|
|
371
370
|
/** 包装器 */
|
|
372
371
|
if (typeDefine) {
|
|
373
|
-
const embRef = this.#viewRef.createEmbeddedView(
|
|
372
|
+
const embRef = this.#viewRef.createEmbeddedView(injector.get(PI_VIEW_NEXT_TEMPLATE_REF_TOKEN), {
|
|
374
373
|
injector: cmpInjector,
|
|
375
374
|
index: index + 1,
|
|
376
375
|
fieldConfig: this.fieldOutlet(),
|
|
377
|
-
});
|
|
376
|
+
}, { injector: injector });
|
|
378
377
|
createProjectableNodes = () => [embRef.rootNodes];
|
|
379
378
|
directivesList = [];
|
|
380
379
|
}
|
|
@@ -448,7 +447,7 @@ class FieldOutlet {
|
|
|
448
447
|
this.#dispose();
|
|
449
448
|
}
|
|
450
449
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: FieldOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
451
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.3", type: FieldOutlet, isStandalone: true, selector: "[fieldOutlet]", inputs: { fieldOutlet: { classPropertyName: "fieldOutlet", publicName: "fieldOutlet", isSignal: true, isRequired: true, transformFunction: null },
|
|
450
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.3", type: FieldOutlet, isStandalone: true, selector: "[fieldOutlet]", inputs: { fieldOutlet: { classPropertyName: "fieldOutlet", publicName: "fieldOutlet", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, injector: { classPropertyName: "injector", publicName: "injector", isSignal: true, isRequired: true, transformFunction: null }, listen: { classPropertyName: "listen", publicName: "listen", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0 });
|
|
452
451
|
}
|
|
453
452
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: FieldOutlet, decorators: [{
|
|
454
453
|
type: Directive,
|
|
@@ -458,23 +457,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImpor
|
|
|
458
457
|
}]
|
|
459
458
|
}] });
|
|
460
459
|
|
|
461
|
-
class TemplatePipe {
|
|
462
|
-
transform(injector, templateRef) {
|
|
463
|
-
return Injector.create({
|
|
464
|
-
providers: [
|
|
465
|
-
{ provide: PI_VIEW_TEMPLATE_REF_TOKEN, useValue: templateRef },
|
|
466
|
-
],
|
|
467
|
-
parent: injector,
|
|
468
|
-
});
|
|
469
|
-
}
|
|
470
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: TemplatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
471
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.3", ngImport: i0, type: TemplatePipe, isStandalone: true, name: "templateInjector" });
|
|
472
|
-
}
|
|
473
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: TemplatePipe, decorators: [{
|
|
474
|
-
type: Pipe,
|
|
475
|
-
args: [{ name: 'templateInjector' }]
|
|
476
|
-
}] });
|
|
477
|
-
|
|
478
460
|
class ListenPipe {
|
|
479
461
|
transform(value, ...args) {
|
|
480
462
|
return [value, ...args];
|
|
@@ -519,6 +501,8 @@ const DefaultConvertOptions = {
|
|
|
519
501
|
};
|
|
520
502
|
class PiyingView {
|
|
521
503
|
templateRef = viewChild.required('templateRef');
|
|
504
|
+
fieldTemplate = viewChild.required('fieldTemplate');
|
|
505
|
+
nextTemplate = viewChild.required('nextTemplate');
|
|
522
506
|
selectorless = input(false);
|
|
523
507
|
schema = input.required();
|
|
524
508
|
model = input(undefined);
|
|
@@ -541,7 +525,21 @@ class PiyingView {
|
|
|
541
525
|
#builderInjector;
|
|
542
526
|
resolvedField$ = signal(undefined);
|
|
543
527
|
#listenDispose;
|
|
544
|
-
injector3$$ = computed(() =>
|
|
528
|
+
injector3$$ = computed(() => {
|
|
529
|
+
return Injector.create({
|
|
530
|
+
providers: [
|
|
531
|
+
{
|
|
532
|
+
provide: PI_VIEW_FIELD_TEMPLATE_REF_TOKEN,
|
|
533
|
+
useValue: this.fieldTemplate(),
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
provide: PI_VIEW_NEXT_TEMPLATE_REF_TOKEN,
|
|
537
|
+
useValue: this.nextTemplate(),
|
|
538
|
+
},
|
|
539
|
+
],
|
|
540
|
+
parent: this.resolvedField$().injector,
|
|
541
|
+
});
|
|
542
|
+
});
|
|
545
543
|
#fieldRoot = Injector.create({
|
|
546
544
|
providers: [
|
|
547
545
|
{
|
|
@@ -606,18 +604,17 @@ class PiyingView {
|
|
|
606
604
|
this.#listenDispose?.();
|
|
607
605
|
}
|
|
608
606
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: PiyingView, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
609
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: PiyingView, isStandalone: true, selector: "piying-view", inputs: { selectorless: { classPropertyName: "selectorless", publicName: "selectorless", isSignal: true, isRequired: false, transformFunction: null }, schema: { classPropertyName: "schema", publicName: "schema", isSignal: true, isRequired: true, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { modelChange: "modelChange" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["templateRef"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template\n #nextTemplate\n let-injector=\"injector\"\n let-index=\"index\"\n let-fieldConfig=\"fieldConfig\"\n>\n @if (injector(); as injector) {\n <ng-template\n [fieldOutlet]=\"fieldConfig\"\n [index]=\"index\"\n [
|
|
607
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: PiyingView, isStandalone: true, selector: "piying-view", inputs: { selectorless: { classPropertyName: "selectorless", publicName: "selectorless", isSignal: true, isRequired: false, transformFunction: null }, schema: { classPropertyName: "schema", publicName: "schema", isSignal: true, isRequired: true, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { modelChange: "modelChange" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["templateRef"], descendants: true, isSignal: true }, { propertyName: "fieldTemplate", first: true, predicate: ["fieldTemplate"], descendants: true, isSignal: true }, { propertyName: "nextTemplate", first: true, predicate: ["nextTemplate"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template\n #nextTemplate\n let-injector=\"injector\"\n let-index=\"index\"\n let-fieldConfig=\"fieldConfig\"\n>\n @if (injector(); as injector) {\n <ng-template\n [fieldOutlet]=\"fieldConfig\"\n [index]=\"index\"\n [injector]=\"injector\"\n ></ng-template>\n }\n</ng-template>\n\n<ng-template #fieldTemplate let-field let-injector=\"injector\">\n @let renderConfig = field.renderConfig();\n @if (field.define && !renderConfig?.hidden) {\n @let define = field.define();\n <ng-template\n [fieldOutlet]=\"field\"\n [index]=\"0\"\n [injector]=\"injector ?? injector3$$() | listInjector\"\n [listen]=\"\n field.wrappers()\n | listen\n : (define.inputs | inputKeys)\n : (define.outputs | inputKeys)\n : define.type\n \"\n ></ng-template>\n }\n</ng-template>\n\n<ng-template #templateRef>\n @if (resolvedField$(); as field) {\n <ng-container\n *ngTemplateOutlet=\"\n fieldTemplate;\n context: {\n $implicit: field,\n injector: injector3$$(),\n }\n \"\n ></ng-container>\n }\n</ng-template>\n@if (!selectorless()) {\n <ng-container *ngTemplateOutlet=\"templateRef\"></ng-container>\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: FieldOutlet, selector: "[fieldOutlet]", inputs: ["fieldOutlet", "index", "injector", "listen"] }, { kind: "pipe", type: ListenPipe, name: "listen" }, { kind: "pipe", type: InputsPipe, name: "inputKeys" }, { kind: "pipe", type: ListInjectorPipe, name: "listInjector" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
610
608
|
}
|
|
611
609
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: PiyingView, decorators: [{
|
|
612
610
|
type: Component,
|
|
613
611
|
args: [{ selector: 'piying-view', imports: [
|
|
614
612
|
NgTemplateOutlet,
|
|
615
613
|
FieldOutlet,
|
|
616
|
-
TemplatePipe,
|
|
617
614
|
ListenPipe,
|
|
618
615
|
InputsPipe,
|
|
619
616
|
ListInjectorPipe,
|
|
620
|
-
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template\n #nextTemplate\n let-injector=\"injector\"\n let-index=\"index\"\n let-fieldConfig=\"fieldConfig\"\n>\n @if (injector(); as injector) {\n <ng-template\n [fieldOutlet]=\"fieldConfig\"\n [index]=\"index\"\n [
|
|
617
|
+
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template\n #nextTemplate\n let-injector=\"injector\"\n let-index=\"index\"\n let-fieldConfig=\"fieldConfig\"\n>\n @if (injector(); as injector) {\n <ng-template\n [fieldOutlet]=\"fieldConfig\"\n [index]=\"index\"\n [injector]=\"injector\"\n ></ng-template>\n }\n</ng-template>\n\n<ng-template #fieldTemplate let-field let-injector=\"injector\">\n @let renderConfig = field.renderConfig();\n @if (field.define && !renderConfig?.hidden) {\n @let define = field.define();\n <ng-template\n [fieldOutlet]=\"field\"\n [index]=\"0\"\n [injector]=\"injector ?? injector3$$() | listInjector\"\n [listen]=\"\n field.wrappers()\n | listen\n : (define.inputs | inputKeys)\n : (define.outputs | inputKeys)\n : define.type\n \"\n ></ng-template>\n }\n</ng-template>\n\n<ng-template #templateRef>\n @if (resolvedField$(); as field) {\n <ng-container\n *ngTemplateOutlet=\"\n fieldTemplate;\n context: {\n $implicit: field,\n injector: injector3$$(),\n }\n \"\n ></ng-container>\n }\n</ng-template>\n@if (!selectorless()) {\n <ng-container *ngTemplateOutlet=\"templateRef\"></ng-container>\n}\n" }]
|
|
621
618
|
}] });
|
|
622
619
|
|
|
623
620
|
const rawConfig = rawConfig$1;
|
|
@@ -749,5 +746,5 @@ function typedComponent(input) {
|
|
|
749
746
|
* Generated bundle index. Do not edit.
|
|
750
747
|
*/
|
|
751
748
|
|
|
752
|
-
export { AngularFormBuilder, AttributesDirective, BaseControl, EventsDirective, NgSchemaHandle, PI_COMPONENT_INDEX, PI_COMPONENT_LIST, PI_COMPONENT_LIST_LISTEN, PI_INPUT_MODEL_TOKEN, PI_INPUT_OPTIONS_TOKEN, PI_INPUT_SCHEMA_TOKEN, PI_VIEW_COMPONENT_LIST_TOKEN, PI_VIEW_FIELD_TOKEN,
|
|
749
|
+
export { AngularFormBuilder, AttributesDirective, BaseControl, EventsDirective, NgSchemaHandle, PI_COMPONENT_INDEX, PI_COMPONENT_LIST, PI_COMPONENT_LIST_LISTEN, PI_INPUT_MODEL_TOKEN, PI_INPUT_OPTIONS_TOKEN, PI_INPUT_SCHEMA_TOKEN, PI_VIEW_COMPONENT_LIST_TOKEN, PI_VIEW_FIELD_TEMPLATE_REF_TOKEN, PI_VIEW_FIELD_TOKEN, PI_VIEW_NEXT_TEMPLATE_REF_TOKEN, PiyingView, PiyingViewGroup, PiyingViewGroupBase, actions, directives, rawConfig, typedComponent };
|
|
753
750
|
//# sourceMappingURL=piying-view-angular.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piying-view-angular.mjs","sources":["../../../projects/view-angular/lib/type/view-token.ts","../../../projects/view-angular/lib/component/group/component.base.ts","../../../projects/view-angular/lib/component/group/component.ts","../../../projects/view-angular/lib/component/group/component.html","../../../projects/view-angular/lib/builder.ts","../../../projects/view-angular/lib/schema/ng-schema.ts","../../../projects/view-angular/lib/util/async-cache.ts","../../../projects/view-angular/lib/directives/attributes.directive.ts","../../../projects/view-angular/lib/directives/events.directive.ts","../../../projects/view-angular/lib/directives/interop_ng_control.ts","../../../projects/view-angular/lib/directives/field-control-directive.ts","../../../projects/view-angular/lib/hook/chained_injector.ts","../../../projects/view-angular/lib/directives/field-outlet.directive.ts","../../../projects/view-angular/lib/pipe/template.pipe.ts","../../../projects/view-angular/lib/pipe/listen.pipe.ts","../../../projects/view-angular/lib/pipe/list-injector.pipe.ts","../../../projects/view-angular/lib/view.component.ts","../../../projects/view-angular/lib/view.component.html","../../../projects/view-angular/lib/schema/action/raw-config.ts","../../../projects/view-angular/lib/schema/action/directive.ts","../../../projects/view-angular/lib/schema/action/index.ts","../../../projects/view-angular/lib/component/form/control.base.component.ts","../../../projects/view-angular/lib/util/typed-component.ts","../../../projects/view-angular/piying-view-angular.ts"],"sourcesContent":["/** component */\n\nimport {\n InjectionToken,\n Signal,\n EventEmitter,\n TemplateRef,\n ComponentRef,\n} from '@angular/core';\nimport { DynamicComponentConfig } from './component';\nimport { SetOptional } from '@piying/view-angular-core';\nimport { NgConvertOptions } from './builder-type';\nimport { PiViewConfig } from './view-config';\nimport * as v from 'valibot';\nimport { PI_VIEW_FIELD_TOKEN as PVFT } from '@piying/view-angular-core';\nexport const PI_INPUT_OPTIONS_TOKEN = new InjectionToken<\n Signal<\n Omit<\n SetOptional<NgConvertOptions, 'builder' | 'handle'>,\n 'fieldGlobalConfig'\n > & { fieldGlobalConfig?: PiViewConfig }\n >\n>('PI_INPUT_OPTIONS');\nexport const PI_INPUT_SCHEMA_TOKEN = new InjectionToken<\n Signal<v.BaseSchema<any, any, any> | v.SchemaWithPipe<any>>\n>('PI_INPUT_SCHEMA');\nexport const PI_INPUT_MODEL_TOKEN = new InjectionToken<Signal<any>>(\n 'PI_INPUT_MODEL',\n);\n/** wrapper中可以使用,已解析的配置\n * core\n */\nexport const PI_VIEW_FIELD_TOKEN = PVFT;\nexport const PI_VIEW_TEMPLATE_REF_TOKEN = new InjectionToken<TemplateRef<any>>(\n 'PI_VIEW_TEMPLATE_REF',\n);\n/** todo 用以前的? */\nexport const PI_VIEW_COMPONENT_LIST_TOKEN = new InjectionToken<\n ComponentRef<any>[]\n>('PI_VIEW_COMPONENT_LIST');\n\n/**\n * @internal\n * 内部传参用\n */\nexport const PI_COMPONENT_LIST = new InjectionToken<DynamicComponentConfig[]>(\n 'PI_COMPONENT_LIST',\n);\nexport const PI_COMPONENT_INDEX = new InjectionToken<number>(\n 'PI_COMPONENT_INDEX',\n);\nexport const PI_COMPONENT_LIST_LISTEN = new InjectionToken<\n EventEmitter<DynamicComponentConfig[]>\n>('PI_COMPONENT_LIST_LISTEN');\n","import { computed, Directive, inject, Injector } from '@angular/core';\nimport { PI_VIEW_FIELD_TOKEN, PI_VIEW_TEMPLATE_REF_TOKEN } from '../../type';\n\n@Directive()\nexport class PiyingViewGroupBase {\n field$$ = inject(PI_VIEW_FIELD_TOKEN);\n props$$ = computed(() => this.field$$().props());\n children$$ = computed(() => this.field$$().children!());\n fixedChildren$$ = computed(() => this.field$$().fixedChildren?.() ?? []);\n restChildren$$ = computed(() => this.field$$().restChildren?.() ?? []);\n fieldTemplateRef = inject(PI_VIEW_TEMPLATE_REF_TOKEN);\n\n injector = inject(Injector);\n}\n","import { ChangeDetectionStrategy, Component, viewChild } from '@angular/core';\n\nimport { PiyingViewGroupBase } from './component.base';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'piying-view-group',\n imports: [NgTemplateOutlet],\n templateUrl: './component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PiyingViewGroup extends PiyingViewGroupBase {\n static __version = 2;\n templateRef = viewChild.required('templateRef');\n}\n","<ng-template #templateRef>\n @for (field of children$$(); track field.id || $index) {\n <ng-container\n *ngTemplateOutlet=\"\n fieldTemplateRef;\n context: { $implicit: field, injector }\n \"\n ></ng-container>\n }\n</ng-template>\n","import { PiResolvedViewFieldConfig } from './type';\nimport { Injectable } from '@angular/core';\n\nimport { FormBuilder } from '@piying/view-angular-core';\nimport { NgSchemaHandle } from './schema/ng-schema';\n\n@Injectable()\nexport class AngularFormBuilder extends FormBuilder<NgSchemaHandle> {\n override afterResolveConfig(\n rawConfig: NgSchemaHandle,\n config: PiResolvedViewFieldConfig,\n ): PiResolvedViewFieldConfig {\n const field = rawConfig;\n\n config.directives = field.directives;\n return config;\n }\n}\n","import { combineSignal, CoreSchemaHandle } from '@piying/view-angular-core';\nimport { PiResolvedViewFieldConfig, NgDirectiveConfig } from '../type';\n\nexport class NgSchemaHandle extends CoreSchemaHandle<\n NgSchemaHandle,\n () => PiResolvedViewFieldConfig\n> {\n declare type: any;\n directives = combineSignal<NgDirectiveConfig>([]);\n}\n","import { reflectComponentType, Type } from '@angular/core';\nexport function isComponentType(input: any): input is Type<any> {\n return !!reflectComponentType(input as any);\n}\n","import {\n Directive,\n ElementRef,\n inject,\n input,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[attributes]',\n})\nexport class AttributesDirective {\n attributes = input.required<Record<string, any>>();\n excludes = input<string[]>([]);\n #rederer = inject(Renderer2);\n #el = inject(ElementRef).nativeElement;\n ngOnChanges(changes: SimpleChanges): void {\n const { previousValue, currentValue, firstChange } = changes['attributes'];\n for (const key in currentValue) {\n if (this.excludes().includes(key)) {\n continue;\n }\n this.#rederer.setAttribute(this.#el, key, currentValue[key]);\n }\n if (!firstChange) {\n for (const key in previousValue) {\n if (this.excludes().includes(key)) {\n continue;\n }\n if (!(key in currentValue)) {\n this.#rederer.removeAttribute(this.#el, key);\n }\n }\n }\n }\n}\n","import { Directive, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[events]',\n})\nexport class EventsDirective {\n events = input.required<Record<string, (event: any) => any>>();\n #renderer = inject(Renderer2);\n #el = inject(ElementRef).nativeElement;\n #cleanList: (() => void)[] = [];\n ngOnChanges(): void {\n this.#clean();\n this.#cleanList = [];\n for (const key in this.events()) {\n const event = this.events()[key];\n this.#cleanList.push(this.#renderer.listen(this.#el, key, event));\n }\n }\n #clean() {\n this.#cleanList.forEach((fn) => fn());\n }\n ngOnDestroy(): void {\n this.#clean();\n }\n}\n","import {\n NgControl,\n Validators,\n type AbstractControl,\n type ValidationErrors,\n} from '@angular/forms';\nimport { FieldControl, PENDING } from '@piying/view-angular-core';\n\nexport type InteropSharedKeys =\n | 'value'\n | 'valid'\n | 'invalid'\n | 'touched'\n | 'untouched'\n | 'disabled'\n | 'enabled'\n | 'errors'\n | 'pristine'\n | 'dirty';\n\nexport class InteropNgControl extends NgControl {\n constructor(protected field: () => FieldControl<unknown>) {\n super();\n }\n\n readonly control: AbstractControl<any, any> =\n this as unknown as AbstractControl<any, any>;\n\n override get value(): any {\n return this.field().value;\n }\n\n override get valid(): boolean {\n return this.field().valid;\n }\n\n override get invalid(): boolean {\n return !this.field().valid;\n }\n\n override get pending(): boolean | null {\n return this.field().status$$() === PENDING;\n }\n\n override get disabled(): boolean {\n return this.field().disabled;\n }\n\n override get enabled(): boolean {\n return !this.field().disabled;\n }\n\n override get errors(): ValidationErrors | null {\n const errors = this.field().errors;\n return errors ?? null;\n }\n\n override get pristine(): boolean {\n return this.field().pristine;\n }\n\n override get dirty(): boolean {\n return this.field().dirty;\n }\n\n override get touched(): boolean {\n return this.field().touched;\n }\n\n override get untouched(): boolean {\n return !this.field().touched;\n }\n\n get submitted(): boolean {\n return false;\n }\n\n override viewToModelUpdate(newValue: any): void {}\n override get valueChanges() {\n return this.field().valueChanges;\n }\n override get statusChanges() {\n return this.field().statusChanges;\n }\n hasValidator(input: any) {\n if (Validators.required === input) {\n return this.field().required$$();\n }\n return false;\n }\n}\n","import {\n Directive,\n inject,\n Injector,\n input,\n OnDestroy,\n Provider,\n} from '@angular/core';\n\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n NgControl,\n} from '@angular/forms';\nimport { createViewControlLink, FieldControl } from '@piying/view-angular-core';\nimport { InteropNgControl } from './interop_ng_control';\n\nconst formControlBinding: Provider = {\n provide: NgControl,\n useFactory: () => inject(FieldControlDirective).ngControl,\n};\n\n@Directive({\n selector: '[fieldControl]',\n providers: [formControlBinding],\n standalone: true,\n})\nexport class FieldControlDirective implements OnDestroy {\n fieldControl = input.required<FieldControl>();\n readonly cvaArray = inject<ControlValueAccessor[]>(NG_VALUE_ACCESSOR);\n readonly injector = inject(Injector);\n\n get cva() {\n return this.cvaArray[0];\n }\n #_ngControl: InteropNgControl | undefined;\n\n get ngControl(): NgControl {\n return (this.#_ngControl ??= new InteropNgControl(() =>\n this.fieldControl(),\n )) as unknown as NgControl;\n }\n\n #disposeFn?: (destroyed?: boolean) => void;\n ngOnChanges(): void {\n this.#disposeFn?.();\n this.#disposeFn = createViewControlLink(\n this.fieldControl,\n this.cva,\n this.injector,\n );\n }\n\n /** @docs-private */\n ngOnDestroy() {\n this.#disposeFn?.(true);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport { Injector, ProviderToken, InjectOptions } from '@angular/core';\n\nconst NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR = {};\n/**\n * Injector that looks up a value using a specific injector, before falling back to the module\n * injector. Used primarily when creating components or embedded views dynamically.\n */\nexport class ChainedInjector implements Injector {\n constructor(\n public injector: Injector,\n public parentInjector: Injector,\n ) {}\n\n get<T>(\n token: ProviderToken<T>,\n notFoundValue?: T,\n options?: InjectOptions,\n ): T {\n const value = this.injector.get<\n T | typeof NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR\n >(token, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, options);\n\n if (\n value !== NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR ||\n notFoundValue === (NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as unknown as T)\n ) {\n // Return the value from the root element injector when\n // - it provides it\n // (value !== NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR)\n // - the module injector should not be checked\n // (notFoundValue === NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR)\n return value as T;\n }\n\n return this.parentInjector.get(token, notFoundValue, options);\n }\n}\n","import {\n ApplicationRef,\n ComponentRef,\n computed,\n createComponent,\n createNgModule,\n Directive,\n EnvironmentInjector,\n inject,\n Injector,\n input,\n inputBinding,\n NgModuleRef,\n outputBinding,\n PendingTasks,\n reflectComponentType,\n signal,\n Signal,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n PiResolvedViewFieldConfig,\n ComponentRawType,\n NgDirectiveConfig,\n PI_VIEW_COMPONENT_LIST_TOKEN,\n} from '../type';\nimport {\n ComponentVersion,\n DynamicComponentConfig,\n NgComponentDefine,\n} from '../type/component';\nimport { isComponentType } from '../util/async-cache';\nimport {\n asyncObjectSignal,\n getLazyImport,\n isLazyMark,\n ViewAttributes,\n ViewEvents,\n ViewInputs,\n ViewOutputs,\n} from '@piying/view-angular-core';\n\nimport { AttributesDirective } from './attributes.directive';\nimport { EventsDirective } from './events.directive';\nimport { FieldControlDirective } from './field-control-directive';\nimport { DirectiveConfig } from '../component/dynamic-define.component';\nimport { ChainedInjector } from '../hook/chained_injector';\nfunction createInputsBind(inputs?: Signal<ViewInputs | undefined>) {\n if (!inputs?.()) {\n return [];\n }\n return Object.keys(inputs()!).map((key) =>\n inputBinding(\n key,\n computed(() => inputs()![key]),\n ),\n );\n}\nfunction createOutputsBind(outputs?: Signal<ViewOutputs>) {\n if (!outputs?.()) {\n return [];\n }\n return Object.keys(outputs!()!).map((key) =>\n outputBinding(key, (event) => outputs!()),\n );\n}\nfunction createAttributesDirective(\n attributes: Signal<ViewAttributes | undefined>,\n) {\n if (attributes()) {\n return [\n {\n type: AttributesDirective,\n bindings: [inputBinding('attributes', attributes)],\n },\n ];\n }\n return [];\n}\nfunction createEventsDirective(events: Signal<ViewEvents | undefined>) {\n if (events()) {\n return [\n {\n type: EventsDirective,\n bindings: [inputBinding('events', events)],\n },\n ];\n }\n return [];\n}\n// 没有保存\n@Directive({\n selector: '[fieldOutlet]',\n standalone: true,\n})\nexport class FieldOutlet {\n fieldOutlet = input.required<PiResolvedViewFieldConfig>();\n nextTemplateRef = input.required<\n TemplateRef<{\n injector: Signal<Injector | undefined>;\n index: number;\n fieldConfig: PiResolvedViewFieldConfig;\n }>\n >();\n index = input(0);\n injector = input.required<Injector>();\n listen = input<any>();\n #isGroup$$ = computed(() => {\n const define = this.fieldOutlet();\n return define?.fixedChildren || define?.restChildren;\n });\n #control = computed(() => this.fieldOutlet().form.control);\n #formControlDirectiveConfig$$ = computed(() => {\n const isGroup = this.#isGroup$$();\n return !isGroup && this.#control()\n ? ({\n type: FieldControlDirective,\n inputs: asyncObjectSignal({ fieldControl: this.#control() }),\n } as DirectiveConfig)\n : undefined;\n });\n /* 组件的指令 **/\n #directiveConfigList$$ = computed(() => {\n const directivesInputs = this.fieldOutlet().directives!() ?? [];\n const formConfig = this.#formControlDirectiveConfig$$();\n return formConfig ? [...directivesInputs, formConfig] : directivesInputs;\n });\n\n #wrappers = computed(() => this.fieldOutlet().wrappers());\n\n #viewRef = inject(ViewContainerRef);\n #task = inject(PendingTasks);\n #loadComponent(\n type: ComponentRawType,\n loadFn: (input: NgComponentDefine) => void,\n ) {\n if (isComponentType(type)) {\n loadFn({ component: type });\n return;\n }\n if (typeof type === 'function' || isLazyMark(type)) {\n this.#task.run(() =>\n getLazyImport<() => Promise<any>>(type)!()\n .then((type) => {\n if (isComponentType(type)) {\n return { component: type };\n }\n return type;\n })\n .then((data) => loadFn(data)),\n );\n return;\n }\n loadFn(type as any);\n }\n #moduleRef: NgModuleRef<any> | undefined;\n #injector$$ = computed(\n () => new ChainedInjector(this.fieldOutlet().injector, this.injector()),\n );\n #componentRef: ComponentRef<any> | undefined;\n #app = inject(ApplicationRef);\n ngOnChanges(): void {\n this.#createComponent();\n }\n #createComponent() {\n this.#dispose();\n const injector = this.#injector$$();\n const evInjector = injector.get(EnvironmentInjector);\n\n const index = this.index();\n /** 用于wrapper的槽传递 */\n const templateRef = this.nextTemplateRef();\n let createProjectableNodes: (\n componentDefine: NgComponentDefine,\n ) => Node[][];\n let typeDefine = this.#wrappers()[index] as DynamicComponentConfig;\n const cmpInjector = signal<Injector | undefined>(undefined);\n let directivesList!: NgDirectiveConfig[];\n // 改增量后,要保证列表更新时没有问题\n const componentList = injector.get(PI_VIEW_COMPONENT_LIST_TOKEN);\n\n /** 包装器 */\n if (typeDefine) {\n const embRef = this.#viewRef.createEmbeddedView(templateRef, {\n injector: cmpInjector,\n index: index + 1,\n fieldConfig: this.fieldOutlet(),\n });\n createProjectableNodes = () => [embRef.rootNodes];\n directivesList = [];\n } else {\n /** 内层组件 */\n typeDefine = this.fieldOutlet().define!() as any;\n createProjectableNodes = (componentDefine) => {\n const cm = reflectComponentType(componentDefine.component)!;\n const templateSlots = typeDefine.slots!();\n const templateRefList = cm.ngContentSelectors.map(\n (key) => templateSlots[key] as TemplateRef<any> | undefined,\n );\n const viewRefList = templateRefList.map((item) =>\n item ? this.#viewRef.createEmbeddedView(item) : undefined,\n );\n return viewRefList.map((item) => item?.rootNodes ?? []);\n };\n directivesList = this.#directiveConfigList$$();\n }\n this.#loadComponent(typeDefine.type, (componentDefine) => {\n const COMPONENT_VERSION: number | undefined = (\n componentDefine.component as ComponentVersion\n ).__version;\n this.#moduleRef = componentDefine.module\n ? createNgModule(componentDefine.module, injector)\n : undefined;\n const evInjector2 = this.#moduleRef?.injector ?? evInjector;\n const componentRef = createComponent(componentDefine.component, {\n elementInjector: injector,\n environmentInjector: evInjector2,\n\n bindings: [\n ...createInputsBind(typeDefine.inputs),\n ...createOutputsBind(typeDefine.outputs),\n ],\n directives: [\n ...directivesList.map((item) => ({\n type: item.type,\n bindings: [\n ...createInputsBind(item.inputs),\n ...createOutputsBind(item.outputs),\n ],\n })),\n ...(COMPONENT_VERSION === 2\n ? []\n : [\n ...createAttributesDirective(typeDefine.attributes),\n ...createEventsDirective(typeDefine.events),\n ]),\n ],\n projectableNodes: createProjectableNodes(componentDefine),\n });\n this.#componentRef = componentRef;\n componentList.push(componentRef);\n if (COMPONENT_VERSION === 2) {\n const templateRef = (\n componentRef.instance as { templateRef: Signal<TemplateRef<any>> }\n ).templateRef();\n this.#viewRef.createEmbeddedView(templateRef, {\n attributes: typeDefine.attributes,\n events: typeDefine.events,\n });\n this.#app.attachView(componentRef.hostView);\n componentRef.changeDetectorRef.detectChanges();\n } else {\n this.#viewRef.insert(componentRef.hostView);\n }\n\n cmpInjector.set(componentRef.injector);\n });\n }\n #dispose() {\n this.#viewRef.clear();\n this.#componentRef?.destroy();\n this.#componentRef = undefined;\n this.#moduleRef?.destroy();\n this.#moduleRef = undefined;\n }\n ngOnDestroy(): void {\n this.#dispose();\n }\n}\n","import { Injector, Pipe, PipeTransform, TemplateRef } from '@angular/core';\nimport { PI_VIEW_TEMPLATE_REF_TOKEN } from '../type';\n\n@Pipe({ name: 'templateInjector' })\nexport class TemplatePipe implements PipeTransform {\n transform(injector: Injector, templateRef: TemplateRef<any>) {\n return Injector.create({\n providers: [\n { provide: PI_VIEW_TEMPLATE_REF_TOKEN, useValue: templateRef },\n ],\n parent: injector,\n });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'listen' })\nexport class ListenPipe implements PipeTransform {\n transform(value: any, ...args: any[]) {\n return [value, ...args];\n }\n}\n@Pipe({ name: 'inputKeys' })\nexport class InputsPipe implements PipeTransform {\n transform(value: Record<string, any>) {\n return Object.keys(value).join('|');\n }\n}\n","import { Injector, Pipe, PipeTransform } from '@angular/core';\nimport { PI_VIEW_COMPONENT_LIST_TOKEN } from '../type';\n\n@Pipe({ name: 'listInjector' })\nexport class ListInjectorPipe implements PipeTransform {\n transform(injector: Injector) {\n return Injector.create({\n providers: [{ provide: PI_VIEW_COMPONENT_LIST_TOKEN, useValue: [] }],\n parent: injector,\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyableInjector,\n inject,\n Injector,\n input,\n OnChanges,\n output,\n signal,\n SimpleChanges,\n untracked,\n viewChild,\n} from '@angular/core';\n\nimport {\n PiViewConfig,\n PiResolvedViewFieldConfig,\n PI_INPUT_OPTIONS_TOKEN,\n PI_INPUT_SCHEMA_TOKEN,\n PI_INPUT_MODEL_TOKEN,\n} from './type';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n convert,\n FieldArray,\n FieldControl,\n FieldGroup,\n initListen,\n} from '@piying/view-angular-core';\nimport { AngularFormBuilder } from './builder';\nimport { NgSchemaHandle } from './schema/ng-schema';\nimport { NgConvertOptions } from './type/builder-type';\nimport type { SetOptional } from '@piying/view-angular-core';\nimport * as v from 'valibot';\nimport { FieldOutlet } from './directives/field-outlet.directive';\nimport { TemplatePipe } from './pipe/template.pipe';\nimport { InputsPipe, ListenPipe } from './pipe/listen.pipe';\nimport { ListInjectorPipe } from './pipe/list-injector.pipe';\nconst DefaultConvertOptions = {\n builder: AngularFormBuilder,\n handle: NgSchemaHandle,\n};\n@Component({\n selector: 'piying-view',\n imports: [\n NgTemplateOutlet,\n FieldOutlet,\n TemplatePipe,\n ListenPipe,\n InputsPipe,\n ListInjectorPipe,\n ],\n templateUrl: './view.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PiyingView implements OnChanges {\n templateRef = viewChild.required('templateRef');\n readonly selectorless = input<boolean>(false);\n schema = input.required<v.BaseSchema<any, any, any>>();\n model = input<any>(undefined);\n modelChange = output<any>();\n options = input<\n Omit<\n SetOptional<NgConvertOptions, 'builder' | 'handle'>,\n 'fieldGlobalConfig'\n > & { fieldGlobalConfig?: PiViewConfig }\n >();\n form$$ = computed(\n () =>\n this.resolvedField$()?.form.control as\n | (FieldControl | FieldGroup | FieldArray)\n | undefined,\n );\n\n #lastRF?: PiResolvedViewFieldConfig;\n ngOnChanges(changes: SimpleChanges): void {\n const rFields = this.#resolvedFields$$();\n if (this.#lastRF !== rFields || 'model' in changes) {\n this.#updateValue(this.model());\n }\n this.#lastRF = rFields;\n }\n\n #resolvedFields$$ = computed(() => {\n this.schema();\n return untracked(() => this.#updateField());\n });\n\n #injector = inject(Injector);\n #builderInjector?: DestroyableInjector;\n resolvedField$ = signal<PiResolvedViewFieldConfig | undefined>(undefined);\n #listenDispose?: () => void;\n injector3$$ = computed(() => this.resolvedField$()!.injector);\n #fieldRoot = Injector.create({\n providers: [\n {\n provide: PI_INPUT_OPTIONS_TOKEN,\n useValue: this.options,\n },\n {\n provide: PI_INPUT_SCHEMA_TOKEN,\n useValue: this.schema,\n },\n {\n provide: PI_INPUT_MODEL_TOKEN,\n useValue: this.model,\n },\n ],\n parent: this.#injector,\n });\n #updateField() {\n this.#clean();\n // 临时销毁\n const envInjector = Injector.create({\n providers: [],\n parent: this.#fieldRoot,\n });\n this.#builderInjector = envInjector;\n const result = convert<PiResolvedViewFieldConfig>(this.schema() as any, {\n ...DefaultConvertOptions,\n ...this.options(),\n injector: envInjector,\n });\n this.resolvedField$.set(result);\n return result;\n }\n #clean() {\n if (this.#builderInjector) {\n this.#builderInjector.destroy();\n this.#builderInjector = undefined;\n }\n }\n\n #updateValue(model: Record<string, any> | undefined) {\n this.#listenDispose?.();\n const result = this.resolvedField$()!;\n if (result.form.control) {\n // 监听初始化,每次field变更会初始化\n const ref = initListen(\n this.model(),\n result!.form.control,\n // 使用envInjector会导致在测试中慢一次检查,生产上可能也会慢一点?\n this.#injector,\n (value) => {\n untracked(() => {\n if (result!.form.control?.valueNoError$$()) {\n this.modelChange.emit(value);\n }\n });\n },\n );\n this.#listenDispose = () => {\n ref.destroy();\n this.#listenDispose = undefined;\n };\n result.form.control.updateValue(model);\n }\n }\n\n ngOnDestroy(): void {\n this.#listenDispose?.();\n }\n}\n","<ng-template\n #nextTemplate\n let-injector=\"injector\"\n let-index=\"index\"\n let-fieldConfig=\"fieldConfig\"\n>\n @if (injector(); as injector) {\n <ng-template\n [fieldOutlet]=\"fieldConfig\"\n [index]=\"index\"\n [nextTemplateRef]=\"nextTemplate\"\n [injector]=\"injector\"\n ></ng-template>\n }\n</ng-template>\n\n<ng-template #dynamicComponent let-field let-injector=\"injector\">\n @let listij = injector ?? NewInjector | listInjector;\n @let renderConfig = field.renderConfig();\n @if (field.define && !renderConfig?.hidden) {\n @let define = field.define();\n <ng-template\n [fieldOutlet]=\"field\"\n [index]=\"0\"\n [nextTemplateRef]=\"nextTemplate\"\n [injector]=\"listij\"\n [listen]=\"\n field.wrappers()\n | listen\n : (define.inputs | inputKeys)\n : (define.outputs | inputKeys)\n : define.type\n \"\n ></ng-template>\n }\n</ng-template>\n@let NewInjector = injector3$$() | templateInjector: dynamicComponent;\n\n<ng-template #templateRef>\n @if (resolvedField$(); as field) {\n <ng-container\n *ngTemplateOutlet=\"\n dynamicComponent;\n context: {\n $implicit: field,\n injector: NewInjector,\n }\n \"\n ></ng-container>\n }\n</ng-template>\n@if (!selectorless()) {\n <ng-container *ngTemplateOutlet=\"templateRef\"></ng-container>\n}\n","import { RawConfigCommon } from '@piying/valibot-visit';\nimport { rawConfig as originRawConfig } from '@piying/view-angular-core';\nimport { NgSchemaHandle } from '../ng-schema';\nexport const rawConfig = originRawConfig as RawConfigCommon<NgSchemaHandle>;\n","import {\n asyncObjectSignal,\n mergeHooksFn,\n SetOptional,\n SetUnWrapper$,\n CustomDataSymbol,\n AnyCoreSchemaHandle,\n _PiResolvedCommonViewFieldConfig,\n AsyncObjectSignal,\n} from '@piying/view-angular-core';\nimport { NgDirectiveConfig } from '../../type';\nimport { rawConfig } from './raw-config';\nimport { Signal, signal, Type } from '@angular/core';\nimport { RawConfigAction } from '@piying/valibot-visit';\nfunction createSetOrPatchDirectivePropertyFn(isPatch?: boolean) {\n return <T>(\n items: SetOptional<\n SetUnWrapper$<\n NgDirectiveConfig,\n 'inputs' | 'outputs' | 'attributes' | 'events' | 'model'\n >,\n 'inputs' | 'outputs' | 'attributes' | 'events' | 'model'\n >[],\n ) =>\n rawConfig<T>((field) => {\n if (!isPatch) {\n field.directives.clean();\n }\n items.forEach((item) => {\n field.directives.add(\n signal<NgDirectiveConfig>({\n type: item.type,\n inputs: asyncObjectSignal(item.inputs ?? {}),\n outputs: asyncObjectSignal(item.outputs ?? {}),\n attributes: asyncObjectSignal(item.attributes ?? {}),\n events: asyncObjectSignal(item.events ?? {}),\n model: asyncObjectSignal(item.model ?? {}),\n }),\n );\n });\n });\n}\nfunction setSubInitValue<Key extends string>(\n key: Key,\n fn: () => Record<Key, AsyncObjectSignal<any>>,\n initObj: any,\n) {\n if (!Object.keys(initObj[key]).length) {\n return;\n }\n fn()[key].set(initObj[key]);\n}\nfunction patchAsyncDirective<T>(\n type: Type<any>,\n actions?: RawConfigAction<'viewRawConfig', any, any>[],\n options?: { insertIndex?: number },\n) {\n return rawConfig<T>((rawFiled) => {\n mergeHooksFn(\n {\n allFieldsResolved: (field) => {\n const initData = signal<NgDirectiveConfig>({\n type,\n attributes: asyncObjectSignal({}),\n events: asyncObjectSignal({}),\n inputs: asyncObjectSignal({}),\n outputs: asyncObjectSignal({}),\n model: asyncObjectSignal({}),\n });\n field.directives!.add(initData, options?.insertIndex);\n for (const item of actions ?? []) {\n const tempField: Partial<AnyCoreSchemaHandle> & { model: any } = {\n inputs: {},\n outputs: {},\n attributes: {},\n events: {},\n model: {},\n };\n (item.value as any)(tempField, undefined, {\n [CustomDataSymbol]: (\n rawField: AnyCoreSchemaHandle,\n field: _PiResolvedCommonViewFieldConfig,\n ) => {\n if (rawField) {\n return tempField;\n }\n return initData;\n },\n });\n setSubInitValue('inputs', initData as any, tempField);\n setSubInitValue('outputs', initData as any, tempField);\n setSubInitValue('attributes', initData as any, tempField);\n setSubInitValue('events', initData as any, tempField);\n setSubInitValue('model', initData as any, tempField);\n\n (tempField as any).hooks?.allFieldsResolved?.(field);\n }\n },\n },\n { position: 'bottom' },\n rawFiled,\n );\n });\n}\nfunction removeDirectives<T>(\n removeList: (\n list: Signal<NgDirectiveConfig>[],\n ) => Signal<NgDirectiveConfig>[],\n) {\n return rawConfig<T>((field) => {\n mergeHooksFn(\n {\n allFieldsResolved: (field) => {\n field.directives!.update(removeList);\n },\n },\n { position: 'bottom' },\n field,\n );\n });\n}\nexport const directives = {\n set: createSetOrPatchDirectivePropertyFn(),\n patch: createSetOrPatchDirectivePropertyFn(true),\n patchAsync: patchAsyncDirective,\n remove: removeDirectives,\n};\n","import { actions as coreActions } from '@piying/view-angular-core';\nimport { directives } from './directive';\nexport * from './raw-config';\nexport {\n asControl,\n condition,\n asVirtualGroup,\n layout,\n} from '@piying/view-angular-core';\nexport * from './directive';\nexport const actions = { ...coreActions, directives };\n","import { signal } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nexport class BaseControl<T = any> implements ControlValueAccessor {\n readonly defaultValue: any = undefined;\n value$ = signal<T>(this.defaultValue ?? (undefined as any));\n\n protected emitValue?: (value: any) => void;\n registerOnChange(fn: any): void {\n this.emitValue = fn;\n }\n /** 同时发射和value变更 */\n valueChange(value: T) {\n this.emitValue?.(value);\n this.value$.set(value);\n }\n\n writeValue(obj: any): void {\n this.value$.set(obj ?? undefined);\n }\n #touched?: () => void;\n registerOnTouched(fn: any): void {\n this.#touched = fn;\n }\n touchedChange() {\n this.#touched!();\n }\n valueAndTouchedChange(value: T) {\n this.valueChange(value);\n this.touchedChange();\n }\n disabled$ = signal(false);\n setDisabledState(isDisabled: boolean): void {\n this.disabled$.set(isDisabled);\n }\n}\n","import {\n actions as PresetActions,\n PiCommonConfig,\n actions,\n _PiResolvedCommonViewFieldConfig,\n setComponent,\n PiTypeConfig,\n AsyncProperty,\n} from '@piying/view-angular-core';\n\nimport {\n InputSignal,\n InputSignalWithTransform,\n OutputEmitterRef,\n Type,\n} from '@angular/core';\nimport {\n metadataList,\n MetadataListAction,\n RawConfigAction,\n} from '@piying/valibot-visit';\nimport { AnyCoreSchemaHandle } from '@piying/view-angular-core';\ntype GetKeyWithType<T, ValueType> = {\n [K in keyof T as T[K] extends ValueType\n ? T[K] extends any\n ? any extends T[K]\n ? never\n : K\n : K\n : never]: T[K];\n};\n\ntype ComponentInputs<Component> = GetKeyWithType<Component, InputSignal<any>>;\n\ntype ComponentInputsOrigin<T> = {\n [K in keyof T]: T[K] extends InputSignal<infer V>\n ? V\n : T[K] extends InputSignalWithTransform<infer V, infer D>\n ? D\n : never;\n};\ntype ComponentInputsAsync<T> = {\n [K in keyof T]: T[K] extends InputSignal<infer V>\n ? AsyncProperty<V>\n : T[K] extends InputSignalWithTransform<infer V, infer D>\n ? AsyncProperty<D>\n : never;\n};\n\ntype ComponentOutputs<Component> = GetKeyWithType<\n Component,\n OutputEmitterRef<any>\n>;\n\ntype ComponentOutputsOrigin<T> = {\n [K in keyof T]: T[K] extends OutputEmitterRef<infer V>\n ? (input: V) => void\n : never;\n};\ntype ComponentOutputsAsync<T> = {\n [K in keyof T]: T[K] extends OutputEmitterRef<infer V>\n ? AsyncProperty<(input: V) => void>\n : never;\n};\n\ntype ComponentInstance<TComponent> =\n TComponent extends Type<infer Instance> ? Instance : never;\n\n// inputs\ntype GetComponentInputs<TComponent> = ComponentInputs<\n ComponentInstance<TComponent>\n>;\n\ntype GetComponentInputsOrigin<TComponent> = Partial<\n ComponentInputsOrigin<GetComponentInputs<TComponent>>\n>;\n\ntype GetComponentInputsAsync<TComponent> = Partial<\n ComponentInputsAsync<GetComponentInputs<TComponent>>\n>;\n// outputs\ntype GetComponentOutputs<TComponent> = ComponentOutputs<\n ComponentInstance<TComponent>\n>;\n\ntype GetComponentOutputsOrigin<TComponent> = Partial<\n ComponentOutputsOrigin<GetComponentOutputs<TComponent>>\n>;\n\ntype GetComponentOutputsAsync<TComponent> = Partial<\n ComponentOutputsAsync<GetComponentOutputs<TComponent>>\n>;\ntype ReturnAction<Input> = RawConfigAction<\n 'viewRawConfig',\n Input,\n AnyCoreSchemaHandle\n>;\ntype ComponentActions<TComponent> = {\n inputs: {\n patch: <Input>(\n value: GetComponentInputsOrigin<TComponent>,\n ) => ReturnAction<Input>;\n set: <Input>(\n value: GetComponentInputsOrigin<TComponent>,\n ) => ReturnAction<Input>;\n patchAsync: <Input>(\n value: GetComponentInputsAsync<TComponent>,\n ) => ReturnAction<Input>;\n remove: <Input>(\n value: (keyof GetComponentInputs<TComponent>)[],\n ) => ReturnAction<Input>;\n mapAsync: <Input>(\n value: (\n field: _PiResolvedCommonViewFieldConfig,\n ) => (\n value: GetComponentInputs<TComponent>,\n ) => GetComponentInputs<TComponent>,\n ) => ReturnAction<Input>;\n };\n outputs: {\n patch: <Input>(\n value: GetComponentOutputsOrigin<TComponent>,\n ) => ReturnAction<Input>;\n set: <Input>(\n value: GetComponentOutputsOrigin<TComponent>,\n ) => ReturnAction<Input>;\n patchAsync: <Input>(\n value: GetComponentOutputsAsync<TComponent>,\n ) => ReturnAction<Input>;\n remove: <Input>(\n value: (keyof GetComponentOutputs<TComponent>)[],\n ) => ReturnAction<Input>;\n mapAsync: <Input>(\n value: (\n field: _PiResolvedCommonViewFieldConfig,\n ) => (\n value: GetComponentOutputs<TComponent>,\n ) => GetComponentOutputs<TComponent>,\n ) => ReturnAction<Input>;\n };\n};\n\ntype ActionComponent<A extends PiTypeConfig> =\n A['type'] extends Type<any>\n ? A['type']\n : NonNullable<A['actions']>[0]['__type'];\n\nexport function typedComponent<T extends PiCommonConfig>(\n input: T,\n): {\n define: T;\n setComponent: <TCName extends keyof T['types'] | Type<any>, K>(\n input: TCName,\n fn?: (\n actions: Omit<typeof PresetActions, 'inputs' | 'outputs'> &\n ComponentActions<\n TCName extends keyof T['types']\n ? ActionComponent<NonNullable<T['types']>[TCName]>\n : TCName\n >,\n ) => any[],\n ) => MetadataListAction<K>;\n} {\n return {\n define: input,\n setComponent(key, fn) {\n const type = typeof key === 'string' ? input.types![key].type : key;\n return metadataList(\n fn ? [setComponent(type), ...fn(actions as any)] : [setComponent(type)],\n );\n },\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["PVFT","originRawConfig","coreActions","actions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"piying-view-angular.mjs","sources":["../../../projects/view-angular/lib/type/view-token.ts","../../../projects/view-angular/lib/component/group/component.base.ts","../../../projects/view-angular/lib/component/group/component.ts","../../../projects/view-angular/lib/component/group/component.html","../../../projects/view-angular/lib/builder.ts","../../../projects/view-angular/lib/schema/ng-schema.ts","../../../projects/view-angular/lib/util/async-cache.ts","../../../projects/view-angular/lib/directives/attributes.directive.ts","../../../projects/view-angular/lib/directives/events.directive.ts","../../../projects/view-angular/lib/directives/interop_ng_control.ts","../../../projects/view-angular/lib/directives/field-control-directive.ts","../../../projects/view-angular/lib/hook/chained_injector.ts","../../../projects/view-angular/lib/directives/field-outlet.directive.ts","../../../projects/view-angular/lib/pipe/listen.pipe.ts","../../../projects/view-angular/lib/pipe/list-injector.pipe.ts","../../../projects/view-angular/lib/view.component.ts","../../../projects/view-angular/lib/view.component.html","../../../projects/view-angular/lib/schema/action/raw-config.ts","../../../projects/view-angular/lib/schema/action/directive.ts","../../../projects/view-angular/lib/schema/action/index.ts","../../../projects/view-angular/lib/component/form/control.base.component.ts","../../../projects/view-angular/lib/util/typed-component.ts","../../../projects/view-angular/piying-view-angular.ts"],"sourcesContent":["/** component */\n\nimport {\n InjectionToken,\n Signal,\n EventEmitter,\n TemplateRef,\n ComponentRef,\n} from '@angular/core';\nimport { DynamicComponentConfig } from './component';\nimport { SetOptional } from '@piying/view-angular-core';\nimport { NgConvertOptions } from './builder-type';\nimport { PiViewConfig } from './view-config';\nimport * as v from 'valibot';\nimport { PI_VIEW_FIELD_TOKEN as PVFT } from '@piying/view-angular-core';\nexport const PI_INPUT_OPTIONS_TOKEN = new InjectionToken<\n Signal<\n Omit<\n SetOptional<NgConvertOptions, 'builder' | 'handle'>,\n 'fieldGlobalConfig'\n > & { fieldGlobalConfig?: PiViewConfig }\n >\n>('PI_INPUT_OPTIONS');\nexport const PI_INPUT_SCHEMA_TOKEN = new InjectionToken<\n Signal<v.BaseSchema<any, any, any> | v.SchemaWithPipe<any>>\n>('PI_INPUT_SCHEMA');\nexport const PI_INPUT_MODEL_TOKEN = new InjectionToken<Signal<any>>(\n 'PI_INPUT_MODEL',\n);\n/** wrapper中可以使用,已解析的配置\n * core\n */\nexport const PI_VIEW_FIELD_TOKEN = PVFT;\nexport const PI_VIEW_FIELD_TEMPLATE_REF_TOKEN = new InjectionToken<\n TemplateRef<any>\n>('PI_VIEW_TEMPLATE_REF');\nexport const PI_VIEW_NEXT_TEMPLATE_REF_TOKEN = new InjectionToken<\n TemplateRef<any>\n>('PI_VIEW_NEXT_TEMPLATE_REF');\n/** todo 用以前的? */\nexport const PI_VIEW_COMPONENT_LIST_TOKEN = new InjectionToken<\n ComponentRef<any>[]\n>('PI_VIEW_COMPONENT_LIST');\n\n/**\n * @internal\n * 内部传参用\n */\nexport const PI_COMPONENT_LIST = new InjectionToken<DynamicComponentConfig[]>(\n 'PI_COMPONENT_LIST',\n);\nexport const PI_COMPONENT_INDEX = new InjectionToken<number>(\n 'PI_COMPONENT_INDEX',\n);\nexport const PI_COMPONENT_LIST_LISTEN = new InjectionToken<\n EventEmitter<DynamicComponentConfig[]>\n>('PI_COMPONENT_LIST_LISTEN');\n","import { computed, Directive, inject, Injector } from '@angular/core';\nimport { PI_VIEW_FIELD_TOKEN, PI_VIEW_FIELD_TEMPLATE_REF_TOKEN } from '../../type';\n\n@Directive()\nexport class PiyingViewGroupBase {\n field$$ = inject(PI_VIEW_FIELD_TOKEN);\n props$$ = computed(() => this.field$$().props());\n children$$ = computed(() => this.field$$().children!());\n fixedChildren$$ = computed(() => this.field$$().fixedChildren?.() ?? []);\n restChildren$$ = computed(() => this.field$$().restChildren?.() ?? []);\n fieldTemplateRef = inject(PI_VIEW_FIELD_TEMPLATE_REF_TOKEN);\n\n injector = inject(Injector);\n}\n","import { ChangeDetectionStrategy, Component, viewChild } from '@angular/core';\n\nimport { PiyingViewGroupBase } from './component.base';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'piying-view-group',\n imports: [NgTemplateOutlet],\n templateUrl: './component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PiyingViewGroup extends PiyingViewGroupBase {\n static __version = 2;\n templateRef = viewChild.required('templateRef');\n}\n","<ng-template #templateRef>\n @for (field of children$$(); track field.id || $index) {\n <ng-container\n *ngTemplateOutlet=\"\n fieldTemplateRef;\n context: { $implicit: field, injector }\n \"\n ></ng-container>\n }\n</ng-template>\n","import { PiResolvedViewFieldConfig } from './type';\nimport { Injectable } from '@angular/core';\n\nimport { FormBuilder } from '@piying/view-angular-core';\nimport { NgSchemaHandle } from './schema/ng-schema';\n\n@Injectable()\nexport class AngularFormBuilder extends FormBuilder<NgSchemaHandle> {\n override afterResolveConfig(\n rawConfig: NgSchemaHandle,\n config: PiResolvedViewFieldConfig,\n ): PiResolvedViewFieldConfig {\n const field = rawConfig;\n\n config.directives = field.directives;\n return config;\n }\n}\n","import { combineSignal, CoreSchemaHandle } from '@piying/view-angular-core';\nimport { PiResolvedViewFieldConfig, NgDirectiveConfig } from '../type';\n\nexport class NgSchemaHandle extends CoreSchemaHandle<\n NgSchemaHandle,\n () => PiResolvedViewFieldConfig\n> {\n declare type: any;\n directives = combineSignal<NgDirectiveConfig>([]);\n}\n","import { reflectComponentType, Type } from '@angular/core';\nexport function isComponentType(input: any): input is Type<any> {\n return !!reflectComponentType(input as any);\n}\n","import {\n Directive,\n ElementRef,\n inject,\n input,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[attributes]',\n})\nexport class AttributesDirective {\n attributes = input.required<Record<string, any>>();\n excludes = input<string[]>([]);\n #rederer = inject(Renderer2);\n #el = inject(ElementRef).nativeElement;\n ngOnChanges(changes: SimpleChanges): void {\n const { previousValue, currentValue, firstChange } = changes['attributes'];\n for (const key in currentValue) {\n if (this.excludes().includes(key)) {\n continue;\n }\n this.#rederer.setAttribute(this.#el, key, currentValue[key]);\n }\n if (!firstChange) {\n for (const key in previousValue) {\n if (this.excludes().includes(key)) {\n continue;\n }\n if (!(key in currentValue)) {\n this.#rederer.removeAttribute(this.#el, key);\n }\n }\n }\n }\n}\n","import { Directive, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[events]',\n})\nexport class EventsDirective {\n events = input.required<Record<string, (event: any) => any>>();\n #renderer = inject(Renderer2);\n #el = inject(ElementRef).nativeElement;\n #cleanList: (() => void)[] = [];\n ngOnChanges(): void {\n this.#clean();\n this.#cleanList = [];\n for (const key in this.events()) {\n const event = this.events()[key];\n this.#cleanList.push(this.#renderer.listen(this.#el, key, event));\n }\n }\n #clean() {\n this.#cleanList.forEach((fn) => fn());\n }\n ngOnDestroy(): void {\n this.#clean();\n }\n}\n","import {\n NgControl,\n Validators,\n type AbstractControl,\n type ValidationErrors,\n} from '@angular/forms';\nimport { FieldControl, PENDING } from '@piying/view-angular-core';\n\nexport type InteropSharedKeys =\n | 'value'\n | 'valid'\n | 'invalid'\n | 'touched'\n | 'untouched'\n | 'disabled'\n | 'enabled'\n | 'errors'\n | 'pristine'\n | 'dirty';\n\nexport class InteropNgControl extends NgControl {\n constructor(protected field: () => FieldControl<unknown>) {\n super();\n }\n\n readonly control: AbstractControl<any, any> =\n this as unknown as AbstractControl<any, any>;\n\n override get value(): any {\n return this.field().value;\n }\n\n override get valid(): boolean {\n return this.field().valid;\n }\n\n override get invalid(): boolean {\n return !this.field().valid;\n }\n\n override get pending(): boolean | null {\n return this.field().status$$() === PENDING;\n }\n\n override get disabled(): boolean {\n return this.field().disabled;\n }\n\n override get enabled(): boolean {\n return !this.field().disabled;\n }\n\n override get errors(): ValidationErrors | null {\n const errors = this.field().errors;\n return errors ?? null;\n }\n\n override get pristine(): boolean {\n return this.field().pristine;\n }\n\n override get dirty(): boolean {\n return this.field().dirty;\n }\n\n override get touched(): boolean {\n return this.field().touched;\n }\n\n override get untouched(): boolean {\n return !this.field().touched;\n }\n\n get submitted(): boolean {\n return false;\n }\n\n override viewToModelUpdate(newValue: any): void {}\n override get valueChanges() {\n return this.field().valueChanges;\n }\n override get statusChanges() {\n return this.field().statusChanges;\n }\n hasValidator(input: any) {\n if (Validators.required === input) {\n return this.field().required$$();\n }\n return false;\n }\n}\n","import {\n Directive,\n inject,\n Injector,\n input,\n OnDestroy,\n Provider,\n} from '@angular/core';\n\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n NgControl,\n} from '@angular/forms';\nimport { createViewControlLink, FieldControl } from '@piying/view-angular-core';\nimport { InteropNgControl } from './interop_ng_control';\n\nconst formControlBinding: Provider = {\n provide: NgControl,\n useFactory: () => inject(FieldControlDirective).ngControl,\n};\n\n@Directive({\n selector: '[fieldControl]',\n providers: [formControlBinding],\n standalone: true,\n})\nexport class FieldControlDirective implements OnDestroy {\n fieldControl = input.required<FieldControl>();\n readonly cvaArray = inject<ControlValueAccessor[]>(NG_VALUE_ACCESSOR);\n readonly injector = inject(Injector);\n\n get cva() {\n return this.cvaArray[0];\n }\n #_ngControl: InteropNgControl | undefined;\n\n get ngControl(): NgControl {\n return (this.#_ngControl ??= new InteropNgControl(() =>\n this.fieldControl(),\n )) as unknown as NgControl;\n }\n\n #disposeFn?: (destroyed?: boolean) => void;\n ngOnChanges(): void {\n this.#disposeFn?.();\n this.#disposeFn = createViewControlLink(\n this.fieldControl,\n this.cva,\n this.injector,\n );\n }\n\n /** @docs-private */\n ngOnDestroy() {\n this.#disposeFn?.(true);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport { Injector, ProviderToken, InjectOptions } from '@angular/core';\n\nconst NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR = {};\n/**\n * Injector that looks up a value using a specific injector, before falling back to the module\n * injector. Used primarily when creating components or embedded views dynamically.\n */\nexport class ChainedInjector implements Injector {\n constructor(\n public injector: Injector,\n public parentInjector: Injector,\n ) {}\n\n get<T>(\n token: ProviderToken<T>,\n notFoundValue?: T,\n options?: InjectOptions,\n ): T {\n const value = this.injector.get<\n T | typeof NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR\n >(token, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, options);\n\n if (\n value !== NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR ||\n notFoundValue === (NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as unknown as T)\n ) {\n // Return the value from the root element injector when\n // - it provides it\n // (value !== NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR)\n // - the module injector should not be checked\n // (notFoundValue === NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR)\n return value as T;\n }\n\n return this.parentInjector.get(token, notFoundValue, options);\n }\n}\n","import {\n ApplicationRef,\n ComponentRef,\n computed,\n createComponent,\n createNgModule,\n Directive,\n EnvironmentInjector,\n inject,\n Injector,\n input,\n inputBinding,\n NgModuleRef,\n outputBinding,\n PendingTasks,\n reflectComponentType,\n signal,\n Signal,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n PiResolvedViewFieldConfig,\n ComponentRawType,\n NgDirectiveConfig,\n PI_VIEW_COMPONENT_LIST_TOKEN,\n PI_VIEW_NEXT_TEMPLATE_REF_TOKEN,\n} from '../type';\nimport {\n ComponentVersion,\n DynamicComponentConfig,\n NgComponentDefine,\n} from '../type/component';\nimport { isComponentType } from '../util/async-cache';\nimport {\n asyncObjectSignal,\n getLazyImport,\n isLazyMark,\n ViewAttributes,\n ViewEvents,\n ViewInputs,\n ViewOutputs,\n} from '@piying/view-angular-core';\n\nimport { AttributesDirective } from './attributes.directive';\nimport { EventsDirective } from './events.directive';\nimport { FieldControlDirective } from './field-control-directive';\nimport { DirectiveConfig } from '../component/dynamic-define.component';\nimport { ChainedInjector } from '../hook/chained_injector';\nfunction createInputsBind(inputs?: Signal<ViewInputs | undefined>) {\n if (!inputs?.()) {\n return [];\n }\n return Object.keys(inputs()!).map((key) =>\n inputBinding(\n key,\n computed(() => inputs()![key]),\n ),\n );\n}\nfunction createOutputsBind(outputs?: Signal<ViewOutputs>) {\n if (!outputs?.()) {\n return [];\n }\n return Object.keys(outputs!()!).map((key) =>\n outputBinding(key, (event) => outputs!()),\n );\n}\nfunction createAttributesDirective(\n attributes: Signal<ViewAttributes | undefined>,\n) {\n if (attributes()) {\n return [\n {\n type: AttributesDirective,\n bindings: [inputBinding('attributes', attributes)],\n },\n ];\n }\n return [];\n}\nfunction createEventsDirective(events: Signal<ViewEvents | undefined>) {\n if (events()) {\n return [\n {\n type: EventsDirective,\n bindings: [inputBinding('events', events)],\n },\n ];\n }\n return [];\n}\n// 没有保存\n@Directive({\n selector: '[fieldOutlet]',\n standalone: true,\n})\nexport class FieldOutlet {\n fieldOutlet = input.required<PiResolvedViewFieldConfig>();\n index = input(0);\n injector = input.required<Injector>();\n listen = input<any>();\n #isGroup$$ = computed(() => {\n const define = this.fieldOutlet();\n return define?.fixedChildren || define?.restChildren;\n });\n #control = computed(() => this.fieldOutlet().form.control);\n #formControlDirectiveConfig$$ = computed(() => {\n const isGroup = this.#isGroup$$();\n return !isGroup && this.#control()\n ? ({\n type: FieldControlDirective,\n inputs: asyncObjectSignal({ fieldControl: this.#control() }),\n } as DirectiveConfig)\n : undefined;\n });\n /* 组件的指令 **/\n #directiveConfigList$$ = computed(() => {\n const directivesInputs = this.fieldOutlet().directives!() ?? [];\n const formConfig = this.#formControlDirectiveConfig$$();\n return formConfig ? [...directivesInputs, formConfig] : directivesInputs;\n });\n\n #wrappers = computed(() => this.fieldOutlet().wrappers());\n\n #viewRef = inject(ViewContainerRef);\n #task = inject(PendingTasks);\n #loadComponent(\n type: ComponentRawType,\n loadFn: (input: NgComponentDefine) => void,\n ) {\n if (isComponentType(type)) {\n loadFn({ component: type });\n return;\n }\n if (typeof type === 'function' || isLazyMark(type)) {\n this.#task.run(() =>\n getLazyImport<() => Promise<any>>(type)!()\n .then((type) => {\n if (isComponentType(type)) {\n return { component: type };\n }\n return type;\n })\n .then((data) => loadFn(data)),\n );\n return;\n }\n loadFn(type as any);\n }\n #moduleRef: NgModuleRef<any> | undefined;\n #injector$$ = computed(\n () => new ChainedInjector(this.fieldOutlet().injector, this.injector()),\n );\n #componentRef: ComponentRef<any> | undefined;\n #app = inject(ApplicationRef);\n ngOnChanges(): void {\n this.#createComponent();\n }\n #createComponent() {\n this.#dispose();\n const injector = this.#injector$$();\n const evInjector = injector.get(EnvironmentInjector);\n\n const index = this.index();\n /** 用于wrapper的槽传递 */\n let createProjectableNodes: (\n componentDefine: NgComponentDefine,\n ) => Node[][];\n let typeDefine = this.#wrappers()[index] as DynamicComponentConfig;\n const cmpInjector = signal<Injector | undefined>(undefined);\n let directivesList!: NgDirectiveConfig[];\n // 改增量后,要保证列表更新时没有问题\n const componentList = injector.get(PI_VIEW_COMPONENT_LIST_TOKEN);\n\n /** 包装器 */\n if (typeDefine) {\n const embRef = this.#viewRef.createEmbeddedView(\n injector.get(PI_VIEW_NEXT_TEMPLATE_REF_TOKEN),\n {\n injector: cmpInjector,\n index: index + 1,\n fieldConfig: this.fieldOutlet(),\n },\n { injector: injector },\n );\n createProjectableNodes = () => [embRef.rootNodes];\n directivesList = [];\n } else {\n /** 内层组件 */\n typeDefine = this.fieldOutlet().define!() as any;\n createProjectableNodes = (componentDefine) => {\n const cm = reflectComponentType(componentDefine.component)!;\n const templateSlots = typeDefine.slots!();\n const templateRefList = cm.ngContentSelectors.map(\n (key) => templateSlots[key] as TemplateRef<any> | undefined,\n );\n const viewRefList = templateRefList.map((item) =>\n item ? this.#viewRef.createEmbeddedView(item) : undefined,\n );\n return viewRefList.map((item) => item?.rootNodes ?? []);\n };\n directivesList = this.#directiveConfigList$$();\n }\n this.#loadComponent(typeDefine.type, (componentDefine) => {\n const COMPONENT_VERSION: number | undefined = (\n componentDefine.component as ComponentVersion\n ).__version;\n this.#moduleRef = componentDefine.module\n ? createNgModule(componentDefine.module, injector)\n : undefined;\n const evInjector2 = this.#moduleRef?.injector ?? evInjector;\n const componentRef = createComponent(componentDefine.component, {\n elementInjector: injector,\n environmentInjector: evInjector2,\n\n bindings: [\n ...createInputsBind(typeDefine.inputs),\n ...createOutputsBind(typeDefine.outputs),\n ],\n directives: [\n ...directivesList.map((item) => ({\n type: item.type,\n bindings: [\n ...createInputsBind(item.inputs),\n ...createOutputsBind(item.outputs),\n ],\n })),\n ...(COMPONENT_VERSION === 2\n ? []\n : [\n ...createAttributesDirective(typeDefine.attributes),\n ...createEventsDirective(typeDefine.events),\n ]),\n ],\n projectableNodes: createProjectableNodes(componentDefine),\n });\n this.#componentRef = componentRef;\n componentList.push(componentRef);\n if (COMPONENT_VERSION === 2) {\n const templateRef = (\n componentRef.instance as { templateRef: Signal<TemplateRef<any>> }\n ).templateRef();\n this.#viewRef.createEmbeddedView(templateRef, {\n attributes: typeDefine.attributes,\n events: typeDefine.events,\n });\n this.#app.attachView(componentRef.hostView);\n componentRef.changeDetectorRef.detectChanges();\n } else {\n this.#viewRef.insert(componentRef.hostView);\n }\n\n cmpInjector.set(componentRef.injector);\n });\n }\n #dispose() {\n this.#viewRef.clear();\n this.#componentRef?.destroy();\n this.#componentRef = undefined;\n this.#moduleRef?.destroy();\n this.#moduleRef = undefined;\n }\n ngOnDestroy(): void {\n this.#dispose();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'listen' })\nexport class ListenPipe implements PipeTransform {\n transform(value: any, ...args: any[]) {\n return [value, ...args];\n }\n}\n@Pipe({ name: 'inputKeys' })\nexport class InputsPipe implements PipeTransform {\n transform(value: Record<string, any>) {\n return Object.keys(value).join('|');\n }\n}\n","import { Injector, Pipe, PipeTransform } from '@angular/core';\nimport { PI_VIEW_COMPONENT_LIST_TOKEN } from '../type';\n\n@Pipe({ name: 'listInjector' })\nexport class ListInjectorPipe implements PipeTransform {\n transform(injector: Injector) {\n return Injector.create({\n providers: [{ provide: PI_VIEW_COMPONENT_LIST_TOKEN, useValue: [] }],\n parent: injector,\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyableInjector,\n inject,\n Injector,\n input,\n OnChanges,\n output,\n signal,\n SimpleChanges,\n untracked,\n viewChild,\n} from '@angular/core';\n\nimport {\n PiViewConfig,\n PiResolvedViewFieldConfig,\n PI_INPUT_OPTIONS_TOKEN,\n PI_INPUT_SCHEMA_TOKEN,\n PI_INPUT_MODEL_TOKEN,\n PI_VIEW_FIELD_TEMPLATE_REF_TOKEN,\n PI_VIEW_NEXT_TEMPLATE_REF_TOKEN,\n} from './type';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n convert,\n FieldArray,\n FieldControl,\n FieldGroup,\n initListen,\n} from '@piying/view-angular-core';\nimport { AngularFormBuilder } from './builder';\nimport { NgSchemaHandle } from './schema/ng-schema';\nimport { NgConvertOptions } from './type/builder-type';\nimport type { SetOptional } from '@piying/view-angular-core';\nimport * as v from 'valibot';\nimport { FieldOutlet } from './directives/field-outlet.directive';\nimport { InputsPipe, ListenPipe } from './pipe/listen.pipe';\nimport { ListInjectorPipe } from './pipe/list-injector.pipe';\nconst DefaultConvertOptions = {\n builder: AngularFormBuilder,\n handle: NgSchemaHandle,\n};\n@Component({\n selector: 'piying-view',\n imports: [\n NgTemplateOutlet,\n FieldOutlet,\n ListenPipe,\n InputsPipe,\n ListInjectorPipe,\n ],\n templateUrl: './view.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PiyingView implements OnChanges {\n templateRef = viewChild.required('templateRef');\n fieldTemplate = viewChild.required('fieldTemplate');\n nextTemplate = viewChild.required('nextTemplate');\n readonly selectorless = input<boolean>(false);\n schema = input.required<v.BaseSchema<any, any, any>>();\n model = input<any>(undefined);\n modelChange = output<any>();\n options = input<\n Omit<\n SetOptional<NgConvertOptions, 'builder' | 'handle'>,\n 'fieldGlobalConfig'\n > & { fieldGlobalConfig?: PiViewConfig }\n >();\n form$$ = computed(\n () =>\n this.resolvedField$()?.form.control as\n | (FieldControl | FieldGroup | FieldArray)\n | undefined,\n );\n\n #lastRF?: PiResolvedViewFieldConfig;\n ngOnChanges(changes: SimpleChanges): void {\n const rFields = this.#resolvedFields$$();\n if (this.#lastRF !== rFields || 'model' in changes) {\n this.#updateValue(this.model());\n }\n this.#lastRF = rFields;\n }\n\n #resolvedFields$$ = computed(() => {\n this.schema();\n return untracked(() => this.#updateField());\n });\n\n #injector = inject(Injector);\n #builderInjector?: DestroyableInjector;\n resolvedField$ = signal<PiResolvedViewFieldConfig | undefined>(undefined);\n #listenDispose?: () => void;\n injector3$$ = computed(() => {\n return Injector.create({\n providers: [\n {\n provide: PI_VIEW_FIELD_TEMPLATE_REF_TOKEN,\n useValue: this.fieldTemplate(),\n },\n {\n provide: PI_VIEW_NEXT_TEMPLATE_REF_TOKEN,\n useValue: this.nextTemplate(),\n },\n ],\n parent: this.resolvedField$()!.injector,\n });\n });\n #fieldRoot = Injector.create({\n providers: [\n {\n provide: PI_INPUT_OPTIONS_TOKEN,\n useValue: this.options,\n },\n {\n provide: PI_INPUT_SCHEMA_TOKEN,\n useValue: this.schema,\n },\n {\n provide: PI_INPUT_MODEL_TOKEN,\n useValue: this.model,\n },\n ],\n parent: this.#injector,\n });\n #updateField() {\n this.#clean();\n // 临时销毁\n const envInjector = Injector.create({\n providers: [],\n parent: this.#fieldRoot,\n });\n this.#builderInjector = envInjector;\n const result = convert<PiResolvedViewFieldConfig>(this.schema() as any, {\n ...DefaultConvertOptions,\n ...this.options(),\n injector: envInjector,\n });\n this.resolvedField$.set(result);\n return result;\n }\n #clean() {\n if (this.#builderInjector) {\n this.#builderInjector.destroy();\n this.#builderInjector = undefined;\n }\n }\n\n #updateValue(model: Record<string, any> | undefined) {\n this.#listenDispose?.();\n const result = this.resolvedField$()!;\n if (result.form.control) {\n // 监听初始化,每次field变更会初始化\n const ref = initListen(\n this.model(),\n result!.form.control,\n // 使用envInjector会导致在测试中慢一次检查,生产上可能也会慢一点?\n this.#injector,\n (value) => {\n untracked(() => {\n if (result!.form.control?.valueNoError$$()) {\n this.modelChange.emit(value);\n }\n });\n },\n );\n this.#listenDispose = () => {\n ref.destroy();\n this.#listenDispose = undefined;\n };\n result.form.control.updateValue(model);\n }\n }\n\n ngOnDestroy(): void {\n this.#listenDispose?.();\n }\n}\n","<ng-template\n #nextTemplate\n let-injector=\"injector\"\n let-index=\"index\"\n let-fieldConfig=\"fieldConfig\"\n>\n @if (injector(); as injector) {\n <ng-template\n [fieldOutlet]=\"fieldConfig\"\n [index]=\"index\"\n [injector]=\"injector\"\n ></ng-template>\n }\n</ng-template>\n\n<ng-template #fieldTemplate let-field let-injector=\"injector\">\n @let renderConfig = field.renderConfig();\n @if (field.define && !renderConfig?.hidden) {\n @let define = field.define();\n <ng-template\n [fieldOutlet]=\"field\"\n [index]=\"0\"\n [injector]=\"injector ?? injector3$$() | listInjector\"\n [listen]=\"\n field.wrappers()\n | listen\n : (define.inputs | inputKeys)\n : (define.outputs | inputKeys)\n : define.type\n \"\n ></ng-template>\n }\n</ng-template>\n\n<ng-template #templateRef>\n @if (resolvedField$(); as field) {\n <ng-container\n *ngTemplateOutlet=\"\n fieldTemplate;\n context: {\n $implicit: field,\n injector: injector3$$(),\n }\n \"\n ></ng-container>\n }\n</ng-template>\n@if (!selectorless()) {\n <ng-container *ngTemplateOutlet=\"templateRef\"></ng-container>\n}\n","import { RawConfigCommon } from '@piying/valibot-visit';\nimport { rawConfig as originRawConfig } from '@piying/view-angular-core';\nimport { NgSchemaHandle } from '../ng-schema';\nexport const rawConfig = originRawConfig as RawConfigCommon<NgSchemaHandle>;\n","import {\n asyncObjectSignal,\n mergeHooksFn,\n SetOptional,\n SetUnWrapper$,\n CustomDataSymbol,\n AnyCoreSchemaHandle,\n _PiResolvedCommonViewFieldConfig,\n AsyncObjectSignal,\n} from '@piying/view-angular-core';\nimport { NgDirectiveConfig } from '../../type';\nimport { rawConfig } from './raw-config';\nimport { Signal, signal, Type } from '@angular/core';\nimport { RawConfigAction } from '@piying/valibot-visit';\nfunction createSetOrPatchDirectivePropertyFn(isPatch?: boolean) {\n return <T>(\n items: SetOptional<\n SetUnWrapper$<\n NgDirectiveConfig,\n 'inputs' | 'outputs' | 'attributes' | 'events' | 'model'\n >,\n 'inputs' | 'outputs' | 'attributes' | 'events' | 'model'\n >[],\n ) =>\n rawConfig<T>((field) => {\n if (!isPatch) {\n field.directives.clean();\n }\n items.forEach((item) => {\n field.directives.add(\n signal<NgDirectiveConfig>({\n type: item.type,\n inputs: asyncObjectSignal(item.inputs ?? {}),\n outputs: asyncObjectSignal(item.outputs ?? {}),\n attributes: asyncObjectSignal(item.attributes ?? {}),\n events: asyncObjectSignal(item.events ?? {}),\n model: asyncObjectSignal(item.model ?? {}),\n }),\n );\n });\n });\n}\nfunction setSubInitValue<Key extends string>(\n key: Key,\n fn: () => Record<Key, AsyncObjectSignal<any>>,\n initObj: any,\n) {\n if (!Object.keys(initObj[key]).length) {\n return;\n }\n fn()[key].set(initObj[key]);\n}\nfunction patchAsyncDirective<T>(\n type: Type<any>,\n actions?: RawConfigAction<'viewRawConfig', any, any>[],\n options?: { insertIndex?: number },\n) {\n return rawConfig<T>((rawFiled) => {\n mergeHooksFn(\n {\n allFieldsResolved: (field) => {\n const initData = signal<NgDirectiveConfig>({\n type,\n attributes: asyncObjectSignal({}),\n events: asyncObjectSignal({}),\n inputs: asyncObjectSignal({}),\n outputs: asyncObjectSignal({}),\n model: asyncObjectSignal({}),\n });\n field.directives!.add(initData, options?.insertIndex);\n for (const item of actions ?? []) {\n const tempField: Partial<AnyCoreSchemaHandle> & { model: any } = {\n inputs: {},\n outputs: {},\n attributes: {},\n events: {},\n model: {},\n };\n (item.value as any)(tempField, undefined, {\n [CustomDataSymbol]: (\n rawField: AnyCoreSchemaHandle,\n field: _PiResolvedCommonViewFieldConfig,\n ) => {\n if (rawField) {\n return tempField;\n }\n return initData;\n },\n });\n setSubInitValue('inputs', initData as any, tempField);\n setSubInitValue('outputs', initData as any, tempField);\n setSubInitValue('attributes', initData as any, tempField);\n setSubInitValue('events', initData as any, tempField);\n setSubInitValue('model', initData as any, tempField);\n\n (tempField as any).hooks?.allFieldsResolved?.(field);\n }\n },\n },\n { position: 'bottom' },\n rawFiled,\n );\n });\n}\nfunction removeDirectives<T>(\n removeList: (\n list: Signal<NgDirectiveConfig>[],\n ) => Signal<NgDirectiveConfig>[],\n) {\n return rawConfig<T>((field) => {\n mergeHooksFn(\n {\n allFieldsResolved: (field) => {\n field.directives!.update(removeList);\n },\n },\n { position: 'bottom' },\n field,\n );\n });\n}\nexport const directives = {\n set: createSetOrPatchDirectivePropertyFn(),\n patch: createSetOrPatchDirectivePropertyFn(true),\n patchAsync: patchAsyncDirective,\n remove: removeDirectives,\n};\n","import { actions as coreActions } from '@piying/view-angular-core';\nimport { directives } from './directive';\nexport * from './raw-config';\nexport {\n asControl,\n condition,\n asVirtualGroup,\n layout,\n} from '@piying/view-angular-core';\nexport * from './directive';\nexport const actions = { ...coreActions, directives };\n","import { signal } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nexport class BaseControl<T = any> implements ControlValueAccessor {\n readonly defaultValue: any = undefined;\n value$ = signal<T>(this.defaultValue ?? (undefined as any));\n\n protected emitValue?: (value: any) => void;\n registerOnChange(fn: any): void {\n this.emitValue = fn;\n }\n /** 同时发射和value变更 */\n valueChange(value: T) {\n this.emitValue?.(value);\n this.value$.set(value);\n }\n\n writeValue(obj: any): void {\n this.value$.set(obj ?? undefined);\n }\n #touched?: () => void;\n registerOnTouched(fn: any): void {\n this.#touched = fn;\n }\n touchedChange() {\n this.#touched!();\n }\n valueAndTouchedChange(value: T) {\n this.valueChange(value);\n this.touchedChange();\n }\n disabled$ = signal(false);\n setDisabledState(isDisabled: boolean): void {\n this.disabled$.set(isDisabled);\n }\n}\n","import {\n actions as PresetActions,\n PiCommonConfig,\n actions,\n _PiResolvedCommonViewFieldConfig,\n setComponent,\n PiTypeConfig,\n AsyncProperty,\n} from '@piying/view-angular-core';\n\nimport {\n InputSignal,\n InputSignalWithTransform,\n OutputEmitterRef,\n Type,\n} from '@angular/core';\nimport {\n metadataList,\n MetadataListAction,\n RawConfigAction,\n} from '@piying/valibot-visit';\nimport { AnyCoreSchemaHandle } from '@piying/view-angular-core';\ntype GetKeyWithType<T, ValueType> = {\n [K in keyof T as T[K] extends ValueType\n ? T[K] extends any\n ? any extends T[K]\n ? never\n : K\n : K\n : never]: T[K];\n};\n\ntype ComponentInputs<Component> = GetKeyWithType<Component, InputSignal<any>>;\n\ntype ComponentInputsOrigin<T> = {\n [K in keyof T]: T[K] extends InputSignal<infer V>\n ? V\n : T[K] extends InputSignalWithTransform<infer V, infer D>\n ? D\n : never;\n};\ntype ComponentInputsAsync<T> = {\n [K in keyof T]: T[K] extends InputSignal<infer V>\n ? AsyncProperty<V>\n : T[K] extends InputSignalWithTransform<infer V, infer D>\n ? AsyncProperty<D>\n : never;\n};\n\ntype ComponentOutputs<Component> = GetKeyWithType<\n Component,\n OutputEmitterRef<any>\n>;\n\ntype ComponentOutputsOrigin<T> = {\n [K in keyof T]: T[K] extends OutputEmitterRef<infer V>\n ? (input: V) => void\n : never;\n};\ntype ComponentOutputsAsync<T> = {\n [K in keyof T]: T[K] extends OutputEmitterRef<infer V>\n ? AsyncProperty<(input: V) => void>\n : never;\n};\n\ntype ComponentInstance<TComponent> =\n TComponent extends Type<infer Instance> ? Instance : never;\n\n// inputs\ntype GetComponentInputs<TComponent> = ComponentInputs<\n ComponentInstance<TComponent>\n>;\n\ntype GetComponentInputsOrigin<TComponent> = Partial<\n ComponentInputsOrigin<GetComponentInputs<TComponent>>\n>;\n\ntype GetComponentInputsAsync<TComponent> = Partial<\n ComponentInputsAsync<GetComponentInputs<TComponent>>\n>;\n// outputs\ntype GetComponentOutputs<TComponent> = ComponentOutputs<\n ComponentInstance<TComponent>\n>;\n\ntype GetComponentOutputsOrigin<TComponent> = Partial<\n ComponentOutputsOrigin<GetComponentOutputs<TComponent>>\n>;\n\ntype GetComponentOutputsAsync<TComponent> = Partial<\n ComponentOutputsAsync<GetComponentOutputs<TComponent>>\n>;\ntype ReturnAction<Input> = RawConfigAction<\n 'viewRawConfig',\n Input,\n AnyCoreSchemaHandle\n>;\ntype ComponentActions<TComponent> = {\n inputs: {\n patch: <Input>(\n value: GetComponentInputsOrigin<TComponent>,\n ) => ReturnAction<Input>;\n set: <Input>(\n value: GetComponentInputsOrigin<TComponent>,\n ) => ReturnAction<Input>;\n patchAsync: <Input>(\n value: GetComponentInputsAsync<TComponent>,\n ) => ReturnAction<Input>;\n remove: <Input>(\n value: (keyof GetComponentInputs<TComponent>)[],\n ) => ReturnAction<Input>;\n mapAsync: <Input>(\n value: (\n field: _PiResolvedCommonViewFieldConfig,\n ) => (\n value: GetComponentInputs<TComponent>,\n ) => GetComponentInputs<TComponent>,\n ) => ReturnAction<Input>;\n };\n outputs: {\n patch: <Input>(\n value: GetComponentOutputsOrigin<TComponent>,\n ) => ReturnAction<Input>;\n set: <Input>(\n value: GetComponentOutputsOrigin<TComponent>,\n ) => ReturnAction<Input>;\n patchAsync: <Input>(\n value: GetComponentOutputsAsync<TComponent>,\n ) => ReturnAction<Input>;\n remove: <Input>(\n value: (keyof GetComponentOutputs<TComponent>)[],\n ) => ReturnAction<Input>;\n mapAsync: <Input>(\n value: (\n field: _PiResolvedCommonViewFieldConfig,\n ) => (\n value: GetComponentOutputs<TComponent>,\n ) => GetComponentOutputs<TComponent>,\n ) => ReturnAction<Input>;\n };\n};\n\ntype ActionComponent<A extends PiTypeConfig> =\n A['type'] extends Type<any>\n ? A['type']\n : NonNullable<A['actions']>[0]['__type'];\n\nexport function typedComponent<T extends PiCommonConfig>(\n input: T,\n): {\n define: T;\n setComponent: <TCName extends keyof T['types'] | Type<any>, K>(\n input: TCName,\n fn?: (\n actions: Omit<typeof PresetActions, 'inputs' | 'outputs'> &\n ComponentActions<\n TCName extends keyof T['types']\n ? ActionComponent<NonNullable<T['types']>[TCName]>\n : TCName\n >,\n ) => any[],\n ) => MetadataListAction<K>;\n} {\n return {\n define: input,\n setComponent(key, fn) {\n const type = typeof key === 'string' ? input.types![key].type : key;\n return metadataList(\n fn ? [setComponent(type), ...fn(actions as any)] : [setComponent(type)],\n );\n },\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["PVFT","originRawConfig","coreActions","actions"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Injector, Type, WritableSignal, InjectionToken, Signal, TemplateRef, ComponentRef, EventEmitter, OnChanges, SimpleChanges, InputSignal, InputSignalWithTransform, OutputEmitterRef } from '@angular/core';
|
|
2
|
+
import { Injector, Type, WritableSignal, InjectionToken, Signal, TemplateRef, ComponentRef, EventEmitter, OnChanges, SimpleChanges, DestroyableInjector, InputSignal, InputSignalWithTransform, OutputEmitterRef } from '@angular/core';
|
|
3
3
|
import * as _piying_view_angular_core from '@piying/view-angular-core';
|
|
4
4
|
import { AsyncObjectSignal, ViewInputs, ViewOutputs, ViewEvents, ViewAttributes, CoreResolvedComponentDefine, LazyImport, LazyMarkType, PiResolvedCommonViewFieldConfig, CombineSignal, CoreWrapperConfig, ViewSlots, PiCommonConfig, SetOptional, CoreSchemaHandle, FormBuilder, FieldArray, FieldControl, FieldGroup, SetUnWrapper$, actions as actions$1, AnyCoreSchemaHandle, AsyncProperty, _PiResolvedCommonViewFieldConfig, PiTypeConfig } from '@piying/view-angular-core';
|
|
5
5
|
export { asControl, asVirtualGroup, condition, layout } from '@piying/view-angular-core';
|
|
@@ -83,7 +83,8 @@ declare const PI_INPUT_MODEL_TOKEN: InjectionToken<Signal<any>>;
|
|
|
83
83
|
* core
|
|
84
84
|
*/
|
|
85
85
|
declare const PI_VIEW_FIELD_TOKEN: InjectionToken<Signal<_piying_view_angular_core._PiResolvedCommonViewFieldConfig>>;
|
|
86
|
-
declare const
|
|
86
|
+
declare const PI_VIEW_FIELD_TEMPLATE_REF_TOKEN: InjectionToken<TemplateRef<any>>;
|
|
87
|
+
declare const PI_VIEW_NEXT_TEMPLATE_REF_TOKEN: InjectionToken<TemplateRef<any>>;
|
|
87
88
|
/** todo 用以前的? */
|
|
88
89
|
declare const PI_VIEW_COMPONENT_LIST_TOKEN: InjectionToken<ComponentRef<any>[]>;
|
|
89
90
|
declare const PI_COMPONENT_INDEX: InjectionToken<number>;
|
|
@@ -92,6 +93,8 @@ declare const PI_COMPONENT_LIST_LISTEN: InjectionToken<EventEmitter<DynamicCompo
|
|
|
92
93
|
declare class PiyingView implements OnChanges {
|
|
93
94
|
#private;
|
|
94
95
|
templateRef: _angular_core.Signal<unknown>;
|
|
96
|
+
fieldTemplate: _angular_core.Signal<unknown>;
|
|
97
|
+
nextTemplate: _angular_core.Signal<unknown>;
|
|
95
98
|
readonly selectorless: _angular_core.InputSignal<boolean>;
|
|
96
99
|
schema: _angular_core.InputSignal<v.BaseSchema<any, any, any>>;
|
|
97
100
|
model: _angular_core.InputSignal<any>;
|
|
@@ -102,7 +105,7 @@ declare class PiyingView implements OnChanges {
|
|
|
102
105
|
form$$: _angular_core.Signal<FieldArray<any> | FieldControl<any> | FieldGroup<any> | undefined>;
|
|
103
106
|
ngOnChanges(changes: SimpleChanges): void;
|
|
104
107
|
resolvedField$: _angular_core.WritableSignal<PiResolvedViewFieldConfig | undefined>;
|
|
105
|
-
injector3$$: _angular_core.Signal<
|
|
108
|
+
injector3$$: _angular_core.Signal<DestroyableInjector>;
|
|
106
109
|
ngOnDestroy(): void;
|
|
107
110
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PiyingView, never>;
|
|
108
111
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PiyingView, "piying-view", never, { "selectorless": { "alias": "selectorless"; "required": false; "isSignal": true; }; "schema": { "alias": "schema"; "required": true; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "modelChange": "modelChange"; }, never, never, true, never>;
|
|
@@ -296,5 +299,5 @@ declare function typedComponent<T extends PiCommonConfig>(input: T): {
|
|
|
296
299
|
setComponent: <TCName extends keyof T['types'] | Type<any>, K>(input: TCName, fn?: (actions: Omit<typeof actions$1, 'inputs' | 'outputs'> & ComponentActions<TCName extends keyof T['types'] ? ActionComponent<NonNullable<T['types']>[TCName]> : TCName>) => any[]) => MetadataListAction<K>;
|
|
297
300
|
};
|
|
298
301
|
|
|
299
|
-
export { AngularFormBuilder, AttributesDirective, BaseControl, EventsDirective, NgSchemaHandle, PI_COMPONENT_INDEX, PI_COMPONENT_LIST_LISTEN, PI_INPUT_MODEL_TOKEN, PI_INPUT_OPTIONS_TOKEN, PI_INPUT_SCHEMA_TOKEN, PI_VIEW_COMPONENT_LIST_TOKEN, PI_VIEW_FIELD_TOKEN,
|
|
302
|
+
export { AngularFormBuilder, AttributesDirective, BaseControl, EventsDirective, NgSchemaHandle, PI_COMPONENT_INDEX, PI_COMPONENT_LIST_LISTEN, PI_INPUT_MODEL_TOKEN, PI_INPUT_OPTIONS_TOKEN, PI_INPUT_SCHEMA_TOKEN, PI_VIEW_COMPONENT_LIST_TOKEN, PI_VIEW_FIELD_TEMPLATE_REF_TOKEN, PI_VIEW_FIELD_TOKEN, PI_VIEW_NEXT_TEMPLATE_REF_TOKEN, PiyingView, PiyingViewGroup, PiyingViewGroupBase, actions, directives, rawConfig, typedComponent };
|
|
300
303
|
export type { ComponentRawType, NgDirectiveConfig, NgResolvedComponentDefine1, NgResolvedWraaperConfig, PiResolvedViewFieldConfig, PiViewConfig };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@piying/view-angular",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Piying view For Angular;Valibot to Component",
|
|
5
5
|
"homepage": "https://piying-org.github.io/website/docs/client/intro",
|
|
6
6
|
"repository": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"valibot": "^1.1.0"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@piying/view-angular-core": "^3.0.
|
|
41
|
+
"@piying/view-angular-core": "^3.0.1",
|
|
42
42
|
"tslib": "^2.3.0"
|
|
43
43
|
},
|
|
44
44
|
"sideEffects": false,
|