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":"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"}
1
+ {"version":3,"file":"NSBoxEntity.js","sourceRoot":"","sources":["../../src/components/NSBoxEntity.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.3.338",
11
+ "version": "1.3.339",
12
12
  "author": "Amir Abolhasani, Alireza Esmaeeli, Sepideh Mazloumi, Hooman Shashaeh",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -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
- constructor(props: INSBoxEntityProps<Data>) {
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
- this.state.values.forEach(value => {
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
- this.setState({ value }, () => {
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
- this.setState({ values }, () => {
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
- this.props.getItems([], null, null).then(items => {
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}`}>