@chill-sharp/ui-core 1.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/chillsharp-current-user-preferences/SKILL.md +70 -0
- package/.agents/skills/chillsharp-ui-template/SKILL.md +18 -0
- package/README.md +103 -0
- package/chill-sharp-ui-core.d.ts.map +1 -0
- package/doc/AIAssistedDevelopment/README.md +185 -0
- package/doc/AttachmentModel/README.md +173 -0
- package/doc/AuthenticationModel/README.md +213 -0
- package/doc/AuthenticationModel/how-to-integreate-auth-minimal-api.md +293 -0
- package/doc/ChillSharpClient.md +464 -0
- package/doc/ClientGeneration/README.md +172 -0
- package/doc/ComplianceGuide/README.md +178 -0
- package/doc/Configuration/README.md +94 -0
- package/doc/CurrentUserPreferences.md +114 -0
- package/doc/DateTimePolicy/README.md +154 -0
- package/doc/DateTimeSerialization.md +423 -0
- package/doc/Endpoints.md +260 -0
- package/doc/HowTo/01-simple-blog-sqlite.md +153 -0
- package/doc/HowTo/02-blog-schema-labels.md +140 -0
- package/doc/HowTo/03-authentication.md +218 -0
- package/doc/HowTo/04-blog-posts-one-to-many.md +194 -0
- package/doc/HowTo/05-docker-env-variables.md +274 -0
- package/doc/HowTo/06-chunk-transactions-autocomplete.md +196 -0
- package/doc/Mcp/ChatGPT.md +291 -0
- package/doc/Mcp/README.md +799 -0
- package/doc/MenuGuide/README.md +49 -0
- package/doc/ModelPreparation.md +255 -0
- package/doc/PermissionModel/README.md +277 -0
- package/doc/README.md +228 -0
- package/doc/ReferenceExistence.md +130 -0
- package/doc/RegisterContext.md +217 -0
- package/doc/UiCore/CRUD.md +170 -0
- package/doc/UiCore/README.md +13 -0
- package/doc/ValidationModel/README.md +117 -0
- package/doc/it/AIAssistedDevelopment/README.md +185 -0
- package/doc/it/AttachmentModel/README.md +173 -0
- package/doc/it/AuthenticationModel/README.md +171 -0
- package/doc/it/AuthenticationModel/how-to-integreate-auth-minimal-api.md +292 -0
- package/doc/it/ChillSharpClient.md +464 -0
- package/doc/it/ClientGeneration/README.md +152 -0
- package/doc/it/ComplianceGuide/README.md +178 -0
- package/doc/it/Configuration/README.md +94 -0
- package/doc/it/CurrentUserPreferences.md +114 -0
- package/doc/it/DateTimePolicy/README.md +154 -0
- package/doc/it/DateTimeSerialization.md +423 -0
- package/doc/it/Endpoints.md +260 -0
- package/doc/it/HowTo/01-simple-blog-sqlite.md +152 -0
- package/doc/it/HowTo/02-blog-schema-labels.md +139 -0
- package/doc/it/HowTo/03-authentication.md +221 -0
- package/doc/it/HowTo/04-blog-posts-one-to-many.md +193 -0
- package/doc/it/HowTo/05-docker-env-variables.md +268 -0
- package/doc/it/HowTo/06-chunk-transactions-autocomplete.md +196 -0
- package/doc/it/Mcp/ChatGPT.md +291 -0
- package/doc/it/Mcp/README.md +799 -0
- package/doc/it/MenuGuide/README.md +49 -0
- package/doc/it/ModelPreparation.md +254 -0
- package/doc/it/PermissionModel/README.md +190 -0
- package/doc/it/README.md +172 -0
- package/doc/it/ReferenceExistence.md +130 -0
- package/doc/it/RegisterContext.md +218 -0
- package/doc/it/UiCore/CRUD.md +170 -0
- package/doc/it/UiCore/README.md +13 -0
- package/doc/it/ValidationModel/README.md +117 -0
- package/fesm2022/chill-sharp-ui-core.mjs +16725 -0
- package/fesm2022/chill-sharp-ui-core.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/lib/chill-sharp-ui-root.component.d.ts +6 -0
- package/lib/chill-sharp-ui-root.component.d.ts.map +1 -0
- package/lib/chill-sharp-ui.routes.d.ts +3 -0
- package/lib/chill-sharp-ui.routes.d.ts.map +1 -0
- package/lib/chill.config.d.ts +5 -0
- package/lib/chill.config.d.ts.map +1 -0
- package/lib/layouts/auth-shell.component.d.ts +8 -0
- package/lib/layouts/auth-shell.component.d.ts.map +1 -0
- package/lib/layouts/workspace-page.component.d.ts +49 -0
- package/lib/layouts/workspace-page.component.d.ts.map +1 -0
- package/lib/lib/chill-form.component.d.ts +151 -0
- package/lib/lib/chill-form.component.d.ts.map +1 -0
- package/lib/lib/chill-i18n-button-label.component.d.ts +27 -0
- package/lib/lib/chill-i18n-button-label.component.d.ts.map +1 -0
- package/lib/lib/chill-i18n-label.component.d.ts +30 -0
- package/lib/lib/chill-i18n-label.component.d.ts.map +1 -0
- package/lib/lib/chill-json-input.component.d.ts +31 -0
- package/lib/lib/chill-json-input.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-boolean-control.component.d.ts +12 -0
- package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-boolean-control.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-editor-control.component.d.ts +17 -0
- package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-editor-control.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-lookup-control.component.d.ts +45 -0
- package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-lookup-control.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-scalar-control.component.d.ts +19 -0
- package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-scalar-control.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-select-control.component.d.ts +12 -0
- package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-select-control.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-textarea-control.component.d.ts +13 -0
- package/lib/lib/chill-polymorphic-input-controls/chill-polymorphic-textarea-control.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-input.component.d.ts +452 -0
- package/lib/lib/chill-polymorphic-input.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-boolean-control.component.d.ts +7 -0
- package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-boolean-control.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-lookup-control.component.d.ts +7 -0
- package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-lookup-control.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-number-control.component.d.ts +7 -0
- package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-number-control.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-temporal-control.component.d.ts +8 -0
- package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-temporal-control.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-value-control.component.d.ts +7 -0
- package/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-value-control.component.d.ts.map +1 -0
- package/lib/lib/chill-polymorphic-output.component.d.ts +75 -0
- package/lib/lib/chill-polymorphic-output.component.d.ts.map +1 -0
- package/lib/lib/chill-table.component.d.ts +434 -0
- package/lib/lib/chill-table.component.d.ts.map +1 -0
- package/lib/lib/chill-text-editor-dialog.component.d.ts +14 -0
- package/lib/lib/chill-text-editor-dialog.component.d.ts.map +1 -0
- package/lib/lib/crud-configuration.utils.d.ts +4 -0
- package/lib/lib/crud-configuration.utils.d.ts.map +1 -0
- package/lib/lib/culture-name-options.d.ts +3 -0
- package/lib/lib/culture-name-options.d.ts.map +1 -0
- package/lib/lib/date-format-options.d.ts +3 -0
- package/lib/lib/date-format-options.d.ts.map +1 -0
- package/lib/lib/iana-time-zone-options.d.ts +3 -0
- package/lib/lib/iana-time-zone-options.d.ts.map +1 -0
- package/lib/lib/notice-transition.directive.d.ts +17 -0
- package/lib/lib/notice-transition.directive.d.ts.map +1 -0
- package/lib/lib/schema-property-dialog.component.d.ts +74 -0
- package/lib/lib/schema-property-dialog.component.d.ts.map +1 -0
- package/lib/models/chill-auth.models.d.ts +176 -0
- package/lib/models/chill-auth.models.d.ts.map +1 -0
- package/lib/models/chill-menu.models.d.ts +12 -0
- package/lib/models/chill-menu.models.d.ts.map +1 -0
- package/lib/models/chill-schema.models.d.ts +141 -0
- package/lib/models/chill-schema.models.d.ts.map +1 -0
- package/lib/models/workspace-dialog.models.d.ts +16 -0
- package/lib/models/workspace-dialog.models.d.ts.map +1 -0
- package/lib/models/workspace-task.models.d.ts +36 -0
- package/lib/models/workspace-task.models.d.ts.map +1 -0
- package/lib/pages/confirm-reset-page.component.d.ts +21 -0
- package/lib/pages/confirm-reset-page.component.d.ts.map +1 -0
- package/lib/pages/crud/attachment-upload-dialog.component.d.ts +24 -0
- package/lib/pages/crud/attachment-upload-dialog.component.d.ts.map +1 -0
- package/lib/pages/crud/crud-page.component.d.ts +244 -0
- package/lib/pages/crud/crud-page.component.d.ts.map +1 -0
- package/lib/pages/login-page.component.d.ts +21 -0
- package/lib/pages/login-page.component.d.ts.map +1 -0
- package/lib/pages/permissions/auth-role-dialog.component.d.ts +29 -0
- package/lib/pages/permissions/auth-role-dialog.component.d.ts.map +1 -0
- package/lib/pages/permissions/auth-search-select.component.d.ts +28 -0
- package/lib/pages/permissions/auth-search-select.component.d.ts.map +1 -0
- package/lib/pages/permissions/auth-user-dialog.component.d.ts +35 -0
- package/lib/pages/permissions/auth-user-dialog.component.d.ts.map +1 -0
- package/lib/pages/permissions/permission-editor.component.d.ts +55 -0
- package/lib/pages/permissions/permission-editor.component.d.ts.map +1 -0
- package/lib/pages/permissions/permissions-page.component.d.ts +38 -0
- package/lib/pages/permissions/permissions-page.component.d.ts.map +1 -0
- package/lib/pages/permissions/role-permission.component.d.ts +43 -0
- package/lib/pages/permissions/role-permission.component.d.ts.map +1 -0
- package/lib/pages/permissions/user-permission.component.d.ts +43 -0
- package/lib/pages/permissions/user-permission.component.d.ts.map +1 -0
- package/lib/pages/register-page.component.d.ts +24 -0
- package/lib/pages/register-page.component.d.ts.map +1 -0
- package/lib/pages/reset-password-page.component.d.ts +18 -0
- package/lib/pages/reset-password-page.component.d.ts.map +1 -0
- package/lib/provide-chill-sharp-ui-core.d.ts +8 -0
- package/lib/provide-chill-sharp-ui-core.d.ts.map +1 -0
- package/lib/services/chill.service.d.ts +249 -0
- package/lib/services/chill.service.d.ts.map +1 -0
- package/lib/services/workspace-dialog.service.d.ts +22 -0
- package/lib/services/workspace-dialog.service.d.ts.map +1 -0
- package/lib/services/workspace-layout.service.d.ts +13 -0
- package/lib/services/workspace-layout.service.d.ts.map +1 -0
- package/lib/services/workspace-task-registry.service.d.ts +35 -0
- package/lib/services/workspace-task-registry.service.d.ts.map +1 -0
- package/lib/services/workspace-toolbar.service.d.ts +23 -0
- package/lib/services/workspace-toolbar.service.d.ts.map +1 -0
- package/lib/services/workspace.service.d.ts +114 -0
- package/lib/services/workspace.service.d.ts.map +1 -0
- package/lib/storage-keys.d.ts +5 -0
- package/lib/storage-keys.d.ts.map +1 -0
- package/lib/tasks/crud-task/crud-task.component.d.ts +33 -0
- package/lib/tasks/crud-task/crud-task.component.d.ts.map +1 -0
- package/lib/tasks/goto-url-task/goto-url-task.component.d.ts +31 -0
- package/lib/tasks/goto-url-task/goto-url-task.component.d.ts.map +1 -0
- package/lib/workspace/confirm-message-dialog.component.d.ts +16 -0
- package/lib/workspace/confirm-message-dialog.component.d.ts.map +1 -0
- package/lib/workspace/entity-options-dialog.component.d.ts +29 -0
- package/lib/workspace/entity-options-dialog.component.d.ts.map +1 -0
- package/lib/workspace/external-task-api.d.ts +2 -0
- package/lib/workspace/external-task-api.d.ts.map +1 -0
- package/lib/workspace/user-profile-dialog.component.d.ts +30 -0
- package/lib/workspace/user-profile-dialog.component.d.ts.map +1 -0
- package/lib/workspace/workspace-dialog-host.component.d.ts +26 -0
- package/lib/workspace/workspace-dialog-host.component.d.ts.map +1 -0
- package/lib/workspace/workspace-menu-item-dialog.component.d.ts +61 -0
- package/lib/workspace/workspace-menu-item-dialog.component.d.ts.map +1 -0
- package/lib/workspace/workspace-menu.component.d.ts +104 -0
- package/lib/workspace/workspace-menu.component.d.ts.map +1 -0
- package/lib/workspace/workspace-taskbar.component.d.ts +14 -0
- package/lib/workspace/workspace-taskbar.component.d.ts.map +1 -0
- package/package.json +54 -0
- package/public-api.d.ts +56 -0
- package/public-api.d.ts.map +1 -0
- package/service-worker/chill-sharp-service-worker.js +166 -0
- package/styles/core-theme.scss +1268 -0
- package/template-customization/upgrade.ps1.template +342 -0
- package/template-customization/upgrade.sh.template +271 -0
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import { ConnectedPosition } from '@angular/cdk/overlay';
|
|
3
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
4
|
+
import type { JsonObject, JsonValue } from '@chill-sharp/ng-client';
|
|
5
|
+
import { type ChillPropertySchema, type ChillPropertySelectOptionTuple, type ChillSchema } from '../models/chill-schema.models';
|
|
6
|
+
import { ChillService } from '../services/chill.service';
|
|
7
|
+
import { WorkspaceDialogService } from '../services/workspace-dialog.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
type FieldValueMap = Record<string, JsonValue>;
|
|
10
|
+
type ErrorMap = Record<string, string>;
|
|
11
|
+
type DraftTextMap = Record<string, string>;
|
|
12
|
+
interface LookupState {
|
|
13
|
+
term: string;
|
|
14
|
+
isSearching: boolean;
|
|
15
|
+
error: string;
|
|
16
|
+
results: JsonObject[];
|
|
17
|
+
selectedGuid: string;
|
|
18
|
+
selectedLabel: string;
|
|
19
|
+
selectedShortLabel: string;
|
|
20
|
+
}
|
|
21
|
+
export declare class ChillPolymorphicInputComponent implements OnDestroy {
|
|
22
|
+
readonly chill: ChillService;
|
|
23
|
+
readonly dialog: WorkspaceDialogService;
|
|
24
|
+
readonly form: import("@angular/core").InputSignal<FormGroup<Record<string, FormControl<JsonValue>>> | null>;
|
|
25
|
+
readonly schema: import("@angular/core").InputSignal<ChillSchema | null>;
|
|
26
|
+
readonly propertyNames: import("@angular/core").InputSignal<string[] | null>;
|
|
27
|
+
readonly readonlyPropertyNames: import("@angular/core").InputSignal<string[] | null>;
|
|
28
|
+
readonly externalErrors: import("@angular/core").InputSignal<Record<string, string> | null>;
|
|
29
|
+
readonly showLabels: import("@angular/core").InputSignal<boolean>;
|
|
30
|
+
readonly valueChange: import("@angular/core").OutputEmitterRef<Record<string, JsonValue>>;
|
|
31
|
+
readonly validityChange: import("@angular/core").OutputEmitterRef<boolean>;
|
|
32
|
+
readonly fieldBlur: import("@angular/core").OutputEmitterRef<Record<string, JsonValue>>;
|
|
33
|
+
readonly lookupDialogOpenChange: import("@angular/core").OutputEmitterRef<boolean>;
|
|
34
|
+
readonly editorDialogOpenChange: import("@angular/core").OutputEmitterRef<boolean>;
|
|
35
|
+
readonly fieldValues: import("@angular/core").WritableSignal<FieldValueMap>;
|
|
36
|
+
readonly draftTextValues: import("@angular/core").WritableSignal<DraftTextMap>;
|
|
37
|
+
readonly errors: import("@angular/core").WritableSignal<ErrorMap>;
|
|
38
|
+
readonly lookups: import("@angular/core").WritableSignal<Record<string, LookupState>>;
|
|
39
|
+
readonly lookupDialogSelectionState: import("@angular/core").WritableSignal<Record<string, boolean>>;
|
|
40
|
+
readonly editorDialogSelectionState: import("@angular/core").WritableSignal<Record<string, boolean>>;
|
|
41
|
+
readonly lookupOverlayPositions: ConnectedPosition[];
|
|
42
|
+
private readonly lookupSearchTimers;
|
|
43
|
+
private readonly lookupRequestSequence;
|
|
44
|
+
private controlSubscriptions;
|
|
45
|
+
private isDestroyed;
|
|
46
|
+
readonly properties: import("@angular/core").Signal<ChillPropertySchema[]>;
|
|
47
|
+
readonly resolvedErrors: import("@angular/core").Signal<ErrorMap>;
|
|
48
|
+
readonly isValid: import("@angular/core").Signal<boolean>;
|
|
49
|
+
readonly readonlyPropertyNameSet: import("@angular/core").Signal<Set<string>>;
|
|
50
|
+
/**
|
|
51
|
+
* Rebuilds local field, error, and lookup state from the current form/schema pair and re-emits aggregate state.
|
|
52
|
+
*/
|
|
53
|
+
constructor();
|
|
54
|
+
/**
|
|
55
|
+
* Clears control subscriptions and pending lookup timers when the component is destroyed.
|
|
56
|
+
*/
|
|
57
|
+
ngOnDestroy(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Identifies boolean fields so the template can render a checkbox instead of a text input.
|
|
60
|
+
*/
|
|
61
|
+
isCheckbox(property: ChillPropertySchema): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Uses type and metadata hints to decide when a string field should render as multiline input.
|
|
64
|
+
*/
|
|
65
|
+
isTextarea(property: ChillPropertySchema): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Identifies static select fields backed by metadata option tuples.
|
|
68
|
+
*/
|
|
69
|
+
isSelect(property: ChillPropertySchema): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Flags JSON-string fields so the template can render the Monaco editor.
|
|
72
|
+
*/
|
|
73
|
+
isJsonEditor(property: ChillPropertySchema): boolean;
|
|
74
|
+
editorLanguage(property: ChillPropertySchema): 'json' | 'plaintext';
|
|
75
|
+
/**
|
|
76
|
+
* Returns true when the caller marked the property as read only.
|
|
77
|
+
*/
|
|
78
|
+
isPropertyReadOnly(propertyName: string): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Checks whether a property uses single-value lookup behavior.
|
|
81
|
+
*/
|
|
82
|
+
isLookup(property: ChillPropertySchema): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Checks whether a property uses multi-value lookup behavior.
|
|
85
|
+
*/
|
|
86
|
+
isLookupCollection(property: ChillPropertySchema): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Flags date-only and date-time fields so they can render localized display text instead of raw storage values.
|
|
89
|
+
*/
|
|
90
|
+
isCultureDateInput(property: ChillPropertySchema): boolean;
|
|
91
|
+
isFormattedTextInput(property: ChillPropertySchema): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Resolves the native input type for scalar fields.
|
|
94
|
+
*/
|
|
95
|
+
inputType(property: ChillPropertySchema): 'text' | 'number';
|
|
96
|
+
/**
|
|
97
|
+
* Resolves the numeric step value from metadata or property type defaults.
|
|
98
|
+
*/
|
|
99
|
+
inputStep(property: ChillPropertySchema): string | null;
|
|
100
|
+
/**
|
|
101
|
+
* Resolves optional static text rendered after a scalar value without changing its stored value.
|
|
102
|
+
*/
|
|
103
|
+
staticSuffix(property: ChillPropertySchema): string;
|
|
104
|
+
/**
|
|
105
|
+
* Uses metadata placeholder first, otherwise mirrors the field label when labels are visually hidden.
|
|
106
|
+
*/
|
|
107
|
+
placeholder(property: ChillPropertySchema): string;
|
|
108
|
+
/**
|
|
109
|
+
* Converts string and numeric field values into the text representation expected by native inputs.
|
|
110
|
+
*/
|
|
111
|
+
textValue(propertyName: string): string;
|
|
112
|
+
/**
|
|
113
|
+
* Reads a field value as a boolean for checkbox binding.
|
|
114
|
+
*/
|
|
115
|
+
booleanValue(propertyName: string): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Returns the current lookup search term for a property.
|
|
118
|
+
*/
|
|
119
|
+
lookupTerm(propertyName: string): string;
|
|
120
|
+
/**
|
|
121
|
+
* Exposes the current lookup result list for dropdown rendering.
|
|
122
|
+
*/
|
|
123
|
+
lookupResults(propertyName: string): JsonObject[];
|
|
124
|
+
/**
|
|
125
|
+
* Returns the current lookup error message for a property.
|
|
126
|
+
*/
|
|
127
|
+
lookupError(propertyName: string): string;
|
|
128
|
+
/**
|
|
129
|
+
* Returns whether a lookup search is currently running for a property.
|
|
130
|
+
*/
|
|
131
|
+
lookupIsSearching(propertyName: string): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Measures the visible input slot so the detached overlay keeps the same width as the field.
|
|
134
|
+
*/
|
|
135
|
+
lookupOverlayWidth(origin: HTMLElement | null): number;
|
|
136
|
+
/**
|
|
137
|
+
* Checks whether the dialog-based lookup picker can be opened for a property.
|
|
138
|
+
*/
|
|
139
|
+
canOpenLookupDialog(property: ChillPropertySchema): boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Joins the selected labels of a lookup collection into the compact summary shown in the input.
|
|
142
|
+
*/
|
|
143
|
+
lookupCollectionSummary(propertyName: string): string;
|
|
144
|
+
/**
|
|
145
|
+
* Returns the selected collection lookup entities in storage order.
|
|
146
|
+
*/
|
|
147
|
+
selectedLookupCollectionEntities(propertyName: string): JsonObject[];
|
|
148
|
+
/**
|
|
149
|
+
* Returns the selected single-lookup entity when one is currently stored in the field.
|
|
150
|
+
*/
|
|
151
|
+
selectedLookupEntity(propertyName: string): JsonObject | null;
|
|
152
|
+
/**
|
|
153
|
+
* Returns whether the field currently holds a selected single lookup entity.
|
|
154
|
+
*/
|
|
155
|
+
hasSelectedLookupEntity(propertyName: string): boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Returns the full label shown inside the selected single-value lookup pill.
|
|
158
|
+
*/
|
|
159
|
+
selectedLookupLabel(propertyName: string): string;
|
|
160
|
+
/**
|
|
161
|
+
* Returns the compact lookup label used when the selected pill becomes narrow.
|
|
162
|
+
*/
|
|
163
|
+
selectedLookupShortLabel(propertyName: string): string;
|
|
164
|
+
/**
|
|
165
|
+
* Extracts non-empty labels from the current lookup collection value.
|
|
166
|
+
*/
|
|
167
|
+
collectionLookupLabels(propertyName: string): string[];
|
|
168
|
+
/**
|
|
169
|
+
* Returns the merged validation message coming from local validation, form errors, or external errors.
|
|
170
|
+
*/
|
|
171
|
+
validationMessage(propertyName: string): string;
|
|
172
|
+
/**
|
|
173
|
+
* Trims and type-normalizes free-text input on blur, then revalidates before notifying the parent.
|
|
174
|
+
*/
|
|
175
|
+
normalizeTextOnBlur(property: ChillPropertySchema): void;
|
|
176
|
+
/**
|
|
177
|
+
* Tracks raw typing for date and date-time inputs until blur normalization rewrites the value in culture format.
|
|
178
|
+
*/
|
|
179
|
+
updateTextInput(propertyName: string, value: string): void;
|
|
180
|
+
/**
|
|
181
|
+
* Stores the Monaco JSON editor content as a raw string inside the form control.
|
|
182
|
+
*/
|
|
183
|
+
updateJsonInput(propertyName: string, value: string): void;
|
|
184
|
+
openEditorDialog(property: ChillPropertySchema): Promise<void>;
|
|
185
|
+
beginEditorDialogSelection(propertyName: string): void;
|
|
186
|
+
/**
|
|
187
|
+
* Reads the current scalar value for a metadata-backed select field.
|
|
188
|
+
*/
|
|
189
|
+
selectValue(propertyName: string): string;
|
|
190
|
+
/**
|
|
191
|
+
* Stores the selected option value as the field value and forwards blur semantics to the parent.
|
|
192
|
+
*/
|
|
193
|
+
updateSelectValue(property: ChillPropertySchema, value: string): void;
|
|
194
|
+
/**
|
|
195
|
+
* Returns normalized `[value, text]` tuples from property metadata for native select rendering.
|
|
196
|
+
*/
|
|
197
|
+
selectOptions(property: ChillPropertySchema): ChillPropertySelectOptionTuple[];
|
|
198
|
+
/**
|
|
199
|
+
* Updates the typed lookup text, clears stale selection metadata, and starts debounced search when applicable.
|
|
200
|
+
*/
|
|
201
|
+
updateLookupTerm(property: ChillPropertySchema, value: string): void;
|
|
202
|
+
/**
|
|
203
|
+
* Reopens lookup suggestions on focus when the field already has searchable text but no visible results.
|
|
204
|
+
*/
|
|
205
|
+
handleLookupFocus(property: ChillPropertySchema): void;
|
|
206
|
+
/**
|
|
207
|
+
* Emits blur immediately and clears the popup list after a short delay so click selection can still complete.
|
|
208
|
+
*/
|
|
209
|
+
handleLookupBlur(propertyName: string): void;
|
|
210
|
+
/**
|
|
211
|
+
* Forwards blur for controls that do not need blur-time value normalization.
|
|
212
|
+
*/
|
|
213
|
+
emitFieldBlur(propertyName: string): void;
|
|
214
|
+
private endEditorDialogSelection;
|
|
215
|
+
beginLookupDialogSelection(propertyName: string): void;
|
|
216
|
+
/**
|
|
217
|
+
* Opens the CRUD picker dialog for entity lookups and maps the confirmed selection back into the field.
|
|
218
|
+
*/
|
|
219
|
+
openLookupDialog(property: ChillPropertySchema): Promise<void>;
|
|
220
|
+
/**
|
|
221
|
+
* Stores a single lookup object, updates its display term, and marks the matching selected Guid.
|
|
222
|
+
*/
|
|
223
|
+
selectLookupResult(property: ChillPropertySchema, result: JsonObject): void;
|
|
224
|
+
/**
|
|
225
|
+
* Stores multiple lookup objects and rebuilds the collection summary shown in the input.
|
|
226
|
+
*/
|
|
227
|
+
selectLookupResults(property: ChillPropertySchema, results: JsonObject[]): void;
|
|
228
|
+
/**
|
|
229
|
+
* Removes the current lookup value and resets the transient search state for that field.
|
|
230
|
+
*/
|
|
231
|
+
clearLookup(property: ChillPropertySchema): void;
|
|
232
|
+
private endLookupDialogSelection;
|
|
233
|
+
private isAnyLookupDialogOpen;
|
|
234
|
+
/**
|
|
235
|
+
* Resolves the first usable lookup label from common server payload field names.
|
|
236
|
+
*/
|
|
237
|
+
lookupLabel(result: JsonObject): string;
|
|
238
|
+
/**
|
|
239
|
+
* Resolves a short lookup label from common compact-name fields before falling back to the full label.
|
|
240
|
+
*/
|
|
241
|
+
lookupShortLabel(result: JsonObject): string;
|
|
242
|
+
/**
|
|
243
|
+
* Extracts the lookup Guid using either `Guid` or `guid`.
|
|
244
|
+
*/
|
|
245
|
+
lookupGuid(result: JsonObject): string;
|
|
246
|
+
/**
|
|
247
|
+
* Matches a rendered lookup option against the currently selected single-value lookup Guid.
|
|
248
|
+
*/
|
|
249
|
+
isLookupResultSelected(propertyName: string, result: JsonObject): boolean;
|
|
250
|
+
/**
|
|
251
|
+
* Removes one selected entity from a lookup collection while preserving the remaining selection order.
|
|
252
|
+
*/
|
|
253
|
+
removeLookupCollectionEntity(property: ChillPropertySchema, entity: JsonObject): void;
|
|
254
|
+
/**
|
|
255
|
+
* Returns the Angular control for a schema property when the prepared form is available.
|
|
256
|
+
*/
|
|
257
|
+
control(propertyName: string): FormControl<JsonValue> | null;
|
|
258
|
+
/**
|
|
259
|
+
* Executes a lookup query and ignores late responses from older requests so only the newest search wins.
|
|
260
|
+
*/
|
|
261
|
+
private searchLookup;
|
|
262
|
+
/**
|
|
263
|
+
* Reads the current form values for the rendered properties and fills missing values with editor defaults.
|
|
264
|
+
*/
|
|
265
|
+
private readFormValues;
|
|
266
|
+
/**
|
|
267
|
+
* Builds the initial lookup UI state from the already-selected form values.
|
|
268
|
+
*/
|
|
269
|
+
private createLookupState;
|
|
270
|
+
/**
|
|
271
|
+
* Maps undefined form values to the empty value shape expected by the rendered control.
|
|
272
|
+
*/
|
|
273
|
+
private normalizeFieldValue;
|
|
274
|
+
/**
|
|
275
|
+
* Validates every rendered property and returns only the fields that currently have local errors.
|
|
276
|
+
*/
|
|
277
|
+
private validateAllFields;
|
|
278
|
+
/**
|
|
279
|
+
* Revalidates one field and adds or removes its local error entry.
|
|
280
|
+
*/
|
|
281
|
+
private validateField;
|
|
282
|
+
private setLocalError;
|
|
283
|
+
private clearLocalError;
|
|
284
|
+
private clearDraftTextValue;
|
|
285
|
+
private shouldValidateOnChange;
|
|
286
|
+
private shouldCommitTextOnBlur;
|
|
287
|
+
/**
|
|
288
|
+
* Reads server validation stored on the Angular control so backend errors participate in the merged output.
|
|
289
|
+
*/
|
|
290
|
+
private readControlValidationMessage;
|
|
291
|
+
/**
|
|
292
|
+
* Routes validation through type-specific rules after handling required and empty-value cases.
|
|
293
|
+
*/
|
|
294
|
+
private getValidationMessage;
|
|
295
|
+
/**
|
|
296
|
+
* Validates Guid input against the standard GUID format.
|
|
297
|
+
*/
|
|
298
|
+
private validateGuid;
|
|
299
|
+
/**
|
|
300
|
+
* Validates integer input and applies configured numeric range rules.
|
|
301
|
+
*/
|
|
302
|
+
private validateInteger;
|
|
303
|
+
/**
|
|
304
|
+
* Validates decimal input and applies configured numeric range rules.
|
|
305
|
+
*/
|
|
306
|
+
private validateDecimal;
|
|
307
|
+
/**
|
|
308
|
+
* Applies shared min/max metadata checks after numeric parsing has already succeeded.
|
|
309
|
+
*/
|
|
310
|
+
private validateNumericRange;
|
|
311
|
+
/**
|
|
312
|
+
* Validates a date string.
|
|
313
|
+
*/
|
|
314
|
+
private validateDate;
|
|
315
|
+
/**
|
|
316
|
+
* Validates a time string.
|
|
317
|
+
*/
|
|
318
|
+
private validateTime;
|
|
319
|
+
/**
|
|
320
|
+
* Reuses the date-time parser so validation and blur-time normalization accept the same formats.
|
|
321
|
+
*/
|
|
322
|
+
private validateDateTime;
|
|
323
|
+
/**
|
|
324
|
+
* Reuses the duration parser so validation and blur-time normalization stay aligned.
|
|
325
|
+
*/
|
|
326
|
+
private validateDuration;
|
|
327
|
+
/**
|
|
328
|
+
* Validates string values against length and regex metadata rules.
|
|
329
|
+
*/
|
|
330
|
+
private validateString;
|
|
331
|
+
/**
|
|
332
|
+
* Validates that the field contains a JSON document while keeping the stored form value as text.
|
|
333
|
+
*/
|
|
334
|
+
private validateJson;
|
|
335
|
+
/**
|
|
336
|
+
* Converts the raw text entered by the user into the normalized typed value stored in the form.
|
|
337
|
+
*/
|
|
338
|
+
private normalizeBlurValue;
|
|
339
|
+
/**
|
|
340
|
+
* Accepts both ISO durations and `d.hh:mm[:ss]`-style values and normalizes them for storage.
|
|
341
|
+
*/
|
|
342
|
+
private parseDurationDisplayValue;
|
|
343
|
+
/**
|
|
344
|
+
* Resolves the entity type targeted by a lookup property from explicit schema fields or metadata fallbacks.
|
|
345
|
+
*/
|
|
346
|
+
private resolveLookupEntityChillType;
|
|
347
|
+
/**
|
|
348
|
+
* Chooses the query schema used by the ellipsis picker, preferring explicit schema hints over inferred defaults.
|
|
349
|
+
*/
|
|
350
|
+
private resolveLookupQueryChillType;
|
|
351
|
+
/**
|
|
352
|
+
* Derives the dialog-specific view code from the caller schema view code.
|
|
353
|
+
*/
|
|
354
|
+
private resolveLookupDialogViewCode;
|
|
355
|
+
/**
|
|
356
|
+
* Reads numeric validation metadata such as min, max, or length constraints.
|
|
357
|
+
*/
|
|
358
|
+
private readMetadataNumber;
|
|
359
|
+
/**
|
|
360
|
+
* Checks whether a property is marked as required in metadata.
|
|
361
|
+
*/
|
|
362
|
+
private isRequired;
|
|
363
|
+
/**
|
|
364
|
+
* Reads string metadata defensively so structured metadata values do not break string-only callers.
|
|
365
|
+
*/
|
|
366
|
+
private metadataString;
|
|
367
|
+
/**
|
|
368
|
+
* Treats nullish values, blank strings, and empty arrays as empty for required validation.
|
|
369
|
+
*/
|
|
370
|
+
private isEmptyValue;
|
|
371
|
+
/**
|
|
372
|
+
* Converts numeric strings and finite numbers into a comparable numeric value.
|
|
373
|
+
*/
|
|
374
|
+
private readNumber;
|
|
375
|
+
/**
|
|
376
|
+
* Excludes unsupported schema properties from rendering.
|
|
377
|
+
*/
|
|
378
|
+
private shouldSkipProperty;
|
|
379
|
+
/**
|
|
380
|
+
* Searches common API wrapper properties until it finds an array of lookup objects.
|
|
381
|
+
*/
|
|
382
|
+
private extractLookupResults;
|
|
383
|
+
/**
|
|
384
|
+
* Writes a lookup error and optionally keeps the last result list visible for recovery.
|
|
385
|
+
*/
|
|
386
|
+
private setLookupError;
|
|
387
|
+
/**
|
|
388
|
+
* Creates the default empty lookup state object.
|
|
389
|
+
*/
|
|
390
|
+
private createEmptyLookupState;
|
|
391
|
+
/**
|
|
392
|
+
* Debounces lookup requests so rapid typing collapses into a single backend query.
|
|
393
|
+
*/
|
|
394
|
+
private scheduleLookupSearch;
|
|
395
|
+
/**
|
|
396
|
+
* Cancels any pending debounced lookup search for a property.
|
|
397
|
+
*/
|
|
398
|
+
private cancelLookupSearch;
|
|
399
|
+
/**
|
|
400
|
+
* Compares two lookup labels in a case-insensitive, trimmed form.
|
|
401
|
+
*/
|
|
402
|
+
private matchesLookupLabel;
|
|
403
|
+
/**
|
|
404
|
+
* Emits only the blurred field and its latest cached value to match the parent component contract.
|
|
405
|
+
*/
|
|
406
|
+
private notifyFieldBlur;
|
|
407
|
+
/**
|
|
408
|
+
* Keeps the Angular control and the local signal cache synchronized when the component updates a field itself.
|
|
409
|
+
*/
|
|
410
|
+
private setFieldValue;
|
|
411
|
+
/**
|
|
412
|
+
* Rebuilds lookup display text when the underlying form value changes outside the lookup UI handlers.
|
|
413
|
+
*/
|
|
414
|
+
private syncLookupState;
|
|
415
|
+
/**
|
|
416
|
+
* Builds a comma-separated summary from a lookup collection value.
|
|
417
|
+
*/
|
|
418
|
+
private lookupCollectionSummaryFromValue;
|
|
419
|
+
/**
|
|
420
|
+
* Appends a newly selected lookup entity to a collection and resets the live search slot.
|
|
421
|
+
*/
|
|
422
|
+
private appendLookupCollectionResult;
|
|
423
|
+
/**
|
|
424
|
+
* Merges collection lookup selections without duplicating the same entity Guid.
|
|
425
|
+
*/
|
|
426
|
+
private mergeLookupCollectionResults;
|
|
427
|
+
/**
|
|
428
|
+
* Checks whether a JSON value is a non-array object.
|
|
429
|
+
*/
|
|
430
|
+
private isJsonObject;
|
|
431
|
+
/**
|
|
432
|
+
* Avoids resetting field signals when the computed field map is unchanged.
|
|
433
|
+
*/
|
|
434
|
+
private areRecordsEqual;
|
|
435
|
+
/**
|
|
436
|
+
* Avoids rewriting error state when the same field messages are already stored.
|
|
437
|
+
*/
|
|
438
|
+
private areStringRecordsEqual;
|
|
439
|
+
/**
|
|
440
|
+
* Prevents lookup signal churn by comparing the full lookup state map before writing it.
|
|
441
|
+
*/
|
|
442
|
+
private areLookupStatesEqual;
|
|
443
|
+
/**
|
|
444
|
+
* Compares the user-visible parts of two lookup entries, including result ordering.
|
|
445
|
+
*/
|
|
446
|
+
private areLookupStateEntriesEqual;
|
|
447
|
+
private closeLookupResults;
|
|
448
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChillPolymorphicInputComponent, never>;
|
|
449
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChillPolymorphicInputComponent, "app-chill-polymorphic-input", never, { "form": { "alias": "form"; "required": false; "isSignal": true; }; "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "propertyNames": { "alias": "propertyNames"; "required": false; "isSignal": true; }; "readonlyPropertyNames": { "alias": "readonlyPropertyNames"; "required": false; "isSignal": true; }; "externalErrors": { "alias": "externalErrors"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "validityChange": "validityChange"; "fieldBlur": "fieldBlur"; "lookupDialogOpenChange": "lookupDialogOpenChange"; "editorDialogOpenChange": "editorDialogOpenChange"; }, never, never, true, never>;
|
|
450
|
+
}
|
|
451
|
+
export {};
|
|
452
|
+
//# sourceMappingURL=chill-polymorphic-input.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chill-polymorphic-input.component.d.ts","sourceRoot":"","sources":["../../../src/lib/lib/chill-polymorphic-input.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ChillPolymorphicOutputBooleanControlComponent {
|
|
3
|
+
readonly text: import("@angular/core").InputSignal<string>;
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChillPolymorphicOutputBooleanControlComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChillPolymorphicOutputBooleanControlComponent, "app-chill-polymorphic-output-boolean-control", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=chill-polymorphic-output-boolean-control.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chill-polymorphic-output-boolean-control.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-boolean-control.component.ts"],"names":[],"mappings":";AAEA,qBACa,6CAA6C;IACxD,QAAQ,CAAC,IAAI,8CAAa;yCADf,6CAA6C;2CAA7C,6CAA6C;CAEzD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ChillPolymorphicOutputLookupControlComponent {
|
|
3
|
+
readonly text: import("@angular/core").InputSignal<string>;
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChillPolymorphicOutputLookupControlComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChillPolymorphicOutputLookupControlComponent, "app-chill-polymorphic-output-lookup-control", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=chill-polymorphic-output-lookup-control.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chill-polymorphic-output-lookup-control.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-lookup-control.component.ts"],"names":[],"mappings":";AAEA,qBACa,4CAA4C;IACvD,QAAQ,CAAC,IAAI,8CAAa;yCADf,4CAA4C;2CAA5C,4CAA4C;CAExD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ChillPolymorphicOutputNumberControlComponent {
|
|
3
|
+
readonly text: import("@angular/core").InputSignal<string>;
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChillPolymorphicOutputNumberControlComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChillPolymorphicOutputNumberControlComponent, "app-chill-polymorphic-output-number-control", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=chill-polymorphic-output-number-control.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chill-polymorphic-output-number-control.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-number-control.component.ts"],"names":[],"mappings":";AAEA,qBACa,4CAA4C;IACvD,QAAQ,CAAC,IAAI,8CAAa;yCADf,4CAA4C;2CAA5C,4CAA4C;CAExD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ChillPolymorphicOutputTemporalControlComponent {
|
|
3
|
+
readonly parts: import("@angular/core").InputSignal<string[] | null>;
|
|
4
|
+
readonly text: import("@angular/core").InputSignal<string>;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChillPolymorphicOutputTemporalControlComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChillPolymorphicOutputTemporalControlComponent, "app-chill-polymorphic-output-temporal-control", never, { "parts": { "alias": "parts"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=chill-polymorphic-output-temporal-control.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chill-polymorphic-output-temporal-control.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-temporal-control.component.ts"],"names":[],"mappings":";AAEA,qBAQa,8CAA8C;IACzD,QAAQ,CAAC,KAAK,uDAAgC;IAC9C,QAAQ,CAAC,IAAI,8CAAa;yCAFf,8CAA8C;2CAA9C,8CAA8C;CAG1D"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ChillPolymorphicOutputValueControlComponent {
|
|
3
|
+
readonly text: import("@angular/core").InputSignal<string>;
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChillPolymorphicOutputValueControlComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChillPolymorphicOutputValueControlComponent, "app-chill-polymorphic-output-value-control", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=chill-polymorphic-output-value-control.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chill-polymorphic-output-value-control.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/lib/chill-polymorphic-output-controls/chill-polymorphic-output-value-control.component.ts"],"names":[],"mappings":";AAEA,qBACa,2CAA2C;IACtD,QAAQ,CAAC,IAAI,8CAAa;yCADf,2CAA2C;2CAA3C,2CAA2C;CAEvD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ElementRef, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import type { JsonValue } from '@chill-sharp/ng-client';
|
|
3
|
+
import type { ChillEntity, ChillPropertySchema, ChillSchema } from '../models/chill-schema.models';
|
|
4
|
+
import { ChillService } from '../services/chill.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class ChillPolymorphicOutputComponent implements OnInit, OnDestroy {
|
|
7
|
+
readonly chill: ChillService;
|
|
8
|
+
readonly host: ElementRef<HTMLElement>;
|
|
9
|
+
readonly source: import("@angular/core").InputSignal<ChillEntity | null>;
|
|
10
|
+
readonly schema: import("@angular/core").InputSignal<ChillSchema | null>;
|
|
11
|
+
readonly propertyName: import("@angular/core").InputSignal<string>;
|
|
12
|
+
readonly hostWidth: import("@angular/core").WritableSignal<number | null>;
|
|
13
|
+
private resizeObserver;
|
|
14
|
+
readonly property: import("@angular/core").Signal<ChillPropertySchema | null>;
|
|
15
|
+
readonly value: import("@angular/core").Signal<JsonValue | undefined>;
|
|
16
|
+
readonly spacedDisplayParts: import("@angular/core").Signal<string[] | null>;
|
|
17
|
+
readonly displayText: import("@angular/core").Signal<string>;
|
|
18
|
+
readonly titleText: import("@angular/core").Signal<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Tracks the rendered width so object labels can switch to their short form in tight cells.
|
|
21
|
+
*/
|
|
22
|
+
ngOnInit(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Disconnects the resize observer when the component is destroyed.
|
|
25
|
+
*/
|
|
26
|
+
ngOnDestroy(): void;
|
|
27
|
+
isBooleanProperty(): boolean;
|
|
28
|
+
isNumberProperty(): boolean;
|
|
29
|
+
isTemporalProperty(): boolean;
|
|
30
|
+
isLookupProperty(): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Reads a property from the entity bag first, then falls back to top-level camelCase/PascalCase fields.
|
|
33
|
+
*/
|
|
34
|
+
private readPropertyValue;
|
|
35
|
+
/**
|
|
36
|
+
* Formats scalars, dates, arrays, and entity-like objects using the schema type and display context.
|
|
37
|
+
*/
|
|
38
|
+
private formatValue;
|
|
39
|
+
private staticSuffix;
|
|
40
|
+
/**
|
|
41
|
+
* Formats valid date strings with the local date formatter and otherwise preserves the raw value.
|
|
42
|
+
*/
|
|
43
|
+
private formatDate;
|
|
44
|
+
/**
|
|
45
|
+
* Formats date-time instants with the authenticated user's date format and IANA time zone.
|
|
46
|
+
*/
|
|
47
|
+
private formatDateTime;
|
|
48
|
+
private buildSpacedDisplayParts;
|
|
49
|
+
private formatTime;
|
|
50
|
+
private formatNumber;
|
|
51
|
+
/**
|
|
52
|
+
* Chooses the most useful label from an object payload and optionally prefers `ShortLabel` in narrow cells.
|
|
53
|
+
*/
|
|
54
|
+
private formatObjectValue;
|
|
55
|
+
/**
|
|
56
|
+
* Converts a property name to PascalCase to match server payloads that expose both casing styles.
|
|
57
|
+
*/
|
|
58
|
+
private toPascalCase;
|
|
59
|
+
/**
|
|
60
|
+
* Checks whether a JSON value is a non-array object.
|
|
61
|
+
*/
|
|
62
|
+
private isJsonObject;
|
|
63
|
+
/**
|
|
64
|
+
* Returns the first non-empty string, number, or boolean found among the candidate keys.
|
|
65
|
+
*/
|
|
66
|
+
private readObjectText;
|
|
67
|
+
/**
|
|
68
|
+
* Treats cells narrower than 140px as compact enough to prefer short labels.
|
|
69
|
+
*/
|
|
70
|
+
private shouldPreferShortLabel;
|
|
71
|
+
private shouldRenderAsSpacedParts;
|
|
72
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChillPolymorphicOutputComponent, never>;
|
|
73
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChillPolymorphicOutputComponent, "app-chill-polymorphic-output", never, { "source": { "alias": "source"; "required": false; "isSignal": true; }; "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "propertyName": { "alias": "propertyName"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=chill-polymorphic-output.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chill-polymorphic-output.component.d.ts","sourceRoot":"","sources":["../../../src/lib/lib/chill-polymorphic-output.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,UAAU,EAAE,SAAS,EAAE,MAAM,EAAmC,MAAM,eAAe,CAAC;AAC1G,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;;AAwBzD,qBA+Ca,+BAAgC,YAAW,MAAM,EAAE,SAAS;IAEvE,QAAQ,CAAC,KAAK,eAAwB;IACtC,QAAQ,CAAC,IAAI,0BAA+C;IAI5D,QAAQ,CAAC,MAAM,0DAAmC;IAClD,QAAQ,CAAC,MAAM,0DAAmC;IAClD,QAAQ,CAAC,YAAY,8CAA4B;IAIjD,QAAQ,CAAC,SAAS,wDAA+B;IACjD,OAAO,CAAC,cAAc,CAA+B;IAIrD,QAAQ,CAAC,QAAQ,6DAEf;IACF,QAAQ,CAAC,KAAK,wDAA8E;IAC5F,QAAQ,CAAC,kBAAkB,kDAGxB;IACH,QAAQ,CAAC,WAAW,yCAGjB;IACH,QAAQ,CAAC,SAAS,yCAGf;IAKH;;OAEG;IACH,QAAQ,IAAI,IAAI;IAYhB;;OAEG;IACH,WAAW,IAAI,IAAI;IAQnB,iBAAiB,IAAI,OAAO;IAI5B,gBAAgB,IAAI,OAAO;IAK3B,kBAAkB,IAAI,OAAO;IAO7B,gBAAgB,IAAI,OAAO;IAO3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACH,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,uBAAuB;IAyB/B,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,YAAY;IAQpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,yBAAyB;yCArStB,+BAA+B;2CAA/B,+BAA+B;CA4S3C"}
|