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
- getRows: (page: number) => void;
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.getRows(page);
17
+ this.props.reload(page);
18
18
  };
19
- this.state = { columns: props.columns, rows: props.rows, currentPage: 1, model: { show: false } };
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
- 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: 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))) })] }), _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: () => { }, 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 })] }));
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;AA8BpC,MAAM,OAAO,OAAiB,SAAQ,SAAwD;IAI7F,YAAY,KAA6B;QAExC,KAAK,CAAC,KAAK,CAAC,CAAC;QAwBd,iBAAY,GAAG,CAAC,IAAY,EAAE,EAAE;YAE/B,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAA;QA3BA,IAAI,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAClG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,EAAe,CAAC;IAC9C,CAAC;IACD,UAAU,CAAC,OAAkC;QAE5C,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,CAAC,IAAe;QAEtB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,cAAc;;QAEb,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,0CAAE,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/C,CAAC;IACD,SAAS,CAAC,WAAmB,EAAE,UAAkB;QAEhD,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,SAAS;QAER,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAMQ,MAAM;;QAEd,IAAI,UAAU,GAAG,CAAC,CAAM,EAAE,EAAE;YAE3B,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC,CAAA;QACD,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,mBAAmB,GAAG,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE;YAEjE,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB;gBACjC,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC5D,OAAO,EAAE,CAAC;QACX,CAAC,CAAA;QACD,IAAI,OAAO,GAAG,CAAC,GAAY,EAAE,MAAc,EAAE,QAAgB,EAAE,WAAmB,EAAE,EAAE;YAErF,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;gBACrB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC/D,OAAQ,GAAW,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAA;QACD,IAAI,UAAU,GAAG,CAAC,CAAoD,EAAE,GAAY,EAAE,QAAgB,EAAE,EAAE;YAEzG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU;gBACxB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF,IAAI,WAAW,GAAG,CAAC,CAAyD,EAAE,GAAY,EAAE,MAAc,EAAE,QAAgB,EAAE,WAAmB,EAAE,EAAE;YAEpJ,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,MAAM,KAAK,OAAO,EACtB;gBACC,QAAQ,GAAG,IAAI,CAAC;aAChB;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EACjC;gBACC,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACrE,IAAI,GAAG,KAAK,SAAS,EACrB;oBACC,QAAQ,GAAG,IAAI,CAAC;iBAChB;qBACD;oBACC,QAAQ,GAAG,GAAG,CAAC;iBACf;aACD;YACD,IAAI,CAAC,QAAQ,EACb;gBACC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;aACpE;QACF,CAAC,CAAC;QACF,OAAO,CACN,eAAK,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EACrB,SAAS,EAAE,GAAG,MAAM,CAAC,yBAAyB,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EACnF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,aACvB,KAAC,WAAW,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,GAAI,EAClG,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,KAAK,GAAI,EACxC,iBAAO,SAAS,EAAE,MAAM,CAAC,QAAQ,aAChC,gBAAO,SAAS,EAAE,MAAM,CAAC,QAAQ,YAChC,uBACE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,aAAqB,KAAK,EAAC,KAAK,EAC9D,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,YAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAFQ,UAAU,CAG7C,CAAC,GACF,GACE,EACR,gBAAO,SAAS,EAAE,MAAM,CAAC,QAAQ,YAE/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CACrC,aAA8C,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAE7F,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CACxC,uCAAQ,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,IAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,gBAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,KACjN,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CACxC,CACL,CAAC,IANK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAQvC,CAAC,GAEA,IACF,EACR,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,KAAK,GAAI,EACxC,mBAAS,SAAS,EAAE,MAAM,CAAC,oBAAoB,aAC9C,KAAC,YAAY,IAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,GAAI,EACxJ,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,KAAK,GAAI,EACxC,eAAK,SAAS,EAAE,MAAM,CAAC,SAAS,aAC/B,KAAC,QAAQ,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAE,EAAE,GAAG,EAAE,6DAA6D,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,iCAAiC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAI,EACnM,KAAC,QAAQ,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAE,EAAE,GAAG,EAAE,6DAA6D,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAI,IAC9L,IACG,EACV,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,KAAK,GAAI,EACxC,KAAC,OAAO,IACP,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAC3B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EACzC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EACpC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAClC,IACI,CACP,CAAA;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"NSTable.js","sourceRoot":"","sources":["../../src/components/NSTable.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.201",
11
+ "version": "1.3.203",
12
12
  "author": "Amir Abolhasani, Alireza Esmaeeli, Sepideh Mazloumi, Hooman Shashaeh",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -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
- getRows: (page: number) => void
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: props.rows, currentPage: 1, model: { show: false } };
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.getRows(page);
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={() => { }} style={{ border: '1px solid rgba(3, 119, 255, 1)', width: "128px" }} />
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
  }