@mmlogic/components 0.3.3 → 0.3.5
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/dist/cjs/index.cjs.js +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/mosterdcomponents.cjs.js +1 -1
- package/dist/cjs/{mrd-boolean-field_19.cjs.entry.js → mrd-boolean-field_20.cjs.entry.js} +313 -55
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/mrd-field/mrd-field.js +14 -2
- package/dist/collection/components/mrd-form/mrd-form.js +79 -0
- package/dist/collection/components/mrd-hyperlink-field/mrd-hyperlink-field.js +79 -18
- package/dist/collection/components/mrd-hyperlink-field/mrd-hyperlink-field.scss +22 -0
- package/dist/collection/components/mrd-image-field/mrd-image-field.js +1 -1
- package/dist/collection/components/mrd-layout-section/mrd-layout-section.js +15 -12
- package/dist/collection/components/mrd-layout-section/mrd-layout-section.scss +9 -0
- package/dist/collection/components/mrd-longtext-field/mrd-longtext-field.js +1 -1
- package/dist/collection/components/mrd-number-field/mrd-number-field.js +2 -2
- package/dist/collection/components/mrd-relation-field/mrd-relation-field.js +42 -13
- package/dist/collection/components/mrd-secret-field/mrd-secret-field.js +229 -0
- package/dist/collection/components/mrd-secret-field/mrd-secret-field.scss +73 -0
- package/dist/collection/components/mrd-table/mrd-table.js +82 -11
- package/dist/collection/components/mrd-table/mrd-table.scss +106 -3
- package/dist/collection/components/mrd-text-field/mrd-text-field.js +1 -1
- package/dist/collection/components/mrd-textarea-field/mrd-textarea-field.js +1 -1
- package/dist/collection/components/mrd-textarea-field/mrd-textarea-field.scss +56 -0
- package/dist/collection/components/mrd-time-field/mrd-time-field.js +1 -1
- package/dist/collection/dev/api.js +10 -1
- package/dist/collection/dev/app.js +56 -34
- package/dist/collection/dev/example-data.js +12 -2
- package/dist/collection/types/client-layout.js +1 -0
- package/dist/collection/utils/cell-renderer.js +2 -0
- package/dist/collection/utils/i18n.js +8 -0
- package/dist/collection/utils/validation.js +6 -2
- package/dist/components/client-layout.js +1 -1
- package/dist/components/i18n.js +1 -1
- package/dist/components/mrd-field2.js +1 -1
- package/dist/components/mrd-form.js +1 -1
- package/dist/components/mrd-hyperlink-field2.js +1 -1
- package/dist/components/mrd-image-field2.js +1 -1
- package/dist/components/mrd-layout-section.js +1 -1
- package/dist/components/mrd-longtext-field2.js +1 -1
- package/dist/components/mrd-number-field2.js +1 -1
- package/dist/components/mrd-relation-field2.js +1 -1
- package/dist/components/mrd-secret-field.d.ts +11 -0
- package/dist/components/mrd-secret-field.js +1 -0
- package/dist/components/mrd-secret-field2.js +1 -0
- package/dist/components/mrd-table2.js +1 -1
- package/dist/components/mrd-text-field2.js +1 -1
- package/dist/components/mrd-textarea-field2.js +1 -1
- package/dist/components/mrd-time-field2.js +1 -1
- package/dist/components/validation.js +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/mosterdcomponents.js +1 -1
- package/dist/esm/{mrd-boolean-field_19.entry.js → mrd-boolean-field_20.entry.js} +313 -56
- package/dist/mosterdcomponents/index.esm.js +1 -1
- package/dist/mosterdcomponents/mosterdcomponents.esm.js +1 -1
- package/dist/mosterdcomponents/p-e477187c.entry.js +1 -0
- package/dist/types/components/mrd-form/mrd-form.d.ts +13 -1
- package/dist/types/components/mrd-hyperlink-field/mrd-hyperlink-field.d.ts +12 -4
- package/dist/types/components/mrd-layout-section/mrd-layout-section.d.ts +1 -0
- package/dist/types/components/mrd-relation-field/mrd-relation-field.d.ts +3 -0
- package/dist/types/components/mrd-secret-field/mrd-secret-field.d.ts +22 -0
- package/dist/types/components/mrd-table/mrd-table.d.ts +10 -0
- package/dist/types/components.d.ts +126 -20
- package/dist/types/types/client-layout.d.ts +12 -1
- package/dist/types/utils/cell-renderer.d.ts +1 -0
- package/package.json +1 -1
- package/dist/mosterdcomponents/p-74d100dd.entry.js +0 -1
|
@@ -1,22 +1,30 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import { HyperlinkValue } from '../../types/client-layout';
|
|
2
3
|
export declare class MrdHyperlinkField {
|
|
3
4
|
name: string;
|
|
4
5
|
label: string;
|
|
5
|
-
value: string;
|
|
6
|
+
value: HyperlinkValue | string;
|
|
6
7
|
placeholder: string;
|
|
7
8
|
required: boolean;
|
|
8
9
|
disabled: boolean;
|
|
9
10
|
locale: string;
|
|
11
|
+
internalHref: string;
|
|
12
|
+
internalName: string;
|
|
10
13
|
error: string;
|
|
11
14
|
mrdChange: EventEmitter<{
|
|
12
15
|
name: string;
|
|
13
|
-
value:
|
|
16
|
+
value: HyperlinkValue;
|
|
14
17
|
}>;
|
|
15
18
|
mrdBlur: EventEmitter<{
|
|
16
19
|
name: string;
|
|
17
|
-
value:
|
|
20
|
+
value: HyperlinkValue;
|
|
18
21
|
}>;
|
|
19
|
-
|
|
22
|
+
componentWillLoad(): void;
|
|
23
|
+
valueChanged(val: HyperlinkValue | string): void;
|
|
24
|
+
private parseValue;
|
|
25
|
+
private buildValue;
|
|
26
|
+
private handleHrefInput;
|
|
27
|
+
private handleNameInput;
|
|
20
28
|
private handleBlur;
|
|
21
29
|
render(): any;
|
|
22
30
|
}
|
|
@@ -53,6 +53,7 @@ export declare class MrdLayoutSection {
|
|
|
53
53
|
path?: string;
|
|
54
54
|
qs?: string;
|
|
55
55
|
parentPath?: string | null;
|
|
56
|
+
basicType?: string;
|
|
56
57
|
}>;
|
|
57
58
|
/** Re-emitted from an embedded mrd-table's mrdLoadAggregations; host calls setViewAggregations() with the result. */
|
|
58
59
|
mrdLoadViewAggregations: EventEmitter<{
|
|
@@ -52,7 +52,10 @@ export declare class MrdRelationField {
|
|
|
52
52
|
setSearchResults(results: RelationSearchResult[]): Promise<void>;
|
|
53
53
|
setLoading(loading: boolean): Promise<void>;
|
|
54
54
|
private searchDebounce;
|
|
55
|
+
private toSearchResult;
|
|
56
|
+
private applyValuePrefill;
|
|
55
57
|
componentWillLoad(): void;
|
|
58
|
+
valueChanged(newValue: typeof this.value): void;
|
|
56
59
|
componentDidLoad(): void;
|
|
57
60
|
private handleKeyDown;
|
|
58
61
|
private clearSelection;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export declare class MrdSecretField {
|
|
3
|
+
name: string;
|
|
4
|
+
label: string;
|
|
5
|
+
value: string;
|
|
6
|
+
placeholder: string;
|
|
7
|
+
required: boolean;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
locale: string;
|
|
10
|
+
error: string;
|
|
11
|
+
mrdChange: EventEmitter<{
|
|
12
|
+
name: string;
|
|
13
|
+
value: string;
|
|
14
|
+
}>;
|
|
15
|
+
mrdBlur: EventEmitter<{
|
|
16
|
+
name: string;
|
|
17
|
+
value: string;
|
|
18
|
+
}>;
|
|
19
|
+
private handleInput;
|
|
20
|
+
private handleBlur;
|
|
21
|
+
render(): any;
|
|
22
|
+
}
|
|
@@ -7,6 +7,8 @@ export declare class MrdTable {
|
|
|
7
7
|
private debounceTimer;
|
|
8
8
|
private outsideClickHandler;
|
|
9
9
|
private keydownHandler;
|
|
10
|
+
private createPickerClickHandler;
|
|
11
|
+
private viewPopoverClickHandler;
|
|
10
12
|
/** The VIEW or RELATED_VIEW layout item. Contains view config, dataClass, fromClass, actions etc. */
|
|
11
13
|
item: ClientLayoutItem | null;
|
|
12
14
|
/** Parent record id — required for RELATED_VIEW to build /{fromClass}/{parentId}/{dataClass}. */
|
|
@@ -48,6 +50,10 @@ export declare class MrdTable {
|
|
|
48
50
|
top: number;
|
|
49
51
|
left: number;
|
|
50
52
|
};
|
|
53
|
+
/** Whether the create-type picker dropdown is open. */
|
|
54
|
+
createPickerOpen: boolean;
|
|
55
|
+
/** Whether the view-switcher popover (full list) is open. */
|
|
56
|
+
private viewPopoverOpen;
|
|
51
57
|
/** Current scroll offset of the scroll container — drives pagination footer. */
|
|
52
58
|
scrollTop: number;
|
|
53
59
|
/** Full text shown in the TEXTBLOCK expand modal (null = closed). */
|
|
@@ -81,6 +87,7 @@ export declare class MrdTable {
|
|
|
81
87
|
qs?: string;
|
|
82
88
|
dataClass?: string;
|
|
83
89
|
parentPath?: string | null;
|
|
90
|
+
basicType?: string;
|
|
84
91
|
}>;
|
|
85
92
|
/** Fired when a FILE or IMAGE cell is clicked. Host resolves the href to a signed download URL. */
|
|
86
93
|
mrdDownload: EventEmitter<{
|
|
@@ -136,6 +143,8 @@ export declare class MrdTable {
|
|
|
136
143
|
private buildQueryParams;
|
|
137
144
|
private get columns();
|
|
138
145
|
private get tableActions();
|
|
146
|
+
private toggleCreatePicker;
|
|
147
|
+
private closeCreatePicker;
|
|
139
148
|
private colName;
|
|
140
149
|
private colDataType;
|
|
141
150
|
/** True when we have a reliable total: either from the aggregations response or because
|
|
@@ -174,6 +183,7 @@ export declare class MrdTable {
|
|
|
174
183
|
private clearFilter;
|
|
175
184
|
private clearAllFilters;
|
|
176
185
|
private handleViewSwitch;
|
|
186
|
+
private toggleViewPopover;
|
|
177
187
|
private renderToolbar;
|
|
178
188
|
private renderFilterEditor;
|
|
179
189
|
private renderFilterPopup;
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
* It contains typing information for all components that exist in this project.
|
|
6
6
|
*/
|
|
7
7
|
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
|
-
import { ClientLayout, ClientLayoutItem, ClientLayoutItemFieldDataType, ClientLayoutItemRelationDisplayType, ClientLayoutItemRelationEditBehavior, ClientListValue, CurrencyValue, RelationSearchResult
|
|
9
|
-
import { AggregationResult, ClientLayoutItem as ClientLayoutItem1, ClientLayoutItemNavigate, ClientViewMetadata, RelationSearchResult } from "./types/client-layout";
|
|
10
|
-
export { ClientLayout, ClientLayoutItem, ClientLayoutItemFieldDataType, ClientLayoutItemRelationDisplayType, ClientLayoutItemRelationEditBehavior, ClientListValue, CurrencyValue, RelationSearchResult
|
|
11
|
-
export { AggregationResult, ClientLayoutItem as ClientLayoutItem1, ClientLayoutItemNavigate, ClientViewMetadata, RelationSearchResult } from "./types/client-layout";
|
|
8
|
+
import { ClientLayout, ClientLayoutItem, ClientLayoutItemFieldDataType, ClientLayoutItemRelationDisplayType, ClientLayoutItemRelationEditBehavior, ClientListValue, CurrencyValue, RelationSearchResult } from "./types";
|
|
9
|
+
import { AggregationResult, ClientLayoutItem as ClientLayoutItem1, ClientLayoutItemNavigate, ClientViewMetadata, HyperlinkValue, RelationSearchResult as RelationSearchResult1 } from "./types/client-layout";
|
|
10
|
+
export { ClientLayout, ClientLayoutItem, ClientLayoutItemFieldDataType, ClientLayoutItemRelationDisplayType, ClientLayoutItemRelationEditBehavior, ClientListValue, CurrencyValue, RelationSearchResult } from "./types";
|
|
11
|
+
export { AggregationResult, ClientLayoutItem as ClientLayoutItem1, ClientLayoutItemNavigate, ClientViewMetadata, HyperlinkValue, RelationSearchResult as RelationSearchResult1 } from "./types/client-layout";
|
|
12
12
|
export namespace Components {
|
|
13
13
|
interface MrdBooleanField {
|
|
14
14
|
/**
|
|
@@ -192,6 +192,11 @@ export namespace Components {
|
|
|
192
192
|
* @default navigator.language
|
|
193
193
|
*/
|
|
194
194
|
"locale": string;
|
|
195
|
+
/**
|
|
196
|
+
* The currently logged-in user, resolved by the host via /accounts/me. Used to pre-fill RELATION fields whose defaultValue is "@me". May be null when not authenticated or not yet resolved.
|
|
197
|
+
* @default null
|
|
198
|
+
*/
|
|
199
|
+
"me": RelationSearchResult | null;
|
|
195
200
|
/**
|
|
196
201
|
* The `mostSignificantClass` of the parent/reference object (e.g. `'clientAgreements'`). Used to locate the matching RELATION field.
|
|
197
202
|
* @default ''
|
|
@@ -241,7 +246,7 @@ export namespace Components {
|
|
|
241
246
|
/**
|
|
242
247
|
* @default ''
|
|
243
248
|
*/
|
|
244
|
-
"value": string;
|
|
249
|
+
"value": HyperlinkValue | string;
|
|
245
250
|
}
|
|
246
251
|
interface MrdImageField {
|
|
247
252
|
/**
|
|
@@ -308,7 +313,7 @@ export namespace Components {
|
|
|
308
313
|
/**
|
|
309
314
|
* Inject search results. Pass dataClass to target a specific SEARCH item; omit when there is only one.
|
|
310
315
|
*/
|
|
311
|
-
"setSearchResults": (results:
|
|
316
|
+
"setSearchResults": (results: RelationSearchResult1[], dataClass?: string) => Promise<void>;
|
|
312
317
|
/**
|
|
313
318
|
* Inject aggregation totals into an embedded mrd-table for a VIEW or RELATED_VIEW item.
|
|
314
319
|
*/
|
|
@@ -470,14 +475,44 @@ export namespace Components {
|
|
|
470
475
|
* @default false
|
|
471
476
|
*/
|
|
472
477
|
"required": boolean;
|
|
473
|
-
"setAllRecords": (records:
|
|
478
|
+
"setAllRecords": (records: RelationSearchResult[]) => Promise<void>;
|
|
474
479
|
"setLoading": (loading: boolean) => Promise<void>;
|
|
475
|
-
"setSearchResults": (results:
|
|
480
|
+
"setSearchResults": (results: RelationSearchResult[]) => Promise<void>;
|
|
476
481
|
/**
|
|
477
482
|
* Plain href string/array for normal use; pass { id, label } objects to pre-fill a loaded record.
|
|
478
483
|
* @default null
|
|
479
484
|
*/
|
|
480
|
-
"value": string | string[] |
|
|
485
|
+
"value": string | string[] | RelationSearchResult | RelationSearchResult[] | null;
|
|
486
|
+
}
|
|
487
|
+
interface MrdSecretField {
|
|
488
|
+
/**
|
|
489
|
+
* @default false
|
|
490
|
+
*/
|
|
491
|
+
"disabled": boolean;
|
|
492
|
+
/**
|
|
493
|
+
* @default ''
|
|
494
|
+
*/
|
|
495
|
+
"label": string;
|
|
496
|
+
/**
|
|
497
|
+
* @default navigator.language
|
|
498
|
+
*/
|
|
499
|
+
"locale": string;
|
|
500
|
+
/**
|
|
501
|
+
* @default ''
|
|
502
|
+
*/
|
|
503
|
+
"name": string;
|
|
504
|
+
/**
|
|
505
|
+
* @default ''
|
|
506
|
+
*/
|
|
507
|
+
"placeholder": string;
|
|
508
|
+
/**
|
|
509
|
+
* @default false
|
|
510
|
+
*/
|
|
511
|
+
"required": boolean;
|
|
512
|
+
/**
|
|
513
|
+
* @default ''
|
|
514
|
+
*/
|
|
515
|
+
"value": string;
|
|
481
516
|
}
|
|
482
517
|
interface MrdTable {
|
|
483
518
|
/**
|
|
@@ -679,6 +714,10 @@ export interface MrdRelationFieldCustomEvent<T> extends CustomEvent<T> {
|
|
|
679
714
|
detail: T;
|
|
680
715
|
target: HTMLMrdRelationFieldElement;
|
|
681
716
|
}
|
|
717
|
+
export interface MrdSecretFieldCustomEvent<T> extends CustomEvent<T> {
|
|
718
|
+
detail: T;
|
|
719
|
+
target: HTMLMrdSecretFieldElement;
|
|
720
|
+
}
|
|
682
721
|
export interface MrdTableCustomEvent<T> extends CustomEvent<T> {
|
|
683
722
|
detail: T;
|
|
684
723
|
target: HTMLMrdTableElement;
|
|
@@ -848,8 +887,8 @@ declare global {
|
|
|
848
887
|
new (): HTMLMrdFormElement;
|
|
849
888
|
};
|
|
850
889
|
interface HTMLMrdHyperlinkFieldElementEventMap {
|
|
851
|
-
"mrdChange": { name: string; value:
|
|
852
|
-
"mrdBlur": { name: string; value:
|
|
890
|
+
"mrdChange": { name: string; value: HyperlinkValue };
|
|
891
|
+
"mrdBlur": { name: string; value: HyperlinkValue };
|
|
853
892
|
}
|
|
854
893
|
interface HTMLMrdHyperlinkFieldElement extends Components.MrdHyperlinkField, HTMLStencilElement {
|
|
855
894
|
addEventListener<K extends keyof HTMLMrdHyperlinkFieldElementEventMap>(type: K, listener: (this: HTMLMrdHyperlinkFieldElement, ev: MrdHyperlinkFieldCustomEvent<HTMLMrdHyperlinkFieldElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -890,7 +929,7 @@ declare global {
|
|
|
890
929
|
"mrdDownload": { href: string; fileName: string };
|
|
891
930
|
"mrdLoadViewPage": { name: string; page: number; sort: string; path: string; qs: string };
|
|
892
931
|
"mrdLoadImage": { fieldName: string; href: string };
|
|
893
|
-
"mrdViewAction": { name: string; action: string; dataClass: string; path?: string; qs?: string; parentPath?: string | null };
|
|
932
|
+
"mrdViewAction": { name: string; action: string; dataClass: string; path?: string; qs?: string; parentPath?: string | null; basicType?: string };
|
|
894
933
|
"mrdLoadViewAggregations": { name: string; dataClass: string; path: string; qs: string; aggQs: string };
|
|
895
934
|
}
|
|
896
935
|
interface HTMLMrdLayoutSectionElement extends Components.MrdLayoutSection, HTMLStencilElement {
|
|
@@ -981,10 +1020,28 @@ declare global {
|
|
|
981
1020
|
prototype: HTMLMrdRelationFieldElement;
|
|
982
1021
|
new (): HTMLMrdRelationFieldElement;
|
|
983
1022
|
};
|
|
1023
|
+
interface HTMLMrdSecretFieldElementEventMap {
|
|
1024
|
+
"mrdChange": { name: string; value: string };
|
|
1025
|
+
"mrdBlur": { name: string; value: string };
|
|
1026
|
+
}
|
|
1027
|
+
interface HTMLMrdSecretFieldElement extends Components.MrdSecretField, HTMLStencilElement {
|
|
1028
|
+
addEventListener<K extends keyof HTMLMrdSecretFieldElementEventMap>(type: K, listener: (this: HTMLMrdSecretFieldElement, ev: MrdSecretFieldCustomEvent<HTMLMrdSecretFieldElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1029
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1030
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1031
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1032
|
+
removeEventListener<K extends keyof HTMLMrdSecretFieldElementEventMap>(type: K, listener: (this: HTMLMrdSecretFieldElement, ev: MrdSecretFieldCustomEvent<HTMLMrdSecretFieldElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1033
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1034
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1035
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1036
|
+
}
|
|
1037
|
+
var HTMLMrdSecretFieldElement: {
|
|
1038
|
+
prototype: HTMLMrdSecretFieldElement;
|
|
1039
|
+
new (): HTMLMrdSecretFieldElement;
|
|
1040
|
+
};
|
|
984
1041
|
interface HTMLMrdTableElementEventMap {
|
|
985
1042
|
"mrdLoadPage": { page: number; sort: string; path: string; qs: string };
|
|
986
1043
|
"mrdRowClick": Record<string, any>;
|
|
987
|
-
"mrdAction": { action: string; path?: string; qs?: string; dataClass?: string; parentPath?: string | null };
|
|
1044
|
+
"mrdAction": { action: string; path?: string; qs?: string; dataClass?: string; parentPath?: string | null; basicType?: string };
|
|
988
1045
|
"mrdDownload": { href: string; fileName: string };
|
|
989
1046
|
"mrdLoadAggregations": { path: string; qs: string; aggQs: string };
|
|
990
1047
|
}
|
|
@@ -1072,6 +1129,7 @@ declare global {
|
|
|
1072
1129
|
"mrd-longtext-field": HTMLMrdLongtextFieldElement;
|
|
1073
1130
|
"mrd-number-field": HTMLMrdNumberFieldElement;
|
|
1074
1131
|
"mrd-relation-field": HTMLMrdRelationFieldElement;
|
|
1132
|
+
"mrd-secret-field": HTMLMrdSecretFieldElement;
|
|
1075
1133
|
"mrd-table": HTMLMrdTableElement;
|
|
1076
1134
|
"mrd-text-field": HTMLMrdTextFieldElement;
|
|
1077
1135
|
"mrd-textarea-field": HTMLMrdTextareaFieldElement;
|
|
@@ -1282,6 +1340,11 @@ declare namespace LocalJSX {
|
|
|
1282
1340
|
* @default navigator.language
|
|
1283
1341
|
*/
|
|
1284
1342
|
"locale"?: string;
|
|
1343
|
+
/**
|
|
1344
|
+
* The currently logged-in user, resolved by the host via /accounts/me. Used to pre-fill RELATION fields whose defaultValue is "@me". May be null when not authenticated or not yet resolved.
|
|
1345
|
+
* @default null
|
|
1346
|
+
*/
|
|
1347
|
+
"me"?: RelationSearchResult | null;
|
|
1285
1348
|
"onMrdCancel"?: (event: MrdFormCustomEvent<void>) => void;
|
|
1286
1349
|
"onMrdFetchAll"?: (event: MrdFormCustomEvent<{ name: string; relatedClass: string; mostSignificantClass?: string; commonRelation?: string; filter?: string; filterValue?: string }>) => void;
|
|
1287
1350
|
"onMrdSearch"?: (event: MrdFormCustomEvent<{ name: string; query: string; relatedClass: string }>) => void;
|
|
@@ -1324,8 +1387,8 @@ declare namespace LocalJSX {
|
|
|
1324
1387
|
* @default ''
|
|
1325
1388
|
*/
|
|
1326
1389
|
"name"?: string;
|
|
1327
|
-
"onMrdBlur"?: (event: MrdHyperlinkFieldCustomEvent<{ name: string; value:
|
|
1328
|
-
"onMrdChange"?: (event: MrdHyperlinkFieldCustomEvent<{ name: string; value:
|
|
1390
|
+
"onMrdBlur"?: (event: MrdHyperlinkFieldCustomEvent<{ name: string; value: HyperlinkValue }>) => void;
|
|
1391
|
+
"onMrdChange"?: (event: MrdHyperlinkFieldCustomEvent<{ name: string; value: HyperlinkValue }>) => void;
|
|
1329
1392
|
/**
|
|
1330
1393
|
* @default ''
|
|
1331
1394
|
*/
|
|
@@ -1337,7 +1400,7 @@ declare namespace LocalJSX {
|
|
|
1337
1400
|
/**
|
|
1338
1401
|
* @default ''
|
|
1339
1402
|
*/
|
|
1340
|
-
"value"?: string;
|
|
1403
|
+
"value"?: HyperlinkValue | string;
|
|
1341
1404
|
}
|
|
1342
1405
|
interface MrdImageField {
|
|
1343
1406
|
/**
|
|
@@ -1417,7 +1480,7 @@ declare namespace LocalJSX {
|
|
|
1417
1480
|
/**
|
|
1418
1481
|
* Re-emitted from an embedded mrd-table's mrdAction; host builds the target URL from dataClass.
|
|
1419
1482
|
*/
|
|
1420
|
-
"onMrdViewAction"?: (event: MrdLayoutSectionCustomEvent<{ name: string; action: string; dataClass: string; path?: string; qs?: string; parentPath?: string | null }>) => void;
|
|
1483
|
+
"onMrdViewAction"?: (event: MrdLayoutSectionCustomEvent<{ name: string; action: string; dataClass: string; path?: string; qs?: string; parentPath?: string | null; basicType?: string }>) => void;
|
|
1421
1484
|
/**
|
|
1422
1485
|
* Legacy: view metadata map (ClientDashboardMetadata.views). Not needed in new flat format.
|
|
1423
1486
|
* @default {}
|
|
@@ -1585,7 +1648,39 @@ declare namespace LocalJSX {
|
|
|
1585
1648
|
* Plain href string/array for normal use; pass { id, label } objects to pre-fill a loaded record.
|
|
1586
1649
|
* @default null
|
|
1587
1650
|
*/
|
|
1588
|
-
"value"?: string | string[] |
|
|
1651
|
+
"value"?: string | string[] | RelationSearchResult | RelationSearchResult[] | null;
|
|
1652
|
+
}
|
|
1653
|
+
interface MrdSecretField {
|
|
1654
|
+
/**
|
|
1655
|
+
* @default false
|
|
1656
|
+
*/
|
|
1657
|
+
"disabled"?: boolean;
|
|
1658
|
+
/**
|
|
1659
|
+
* @default ''
|
|
1660
|
+
*/
|
|
1661
|
+
"label"?: string;
|
|
1662
|
+
/**
|
|
1663
|
+
* @default navigator.language
|
|
1664
|
+
*/
|
|
1665
|
+
"locale"?: string;
|
|
1666
|
+
/**
|
|
1667
|
+
* @default ''
|
|
1668
|
+
*/
|
|
1669
|
+
"name"?: string;
|
|
1670
|
+
"onMrdBlur"?: (event: MrdSecretFieldCustomEvent<{ name: string; value: string }>) => void;
|
|
1671
|
+
"onMrdChange"?: (event: MrdSecretFieldCustomEvent<{ name: string; value: string }>) => void;
|
|
1672
|
+
/**
|
|
1673
|
+
* @default ''
|
|
1674
|
+
*/
|
|
1675
|
+
"placeholder"?: string;
|
|
1676
|
+
/**
|
|
1677
|
+
* @default false
|
|
1678
|
+
*/
|
|
1679
|
+
"required"?: boolean;
|
|
1680
|
+
/**
|
|
1681
|
+
* @default ''
|
|
1682
|
+
*/
|
|
1683
|
+
"value"?: string;
|
|
1589
1684
|
}
|
|
1590
1685
|
interface MrdTable {
|
|
1591
1686
|
/**
|
|
@@ -1600,7 +1695,7 @@ declare namespace LocalJSX {
|
|
|
1600
1695
|
/**
|
|
1601
1696
|
* Fired when a toolbar action button is clicked. For 'export': includes `path` (relative excel path) and `qs` (current sort+filter params). For 'create': includes `dataClass` (target type) and `parentPath` (e.g. /buyers/123 for RELATED_VIEW).
|
|
1602
1697
|
*/
|
|
1603
|
-
"onMrdAction"?: (event: MrdTableCustomEvent<{ action: string; path?: string; qs?: string; dataClass?: string; parentPath?: string | null }>) => void;
|
|
1698
|
+
"onMrdAction"?: (event: MrdTableCustomEvent<{ action: string; path?: string; qs?: string; dataClass?: string; parentPath?: string | null; basicType?: string }>) => void;
|
|
1604
1699
|
/**
|
|
1605
1700
|
* Fired when a FILE or IMAGE cell is clicked. Host resolves the href to a signed download URL.
|
|
1606
1701
|
*/
|
|
@@ -1802,7 +1897,7 @@ declare namespace LocalJSX {
|
|
|
1802
1897
|
interface MrdHyperlinkFieldAttributes {
|
|
1803
1898
|
"name": string;
|
|
1804
1899
|
"label": string;
|
|
1805
|
-
"value": string;
|
|
1900
|
+
"value": HyperlinkValue | string;
|
|
1806
1901
|
"placeholder": string;
|
|
1807
1902
|
"required": boolean;
|
|
1808
1903
|
"disabled": boolean;
|
|
@@ -1863,6 +1958,15 @@ declare namespace LocalJSX {
|
|
|
1863
1958
|
"multiple": boolean;
|
|
1864
1959
|
"value": string | string[] | RelationSearchResult | RelationSearchResult[] | null;
|
|
1865
1960
|
}
|
|
1961
|
+
interface MrdSecretFieldAttributes {
|
|
1962
|
+
"name": string;
|
|
1963
|
+
"label": string;
|
|
1964
|
+
"value": string;
|
|
1965
|
+
"placeholder": string;
|
|
1966
|
+
"required": boolean;
|
|
1967
|
+
"disabled": boolean;
|
|
1968
|
+
"locale": string;
|
|
1969
|
+
}
|
|
1866
1970
|
interface MrdTableAttributes {
|
|
1867
1971
|
"parentId": string;
|
|
1868
1972
|
"locale": string;
|
|
@@ -1914,6 +2018,7 @@ declare namespace LocalJSX {
|
|
|
1914
2018
|
"mrd-longtext-field": Omit<MrdLongtextField, keyof MrdLongtextFieldAttributes> & { [K in keyof MrdLongtextField & keyof MrdLongtextFieldAttributes]?: MrdLongtextField[K] } & { [K in keyof MrdLongtextField & keyof MrdLongtextFieldAttributes as `attr:${K}`]?: MrdLongtextFieldAttributes[K] } & { [K in keyof MrdLongtextField & keyof MrdLongtextFieldAttributes as `prop:${K}`]?: MrdLongtextField[K] };
|
|
1915
2019
|
"mrd-number-field": Omit<MrdNumberField, keyof MrdNumberFieldAttributes> & { [K in keyof MrdNumberField & keyof MrdNumberFieldAttributes]?: MrdNumberField[K] } & { [K in keyof MrdNumberField & keyof MrdNumberFieldAttributes as `attr:${K}`]?: MrdNumberFieldAttributes[K] } & { [K in keyof MrdNumberField & keyof MrdNumberFieldAttributes as `prop:${K}`]?: MrdNumberField[K] };
|
|
1916
2020
|
"mrd-relation-field": Omit<MrdRelationField, keyof MrdRelationFieldAttributes> & { [K in keyof MrdRelationField & keyof MrdRelationFieldAttributes]?: MrdRelationField[K] } & { [K in keyof MrdRelationField & keyof MrdRelationFieldAttributes as `attr:${K}`]?: MrdRelationFieldAttributes[K] } & { [K in keyof MrdRelationField & keyof MrdRelationFieldAttributes as `prop:${K}`]?: MrdRelationField[K] };
|
|
2021
|
+
"mrd-secret-field": Omit<MrdSecretField, keyof MrdSecretFieldAttributes> & { [K in keyof MrdSecretField & keyof MrdSecretFieldAttributes]?: MrdSecretField[K] } & { [K in keyof MrdSecretField & keyof MrdSecretFieldAttributes as `attr:${K}`]?: MrdSecretFieldAttributes[K] } & { [K in keyof MrdSecretField & keyof MrdSecretFieldAttributes as `prop:${K}`]?: MrdSecretField[K] };
|
|
1917
2022
|
"mrd-table": Omit<MrdTable, keyof MrdTableAttributes> & { [K in keyof MrdTable & keyof MrdTableAttributes]?: MrdTable[K] } & { [K in keyof MrdTable & keyof MrdTableAttributes as `attr:${K}`]?: MrdTableAttributes[K] } & { [K in keyof MrdTable & keyof MrdTableAttributes as `prop:${K}`]?: MrdTable[K] };
|
|
1918
2023
|
"mrd-text-field": Omit<MrdTextField, keyof MrdTextFieldAttributes> & { [K in keyof MrdTextField & keyof MrdTextFieldAttributes]?: MrdTextField[K] } & { [K in keyof MrdTextField & keyof MrdTextFieldAttributes as `attr:${K}`]?: MrdTextFieldAttributes[K] } & { [K in keyof MrdTextField & keyof MrdTextFieldAttributes as `prop:${K}`]?: MrdTextField[K] };
|
|
1919
2024
|
"mrd-textarea-field": Omit<MrdTextareaField, keyof MrdTextareaFieldAttributes> & { [K in keyof MrdTextareaField & keyof MrdTextareaFieldAttributes]?: MrdTextareaField[K] } & { [K in keyof MrdTextareaField & keyof MrdTextareaFieldAttributes as `attr:${K}`]?: MrdTextareaFieldAttributes[K] } & { [K in keyof MrdTextareaField & keyof MrdTextareaFieldAttributes as `prop:${K}`]?: MrdTextareaField[K] };
|
|
@@ -1939,6 +2044,7 @@ declare module "@stencil/core" {
|
|
|
1939
2044
|
"mrd-longtext-field": LocalJSX.IntrinsicElements["mrd-longtext-field"] & JSXBase.HTMLAttributes<HTMLMrdLongtextFieldElement>;
|
|
1940
2045
|
"mrd-number-field": LocalJSX.IntrinsicElements["mrd-number-field"] & JSXBase.HTMLAttributes<HTMLMrdNumberFieldElement>;
|
|
1941
2046
|
"mrd-relation-field": LocalJSX.IntrinsicElements["mrd-relation-field"] & JSXBase.HTMLAttributes<HTMLMrdRelationFieldElement>;
|
|
2047
|
+
"mrd-secret-field": LocalJSX.IntrinsicElements["mrd-secret-field"] & JSXBase.HTMLAttributes<HTMLMrdSecretFieldElement>;
|
|
1942
2048
|
"mrd-table": LocalJSX.IntrinsicElements["mrd-table"] & JSXBase.HTMLAttributes<HTMLMrdTableElement>;
|
|
1943
2049
|
"mrd-text-field": LocalJSX.IntrinsicElements["mrd-text-field"] & JSXBase.HTMLAttributes<HTMLMrdTextFieldElement>;
|
|
1944
2050
|
"mrd-textarea-field": LocalJSX.IntrinsicElements["mrd-textarea-field"] & JSXBase.HTMLAttributes<HTMLMrdTextareaFieldElement>;
|
|
@@ -35,7 +35,8 @@ export declare enum ClientLayoutItemFieldDataType {
|
|
|
35
35
|
FILE = "FILE",
|
|
36
36
|
IMAGE = "IMAGE",
|
|
37
37
|
LONGTEXT = "LONGTEXT",
|
|
38
|
-
JSON = "JSON"
|
|
38
|
+
JSON = "JSON",
|
|
39
|
+
SECRET = "SECRET"
|
|
39
40
|
}
|
|
40
41
|
export declare enum ClientLayoutItemRelationDisplayType {
|
|
41
42
|
SEARCH = "SEARCH",
|
|
@@ -71,6 +72,10 @@ export interface CurrencyValue {
|
|
|
71
72
|
currency: string;
|
|
72
73
|
decimals?: number;
|
|
73
74
|
}
|
|
75
|
+
export interface HyperlinkValue {
|
|
76
|
+
href: string;
|
|
77
|
+
name?: string;
|
|
78
|
+
}
|
|
74
79
|
export interface RelationSearchResult {
|
|
75
80
|
id: string;
|
|
76
81
|
label: string;
|
|
@@ -137,6 +142,10 @@ export interface ClientLayoutItemSearch {
|
|
|
137
142
|
dataClass: string;
|
|
138
143
|
showTitle: boolean;
|
|
139
144
|
}
|
|
145
|
+
export interface ClientCreateType {
|
|
146
|
+
type: string;
|
|
147
|
+
label: string;
|
|
148
|
+
}
|
|
140
149
|
/**
|
|
141
150
|
* A single item in a ClientLayout. The `type` discriminator determines which
|
|
142
151
|
* optional fields are present. Components should only act on types they
|
|
@@ -165,6 +174,8 @@ export interface ClientLayoutItem {
|
|
|
165
174
|
}>;
|
|
166
175
|
/** Toolbar buttons for embedded views. null/omitted = ["NEW","EXPORT"]; [] = none. */
|
|
167
176
|
actions?: string[] | null;
|
|
177
|
+
/** Concrete subtypes available for create. When set, the NEW button expands into one button per entry. */
|
|
178
|
+
createTypes?: ClientCreateType[] | null;
|
|
168
179
|
dataType?: ClientLayoutItemFieldDataType;
|
|
169
180
|
required?: boolean;
|
|
170
181
|
disabled?: boolean;
|
|
@@ -21,6 +21,7 @@ export interface TableAction {
|
|
|
21
21
|
/** Button style variant. Defaults to 'secondary'. */
|
|
22
22
|
variant?: 'primary' | 'secondary' | 'danger';
|
|
23
23
|
disabled?: boolean;
|
|
24
|
+
basicType?: string;
|
|
24
25
|
}
|
|
25
26
|
/** Represents an active filter on a single column. */
|
|
26
27
|
export interface ColumnFilter {
|