xt-plugin-default 0.6.1 → 0.6.3
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.
|
@@ -147,9 +147,16 @@ class DefaultObjectSetComponent extends XtCompositeComponent {
|
|
|
147
147
|
// console.log("Trying to reselect existing element");
|
|
148
148
|
// Otherwise reselect the element if still there
|
|
149
149
|
return source.find((toCheck) => {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
150
|
+
if (toCheck._id != null) {
|
|
151
|
+
const ret = toCheck._id == previous.value._id;
|
|
152
|
+
// if (ret) console.log("Found existing element to reselect");
|
|
153
|
+
return ret;
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
// Without identity key, just compare the elements
|
|
157
|
+
const ret = toCheck === previous.value;
|
|
158
|
+
return ret;
|
|
159
|
+
}
|
|
153
160
|
}) ?? null;
|
|
154
161
|
}
|
|
155
162
|
}
|
|
@@ -165,9 +172,16 @@ class DefaultObjectSetComponent extends XtCompositeComponent {
|
|
|
165
172
|
// console.log("Trying to reselect existing element");
|
|
166
173
|
// Otherwise reselect the element if still there
|
|
167
174
|
return source.find((toCheck) => {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
175
|
+
if (toCheck._id != null) {
|
|
176
|
+
const ret = toCheck._id == previous.value._id;
|
|
177
|
+
// if (ret) console.log("Found existing element to reselect");
|
|
178
|
+
return ret;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
// Without identity key, just compare the elements
|
|
182
|
+
const ret = toCheck === previous.value;
|
|
183
|
+
return ret;
|
|
184
|
+
}
|
|
171
185
|
}) ?? null;
|
|
172
186
|
}
|
|
173
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xt-plugin-default.mjs","sources":["../../../projects/default/src/lib/object/default-object.component.ts","../../../projects/default/src/lib/object/default-object.component.html","../../../projects/default/src/lib/primitive/default-primitive.component.ts","../../../projects/default/src/lib/primitive/default-primitive.component.html","../../../projects/default/src/lib/object-set/default-object-set.component.ts","../../../projects/default/src/lib/object-set/default-object-set.component.html","../../../projects/default/src/lib/reference/many-to-one-ref.component.ts","../../../projects/default/src/lib/reference/many-to-one-ref.component.html","../../../projects/default/src/lib/register.ts","../../../projects/default/src/public-api.ts","../../../projects/default/src/xt-plugin-default.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { XtCompositeComponent, XtContext, XtRenderSubComponent, XtResolverService } from 'xt-components';\nimport { Panel } from 'primeng/panel';\nimport { TableModule } from 'primeng/table';\n\n@Component({\n selector: 'xt-default-object',\n imports: [XtRenderSubComponent, Panel, TableModule],\n templateUrl: './default-object.component.html',\n styleUrl: './default-object.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DefaultObjectComponent extends XtCompositeComponent {\n\n resolver = inject(XtResolverService);\n\n subNames() :string[]\n {\n const value = this.context().value();\n const ret= this.resolver.listSubNamesOf(this.context(), value);\n return ret;\n }\n\n override subContext (subName:string): XtContext<any> {\n return super.subContext(subName);\n }\n\n displayInline= computed (() => {\n const display = this.context().displayMode;\n\n return display=='INLINE_VIEW' || display=='LIST_VIEW';\n });\n\n canCalculateDisplayString = computed(() => {\n return this.resolver.findTypeHandlerOf(this.context())?.handler?.isDisplayTemplateSet() ?? false;\n });\n\n displayString = computed(() => {\n return this.resolver.findTypeHandlerOf(this.context())?.handler?.stringToDisplay(this.context().value());\n });\n}\n","@let allSubNames=subNames();\n\n@if (displayInline()) {\n @if (canCalculateDisplayString()) {\n {{displayString()}}\n }@else {\n <p-table [columns]=\"allSubNames\" [value]=\"[{}]\">\n <ng-template #header>\n <tr>\n @for (subName of allSubNames; track subName) {\n <th>{{subName}}</th>\n }\n </tr>\n </ng-template>\n <ng-template #body>\n <tr>\n @for (subName of allSubNames; track subName) {\n <td><xt-render-sub [context]=\"subContext(subName)\"></xt-render-sub></td>\n }\n </tr>\n </ng-template>\n </p-table>\n }\n} @else {\n <p-panel>\n @for (subName of allSubNames; track subName) {\n <div class=\"flex flex-nowrap gap-3\">\n <div class=\"flex-none\">{{subName}}</div>\n <div class=\"flex-auto\"><xt-render-sub [context]=\"subContext(subName)\"></xt-render-sub></div>\n </div>\n }\n </p-panel>\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n Injector,\n OnDestroy,\n runInInjectionContext,\n signal\n} from '@angular/core';\nimport { XtSimpleComponent } from 'xt-components';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { InputText } from 'primeng/inputtext';\nimport { Checkbox } from 'primeng/checkbox';\nimport { InputNumber } from 'primeng/inputnumber';\nimport { DatePicker } from 'primeng/datepicker';\nimport { Subscription } from 'rxjs';\nimport { DatePipe, DecimalPipe } from '@angular/common';\n\n/**\n * Displays / edits primitive types (string, numeric) using text inputs to ensure at least something is managed.\n */\n@Component({\n selector: 'xt-default-primitive',\n imports: [\n ReactiveFormsModule,\n InputText,\n Checkbox,\n InputNumber,\n DatePicker,\n DecimalPipe,\n FormsModule,\n DatePipe\n ],\n templateUrl: './default-primitive.component.html',\n styleUrl: './default-primitive.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DefaultPrimitiveComponent extends XtSimpleComponent implements OnDestroy{\n\n injector = inject(Injector);\n\n recalculate = signal<boolean> (false);\n valueSubscription: Subscription|null = null;\n\n /**\n * This function tries to guess the type of value to be handled\n */\n typeOf = computed (() => {\n this.recalculate(); // In case recompute is forced\n if(this.context().valueType == null) {\n // The type has not been set, so let's see if we can guess it from the value\n const val = this.context().value(); // We don't use this.getValue(), as it returns a cached value\n if (val == null) { // We really can't know the type\n if (this.valueSubscription==null) {\n // Let's make sure a change of the value is taken into account\n runInInjectionContext(this.injector, () => {\n this.valueSubscription=this.formControl().valueChanges.subscribe({\n next: () => {\n this.recalculate.update((val) => !val);\n }\n });\n });\n }\n return val;\n } else {\n const ret= typeof val;\n if (ret != 'object') {\n this.context().valueType = typeof val;\n return ret;\n }else if (val instanceof Date) {\n this.context().valueType = 'date';\n return 'date';\n } else {\n throw new Error('Primitive Component used to display a non primitive type '+ret);\n }\n }\n } else {\n return this.context().valueType;\n }\n });\n\n ngOnDestroy(): void {\n if (this.valueSubscription!=null) {\n this.valueSubscription.unsubscribe();\n }\n }\n}\n","@if (isInForm() ) {\n <ng-container [formGroup]=\"formGroup()\">\n @switch (typeOf ()) {\n @case (\"number\") {\n <p-inputnumber mode=\"decimal\" [minFractionDigits]=\"0\" [maxFractionDigits]=\"2\" [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [fluid]=\"true\"></p-inputnumber>\n }\n @case (\"bigint\") {\n <p-inputnumber [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [fluid]=\"true\"></p-inputnumber>\n }\n @case (\"boolean\") {\n <p-checkbox [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [binary]=\"true\" />\n }\n @case (\"time\") {\n <p-datepicker [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [timeOnly]=\"true\" [iconDisplay]=\"'input'\" [showIcon]=\"true\" [inline]=\"false\" inputId=\"icondisplay\" />\n }\n @case (\"date\") {\n <p-datepicker [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [showTime]=\"false\" [iconDisplay]=\"'input'\" [showIcon]=\"true\" [inline]=\"false\" inputId=\"icondisplay\"/>\n }\n @case (\"date-time\") {\n <p-datepicker [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [showTime]=\"true\" [iconDisplay]=\"'input'\" [showIcon]=\"true\" [inline]=\"false\" inputId=\"icondisplay\" />\n }\n @default {\n <input type=\"text\" pInputText [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [fluid]=\"true\" />\n }\n }\n </ng-container>\n} @else {\n @let value=displayValue();\n @switch (typeOf ()) {\n @case (\"number\") {\n {{value | number}}\n }\n @case (\"bigint\") {\n {{value | number}}\n }\n @case (\"boolean\") {\n <p-checkbox [binary]=\"true\" [readonly]=\"true\" [disabled]=\"true\" [ngModel]=\"value\" />\n }\n @case (\"time\") {\n {{ value | date: 'mediumTime'}}\n }\n @case (\"date\") {\n {{ value | date: 'mediumDate'}}\n }\n @case (\"date-time\") {\n {{ value | date: 'medium'}}\n }\n @default {\n {{ value }}\n }\n }\n\n}\n","import { ChangeDetectionStrategy, Component, computed, linkedSignal, output, Signal } from '@angular/core';\nimport { StoreSupport, XtCompositeComponent, XtContext, XtRenderSubComponent } from 'xt-components';\nimport { TableModule } from 'primeng/table';\n\n@Component({\n selector: 'lib-default-object-set',\n imports: [XtRenderSubComponent, TableModule],\n templateUrl: './default-object-set.component.html',\n styleUrl: './default-object-set.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DefaultObjectSetComponent<T> extends XtCompositeComponent<T[]> {\n selected= output<T>();\n\n debugValue=false;\n debugSelectedElement:Signal<boolean> = computed<boolean>(() => {\n console.debug(\"Selected element\", this.selectedElement());\n this.debugValue=!this.debugValue;\n return this.debugValue;\n });\n\n valueSet = computed(() => {\n const ret = this.context().value();\n if (Array.isArray(ret)) {\n return ret as T[];\n } else if (ret!=null) {\n return [ret] as T[];\n } else return [];\n });\n\n selectedElement = linkedSignal<T[]|null, T|null> ({\n source: this.valueSet,\n computation: (source, previous) => {\n // console.log(\"Triggering select with current \"+source?.length+\" and previous \"+previous?.source?.length);\n if ((source!=null) && (previous?.source!=null)) {\n // console.log(\"Recalculating selection\");\n if( previous?.value!=null) {\n // console.log(\"Trying to reselect existing element\");\n // Otherwise reselect the element if still there\n return source.find((toCheck) => {\n const ret= (toCheck as any)._id==(previous.value as any)._id;\n // if (ret) console.log(\"Found existing element to reselect\");\n return ret;\n })??null;\n }\n }\n// console.log(\"No selection\");\n return null;\n }\n });\n\n subNames = computed(() => {\n const ret = this.resolverService.listSubNamesOf(this.context(), this.valueSet());\n return ret;\n });\n\n elementSetContext(elementIndex: number): XtContext<any> {\n this.formGroupIfAny();\n\n const ret= this.context().elementSetContext(elementIndex);\n /* this.resolverService.loadAllReferencesForContext(ret, StoreSupport.getStoreManager()).then(() => {\n console.debug(\"Resolved all references for element \"+elementIndex+ ' of type '+this.context().valueType);\n } );*/\n return ret;\n }\n\n subElementContextForName(subElementContext: XtContext<any>, subName: string, subType?: string): XtContext<any> {\n return subElementContext.subContext(subName, subType, this.resolverService?.typeResolver);\n }\n\n selectionChange(newElement: any) {\n this.selectedElement.set(newElement);\n this.selected.emit(newElement );\n }\n\n override setupInputOutput () {\n this.outputsObject.valueSelected=this.selected;\n }\n}\n","@let allSubNames=subNames();\n<p-table [columns]=\"allSubNames\" [scrollable]=\"true\" scrollHeight=\"flex\" [value]=\"valueSet()\" selectionMode=\"single\" [selection]=\"selectedElement()\" (selectionChange)=\"selectionChange($event)\">\n <ng-template #header>\n <tr>\n @for (subName of allSubNames; track subName) {\n <th>{{subName}}</th>\n }\n </tr>\n </ng-template>\n <ng-template #body let-element let-eltIndex='rowIndex'>\n @let eltContext=elementSetContext(eltIndex);\n <tr [pSelectableRow]=\"element\">\n @for (subName of allSubNames; track subName) {\n @let subEltContext=subElementContextForName(eltContext, subName);\n <td><xt-render-sub [context]=\"subEltContext\"></xt-render-sub></td>\n }\n </tr>\n </ng-template>\n</p-table>\n","import { ChangeDetectionStrategy, Component, inject, OnInit, signal } from '@angular/core';\nimport { XtBaseContext, XtContext, XtRenderSubComponent, XtResolverService, XtSimpleComponent } from 'xt-components';\nimport { AutoComplete, AutoCompleteCompleteEvent } from 'primeng/autocomplete';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { XtTypeHandler, XtTypeReference } from 'xt-type';\nimport { firstValueFrom } from 'rxjs';\n\n@Component({\n selector: 'xt-many-to-one-ref',\n imports: [\n AutoComplete,\n ReactiveFormsModule,\n XtRenderSubComponent,\n FormsModule\n ],\n templateUrl: './many-to-one-ref.component.html',\n styleUrl: './many-to-one-ref.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ManyToOneRefComponent extends XtSimpleComponent implements OnInit{\n resolver = inject(XtResolverService);\n filteredReferences=signal<any[]>([]);\n\n allReferences: any[] = [];\n allSourceReferences: any[] = [];\n allReferencesLoaded = false;\n\n typeHandler:XtTypeHandler<any>|null=null;\n\n /**\n * We have to go through a ngModel for the selection as we need to calculate the displayedLabel\n */\n selectedReference= signal<any>(null);\n\n override ngOnInit(): void {\n super.ngOnInit();\n const context=this.context();\n const value=context.formControlValue();\n\n this.typeHandler =this.resolver.findTypeHandlerOf(context, undefined, value)?.handler??null;\n firstValueFrom(this.resolver.findPossibleReferences(context)).then((references: any[]) => {\n this.allReferences = references.map((item) => {\n this.allSourceReferences.push(item); // Store the original value\n return this.withDisplayLabel(item);\n });\n this.allReferencesLoaded=true;\n });\n this.selectedReference.set(this.withDisplayLabel(value));\n }\n\n withDisplayLabel(item:any):any {\n if (item==null) return item;\n let displayLabel=this.typeHandler?.stringToDisplay(item);\n if( displayLabel==null) {\n displayLabel=item._id;\n }\n return { displayLabel, ...item};\n }\n\n filterReferences($event:AutoCompleteCompleteEvent):void {\n const filterValue = $event.query;\n const refInfo = this.context().reference;\n if( refInfo!=null) {\n if (this.allReferencesLoaded) {\n this.filteredReferences.set(this.filterPossibleReferences(refInfo, filterValue));\n }\n }\n }\n\n protected filterPossibleReferences (refInfo:XtTypeReference, toSearch:string ): any[] {\n if ((toSearch==null) || (toSearch.length==0)) {\n return new Array(...this.allReferences);\n } else {\n const lowerSearch=toSearch.toLowerCase();\n return this.allReferences.filter((entity) => {\n const targetText=entity[refInfo.field];\n if (typeof targetText=='string') {\n return targetText.toLowerCase().includes(lowerSearch);\n } else {\n // Todo: Support filtering of anything else than string\n return true;\n }\n });\n }\n }\n\n contextForReference(ref:any):XtContext<any> {\n const thisContext=this.context() as XtBaseContext<any>;\n const ret = new XtBaseContext('INLINE_VIEW');\n ret.setDisplayValue(ref);\n ret.valueType=thisContext.reference?.toType;\n return ret;\n }\n\n changeSelection($event: any) {\n this.selectedReference.set($event);\n if( $event == null) {\n this.context().setFormValue($event,true);\n }else {\n const ref=this.allSourceReferences.find((ref) => ref._id==$event._id);\n this.context().setFormValue(ref,true);\n }\n }\n\n}\n","@if (isInForm()) {\n <ng-container [formGroup]=\"formGroup()\">\n <p-autocomplete [ngModel]=\"selectedReference()\" (ngModelChange)=\"changeSelection ($event)\" [ngModelOptions]=\"{standalone:true}\" [suggestions]=\"filteredReferences()\" (completeMethod)=\"filterReferences($event)\" [dropdown]=\"true\" [fluid]=\"true\" optionLabel=\"displayLabel\">\n <ng-template let-ref #item>\n <div class=\"flex items-center gap-2\">\n <div><xt-render-sub [context]=\"contextForReference(ref)\"></xt-render-sub></div>\n </div>\n </ng-template>\n <ng-template #header>\n <div class=\"font-medium px-3 py-2\">Available {{formControlName()}}</div>\n </ng-template>\n </p-autocomplete>\n </ng-container>\n} @else {\n <span class=\"text-red-800\">Only uses ManyToOne component when editing reference.</span>\n}\n","import { XtPluginRegistry, XtResolverService } from 'xt-components';\nimport { DefaultPrimitiveComponent } from './primitive/default-primitive.component';\nimport { DefaultObjectComponent } from './object/default-object.component';\nimport { DefaultObjectSetComponent } from './object-set/default-object-set.component';\nimport { ManyToOneRefComponent } from './reference/many-to-one-ref.component';\n\nexport function registerDefaultPlugin (resolverService:XtResolverService):boolean {\n const pluginName = \"Plugin Default\";\n console.info ('Registering ' +pluginName);\n resolverService.registerPlugin ({\n name:'PluginDefault',\n components: [\n {\n componentName:'DefaultPrimitive',\n componentClass:DefaultPrimitiveComponent,\n typesHandled: [XtPluginRegistry.ANY_PRIMITIVE_TYPE, 'string', 'number', 'boolean', 'date', 'time', 'date-time'],\n },{\n componentName:'DefaultObject',\n componentClass:DefaultObjectComponent,\n typesHandled: [XtPluginRegistry.ANY_OBJECT_TYPE]\n },{\n componentName:'DefaultObjectSet',\n componentClass:DefaultObjectSetComponent,\n typesHandled: [XtPluginRegistry.ANY_OBJECT_SET],\n outputs: ['valueSelected']\n },{\n componentName:'ManyToOneReference',\n componentClass:ManyToOneRefComponent,\n typesHandled: [XtPluginRegistry.ANY_SINGLE_REFERENCE]\n }\n ]\n });\n return true;\n}\n","/*\n * Public API Surface of default\n */\n\nexport * from './lib/object/default-object.component';\nexport * from './lib/primitive/default-primitive.component';\nexport * from './lib/object-set/default-object-set.component';\nexport * from './lib/register';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xt-plugin-default.mjs","sources":["../../../projects/default/src/lib/object/default-object.component.ts","../../../projects/default/src/lib/object/default-object.component.html","../../../projects/default/src/lib/primitive/default-primitive.component.ts","../../../projects/default/src/lib/primitive/default-primitive.component.html","../../../projects/default/src/lib/object-set/default-object-set.component.ts","../../../projects/default/src/lib/object-set/default-object-set.component.html","../../../projects/default/src/lib/reference/many-to-one-ref.component.ts","../../../projects/default/src/lib/reference/many-to-one-ref.component.html","../../../projects/default/src/lib/register.ts","../../../projects/default/src/public-api.ts","../../../projects/default/src/xt-plugin-default.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { XtCompositeComponent, XtContext, XtRenderSubComponent, XtResolverService } from 'xt-components';\nimport { Panel } from 'primeng/panel';\nimport { TableModule } from 'primeng/table';\n\n@Component({\n selector: 'xt-default-object',\n imports: [XtRenderSubComponent, Panel, TableModule],\n templateUrl: './default-object.component.html',\n styleUrl: './default-object.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DefaultObjectComponent extends XtCompositeComponent {\n\n resolver = inject(XtResolverService);\n\n subNames() :string[]\n {\n const value = this.context().value();\n const ret= this.resolver.listSubNamesOf(this.context(), value);\n return ret;\n }\n\n override subContext (subName:string): XtContext<any> {\n return super.subContext(subName);\n }\n\n displayInline= computed (() => {\n const display = this.context().displayMode;\n\n return display=='INLINE_VIEW' || display=='LIST_VIEW';\n });\n\n canCalculateDisplayString = computed(() => {\n return this.resolver.findTypeHandlerOf(this.context())?.handler?.isDisplayTemplateSet() ?? false;\n });\n\n displayString = computed(() => {\n return this.resolver.findTypeHandlerOf(this.context())?.handler?.stringToDisplay(this.context().value());\n });\n}\n","@let allSubNames=subNames();\n\n@if (displayInline()) {\n @if (canCalculateDisplayString()) {\n {{displayString()}}\n }@else {\n <p-table [columns]=\"allSubNames\" [value]=\"[{}]\">\n <ng-template #header>\n <tr>\n @for (subName of allSubNames; track subName) {\n <th>{{subName}}</th>\n }\n </tr>\n </ng-template>\n <ng-template #body>\n <tr>\n @for (subName of allSubNames; track subName) {\n <td><xt-render-sub [context]=\"subContext(subName)\"></xt-render-sub></td>\n }\n </tr>\n </ng-template>\n </p-table>\n }\n} @else {\n <p-panel>\n @for (subName of allSubNames; track subName) {\n <div class=\"flex flex-nowrap gap-3\">\n <div class=\"flex-none\">{{subName}}</div>\n <div class=\"flex-auto\"><xt-render-sub [context]=\"subContext(subName)\"></xt-render-sub></div>\n </div>\n }\n </p-panel>\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n Injector,\n OnDestroy,\n runInInjectionContext,\n signal\n} from '@angular/core';\nimport { XtSimpleComponent } from 'xt-components';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { InputText } from 'primeng/inputtext';\nimport { Checkbox } from 'primeng/checkbox';\nimport { InputNumber } from 'primeng/inputnumber';\nimport { DatePicker } from 'primeng/datepicker';\nimport { Subscription } from 'rxjs';\nimport { DatePipe, DecimalPipe } from '@angular/common';\n\n/**\n * Displays / edits primitive types (string, numeric) using text inputs to ensure at least something is managed.\n */\n@Component({\n selector: 'xt-default-primitive',\n imports: [\n ReactiveFormsModule,\n InputText,\n Checkbox,\n InputNumber,\n DatePicker,\n DecimalPipe,\n FormsModule,\n DatePipe\n ],\n templateUrl: './default-primitive.component.html',\n styleUrl: './default-primitive.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DefaultPrimitiveComponent extends XtSimpleComponent implements OnDestroy{\n\n injector = inject(Injector);\n\n recalculate = signal<boolean> (false);\n valueSubscription: Subscription|null = null;\n\n /**\n * This function tries to guess the type of value to be handled\n */\n typeOf = computed (() => {\n this.recalculate(); // In case recompute is forced\n if(this.context().valueType == null) {\n // The type has not been set, so let's see if we can guess it from the value\n const val = this.context().value(); // We don't use this.getValue(), as it returns a cached value\n if (val == null) { // We really can't know the type\n if (this.valueSubscription==null) {\n // Let's make sure a change of the value is taken into account\n runInInjectionContext(this.injector, () => {\n this.valueSubscription=this.formControl().valueChanges.subscribe({\n next: () => {\n this.recalculate.update((val) => !val);\n }\n });\n });\n }\n return val;\n } else {\n const ret= typeof val;\n if (ret != 'object') {\n this.context().valueType = typeof val;\n return ret;\n }else if (val instanceof Date) {\n this.context().valueType = 'date';\n return 'date';\n } else {\n throw new Error('Primitive Component used to display a non primitive type '+ret);\n }\n }\n } else {\n return this.context().valueType;\n }\n });\n\n ngOnDestroy(): void {\n if (this.valueSubscription!=null) {\n this.valueSubscription.unsubscribe();\n }\n }\n}\n","@if (isInForm() ) {\n <ng-container [formGroup]=\"formGroup()\">\n @switch (typeOf ()) {\n @case (\"number\") {\n <p-inputnumber mode=\"decimal\" [minFractionDigits]=\"0\" [maxFractionDigits]=\"2\" [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [fluid]=\"true\"></p-inputnumber>\n }\n @case (\"bigint\") {\n <p-inputnumber [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [fluid]=\"true\"></p-inputnumber>\n }\n @case (\"boolean\") {\n <p-checkbox [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [binary]=\"true\" />\n }\n @case (\"time\") {\n <p-datepicker [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [timeOnly]=\"true\" [iconDisplay]=\"'input'\" [showIcon]=\"true\" [inline]=\"false\" inputId=\"icondisplay\" />\n }\n @case (\"date\") {\n <p-datepicker [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [showTime]=\"false\" [iconDisplay]=\"'input'\" [showIcon]=\"true\" [inline]=\"false\" inputId=\"icondisplay\"/>\n }\n @case (\"date-time\") {\n <p-datepicker [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [showTime]=\"true\" [iconDisplay]=\"'input'\" [showIcon]=\"true\" [inline]=\"false\" inputId=\"icondisplay\" />\n }\n @default {\n <input type=\"text\" pInputText [name]=\"componentNameInForm ()\" [formControlName]=\"formControlName()\" [fluid]=\"true\" />\n }\n }\n </ng-container>\n} @else {\n @let value=displayValue();\n @switch (typeOf ()) {\n @case (\"number\") {\n {{value | number}}\n }\n @case (\"bigint\") {\n {{value | number}}\n }\n @case (\"boolean\") {\n <p-checkbox [binary]=\"true\" [readonly]=\"true\" [disabled]=\"true\" [ngModel]=\"value\" />\n }\n @case (\"time\") {\n {{ value | date: 'mediumTime'}}\n }\n @case (\"date\") {\n {{ value | date: 'mediumDate'}}\n }\n @case (\"date-time\") {\n {{ value | date: 'medium'}}\n }\n @default {\n {{ value }}\n }\n }\n\n}\n","import { ChangeDetectionStrategy, Component, computed, linkedSignal, output, Signal } from '@angular/core';\nimport { StoreSupport, XtCompositeComponent, XtContext, XtRenderSubComponent } from 'xt-components';\nimport { TableModule } from 'primeng/table';\n\n@Component({\n selector: 'lib-default-object-set',\n imports: [XtRenderSubComponent, TableModule],\n templateUrl: './default-object-set.component.html',\n styleUrl: './default-object-set.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DefaultObjectSetComponent<T> extends XtCompositeComponent<T[]> {\n selected= output<T>();\n\n debugValue=false;\n debugSelectedElement:Signal<boolean> = computed<boolean>(() => {\n console.debug(\"Selected element\", this.selectedElement());\n this.debugValue=!this.debugValue;\n return this.debugValue;\n });\n\n valueSet = computed(() => {\n const ret = this.context().value();\n if (Array.isArray(ret)) {\n return ret as T[];\n } else if (ret!=null) {\n return [ret] as T[];\n } else return [];\n });\n\n selectedElement = linkedSignal<T[]|null, T|null> ({\n source: this.valueSet,\n computation: (source, previous) => {\n // console.log(\"Triggering select with current \"+source?.length+\" and previous \"+previous?.source?.length);\n if ((source!=null) && (previous?.source!=null)) {\n // console.log(\"Recalculating selection\");\n if( previous?.value!=null) {\n // console.log(\"Trying to reselect existing element\");\n // Otherwise reselect the element if still there\n return source.find((toCheck) => {\n if ((toCheck as any)._id!=null) {\n const ret= (toCheck as any)._id==(previous.value as any)._id;\n // if (ret) console.log(\"Found existing element to reselect\");\n return ret;\n } else {\n // Without identity key, just compare the elements\n const ret= toCheck===previous.value;\n return ret;\n }\n })??null;\n }\n }\n// console.log(\"No selection\");\n return null;\n }\n });\n\n subNames = computed(() => {\n const ret = this.resolverService.listSubNamesOf(this.context(), this.valueSet());\n return ret;\n });\n\n elementSetContext(elementIndex: number): XtContext<any> {\n this.formGroupIfAny();\n\n const ret= this.context().elementSetContext(elementIndex);\n /* this.resolverService.loadAllReferencesForContext(ret, StoreSupport.getStoreManager()).then(() => {\n console.debug(\"Resolved all references for element \"+elementIndex+ ' of type '+this.context().valueType);\n } );*/\n return ret;\n }\n\n subElementContextForName(subElementContext: XtContext<any>, subName: string, subType?: string): XtContext<any> {\n return subElementContext.subContext(subName, subType, this.resolverService?.typeResolver);\n }\n\n selectionChange(newElement: any) {\n this.selectedElement.set(newElement);\n this.selected.emit(newElement );\n }\n\n override setupInputOutput () {\n this.outputsObject.valueSelected=this.selected;\n }\n}\n","@let allSubNames=subNames();\n<p-table [columns]=\"allSubNames\" [scrollable]=\"true\" scrollHeight=\"flex\" [value]=\"valueSet()\" selectionMode=\"single\" [selection]=\"selectedElement()\" (selectionChange)=\"selectionChange($event)\">\n <ng-template #header>\n <tr>\n @for (subName of allSubNames; track subName) {\n <th>{{subName}}</th>\n }\n </tr>\n </ng-template>\n <ng-template #body let-element let-eltIndex='rowIndex'>\n @let eltContext=elementSetContext(eltIndex);\n <tr [pSelectableRow]=\"element\">\n @for (subName of allSubNames; track subName) {\n @let subEltContext=subElementContextForName(eltContext, subName);\n <td><xt-render-sub [context]=\"subEltContext\"></xt-render-sub></td>\n }\n </tr>\n </ng-template>\n</p-table>\n","import { ChangeDetectionStrategy, Component, inject, OnInit, signal } from '@angular/core';\nimport { XtBaseContext, XtContext, XtRenderSubComponent, XtResolverService, XtSimpleComponent } from 'xt-components';\nimport { AutoComplete, AutoCompleteCompleteEvent } from 'primeng/autocomplete';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { XtTypeHandler, XtTypeReference } from 'xt-type';\nimport { firstValueFrom } from 'rxjs';\n\n@Component({\n selector: 'xt-many-to-one-ref',\n imports: [\n AutoComplete,\n ReactiveFormsModule,\n XtRenderSubComponent,\n FormsModule\n ],\n templateUrl: './many-to-one-ref.component.html',\n styleUrl: './many-to-one-ref.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ManyToOneRefComponent extends XtSimpleComponent implements OnInit{\n resolver = inject(XtResolverService);\n filteredReferences=signal<any[]>([]);\n\n allReferences: any[] = [];\n allSourceReferences: any[] = [];\n allReferencesLoaded = false;\n\n typeHandler:XtTypeHandler<any>|null=null;\n\n /**\n * We have to go through a ngModel for the selection as we need to calculate the displayedLabel\n */\n selectedReference= signal<any>(null);\n\n override ngOnInit(): void {\n super.ngOnInit();\n const context=this.context();\n const value=context.formControlValue();\n\n this.typeHandler =this.resolver.findTypeHandlerOf(context, undefined, value)?.handler??null;\n firstValueFrom(this.resolver.findPossibleReferences(context)).then((references: any[]) => {\n this.allReferences = references.map((item) => {\n this.allSourceReferences.push(item); // Store the original value\n return this.withDisplayLabel(item);\n });\n this.allReferencesLoaded=true;\n });\n this.selectedReference.set(this.withDisplayLabel(value));\n }\n\n withDisplayLabel(item:any):any {\n if (item==null) return item;\n let displayLabel=this.typeHandler?.stringToDisplay(item);\n if( displayLabel==null) {\n displayLabel=item._id;\n }\n return { displayLabel, ...item};\n }\n\n filterReferences($event:AutoCompleteCompleteEvent):void {\n const filterValue = $event.query;\n const refInfo = this.context().reference;\n if( refInfo!=null) {\n if (this.allReferencesLoaded) {\n this.filteredReferences.set(this.filterPossibleReferences(refInfo, filterValue));\n }\n }\n }\n\n protected filterPossibleReferences (refInfo:XtTypeReference, toSearch:string ): any[] {\n if ((toSearch==null) || (toSearch.length==0)) {\n return new Array(...this.allReferences);\n } else {\n const lowerSearch=toSearch.toLowerCase();\n return this.allReferences.filter((entity) => {\n const targetText=entity[refInfo.field];\n if (typeof targetText=='string') {\n return targetText.toLowerCase().includes(lowerSearch);\n } else {\n // Todo: Support filtering of anything else than string\n return true;\n }\n });\n }\n }\n\n contextForReference(ref:any):XtContext<any> {\n const thisContext=this.context() as XtBaseContext<any>;\n const ret = new XtBaseContext('INLINE_VIEW');\n ret.setDisplayValue(ref);\n ret.valueType=thisContext.reference?.toType;\n return ret;\n }\n\n changeSelection($event: any) {\n this.selectedReference.set($event);\n if( $event == null) {\n this.context().setFormValue($event,true);\n }else {\n const ref=this.allSourceReferences.find((ref) => ref._id==$event._id);\n this.context().setFormValue(ref,true);\n }\n }\n\n}\n","@if (isInForm()) {\n <ng-container [formGroup]=\"formGroup()\">\n <p-autocomplete [ngModel]=\"selectedReference()\" (ngModelChange)=\"changeSelection ($event)\" [ngModelOptions]=\"{standalone:true}\" [suggestions]=\"filteredReferences()\" (completeMethod)=\"filterReferences($event)\" [dropdown]=\"true\" [fluid]=\"true\" optionLabel=\"displayLabel\">\n <ng-template let-ref #item>\n <div class=\"flex items-center gap-2\">\n <div><xt-render-sub [context]=\"contextForReference(ref)\"></xt-render-sub></div>\n </div>\n </ng-template>\n <ng-template #header>\n <div class=\"font-medium px-3 py-2\">Available {{formControlName()}}</div>\n </ng-template>\n </p-autocomplete>\n </ng-container>\n} @else {\n <span class=\"text-red-800\">Only uses ManyToOne component when editing reference.</span>\n}\n","import { XtPluginRegistry, XtResolverService } from 'xt-components';\nimport { DefaultPrimitiveComponent } from './primitive/default-primitive.component';\nimport { DefaultObjectComponent } from './object/default-object.component';\nimport { DefaultObjectSetComponent } from './object-set/default-object-set.component';\nimport { ManyToOneRefComponent } from './reference/many-to-one-ref.component';\n\nexport function registerDefaultPlugin (resolverService:XtResolverService):boolean {\n const pluginName = \"Plugin Default\";\n console.info ('Registering ' +pluginName);\n resolverService.registerPlugin ({\n name:'PluginDefault',\n components: [\n {\n componentName:'DefaultPrimitive',\n componentClass:DefaultPrimitiveComponent,\n typesHandled: [XtPluginRegistry.ANY_PRIMITIVE_TYPE, 'string', 'number', 'boolean', 'date', 'time', 'date-time'],\n },{\n componentName:'DefaultObject',\n componentClass:DefaultObjectComponent,\n typesHandled: [XtPluginRegistry.ANY_OBJECT_TYPE]\n },{\n componentName:'DefaultObjectSet',\n componentClass:DefaultObjectSetComponent,\n typesHandled: [XtPluginRegistry.ANY_OBJECT_SET],\n outputs: ['valueSelected']\n },{\n componentName:'ManyToOneReference',\n componentClass:ManyToOneRefComponent,\n typesHandled: [XtPluginRegistry.ANY_SINGLE_REFERENCE]\n }\n ]\n });\n return true;\n}\n","/*\n * Public API Surface of default\n */\n\nexport * from './lib/object/default-object.component';\nexport * from './lib/primitive/default-primitive.component';\nexport * from './lib/object-set/default-object-set.component';\nexport * from './lib/register';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|