@etsoo/materialui 1.0.67 → 1.0.68
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/lib/AuditDisplay.d.ts +3 -13
- package/lib/AuditDisplay.js +1 -1
- package/lib/ShowDataComparison.d.ts +4 -10
- package/lib/ShowDataComparison.js +1 -1
- package/lib/TwoFieldInput.js +2 -4
- package/package.json +3 -3
- package/src/AuditDisplay.tsx +10 -16
- package/src/ShowDataComparison.tsx +4 -12
- package/src/TwoFieldInput.tsx +2 -2
package/lib/AuditDisplay.d.ts
CHANGED
|
@@ -1,21 +1,11 @@
|
|
|
1
|
+
import { AuditLineDto } from '@etsoo/appscript';
|
|
1
2
|
import { Theme } from '@mui/material';
|
|
2
3
|
import React, { CSSProperties } from 'react';
|
|
3
4
|
import { ListMoreDisplayProps } from './ListMoreDisplay';
|
|
4
|
-
import { AuditLineUpdateData } from './ShowDataComparison';
|
|
5
|
-
/**
|
|
6
|
-
* Audit line data model
|
|
7
|
-
*/
|
|
8
|
-
export interface AuditLine {
|
|
9
|
-
id: number;
|
|
10
|
-
creation: Date;
|
|
11
|
-
user: string;
|
|
12
|
-
action: string;
|
|
13
|
-
changes?: AuditLineUpdateData;
|
|
14
|
-
}
|
|
15
5
|
/**
|
|
16
6
|
* Audit display props
|
|
17
7
|
*/
|
|
18
|
-
export interface AuditDisplayProps extends Omit<ListMoreDisplayProps<
|
|
8
|
+
export interface AuditDisplayProps extends Omit<ListMoreDisplayProps<AuditLineDto>, 'children'> {
|
|
19
9
|
/**
|
|
20
10
|
* Get list item style callback
|
|
21
11
|
*/
|
|
@@ -23,7 +13,7 @@ export interface AuditDisplayProps extends Omit<ListMoreDisplayProps<AuditLine>,
|
|
|
23
13
|
/**
|
|
24
14
|
* Item/line renderer
|
|
25
15
|
*/
|
|
26
|
-
itemRenderer?: (data:
|
|
16
|
+
itemRenderer?: (data: AuditLineDto, index: number) => React.ReactNode;
|
|
27
17
|
}
|
|
28
18
|
/**
|
|
29
19
|
* Audit display
|
package/lib/AuditDisplay.js
CHANGED
|
@@ -32,7 +32,7 @@ export function AuditDisplay(props) {
|
|
|
32
32
|
? theme.palette.grey[100]
|
|
33
33
|
: theme.palette.grey[50]
|
|
34
34
|
}), itemRenderer = (data) => {
|
|
35
|
-
const changes = data
|
|
35
|
+
const { newData, oldData, changes = { newData: newData !== null && newData !== void 0 ? newData : {}, oldData: oldData !== null && oldData !== void 0 ? oldData : {} } } = data;
|
|
36
36
|
return (React.createElement(React.Fragment, null,
|
|
37
37
|
changes != null && (React.createElement(Button, { variant: "outlined", size: "small", onClick: () => ShowDataComparison(changes, title), sx: {
|
|
38
38
|
marginLeft: theme.spacing(1),
|
|
@@ -1,20 +1,14 @@
|
|
|
1
|
+
import { AuditLineChangesDto } from '@etsoo/appscript';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
-
*/
|
|
4
|
-
export interface AuditLineUpdateData {
|
|
5
|
-
oldData: Record<string, unknown>;
|
|
6
|
-
newData: Record<string, unknown>;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Check obj is instance of AuditLineUpdateData
|
|
3
|
+
* Check obj is instance of AuditLineChangesDto
|
|
10
4
|
* @param obj Input
|
|
11
5
|
* @returns Result
|
|
12
6
|
*/
|
|
13
|
-
export declare function IsAuditLineUpdateData(obj: any): obj is
|
|
7
|
+
export declare function IsAuditLineUpdateData(obj: any): obj is AuditLineChangesDto;
|
|
14
8
|
/**
|
|
15
9
|
* Show data comparison
|
|
16
10
|
* @param data Data
|
|
17
11
|
* @param modelTitle Model window title
|
|
18
12
|
* @param getLabel Get label callback
|
|
19
13
|
*/
|
|
20
|
-
export declare const ShowDataComparison: (data:
|
|
14
|
+
export declare const ShowDataComparison: (data: AuditLineChangesDto, modelTitle?: string, getLabel?: ((field: string) => string) | undefined) => void;
|
|
@@ -4,7 +4,7 @@ import { Table, TableBody, TableCell, TableHead, TableRow } from '@mui/material'
|
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { globalApp } from './app/ReactApp';
|
|
6
6
|
/**
|
|
7
|
-
* Check obj is instance of
|
|
7
|
+
* Check obj is instance of AuditLineChangesDto
|
|
8
8
|
* @param obj Input
|
|
9
9
|
* @returns Result
|
|
10
10
|
*/
|
package/lib/TwoFieldInput.js
CHANGED
|
@@ -44,10 +44,8 @@ export function TwoFieldInput(props) {
|
|
|
44
44
|
return '';
|
|
45
45
|
if (typeof v === 'number')
|
|
46
46
|
return v;
|
|
47
|
-
if (type === 'date')
|
|
48
|
-
return DateUtils.formatForInput(v);
|
|
49
|
-
if (type === 'datetime-local')
|
|
50
|
-
return DateUtils.formatForInput(v, true);
|
|
47
|
+
if (type === 'date' || type === 'datetime-local')
|
|
48
|
+
return DateUtils.formatForInput(v, type);
|
|
51
49
|
return v;
|
|
52
50
|
};
|
|
53
51
|
React.useEffect(() => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@etsoo/materialui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.68",
|
|
4
4
|
"description": "TypeScript Material-UI Implementation",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
"@emotion/css": "^11.10.5",
|
|
52
52
|
"@emotion/react": "^11.10.5",
|
|
53
53
|
"@emotion/styled": "^11.10.5",
|
|
54
|
-
"@etsoo/appscript": "^1.3.
|
|
54
|
+
"@etsoo/appscript": "^1.3.30",
|
|
55
55
|
"@etsoo/notificationbase": "^1.1.14",
|
|
56
56
|
"@etsoo/react": "^1.6.24",
|
|
57
|
-
"@etsoo/shared": "^1.1.
|
|
57
|
+
"@etsoo/shared": "^1.1.75",
|
|
58
58
|
"@mui/icons-material": "^5.10.9",
|
|
59
59
|
"@mui/material": "^5.10.13",
|
|
60
60
|
"@types/pica": "^9.0.1",
|
package/src/AuditDisplay.tsx
CHANGED
|
@@ -1,26 +1,16 @@
|
|
|
1
|
+
import { AuditLineDto } from '@etsoo/appscript';
|
|
1
2
|
import { Utils } from '@etsoo/shared';
|
|
2
3
|
import { Button, Divider, Theme, Typography, useTheme } from '@mui/material';
|
|
3
4
|
import React, { CSSProperties } from 'react';
|
|
4
5
|
import { globalApp } from './app/ReactApp';
|
|
5
6
|
import { ListMoreDisplay, ListMoreDisplayProps } from './ListMoreDisplay';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Audit line data model
|
|
10
|
-
*/
|
|
11
|
-
export interface AuditLine {
|
|
12
|
-
id: number;
|
|
13
|
-
creation: Date;
|
|
14
|
-
user: string;
|
|
15
|
-
action: string;
|
|
16
|
-
changes?: AuditLineUpdateData;
|
|
17
|
-
}
|
|
7
|
+
import { ShowDataComparison } from './ShowDataComparison';
|
|
18
8
|
|
|
19
9
|
/**
|
|
20
10
|
* Audit display props
|
|
21
11
|
*/
|
|
22
12
|
export interface AuditDisplayProps
|
|
23
|
-
extends Omit<ListMoreDisplayProps<
|
|
13
|
+
extends Omit<ListMoreDisplayProps<AuditLineDto>, 'children'> {
|
|
24
14
|
/**
|
|
25
15
|
* Get list item style callback
|
|
26
16
|
*/
|
|
@@ -29,7 +19,7 @@ export interface AuditDisplayProps
|
|
|
29
19
|
/**
|
|
30
20
|
* Item/line renderer
|
|
31
21
|
*/
|
|
32
|
-
itemRenderer?: (data:
|
|
22
|
+
itemRenderer?: (data: AuditLineDto, index: number) => React.ReactNode;
|
|
33
23
|
}
|
|
34
24
|
|
|
35
25
|
// Get label
|
|
@@ -65,7 +55,11 @@ export function AuditDisplay(props: AuditDisplayProps) {
|
|
|
65
55
|
: theme.palette.grey[50]
|
|
66
56
|
}),
|
|
67
57
|
itemRenderer = (data) => {
|
|
68
|
-
const
|
|
58
|
+
const {
|
|
59
|
+
newData,
|
|
60
|
+
oldData,
|
|
61
|
+
changes = { newData: newData ?? {}, oldData: oldData ?? {} }
|
|
62
|
+
} = data;
|
|
69
63
|
return (
|
|
70
64
|
<React.Fragment>
|
|
71
65
|
{changes != null && (
|
|
@@ -103,7 +97,7 @@ export function AuditDisplay(props: AuditDisplayProps) {
|
|
|
103
97
|
|
|
104
98
|
// Layout
|
|
105
99
|
return (
|
|
106
|
-
<ListMoreDisplay<
|
|
100
|
+
<ListMoreDisplay<AuditLineDto> headerTitle={headerTitle} {...rest}>
|
|
107
101
|
{(data, index) => (
|
|
108
102
|
<div key={data.id} style={getItemStyle(index, theme)}>
|
|
109
103
|
{itemRenderer(data, index)}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IApp } from '@etsoo/appscript
|
|
1
|
+
import { AuditLineChangesDto, IApp } from '@etsoo/appscript';
|
|
2
2
|
import { NotificationMessageType } from '@etsoo/notificationbase';
|
|
3
3
|
import { Utils } from '@etsoo/shared';
|
|
4
4
|
import {
|
|
@@ -12,19 +12,11 @@ import React from 'react';
|
|
|
12
12
|
import { globalApp } from './app/ReactApp';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
export interface AuditLineUpdateData {
|
|
18
|
-
oldData: Record<string, unknown>;
|
|
19
|
-
newData: Record<string, unknown>;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Check obj is instance of AuditLineUpdateData
|
|
15
|
+
* Check obj is instance of AuditLineChangesDto
|
|
24
16
|
* @param obj Input
|
|
25
17
|
* @returns Result
|
|
26
18
|
*/
|
|
27
|
-
export function IsAuditLineUpdateData(obj: any): obj is
|
|
19
|
+
export function IsAuditLineUpdateData(obj: any): obj is AuditLineChangesDto {
|
|
28
20
|
return (
|
|
29
21
|
typeof obj === 'object' &&
|
|
30
22
|
'oldData' in obj &&
|
|
@@ -48,7 +40,7 @@ const formatValue = (value: unknown, app: IApp) => {
|
|
|
48
40
|
* @param getLabel Get label callback
|
|
49
41
|
*/
|
|
50
42
|
export const ShowDataComparison = (
|
|
51
|
-
data:
|
|
43
|
+
data: AuditLineChangesDto,
|
|
52
44
|
modelTitle?: string,
|
|
53
45
|
getLabel?: (field: string) => string
|
|
54
46
|
) => {
|
package/src/TwoFieldInput.tsx
CHANGED
|
@@ -83,8 +83,8 @@ export function TwoFieldInput(props: TwoFieldInputProps) {
|
|
|
83
83
|
const formatValue = (v: ValueType, type?: string) => {
|
|
84
84
|
if (v == null) return '';
|
|
85
85
|
if (typeof v === 'number') return v;
|
|
86
|
-
if (type === 'date'
|
|
87
|
-
|
|
86
|
+
if (type === 'date' || type === 'datetime-local')
|
|
87
|
+
return DateUtils.formatForInput(v, type);
|
|
88
88
|
return v;
|
|
89
89
|
};
|
|
90
90
|
|