@masterteam/components 0.0.170 → 0.0.172
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/assets/common.css +1 -1
- package/assets/i18n/ar.json +282 -278
- package/assets/i18n/en.json +282 -257
- package/fesm2022/masterteam-components-dynamic-drawer.mjs +21 -0
- package/fesm2022/masterteam-components-dynamic-drawer.mjs.map +1 -1
- package/fesm2022/masterteam-components-entities.mjs +115 -7
- package/fesm2022/masterteam-components-entities.mjs.map +1 -1
- package/fesm2022/masterteam-components-location-field.mjs +315 -0
- package/fesm2022/masterteam-components-location-field.mjs.map +1 -0
- package/fesm2022/masterteam-components-multi-select-field.mjs +2 -2
- package/fesm2022/masterteam-components-multi-select-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-radio-cards-field.mjs +7 -4
- package/fesm2022/masterteam-components-radio-cards-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-select-field.mjs +2 -2
- package/fesm2022/masterteam-components-select-field.mjs.map +1 -1
- package/fesm2022/masterteam-components-sidebar.mjs +2 -2
- package/fesm2022/masterteam-components-sidebar.mjs.map +1 -1
- package/fesm2022/masterteam-components-table.mjs +30 -8
- package/fesm2022/masterteam-components-table.mjs.map +1 -1
- package/fesm2022/masterteam-components-tabs.mjs +31 -3
- package/fesm2022/masterteam-components-tabs.mjs.map +1 -1
- package/fesm2022/masterteam-components-tree.mjs +13 -0
- package/fesm2022/masterteam-components-tree.mjs.map +1 -1
- package/fesm2022/masterteam-components-upload-field.mjs +86 -5
- package/fesm2022/masterteam-components-upload-field.mjs.map +1 -1
- package/fesm2022/masterteam-components.mjs +12 -1
- package/fesm2022/masterteam-components.mjs.map +1 -1
- package/package.json +5 -1
- package/types/masterteam-components-dynamic-drawer.d.ts +3 -0
- package/types/masterteam-components-entities.d.ts +32 -5
- package/types/masterteam-components-location-field.d.ts +95 -0
- package/types/masterteam-components-radio-cards-field.d.ts +2 -1
- package/types/masterteam-components-tabs.d.ts +3 -0
- package/types/masterteam-components-tree.d.ts +4 -0
- package/types/masterteam-components-upload-field.d.ts +13 -0
- package/types/masterteam-components.d.ts +13 -3
|
@@ -80,6 +80,7 @@ declare class DynamicDrawerHost {
|
|
|
80
80
|
cmpInputs: _angular_core.WritableSignal<Record<string, unknown>>;
|
|
81
81
|
childInjector: Injector;
|
|
82
82
|
private ref?;
|
|
83
|
+
private closed;
|
|
83
84
|
private drawerController;
|
|
84
85
|
private readonly host;
|
|
85
86
|
private readonly renderer;
|
|
@@ -111,6 +112,8 @@ declare class DynamicDrawerHost {
|
|
|
111
112
|
}): void;
|
|
112
113
|
show(): void;
|
|
113
114
|
handleHide(data?: null): void;
|
|
115
|
+
/** Close the drawer ref at most once, regardless of the close path. */
|
|
116
|
+
private closeOnce;
|
|
114
117
|
onDrawerShow(): void;
|
|
115
118
|
onDrawerHide(): void;
|
|
116
119
|
private getDrawerElement;
|
|
@@ -36,7 +36,7 @@ interface EntityListComparison {
|
|
|
36
36
|
}
|
|
37
37
|
type PropertyValueComparison = ValueComparison | EntityListComparison;
|
|
38
38
|
|
|
39
|
-
type EntityViewType = 'Text' | 'LongText' | 'Date' | 'DateTime' | 'Number' | 'Percentage' | 'Status' | 'Currency' | 'Checkbox' | 'User' | 'Lookup' | 'Attachment' | 'LookupMatrix' | 'LeafDetails';
|
|
39
|
+
type EntityViewType = 'Text' | 'LongText' | 'Date' | 'DateTime' | 'Number' | 'Percentage' | 'Status' | 'Currency' | 'Checkbox' | 'User' | 'Lookup' | 'Attachment' | 'Location' | 'LookupMatrix' | 'LeafDetails';
|
|
40
40
|
type EntityLabelPosition = 'top' | 'bottom';
|
|
41
41
|
/** Entity size – controls column span (1-24) inside a 24-column grid */
|
|
42
42
|
type EntitySize = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24;
|
|
@@ -160,6 +160,14 @@ interface EntityAttachmentItemValue {
|
|
|
160
160
|
size?: number;
|
|
161
161
|
}
|
|
162
162
|
type EntityAttachmentValue = Array<EntityAttachmentItemValue | string>;
|
|
163
|
+
interface EntityLocationValue {
|
|
164
|
+
display_name?: string;
|
|
165
|
+
address?: string;
|
|
166
|
+
lat?: string | number;
|
|
167
|
+
lon?: string | number;
|
|
168
|
+
lng?: string | number;
|
|
169
|
+
[key: string]: unknown;
|
|
170
|
+
}
|
|
163
171
|
interface EntityData {
|
|
164
172
|
id?: number;
|
|
165
173
|
propertyId?: number;
|
|
@@ -169,7 +177,7 @@ interface EntityData {
|
|
|
169
177
|
rawValue?: string;
|
|
170
178
|
order?: number;
|
|
171
179
|
propertyConfiguration?: EntityPropertyConfiguration;
|
|
172
|
-
value: string | EntityStatusValue | EntityUserValue | EntityLookupValue | EntityAttachmentValue | LeafDetailsEntityValue | LeafDetailsEntityCollectionValue | LeafDetailsRuntimeValue;
|
|
180
|
+
value: string | EntityStatusValue | EntityUserValue | EntityLookupValue | EntityAttachmentValue | EntityLocationValue | LeafDetailsEntityValue | LeafDetailsEntityCollectionValue | LeafDetailsRuntimeValue;
|
|
173
181
|
viewType: EntityViewType;
|
|
174
182
|
type?: string;
|
|
175
183
|
configuration?: EntityConfiguration;
|
|
@@ -363,6 +371,8 @@ declare class EntityAttachment {
|
|
|
363
371
|
readonly displayName: _angular_core.Signal<string>;
|
|
364
372
|
readonly loading: _angular_core.WritableSignal<boolean>;
|
|
365
373
|
readonly attachments: _angular_core.WritableSignal<EntityAttachmentItemValue[]>;
|
|
374
|
+
/** Key of the compact chip currently hovered, so it can reveal the download affordance. */
|
|
375
|
+
readonly hoveredAttachmentKey: _angular_core.WritableSignal<string | null>;
|
|
366
376
|
readonly attachmentReferences: _angular_core.Signal<AttachmentReference[]>;
|
|
367
377
|
readonly uploadValue: _angular_core.Signal<string | EntityAttachmentItemValue | (string | EntityAttachmentItemValue)[] | null>;
|
|
368
378
|
readonly hasAttachments: _angular_core.Signal<boolean>;
|
|
@@ -371,6 +381,12 @@ declare class EntityAttachment {
|
|
|
371
381
|
constructor();
|
|
372
382
|
attachmentTrackBy(index: number, attachment: EntityAttachmentItemValue): string;
|
|
373
383
|
attachmentTooltip(attachment: EntityAttachmentItemValue): string;
|
|
384
|
+
/**
|
|
385
|
+
* Compact chips are clickable downloads but only show a file-type glyph,
|
|
386
|
+
* which doesn't read as actionable. Swap to a download icon while hovered
|
|
387
|
+
* so the action is obvious.
|
|
388
|
+
*/
|
|
389
|
+
attachmentActionIcon(index: number, attachment: EntityAttachmentItemValue): MTIcon;
|
|
374
390
|
attachmentIcon(attachment: EntityAttachmentItemValue): MTIcon;
|
|
375
391
|
onCompactAttachmentClick(event: MouseEvent, attachment: EntityAttachmentItemValue): void;
|
|
376
392
|
downloadAttachment(attachment: EntityAttachmentItemValue): void;
|
|
@@ -384,6 +400,17 @@ declare class EntityAttachment {
|
|
|
384
400
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityAttachment, "mt-entity-attachment", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "endPoint": { "alias": "endPoint"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
385
401
|
}
|
|
386
402
|
|
|
403
|
+
declare class EntityLocation {
|
|
404
|
+
readonly data: _angular_core.InputSignal<EntityData | undefined>;
|
|
405
|
+
readonly displayName: _angular_core.Signal<string>;
|
|
406
|
+
readonly location: _angular_core.Signal<EntityLocationValue | null>;
|
|
407
|
+
readonly displayValue: _angular_core.Signal<string>;
|
|
408
|
+
readonly coordinates: _angular_core.Signal<string>;
|
|
409
|
+
readonly mapsUrl: _angular_core.Signal<string>;
|
|
410
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityLocation, never>;
|
|
411
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityLocation, "mt-entity-location", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
412
|
+
}
|
|
413
|
+
|
|
387
414
|
declare class EntityLeafDetails {
|
|
388
415
|
readonly data: _angular_core.InputSignal<EntityData>;
|
|
389
416
|
readonly leafValue: _angular_core.Signal<LeafDetailsEntityValue | null>;
|
|
@@ -417,7 +444,7 @@ declare class EntityPreview {
|
|
|
417
444
|
declare class EntityPreviewBody {
|
|
418
445
|
readonly data: _angular_core.InputSignal<EntityData>;
|
|
419
446
|
readonly attachmentShape: _angular_core.InputSignal<"compact" | "default">;
|
|
420
|
-
readonly previewType: _angular_core.Signal<"Text" | "LongText" | "Date" | "DateTime" | "Number" | "Percentage" | "Status" | "Currency" | "Checkbox" | "User" | "Lookup" | "Attachment" | "LeafDetails">;
|
|
447
|
+
readonly previewType: _angular_core.Signal<"Text" | "LongText" | "Date" | "DateTime" | "Number" | "Percentage" | "Status" | "Currency" | "Checkbox" | "User" | "Lookup" | "Attachment" | "Location" | "LeafDetails">;
|
|
421
448
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityPreviewBody, never>;
|
|
422
449
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityPreviewBody, "mt-entity-preview-body", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "attachmentShape": { "alias": "attachmentShape"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
423
450
|
}
|
|
@@ -567,5 +594,5 @@ declare class EntitiesManage extends EntitiesResizeBase {
|
|
|
567
594
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntitiesManage, "mt-entities-manage", never, { "entities": { "alias": "entities"; "required": true; "isSignal": true; }; }, { "entities": "entitiesChange"; "entitiesReordered": "entitiesReordered"; "entityClicked": "entityClicked"; }, never, never, true, never>;
|
|
568
595
|
}
|
|
569
596
|
|
|
570
|
-
export { ComparisonEntityList, ComparisonValue, EntitiesManage, EntitiesPreview, EntitiesResizeBase, EntityAttachment, EntityCheckbox, EntityCurrency, EntityDate, EntityField, EntityLeafDetails, EntityLongText, EntityLookup, EntityPercentage, EntityPreview, EntityPreviewBody, EntityStatus, EntityText, EntityUser, LEAF_DETAILS_KEY_SEPARATOR, buildDisplayEntities, expandLeafDetailsEntity, isLeafDetailsCatalogConfiguration, isLeafDetailsCollectionValue, isLeafDetailsRuntimeValue, isLeafDetailsSyntheticKey, isLeafDetailsValue };
|
|
571
|
-
export type { ComparisonValueSide, EntityAttachmentItemValue, EntityAttachmentValue, EntityBaseConfig, EntityClickEvent, EntityComparisonField, EntityComparisonOperation, EntityConfiguration, EntityData, EntityLabelPosition, EntityLeafDetailsConfig, EntityListComparison, EntityListComparisonRow, EntityLookupValue, EntityPercentageConfig, EntityPropertyConfiguration, EntityResizeEvent, EntitySize, EntityStatusValue, EntityUserConfig, EntityUserValue, EntityViewType, LeafDetailsCatalogConfiguration, LeafDetailsCatalogLevelValue, LeafDetailsCatalogStatusValue, LeafDetailsEntityCollectionValue, LeafDetailsEntityValue, LeafDetailsRuntimeChildSchema, LeafDetailsRuntimeStatusCount, LeafDetailsRuntimeStatusDetails, LeafDetailsRuntimeValue, LeafDetailsStatusSummary, LeafLevelSavedConfig, PropertyValueComparison, ValueComparison };
|
|
597
|
+
export { ComparisonEntityList, ComparisonValue, EntitiesManage, EntitiesPreview, EntitiesResizeBase, EntityAttachment, EntityCheckbox, EntityCurrency, EntityDate, EntityField, EntityLeafDetails, EntityLocation, EntityLongText, EntityLookup, EntityPercentage, EntityPreview, EntityPreviewBody, EntityStatus, EntityText, EntityUser, LEAF_DETAILS_KEY_SEPARATOR, buildDisplayEntities, expandLeafDetailsEntity, isLeafDetailsCatalogConfiguration, isLeafDetailsCollectionValue, isLeafDetailsRuntimeValue, isLeafDetailsSyntheticKey, isLeafDetailsValue };
|
|
598
|
+
export type { ComparisonValueSide, EntityAttachmentItemValue, EntityAttachmentValue, EntityBaseConfig, EntityClickEvent, EntityComparisonField, EntityComparisonOperation, EntityConfiguration, EntityData, EntityLabelPosition, EntityLeafDetailsConfig, EntityListComparison, EntityListComparisonRow, EntityLocationValue, EntityLookupValue, EntityPercentageConfig, EntityPropertyConfiguration, EntityResizeEvent, EntitySize, EntityStatusValue, EntityUserConfig, EntityUserValue, EntityViewType, LeafDetailsCatalogConfiguration, LeafDetailsCatalogLevelValue, LeafDetailsCatalogStatusValue, LeafDetailsEntityCollectionValue, LeafDetailsEntityValue, LeafDetailsRuntimeChildSchema, LeafDetailsRuntimeStatusCount, LeafDetailsRuntimeStatusDetails, LeafDetailsRuntimeValue, LeafDetailsStatusSummary, LeafLevelSavedConfig, PropertyValueComparison, ValueComparison };
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor, Validators, NgControl, FormGroup, FormControl } from '@angular/forms';
|
|
3
|
+
import { AutoComplete } from 'primeng/autocomplete';
|
|
4
|
+
import { isInvalid } from '@masterteam/components';
|
|
5
|
+
import { ModalService } from '@masterteam/components/modal';
|
|
6
|
+
|
|
7
|
+
interface LocationValue {
|
|
8
|
+
display_name?: string;
|
|
9
|
+
address?: string;
|
|
10
|
+
lat?: string | number;
|
|
11
|
+
lon?: string | number;
|
|
12
|
+
lng?: string | number;
|
|
13
|
+
[key: string]: unknown;
|
|
14
|
+
}
|
|
15
|
+
declare function normalizeLocationValue(value: unknown): LocationValue | null;
|
|
16
|
+
declare function getLocationDisplayName(value: LocationValue | null): string;
|
|
17
|
+
declare function getLocationLongitude(value: LocationValue | null): string | number | undefined;
|
|
18
|
+
|
|
19
|
+
interface LocationFieldConfiguration {
|
|
20
|
+
country?: string | {
|
|
21
|
+
name?: string;
|
|
22
|
+
code?: string;
|
|
23
|
+
viewBox?: string;
|
|
24
|
+
};
|
|
25
|
+
viewBox?: string;
|
|
26
|
+
nominatimBaseUrl?: string;
|
|
27
|
+
[key: string]: unknown;
|
|
28
|
+
}
|
|
29
|
+
declare class LocationField implements ControlValueAccessor {
|
|
30
|
+
readonly hint: _angular_core.InputSignal<string | undefined>;
|
|
31
|
+
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
32
|
+
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
33
|
+
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
34
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
35
|
+
readonly minLength: _angular_core.InputSignal<number>;
|
|
36
|
+
readonly configuration: _angular_core.InputSignal<LocationFieldConfiguration | null>;
|
|
37
|
+
readonly searchUrl: _angular_core.InputSignal<string | undefined>;
|
|
38
|
+
protected readonly value: _angular_core.WritableSignal<LocationValue | null>;
|
|
39
|
+
protected readonly suggestions: _angular_core.WritableSignal<LocationValue[]>;
|
|
40
|
+
protected readonly disabled: _angular_core.WritableSignal<boolean>;
|
|
41
|
+
protected readonly loading: _angular_core.WritableSignal<boolean>;
|
|
42
|
+
protected readonly requiredValidator: typeof Validators.required;
|
|
43
|
+
protected readonly autocomplete: _angular_core.Signal<AutoComplete | undefined>;
|
|
44
|
+
protected readonly displayValue: _angular_core.Signal<string>;
|
|
45
|
+
protected readonly resolvedSearchUrl: _angular_core.Signal<string>;
|
|
46
|
+
protected readonly countryName: _angular_core.Signal<string>;
|
|
47
|
+
protected readonly countryCode: _angular_core.Signal<string>;
|
|
48
|
+
protected readonly viewBox: _angular_core.Signal<string>;
|
|
49
|
+
ngControl: NgControl | null;
|
|
50
|
+
protected readonly isInvalid: typeof isInvalid;
|
|
51
|
+
private readonly modal;
|
|
52
|
+
private readonly transloco;
|
|
53
|
+
private readonly http;
|
|
54
|
+
private readonly searchTerms;
|
|
55
|
+
protected onTouched: () => void;
|
|
56
|
+
private onModelChange;
|
|
57
|
+
constructor();
|
|
58
|
+
protected search(event: {
|
|
59
|
+
query: string;
|
|
60
|
+
}): void;
|
|
61
|
+
protected onFocus(): void;
|
|
62
|
+
protected onSelect(event: {
|
|
63
|
+
originalEvent: Event;
|
|
64
|
+
value: LocationValue;
|
|
65
|
+
}): void;
|
|
66
|
+
protected onClear(): void;
|
|
67
|
+
protected openManualDialog(): void;
|
|
68
|
+
writeValue(value: unknown): void;
|
|
69
|
+
registerOnChange(fn: (value: LocationValue | null) => void): void;
|
|
70
|
+
registerOnTouched(fn: () => void): void;
|
|
71
|
+
setDisabledState(disabled: boolean): void;
|
|
72
|
+
private setValue;
|
|
73
|
+
private searchLocations;
|
|
74
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LocationField, never>;
|
|
75
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LocationField, "mt-location-field", never, { "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "configuration": { "alias": "configuration"; "required": false; "isSignal": true; }; "searchUrl": { "alias": "searchUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
declare class LocationManualDialog {
|
|
79
|
+
readonly initialValue: _angular_core.InputSignal<LocationValue | null>;
|
|
80
|
+
protected readonly modal: ModalService;
|
|
81
|
+
private readonly ref;
|
|
82
|
+
protected readonly form: FormGroup<{
|
|
83
|
+
display_name: FormControl<string>;
|
|
84
|
+
longitude: FormControl<number | null>;
|
|
85
|
+
latitude: FormControl<number | null>;
|
|
86
|
+
}>;
|
|
87
|
+
constructor();
|
|
88
|
+
protected cancel(): void;
|
|
89
|
+
protected save(): void;
|
|
90
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LocationManualDialog, never>;
|
|
91
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LocationManualDialog, "mt-location-manual-dialog", never, { "initialValue": { "alias": "initialValue"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export { LocationField, LocationManualDialog, getLocationDisplayName, getLocationLongitude, normalizeLocationValue };
|
|
95
|
+
export type { LocationFieldConfiguration, LocationValue };
|
|
@@ -6,6 +6,7 @@ import { RadioItem } from '@masterteam/components/radio-cards';
|
|
|
6
6
|
declare class RadioCardsField implements ControlValueAccessor {
|
|
7
7
|
readonly circle: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
8
8
|
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
9
|
+
readonly hint: _angular_core.InputSignal<string | undefined>;
|
|
9
10
|
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
10
11
|
readonly required: _angular_core.InputSignal<boolean>;
|
|
11
12
|
readonly color: _angular_core.InputSignal<string>;
|
|
@@ -28,7 +29,7 @@ declare class RadioCardsField implements ControlValueAccessor {
|
|
|
28
29
|
setDisabledState(isDisabled: boolean): void;
|
|
29
30
|
onSelectionChange(selectedItem: RadioItem): void;
|
|
30
31
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioCardsField, never>;
|
|
31
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioCardsField, "mt-radio-cards-field", never, { "circle": { "alias": "circle"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; }, {}, ["itemTemplate"], never, true, never>;
|
|
32
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioCardsField, "mt-radio-cards-field", never, { "circle": { "alias": "circle"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; }, {}, ["itemTemplate"], never, true, never>;
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
export { RadioCardsField };
|
|
@@ -25,8 +25,10 @@ declare class Tabs {
|
|
|
25
25
|
private readonly destroyRef;
|
|
26
26
|
private readonly tabsContainer;
|
|
27
27
|
private readonly measureRow;
|
|
28
|
+
private readonly morePopover;
|
|
28
29
|
private resizeObserver?;
|
|
29
30
|
private measureHandle;
|
|
31
|
+
private alignHandle;
|
|
30
32
|
readonly visibleCount: _angular_core.WritableSignal<number>;
|
|
31
33
|
readonly visibleOptions: _angular_core.Signal<OptionItem[]>;
|
|
32
34
|
readonly overflowOptions: _angular_core.Signal<OptionItem[]>;
|
|
@@ -42,6 +44,7 @@ declare class Tabs {
|
|
|
42
44
|
private measureAndUpdate;
|
|
43
45
|
onTabChange(value: any): void;
|
|
44
46
|
onOverflowSearch(value: string): void;
|
|
47
|
+
private scheduleOverflowAlign;
|
|
45
48
|
onOverflowPopoverHide(): void;
|
|
46
49
|
onOptionSelect(option: OptionItem): void;
|
|
47
50
|
resolveLabel(option: OptionItem): string;
|
|
@@ -92,6 +92,10 @@ declare class Tree {
|
|
|
92
92
|
toggleNodeExpanded(node: TreeNode, event: MouseEvent): void;
|
|
93
93
|
toggleNodeSelection(node: TreeNode, event: MouseEvent): void;
|
|
94
94
|
handleCheckedNodes(): void;
|
|
95
|
+
/**
|
|
96
|
+
* Clears the tree's search/filter input and resets the filtered nodes.
|
|
97
|
+
*/
|
|
98
|
+
resetFilter(): void;
|
|
95
99
|
resolveActionLoading(action: TreeAction, node: any): boolean | undefined;
|
|
96
100
|
nodeAction(action: TreeAction, node: any): void;
|
|
97
101
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Tree, never>;
|
|
@@ -20,6 +20,19 @@ declare class UploadField implements ControlValueAccessor {
|
|
|
20
20
|
readonly: _angular_core.InputSignal<boolean>;
|
|
21
21
|
readonly context: _angular_core.InputSignal<HttpContext | undefined>;
|
|
22
22
|
readonly isMultipleEnabled: _angular_core.Signal<boolean>;
|
|
23
|
+
/**
|
|
24
|
+
* The native `accept` attribute is only a UI hint — users can switch the OS
|
|
25
|
+
* file dialog to "All files" and pick anything. This is the spec we re-check
|
|
26
|
+
* every selected/dropped file against before uploading to the backend.
|
|
27
|
+
*/
|
|
28
|
+
readonly effectiveAccept: _angular_core.Signal<string>;
|
|
29
|
+
/**
|
|
30
|
+
* Human-friendly, de-duplicated list of accepted types shown next to the
|
|
31
|
+
* upload prompt so the user knows what to pick before opening the dialog
|
|
32
|
+
* (e.g. ".pdf,.doc,image/*" -> "PDF, DOC, Images"). Empty when everything
|
|
33
|
+
* is allowed, so the hint can be hidden entirely.
|
|
34
|
+
*/
|
|
35
|
+
readonly acceptedTypesLabel: _angular_core.Signal<string>;
|
|
23
36
|
readonly onChange: _angular_core.OutputEmitterRef<any>;
|
|
24
37
|
readonly requiredValidator: typeof Validators.required;
|
|
25
38
|
readonly value: _angular_core.WritableSignal<any>;
|
|
@@ -30,7 +30,7 @@ declare const DEFAULT_MT_DATE_FORMATS: MTDateFormats;
|
|
|
30
30
|
declare const MT_DATE_FORMATS: InjectionToken<MTDateFormats>;
|
|
31
31
|
declare function provideMTDateFormats(formats: Partial<MTDateFormats>): EnvironmentProviders;
|
|
32
32
|
|
|
33
|
-
type FieldType = 'text' | 'textarea' | 'select' | 'date' | 'number' | 'slider' | 'multi-select' | 'pick-list' | 'checkbox' | 'icon-field' | 'color-picker' | 'spacer' | 'lookup-matrix' | string;
|
|
33
|
+
type FieldType = 'text' | 'textarea' | 'select' | 'date' | 'number' | 'slider' | 'multi-select' | 'pick-list' | 'checkbox' | 'icon-field' | 'color-picker' | 'location' | 'spacer' | 'lookup-matrix' | string;
|
|
34
34
|
type ValidatorType = 'required' | 'email' | 'minLength' | 'maxLength' | 'min' | 'max' | 'pattern' | 'custom';
|
|
35
35
|
type FieldRelationAction = 'enable' | 'disable' | 'show' | 'hide';
|
|
36
36
|
interface FieldRelationConfig {
|
|
@@ -214,6 +214,16 @@ declare class UserSearchFieldConfig extends BaseFieldConfig {
|
|
|
214
214
|
isMultiple?: boolean;
|
|
215
215
|
});
|
|
216
216
|
}
|
|
217
|
+
declare class LocationFieldConfig extends BaseFieldConfig {
|
|
218
|
+
configuration: Record<string, unknown> | null;
|
|
219
|
+
searchUrl?: string;
|
|
220
|
+
minLength: number;
|
|
221
|
+
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
222
|
+
configuration?: Record<string, unknown> | null;
|
|
223
|
+
searchUrl?: string;
|
|
224
|
+
minLength?: number;
|
|
225
|
+
});
|
|
226
|
+
}
|
|
217
227
|
declare class UploadFileFieldConfig extends BaseFieldConfig {
|
|
218
228
|
size: string;
|
|
219
229
|
endPoint?: string;
|
|
@@ -518,7 +528,7 @@ declare class EntityListFieldConfig extends BaseFieldConfig {
|
|
|
518
528
|
});
|
|
519
529
|
}
|
|
520
530
|
type DynamicFieldConfig = {
|
|
521
|
-
[K in keyof (TextFieldConfig & TextareaFieldConfig & SelectFieldConfig & DateFieldConfig & NumberFieldConfig & SliderFieldConfig & MultiSelectFieldConfig & PickListFieldConfig & CheckboxFieldConfig & ToggleFieldConfig & ColorPickerFieldConfig & IconFieldConfig & SpacerFieldConfig & LookupMatrixFieldConfig & SchemaConnectionFieldConfig & SchedulePredecessorFieldConfig & EntityListFieldConfig & BaseFieldConfig)]?: (TextFieldConfig & TextareaFieldConfig & SelectFieldConfig & DateFieldConfig & NumberFieldConfig & SliderFieldConfig & MultiSelectFieldConfig & PickListFieldConfig & CheckboxFieldConfig & ToggleFieldConfig & ColorPickerFieldConfig & IconFieldConfig & SpacerFieldConfig & LookupMatrixFieldConfig & SchemaConnectionFieldConfig & SchedulePredecessorFieldConfig & EntityListFieldConfig & BaseFieldConfig)[K];
|
|
531
|
+
[K in keyof (TextFieldConfig & TextareaFieldConfig & SelectFieldConfig & DateFieldConfig & NumberFieldConfig & SliderFieldConfig & MultiSelectFieldConfig & PickListFieldConfig & CheckboxFieldConfig & ToggleFieldConfig & LocationFieldConfig & ColorPickerFieldConfig & IconFieldConfig & SpacerFieldConfig & LookupMatrixFieldConfig & SchemaConnectionFieldConfig & SchedulePredecessorFieldConfig & EntityListFieldConfig & BaseFieldConfig)]?: (TextFieldConfig & TextareaFieldConfig & SelectFieldConfig & DateFieldConfig & NumberFieldConfig & SliderFieldConfig & MultiSelectFieldConfig & PickListFieldConfig & CheckboxFieldConfig & ToggleFieldConfig & LocationFieldConfig & ColorPickerFieldConfig & IconFieldConfig & SpacerFieldConfig & LookupMatrixFieldConfig & SchemaConnectionFieldConfig & SchedulePredecessorFieldConfig & EntityListFieldConfig & BaseFieldConfig)[K];
|
|
522
532
|
};
|
|
523
533
|
interface LayoutConfig {
|
|
524
534
|
containerClass?: string;
|
|
@@ -873,5 +883,5 @@ declare class MTDateFormatPipe implements PipeTransform {
|
|
|
873
883
|
static ɵpipe: i0.ɵɵPipeDeclaration<MTDateFormatPipe, "mtDateFormat", true>;
|
|
874
884
|
}
|
|
875
885
|
|
|
876
|
-
export { BaseFacade, BaseFieldConfig, CheckboxFieldConfig, ColorPickerFieldConfig, CrudStateBase, DEFAULT_MT_DATE_FORMATS, DateFieldConfig, EditorFieldConfig, EntityListFieldConfig, IconFieldConfig, LookupMatrixFieldConfig, MTDateFormatPipe, MT_DATE_FORMATS, MultiSelectFieldConfig, NumberFieldConfig, PickListFieldConfig, REQUEST_CONTEXT, RadioButtonFieldConfig, RadioCardsFieldConfig, SchedulePredecessorFieldConfig, SchemaConnectionFieldConfig, SelectFieldConfig, SliderFieldConfig, SpacerFieldConfig, TextFieldConfig, TextareaFieldConfig, ToggleFieldConfig, UploadFileFieldConfig, UserSearchFieldConfig, ValidatorConfig, changeBackgroundColor, changePrimaryColor, changeTextColor, createCustomValidator, createEntityAdapter, endLoading, generateTailwindPalette, getContrastColor, getLightColor, handleApiRequest, isInvalid, provideMTComponents, provideMTConfirmation, provideMTDateFormats, provideMTMessages, setLoadingError, startLoading, wrapValidatorWithMessage };
|
|
886
|
+
export { BaseFacade, BaseFieldConfig, CheckboxFieldConfig, ColorPickerFieldConfig, CrudStateBase, DEFAULT_MT_DATE_FORMATS, DateFieldConfig, EditorFieldConfig, EntityListFieldConfig, IconFieldConfig, LocationFieldConfig, LookupMatrixFieldConfig, MTDateFormatPipe, MT_DATE_FORMATS, MultiSelectFieldConfig, NumberFieldConfig, PickListFieldConfig, REQUEST_CONTEXT, RadioButtonFieldConfig, RadioCardsFieldConfig, SchedulePredecessorFieldConfig, SchemaConnectionFieldConfig, SelectFieldConfig, SliderFieldConfig, SpacerFieldConfig, TextFieldConfig, TextareaFieldConfig, ToggleFieldConfig, UploadFileFieldConfig, UserSearchFieldConfig, ValidatorConfig, changeBackgroundColor, changePrimaryColor, changeTextColor, createCustomValidator, createEntityAdapter, endLoading, generateTailwindPalette, getContrastColor, getLightColor, handleApiRequest, isInvalid, provideMTComponents, provideMTConfirmation, provideMTDateFormats, provideMTMessages, setLoadingError, startLoading, wrapValidatorWithMessage };
|
|
877
887
|
export type { ApiRequestConfig, BaseFieldConstructorConfig, CrudCreateConfig, CrudDeleteConfig, CrudLoadConfig, CrudUpdateConfig, DynamicFieldConfig, DynamicFormConfig, EntityAdapter, EntityListFieldRuntimeContext, FieldRelationAction, FieldRelationConfig, FieldState, FieldType, FormulaConditionConfig, FormulaConditionMode, FormulaRuntimeMessage, FormulaRuntimeMessageCode, FormulaValidationRuleConfig, FormulaValidationSeverity, LayoutConfig, LoadingStateShape, LookupMatrixCellConfig, LookupOptionItemConfig, MTDateFormatType, MTDateFormats, MTThemeOptions, PaletteShade, QueryResult, RequestContextConfig, Response, ResponsiveColSpan, SchedulePredecessorFieldRuntimeContext, SectionConfig, ValidatorType };
|