@masterteam/components 0.0.129 → 0.0.131
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/fesm2022/masterteam-components-tooltip.mjs.map +1 -1
- package/package.json +1 -1
- package/fesm2022/masterteam-components-business-fields.mjs +0 -597
- package/fesm2022/masterteam-components-business-fields.mjs.map +0 -1
- package/fesm2022/masterteam-components-button-group.mjs +0 -20
- package/fesm2022/masterteam-components-button-group.mjs.map +0 -1
- package/fesm2022/masterteam-components-chip.mjs +0 -35
- package/fesm2022/masterteam-components-chip.mjs.map +0 -1
- package/fesm2022/masterteam-components-client-page-menu.mjs +0 -92
- package/fesm2022/masterteam-components-client-page-menu.mjs.map +0 -1
- package/fesm2022/masterteam-components-client-page.mjs +0 -160
- package/fesm2022/masterteam-components-client-page.mjs.map +0 -1
- package/fesm2022/masterteam-components-color-picker-field.mjs +0 -94
- package/fesm2022/masterteam-components-color-picker-field.mjs.map +0 -1
- package/fesm2022/masterteam-components-date-field.mjs +0 -93
- package/fesm2022/masterteam-components-date-field.mjs.map +0 -1
- package/fesm2022/masterteam-components-drawer.mjs +0 -69
- package/fesm2022/masterteam-components-drawer.mjs.map +0 -1
- package/fesm2022/masterteam-components-editor-field.mjs +0 -96
- package/fesm2022/masterteam-components-editor-field.mjs.map +0 -1
- package/fesm2022/masterteam-components-entities.mjs +0 -864
- package/fesm2022/masterteam-components-entities.mjs.map +0 -1
- package/fesm2022/masterteam-components-formula.mjs +0 -3116
- package/fesm2022/masterteam-components-formula.mjs.map +0 -1
- package/fesm2022/masterteam-components-list.mjs +0 -31
- package/fesm2022/masterteam-components-list.mjs.map +0 -1
- package/fesm2022/masterteam-components-progress.mjs +0 -49
- package/fesm2022/masterteam-components-progress.mjs.map +0 -1
- package/fesm2022/masterteam-components-table.mjs +0 -1153
- package/fesm2022/masterteam-components-table.mjs.map +0 -1
- package/fesm2022/masterteam-components-upload-field.mjs +0 -554
- package/fesm2022/masterteam-components-upload-field.mjs.map +0 -1
- package/fesm2022/masterteam-components-user-search-field.mjs +0 -153
- package/fesm2022/masterteam-components-user-search-field.mjs.map +0 -1
- package/types/masterteam-components-business-fields.d.ts +0 -213
- package/types/masterteam-components-button-group.d.ts +0 -8
- package/types/masterteam-components-chip.d.ts +0 -19
- package/types/masterteam-components-client-page-menu.d.ts +0 -35
- package/types/masterteam-components-client-page.d.ts +0 -56
- package/types/masterteam-components-color-picker-field.d.ts +0 -35
- package/types/masterteam-components-date-field.d.ts +0 -41
- package/types/masterteam-components-drawer.d.ts +0 -30
- package/types/masterteam-components-editor-field.d.ts +0 -34
- package/types/masterteam-components-entities.d.ts +0 -367
- package/types/masterteam-components-formula.d.ts +0 -654
- package/types/masterteam-components-list.d.ts +0 -18
- package/types/masterteam-components-progress.d.ts +0 -22
- package/types/masterteam-components-table.d.ts +0 -255
- package/types/masterteam-components-upload-field.d.ts +0 -77
- package/types/masterteam-components-user-search-field.d.ts +0 -61
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnDestroy, ElementRef } from '@angular/core';
|
|
3
|
-
|
|
4
|
-
interface ClientPageMenuItem {
|
|
5
|
-
icon: string;
|
|
6
|
-
title: string;
|
|
7
|
-
subtitle?: string;
|
|
8
|
-
color: string;
|
|
9
|
-
count: number;
|
|
10
|
-
key: string;
|
|
11
|
-
}
|
|
12
|
-
declare class ClientPageMenu implements OnDestroy {
|
|
13
|
-
private syncFrameId;
|
|
14
|
-
/** List of menu items to display */
|
|
15
|
-
readonly menuItems: _angular_core.InputSignal<ClientPageMenuItem[]>;
|
|
16
|
-
/** Whether menu items are loading */
|
|
17
|
-
readonly loading: _angular_core.InputSignal<boolean>;
|
|
18
|
-
/** Currently selected menu item */
|
|
19
|
-
readonly selectedItem: _angular_core.InputSignal<ClientPageMenuItem | null>;
|
|
20
|
-
/** Emitted when a menu item is clicked */
|
|
21
|
-
readonly menuItemClick: _angular_core.OutputEmitterRef<ClientPageMenuItem>;
|
|
22
|
-
readonly menuContainer: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
23
|
-
readonly menuItemElements: _angular_core.Signal<readonly ElementRef<HTMLElement>[]>;
|
|
24
|
-
constructor();
|
|
25
|
-
selectItem(item: ClientPageMenuItem): void;
|
|
26
|
-
ngOnDestroy(): void;
|
|
27
|
-
getAvatarStyle(color: string): Record<string, string>;
|
|
28
|
-
private queueSelectedItemSync;
|
|
29
|
-
private syncSelectedItemIntoView;
|
|
30
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClientPageMenu, never>;
|
|
31
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClientPageMenu, "mt-client-page-menu", never, { "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "selectedItem": { "alias": "selectedItem"; "required": false; "isSignal": true; }; }, { "menuItemClick": "menuItemClick"; }, never, never, true, never>;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export { ClientPageMenu };
|
|
35
|
-
export type { ClientPageMenuItem };
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnDestroy, TemplateRef } from '@angular/core';
|
|
3
|
-
import { ClientPageMenuItem } from '@masterteam/components/client-page-menu';
|
|
4
|
-
|
|
5
|
-
declare class ClientPage implements OnDestroy {
|
|
6
|
-
private readonly platformId;
|
|
7
|
-
private mediaQueryList;
|
|
8
|
-
/** Icon for the left sidebar header */
|
|
9
|
-
readonly menuIcon: _angular_core.InputSignal<string | undefined>;
|
|
10
|
-
/** Title for the left sidebar header */
|
|
11
|
-
readonly menuTitle: _angular_core.InputSignal<string | undefined>;
|
|
12
|
-
/** List of menu items for the left sidebar */
|
|
13
|
-
readonly menuItems: _angular_core.InputSignal<ClientPageMenuItem[]>;
|
|
14
|
-
/** Whether menu items are loading */
|
|
15
|
-
readonly menuItemsLoading: _angular_core.InputSignal<boolean>;
|
|
16
|
-
/** Key of the active menu item (defaults to first item) */
|
|
17
|
-
readonly activeItem: _angular_core.InputSignal<string | undefined>;
|
|
18
|
-
/** Whether the sidebar menu is collapsed (two-way bindable) */
|
|
19
|
-
readonly collapsed: _angular_core.ModelSignal<boolean>;
|
|
20
|
-
/** Template projected into the left sidebar header end */
|
|
21
|
-
readonly headerEnd: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
22
|
-
/** Emitted when a menu item is clicked */
|
|
23
|
-
readonly menuItemClick: _angular_core.OutputEmitterRef<ClientPageMenuItem>;
|
|
24
|
-
/** Tracks activeItem input, overridable by user clicks */
|
|
25
|
-
private readonly selectedKey;
|
|
26
|
-
/** Currently selected menu item */
|
|
27
|
-
readonly selectedItem: _angular_core.Signal<ClientPageMenuItem>;
|
|
28
|
-
/** Whether the initial default selection has been emitted */
|
|
29
|
-
private initialEmitted;
|
|
30
|
-
constructor();
|
|
31
|
-
/** Whether the divider/toggle area is being hovered */
|
|
32
|
-
readonly dividerHovered: _angular_core.WritableSignal<boolean>;
|
|
33
|
-
/** Whether the viewport is at or below the responsive breakpoint */
|
|
34
|
-
readonly isResponsive: _angular_core.WritableSignal<boolean>;
|
|
35
|
-
/** Whether the responsive top navigation is expanded */
|
|
36
|
-
readonly responsiveMenuExpanded: _angular_core.WritableSignal<boolean>;
|
|
37
|
-
/** Whether the menu section is currently visible */
|
|
38
|
-
readonly showSidebarMenu: _angular_core.Signal<boolean>;
|
|
39
|
-
/** Sidebar width reacts to collapsed + hover */
|
|
40
|
-
readonly sidebarWidth: _angular_core.Signal<"100%" | "12px" | "9px" | "15.8%" | "16%">;
|
|
41
|
-
/** Icon for the collapse toggle button */
|
|
42
|
-
readonly toggleIcon: _angular_core.Signal<"arrow.chevron-up" | "arrow.chevron-down" | "arrow.chevron-right" | "arrow.chevron-left">;
|
|
43
|
-
/** Accessible label for the toggle button */
|
|
44
|
-
readonly toggleAriaLabel: _angular_core.Signal<"Collapse menu" | "Expand menu" | "Expand sidebar" | "Collapse sidebar">;
|
|
45
|
-
toggleCollapsed(): void;
|
|
46
|
-
selectItem(item: ClientPageMenuItem): void;
|
|
47
|
-
ngOnDestroy(): void;
|
|
48
|
-
getAvatarStyle(color: string): Record<string, string>;
|
|
49
|
-
private readonly handleResponsiveBreakpointChange;
|
|
50
|
-
private setupResponsiveBehavior;
|
|
51
|
-
private syncResponsiveState;
|
|
52
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClientPage, never>;
|
|
53
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClientPage, "mt-client-page", never, { "menuIcon": { "alias": "menuIcon"; "required": false; "isSignal": true; }; "menuTitle": { "alias": "menuTitle"; "required": false; "isSignal": true; }; "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "menuItemsLoading": { "alias": "menuItemsLoading"; "required": false; "isSignal": true; }; "activeItem": { "alias": "activeItem"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; "menuItemClick": "menuItemClick"; }, ["headerEnd"], ["*"], true, never>;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export { ClientPage };
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { ControlValueAccessor, NgControl, Validators } from '@angular/forms';
|
|
3
|
-
import { ColorPicker, ColorPickerChangeEvent } from 'primeng/colorpicker';
|
|
4
|
-
import { isInvalid } from '@masterteam/components';
|
|
5
|
-
|
|
6
|
-
declare class ColorPickerField implements ControlValueAccessor {
|
|
7
|
-
colorPicker: ColorPicker;
|
|
8
|
-
label: _angular_core.InputSignal<string | undefined>;
|
|
9
|
-
appendTo: _angular_core.InputSignal<string>;
|
|
10
|
-
placeholder: _angular_core.InputSignal<string | undefined>;
|
|
11
|
-
class: _angular_core.InputSignal<string>;
|
|
12
|
-
variant: _angular_core.InputSignal<"outlined" | "filled">;
|
|
13
|
-
readonly: _angular_core.InputSignal<boolean>;
|
|
14
|
-
pInputs: _angular_core.InputSignal<Partial<ColorPicker> | undefined>;
|
|
15
|
-
required: _angular_core.InputSignal<boolean>;
|
|
16
|
-
onChange: _angular_core.OutputEmitterRef<ColorPickerChangeEvent>;
|
|
17
|
-
ngControl: NgControl;
|
|
18
|
-
requiredValidator: typeof Validators.required;
|
|
19
|
-
value: _angular_core.WritableSignal<string | null>;
|
|
20
|
-
disabled: _angular_core.WritableSignal<boolean>;
|
|
21
|
-
onTouched: () => void;
|
|
22
|
-
onModelChange: (value: string | null) => void;
|
|
23
|
-
isInvalid: typeof isInvalid;
|
|
24
|
-
constructor();
|
|
25
|
-
applyInputsToColorPicker(): void;
|
|
26
|
-
onValueChange(value: string | null): void;
|
|
27
|
-
writeValue(value: string | null): void;
|
|
28
|
-
registerOnChange(fn: any): void;
|
|
29
|
-
registerOnTouched(fn: any): void;
|
|
30
|
-
setDisabledState(disabled: boolean): void;
|
|
31
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPickerField, never>;
|
|
32
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorPickerField, "mt-color-picker-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "pInputs": { "alias": "pInputs"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, { "onChange": "onChange"; }, never, never, true, never>;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export { ColorPickerField };
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnInit, OnChanges, SimpleChanges } from '@angular/core';
|
|
3
|
-
import { ControlValueAccessor, Validators, NgControl } from '@angular/forms';
|
|
4
|
-
import { DatePicker } from 'primeng/datepicker';
|
|
5
|
-
import { isInvalid } from '@masterteam/components';
|
|
6
|
-
|
|
7
|
-
declare class DateField implements ControlValueAccessor, OnInit, OnChanges {
|
|
8
|
-
calendar: DatePicker;
|
|
9
|
-
readonly field: _angular_core.InputSignal<boolean>;
|
|
10
|
-
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
11
|
-
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
12
|
-
readonly class: _angular_core.InputSignal<string>;
|
|
13
|
-
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
14
|
-
readonly showIcon: _angular_core.InputSignal<boolean>;
|
|
15
|
-
readonly showClear: _angular_core.InputSignal<boolean>;
|
|
16
|
-
readonly showTime: _angular_core.InputSignal<boolean>;
|
|
17
|
-
readonly pInputs: _angular_core.InputSignal<Partial<DatePicker> | undefined>;
|
|
18
|
-
readonly required: _angular_core.InputSignal<boolean>;
|
|
19
|
-
rtl: _angular_core.WritableSignal<boolean>;
|
|
20
|
-
styleClass: string;
|
|
21
|
-
requiredValidator: typeof Validators.required;
|
|
22
|
-
value: _angular_core.WritableSignal<string | null>;
|
|
23
|
-
disabled: _angular_core.WritableSignal<boolean>;
|
|
24
|
-
onTouched: () => void;
|
|
25
|
-
onModelChange: (value: string) => void;
|
|
26
|
-
ngControl: NgControl;
|
|
27
|
-
isInvalid: typeof isInvalid;
|
|
28
|
-
constructor();
|
|
29
|
-
applyInputsToCalendar(): void;
|
|
30
|
-
ngOnInit(): void;
|
|
31
|
-
onValueChange(value: string): void;
|
|
32
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
33
|
-
writeValue(value: string): void;
|
|
34
|
-
registerOnChange(fn: any): void;
|
|
35
|
-
registerOnTouched(fn: any): void;
|
|
36
|
-
setDisabledState(disabled: boolean): void;
|
|
37
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateField, never>;
|
|
38
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateField, "mt-date-field", never, { "field": { "alias": "field"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "showTime": { "alias": "showTime"; "required": false; "isSignal": true; }; "pInputs": { "alias": "pInputs"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export { DateField };
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
|
-
|
|
3
|
-
declare class Drawer {
|
|
4
|
-
private readonly doc;
|
|
5
|
-
visible: _angular_core.ModelSignal<boolean>;
|
|
6
|
-
visibleChange: _angular_core.OutputEmitterRef<boolean>;
|
|
7
|
-
onShow: _angular_core.OutputEmitterRef<boolean>;
|
|
8
|
-
onHide: _angular_core.OutputEmitterRef<boolean>;
|
|
9
|
-
position: _angular_core.InputSignal<"left" | "right" | "top" | "bottom">;
|
|
10
|
-
fullScreen: _angular_core.InputSignal<boolean>;
|
|
11
|
-
closeOnEscape: _angular_core.InputSignal<boolean>;
|
|
12
|
-
blockScroll: _angular_core.InputSignal<boolean>;
|
|
13
|
-
dismissible: _angular_core.InputSignal<boolean>;
|
|
14
|
-
title: _angular_core.InputSignal<string>;
|
|
15
|
-
subtitle: _angular_core.InputSignal<string>;
|
|
16
|
-
loadingHeader: _angular_core.InputSignal<boolean>;
|
|
17
|
-
styleClass: _angular_core.InputSignal<string>;
|
|
18
|
-
transitionOptions: _angular_core.InputSignal<string>;
|
|
19
|
-
appendTo: _angular_core.InputSignal<string | HTMLElement>;
|
|
20
|
-
modal: _angular_core.InputSignal<boolean>;
|
|
21
|
-
protected readonly resolvedAppendTo: _angular_core.Signal<string | HTMLElement>;
|
|
22
|
-
visibleChangeEvent(event: boolean): void;
|
|
23
|
-
onClose(): void;
|
|
24
|
-
onShowEvent(): void;
|
|
25
|
-
onHideEvent(): void;
|
|
26
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Drawer, never>;
|
|
27
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Drawer, "mt-drawer", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "fullScreen": { "alias": "fullScreen"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "blockScroll": { "alias": "blockScroll"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "loadingHeader": { "alias": "loadingHeader"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "transitionOptions": { "alias": "transitionOptions"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "visibleChange": "visibleChange"; "onShow": "onShow"; "onHide": "onHide"; }, never, ["[content]", "[footer]"], true, never>;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export { Drawer };
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { ControlValueAccessor, Validators, NgControl } from '@angular/forms';
|
|
3
|
-
import { isInvalid } from '@masterteam/components';
|
|
4
|
-
|
|
5
|
-
type EditorDirection = 'ltr' | 'rtl' | 'auto';
|
|
6
|
-
declare class EditorField implements ControlValueAccessor {
|
|
7
|
-
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
8
|
-
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
9
|
-
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
10
|
-
readonly theme: _angular_core.InputSignal<"snow" | "bubble">;
|
|
11
|
-
readonly height: _angular_core.InputSignal<string>;
|
|
12
|
-
readonly dir: _angular_core.InputSignal<EditorDirection>;
|
|
13
|
-
readonly modules: _angular_core.InputSignal<any>;
|
|
14
|
-
readonly required: _angular_core.InputSignal<boolean>;
|
|
15
|
-
requiredValidator: typeof Validators.required;
|
|
16
|
-
value: _angular_core.WritableSignal<string | null>;
|
|
17
|
-
disabled: _angular_core.WritableSignal<boolean>;
|
|
18
|
-
onTouched: () => void;
|
|
19
|
-
onChange: (value: any) => void;
|
|
20
|
-
ngControl: NgControl | null;
|
|
21
|
-
isInvalid: typeof isInvalid;
|
|
22
|
-
constructor();
|
|
23
|
-
onModelChange(value: string): void;
|
|
24
|
-
onFocus(): void;
|
|
25
|
-
writeValue(value: string): void;
|
|
26
|
-
registerOnChange(fn: any): void;
|
|
27
|
-
registerOnTouched(fn: any): void;
|
|
28
|
-
setDisabledState(isDisabled: boolean): void;
|
|
29
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditorField, never>;
|
|
30
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorField, "mt-editor-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "modules": { "alias": "modules"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export { EditorField };
|
|
34
|
-
export type { EditorDirection };
|
|
@@ -1,367 +0,0 @@
|
|
|
1
|
-
import * as _masterteam_components_entities from '@masterteam/components/entities';
|
|
2
|
-
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { ElementRef, NgZone } from '@angular/core';
|
|
4
|
-
import { HttpContext } from '@angular/common/http';
|
|
5
|
-
import { MTIcon } from '@masterteam/icons';
|
|
6
|
-
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
7
|
-
|
|
8
|
-
type EntityViewType = 'Text' | 'LongText' | 'Date' | 'DateTime' | 'Percentage' | 'Status' | 'Currency' | 'Checkbox' | 'User' | 'Lookup' | 'Attachment' | 'LookupMatrix';
|
|
9
|
-
type EntityLabelPosition = 'top' | 'bottom';
|
|
10
|
-
/** Entity size – controls column span (1-24) inside a 24-column grid */
|
|
11
|
-
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;
|
|
12
|
-
interface EntityBaseConfig {
|
|
13
|
-
/** Column span of the entity card (1-24). Default: 8 */
|
|
14
|
-
size?: EntitySize;
|
|
15
|
-
/** Whether to show a dashed border around the entity card */
|
|
16
|
-
showBorder?: boolean;
|
|
17
|
-
/** Whether to hide the entity name label. Prefer hideLabel for new config. */
|
|
18
|
-
hideName?: boolean;
|
|
19
|
-
/** Whether to hide the entity label */
|
|
20
|
-
hideLabel?: boolean;
|
|
21
|
-
/** Controls whether the label is rendered above or below the value */
|
|
22
|
-
labelPosition?: EntityLabelPosition;
|
|
23
|
-
/** Legacy misspelled alias kept for compatibility */
|
|
24
|
-
labelPostion?: EntityLabelPosition;
|
|
25
|
-
}
|
|
26
|
-
interface EntityUserConfig extends EntityBaseConfig {
|
|
27
|
-
showDisplayName?: boolean;
|
|
28
|
-
showPhoneNumber?: boolean;
|
|
29
|
-
showEmail?: boolean;
|
|
30
|
-
}
|
|
31
|
-
interface EntityPercentageConfig extends EntityBaseConfig {
|
|
32
|
-
color?: string;
|
|
33
|
-
}
|
|
34
|
-
type EntityConfiguration = EntityBaseConfig | EntityUserConfig | EntityPercentageConfig;
|
|
35
|
-
interface EntityStatusValue {
|
|
36
|
-
key: string;
|
|
37
|
-
display: string;
|
|
38
|
-
color: string;
|
|
39
|
-
description?: string;
|
|
40
|
-
}
|
|
41
|
-
interface EntityLookupValue {
|
|
42
|
-
key: string;
|
|
43
|
-
display: string;
|
|
44
|
-
color: string;
|
|
45
|
-
description?: string;
|
|
46
|
-
}
|
|
47
|
-
interface EntityUserValue {
|
|
48
|
-
id?: string;
|
|
49
|
-
userName?: string;
|
|
50
|
-
name?: string;
|
|
51
|
-
displayName?: string;
|
|
52
|
-
photoUrl?: string;
|
|
53
|
-
phoneNumber?: string;
|
|
54
|
-
email?: string;
|
|
55
|
-
}
|
|
56
|
-
interface EntityAttachmentItemValue {
|
|
57
|
-
id?: string;
|
|
58
|
-
name?: string;
|
|
59
|
-
fileName?: string;
|
|
60
|
-
contentType?: string;
|
|
61
|
-
extension?: string;
|
|
62
|
-
size?: number;
|
|
63
|
-
}
|
|
64
|
-
type EntityAttachmentValue = Array<EntityAttachmentItemValue | string>;
|
|
65
|
-
interface EntityData {
|
|
66
|
-
id?: number;
|
|
67
|
-
propertyId?: number;
|
|
68
|
-
key?: string;
|
|
69
|
-
normalizedKey?: string;
|
|
70
|
-
name?: string;
|
|
71
|
-
rawValue?: string;
|
|
72
|
-
order?: number;
|
|
73
|
-
value: string | EntityStatusValue | EntityUserValue | EntityLookupValue | EntityAttachmentValue;
|
|
74
|
-
viewType: EntityViewType;
|
|
75
|
-
type?: string;
|
|
76
|
-
configuration?: EntityConfiguration;
|
|
77
|
-
}
|
|
78
|
-
/** Emitted when an entity is resized via the drag handle */
|
|
79
|
-
interface EntityResizeEvent {
|
|
80
|
-
entity: EntityData;
|
|
81
|
-
previousSize: EntitySize;
|
|
82
|
-
newSize: EntitySize;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
type EntityFieldGap = 'compact' | 'normal' | 'relaxed';
|
|
86
|
-
declare class EntityField {
|
|
87
|
-
readonly label: _angular_core.InputSignal<string>;
|
|
88
|
-
readonly configuration: _angular_core.InputSignal<EntityConfiguration | null | undefined>;
|
|
89
|
-
readonly gap: _angular_core.InputSignal<EntityFieldGap>;
|
|
90
|
-
readonly hideLabel: _angular_core.Signal<boolean>;
|
|
91
|
-
readonly labelPosition: _angular_core.Signal<_masterteam_components_entities.EntityLabelPosition>;
|
|
92
|
-
readonly containerClass: _angular_core.Signal<string>;
|
|
93
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityField, never>;
|
|
94
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityField, "mt-entity-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "configuration": { "alias": "configuration"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
declare class EntityText {
|
|
98
|
-
/** Full entity data object */
|
|
99
|
-
readonly data: _angular_core.InputSignal<EntityData | undefined>;
|
|
100
|
-
/** Individual inputs (used when data is not provided) */
|
|
101
|
-
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
102
|
-
readonly value: _angular_core.InputSignal<string | undefined>;
|
|
103
|
-
readonly displayName: _angular_core.Signal<string>;
|
|
104
|
-
readonly displayValue: _angular_core.Signal<string>;
|
|
105
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityText, never>;
|
|
106
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityText, "mt-entity-text", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
declare class EntityDate {
|
|
110
|
-
/** Full entity data object */
|
|
111
|
-
readonly data: _angular_core.InputSignal<EntityData | undefined>;
|
|
112
|
-
/** Individual inputs (used when data is not provided) */
|
|
113
|
-
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
114
|
-
readonly value: _angular_core.InputSignal<string | undefined>;
|
|
115
|
-
readonly displayName: _angular_core.Signal<string>;
|
|
116
|
-
readonly displayValue: _angular_core.Signal<string>;
|
|
117
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityDate, never>;
|
|
118
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityDate, "mt-entity-date", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
declare class EntityStatus {
|
|
122
|
-
/** Full entity data object */
|
|
123
|
-
readonly data: _angular_core.InputSignal<EntityData | undefined>;
|
|
124
|
-
/** Individual inputs (used when data is not provided) */
|
|
125
|
-
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
126
|
-
readonly value: _angular_core.InputSignal<EntityStatusValue | undefined>;
|
|
127
|
-
readonly displayName: _angular_core.Signal<string>;
|
|
128
|
-
readonly statusValue: _angular_core.Signal<EntityStatusValue | null>;
|
|
129
|
-
readonly badgeStyle: _angular_core.Signal<{
|
|
130
|
-
color?: undefined;
|
|
131
|
-
backgroundColor?: undefined;
|
|
132
|
-
} | {
|
|
133
|
-
color: string;
|
|
134
|
-
backgroundColor: string;
|
|
135
|
-
}>;
|
|
136
|
-
readonly emptyLabel = "_";
|
|
137
|
-
readonly statusLabel: _angular_core.Signal<string>;
|
|
138
|
-
private hexToRgba;
|
|
139
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityStatus, never>;
|
|
140
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityStatus, "mt-entity-status", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
declare class EntityUser {
|
|
144
|
-
readonly httpContext: HttpContext;
|
|
145
|
-
/** Full entity data object */
|
|
146
|
-
readonly data: _angular_core.InputSignal<EntityData | undefined>;
|
|
147
|
-
/** Resolved user value object from data().value */
|
|
148
|
-
private readonly userValue;
|
|
149
|
-
readonly rawUserName: _angular_core.Signal<string | null>;
|
|
150
|
-
readonly userName: _angular_core.Signal<string>;
|
|
151
|
-
readonly userPhoto: _angular_core.Signal<string>;
|
|
152
|
-
readonly labelText: _angular_core.Signal<string>;
|
|
153
|
-
private readonly config;
|
|
154
|
-
readonly showDisplayName: _angular_core.Signal<boolean>;
|
|
155
|
-
readonly showPhoneNumber: _angular_core.Signal<boolean>;
|
|
156
|
-
readonly showEmail: _angular_core.Signal<boolean>;
|
|
157
|
-
readonly phoneNumber: _angular_core.Signal<string>;
|
|
158
|
-
readonly email: _angular_core.Signal<string>;
|
|
159
|
-
readonly hasContactInfo: _angular_core.Signal<boolean>;
|
|
160
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityUser, never>;
|
|
161
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityUser, "mt-entity-user", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
declare class EntityPercentage {
|
|
165
|
-
/** Full entity data object */
|
|
166
|
-
readonly data: _angular_core.InputSignal<EntityData | undefined>;
|
|
167
|
-
/** Individual inputs (used when data is not provided) */
|
|
168
|
-
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
169
|
-
readonly value: _angular_core.InputSignal<string | undefined>;
|
|
170
|
-
readonly rawValue: _angular_core.InputSignal<string | undefined>;
|
|
171
|
-
readonly displayName: _angular_core.Signal<string>;
|
|
172
|
-
readonly displayValue: _angular_core.Signal<string>;
|
|
173
|
-
private readonly rawNumericValue;
|
|
174
|
-
readonly hasNumericValue: _angular_core.Signal<boolean>;
|
|
175
|
-
readonly numericValue: _angular_core.Signal<number>;
|
|
176
|
-
readonly maxValue: _angular_core.Signal<number>;
|
|
177
|
-
readonly hideName: _angular_core.Signal<boolean>;
|
|
178
|
-
readonly progressColor: _angular_core.Signal<string>;
|
|
179
|
-
private parseNumericValue;
|
|
180
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityPercentage, never>;
|
|
181
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityPercentage, "mt-entity-percentage", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "rawValue": { "alias": "rawValue"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
declare class EntityCurrency {
|
|
185
|
-
/** Full entity data object */
|
|
186
|
-
readonly data: _angular_core.InputSignal<EntityData | undefined>;
|
|
187
|
-
/** Individual inputs (used when data is not provided) */
|
|
188
|
-
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
189
|
-
readonly value: _angular_core.InputSignal<string | undefined>;
|
|
190
|
-
readonly displayName: _angular_core.Signal<string>;
|
|
191
|
-
readonly displayValue: _angular_core.Signal<string>;
|
|
192
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityCurrency, never>;
|
|
193
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityCurrency, "mt-entity-currency", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
declare class EntityCheckbox {
|
|
197
|
-
/** Full entity data object */
|
|
198
|
-
readonly data: _angular_core.InputSignal<EntityData | undefined>;
|
|
199
|
-
/** Individual inputs (used when data is not provided) */
|
|
200
|
-
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
201
|
-
readonly value: _angular_core.InputSignal<string | undefined>;
|
|
202
|
-
readonly rawValue: _angular_core.InputSignal<string | undefined>;
|
|
203
|
-
readonly displayName: _angular_core.Signal<string>;
|
|
204
|
-
readonly emptyLabel = "_";
|
|
205
|
-
readonly hideName: _angular_core.Signal<boolean>;
|
|
206
|
-
readonly checkboxState: _angular_core.Signal<boolean | null>;
|
|
207
|
-
private parseBoolean;
|
|
208
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityCheckbox, never>;
|
|
209
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityCheckbox, "mt-entity-checkbox", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "rawValue": { "alias": "rawValue"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
declare class EntityLongText {
|
|
213
|
-
/** Full entity data object */
|
|
214
|
-
readonly data: _angular_core.InputSignal<EntityData | undefined>;
|
|
215
|
-
/** Individual inputs (used when data is not provided) */
|
|
216
|
-
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
217
|
-
readonly value: _angular_core.InputSignal<string | undefined>;
|
|
218
|
-
readonly displayName: _angular_core.Signal<string>;
|
|
219
|
-
readonly displayValue: _angular_core.Signal<string>;
|
|
220
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityLongText, never>;
|
|
221
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityLongText, "mt-entity-long-text", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
declare class EntityLookup {
|
|
225
|
-
/** Full entity data object */
|
|
226
|
-
readonly data: _angular_core.InputSignal<EntityData | undefined>;
|
|
227
|
-
/** Individual inputs (used when data is not provided) */
|
|
228
|
-
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
229
|
-
readonly value: _angular_core.InputSignal<EntityLookupValue | undefined>;
|
|
230
|
-
readonly displayName: _angular_core.Signal<string>;
|
|
231
|
-
readonly lookupValue: _angular_core.Signal<EntityLookupValue | null>;
|
|
232
|
-
readonly badgeStyle: _angular_core.Signal<{
|
|
233
|
-
color?: undefined;
|
|
234
|
-
backgroundColor?: undefined;
|
|
235
|
-
} | {
|
|
236
|
-
color: string;
|
|
237
|
-
backgroundColor: string;
|
|
238
|
-
}>;
|
|
239
|
-
readonly emptyLabel = "_";
|
|
240
|
-
readonly lookupLabel: _angular_core.Signal<string>;
|
|
241
|
-
private hexToRgba;
|
|
242
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityLookup, never>;
|
|
243
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityLookup, "mt-entity-lookup", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
type AttachmentReference = EntityAttachmentItemValue | string;
|
|
247
|
-
declare class EntityAttachment {
|
|
248
|
-
readonly data: _angular_core.InputSignal<EntityData | undefined>;
|
|
249
|
-
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
250
|
-
readonly shape: _angular_core.InputSignal<"compact" | "default">;
|
|
251
|
-
readonly value: _angular_core.InputSignal<string | EntityAttachmentItemValue | EntityAttachmentValue | null | undefined>;
|
|
252
|
-
readonly endPoint: _angular_core.InputSignal<string>;
|
|
253
|
-
readonly context: _angular_core.InputSignal<HttpContext | undefined>;
|
|
254
|
-
private readonly httpClient;
|
|
255
|
-
readonly displayName: _angular_core.Signal<string>;
|
|
256
|
-
readonly loading: _angular_core.WritableSignal<boolean>;
|
|
257
|
-
readonly attachments: _angular_core.WritableSignal<EntityAttachmentItemValue[]>;
|
|
258
|
-
readonly attachmentReferences: _angular_core.Signal<AttachmentReference[]>;
|
|
259
|
-
readonly uploadValue: _angular_core.Signal<string | EntityAttachmentItemValue | (string | EntityAttachmentItemValue)[] | null>;
|
|
260
|
-
readonly hasAttachments: _angular_core.Signal<boolean>;
|
|
261
|
-
readonly isMultiple: _angular_core.Signal<boolean>;
|
|
262
|
-
protected readonly empty = "-";
|
|
263
|
-
constructor();
|
|
264
|
-
attachmentTrackBy(index: number, attachment: EntityAttachmentItemValue): string;
|
|
265
|
-
attachmentTooltip(attachment: EntityAttachmentItemValue): string;
|
|
266
|
-
attachmentIcon(attachment: EntityAttachmentItemValue): MTIcon;
|
|
267
|
-
onCompactAttachmentClick(event: MouseEvent, attachment: EntityAttachmentItemValue): void;
|
|
268
|
-
downloadAttachment(attachment: EntityAttachmentItemValue): void;
|
|
269
|
-
private resolveAttachment$;
|
|
270
|
-
private normalizeAttachmentValue;
|
|
271
|
-
private normalizeAttachmentItem;
|
|
272
|
-
private requiresMetadataRequest;
|
|
273
|
-
private isAttachmentItemValue;
|
|
274
|
-
private resolveExtension;
|
|
275
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityAttachment, never>;
|
|
276
|
-
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>;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
declare class EntityPreview {
|
|
280
|
-
/** Single entity data to display */
|
|
281
|
-
readonly data: _angular_core.InputSignal<EntityData>;
|
|
282
|
-
readonly attachmentShape: _angular_core.InputSignal<"compact" | "default">;
|
|
283
|
-
readonly previewType: _angular_core.Signal<"Text" | "LongText" | "Date" | "DateTime" | "Percentage" | "Status" | "Currency" | "Checkbox" | "User" | "Lookup" | "Attachment">;
|
|
284
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityPreview, never>;
|
|
285
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityPreview, "mt-entity-preview", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "attachmentShape": { "alias": "attachmentShape"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
declare class EntitiesPreview {
|
|
289
|
-
/** Array of entity data to display */
|
|
290
|
-
readonly entities: _angular_core.InputSignal<EntityData[]>;
|
|
291
|
-
readonly attachmentShape: _angular_core.InputSignal<"compact" | "default">;
|
|
292
|
-
/** Entities sorted by order */
|
|
293
|
-
readonly sortedEntities: _angular_core.Signal<EntityData[]>;
|
|
294
|
-
/** Returns the grid-column span for a given entity size (1-24) */
|
|
295
|
-
getColSpan(entity: EntityData): string;
|
|
296
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntitiesPreview, never>;
|
|
297
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntitiesPreview, "mt-entities-preview", never, { "entities": { "alias": "entities"; "required": true; "isSignal": true; }; "attachmentShape": { "alias": "attachmentShape"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
/**
|
|
301
|
-
* Base class that encapsulates all entity resize-via-drag logic.
|
|
302
|
-
*
|
|
303
|
-
* Extend this directive in any component that needs column-resize behaviour
|
|
304
|
-
* on a 24-column CSS grid. The subclass must:
|
|
305
|
-
* - Provide a `model.required<EntityData[]>()` (or equivalent) for the
|
|
306
|
-
* entity list so `updateEntitySize()` can be called after resize.
|
|
307
|
-
* - Contain a `.grid` element (or override `getGridElement()`).
|
|
308
|
-
*
|
|
309
|
-
* Resize flow:
|
|
310
|
-
* 1. `onResizeStart(event, entity)` — called from a mousedown on the handle
|
|
311
|
-
* 2. mousemove → snaps to nearest column, updates `resizePreviewSize`
|
|
312
|
-
* 3. mouseup → emits `entityResized` with previous & new size
|
|
313
|
-
*/
|
|
314
|
-
declare abstract class EntitiesResizeBase {
|
|
315
|
-
protected readonly elRef: ElementRef<any>;
|
|
316
|
-
protected readonly zone: NgZone;
|
|
317
|
-
protected readonly doc: Document;
|
|
318
|
-
/** Emits when an entity is resized via the drag handle */
|
|
319
|
-
readonly entityResized: _angular_core.OutputEmitterRef<EntityResizeEvent>;
|
|
320
|
-
/** The entity currently being resized (null when idle) */
|
|
321
|
-
readonly resizingEntity: _angular_core.WritableSignal<EntityData | null>;
|
|
322
|
-
/** Live preview size while dragging */
|
|
323
|
-
readonly resizePreviewSize: _angular_core.WritableSignal<EntitySize | null>;
|
|
324
|
-
/** Bound listeners kept for cleanup */
|
|
325
|
-
private _onMouseMove;
|
|
326
|
-
private _onMouseUp;
|
|
327
|
-
/**
|
|
328
|
-
* Returns the grid element used to compute column widths.
|
|
329
|
-
* Override if the grid selector differs.
|
|
330
|
-
*/
|
|
331
|
-
protected getGridElement(): HTMLElement | null;
|
|
332
|
-
/**
|
|
333
|
-
* Returns the grid-column span string for a given entity.
|
|
334
|
-
* While resizing the active entity, returns the preview size.
|
|
335
|
-
*/
|
|
336
|
-
getResizeColSpan(entity: EntityData): string;
|
|
337
|
-
/** Starts a resize operation from the right-edge handle */
|
|
338
|
-
onResizeStart(event: MouseEvent, entity: EntityData): void;
|
|
339
|
-
/**
|
|
340
|
-
* Called when a resize operation completes with a changed size.
|
|
341
|
-
* Subclasses should update the entity list and emit events here.
|
|
342
|
-
*/
|
|
343
|
-
protected abstract onResizeComplete(entity: EntityData, previousSize: EntitySize, newSize: EntitySize): void;
|
|
344
|
-
/** Removes global mouse listeners */
|
|
345
|
-
private _cleanupListeners;
|
|
346
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntitiesResizeBase, never>;
|
|
347
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<EntitiesResizeBase, never, never, {}, { "entityResized": "entityResized"; }, never, never, true, never>;
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
declare class EntitiesManage extends EntitiesResizeBase {
|
|
351
|
-
/** Array of entity data – supports two-way binding to keep order in sync */
|
|
352
|
-
readonly entities: _angular_core.ModelSignal<EntityData[]>;
|
|
353
|
-
/** Emits the reordered entities array after each drag-drop */
|
|
354
|
-
readonly entitiesReordered: _angular_core.OutputEmitterRef<EntityData[]>;
|
|
355
|
-
/** Entities sorted by their order field */
|
|
356
|
-
readonly sortedEntities: _angular_core.Signal<EntityData[]>;
|
|
357
|
-
/** Returns the grid-column span for a given entity size (1-24) */
|
|
358
|
-
getColSpan(entity: EntityData): string;
|
|
359
|
-
/** Handle drag-drop reorder */
|
|
360
|
-
onDrop(event: CdkDragDrop<EntityData[]>): void;
|
|
361
|
-
protected onResizeComplete(entity: EntityData, previousSize: EntitySize, newSize: EntitySize): void;
|
|
362
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntitiesManage, never>;
|
|
363
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntitiesManage, "mt-entities-manage", never, { "entities": { "alias": "entities"; "required": true; "isSignal": true; }; }, { "entities": "entitiesChange"; "entitiesReordered": "entitiesReordered"; }, never, never, true, never>;
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
export { EntitiesManage, EntitiesPreview, EntitiesResizeBase, EntityAttachment, EntityCheckbox, EntityCurrency, EntityDate, EntityField, EntityLongText, EntityLookup, EntityPercentage, EntityPreview, EntityStatus, EntityText, EntityUser };
|
|
367
|
-
export type { EntityAttachmentItemValue, EntityAttachmentValue, EntityBaseConfig, EntityConfiguration, EntityData, EntityLabelPosition, EntityLookupValue, EntityPercentageConfig, EntityResizeEvent, EntitySize, EntityStatusValue, EntityUserConfig, EntityUserValue, EntityViewType };
|