namirasoft-site-react 1.3.201 → 1.3.203
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.
|
@@ -5,10 +5,9 @@ export interface INSTableProps<RowType> extends IBaseComponentProps {
|
|
|
5
5
|
columns: {
|
|
6
6
|
[key: string]: string;
|
|
7
7
|
};
|
|
8
|
-
rows: RowType[];
|
|
9
8
|
pageSize: number;
|
|
10
9
|
totalItems: number;
|
|
11
|
-
|
|
10
|
+
reload: (page: number) => void;
|
|
12
11
|
getRowKey: (row: RowType, rowIndex: number) => string;
|
|
13
12
|
getColumnAttributes?: (column: string, columnIndex: number) => {
|
|
14
13
|
[key: string]: string;
|
|
@@ -22,7 +21,7 @@ export interface NSTableState<RowType> {
|
|
|
22
21
|
columns: {
|
|
23
22
|
[key: string]: string;
|
|
24
23
|
};
|
|
25
|
-
rows: RowType[];
|
|
24
|
+
rows: RowType[] | null;
|
|
26
25
|
title?: string;
|
|
27
26
|
currentPage: number;
|
|
28
27
|
model: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { createElement as _createElement } from "react";
|
|
3
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
4
|
import NSButton from './NSButton';
|
|
5
5
|
import { NSBoxSearch } from './NSBoxSearch';
|
|
6
6
|
import { NSPagination } from './NSPagination';
|
|
@@ -14,10 +14,16 @@ export class NSTable extends Component {
|
|
|
14
14
|
super(props);
|
|
15
15
|
this.onPageChange = (page) => {
|
|
16
16
|
this.setState({ currentPage: page });
|
|
17
|
-
this.props.
|
|
17
|
+
this.props.reload(page);
|
|
18
18
|
};
|
|
19
|
-
this.state = { columns: props.columns, rows:
|
|
19
|
+
this.state = { columns: props.columns, rows: null, currentPage: 1, model: { show: false } };
|
|
20
20
|
this.search = React.createRef();
|
|
21
|
+
this.setColumns = this.setColumns.bind(this);
|
|
22
|
+
this.setRows = this.setRows.bind(this);
|
|
23
|
+
this.getSearchValue = this.getSearchValue.bind(this);
|
|
24
|
+
this.showModal = this.showModal.bind(this);
|
|
25
|
+
this.hideModal = this.hideModal.bind(this);
|
|
26
|
+
this.onPageChange = this.onPageChange.bind(this);
|
|
21
27
|
}
|
|
22
28
|
setColumns(columns) {
|
|
23
29
|
this.setState({ columns });
|
|
@@ -73,7 +79,19 @@ export class NSTable extends Component {
|
|
|
73
79
|
this.showModal(getCell(row, column, rowIndex, columnIndex), column);
|
|
74
80
|
}
|
|
75
81
|
};
|
|
76
|
-
|
|
82
|
+
let content;
|
|
83
|
+
if (this.state.rows == null) {
|
|
84
|
+
content = _jsx(_Fragment, {});
|
|
85
|
+
}
|
|
86
|
+
else if (this.state.rows.length == 0) {
|
|
87
|
+
content = _jsx(_Fragment, {});
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
content = this.state.rows.map((row, rowIndex) => _jsx("tr", { onClick: (e) => { onRowClick(e, row, rowIndex); }, children: column_keys.map((column, columnIndex) => (_createElement("td", Object.assign({}, getColumnAttributes(column, columnIndex), { key: this.props.getRowKey(row, rowIndex), "data-label": `${this.state.columns[column]} : `, onClick: (e) => { onCellClick(e, row, column, rowIndex, columnIndex); } }), getCell(row, column, rowIndex, columnIndex)))) }, this.props.getRowKey(row, rowIndex)));
|
|
91
|
+
}
|
|
92
|
+
return (_jsxs("div", { id: this.props.id, className: `${Styles.ns_project_list_container} ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: [_jsx(NSBoxSearch, { title: "Search", required: false, onChanged: this.props.onChanged, ref: this.search }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), _jsxs("table", { className: Styles.ns_table, children: [_jsx("thead", { className: Styles.ns_thead, children: _jsx("tr", { children: column_keys.map(column_key => _jsx("th", { scope: "col", onClick: (e) => modalTitle(e), children: this.state.columns[column_key] }, column_key)) }) }), _jsx("tbody", { className: Styles.ns_tbody, children: content })] }), _jsx(NSSpace, { size: NSSpaceSizeType.MICRO }), _jsxs("section", { className: Styles.ns_pagination_button, children: [_jsx(NSPagination, { pageSize: this.props.pageSize, currentPage: this.state.currentPage, totalItems: this.props.totalItems, onPageChange: this.onPageChange }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), _jsxs("div", { className: Styles.ns_button, children: [_jsx(NSButton, { title: 'Export', icon: { src: "https://static.namirasoft.com/image/concept/export/blue.svg" }, onClick: () => { }, style: { border: '1px solid rgba(255, 148, 50, 1)', width: "128px" } }), _jsx(NSButton, { title: 'Refresh', icon: { src: "https://static.namirasoft.com/image/concept/export/blue.svg" }, onClick: () => {
|
|
93
|
+
this.props.reload(this.state.currentPage);
|
|
94
|
+
}, style: { border: '1px solid rgba(3, 119, 255, 1)', width: "128px" } })] })] }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), _jsx(NSModal, { show: this.state.model.show, description: this.state.model.description, onClose: () => { this.hideModal(); }, title: this.state.title, column: this.state.model.columnName })] }));
|
|
77
95
|
}
|
|
78
96
|
}
|
|
79
97
|
//# sourceMappingURL=NSTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSTable.js","sourceRoot":"","sources":["../../src/components/NSTable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"NSTable.js","sourceRoot":"","sources":["../../src/components/NSTable.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -13,10 +13,9 @@ import { NSModal } from './NSModal';
|
|
|
13
13
|
export interface INSTableProps<RowType> extends IBaseComponentProps
|
|
14
14
|
{
|
|
15
15
|
columns: { [key: string]: string };
|
|
16
|
-
rows: RowType[];
|
|
17
16
|
pageSize: number;
|
|
18
17
|
totalItems: number;
|
|
19
|
-
|
|
18
|
+
reload: (page: number) => void
|
|
20
19
|
getRowKey: (row: RowType, rowIndex: number) => string;
|
|
21
20
|
getColumnAttributes?: (column: string, columnIndex: number) => { [key: string]: string };
|
|
22
21
|
getCell?: (row: RowType, column: string, rowIndex: number, columnIndex: number) => any;
|
|
@@ -28,7 +27,7 @@ export interface INSTableProps<RowType> extends IBaseComponentProps
|
|
|
28
27
|
export interface NSTableState<RowType>
|
|
29
28
|
{
|
|
30
29
|
columns: { [key: string]: string };
|
|
31
|
-
rows: RowType[];
|
|
30
|
+
rows: RowType[] | null;
|
|
32
31
|
title?: string;
|
|
33
32
|
currentPage: number,
|
|
34
33
|
model: {
|
|
@@ -45,8 +44,14 @@ export class NSTable<RowType> extends Component<INSTableProps<RowType>, NSTableS
|
|
|
45
44
|
constructor(props: INSTableProps<RowType>)
|
|
46
45
|
{
|
|
47
46
|
super(props);
|
|
48
|
-
this.state = { columns: props.columns, rows:
|
|
47
|
+
this.state = { columns: props.columns, rows: null, currentPage: 1, model: { show: false } };
|
|
49
48
|
this.search = React.createRef<NSBoxSearch>();
|
|
49
|
+
this.setColumns = this.setColumns.bind(this);
|
|
50
|
+
this.setRows = this.setRows.bind(this);
|
|
51
|
+
this.getSearchValue = this.getSearchValue.bind(this);
|
|
52
|
+
this.showModal = this.showModal.bind(this);
|
|
53
|
+
this.hideModal = this.hideModal.bind(this);
|
|
54
|
+
this.onPageChange = this.onPageChange.bind(this);
|
|
50
55
|
}
|
|
51
56
|
setColumns(columns: { [key: string]: string })
|
|
52
57
|
{
|
|
@@ -71,7 +76,7 @@ export class NSTable<RowType> extends Component<INSTableProps<RowType>, NSTableS
|
|
|
71
76
|
onPageChange = (page: number) =>
|
|
72
77
|
{
|
|
73
78
|
this.setState({ currentPage: page });
|
|
74
|
-
this.props.
|
|
79
|
+
this.props.reload(page);
|
|
75
80
|
}
|
|
76
81
|
override render()
|
|
77
82
|
{
|
|
@@ -119,6 +124,30 @@ export class NSTable<RowType> extends Component<INSTableProps<RowType>, NSTableS
|
|
|
119
124
|
this.showModal(getCell(row, column, rowIndex, columnIndex), column);
|
|
120
125
|
}
|
|
121
126
|
};
|
|
127
|
+
let content;
|
|
128
|
+
if (this.state.rows == null)
|
|
129
|
+
{
|
|
130
|
+
// todo
|
|
131
|
+
content = <></>
|
|
132
|
+
}
|
|
133
|
+
else if (this.state.rows.length == 0)
|
|
134
|
+
{
|
|
135
|
+
// todo
|
|
136
|
+
content = <></>
|
|
137
|
+
}
|
|
138
|
+
else
|
|
139
|
+
{
|
|
140
|
+
content = this.state.rows.map((row, rowIndex) =>
|
|
141
|
+
<tr key={this.props.getRowKey(row, rowIndex)} onClick={(e) => { onRowClick(e, row, rowIndex); }}>
|
|
142
|
+
{
|
|
143
|
+
column_keys.map((column, columnIndex) => (
|
|
144
|
+
<td {...getColumnAttributes(column, columnIndex)} key={this.props.getRowKey(row, rowIndex)} data-label={`${this.state.columns[column]} : `} onClick={(e) => { onCellClick(e, row, column, rowIndex, columnIndex); }}>
|
|
145
|
+
{getCell(row, column, rowIndex, columnIndex)}
|
|
146
|
+
</td>
|
|
147
|
+
))
|
|
148
|
+
}
|
|
149
|
+
</tr>)
|
|
150
|
+
}
|
|
122
151
|
return (
|
|
123
152
|
<div id={this.props.id}
|
|
124
153
|
className={`${Styles.ns_project_list_container} ${this.props.classList?.join(" ")}`}
|
|
@@ -135,18 +164,7 @@ export class NSTable<RowType> extends Component<INSTableProps<RowType>, NSTableS
|
|
|
135
164
|
</tr>
|
|
136
165
|
</thead>
|
|
137
166
|
<tbody className={Styles.ns_tbody}>
|
|
138
|
-
{
|
|
139
|
-
this.state.rows.map((row, rowIndex) =>
|
|
140
|
-
<tr key={this.props.getRowKey(row, rowIndex)} onClick={(e) => { onRowClick(e, row, rowIndex); }}>
|
|
141
|
-
{
|
|
142
|
-
column_keys.map((column, columnIndex) => (
|
|
143
|
-
<td {...getColumnAttributes(column, columnIndex)} key={this.props.getRowKey(row, rowIndex)} data-label={`${this.state.columns[column]} : `} onClick={(e) => { onCellClick(e, row, column, rowIndex, columnIndex); }}>
|
|
144
|
-
{getCell(row, column, rowIndex, columnIndex)}
|
|
145
|
-
</td>
|
|
146
|
-
))
|
|
147
|
-
}
|
|
148
|
-
</tr>)
|
|
149
|
-
}
|
|
167
|
+
{content}
|
|
150
168
|
</tbody >
|
|
151
169
|
</table>
|
|
152
170
|
<NSSpace size={NSSpaceSizeType.MICRO} />
|
|
@@ -155,7 +173,10 @@ export class NSTable<RowType> extends Component<INSTableProps<RowType>, NSTableS
|
|
|
155
173
|
<NSSpace size={NSSpaceSizeType.SMALL} />
|
|
156
174
|
<div className={Styles.ns_button}>
|
|
157
175
|
<NSButton title='Export' icon={{ src: "https://static.namirasoft.com/image/concept/export/blue.svg" }} onClick={() => { }} style={{ border: '1px solid rgba(255, 148, 50, 1)', width: "128px" }} />
|
|
158
|
-
<NSButton title='Refresh' icon={{ src: "https://static.namirasoft.com/image/concept/export/blue.svg" }} onClick={() =>
|
|
176
|
+
<NSButton title='Refresh' icon={{ src: "https://static.namirasoft.com/image/concept/export/blue.svg" }} onClick={() =>
|
|
177
|
+
{
|
|
178
|
+
this.props.reload(this.state.currentPage);
|
|
179
|
+
}} style={{ border: '1px solid rgba(3, 119, 255, 1)', width: "128px" }} />
|
|
159
180
|
</div>
|
|
160
181
|
</section>
|
|
161
182
|
<NSSpace size={NSSpaceSizeType.SMALL} />
|
|
@@ -167,6 +188,6 @@ export class NSTable<RowType> extends Component<INSTableProps<RowType>, NSTableS
|
|
|
167
188
|
column={this.state.model.columnName}
|
|
168
189
|
/>
|
|
169
190
|
</div >
|
|
170
|
-
)
|
|
191
|
+
);
|
|
171
192
|
}
|
|
172
193
|
}
|