awing-library 2.1.2-dev.67 → 2.1.2-dev.69
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/esm/AWING/TableEditableCollapsible/Container.d.ts +2 -0
- package/dist/esm/AWING/TableEditableCollapsible/components/TableCellEditable.d.ts +2 -0
- package/dist/esm/AWING/TableEditableCollapsible/components/TableEditableBody.d.ts +2 -0
- package/dist/esm/AWING/TableEditableCollapsible/components/TableHeader.d.ts +2 -0
- package/dist/esm/AWING/TableEditableCollapsible/components/TableRowEditable.d.ts +2 -0
- package/dist/esm/AWING/TableEditableCollapsible/components/TopBarActions.d.ts +2 -0
- package/dist/esm/AWING/TableEditableCollapsible/index.d.ts +6 -0
- package/dist/esm/AWING/TableEditableCollapsible/interface.d.ts +96 -0
- package/dist/esm/AWING/index.d.ts +4 -0
- package/dist/esm/index.js +767 -18
- package/dist/index.d.ts +85 -1
- package/package.json +1 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default } from './Container';
|
|
2
|
+
export { default as TableEditableCollapsibleTableHeader } from './components/TableHeader';
|
|
3
|
+
export { default as TableEditableCollapsibleBody } from './components/TableEditableBody';
|
|
4
|
+
export { default as TableEditableCollapsibleCell } from './components/TableCellEditable';
|
|
5
|
+
export { default as TableEditableCollapsibleTopBarActions } from './components/TopBarActions';
|
|
6
|
+
export * from './interface';
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { TableCellProps } from '@mui/material/TableCell';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import type { SelectionActionDefinition } from '../DataGrid/interface';
|
|
4
|
+
import { FieldDefinitionProps } from 'AWING/DataInput/interfaces';
|
|
5
|
+
export type CellDefinition<T extends object> = FieldDefinitionProps<T> & {
|
|
6
|
+
TableCellProps?: TableCellProps;
|
|
7
|
+
isTooltip?: boolean;
|
|
8
|
+
row?: Partial<T>;
|
|
9
|
+
getTitleTooltip?: (value: T[keyof T]) => NonNullable<ReactNode>;
|
|
10
|
+
};
|
|
11
|
+
export interface ColumnDefinition<T extends object> {
|
|
12
|
+
headerName: ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Độ rộng của cột
|
|
15
|
+
*/
|
|
16
|
+
width?: string | number;
|
|
17
|
+
TableCellProps?: TableCellProps;
|
|
18
|
+
editFieldDefinition?: CellDefinition<T>;
|
|
19
|
+
isRowGroup?: boolean;
|
|
20
|
+
contentGetter?: (obj: T, idx?: number) => ReactNode;
|
|
21
|
+
fieldName?: string;
|
|
22
|
+
isTooltip?: boolean;
|
|
23
|
+
getTitleTooltip?: (value: T[keyof T]) => NonNullable<ReactNode>;
|
|
24
|
+
}
|
|
25
|
+
export type TableEditableProps<T> = {
|
|
26
|
+
columnDefinitions: Array<ColumnDefinition<Partial<T>>>;
|
|
27
|
+
fieldDefinitions: Array<ColumnDefinition<Partial<T>>>;
|
|
28
|
+
items: Array<Partial<T>>;
|
|
29
|
+
onChange(newData: Array<Partial<T>>, dataValid: boolean, fieldName?: keyof T): void;
|
|
30
|
+
getRowId?(obj: Partial<T>): number;
|
|
31
|
+
selected?: number[];
|
|
32
|
+
onSelectedChange?(ids: number[]): void;
|
|
33
|
+
hideHeader?: boolean;
|
|
34
|
+
onAddNew?(): void;
|
|
35
|
+
includeDelete?: boolean;
|
|
36
|
+
spanningRows?: ReactNode[];
|
|
37
|
+
selectionActions?: SelectionActionDefinition[];
|
|
38
|
+
mergeRowsBy?: string;
|
|
39
|
+
observation?: {
|
|
40
|
+
objObserve: Array<keyof T>;
|
|
41
|
+
callback: (fieldName?: keyof T, columnValue?: unknown, index?: number) => void;
|
|
42
|
+
}[];
|
|
43
|
+
};
|
|
44
|
+
export interface TopBarActionsProps {
|
|
45
|
+
selected: number[];
|
|
46
|
+
selectionActions?: SelectionActionDefinition[];
|
|
47
|
+
}
|
|
48
|
+
export interface TableHeaderProps<T> {
|
|
49
|
+
selected?: number[];
|
|
50
|
+
onSelectedChange?: (selected: number[]) => void;
|
|
51
|
+
numOfRows: number;
|
|
52
|
+
onSelectAll: () => void;
|
|
53
|
+
includeDelete?: boolean;
|
|
54
|
+
columnDefinitions: Array<ColumnDefinition<Partial<T>>>;
|
|
55
|
+
}
|
|
56
|
+
export interface TableEditableBodyProps<T> {
|
|
57
|
+
items: Array<Partial<T>>;
|
|
58
|
+
getId: (item: Partial<T>) => string | number | undefined;
|
|
59
|
+
selected?: number[];
|
|
60
|
+
onSelectedChange?: (selected: number[]) => void;
|
|
61
|
+
onSelect: (id: number) => void;
|
|
62
|
+
columnDefinitions: Array<ColumnDefinition<Partial<T>>>;
|
|
63
|
+
fieldDefinitions?: Array<ColumnDefinition<Partial<T>>>;
|
|
64
|
+
dataValidation: Partial<{
|
|
65
|
+
[K in keyof T]: boolean;
|
|
66
|
+
}>[];
|
|
67
|
+
includeDelete?: boolean;
|
|
68
|
+
spanningRows?: ReactNode[];
|
|
69
|
+
onChange: (indexes: number[], fieldName: keyof T, newValue: T[keyof T], valid: boolean) => void;
|
|
70
|
+
onDelete: (rowIdx: number) => void;
|
|
71
|
+
mergeRowsBy?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface TableRowEditableProps<T> {
|
|
74
|
+
id: string | number;
|
|
75
|
+
rowIdx: number;
|
|
76
|
+
selected?: number[];
|
|
77
|
+
onSelectedChange?: (selected: number[]) => void;
|
|
78
|
+
onSelect: (id: number) => void;
|
|
79
|
+
columnDefinitions: Array<ColumnDefinition<Partial<T>>>;
|
|
80
|
+
fieldDefinitions?: Array<ColumnDefinition<Partial<T>>>;
|
|
81
|
+
mergeRowsBy?: string;
|
|
82
|
+
convertItems: Partial<T>[];
|
|
83
|
+
row: Partial<T>;
|
|
84
|
+
itemIndex: number;
|
|
85
|
+
includeDelete?: boolean;
|
|
86
|
+
dataValidation: Partial<{
|
|
87
|
+
[K in keyof T]: boolean;
|
|
88
|
+
}>[];
|
|
89
|
+
onChange: (indexes: number[], fieldName: keyof T, newValue: T[keyof T], valid: boolean) => void;
|
|
90
|
+
onDelete: (rowIdx: number) => void;
|
|
91
|
+
}
|
|
92
|
+
export interface TableCellEditableProps<T extends object> {
|
|
93
|
+
cellDefinition: CellDefinition<T>;
|
|
94
|
+
isContainer?: boolean;
|
|
95
|
+
numOfRowSpan?: number;
|
|
96
|
+
}
|
|
@@ -149,3 +149,7 @@ export { default as Statistics, TYPE_CHART } from './Statistics';
|
|
|
149
149
|
export type { CellDefinition, ColumnDefinition, TableCellEditableProps, TableEditableBodyProps, TableEditableProps, TableHeaderProps, TopBarActionsProps, } from './TableEditable';
|
|
150
150
|
export { default as TableEditable, TableCellEditable, TableEditableBody, TableHeader, TopBarActions, } from './TableEditable';
|
|
151
151
|
/*****/
|
|
152
|
+
/*****/
|
|
153
|
+
export type { CellDefinition as TableEditableCollapsibleCellDefinition, ColumnDefinition as TableEditableCollapsibleColumnDefinition, TableCellEditableProps as TableEditableCollapsibleTableCellEditableProps, TableEditableBodyProps as TableEditableCollapsibleTableEditableBodyProps, TableEditableProps as TableEditableCollapsibleTableEditableProps, TableHeaderProps as TableEditableCollapsibleTableHeaderProps, TopBarActionsProps as TableEditableCollapsibleTopBarActionsProps, } from './TableEditable';
|
|
154
|
+
export { default as TableEditableCollapsible, TableEditableCollapsibleCell, TableEditableCollapsibleBody, TableEditableCollapsibleTableHeader, TableEditableCollapsibleTopBarActions, } from './TableEditableCollapsible';
|
|
155
|
+
/*****/
|
package/dist/esm/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { initReactI18next, useTranslation, Trans, I18nextProvider } from 'react-
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import React__default, { useState, useRef, useEffect, Fragment, Children, isValidElement, cloneElement, useMemo, createElement, forwardRef, useLayoutEffect, useCallback, createContext as createContext$1, memo, useReducer, useContext, PureComponent, createRef } from 'react';
|
|
5
5
|
import { MoreVert, KeyboardArrowDown, Done as Done$1, FolderOpen, ArrowDropDown, ArrowDropUp, CheckBoxOutlineBlank, CheckBox, ExpandMore, ExpandLess, KeyboardArrowUp, DragIndicator, PinDrop, LastPage, FirstPage, KeyboardArrowRight, KeyboardArrowLeft, UnfoldMore, North, South, HighlightOff, CalendarTodaySharp, FileCopyOutlined, Close, Save, Check, ArrowRightAlt as ArrowRightAlt$1, CallSplit, ManageAccounts, People, Person, Info, ChevronRight as ChevronRight$1, Clear, AddCircleOutline, Search, MoreHoriz, CreateNewFolderOutlined, Delete, PlaylistAddCheck, FormatListNumbered, Add, MoreHorizOutlined, DisplaySettings, VisibilityOff, Visibility, ManageSearch, Notifications as Notifications$6, Science, Settings, AddBox, Edit as Edit$2, InsertDriveFile, SignalCellularAlt, Logout, ArrowRight, ChevronLeft as ChevronLeft$1 } from '@mui/icons-material';
|
|
6
|
-
import { Tooltip as Tooltip$2, IconButton as IconButton$1, Menu as Menu$2, MenuItem as MenuItem$1, Button as Button$1, TextField as TextField$1, Grid as Grid$1, FormControl as FormControl$1, Select as Select$1, Box as Box$1, alpha as alpha$2, Typography as Typography$1, Paper as Paper$1, List as List$1, ListItem as ListItem$1, ListItemButton, ListItemText, Divider, Popover as Popover$1, Popper as Popper$2, Grow as Grow$1, ClickAwayListener, Autocomplete as Autocomplete$2, InputBase as InputBase$1, Stack, ButtonBase as ButtonBase$1, Collapse as Collapse$1, Chip as Chip$1, CircularProgress as CircularProgress$2, FormControlLabel, Checkbox as Checkbox$1, RadioGroup, Radio, InputLabel as InputLabel$1, ListSubheader as ListSubheader$1, FormLabel as FormLabel$1, TablePagination, TableRow, TableContainer, Table, TableHead, TableCell, TableSortLabel, TableBody, InputAdornment as InputAdornment$1, Drawer as Drawer$1, Dialog as Dialog$3, DialogTitle, DialogContent as DialogContent$1, DialogContentText, DialogActions as DialogActions$1, Tabs, Tab, Snackbar, Alert, Toolbar, Switch, tooltipClasses as tooltipClasses$1, Avatar, Skeleton, Badge, Stepper, Step, StepLabel, StepContent, Card, CardHeader, CardContent, NoSsr, ListItemIcon,
|
|
6
|
+
import { Tooltip as Tooltip$2, IconButton as IconButton$1, Menu as Menu$2, MenuItem as MenuItem$1, Button as Button$1, TextField as TextField$1, Grid as Grid$1, FormControl as FormControl$1, Select as Select$1, Box as Box$1, alpha as alpha$2, Typography as Typography$1, Paper as Paper$1, List as List$1, ListItem as ListItem$1, ListItemButton, ListItemText, Divider, Popover as Popover$1, Popper as Popper$2, Grow as Grow$1, ClickAwayListener, Autocomplete as Autocomplete$2, InputBase as InputBase$1, Stack, ButtonBase as ButtonBase$1, Collapse as Collapse$1, Chip as Chip$1, CircularProgress as CircularProgress$2, FormControlLabel, Checkbox as Checkbox$1, RadioGroup, Radio, InputLabel as InputLabel$1, ListSubheader as ListSubheader$1, FormLabel as FormLabel$1, TablePagination, TableRow, TableContainer, Table, TableHead, TableCell, TableSortLabel, TableBody, InputAdornment as InputAdornment$1, Drawer as Drawer$1, Dialog as Dialog$3, DialogTitle, DialogContent as DialogContent$1, DialogContentText, DialogActions as DialogActions$1, Tabs, Tab, Snackbar, Alert, Toolbar, Switch, tooltipClasses as tooltipClasses$1, styled as styled$4, Avatar, Skeleton, Badge, Stepper, Step, StepLabel, StepContent, Card, CardHeader, CardContent, NoSsr, ListItemIcon, AppBar, Container as Container$o, Icon, CssBaseline } from '@mui/material';
|
|
7
7
|
import styled$3 from '@emotion/styled';
|
|
8
8
|
import { CacheProvider, Global, ThemeContext as ThemeContext$2, keyframes, css } from '@emotion/react';
|
|
9
9
|
import { makeStyles } from '@mui/styles';
|
|
@@ -166516,7 +166516,7 @@ const getCellWidth = id => {
|
|
|
166516
166516
|
return '10%';
|
|
166517
166517
|
}
|
|
166518
166518
|
};
|
|
166519
|
-
const TableHeader$
|
|
166519
|
+
const TableHeader$2 = props => {
|
|
166520
166520
|
const {
|
|
166521
166521
|
headCells
|
|
166522
166522
|
} = props;
|
|
@@ -166570,7 +166570,7 @@ const PermissionManagement = props => {
|
|
|
166570
166570
|
border: BORDER_LIGHTGRAY$1,
|
|
166571
166571
|
borderRadius: '0px 0px 4px 4px'
|
|
166572
166572
|
}),
|
|
166573
|
-
children: [jsxRuntimeExports.jsx(TableHeader$
|
|
166573
|
+
children: [jsxRuntimeExports.jsx(TableHeader$2, {
|
|
166574
166574
|
headCells: headCells
|
|
166575
166575
|
}), jsxRuntimeExports.jsx(TableBody, {
|
|
166576
166576
|
children: isLoading ? jsxRuntimeExports.jsx(TableRow, {
|
|
@@ -169039,7 +169039,7 @@ function PermissionTable(props) {
|
|
|
169039
169039
|
sx: {
|
|
169040
169040
|
minWidth: '900px'
|
|
169041
169041
|
},
|
|
169042
|
-
children: [jsxRuntimeExports.jsx(TableHeader$
|
|
169042
|
+
children: [jsxRuntimeExports.jsx(TableHeader$2, {
|
|
169043
169043
|
headCells: headCells
|
|
169044
169044
|
}), jsxRuntimeExports.jsx(TableBody, {
|
|
169045
169045
|
children: explicitPermissions.map((item, idx) => {
|
|
@@ -177066,7 +177066,7 @@ process.env.NODE_ENV !== "production" ? Tooltip.propTypes /* remove-proptypes */
|
|
|
177066
177066
|
TransitionProps: PropTypes.object
|
|
177067
177067
|
} : void 0;
|
|
177068
177068
|
|
|
177069
|
-
const StyleTooltip$
|
|
177069
|
+
const StyleTooltip$3 = styled(_a => {
|
|
177070
177070
|
var {
|
|
177071
177071
|
className
|
|
177072
177072
|
} = _a,
|
|
@@ -177088,7 +177088,7 @@ const StyleTooltip$1 = styled(_a => {
|
|
|
177088
177088
|
boxShadow: '0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%)'
|
|
177089
177089
|
}
|
|
177090
177090
|
}));
|
|
177091
|
-
function TableCellEditable(props) {
|
|
177091
|
+
function TableCellEditable$1(props) {
|
|
177092
177092
|
const {
|
|
177093
177093
|
cellDefinition,
|
|
177094
177094
|
numOfRowSpan
|
|
@@ -177122,7 +177122,7 @@ function TableCellEditable(props) {
|
|
|
177122
177122
|
},
|
|
177123
177123
|
rowSpan: numOfRowSpan
|
|
177124
177124
|
}, TableCellProps, {
|
|
177125
|
-
children: isTooltip ? jsxRuntimeExports.jsx(StyleTooltip$
|
|
177125
|
+
children: isTooltip ? jsxRuntimeExports.jsx(StyleTooltip$3, {
|
|
177126
177126
|
title: getTitleTooltip && getTitleTooltip(value) || '',
|
|
177127
177127
|
placement: "top-start",
|
|
177128
177128
|
children: jsxRuntimeExports.jsx("div", {
|
|
@@ -177132,7 +177132,7 @@ function TableCellEditable(props) {
|
|
|
177132
177132
|
}));
|
|
177133
177133
|
}
|
|
177134
177134
|
|
|
177135
|
-
const StyleTooltip = styled(_a => {
|
|
177135
|
+
const StyleTooltip$2 = styled(_a => {
|
|
177136
177136
|
var {
|
|
177137
177137
|
className
|
|
177138
177138
|
} = _a,
|
|
@@ -177154,7 +177154,7 @@ const StyleTooltip = styled(_a => {
|
|
|
177154
177154
|
boxShadow: '0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%)'
|
|
177155
177155
|
}
|
|
177156
177156
|
}));
|
|
177157
|
-
function TableEditableBody(props) {
|
|
177157
|
+
function TableEditableBody$1(props) {
|
|
177158
177158
|
const {
|
|
177159
177159
|
items,
|
|
177160
177160
|
getId,
|
|
@@ -177217,7 +177217,7 @@ function TableEditableBody(props) {
|
|
|
177217
177217
|
}
|
|
177218
177218
|
}, colDef.TableCellProps, {
|
|
177219
177219
|
rowSpan: numOfRowSpan,
|
|
177220
|
-
children: colDef.isTooltip ? jsxRuntimeExports.jsx(StyleTooltip, {
|
|
177220
|
+
children: colDef.isTooltip ? jsxRuntimeExports.jsx(StyleTooltip$2, {
|
|
177221
177221
|
title: colDef.getTitleTooltip && colDef.getTitleTooltip(content) || '',
|
|
177222
177222
|
placement: "top-start",
|
|
177223
177223
|
children: jsxRuntimeExports.jsx("div", {
|
|
@@ -177235,7 +177235,7 @@ function TableEditableBody(props) {
|
|
|
177235
177235
|
const isDisplay = isMergeColumn ? index == 0 || convertItems[index - 1][fieldName] !== row[fieldName] : true;
|
|
177236
177236
|
const numOfRowSpan = isMergeColumn ? convertItems.filter(c => c[fieldName] === row[fieldName]).length : 1;
|
|
177237
177237
|
const error = ((_c = dataValidation === null || dataValidation === void 0 ? void 0 : dataValidation[rowIdx]) === null || _c === void 0 ? void 0 : _c[fieldName]) !== undefined && !((_d = dataValidation === null || dataValidation === void 0 ? void 0 : dataValidation[rowIdx]) === null || _d === void 0 ? void 0 : _d[fieldName]);
|
|
177238
|
-
return isDisplay && jsxRuntimeExports.jsx(TableCellEditable, {
|
|
177238
|
+
return isDisplay && jsxRuntimeExports.jsx(TableCellEditable$1, {
|
|
177239
177239
|
cellDefinition: Object.assign(Object.assign({}, colDef.editFieldDefinition), {
|
|
177240
177240
|
row,
|
|
177241
177241
|
TableCellProps: colDef.TableCellProps,
|
|
@@ -177278,7 +177278,7 @@ function TableEditableBody(props) {
|
|
|
177278
177278
|
});
|
|
177279
177279
|
}
|
|
177280
177280
|
|
|
177281
|
-
function TableHeader(props) {
|
|
177281
|
+
function TableHeader$1(props) {
|
|
177282
177282
|
const {
|
|
177283
177283
|
selected,
|
|
177284
177284
|
onSelectedChange,
|
|
@@ -177331,7 +177331,7 @@ function TableHeader(props) {
|
|
|
177331
177331
|
});
|
|
177332
177332
|
}
|
|
177333
177333
|
|
|
177334
|
-
function TopBarActions(props) {
|
|
177334
|
+
function TopBarActions$1(props) {
|
|
177335
177335
|
const {
|
|
177336
177336
|
t
|
|
177337
177337
|
} = useTranslation();
|
|
@@ -177382,7 +177382,7 @@ function TopBarActions(props) {
|
|
|
177382
177382
|
});
|
|
177383
177383
|
}
|
|
177384
177384
|
|
|
177385
|
-
function TableEditable(props) {
|
|
177385
|
+
function TableEditable$1(props) {
|
|
177386
177386
|
const {
|
|
177387
177387
|
t
|
|
177388
177388
|
} = useTranslation();
|
|
@@ -177560,6 +177560,757 @@ function TableEditable(props) {
|
|
|
177560
177560
|
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
177561
177561
|
children: [jsxRuntimeExports.jsxs(TableContainer, {
|
|
177562
177562
|
component: Paper$1,
|
|
177563
|
+
children: [selected && onSelectedChange && selected.length > 0 && selectionActions && jsxRuntimeExports.jsx(TopBarActions$1, {
|
|
177564
|
+
selected: selected,
|
|
177565
|
+
selectionActions: selectionActions
|
|
177566
|
+
}), jsxRuntimeExports.jsxs(Table, {
|
|
177567
|
+
"aria-label": "table editable",
|
|
177568
|
+
children: [!hideHeader && jsxRuntimeExports.jsx(TableHeader$1, {
|
|
177569
|
+
selected: selected,
|
|
177570
|
+
onSelectedChange: onSelectedChange,
|
|
177571
|
+
numOfRows: items.length,
|
|
177572
|
+
onSelectAll: handleSelectAll,
|
|
177573
|
+
includeDelete: includeDelete,
|
|
177574
|
+
columnDefinitions: columnDefinitions
|
|
177575
|
+
}), jsxRuntimeExports.jsx(TableEditableBody$1, {
|
|
177576
|
+
items: items,
|
|
177577
|
+
getId: getId,
|
|
177578
|
+
selected: selected,
|
|
177579
|
+
onSelectedChange: onSelectedChange,
|
|
177580
|
+
onSelect: handleSelect,
|
|
177581
|
+
columnDefinitions: columnDefinitions,
|
|
177582
|
+
dataValidation: dataValidation,
|
|
177583
|
+
includeDelete: includeDelete,
|
|
177584
|
+
spanningRows: spanningRows,
|
|
177585
|
+
onChange: handleChange,
|
|
177586
|
+
onDelete: handleDelete,
|
|
177587
|
+
mergeRowsBy: mergeRowsBy
|
|
177588
|
+
})]
|
|
177589
|
+
})]
|
|
177590
|
+
}), onAddNew && jsxRuntimeExports.jsx(Button$1, {
|
|
177591
|
+
variant: "outlined",
|
|
177592
|
+
startIcon: jsxRuntimeExports.jsx(Add, {}),
|
|
177593
|
+
sx: {
|
|
177594
|
+
mt: 2
|
|
177595
|
+
},
|
|
177596
|
+
onClick: () => onAddNew(),
|
|
177597
|
+
children: t('Common.Create')
|
|
177598
|
+
})]
|
|
177599
|
+
});
|
|
177600
|
+
}
|
|
177601
|
+
|
|
177602
|
+
const StyleTooltip$1 = styled(_a => {
|
|
177603
|
+
var {
|
|
177604
|
+
className
|
|
177605
|
+
} = _a,
|
|
177606
|
+
props = __rest$1(_a, ["className"]);
|
|
177607
|
+
return jsxRuntimeExports.jsx(Tooltip, Object.assign({}, props, {
|
|
177608
|
+
arrow: true,
|
|
177609
|
+
classes: {
|
|
177610
|
+
popper: className
|
|
177611
|
+
}
|
|
177612
|
+
}));
|
|
177613
|
+
})(() => ({
|
|
177614
|
+
["& .".concat(tooltipClasses.arrow)]: {
|
|
177615
|
+
color: '#bbbbbb',
|
|
177616
|
+
maxWidth: 450
|
|
177617
|
+
},
|
|
177618
|
+
["& .".concat(tooltipClasses.tooltip)]: {
|
|
177619
|
+
backgroundColor: '#f5f5f5',
|
|
177620
|
+
maxWidth: 900,
|
|
177621
|
+
boxShadow: '0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%)'
|
|
177622
|
+
}
|
|
177623
|
+
}));
|
|
177624
|
+
function TableCellEditable(props) {
|
|
177625
|
+
const {
|
|
177626
|
+
isContainer,
|
|
177627
|
+
cellDefinition,
|
|
177628
|
+
numOfRowSpan
|
|
177629
|
+
} = props;
|
|
177630
|
+
const {
|
|
177631
|
+
TableCellProps,
|
|
177632
|
+
isTooltip,
|
|
177633
|
+
getTitleTooltip,
|
|
177634
|
+
value,
|
|
177635
|
+
error
|
|
177636
|
+
} = cellDefinition;
|
|
177637
|
+
const renderDataInput = () => {
|
|
177638
|
+
var _a;
|
|
177639
|
+
const inputProps = Object.assign(Object.assign(Object.assign({}, ![FIELD_TYPE.ASYNC_AUTOCOMPLETE, FIELD_TYPE.AUTOCOMPLETE].includes(cellDefinition === null || cellDefinition === void 0 ? void 0 : cellDefinition.type) ? {
|
|
177640
|
+
InputProps: {
|
|
177641
|
+
disableUnderline: true,
|
|
177642
|
+
style: {
|
|
177643
|
+
textAlign: ((_a = cellDefinition === null || cellDefinition === void 0 ? void 0 : cellDefinition.TableCellProps) === null || _a === void 0 ? void 0 : _a.align) == 'right' ? 'end' : undefined,
|
|
177644
|
+
padding: '0px 8px'
|
|
177645
|
+
}
|
|
177646
|
+
}
|
|
177647
|
+
} : {}), cellDefinition), {
|
|
177648
|
+
disableHelperText: true
|
|
177649
|
+
});
|
|
177650
|
+
return jsxRuntimeExports.jsx(InputFactory, Object.assign({}, inputProps));
|
|
177651
|
+
};
|
|
177652
|
+
return isContainer ? jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {
|
|
177653
|
+
children: isTooltip ? jsxRuntimeExports.jsx(StyleTooltip$1, {
|
|
177654
|
+
title: getTitleTooltip && getTitleTooltip(value) || '',
|
|
177655
|
+
placement: "top-start",
|
|
177656
|
+
children: jsxRuntimeExports.jsx(Stack, {
|
|
177657
|
+
children: renderDataInput()
|
|
177658
|
+
})
|
|
177659
|
+
}) : renderDataInput()
|
|
177660
|
+
}) : jsxRuntimeExports.jsx(TableCell, Object.assign({
|
|
177661
|
+
sx: {
|
|
177662
|
+
p: 1,
|
|
177663
|
+
border: error ? '2px solid #ED1D25' : '1px solid rgb(224, 224, 224)'
|
|
177664
|
+
},
|
|
177665
|
+
rowSpan: numOfRowSpan
|
|
177666
|
+
}, TableCellProps, {
|
|
177667
|
+
children: isTooltip ? jsxRuntimeExports.jsx(StyleTooltip$1, {
|
|
177668
|
+
title: getTitleTooltip && getTitleTooltip(value) || '',
|
|
177669
|
+
placement: "top-start",
|
|
177670
|
+
children: jsxRuntimeExports.jsx(Stack, {
|
|
177671
|
+
children: renderDataInput()
|
|
177672
|
+
})
|
|
177673
|
+
}) : renderDataInput()
|
|
177674
|
+
}));
|
|
177675
|
+
}
|
|
177676
|
+
|
|
177677
|
+
const StyleTooltip = styled$4(_a => {
|
|
177678
|
+
var {
|
|
177679
|
+
className
|
|
177680
|
+
} = _a,
|
|
177681
|
+
props = __rest$1(_a, ["className"]);
|
|
177682
|
+
return jsxRuntimeExports.jsx(Tooltip$2, Object.assign({}, props, {
|
|
177683
|
+
arrow: true,
|
|
177684
|
+
classes: {
|
|
177685
|
+
popper: className
|
|
177686
|
+
}
|
|
177687
|
+
}));
|
|
177688
|
+
})(() => ({
|
|
177689
|
+
["& .".concat(tooltipClasses$1.arrow)]: {
|
|
177690
|
+
color: '#bbbbbb',
|
|
177691
|
+
maxWidth: 450
|
|
177692
|
+
},
|
|
177693
|
+
["& .".concat(tooltipClasses$1.tooltip)]: {
|
|
177694
|
+
backgroundColor: '#f5f5f5',
|
|
177695
|
+
maxWidth: 900,
|
|
177696
|
+
boxShadow: '0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%)'
|
|
177697
|
+
}
|
|
177698
|
+
}));
|
|
177699
|
+
function TableRowEditable(props) {
|
|
177700
|
+
const {
|
|
177701
|
+
id,
|
|
177702
|
+
rowIdx,
|
|
177703
|
+
selected,
|
|
177704
|
+
columnDefinitions,
|
|
177705
|
+
fieldDefinitions,
|
|
177706
|
+
mergeRowsBy,
|
|
177707
|
+
row,
|
|
177708
|
+
convertItems,
|
|
177709
|
+
itemIndex,
|
|
177710
|
+
dataValidation,
|
|
177711
|
+
includeDelete,
|
|
177712
|
+
onSelectedChange,
|
|
177713
|
+
onSelect,
|
|
177714
|
+
onChange,
|
|
177715
|
+
onDelete
|
|
177716
|
+
} = props;
|
|
177717
|
+
const [open, setOpen] = useState(false);
|
|
177718
|
+
return jsxRuntimeExports.jsx(Fragment, {
|
|
177719
|
+
children: jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
177720
|
+
children: [jsxRuntimeExports.jsxs(TableRow, {
|
|
177721
|
+
children: [selected && onSelectedChange && jsxRuntimeExports.jsx(TableCell, {
|
|
177722
|
+
padding: "checkbox",
|
|
177723
|
+
sx: {
|
|
177724
|
+
border: '1px solid rgb(224, 224, 224)'
|
|
177725
|
+
},
|
|
177726
|
+
children: jsxRuntimeExports.jsx(Checkbox$1, {
|
|
177727
|
+
color: "primary",
|
|
177728
|
+
checked: selected.includes(Number(id)),
|
|
177729
|
+
onClick: e => e.stopPropagation(),
|
|
177730
|
+
onChange: () => onSelect(Number(id)),
|
|
177731
|
+
slotProps: {
|
|
177732
|
+
input: {
|
|
177733
|
+
'aria-braillelabel': "enhanced-table-checkbox-".concat(id)
|
|
177734
|
+
}
|
|
177735
|
+
}
|
|
177736
|
+
})
|
|
177737
|
+
}), columnDefinitions.map((colDef, idx) => {
|
|
177738
|
+
var _a, _b, _c, _d;
|
|
177739
|
+
if (colDef.contentGetter) {
|
|
177740
|
+
const content = colDef.contentGetter(row, rowIdx);
|
|
177741
|
+
const fieldName = (_a = colDef.fieldName) !== null && _a !== void 0 ? _a : '';
|
|
177742
|
+
const isMergeColumn = fieldName === mergeRowsBy;
|
|
177743
|
+
const isDisplay = isMergeColumn ? itemIndex === 0 || convertItems[itemIndex - 1][fieldName] !== row[fieldName] : true;
|
|
177744
|
+
const numOfRowSpan = isMergeColumn ? convertItems.filter(c => c[fieldName] === row[fieldName]).length : 1;
|
|
177745
|
+
return isDisplay && jsxRuntimeExports.jsxs(TableCell, Object.assign({
|
|
177746
|
+
sx: {
|
|
177747
|
+
border: '1px solid rgb(224, 224, 224)'
|
|
177748
|
+
}
|
|
177749
|
+
}, colDef.TableCellProps, {
|
|
177750
|
+
rowSpan: numOfRowSpan,
|
|
177751
|
+
children: [idx === 0 &&
|
|
177752
|
+
// Hiển thị icon mở rộng, ở cột đầu tiên
|
|
177753
|
+
jsxRuntimeExports.jsx(IconButton$1, {
|
|
177754
|
+
"aria-label": "expand row",
|
|
177755
|
+
size: "small",
|
|
177756
|
+
onClick: () => setOpen(!open),
|
|
177757
|
+
children: open ? jsxRuntimeExports.jsx(KeyboardArrowDown, {}) : jsxRuntimeExports.jsx(KeyboardArrowRight, {})
|
|
177758
|
+
}), colDef.isTooltip ? jsxRuntimeExports.jsx(StyleTooltip, {
|
|
177759
|
+
title: colDef.getTitleTooltip && colDef.getTitleTooltip(content),
|
|
177760
|
+
placement: "top-start",
|
|
177761
|
+
children: jsxRuntimeExports.jsx("div", {
|
|
177762
|
+
children: content
|
|
177763
|
+
})
|
|
177764
|
+
}) : colDef.contentGetter(row, rowIdx)]
|
|
177765
|
+
}), idx);
|
|
177766
|
+
}
|
|
177767
|
+
if (colDef.editFieldDefinition) {
|
|
177768
|
+
const {
|
|
177769
|
+
fieldName
|
|
177770
|
+
} = colDef.editFieldDefinition;
|
|
177771
|
+
const currentValue = (_b = row[fieldName]) !== null && _b !== void 0 ? _b : '';
|
|
177772
|
+
const isMergeColumn = fieldName === mergeRowsBy;
|
|
177773
|
+
const isDisplay = isMergeColumn ? itemIndex === 0 || convertItems[itemIndex - 1][fieldName] !== row[fieldName] : true;
|
|
177774
|
+
const numOfRowSpan = isMergeColumn ? convertItems.filter(c => c[fieldName] === row[fieldName]).length : 1;
|
|
177775
|
+
const error = ((_c = dataValidation === null || dataValidation === void 0 ? void 0 : dataValidation[rowIdx]) === null || _c === void 0 ? void 0 : _c[fieldName]) !== undefined && !((_d = dataValidation === null || dataValidation === void 0 ? void 0 : dataValidation[rowIdx]) === null || _d === void 0 ? void 0 : _d[fieldName]);
|
|
177776
|
+
return isDisplay && jsxRuntimeExports.jsx(TableCellEditable, {
|
|
177777
|
+
cellDefinition: Object.assign(Object.assign({}, colDef.editFieldDefinition), {
|
|
177778
|
+
row,
|
|
177779
|
+
TableCellProps: colDef.TableCellProps,
|
|
177780
|
+
isTooltip: colDef.isTooltip,
|
|
177781
|
+
getTitleTooltip: colDef.getTitleTooltip,
|
|
177782
|
+
error: error,
|
|
177783
|
+
value: currentValue,
|
|
177784
|
+
onChange: (newValue, valid) => {
|
|
177785
|
+
let indexes = [rowIdx];
|
|
177786
|
+
if (isMergeColumn) {
|
|
177787
|
+
indexes = convertItems.filter(c => c[fieldName] === row[fieldName]).map(c => {
|
|
177788
|
+
var _a;
|
|
177789
|
+
return (_a = c === null || c === void 0 ? void 0 : c.originalIndex) !== null && _a !== void 0 ? _a : 0;
|
|
177790
|
+
});
|
|
177791
|
+
}
|
|
177792
|
+
onChange(indexes, fieldName, newValue, valid);
|
|
177793
|
+
},
|
|
177794
|
+
type: colDef.editFieldDefinition.type,
|
|
177795
|
+
fieldName: colDef.editFieldDefinition.fieldName || ''
|
|
177796
|
+
}),
|
|
177797
|
+
numOfRowSpan: numOfRowSpan
|
|
177798
|
+
}, idx);
|
|
177799
|
+
}
|
|
177800
|
+
}), includeDelete === true && jsxRuntimeExports.jsx(TableCell, {
|
|
177801
|
+
align: "center",
|
|
177802
|
+
sx: {
|
|
177803
|
+
p: 0,
|
|
177804
|
+
border: '1px solid rgb(224, 224, 224)'
|
|
177805
|
+
},
|
|
177806
|
+
children: jsxRuntimeExports.jsx(IconButton$1, {
|
|
177807
|
+
"aria-label": "delete",
|
|
177808
|
+
onClick: () => onDelete(rowIdx),
|
|
177809
|
+
children: jsxRuntimeExports.jsx(Delete, {})
|
|
177810
|
+
})
|
|
177811
|
+
})]
|
|
177812
|
+
}, rowIdx), jsxRuntimeExports.jsxs(TableRow, {
|
|
177813
|
+
children: [jsxRuntimeExports.jsx(TableCell, {
|
|
177814
|
+
style: {
|
|
177815
|
+
paddingBottom: 0,
|
|
177816
|
+
paddingTop: 0
|
|
177817
|
+
}
|
|
177818
|
+
}), jsxRuntimeExports.jsx(TableCell, {
|
|
177819
|
+
style: {
|
|
177820
|
+
paddingBottom: 0,
|
|
177821
|
+
paddingTop: 0
|
|
177822
|
+
},
|
|
177823
|
+
colSpan: columnDefinitions.length - 1,
|
|
177824
|
+
children: jsxRuntimeExports.jsx(Collapse$1, {
|
|
177825
|
+
in: open,
|
|
177826
|
+
timeout: "auto",
|
|
177827
|
+
unmountOnExit: true,
|
|
177828
|
+
children: jsxRuntimeExports.jsx(Box$1, {
|
|
177829
|
+
sx: {
|
|
177830
|
+
margin: 1
|
|
177831
|
+
},
|
|
177832
|
+
display: "flex",
|
|
177833
|
+
flexWrap: "wrap",
|
|
177834
|
+
gap: 2,
|
|
177835
|
+
children: fieldDefinitions === null || fieldDefinitions === void 0 ? void 0 : fieldDefinitions.map((colDef, idx) => {
|
|
177836
|
+
var _a, _b, _c, _d;
|
|
177837
|
+
if (colDef.contentGetter) {
|
|
177838
|
+
const content = colDef.contentGetter(row, rowIdx);
|
|
177839
|
+
const fieldName = (_a = colDef.fieldName) !== null && _a !== void 0 ? _a : '';
|
|
177840
|
+
const isMergeColumn = fieldName === mergeRowsBy;
|
|
177841
|
+
const isDisplay = isMergeColumn ? itemIndex === 0 || convertItems[itemIndex - 1][fieldName] !== row[fieldName] : true;
|
|
177842
|
+
isMergeColumn ? convertItems.filter(c => c[fieldName] === row[fieldName]).length : 1;
|
|
177843
|
+
return isDisplay && jsxRuntimeExports.jsx(Box$1, {
|
|
177844
|
+
sx: {
|
|
177845
|
+
flex: '0 1 calc(33.333% - 16px)',
|
|
177846
|
+
boxSizing: 'border-box',
|
|
177847
|
+
p: 2
|
|
177848
|
+
},
|
|
177849
|
+
children: colDef.isTooltip ? jsxRuntimeExports.jsx(StyleTooltip, {
|
|
177850
|
+
title: colDef.getTitleTooltip && colDef.getTitleTooltip(content),
|
|
177851
|
+
placement: "top-start",
|
|
177852
|
+
children: jsxRuntimeExports.jsx("div", {
|
|
177853
|
+
children: content
|
|
177854
|
+
})
|
|
177855
|
+
}) : colDef.contentGetter(row, rowIdx)
|
|
177856
|
+
}, idx);
|
|
177857
|
+
}
|
|
177858
|
+
if (colDef.editFieldDefinition) {
|
|
177859
|
+
const {
|
|
177860
|
+
fieldName
|
|
177861
|
+
} = colDef.editFieldDefinition;
|
|
177862
|
+
const currentValue = (_b = row[fieldName]) !== null && _b !== void 0 ? _b : '';
|
|
177863
|
+
const isMergeColumn = fieldName === mergeRowsBy;
|
|
177864
|
+
const isDisplay = isMergeColumn ? itemIndex === 0 || convertItems[itemIndex - 1][fieldName] !== row[fieldName] : true;
|
|
177865
|
+
const numOfRowSpan = isMergeColumn ? convertItems.filter(c => c[fieldName] === row[fieldName]).length : 1;
|
|
177866
|
+
const error = ((_c = dataValidation === null || dataValidation === void 0 ? void 0 : dataValidation[rowIdx]) === null || _c === void 0 ? void 0 : _c[fieldName]) !== undefined && !((_d = dataValidation === null || dataValidation === void 0 ? void 0 : dataValidation[rowIdx]) === null || _d === void 0 ? void 0 : _d[fieldName]);
|
|
177867
|
+
return isDisplay && jsxRuntimeExports.jsx(Box$1, {
|
|
177868
|
+
sx: {
|
|
177869
|
+
flex: '0 1 calc(33.333% - 16px)',
|
|
177870
|
+
boxSizing: 'border-box',
|
|
177871
|
+
p: 2
|
|
177872
|
+
},
|
|
177873
|
+
children: jsxRuntimeExports.jsx(TableCellEditable, {
|
|
177874
|
+
isContainer: true,
|
|
177875
|
+
cellDefinition: Object.assign(Object.assign({}, colDef.editFieldDefinition), {
|
|
177876
|
+
row,
|
|
177877
|
+
TableCellProps: colDef.TableCellProps,
|
|
177878
|
+
isTooltip: colDef.isTooltip,
|
|
177879
|
+
getTitleTooltip: colDef.getTitleTooltip,
|
|
177880
|
+
error: error,
|
|
177881
|
+
value: currentValue,
|
|
177882
|
+
onChange: (newValue, valid) => {
|
|
177883
|
+
let indexes = [rowIdx];
|
|
177884
|
+
if (isMergeColumn) {
|
|
177885
|
+
indexes = convertItems.filter(c => c[fieldName] === row[fieldName]).map(c => {
|
|
177886
|
+
var _a;
|
|
177887
|
+
return (_a = c === null || c === void 0 ? void 0 : c.originalIndex) !== null && _a !== void 0 ? _a : 0;
|
|
177888
|
+
});
|
|
177889
|
+
}
|
|
177890
|
+
onChange(indexes, fieldName, newValue, valid);
|
|
177891
|
+
},
|
|
177892
|
+
type: colDef.editFieldDefinition.type,
|
|
177893
|
+
fieldName: colDef.editFieldDefinition.fieldName || ''
|
|
177894
|
+
}),
|
|
177895
|
+
numOfRowSpan: numOfRowSpan
|
|
177896
|
+
}, idx)
|
|
177897
|
+
}, idx);
|
|
177898
|
+
}
|
|
177899
|
+
})
|
|
177900
|
+
})
|
|
177901
|
+
})
|
|
177902
|
+
})]
|
|
177903
|
+
})]
|
|
177904
|
+
})
|
|
177905
|
+
});
|
|
177906
|
+
}
|
|
177907
|
+
|
|
177908
|
+
styled(_a => {
|
|
177909
|
+
var {
|
|
177910
|
+
className
|
|
177911
|
+
} = _a,
|
|
177912
|
+
props = __rest$1(_a, ["className"]);
|
|
177913
|
+
return jsxRuntimeExports.jsx(Tooltip$2, Object.assign({}, props, {
|
|
177914
|
+
arrow: true,
|
|
177915
|
+
classes: {
|
|
177916
|
+
popper: className
|
|
177917
|
+
}
|
|
177918
|
+
}));
|
|
177919
|
+
})(() => ({
|
|
177920
|
+
["& .".concat(tooltipClasses$1.arrow)]: {
|
|
177921
|
+
color: '#bbbbbb',
|
|
177922
|
+
maxWidth: 450
|
|
177923
|
+
},
|
|
177924
|
+
["& .".concat(tooltipClasses$1.tooltip)]: {
|
|
177925
|
+
backgroundColor: '#f5f5f5',
|
|
177926
|
+
maxWidth: 900,
|
|
177927
|
+
boxShadow: '0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%)'
|
|
177928
|
+
}
|
|
177929
|
+
}));
|
|
177930
|
+
function TableEditableBody(props) {
|
|
177931
|
+
const {
|
|
177932
|
+
items,
|
|
177933
|
+
getId,
|
|
177934
|
+
selected,
|
|
177935
|
+
onSelectedChange,
|
|
177936
|
+
onSelect,
|
|
177937
|
+
columnDefinitions,
|
|
177938
|
+
fieldDefinitions,
|
|
177939
|
+
dataValidation,
|
|
177940
|
+
includeDelete,
|
|
177941
|
+
spanningRows,
|
|
177942
|
+
onChange,
|
|
177943
|
+
onDelete,
|
|
177944
|
+
mergeRowsBy
|
|
177945
|
+
} = props;
|
|
177946
|
+
const convertToMergeAbleItems = keyValue => {
|
|
177947
|
+
const result = [];
|
|
177948
|
+
const temp = [...items.map((item, index) => Object.assign(Object.assign({}, item), {
|
|
177949
|
+
originalIndex: index
|
|
177950
|
+
}))];
|
|
177951
|
+
lodashExports.uniqBy(temp, keyValue).map(t => {
|
|
177952
|
+
const childs = temp.filter(item => item[keyValue] === t[keyValue]);
|
|
177953
|
+
result.push(...childs);
|
|
177954
|
+
});
|
|
177955
|
+
return result;
|
|
177956
|
+
};
|
|
177957
|
+
const convertItems = mergeRowsBy ? convertToMergeAbleItems(mergeRowsBy) : items;
|
|
177958
|
+
return jsxRuntimeExports.jsxs(TableBody, {
|
|
177959
|
+
children: [convertItems.map((row, index) => {
|
|
177960
|
+
var _a, _b;
|
|
177961
|
+
const rowIdx = (_a = row.originalIndex) !== null && _a !== void 0 ? _a : index;
|
|
177962
|
+
const id = (_b = getId(row)) !== null && _b !== void 0 ? _b : rowIdx;
|
|
177963
|
+
return jsxRuntimeExports.jsx(TableRowEditable, {
|
|
177964
|
+
columnDefinitions: columnDefinitions,
|
|
177965
|
+
fieldDefinitions: fieldDefinitions,
|
|
177966
|
+
convertItems: convertItems,
|
|
177967
|
+
dataValidation: dataValidation,
|
|
177968
|
+
id: id,
|
|
177969
|
+
itemIndex: index,
|
|
177970
|
+
row: row,
|
|
177971
|
+
rowIdx: rowIdx,
|
|
177972
|
+
mergeRowsBy: mergeRowsBy,
|
|
177973
|
+
selected: selected,
|
|
177974
|
+
onChange: onChange,
|
|
177975
|
+
onDelete: onDelete,
|
|
177976
|
+
onSelect: onSelect,
|
|
177977
|
+
includeDelete: includeDelete,
|
|
177978
|
+
onSelectedChange: onSelectedChange
|
|
177979
|
+
}, index);
|
|
177980
|
+
}), spanningRows === null || spanningRows === void 0 ? void 0 : spanningRows.map((row, index) => jsxRuntimeExports.jsx(Fragment, {
|
|
177981
|
+
children: row
|
|
177982
|
+
}, index))]
|
|
177983
|
+
});
|
|
177984
|
+
}
|
|
177985
|
+
|
|
177986
|
+
function TableHeader(props) {
|
|
177987
|
+
const {
|
|
177988
|
+
selected,
|
|
177989
|
+
onSelectedChange,
|
|
177990
|
+
numOfRows,
|
|
177991
|
+
onSelectAll,
|
|
177992
|
+
includeDelete,
|
|
177993
|
+
columnDefinitions
|
|
177994
|
+
} = props;
|
|
177995
|
+
return jsxRuntimeExports.jsx(TableHead, {
|
|
177996
|
+
children: jsxRuntimeExports.jsxs(TableRow, {
|
|
177997
|
+
children: [selected && onSelectedChange && jsxRuntimeExports.jsx(TableCell, {
|
|
177998
|
+
padding: "checkbox",
|
|
177999
|
+
sx: {
|
|
178000
|
+
border: '1px solid rgb(224, 224, 224)'
|
|
178001
|
+
},
|
|
178002
|
+
children: jsxRuntimeExports.jsx(Checkbox$1, {
|
|
178003
|
+
color: "primary",
|
|
178004
|
+
indeterminate: selected.length > 0 && selected.length < numOfRows,
|
|
178005
|
+
checked: selected.length > 0 && selected.length === numOfRows,
|
|
178006
|
+
onChange: () => onSelectAll(),
|
|
178007
|
+
slotProps: {
|
|
178008
|
+
input: {
|
|
178009
|
+
'aria-label': 'select all desserts'
|
|
178010
|
+
}
|
|
178011
|
+
}
|
|
178012
|
+
})
|
|
178013
|
+
}), columnDefinitions.map((colDef, idx) => {
|
|
178014
|
+
var _a;
|
|
178015
|
+
const {
|
|
178016
|
+
headerName,
|
|
178017
|
+
width,
|
|
178018
|
+
TableCellProps
|
|
178019
|
+
} = colDef;
|
|
178020
|
+
return jsxRuntimeExports.jsx(TableCell, Object.assign({
|
|
178021
|
+
sx: Object.assign({
|
|
178022
|
+
border: '1px solid rgb(224, 224, 224)'
|
|
178023
|
+
}, width && {
|
|
178024
|
+
width: width
|
|
178025
|
+
})
|
|
178026
|
+
}, TableCellProps, {
|
|
178027
|
+
children: "".concat(headerName).concat(((_a = colDef === null || colDef === void 0 ? void 0 : colDef.editFieldDefinition) === null || _a === void 0 ? void 0 : _a.required) ? '*' : '')
|
|
178028
|
+
}), idx);
|
|
178029
|
+
}), includeDelete === true && jsxRuntimeExports.jsx(TableCell, {
|
|
178030
|
+
sx: {
|
|
178031
|
+
width: 60,
|
|
178032
|
+
border: '1px solid rgb(224, 224, 224)'
|
|
178033
|
+
}
|
|
178034
|
+
})]
|
|
178035
|
+
})
|
|
178036
|
+
});
|
|
178037
|
+
}
|
|
178038
|
+
|
|
178039
|
+
function TopBarActions(props) {
|
|
178040
|
+
const {
|
|
178041
|
+
t
|
|
178042
|
+
} = useTranslation();
|
|
178043
|
+
const {
|
|
178044
|
+
selected,
|
|
178045
|
+
selectionActions
|
|
178046
|
+
} = props;
|
|
178047
|
+
return jsxRuntimeExports.jsx(Box$1, {
|
|
178048
|
+
sx: {
|
|
178049
|
+
position: 'relative'
|
|
178050
|
+
},
|
|
178051
|
+
children: jsxRuntimeExports.jsxs(Box$1, {
|
|
178052
|
+
sx: {
|
|
178053
|
+
padding: '10px 16px',
|
|
178054
|
+
width: '100%',
|
|
178055
|
+
display: 'flex',
|
|
178056
|
+
flexDirection: 'row',
|
|
178057
|
+
justifyContent: 'space-between',
|
|
178058
|
+
background: '#EEEEEE'
|
|
178059
|
+
},
|
|
178060
|
+
children: [jsxRuntimeExports.jsx(Typography$1, {
|
|
178061
|
+
variant: "body1",
|
|
178062
|
+
style: {
|
|
178063
|
+
display: 'flex',
|
|
178064
|
+
alignItems: 'center'
|
|
178065
|
+
},
|
|
178066
|
+
children: "".concat(selected.length, " ").concat(t('Common.Selected').toLowerCase())
|
|
178067
|
+
}), jsxRuntimeExports.jsx(Box$1, {
|
|
178068
|
+
style: {
|
|
178069
|
+
display: 'flex',
|
|
178070
|
+
flexDirection: 'row',
|
|
178071
|
+
justifyContent: 'flex-end'
|
|
178072
|
+
},
|
|
178073
|
+
children: selectionActions && selectionActions.map((actionDef, actIdx) => jsxRuntimeExports.jsx(Tooltip$2, {
|
|
178074
|
+
title: actionDef.tooltipTitle,
|
|
178075
|
+
children: jsxRuntimeExports.jsx(IconButton$1, {
|
|
178076
|
+
size: "small",
|
|
178077
|
+
onClick: () => actionDef.action(),
|
|
178078
|
+
sx: {
|
|
178079
|
+
mx: 0.5
|
|
178080
|
+
},
|
|
178081
|
+
disabled: actionDef.disabled,
|
|
178082
|
+
children: actionDef.icon
|
|
178083
|
+
})
|
|
178084
|
+
}, actIdx))
|
|
178085
|
+
})]
|
|
178086
|
+
})
|
|
178087
|
+
});
|
|
178088
|
+
}
|
|
178089
|
+
|
|
178090
|
+
function TableEditable(props) {
|
|
178091
|
+
const {
|
|
178092
|
+
t
|
|
178093
|
+
} = useTranslation();
|
|
178094
|
+
const {
|
|
178095
|
+
columnDefinitions,
|
|
178096
|
+
fieldDefinitions,
|
|
178097
|
+
items,
|
|
178098
|
+
onChange,
|
|
178099
|
+
getRowId,
|
|
178100
|
+
selected,
|
|
178101
|
+
onSelectedChange,
|
|
178102
|
+
hideHeader = false,
|
|
178103
|
+
onAddNew,
|
|
178104
|
+
includeDelete = false,
|
|
178105
|
+
spanningRows,
|
|
178106
|
+
selectionActions,
|
|
178107
|
+
mergeRowsBy,
|
|
178108
|
+
observation
|
|
178109
|
+
} = props;
|
|
178110
|
+
const [dataValidation, setDataValidation] = useState(items.map(() => ({})));
|
|
178111
|
+
useEffect(() => {
|
|
178112
|
+
const difference = items.length - dataValidation.length;
|
|
178113
|
+
if (difference > 0) {
|
|
178114
|
+
let newDataValidation = _$3.cloneDeep(dataValidation);
|
|
178115
|
+
for (let i = 0; i < difference; i++) {
|
|
178116
|
+
newDataValidation.push({});
|
|
178117
|
+
}
|
|
178118
|
+
setDataValidation(newDataValidation);
|
|
178119
|
+
}
|
|
178120
|
+
}, [items]);
|
|
178121
|
+
const handleChange = (indexes, fieldName, newValue, valid) => {
|
|
178122
|
+
console.log('sss', indexes, fieldName, newValue, valid);
|
|
178123
|
+
let newData = _$3.cloneDeep(items);
|
|
178124
|
+
let newValidation = _$3.cloneDeep(dataValidation);
|
|
178125
|
+
indexes.map(indexOfArray => {
|
|
178126
|
+
var _a, _b;
|
|
178127
|
+
newData[indexOfArray][fieldName] = newValue;
|
|
178128
|
+
newValidation[indexOfArray][fieldName] = valid;
|
|
178129
|
+
let columnField = (_a = columnDefinitions.find(x => {
|
|
178130
|
+
var _a;
|
|
178131
|
+
return ((_a = x.editFieldDefinition) === null || _a === void 0 ? void 0 : _a.fieldName) === fieldName;
|
|
178132
|
+
})) === null || _a === void 0 ? void 0 : _a.editFieldDefinition;
|
|
178133
|
+
let collapField = (_b = fieldDefinitions.find(x => {
|
|
178134
|
+
var _a;
|
|
178135
|
+
return ((_a = x.editFieldDefinition) === null || _a === void 0 ? void 0 : _a.fieldName) === fieldName;
|
|
178136
|
+
})) === null || _b === void 0 ? void 0 : _b.editFieldDefinition;
|
|
178137
|
+
// Column
|
|
178138
|
+
if (columnField) {
|
|
178139
|
+
if (columnField.customeFieldChange) {
|
|
178140
|
+
const objChange = columnField.customeFieldChange(newValue);
|
|
178141
|
+
if (typeof objChange === 'object' && objChange !== null) {
|
|
178142
|
+
newData[indexOfArray] = Object.assign(Object.assign({}, newData[indexOfArray]), objChange);
|
|
178143
|
+
for (let fieldKey in objChange) {
|
|
178144
|
+
newValidation[indexOfArray][fieldKey] = true;
|
|
178145
|
+
}
|
|
178146
|
+
}
|
|
178147
|
+
}
|
|
178148
|
+
const convertFields = columnDefinitions.filter(col => col.editFieldDefinition && col.editFieldDefinition.fieldName).map(col => {
|
|
178149
|
+
var _a;
|
|
178150
|
+
return {
|
|
178151
|
+
fieldName: String(col.editFieldDefinition.fieldName),
|
|
178152
|
+
value: String((_a = newData[indexOfArray][col.editFieldDefinition.fieldName]) !== null && _a !== void 0 ? _a : '')
|
|
178153
|
+
};
|
|
178154
|
+
});
|
|
178155
|
+
const convertFormulas = columnDefinitions.filter(col => !!col.editFieldDefinition && !!col.editFieldDefinition.autoFormula && col.editFieldDefinition.fieldName).map(col => {
|
|
178156
|
+
var _a;
|
|
178157
|
+
return {
|
|
178158
|
+
fieldName: String(col.editFieldDefinition.fieldName),
|
|
178159
|
+
value: (_a = col.editFieldDefinition) === null || _a === void 0 ? void 0 : _a.autoFormula
|
|
178160
|
+
};
|
|
178161
|
+
});
|
|
178162
|
+
const currentField = columnField;
|
|
178163
|
+
const relateFormulas = convertFormulas.filter(formula => {
|
|
178164
|
+
var _a, _b;
|
|
178165
|
+
return (_a = formula === null || formula === void 0 ? void 0 : formula.value) === null || _a === void 0 ? void 0 : _a.includes("{".concat((_b = currentField === null || currentField === void 0 ? void 0 : currentField.fieldName) === null || _b === void 0 ? void 0 : _b.toString(), "}"));
|
|
178166
|
+
});
|
|
178167
|
+
if (relateFormulas.length > 0) {
|
|
178168
|
+
const result = updateFieldsWithFormulas(convertFormulas, convertFields, newData[indexOfArray], newValidation[indexOfArray], relateFormulas);
|
|
178169
|
+
newData[indexOfArray] = result.newData;
|
|
178170
|
+
newValidation[indexOfArray] = result.newValidation;
|
|
178171
|
+
}
|
|
178172
|
+
}
|
|
178173
|
+
// collapsible
|
|
178174
|
+
if (collapField) {
|
|
178175
|
+
if (collapField.customeFieldChange) {
|
|
178176
|
+
const objChange = collapField.customeFieldChange(newValue);
|
|
178177
|
+
if (typeof objChange === 'object' && objChange !== null) {
|
|
178178
|
+
newData[indexOfArray] = Object.assign(Object.assign({}, newData[indexOfArray]), objChange);
|
|
178179
|
+
for (let fieldKey in objChange) {
|
|
178180
|
+
newValidation[indexOfArray][fieldKey] = true;
|
|
178181
|
+
}
|
|
178182
|
+
}
|
|
178183
|
+
}
|
|
178184
|
+
const convertFields = columnDefinitions.filter(col => col.editFieldDefinition && col.editFieldDefinition.fieldName).map(col => {
|
|
178185
|
+
var _a;
|
|
178186
|
+
return {
|
|
178187
|
+
fieldName: String(col.editFieldDefinition.fieldName),
|
|
178188
|
+
value: String((_a = newData[indexOfArray][col.editFieldDefinition.fieldName]) !== null && _a !== void 0 ? _a : '')
|
|
178189
|
+
};
|
|
178190
|
+
});
|
|
178191
|
+
const convertFormulas = columnDefinitions.filter(col => !!col.editFieldDefinition && !!col.editFieldDefinition.autoFormula && col.editFieldDefinition.fieldName).map(col => {
|
|
178192
|
+
var _a;
|
|
178193
|
+
return {
|
|
178194
|
+
fieldName: String(col.editFieldDefinition.fieldName),
|
|
178195
|
+
value: (_a = col.editFieldDefinition) === null || _a === void 0 ? void 0 : _a.autoFormula
|
|
178196
|
+
};
|
|
178197
|
+
});
|
|
178198
|
+
const currentField = collapField;
|
|
178199
|
+
const relateFormulas = convertFormulas.filter(formula => {
|
|
178200
|
+
var _a, _b;
|
|
178201
|
+
return (_a = formula === null || formula === void 0 ? void 0 : formula.value) === null || _a === void 0 ? void 0 : _a.includes("{".concat((_b = currentField === null || currentField === void 0 ? void 0 : currentField.fieldName) === null || _b === void 0 ? void 0 : _b.toString(), "}"));
|
|
178202
|
+
});
|
|
178203
|
+
if (relateFormulas.length > 0) {
|
|
178204
|
+
const result = updateFieldsWithFormulas(convertFormulas, convertFields, newData[indexOfArray], newValidation[indexOfArray], relateFormulas);
|
|
178205
|
+
newData[indexOfArray] = result.newData;
|
|
178206
|
+
newValidation[indexOfArray] = result.newValidation;
|
|
178207
|
+
}
|
|
178208
|
+
}
|
|
178209
|
+
});
|
|
178210
|
+
const dataValid = getDataValidation(newData, newValidation);
|
|
178211
|
+
if (mergeRowsBy) {
|
|
178212
|
+
newData = _$3.omit(newData, 'originalId');
|
|
178213
|
+
}
|
|
178214
|
+
onChange(newData, dataValid, fieldName);
|
|
178215
|
+
setDataValidation(newValidation);
|
|
178216
|
+
if (observation && observation.length) {
|
|
178217
|
+
observation.forEach(o => {
|
|
178218
|
+
if (o.objObserve.includes(fieldName)) {
|
|
178219
|
+
o.callback(fieldName, newValue, indexes[0]);
|
|
178220
|
+
}
|
|
178221
|
+
});
|
|
178222
|
+
}
|
|
178223
|
+
};
|
|
178224
|
+
const updateFieldsWithFormulas = (convertFormulas, convertFields, newValue, validation, relateFormulas) => {
|
|
178225
|
+
const newData = Object.assign({}, newValue);
|
|
178226
|
+
const newValidation = Object.assign({}, validation);
|
|
178227
|
+
const newFields = Object.assign([], convertFields);
|
|
178228
|
+
relateFormulas.map(formula => {
|
|
178229
|
+
var _a;
|
|
178230
|
+
let stack = [formula];
|
|
178231
|
+
while (stack.length > 0) {
|
|
178232
|
+
const currentStack = stack.shift();
|
|
178233
|
+
const replaceValue = replaceFieldsValue(newFields, (_a = currentStack === null || currentStack === void 0 ? void 0 : currentStack.value) !== null && _a !== void 0 ? _a : '');
|
|
178234
|
+
if (!replaceValue.includes('notready')) {
|
|
178235
|
+
const binaryTree = convertFormulaToBinaryTree(replaceValue);
|
|
178236
|
+
if (binaryTree) {
|
|
178237
|
+
const result = calculateValue(binaryTree);
|
|
178238
|
+
const fieldIndex = newFields.findIndex(field => field.fieldName === (currentStack === null || currentStack === void 0 ? void 0 : currentStack.fieldName));
|
|
178239
|
+
newFields[fieldIndex].value = result.toString();
|
|
178240
|
+
newData[currentStack === null || currentStack === void 0 ? void 0 : currentStack.fieldName] = result.toString();
|
|
178241
|
+
newValidation[currentStack === null || currentStack === void 0 ? void 0 : currentStack.fieldName] = true;
|
|
178242
|
+
const relateField = newFields[fieldIndex];
|
|
178243
|
+
const relateAgains = convertFormulas.filter(formula => {
|
|
178244
|
+
var _a;
|
|
178245
|
+
return (_a = formula === null || formula === void 0 ? void 0 : formula.value) === null || _a === void 0 ? void 0 : _a.includes(relateField.fieldName);
|
|
178246
|
+
});
|
|
178247
|
+
stack.push(...relateAgains);
|
|
178248
|
+
}
|
|
178249
|
+
}
|
|
178250
|
+
}
|
|
178251
|
+
});
|
|
178252
|
+
return {
|
|
178253
|
+
newData,
|
|
178254
|
+
newValidation
|
|
178255
|
+
};
|
|
178256
|
+
};
|
|
178257
|
+
const handleDelete = indexOfArray => {
|
|
178258
|
+
const newData = _$3.cloneDeep(items);
|
|
178259
|
+
const itemDeleted = newData[indexOfArray];
|
|
178260
|
+
newData.splice(indexOfArray, 1);
|
|
178261
|
+
const newValidation = _$3.cloneDeep(dataValidation);
|
|
178262
|
+
newValidation.splice(indexOfArray, 1);
|
|
178263
|
+
const dataValid = getDataValidation(newData, newValidation);
|
|
178264
|
+
if (selected === null || selected === void 0 ? void 0 : selected.includes(itemDeleted.id)) handleSelect(itemDeleted.id);
|
|
178265
|
+
onChange(newData, dataValid);
|
|
178266
|
+
setDataValidation(newValidation);
|
|
178267
|
+
};
|
|
178268
|
+
const getDataValidation = (data, validation) => {
|
|
178269
|
+
let dataValid = validation.every(validation => Object.keys(validation).every(key => validation[key]));
|
|
178270
|
+
if (dataValid) {
|
|
178271
|
+
data.forEach(item => {
|
|
178272
|
+
columnDefinitions.filter(x => x.editFieldDefinition && x.editFieldDefinition.required).forEach(fieldDef => {
|
|
178273
|
+
if (dataValid && fieldDef.editFieldDefinition && item[fieldDef.editFieldDefinition.fieldName] == undefined) dataValid = false;
|
|
178274
|
+
});
|
|
178275
|
+
});
|
|
178276
|
+
}
|
|
178277
|
+
return dataValid;
|
|
178278
|
+
};
|
|
178279
|
+
const getId = row => {
|
|
178280
|
+
if (getRowId) {
|
|
178281
|
+
return getRowId(row);
|
|
178282
|
+
} else if (row.hasOwnProperty('id')) {
|
|
178283
|
+
return 'id' in row ? row['id'] : undefined;
|
|
178284
|
+
} else {
|
|
178285
|
+
return undefined;
|
|
178286
|
+
}
|
|
178287
|
+
};
|
|
178288
|
+
const handleSelectAll = () => {
|
|
178289
|
+
if (selected && onSelectedChange) {
|
|
178290
|
+
if (selected.length > 0) {
|
|
178291
|
+
onSelectedChange([]);
|
|
178292
|
+
} else {
|
|
178293
|
+
onSelectedChange(items === null || items === void 0 ? void 0 : items.map((r, index) => getId(r) !== undefined ? getId(r) : index));
|
|
178294
|
+
}
|
|
178295
|
+
}
|
|
178296
|
+
};
|
|
178297
|
+
const handleSelect = id => {
|
|
178298
|
+
if (selected && onSelectedChange) {
|
|
178299
|
+
if (selected.includes(id)) {
|
|
178300
|
+
onSelectedChange(selected.filter(x => x !== id));
|
|
178301
|
+
} else {
|
|
178302
|
+
let newSelected = selected.slice();
|
|
178303
|
+
newSelected.push(id);
|
|
178304
|
+
onSelectedChange(newSelected);
|
|
178305
|
+
}
|
|
178306
|
+
}
|
|
178307
|
+
};
|
|
178308
|
+
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
178309
|
+
children: [jsxRuntimeExports.jsxs(TableContainer, {
|
|
178310
|
+
component: Paper$1,
|
|
178311
|
+
sx: {
|
|
178312
|
+
overflow: 'hidden'
|
|
178313
|
+
},
|
|
177563
178314
|
children: [selected && onSelectedChange && selected.length > 0 && selectionActions && jsxRuntimeExports.jsx(TopBarActions, {
|
|
177564
178315
|
selected: selected,
|
|
177565
178316
|
selectionActions: selectionActions
|
|
@@ -177579,6 +178330,7 @@ function TableEditable(props) {
|
|
|
177579
178330
|
onSelectedChange: onSelectedChange,
|
|
177580
178331
|
onSelect: handleSelect,
|
|
177581
178332
|
columnDefinitions: columnDefinitions,
|
|
178333
|
+
fieldDefinitions: fieldDefinitions,
|
|
177582
178334
|
dataValidation: dataValidation,
|
|
177583
178335
|
includeDelete: includeDelete,
|
|
177584
178336
|
spanningRows: spanningRows,
|
|
@@ -189420,9 +190172,6 @@ function Create() {
|
|
|
189420
190172
|
}
|
|
189421
190173
|
}, []);
|
|
189422
190174
|
const checkValidSubmit = useMemo(() => {
|
|
189423
|
-
if (id && Number(id) < 100) {
|
|
189424
|
-
return false;
|
|
189425
|
-
}
|
|
189426
190175
|
const getChangeField = (oldValue, newValue) => oldValue !== newValue ? true : false;
|
|
189427
190176
|
let checkV = false;
|
|
189428
190177
|
if (isCreate) {
|
|
@@ -205684,4 +206433,4 @@ var index_es = /*#__PURE__*/Object.freeze({
|
|
|
205684
206433
|
vectorsRatio: vectorsRatio
|
|
205685
206434
|
});
|
|
205686
206435
|
|
|
205687
|
-
export { Container$n as Action, AdvancedSearch, AppContext, AppProvider, AsyncAutocomplete, AwingContext, BarLineChart, BoxResizableSplit, ButtonDateRangePicker, ButtonSelect, CircularProgress, DrawerBase as ClassicBaseDrawer, DrawerWrapper$1 as ClassicDrawer, CloseAction, ContentHeader, ControlPanels, CopyButton, CronTab, DataForm, DataGrid, DataGridGroup, DataGridSortType, InputFactory as DataInput, DateAutoFormat, Container$g as DatePicker, DateRangePicker$1 as DateRangePicker, Container$h as DateRangePickerOld, EnhancedDialog as DeprecatedEnhancedDialog, CreateDirectory as DirectoryForm, PermissionWarpper as DirectoryPermission, DirectoryRoot, DirectorySystem, DirectoryTree, DrawerWrapper as Drawer, DrawerNavigate, DrawerStateEnum, Container$m as EnhancedAutoComplete, EnumFieldInputType, EnumSelectedPlaceType, FIELD_TYPE, FilterNotification, FilterOperationType, FilterTreeView, FooterContainer as Footer, GoogleMap, GroupSystem, GroupTable, HierarchyTree, I18nProvider, INT_NUMBER_LIMIT, Container as Layout, Notifications as LayoutNotifications, LogicExpressionInput as LogicExpression, LogicalOperatorType, MemoWrap, MonacoEditor$1 as MonacoEditor, MultipleChoice, MultipleHierarchicalChoice, NoData, NotificationConfig, NotificationFilter as NotificationObjectFilter, NumberFormat, AsynchronousAutocomplete as OldAsyncAutoComplete, Page, PageManagement, Pagination, PieChart, PlaceFilter, RoleSystem, RoleTagSystem, SchemaSystem, SearchBox, Sharing as SharingSystem, ShowTreeItem, SimpleTreeItemWrapper, SortEnumType, Sortable, SortableTree, StatisticsCommon as Statistics, SubscriptionConfig, TIMELINE_TYPE, TYPE_CHART, TYPE_FILTERS, TabLabel, TableCellEditable, TableEditable, TableEditableBody, TableHeader, TablePaginationActions, Template as TemplateConfig, ThemeProvider, ToolbarLayout as Toolbar, TopBarActions, TreeItemWithAction, User as UserSystem, WMAPEcalculator, WorkflowFeature as WorkflowSystem, WorkspaceType, Wrapper, arrayIsNotEmptyValid, calculateValue, calculatorDirectoryIdRoot, changeToAlias, checkValidMacAddress, checkValidStringListAP, checkValidUrl, colorValid, containsOnlyDigits, convertArrayFiltersToCondition, convertArrayToObject, convertDataSetPattern, convertDateTimeToTimestamp, convertFilterExpressionToCondition, convertFormulaToBinaryTree, convertTimeLine, convertTimelineToDateTime, convertTimestampToDateTime, convertToPostfix, darkTheme, dateRangeValid, dateTimeToString, dateToString, dateToStringDDMMYYYY, dateValid, download, downloadWithDataSet, emailValid, fillMissingDates, flattenTree, formatChartNumber, formatJSON$1 as formatJSON, formatNumberByLocale, formatNumberWithLanguage, generateUUID, getCookie, getGUID, getPrecedence, getQueryVariable, getRandomKey, getRoutePath, getStartOfDay, getToday, handleExportExcel, i18n as i18nLib, isOperand, isOperator, lightTheme, nameExportStandard, notNullValid, numberNotNullValid, numberOnlyValid, numberPercentageNotNullValid, off, offlinePaginate, parseJSON, passwordValid, positiveNumberNotNullValid, pub, replaceFieldsValue, roundDecimalNumber, setObject, stringNotNullValid, stringNullableValid, sub, textValidation, timestampToStringDDMMYYYY, toCapitalize, tokenize, updateGUID, updateObjectFields, urlValid, useAppHelper, useAwing, useDrawer, useGetContext$8 as useGetContext, useGetData, usePath, validateNumber };
|
|
206436
|
+
export { Container$n as Action, AdvancedSearch, AppContext, AppProvider, AsyncAutocomplete, AwingContext, BarLineChart, BoxResizableSplit, ButtonDateRangePicker, ButtonSelect, CircularProgress, DrawerBase as ClassicBaseDrawer, DrawerWrapper$1 as ClassicDrawer, CloseAction, ContentHeader, ControlPanels, CopyButton, CronTab, DataForm, DataGrid, DataGridGroup, DataGridSortType, InputFactory as DataInput, DateAutoFormat, Container$g as DatePicker, DateRangePicker$1 as DateRangePicker, Container$h as DateRangePickerOld, EnhancedDialog as DeprecatedEnhancedDialog, CreateDirectory as DirectoryForm, PermissionWarpper as DirectoryPermission, DirectoryRoot, DirectorySystem, DirectoryTree, DrawerWrapper as Drawer, DrawerNavigate, DrawerStateEnum, Container$m as EnhancedAutoComplete, EnumFieldInputType, EnumSelectedPlaceType, FIELD_TYPE, FilterNotification, FilterOperationType, FilterTreeView, FooterContainer as Footer, GoogleMap, GroupSystem, GroupTable, HierarchyTree, I18nProvider, INT_NUMBER_LIMIT, Container as Layout, Notifications as LayoutNotifications, LogicExpressionInput as LogicExpression, LogicalOperatorType, MemoWrap, MonacoEditor$1 as MonacoEditor, MultipleChoice, MultipleHierarchicalChoice, NoData, NotificationConfig, NotificationFilter as NotificationObjectFilter, NumberFormat, AsynchronousAutocomplete as OldAsyncAutoComplete, Page, PageManagement, Pagination, PieChart, PlaceFilter, RoleSystem, RoleTagSystem, SchemaSystem, SearchBox, Sharing as SharingSystem, ShowTreeItem, SimpleTreeItemWrapper, SortEnumType, Sortable, SortableTree, StatisticsCommon as Statistics, SubscriptionConfig, TIMELINE_TYPE, TYPE_CHART, TYPE_FILTERS, TabLabel, TableCellEditable$1 as TableCellEditable, TableEditable$1 as TableEditable, TableEditableBody$1 as TableEditableBody, TableEditable as TableEditableCollapsible, TableEditableBody as TableEditableCollapsibleBody, TableCellEditable as TableEditableCollapsibleCell, TableHeader as TableEditableCollapsibleTableHeader, TopBarActions as TableEditableCollapsibleTopBarActions, TableHeader$1 as TableHeader, TablePaginationActions, Template as TemplateConfig, ThemeProvider, ToolbarLayout as Toolbar, TopBarActions$1 as TopBarActions, TreeItemWithAction, User as UserSystem, WMAPEcalculator, WorkflowFeature as WorkflowSystem, WorkspaceType, Wrapper, arrayIsNotEmptyValid, calculateValue, calculatorDirectoryIdRoot, changeToAlias, checkValidMacAddress, checkValidStringListAP, checkValidUrl, colorValid, containsOnlyDigits, convertArrayFiltersToCondition, convertArrayToObject, convertDataSetPattern, convertDateTimeToTimestamp, convertFilterExpressionToCondition, convertFormulaToBinaryTree, convertTimeLine, convertTimelineToDateTime, convertTimestampToDateTime, convertToPostfix, darkTheme, dateRangeValid, dateTimeToString, dateToString, dateToStringDDMMYYYY, dateValid, download, downloadWithDataSet, emailValid, fillMissingDates, flattenTree, formatChartNumber, formatJSON$1 as formatJSON, formatNumberByLocale, formatNumberWithLanguage, generateUUID, getCookie, getGUID, getPrecedence, getQueryVariable, getRandomKey, getRoutePath, getStartOfDay, getToday, handleExportExcel, i18n as i18nLib, isOperand, isOperator, lightTheme, nameExportStandard, notNullValid, numberNotNullValid, numberOnlyValid, numberPercentageNotNullValid, off, offlinePaginate, parseJSON, passwordValid, positiveNumberNotNullValid, pub, replaceFieldsValue, roundDecimalNumber, setObject, stringNotNullValid, stringNullableValid, sub, textValidation, timestampToStringDDMMYYYY, toCapitalize, tokenize, updateGUID, updateObjectFields, urlValid, useAppHelper, useAwing, useDrawer, useGetContext$8 as useGetContext, useGetData, usePath, validateNumber };
|
package/dist/index.d.ts
CHANGED
|
@@ -1723,6 +1723,87 @@ interface ChartContentProps<F> extends Pick<IStatisticsProps<F>, 'dataChart' | '
|
|
|
1723
1723
|
|
|
1724
1724
|
declare const StatisticsCommon: <F extends object = object>(props: IStatisticsProps<F>) => react_jsx_runtime.JSX.Element;
|
|
1725
1725
|
|
|
1726
|
+
type CellDefinition$1<T extends object> = FieldDefinitionProps$1<T> & {
|
|
1727
|
+
TableCellProps?: TableCellProps$1;
|
|
1728
|
+
isTooltip?: boolean;
|
|
1729
|
+
row?: Partial<T>;
|
|
1730
|
+
getTitleTooltip?: (value: T[keyof T]) => NonNullable<ReactNode>;
|
|
1731
|
+
};
|
|
1732
|
+
interface ColumnDefinition$1<T extends object> {
|
|
1733
|
+
headerName: ReactNode;
|
|
1734
|
+
/**
|
|
1735
|
+
* Độ rộng của cột
|
|
1736
|
+
*/
|
|
1737
|
+
width?: string | number;
|
|
1738
|
+
TableCellProps?: TableCellProps$1;
|
|
1739
|
+
editFieldDefinition?: CellDefinition$1<T>;
|
|
1740
|
+
isRowGroup?: boolean;
|
|
1741
|
+
contentGetter?: (obj: T, idx?: number) => ReactNode;
|
|
1742
|
+
fieldName?: string;
|
|
1743
|
+
isTooltip?: boolean;
|
|
1744
|
+
getTitleTooltip?: (value: T[keyof T]) => NonNullable<ReactNode>;
|
|
1745
|
+
}
|
|
1746
|
+
type TableEditableProps$1<T> = {
|
|
1747
|
+
columnDefinitions: Array<ColumnDefinition$1<Partial<T>>>;
|
|
1748
|
+
items: Array<Partial<T>>;
|
|
1749
|
+
onChange(newData: Array<Partial<T>>, dataValid: boolean, fieldName?: keyof T): void;
|
|
1750
|
+
getRowId?(obj: Partial<T>): number;
|
|
1751
|
+
selected?: number[];
|
|
1752
|
+
onSelectedChange?(ids: number[]): void;
|
|
1753
|
+
hideHeader?: boolean;
|
|
1754
|
+
onAddNew?(): void;
|
|
1755
|
+
includeDelete?: boolean;
|
|
1756
|
+
spanningRows?: ReactNode[];
|
|
1757
|
+
selectionActions?: SelectionActionDefinition[];
|
|
1758
|
+
mergeRowsBy?: string;
|
|
1759
|
+
observation?: {
|
|
1760
|
+
objObserve: Array<keyof T>;
|
|
1761
|
+
callback: (fieldName?: keyof T, columnValue?: unknown, index?: number) => void;
|
|
1762
|
+
}[];
|
|
1763
|
+
};
|
|
1764
|
+
interface TopBarActionsProps$1 {
|
|
1765
|
+
selected: number[];
|
|
1766
|
+
selectionActions?: SelectionActionDefinition[];
|
|
1767
|
+
}
|
|
1768
|
+
interface TableHeaderProps$1<T> {
|
|
1769
|
+
selected?: number[];
|
|
1770
|
+
onSelectedChange?: (selected: number[]) => void;
|
|
1771
|
+
numOfRows: number;
|
|
1772
|
+
onSelectAll: () => void;
|
|
1773
|
+
includeDelete?: boolean;
|
|
1774
|
+
columnDefinitions: Array<ColumnDefinition$1<Partial<T>>>;
|
|
1775
|
+
}
|
|
1776
|
+
interface TableEditableBodyProps$1<T> {
|
|
1777
|
+
items: Array<Partial<T>>;
|
|
1778
|
+
getId: (item: Partial<T>) => string | number | undefined;
|
|
1779
|
+
selected?: number[];
|
|
1780
|
+
onSelectedChange?: (selected: number[]) => void;
|
|
1781
|
+
onSelect: (id: number) => void;
|
|
1782
|
+
columnDefinitions: Array<ColumnDefinition$1<Partial<T>>>;
|
|
1783
|
+
dataValidation: Partial<{
|
|
1784
|
+
[K in keyof T]: boolean;
|
|
1785
|
+
}>[];
|
|
1786
|
+
includeDelete?: boolean;
|
|
1787
|
+
spanningRows?: ReactNode[];
|
|
1788
|
+
onChange: (indexes: number[], fieldName: keyof T, newValue: T[keyof T], valid: boolean) => void;
|
|
1789
|
+
onDelete: (rowIdx: number) => void;
|
|
1790
|
+
mergeRowsBy?: string;
|
|
1791
|
+
}
|
|
1792
|
+
interface TableCellEditableProps$1<T extends object> {
|
|
1793
|
+
cellDefinition: CellDefinition$1<T>;
|
|
1794
|
+
numOfRowSpan?: number;
|
|
1795
|
+
}
|
|
1796
|
+
|
|
1797
|
+
declare function TableEditable$1<T>(props: TableEditableProps$1<T>): react_jsx_runtime.JSX.Element;
|
|
1798
|
+
|
|
1799
|
+
declare function TableHeader$1<T>(props: TableHeaderProps$1<T>): react_jsx_runtime.JSX.Element;
|
|
1800
|
+
|
|
1801
|
+
declare function TableEditableBody$1<T>(props: TableEditableBodyProps$1<T>): react_jsx_runtime.JSX.Element;
|
|
1802
|
+
|
|
1803
|
+
declare function TableCellEditable$1<T extends object>(props: TableCellEditableProps$1<T>): react_jsx_runtime.JSX.Element;
|
|
1804
|
+
|
|
1805
|
+
declare function TopBarActions$1(props: TopBarActionsProps$1): react_jsx_runtime.JSX.Element;
|
|
1806
|
+
|
|
1726
1807
|
type CellDefinition<T extends object> = FieldDefinitionProps$1<T> & {
|
|
1727
1808
|
TableCellProps?: TableCellProps$1;
|
|
1728
1809
|
isTooltip?: boolean;
|
|
@@ -1745,6 +1826,7 @@ interface ColumnDefinition<T extends object> {
|
|
|
1745
1826
|
}
|
|
1746
1827
|
type TableEditableProps<T> = {
|
|
1747
1828
|
columnDefinitions: Array<ColumnDefinition<Partial<T>>>;
|
|
1829
|
+
fieldDefinitions: Array<ColumnDefinition<Partial<T>>>;
|
|
1748
1830
|
items: Array<Partial<T>>;
|
|
1749
1831
|
onChange(newData: Array<Partial<T>>, dataValid: boolean, fieldName?: keyof T): void;
|
|
1750
1832
|
getRowId?(obj: Partial<T>): number;
|
|
@@ -1780,6 +1862,7 @@ interface TableEditableBodyProps<T> {
|
|
|
1780
1862
|
onSelectedChange?: (selected: number[]) => void;
|
|
1781
1863
|
onSelect: (id: number) => void;
|
|
1782
1864
|
columnDefinitions: Array<ColumnDefinition<Partial<T>>>;
|
|
1865
|
+
fieldDefinitions?: Array<ColumnDefinition<Partial<T>>>;
|
|
1783
1866
|
dataValidation: Partial<{
|
|
1784
1867
|
[K in keyof T]: boolean;
|
|
1785
1868
|
}>[];
|
|
@@ -1791,6 +1874,7 @@ interface TableEditableBodyProps<T> {
|
|
|
1791
1874
|
}
|
|
1792
1875
|
interface TableCellEditableProps<T extends object> {
|
|
1793
1876
|
cellDefinition: CellDefinition<T>;
|
|
1877
|
+
isContainer?: boolean;
|
|
1794
1878
|
numOfRowSpan?: number;
|
|
1795
1879
|
}
|
|
1796
1880
|
|
|
@@ -3418,4 +3502,4 @@ declare function ThemeProvider(props: {
|
|
|
3418
3502
|
};
|
|
3419
3503
|
}): react_jsx_runtime.JSX.Element;
|
|
3420
3504
|
|
|
3421
|
-
export { Container$4 as Action, type ActionsProps, AdvancedSearch, type AdvancedSearchField, type AdvancedSearchProps, type AnalyticDataProviderModel, AppContext, AppProvider, AsyncAutocomplete, type AsyncAutocompleteProps, type AsynchronousAutocompleteProps, AwingContext, BarLineChart, type BaseDirectoryPermission, type BaseFieldDefinition, type BaseFieldRender, type BinaryTreeNode, BoxResizableSplit, type BoxResizableSplitProps, ButtonDateRangePicker, type ButtonDateRangePickerProps, ButtonSelect, type ButtonSelectProps, type Cell, type CellDefinition, type ChartContentProps, CircularProgress, DrawerBase as ClassicBaseDrawer, DrawerWrapper as ClassicDrawer, CloseAction, type ColumnDefinition, type CombinedProps, ContentHeader, type OwnProps as ContentHeaderProps, ControlPanels, CopyButton, type CopyButtonProps, CronTab, type CronTabProps, type CronTabValue, type DataExportEntity, DataForm, type DataFormProps, DataGrid, type DataGridColumnDefinitionBase, DataGridGroup, type DataGridProps, DataGridSortType, InputFactory as DataInput, type DataSet, DateAutoFormat, type DateAutoFormatProps, Container$2 as DatePicker, type DatePickerProps, type DateRange, DateRangePicker, Container$3 as DateRangePickerOld, type DateRangePickerOldProps, type DateRangePickerProps, type DayInterval, type DayIntervalPickerProps, EnhancedDialog as DeprecatedEnhancedDialog, type Directory$2 as Directory, CreateDirectory as DirectoryForm, PermissionWarpper as DirectoryPermission, type DirectoryPermissionServices, type DirectoryProps, DirectoryRoot, DirectorySystem, DirectoryTree, type DirectoryTreeProps, DrawerWrapper$1 as Drawer, type DrawerBaseProps, type DrawerHandle, DrawerNavigate, type DrawerNavigateProps, type DrawerProps, DrawerStateEnum, Container$1 as EnhancedAutoComplete, type EnhancedAutoCompleteProps, type EnhancedDialogProps, EnumFieldInputType, EnumSelectedPlaceType, FIELD_TYPE, type FieldDefinitionProps, type FileResponse, type FilterExpression, type FilterGroup, type FilterItem, FilterNotification, FilterOperationType, FilterTreeView, type FilterTreeViewProps, type FiltersType, FooterContainer as Footer, type FunctionStructure, GoogleMap, type GridSortDirection, type GridSortModel, type GroupComponentProps, type GroupFilter, GroupSystem, GroupTable, type GroupTableProps, type HeadCell, HierarchyTree, I18nProvider, type IChartJsContainer, type ICircularProgress, type IConfigChart, type IControlPanel, type DataGridGroupsProps as IDataGridGroups, type IDirectoryTreeViewProps, type IFilterField, type IGoogleMapProps, type IMenu, type IMonacoEditorProps, type IMultipleChoiceComponentProps, type IMultipleChoiceProps, type IMultipleHierarchicalChoice, type IMultipleHierarchicalChoiceInput, type IMultipleHierarchicalChoiceProps, type IMultipleSelect, INT_NUMBER_LIMIT, type IOption, type IPieContainer, type IStatisticsProps, type ITag, Container as Layout, Notifications as LayoutNotifications, type Locale, LogicExpressionInput as LogicExpression, type LogicExpressionInputProps, LogicalOperatorType, MemoWrap, type MemoWrapProps, type MenuOption, type ModalDrawerProps, MonacoEditor, MultipleChoice, type MultipleHierarChicalChoiceComponentProps, MultipleHierarchicalChoice, NoData, NotificationConfig, NotificationFilter$1 as NotificationObjectFilter, NumberFormat, type ObjectDefinition$4 as ObjectDefinition, type ObjectStructure, AsynchronousAutocomplete as OldAsyncAutoComplete, Page, PageManagement, type PageManagementProps, type PageProps, Pagination, type PermissionContainerProps, PieChart, PlaceFilter, type PlaceFilterProps, type QueryInput, type QueryInputStatistics, type Role, type RoleServices, RoleSystem, type RoleTag$3 as RoleTag, type RoleTagServices, RoleTagSystem, type Row, type RowActionDefinition, type RowId, type RowProps, type SchedulePermission, SchemaSystem, SearchBox, type SearchBoxProps, type SearchType, type SharingProps, Sharing as SharingSystem, ShowTreeItem, SimpleTreeItemWrapper, SortEnumType, Sortable, SortableTree, type SortableTreeProps, StatisticsCommon as Statistics, SubscriptionConfig, TIMELINE_TYPE, TYPE_CHART, TYPE_FILTERS, TabLabel, TableCellEditable, type TableCellEditableProps, TableEditable, TableEditableBody, type TableEditableBodyProps, type TableEditableProps, type TableGridProps, TableHeader, type TableHeaderProps, type TableLabelProps, TablePaginationActions, type TablePaginationActionsProps, Template as TemplateConfig, ThemeProvider, type Timestamp, ToolbarLayout as Toolbar, TopBarActions, type TopBarActionsProps, type TreeItem, type TreeItemOption, TreeItemWithAction, type TreeItemWithActionProps, type TreeItems, User as UserSystem, type Value, type ValueBase, WMAPEcalculator, WorkflowFeature as WorkflowSystem, WorkspaceType, Wrapper, arrayIsNotEmptyValid, calculateValue, calculatorDirectoryIdRoot, changeToAlias, checkValidMacAddress, checkValidStringListAP, checkValidUrl, colorValid, containsOnlyDigits, convertArrayFiltersToCondition, convertArrayToObject, convertDataSetPattern, convertDateTimeToTimestamp, convertFilterExpressionToCondition, convertFormulaToBinaryTree, convertTimeLine, convertTimelineToDateTime, convertTimestampToDateTime, convertToPostfix, darkTheme, dateRangeValid, dateTimeToString, dateToString, dateToStringDDMMYYYY, dateValid, download, downloadWithDataSet, emailValid, fillMissingDates, flattenTree, formatChartNumber, formatJSON, formatNumberByLocale, formatNumberWithLanguage, generateUUID, getCookie, getGUID, getPrecedence, getQueryVariable, getRandomKey, getRoutePath, getStartOfDay, getToday, handleExportExcel, i18n as i18nLib, isOperand, isOperator, lightTheme, nameExportStandard, notNullValid, numberNotNullValid, numberOnlyValid, numberPercentageNotNullValid, off, offlinePaginate, parseJSON, passwordValid, positiveNumberNotNullValid, pub, replaceFieldsValue, roundDecimalNumber, setObject, stringNotNullValid, stringNullableValid, sub, textValidation, timestampToStringDDMMYYYY, toCapitalize, tokenize, updateGUID, updateObjectFields, urlValid, useAppHelper, useAwing, useDrawer, useGetContext, useGetData, usePath, validateNumber };
|
|
3505
|
+
export { Container$4 as Action, type ActionsProps, AdvancedSearch, type AdvancedSearchField, type AdvancedSearchProps, type AnalyticDataProviderModel, AppContext, AppProvider, AsyncAutocomplete, type AsyncAutocompleteProps, type AsynchronousAutocompleteProps, AwingContext, BarLineChart, type BaseDirectoryPermission, type BaseFieldDefinition, type BaseFieldRender, type BinaryTreeNode, BoxResizableSplit, type BoxResizableSplitProps, ButtonDateRangePicker, type ButtonDateRangePickerProps, ButtonSelect, type ButtonSelectProps, type Cell, type CellDefinition$1 as CellDefinition, type ChartContentProps, CircularProgress, DrawerBase as ClassicBaseDrawer, DrawerWrapper as ClassicDrawer, CloseAction, type ColumnDefinition$1 as ColumnDefinition, type CombinedProps, ContentHeader, type OwnProps as ContentHeaderProps, ControlPanels, CopyButton, type CopyButtonProps, CronTab, type CronTabProps, type CronTabValue, type DataExportEntity, DataForm, type DataFormProps, DataGrid, type DataGridColumnDefinitionBase, DataGridGroup, type DataGridProps, DataGridSortType, InputFactory as DataInput, type DataSet, DateAutoFormat, type DateAutoFormatProps, Container$2 as DatePicker, type DatePickerProps, type DateRange, DateRangePicker, Container$3 as DateRangePickerOld, type DateRangePickerOldProps, type DateRangePickerProps, type DayInterval, type DayIntervalPickerProps, EnhancedDialog as DeprecatedEnhancedDialog, type Directory$2 as Directory, CreateDirectory as DirectoryForm, PermissionWarpper as DirectoryPermission, type DirectoryPermissionServices, type DirectoryProps, DirectoryRoot, DirectorySystem, DirectoryTree, type DirectoryTreeProps, DrawerWrapper$1 as Drawer, type DrawerBaseProps, type DrawerHandle, DrawerNavigate, type DrawerNavigateProps, type DrawerProps, DrawerStateEnum, Container$1 as EnhancedAutoComplete, type EnhancedAutoCompleteProps, type EnhancedDialogProps, EnumFieldInputType, EnumSelectedPlaceType, FIELD_TYPE, type FieldDefinitionProps, type FileResponse, type FilterExpression, type FilterGroup, type FilterItem, FilterNotification, FilterOperationType, FilterTreeView, type FilterTreeViewProps, type FiltersType, FooterContainer as Footer, type FunctionStructure, GoogleMap, type GridSortDirection, type GridSortModel, type GroupComponentProps, type GroupFilter, GroupSystem, GroupTable, type GroupTableProps, type HeadCell, HierarchyTree, I18nProvider, type IChartJsContainer, type ICircularProgress, type IConfigChart, type IControlPanel, type DataGridGroupsProps as IDataGridGroups, type IDirectoryTreeViewProps, type IFilterField, type IGoogleMapProps, type IMenu, type IMonacoEditorProps, type IMultipleChoiceComponentProps, type IMultipleChoiceProps, type IMultipleHierarchicalChoice, type IMultipleHierarchicalChoiceInput, type IMultipleHierarchicalChoiceProps, type IMultipleSelect, INT_NUMBER_LIMIT, type IOption, type IPieContainer, type IStatisticsProps, type ITag, Container as Layout, Notifications as LayoutNotifications, type Locale, LogicExpressionInput as LogicExpression, type LogicExpressionInputProps, LogicalOperatorType, MemoWrap, type MemoWrapProps, type MenuOption, type ModalDrawerProps, MonacoEditor, MultipleChoice, type MultipleHierarChicalChoiceComponentProps, MultipleHierarchicalChoice, NoData, NotificationConfig, NotificationFilter$1 as NotificationObjectFilter, NumberFormat, type ObjectDefinition$4 as ObjectDefinition, type ObjectStructure, AsynchronousAutocomplete as OldAsyncAutoComplete, Page, PageManagement, type PageManagementProps, type PageProps, Pagination, type PermissionContainerProps, PieChart, PlaceFilter, type PlaceFilterProps, type QueryInput, type QueryInputStatistics, type Role, type RoleServices, RoleSystem, type RoleTag$3 as RoleTag, type RoleTagServices, RoleTagSystem, type Row, type RowActionDefinition, type RowId, type RowProps, type SchedulePermission, SchemaSystem, SearchBox, type SearchBoxProps, type SearchType, type SharingProps, Sharing as SharingSystem, ShowTreeItem, SimpleTreeItemWrapper, SortEnumType, Sortable, SortableTree, type SortableTreeProps, StatisticsCommon as Statistics, SubscriptionConfig, TIMELINE_TYPE, TYPE_CHART, TYPE_FILTERS, TabLabel, TableCellEditable$1 as TableCellEditable, type TableCellEditableProps$1 as TableCellEditableProps, TableEditable$1 as TableEditable, TableEditableBody$1 as TableEditableBody, type TableEditableBodyProps$1 as TableEditableBodyProps, TableEditable as TableEditableCollapsible, TableEditableBody as TableEditableCollapsibleBody, TableCellEditable as TableEditableCollapsibleCell, type CellDefinition$1 as TableEditableCollapsibleCellDefinition, type ColumnDefinition$1 as TableEditableCollapsibleColumnDefinition, type TableCellEditableProps$1 as TableEditableCollapsibleTableCellEditableProps, type TableEditableBodyProps$1 as TableEditableCollapsibleTableEditableBodyProps, type TableEditableProps$1 as TableEditableCollapsibleTableEditableProps, TableHeader as TableEditableCollapsibleTableHeader, type TableHeaderProps$1 as TableEditableCollapsibleTableHeaderProps, TopBarActions as TableEditableCollapsibleTopBarActions, type TopBarActionsProps$1 as TableEditableCollapsibleTopBarActionsProps, type TableEditableProps$1 as TableEditableProps, type TableGridProps, TableHeader$1 as TableHeader, type TableHeaderProps$1 as TableHeaderProps, type TableLabelProps, TablePaginationActions, type TablePaginationActionsProps, Template as TemplateConfig, ThemeProvider, type Timestamp, ToolbarLayout as Toolbar, TopBarActions$1 as TopBarActions, type TopBarActionsProps$1 as TopBarActionsProps, type TreeItem, type TreeItemOption, TreeItemWithAction, type TreeItemWithActionProps, type TreeItems, User as UserSystem, type Value, type ValueBase, WMAPEcalculator, WorkflowFeature as WorkflowSystem, WorkspaceType, Wrapper, arrayIsNotEmptyValid, calculateValue, calculatorDirectoryIdRoot, changeToAlias, checkValidMacAddress, checkValidStringListAP, checkValidUrl, colorValid, containsOnlyDigits, convertArrayFiltersToCondition, convertArrayToObject, convertDataSetPattern, convertDateTimeToTimestamp, convertFilterExpressionToCondition, convertFormulaToBinaryTree, convertTimeLine, convertTimelineToDateTime, convertTimestampToDateTime, convertToPostfix, darkTheme, dateRangeValid, dateTimeToString, dateToString, dateToStringDDMMYYYY, dateValid, download, downloadWithDataSet, emailValid, fillMissingDates, flattenTree, formatChartNumber, formatJSON, formatNumberByLocale, formatNumberWithLanguage, generateUUID, getCookie, getGUID, getPrecedence, getQueryVariable, getRandomKey, getRoutePath, getStartOfDay, getToday, handleExportExcel, i18n as i18nLib, isOperand, isOperator, lightTheme, nameExportStandard, notNullValid, numberNotNullValid, numberOnlyValid, numberPercentageNotNullValid, off, offlinePaginate, parseJSON, passwordValid, positiveNumberNotNullValid, pub, replaceFieldsValue, roundDecimalNumber, setObject, stringNotNullValid, stringNullableValid, sub, textValidation, timestampToStringDDMMYYYY, toCapitalize, tokenize, updateGUID, updateObjectFields, urlValid, useAppHelper, useAwing, useDrawer, useGetContext, useGetData, usePath, validateNumber };
|