namirasoft-site-react 1.3.338 → 1.3.339
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.
|
@@ -14,6 +14,7 @@ export interface INSBoxEntityProps<Data> extends IBaseComponentProps, IValidatio
|
|
|
14
14
|
defaultValue?: string;
|
|
15
15
|
onChanged?: (e: NSBoxEntity<Data>) => void;
|
|
16
16
|
onClicked?: (e: NSBoxEntity<Data>) => void;
|
|
17
|
+
onLoaded?: (e: NSBoxEntity<Data>) => void;
|
|
17
18
|
multiple: boolean;
|
|
18
19
|
getItems: (filters: FilterItem[] | null, page: number | null, size: number | null) => Promise<{
|
|
19
20
|
count: number;
|
|
@@ -72,7 +72,10 @@ export class NSBoxEntity extends React.Component {
|
|
|
72
72
|
componentDidMount() {
|
|
73
73
|
this.props.getItems([], null, null).then(items => {
|
|
74
74
|
let items_string = items.rows.map(item => { return { value: this.props.getValue(item), desc: this.props.getText(item) }; });
|
|
75
|
-
this.setState({ items: items.rows, items_string })
|
|
75
|
+
this.setState({ items: items.rows, items_string }, () => {
|
|
76
|
+
if (this.props.onLoaded)
|
|
77
|
+
this.props.onLoaded(this);
|
|
78
|
+
});
|
|
76
79
|
}).catch(() => { });
|
|
77
80
|
}
|
|
78
81
|
render() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSBoxEntity.js","sourceRoot":"","sources":["../../src/components/NSBoxEntity.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,aAAa,MAAM,sCAAsC,CAAC;AAGjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"NSBoxEntity.js","sourceRoot":"","sources":["../../src/components/NSBoxEntity.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,25 +11,29 @@ import { BaseOptionType } from "antd/es/select";
|
|
|
11
11
|
import { FilterItem } from "namirasoft-core";
|
|
12
12
|
import { NSLoading } from "./NSLoading";
|
|
13
13
|
|
|
14
|
-
interface INSBoxEntitOption extends BaseOptionType
|
|
14
|
+
interface INSBoxEntitOption extends BaseOptionType
|
|
15
|
+
{
|
|
15
16
|
desc: string;
|
|
16
17
|
value: string;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
export interface INSBoxEntityProps<Data> extends IBaseComponentProps, IValidationProps
|
|
20
|
+
export interface INSBoxEntityProps<Data> extends IBaseComponentProps, IValidationProps
|
|
21
|
+
{
|
|
20
22
|
title: string;
|
|
21
23
|
placeholder?: string;
|
|
22
24
|
fullWidth?: boolean;
|
|
23
25
|
defaultValue?: string;
|
|
24
26
|
onChanged?: (e: NSBoxEntity<Data>) => void;
|
|
25
27
|
onClicked?: (e: NSBoxEntity<Data>) => void;
|
|
28
|
+
onLoaded?: (e: NSBoxEntity<Data>) => void;
|
|
26
29
|
multiple: boolean;
|
|
27
30
|
getItems: (filters: FilterItem[] | null, page: number | null, size: number | null) => Promise<{ count: number, rows: Data[] }>;
|
|
28
31
|
getValue: (item: Data) => string;
|
|
29
32
|
getText: (item: Data) => string;
|
|
30
33
|
}
|
|
31
34
|
|
|
32
|
-
export interface INSBoxEntityState<Data>
|
|
35
|
+
export interface INSBoxEntityState<Data>
|
|
36
|
+
{
|
|
33
37
|
items: Data[] | null;
|
|
34
38
|
items_string: INSBoxEntitOption[] | null;
|
|
35
39
|
value: Data | null;
|
|
@@ -37,8 +41,10 @@ export interface INSBoxEntityState<Data> {
|
|
|
37
41
|
error?: string;
|
|
38
42
|
}
|
|
39
43
|
|
|
40
|
-
export class NSBoxEntity<Data> extends React.Component<INSBoxEntityProps<Data>, INSBoxEntityState<Data>>
|
|
41
|
-
|
|
44
|
+
export class NSBoxEntity<Data> extends React.Component<INSBoxEntityProps<Data>, INSBoxEntityState<Data>>
|
|
45
|
+
{
|
|
46
|
+
constructor(props: INSBoxEntityProps<Data>)
|
|
47
|
+
{
|
|
42
48
|
super(props);
|
|
43
49
|
this.state = {
|
|
44
50
|
items: null,
|
|
@@ -52,61 +58,81 @@ export class NSBoxEntity<Data> extends React.Component<INSBoxEntityProps<Data>,
|
|
|
52
58
|
this.getValue = this.getValue.bind(this);
|
|
53
59
|
this.onChanged = this.onChanged.bind(this);
|
|
54
60
|
}
|
|
55
|
-
getError(value: Data | null): string | null
|
|
61
|
+
getError(value: Data | null): string | null
|
|
62
|
+
{
|
|
56
63
|
let value_string = value == null ? "" : this.props.getValue(value);
|
|
57
64
|
return (
|
|
58
65
|
Validator.getError(this.props.title, value_string, this.props)
|
|
59
66
|
);
|
|
60
67
|
}
|
|
61
|
-
getValue(): Data | null
|
|
68
|
+
getValue(): Data | null
|
|
69
|
+
{
|
|
62
70
|
let error = this.getError(this.state.value);
|
|
63
|
-
if (error)
|
|
71
|
+
if (error)
|
|
72
|
+
{
|
|
64
73
|
this.setState({ error });
|
|
65
74
|
throw new Error(error);
|
|
66
75
|
}
|
|
67
76
|
return this.state.value;
|
|
68
77
|
}
|
|
69
|
-
getValues(): Data[]
|
|
70
|
-
|
|
78
|
+
getValues(): Data[]
|
|
79
|
+
{
|
|
80
|
+
this.state.values.forEach(value =>
|
|
81
|
+
{
|
|
71
82
|
let error = this.getError(value);
|
|
72
|
-
if (error)
|
|
83
|
+
if (error)
|
|
84
|
+
{
|
|
73
85
|
this.setState({ error });
|
|
74
86
|
throw new Error(error);
|
|
75
87
|
}
|
|
76
88
|
});
|
|
77
89
|
return this.state.values;
|
|
78
90
|
}
|
|
79
|
-
setValue(value: Data | null): void
|
|
80
|
-
|
|
91
|
+
setValue(value: Data | null): void
|
|
92
|
+
{
|
|
93
|
+
this.setState({ value }, () =>
|
|
94
|
+
{
|
|
81
95
|
if (this.props.onChanged)
|
|
82
96
|
this.props.onChanged(this);
|
|
83
97
|
});
|
|
84
98
|
}
|
|
85
|
-
setValues(values: Data[]): void
|
|
86
|
-
|
|
99
|
+
setValues(values: Data[]): void
|
|
100
|
+
{
|
|
101
|
+
this.setState({ values }, () =>
|
|
102
|
+
{
|
|
87
103
|
if (this.props.onChanged)
|
|
88
104
|
this.props.onChanged(this);
|
|
89
105
|
});
|
|
90
106
|
}
|
|
91
|
-
private onChanged(value: string | null | string[]): void
|
|
107
|
+
private onChanged(value: string | null | string[]): void
|
|
108
|
+
{
|
|
92
109
|
if (this.state.items)
|
|
93
|
-
if (this.props.multiple)
|
|
110
|
+
if (this.props.multiple)
|
|
111
|
+
{
|
|
94
112
|
let string_values = value as string[];
|
|
95
113
|
let ds = this.state.items.filter(item => string_values.includes(this.props.getValue(item))) ?? [];
|
|
96
114
|
this.setValues(ds);
|
|
97
115
|
}
|
|
98
|
-
else
|
|
116
|
+
else
|
|
117
|
+
{
|
|
99
118
|
let d = this.state.items.find(item => this.props.getValue(item) === value) ?? null;
|
|
100
119
|
this.setValue(d);
|
|
101
120
|
}
|
|
102
121
|
}
|
|
103
|
-
override componentDidMount()
|
|
104
|
-
|
|
122
|
+
override componentDidMount()
|
|
123
|
+
{
|
|
124
|
+
this.props.getItems([], null, null).then(items =>
|
|
125
|
+
{
|
|
105
126
|
let items_string = items.rows.map(item => { return { value: this.props.getValue(item), desc: this.props.getText(item) } });
|
|
106
|
-
this.setState({ items: items.rows, items_string })
|
|
127
|
+
this.setState({ items: items.rows, items_string }, () =>
|
|
128
|
+
{
|
|
129
|
+
if (this.props.onLoaded)
|
|
130
|
+
this.props.onLoaded(this);
|
|
131
|
+
});
|
|
107
132
|
}).catch(() => { });
|
|
108
133
|
}
|
|
109
|
-
override render()
|
|
134
|
+
override render()
|
|
135
|
+
{
|
|
110
136
|
return (
|
|
111
137
|
<>
|
|
112
138
|
<div id={this.props.id} className={`${Styles.ns_input_parent}`}>
|