namirasoft-site-react 1.4.552 → 1.4.553

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,6 +5,7 @@ import { INSBoxBaseLayoutProps, NSBoxBaseLayout } from "./NSBoxBaseLayout";
5
5
  import { INSBox } from "./INSBox";
6
6
  export interface NSBoxBooleanProps extends IBaseComponentProps, IValidationProps, INSBoxBaseLayoutProps<NSBoxBoolean, boolean> {
7
7
  checked?: (boolean | null);
8
+ triState?: boolean;
8
9
  label?: IBaseComponentProps;
9
10
  input?: IBaseComponentProps;
10
11
  children?: ReactNode;
@@ -23,6 +24,7 @@ export declare class NSBoxBoolean extends React.Component<NSBoxBooleanProps, NSB
23
24
  setValueBool(value: boolean, callback?: () => void): void;
24
25
  getValueNull(checkError?: boolean): boolean | null;
25
26
  setValueNull(value: boolean | null, callback?: () => void): void;
27
+ getNextTriState(): boolean | null;
26
28
  isEmpty(): boolean;
27
29
  setDisabled(disabled: boolean): void;
28
30
  componentDidUpdate(prevProps: Readonly<NSBoxBooleanProps>): void;
@@ -12,7 +12,7 @@ export class NSBoxBoolean extends React.Component {
12
12
  super(props);
13
13
  this._isdirtied = false;
14
14
  this.NSBoxBaseLayout_Main = createRef();
15
- this.state = { value: (_b = (_a = props.checked) !== null && _a !== void 0 ? _a : props.defaultValue) !== null && _b !== void 0 ? _b : false };
15
+ this.state = { value: (_b = (_a = props.checked) !== null && _a !== void 0 ? _a : props.defaultValue) !== null && _b !== void 0 ? _b : (props.triState ? null : false) };
16
16
  this.isEmpty = this.isEmpty.bind(this);
17
17
  this.getError = this.getError.bind(this);
18
18
  this.getValue = this.getValue.bind(this);
@@ -59,6 +59,13 @@ export class NSBoxBoolean extends React.Component {
59
59
  callback === null || callback === void 0 ? void 0 : callback();
60
60
  });
61
61
  }
62
+ getNextTriState() {
63
+ if (this.state.value === null)
64
+ return true;
65
+ if (this.state.value === true)
66
+ return false;
67
+ return null;
68
+ }
62
69
  isEmpty() {
63
70
  return !this._isdirtied;
64
71
  }
@@ -80,7 +87,7 @@ export class NSBoxBoolean extends React.Component {
80
87
  let menu = safeMenuMenuItem(this.props, () => { });
81
88
  return (_jsx(NSBoxBaseLayout, Object.assign({ ref: this.NSBoxBaseLayout_Main }, this.props, { title: this.props.disabled ? this.props.title : "", menu: menu, getValue: () => new BooleanFormatter("True", "False").format(this.getValue(false)), children: _jsxs("label", { id: (_a = this.props.label) === null || _a === void 0 ? void 0 : _a.id, className: `ns-font-16-normal ${Styles.ns_box_boolean_label} ${(_d = (_c = (_b = this.props.label) === null || _b === void 0 ? void 0 : _b.classList) === null || _c === void 0 ? void 0 : _c.join(" ")) !== null && _d !== void 0 ? _d : ""}`, style: (_e = this.props.label) === null || _e === void 0 ? void 0 : _e.style, htmlFor: this.props.name, children: [_jsx("input", { id: (_f = this.props.input) === null || _f === void 0 ? void 0 : _f.id, name: (_g = this.props.input) === null || _g === void 0 ? void 0 : _g.name, type: "checkbox", className: `${Styles.ns_box_boolean_input} ${this.state.value == null ? Styles.ns_box_boolean_indeterminate : ""} ${(_k = (_j = (_h = this.props.input) === null || _h === void 0 ? void 0 : _h.classList) === null || _j === void 0 ? void 0 : _j.join(" ")) !== null && _k !== void 0 ? _k : ""}`, checked: (_l = this.state.value) !== null && _l !== void 0 ? _l : false, onChange: e => {
82
89
  this._isdirtied = true;
83
- this.setValue(e.target.checked);
90
+ this.setValue(this.props.triState ? this.getNextTriState() : e.target.checked);
84
91
  }, onClick: () => { var _a, _b; (_b = (_a = this.props).onClicked) === null || _b === void 0 ? void 0 : _b.call(_a, this); }, style: (_m = this.props.input) === null || _m === void 0 ? void 0 : _m.style }), _jsx("span", { style: { width: "0px" } }), this.props.hideHeader && this.props.required && _jsx("span", { style: { color: "red" }, children: "*" }), this.props.title, this.props.children] }) })));
85
92
  }
86
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NSBoxBoolean.js","sourceRoot":"","sources":["../../src/components/NSBoxBoolean.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AACpD,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAyB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAejE,MAAM,OAAO,YAAa,SAAQ,KAAK,CAAC,SAA+C;IAItF,YAAY,KAAwB;;QAEnC,KAAK,CAAC,KAAK,CAAC,CAAC;QAJN,eAAU,GAAY,KAAK,CAAC;QACpC,yBAAoB,GAAG,SAAS,EAAmB,CAAC;QAInD,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,MAAA,MAAA,KAAK,CAAC,OAAO,mCAAI,KAAK,CAAC,YAAY,mCAAI,KAAK,EAAE,CAAC;QACrE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,QAAQ;QAEP,OAAO,CACN,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAClE,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,aAAsB,IAAI;QAElC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IACD,QAAQ,CAAC,KAAqB,EAAE,QAAqB;QAEpD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,YAAY,CAAC,aAAsB,IAAI;;QAEtC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC9C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAClE,OAAO,MAAA,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,mCAAI,KAAK,CAAC;IACzF,CAAC;IACD,YAAY,CAAC,KAAc,EAAE,QAAqB;QAEjD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,YAAY,CAAC,aAAsB,IAAI;;QAEtC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACtB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACnB,IAAI,MAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,0CAAE,MAAM,EAAE;gBAC3C,OAAO,IAAI,CAAC;QAC1B,OAAO,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC;IACD,YAAY,CAAC,KAAqB,EAAE,QAAqB;;QAElD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACnB,MAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,0CAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;;YAE7B,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,SAAS,mDAAG,IAAI,CAAC,CAAC;YAC7B,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO;QAEN,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACE,WAAW,CAAC,QAAiB;;QAEzB,MAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,0CAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACK,kBAAkB,CAAC,SAAsC;QAEjE,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO;YAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;gBACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACQ,iBAAiB;;QAEzB,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,SAAS,mDAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACQ,MAAM;;QAEd,IAAI,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAEnD,OAAO,CACN,KAAC,eAAe,kBACf,GAAG,EAAE,IAAI,CAAC,oBAAoB,IAC1B,IAAI,CAAC,KAAK,IACd,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAClD,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAElF,iBACC,EAAE,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,EAAE,EACxB,SAAS,EAAE,qBAAqB,MAAM,CAAC,oBAAoB,IAAI,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,mCAAI,EAAE,EAAE,EAC7G,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,EAC9B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,aAET,gBACI,EAAE,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,EAAE,EACxB,IAAI,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,IAAI,EAC5B,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAoB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,IAAI,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,mCAAI,EAAE,EAAE,EAClK,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,KAAK,EAClC,QAAQ,EAAE,CAAC,CAAC,EAAE;4BAEV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;4BACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACpC,CAAC,EACD,OAAO,EAAE,GAAG,EAAE,eAAG,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,SAAS,mDAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAChD,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,GAChC,EACjB,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAS,EACrC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAU,EACvF,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,CAAC,KAAK,CAAC,QAAQ,IACb,IACS,CAClB,CAAC;IACH,CAAC;CACD"}
1
+ {"version":3,"file":"NSBoxBoolean.js","sourceRoot":"","sources":["../../src/components/NSBoxBoolean.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { SortItem } from "namirasoft-core";
2
- import React, { Component } from "react";
2
+ import { Component, ReactNode } from "react";
3
3
  import { BaseColumnFormatter } from '../formatter/BaseColumnFormatter';
4
4
  import { IBaseComponentProps } from "../props/IBaseComponentProps";
5
+ import { NSButtonProps } from './NSButton';
5
6
  import { NSPagination } from './NSPagination';
6
7
  export interface TableInfo {
7
8
  name: string;
@@ -50,6 +51,9 @@ export interface NSTableProps<RowType> extends IBaseComponentProps {
50
51
  onRowClick?: (e: React.MouseEvent<HTMLTableRowElement, MouseEvent>, row: TableRowInfo<RowType>) => void;
51
52
  onCellClick?: (e: React.MouseEvent<HTMLTableCellElement, MouseEvent>, cell: TableCellInfo<RowType>) => boolean | undefined;
52
53
  getRowCheckboxDisabled?: (row: TableRowInfo<RowType>) => boolean;
54
+ buttons?: NSButtonProps[];
55
+ children?: ReactNode;
56
+ headerChildren?: ReactNode;
53
57
  hierarchy?: {
54
58
  id: string;
55
59
  parent: string;
@@ -99,7 +103,7 @@ export declare class NSTable<RowType> extends Component<NSTableProps<RowType>, N
99
103
  private Table_Ref;
100
104
  private TableScrollbar_Ref;
101
105
  private TableScrollbarContent_Ref;
102
- NSPagination: React.RefObject<NSPagination>;
106
+ NSPagination: import("react").RefObject<NSPagination>;
103
107
  private LastSelectedRowID;
104
108
  private resizeMoveHandler;
105
109
  private resizeUpHandler;
@@ -154,6 +158,6 @@ export declare class NSTable<RowType> extends Component<NSTableProps<RowType>, N
154
158
  private startResize;
155
159
  componentDidMount(): void;
156
160
  componentWillUnmount(): void;
157
- render(): React.JSX.Element;
161
+ render(): import("react").JSX.Element;
158
162
  }
159
163
  export {};
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
12
12
  import { BaseMetaColumn, BaseMetaTable, IStorageLocal, SortItem } from "namirasoft-core";
13
- import React, { Component } from "react";
13
+ import { Component, createRef } from "react";
14
14
  import { utils, writeFile } from 'xlsx';
15
15
  import { NSButton } from './NSButton';
16
16
  import { NSDialogInfo } from './NSDialogInfo';
@@ -18,7 +18,6 @@ import { NSDialogPageSelection } from './NSDialogPageSelection';
18
18
  import { NSLoading } from './NSLoading';
19
19
  import { NSNoData } from './NSNoData';
20
20
  import { NSPagination } from './NSPagination';
21
- import { NSSpace, NSSpaceSizeType } from './NSSpace';
22
21
  import Styles from './NSTable.module.css';
23
22
  var PageSelectionMode;
24
23
  (function (PageSelectionMode) {
@@ -29,10 +28,10 @@ var PageSelectionMode;
29
28
  export class NSTable extends Component {
30
29
  constructor(props) {
31
30
  super(props);
32
- this.Table_Ref = React.createRef();
33
- this.TableScrollbar_Ref = React.createRef();
34
- this.TableScrollbarContent_Ref = React.createRef();
35
- this.NSPagination = React.createRef();
31
+ this.Table_Ref = createRef();
32
+ this.TableScrollbar_Ref = createRef();
33
+ this.TableScrollbarContent_Ref = createRef();
34
+ this.NSPagination = createRef();
36
35
  this.LastSelectedRowID = null;
37
36
  this.resizeMoveHandler = null;
38
37
  this.resizeUpHandler = null;
@@ -448,7 +447,7 @@ export class NSTable extends Component {
448
447
  document.removeEventListener('mouseup', this.resizeUpHandler);
449
448
  }
450
449
  render() {
451
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
450
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
452
451
  let show_pagination = (_b = (_a = this.props.ui) === null || _a === void 0 ? void 0 : _a.pagination) !== null && _b !== void 0 ? _b : true;
453
452
  let show_button_panel = (_d = (_c = this.props.ui) === null || _c === void 0 ? void 0 : _c.button_panel) !== null && _d !== void 0 ? _d : true;
454
453
  let getRowAttributes = (row_value, row_index) => {
@@ -624,7 +623,53 @@ export class NSTable extends Component {
624
623
  }
625
624
  return "";
626
625
  };
627
- return (_jsxs("div", { id: this.props.id, className: [...(_e = this.props.classList) !== null && _e !== void 0 ? _e : [], Styles.ns_table_wrapper, this.state.fullscreen ? Styles.ns_fullscreen : ""].filter(Boolean).join(" "), style: Object.assign({}, this.props.style), children: [_jsxs("table", { ref: this.Table_Ref, className: Styles.ns_table, onScroll: () => {
626
+ let buttonPanel = show_button_panel && (_jsxs("div", { className: Styles.ns_button_panel, children: [this.state.pageSelectionMode !== PageSelectionMode.Hidden &&
627
+ _jsx(NSDialogPageSelection, { icon: this.state.pageSelectionMode === PageSelectionMode.Print ? "https://static.namirasoft.com/image/concept/print/blue.svg" :
628
+ this.state.pageSelectionMode === PageSelectionMode.CSV ? "https://static.namirasoft.com/image/concept/export/blue.svg" : "", current_page: (_f = (_e = this.NSPagination.current) === null || _e === void 0 ? void 0 : _e.getCurrentPage()) !== null && _f !== void 0 ? _f : 1, current_size: (_h = (_g = this.NSPagination.current) === null || _g === void 0 ? void 0 : _g.getPageSize()) !== null && _h !== void 0 ? _h : 0, max_page: this.state.totalItems, getItems: (page, size, selected) => __awaiter(this, void 0, void 0, function* () {
629
+ if (selected) {
630
+ let rows = [];
631
+ if (this.state.rows)
632
+ for (let i = 0; i < this.state.rows.length; i++) {
633
+ const row = { index: i, value: this.state.rows[i] };
634
+ let id = this.props.getRowKey(row);
635
+ if (this.state.selectedIDs.includes(id))
636
+ rows.push(row.value);
637
+ }
638
+ return rows;
639
+ }
640
+ let res = yield this.props.getRows(page, size, this.getSortItems());
641
+ return res.rows;
642
+ }), onFinish: (items) => __awaiter(this, void 0, void 0, function* () {
643
+ if (this.state.pageSelectionMode === PageSelectionMode.Print)
644
+ this.print(items);
645
+ else if (this.state.pageSelectionMode === PageSelectionMode.CSV)
646
+ this.exportCSV(items);
647
+ }), onClose: () => this.setState({ pageSelectionMode: PageSelectionMode.Hidden }) }), (_j = this.props.buttons) === null || _j === void 0 ? void 0 : _j.map((button, index) => {
648
+ var _a;
649
+ return (_jsx(NSButton, Object.assign({}, button, { classList: [Styles.ns_table_button, ...((_a = button.classList) !== null && _a !== void 0 ? _a : [])] }), index));
650
+ }), _jsx(NSButton, { icon: { src: `https://static.namirasoft.com/image/concept/full-screen/blue.svg` }, classList: [Styles.ns_table_button, Styles.ns_fullscreen_button], onClick: {
651
+ action: this.toggleFullscreen,
652
+ showLoading: false
653
+ }, attributes: { title: this.state.fullscreen ? 'Minimize' : 'Maximize' } }), _jsx(NSButton, { attributes: { title: 'Chart' }, icon: { src: "https://static.namirasoft.com/image/concept/chart/blue.svg" }, onClick: {
654
+ action: () => {
655
+ this.showModal(" ", "This feature will be available soon in upcoming versions.");
656
+ },
657
+ showLoading: false
658
+ }, classList: [Styles.ns_table_button] }), _jsx(NSButton, { icon: { src: "https://static.namirasoft.com/image/concept/export/blue.svg" }, onClick: {
659
+ action: () => { this.setState({ pageSelectionMode: PageSelectionMode.CSV }); },
660
+ showLoading: false
661
+ }, classList: [Styles.ns_table_button], attributes: { title: 'Export' } }), _jsx(NSButton, { attributes: { title: 'Print' }, icon: { src: "https://static.namirasoft.com/image/concept/print/blue.svg" }, onClick: {
662
+ action: () => { this.setState({ pageSelectionMode: PageSelectionMode.Print }); },
663
+ showLoading: false
664
+ }, classList: [Styles.ns_table_button] }), _jsx(NSButton, { attributes: { title: 'Refresh' }, icon: { src: "https://static.namirasoft.com/image/concept/refresh/blue.svg" }, onClick: {
665
+ action: (onFinished) => __awaiter(this, void 0, void 0, function* () {
666
+ this.reload(null, null).then(onFinished).catch(onFinished);
667
+ })
668
+ }, classList: [Styles.ns_table_button], style: { border: '1px solid rgb(3, 119, 255)' } })] }));
669
+ return (_jsxs("div", { id: this.props.id, className: [...(_k = this.props.classList) !== null && _k !== void 0 ? _k : [], Styles.ns_table_wrapper, this.state.fullscreen ? Styles.ns_fullscreen : ""].filter(Boolean).join(" "), style: Object.assign({}, this.props.style), children: [_jsxs("div", { className: Styles.ns_table_topbar, children: [!this.state.fullscreen &&
670
+ this.props.headerChildren, show_pagination &&
671
+ _jsx(NSPagination, { ref: this.NSPagination, totalItems: this.state.totalItems, onPageChange: this.onPageChange, style: { marginRight: "auto" } }), buttonPanel] }), !this.state.fullscreen && this.props.children &&
672
+ _jsx("div", { className: Styles.ns_table_children, children: this.props.children }), _jsxs("table", { ref: this.Table_Ref, className: Styles.ns_table, onScroll: () => {
628
673
  var _a, _b;
629
674
  if (this.TableScrollbar_Ref.current)
630
675
  this.TableScrollbar_Ref.current.scrollLeft = (_b = (_a = this.Table_Ref.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) !== null && _b !== void 0 ? _b : 0;
@@ -643,52 +688,11 @@ export class NSTable extends Component {
643
688
  else
644
689
  this.setSortItems(null);
645
690
  }
646
- }, children: [_jsx("span", { children: column.text + " " + getSortSign(column) }), _jsx("div", { "data-resize-handle": "true", className: Styles.ns_resize_handle, onMouseDown: (e) => this.startResize(e, column), onClick: (e) => e.stopPropagation() })] }, column.name))] }) }), _jsx("tbody", { className: Styles.ns_tbody, children: content }), _jsx("tfoot", { className: !show_pagination && !show_button_panel ? Styles.padding_0 : "", children: _jsx("tr", { className: Styles.ns_tfoot_row, children: _jsxs("td", { className: Styles.ns_tfoot_cell, children: [_jsx("div", { ref: this.TableScrollbar_Ref, className: Styles.ns_table_scrollbar, style: { bottom: show_pagination || show_button_panel ? 80 : 0 }, onScroll: () => {
647
- var _a, _b;
648
- if (this.Table_Ref.current)
649
- this.Table_Ref.current.scrollLeft = (_b = (_a = this.TableScrollbar_Ref.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) !== null && _b !== void 0 ? _b : 0;
650
- }, children: _jsx("div", { ref: this.TableScrollbarContent_Ref, className: Styles.ns_table_scrollbar_content }) }), show_pagination &&
651
- _jsx(NSPagination, { ref: this.NSPagination, totalItems: this.state.totalItems, onPageChange: this.onPageChange }), _jsx(NSSpace, { size: NSSpaceSizeType.MINI, classList: ["d-lg-none"] }), show_button_panel &&
652
- _jsxs("div", { className: Styles.ns_button_panel, children: [this.state.pageSelectionMode !== PageSelectionMode.Hidden &&
653
- _jsx(NSDialogPageSelection, { icon: this.state.pageSelectionMode === PageSelectionMode.Print ? "https://static.namirasoft.com/image/concept/print/blue.svg" :
654
- this.state.pageSelectionMode === PageSelectionMode.CSV ? "https://static.namirasoft.com/image/concept/export/blue.svg" : "", current_page: (_g = (_f = this.NSPagination.current) === null || _f === void 0 ? void 0 : _f.getCurrentPage()) !== null && _g !== void 0 ? _g : 1, current_size: (_j = (_h = this.NSPagination.current) === null || _h === void 0 ? void 0 : _h.getPageSize()) !== null && _j !== void 0 ? _j : 0, max_page: this.state.totalItems, getItems: (page, size, selected) => __awaiter(this, void 0, void 0, function* () {
655
- if (selected) {
656
- let rows = [];
657
- if (this.state.rows)
658
- for (let i = 0; i < this.state.rows.length; i++) {
659
- const row = { index: i, value: this.state.rows[i] };
660
- let id = this.props.getRowKey(row);
661
- if (this.state.selectedIDs.includes(id))
662
- rows.push(row.value);
663
- }
664
- return rows;
665
- }
666
- let res = yield this.props.getRows(page, size, this.getSortItems());
667
- return res.rows;
668
- }), onFinish: (items) => __awaiter(this, void 0, void 0, function* () {
669
- if (this.state.pageSelectionMode === PageSelectionMode.Print)
670
- this.print(items);
671
- else if (this.state.pageSelectionMode === PageSelectionMode.CSV)
672
- this.exportCSV(items);
673
- }), onClose: () => { this.setState({ pageSelectionMode: PageSelectionMode.Hidden }); } }), _jsx(NSButton, { title: 'Chart', icon: { src: "https://static.namirasoft.com/image/concept/chart/blue.svg" }, onClick: {
674
- action: () => {
675
- this.showModal(" ", "This feature will be available soon in upcoming versions.");
676
- },
677
- showLoading: false
678
- }, style: { border: '1px solid rgba(255, 148, 50, 1)', width: "128px" } }), _jsx(NSButton, { title: 'Print', icon: { src: "https://static.namirasoft.com/image/concept/print/blue.svg" }, onClick: {
679
- action: () => { this.setState({ pageSelectionMode: PageSelectionMode.Print }); },
680
- showLoading: false
681
- }, style: { border: '1px solid rgba(255, 148, 50, 1)', width: "128px" } }), _jsx(NSButton, { title: 'Export', icon: { src: "https://static.namirasoft.com/image/concept/export/blue.svg" }, onClick: {
682
- action: () => { this.setState({ pageSelectionMode: PageSelectionMode.CSV }); },
683
- showLoading: false
684
- }, style: { border: '1px solid rgba(255, 148, 50, 1)', width: "128px" } }), _jsx(NSButton, { title: this.state.fullscreen ? 'Minimize' : 'Maximize', icon: { src: `https://static.namirasoft.com/image/concept/${this.state.fullscreen ? 'minimize' : 'maximize'}/blue.svg` }, classList: [Styles.ns_fullscreen_button], onClick: {
685
- action: this.toggleFullscreen,
686
- showLoading: false
687
- }, style: { border: '1px solid rgba(255, 148, 50, 1)', width: "128px" } }), _jsx(NSButton, { title: 'Refresh', icon: { src: "https://static.namirasoft.com/image/concept/refresh/blue.svg" }, onClick: {
688
- action: (onFinished) => __awaiter(this, void 0, void 0, function* () {
689
- this.reload(null, null).then(onFinished).catch(onFinished);
690
- })
691
- }, style: { border: '1px solid rgba(3, 119, 255, 1)', width: "128px" } })] })] }) }) })] }), this.state.model.show &&
691
+ }, children: [_jsx("span", { children: column.text + " " + getSortSign(column) }), _jsx("div", { "data-resize-handle": "true", className: Styles.ns_resize_handle, onMouseDown: (e) => this.startResize(e, column), onClick: (e) => e.stopPropagation() })] }, column.name))] }) }), _jsx("tbody", { className: Styles.ns_tbody, children: content })] }), _jsx("div", { ref: this.TableScrollbar_Ref, className: Styles.ns_table_scrollbar, onScroll: () => {
692
+ var _a, _b;
693
+ if (this.Table_Ref.current)
694
+ this.Table_Ref.current.scrollLeft = (_b = (_a = this.TableScrollbar_Ref.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) !== null && _b !== void 0 ? _b : 0;
695
+ }, children: _jsx("div", { ref: this.TableScrollbarContent_Ref, className: Styles.ns_table_scrollbar_content }) }), this.state.model.show &&
692
696
  _jsx(NSDialogInfo, { description: this.state.model.description, onClose: () => { this.hideModal(); }, title: this.state.title, show_as_code: true, children: _jsx(_Fragment, {}) })] }));
693
697
  }
694
698
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NSTable.js","sourceRoot":"","sources":["../../src/components/NSTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSTable.js","sourceRoot":"","sources":["../../src/components/NSTable.tsx"],"names":[],"mappings":"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"}
@@ -77,13 +77,6 @@
77
77
  background-color: rgb(184, 190, 240, 0.64);
78
78
  }
79
79
 
80
- .ns_table tfoot {
81
- padding: 1rem 0 0;
82
- display: flex;
83
- flex-direction: column;
84
- align-items: center;
85
- }
86
-
87
80
  /* Check Box */
88
81
  .ns_check_box {
89
82
  width: 100%;
@@ -131,13 +124,13 @@
131
124
  background: #141b5c;
132
125
  }
133
126
 
134
- .ns_tfoot_row,
135
- .ns_tfoot_cell {
136
- display: contents !important;
137
- }
138
-
139
- .ns_tfoot_cell::before {
140
- display: none !important;
127
+ /* Top Bar */
128
+ .ns_table_topbar {
129
+ display: flex;
130
+ flex-direction: column;
131
+ align-items: center;
132
+ gap: 16px;
133
+ margin-bottom: 16px;
141
134
  }
142
135
 
143
136
  /* Button Panel */
@@ -151,6 +144,17 @@
151
144
  gap: 16px;
152
145
  }
153
146
 
147
+ .ns_table_button {
148
+ width: 48px;
149
+ min-width: 48px;
150
+ height: 48px;
151
+ border: 1px solid rgba(255, 148, 50, 1);
152
+ }
153
+
154
+ .ns_table_children {
155
+ margin-bottom: 16px;
156
+ }
157
+
154
158
  @media screen and (max-width: 991px) {
155
159
  .ns_table td {
156
160
  width: auto;
@@ -200,7 +204,7 @@
200
204
  .ns_table {
201
205
  height: 100%;
202
206
  max-height: 33.625rem;
203
- border-radius: 0.75rem;
207
+ border-radius: 12px 12px 0 0;
204
208
  justify-content: flex-start;
205
209
  overflow: scroll auto;
206
210
  background-color: #fff;
@@ -281,10 +285,6 @@
281
285
  background-color: rgba(20, 27, 92);
282
286
  }
283
287
 
284
- .ns_table tbody {
285
- padding-bottom: 0.5rem;
286
- }
287
-
288
288
  .ns_table tbody tr.ns_selected,
289
289
  .ns_table tbody tr.ns_last_selected {
290
290
  border-color: rgba(20, 27, 92);
@@ -295,20 +295,6 @@
295
295
  border-top-color: transparent;
296
296
  }
297
297
 
298
- .ns_table tfoot {
299
- position: sticky;
300
- bottom: 0;
301
- left: 0;
302
- width: 100%;
303
- padding: 1rem;
304
- flex-direction: row;
305
- background-color: #fff;
306
- }
307
-
308
- .ns_table tfoot.padding_0 {
309
- padding: 0;
310
- }
311
-
312
298
  .ns_check_box {
313
299
  display: flex;
314
300
  align-items: center;
@@ -320,7 +306,7 @@
320
306
  }
321
307
 
322
308
  .ns_table_scrollbar {
323
- position: absolute;
309
+ position: relative;
324
310
  left: 0;
325
311
  width: 100%;
326
312
  height: 0.5rem;
@@ -328,10 +314,6 @@
328
314
  background-color: #efefef;
329
315
  }
330
316
 
331
- .ns_table_scrollbar.bottom-0 {
332
- bottom: 0;
333
- }
334
-
335
317
  .ns_table_scrollbar_content {
336
318
  height: 0.25rem;
337
319
  }
@@ -344,12 +326,12 @@
344
326
  }
345
327
 
346
328
  &::-webkit-scrollbar-track {
347
- border-radius: 0.25rem;
329
+ border-radius: 0;
348
330
  background: #efefef;
349
331
  }
350
332
 
351
333
  &::-webkit-scrollbar-thumb {
352
- border-radius: 0.25rem;
334
+ border-radius: 0;
353
335
  background: #888;
354
336
  }
355
337
 
@@ -368,10 +350,17 @@
368
350
  }
369
351
 
370
352
  @media screen and (min-width: 1024px) {
353
+ .ns_table_topbar {
354
+ flex-direction: row;
355
+ justify-content: flex-start;
356
+ align-items: center;
357
+ }
358
+
371
359
  .ns_button_panel {
372
360
  flex-wrap: nowrap;
373
361
  justify-content: flex-end;
374
362
  gap: 12px;
363
+ width: auto;
375
364
  }
376
365
  }
377
366
 
@@ -387,20 +376,29 @@
387
376
  padding: 0;
388
377
  z-index: 9999;
389
378
  background-color: #fff;
379
+ display: flex;
380
+ flex-direction: column;
390
381
  }
391
382
 
392
383
  .ns_fullscreen .ns_table {
393
- max-height: 100% !important;
394
- height: 100%;
384
+ flex: 1 1 auto;
385
+ min-height: 0;
386
+ height: auto;
387
+ max-height: none !important;
395
388
  border-radius: 0;
396
389
  }
397
390
 
398
- .ns_fullscreen .ns_tbody {
399
- flex: 1 1 auto;
391
+ .ns_fullscreen .ns_table_topbar,
392
+ .ns_fullscreen .ns_table_scrollbar {
393
+ flex: 0 0 auto;
394
+ }
395
+
396
+ .ns_fullscreen .ns_table_topbar {
397
+ padding: 16px 16px 0;
400
398
  }
401
399
 
402
- .ns_fullscreen .ns_table tfoot {
403
- margin-top: auto;
400
+ .ns_fullscreen .ns_tbody {
401
+ flex: 1 1 auto;
404
402
  }
405
403
 
406
404
  .ns_fullscreen_button {
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.552",
11
+ "version": "1.4.553",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -13,6 +13,7 @@ import { BooleanFormatter } from "../formatter/BooleanFormatter";
13
13
  export interface NSBoxBooleanProps extends IBaseComponentProps, IValidationProps, INSBoxBaseLayoutProps<NSBoxBoolean, boolean>
14
14
  {
15
15
  checked?: (boolean | null);
16
+ triState?: boolean;
16
17
  label?: IBaseComponentProps;
17
18
  input?: IBaseComponentProps;
18
19
  children?: ReactNode;
@@ -30,7 +31,7 @@ export class NSBoxBoolean extends React.Component<NSBoxBooleanProps, NSBoxBoolea
30
31
  constructor(props: NSBoxBooleanProps)
31
32
  {
32
33
  super(props);
33
- this.state = { value: props.checked ?? props.defaultValue ?? false };
34
+ this.state = { value: props.checked ?? props.defaultValue ?? (props.triState ? null : false) };
34
35
  this.isEmpty = this.isEmpty.bind(this);
35
36
  this.getError = this.getError.bind(this);
36
37
  this.getValue = this.getValue.bind(this);
@@ -83,6 +84,14 @@ export class NSBoxBoolean extends React.Component<NSBoxBooleanProps, NSBoxBoolea
83
84
  callback?.();
84
85
  });
85
86
  }
87
+ getNextTriState(): boolean | null
88
+ {
89
+ if (this.state.value === null)
90
+ return true;
91
+ if (this.state.value === true)
92
+ return false;
93
+ return null;
94
+ }
86
95
  isEmpty(): boolean
87
96
  {
88
97
  return !this._isdirtied;
@@ -128,7 +137,7 @@ export class NSBoxBoolean extends React.Component<NSBoxBooleanProps, NSBoxBoolea
128
137
  onChange={e =>
129
138
  {
130
139
  this._isdirtied = true;
131
- this.setValue(e.target.checked);
140
+ this.setValue(this.props.triState ? this.getNextTriState() : e.target.checked);
132
141
  }}
133
142
  onClick={() => { this.props.onClicked?.(this); }}
134
143
  style={this.props.input?.style}
@@ -77,13 +77,6 @@
77
77
  background-color: rgb(184, 190, 240, 0.64);
78
78
  }
79
79
 
80
- .ns_table tfoot {
81
- padding: 1rem 0 0;
82
- display: flex;
83
- flex-direction: column;
84
- align-items: center;
85
- }
86
-
87
80
  /* Check Box */
88
81
  .ns_check_box {
89
82
  width: 100%;
@@ -131,13 +124,13 @@
131
124
  background: #141b5c;
132
125
  }
133
126
 
134
- .ns_tfoot_row,
135
- .ns_tfoot_cell {
136
- display: contents !important;
137
- }
138
-
139
- .ns_tfoot_cell::before {
140
- display: none !important;
127
+ /* Top Bar */
128
+ .ns_table_topbar {
129
+ display: flex;
130
+ flex-direction: column;
131
+ align-items: center;
132
+ gap: 16px;
133
+ margin-bottom: 16px;
141
134
  }
142
135
 
143
136
  /* Button Panel */
@@ -151,6 +144,17 @@
151
144
  gap: 16px;
152
145
  }
153
146
 
147
+ .ns_table_button {
148
+ width: 48px;
149
+ min-width: 48px;
150
+ height: 48px;
151
+ border: 1px solid rgba(255, 148, 50, 1);
152
+ }
153
+
154
+ .ns_table_children {
155
+ margin-bottom: 16px;
156
+ }
157
+
154
158
  @media screen and (max-width: 991px) {
155
159
  .ns_table td {
156
160
  width: auto;
@@ -200,7 +204,7 @@
200
204
  .ns_table {
201
205
  height: 100%;
202
206
  max-height: 33.625rem;
203
- border-radius: 0.75rem;
207
+ border-radius: 12px 12px 0 0;
204
208
  justify-content: flex-start;
205
209
  overflow: scroll auto;
206
210
  background-color: #fff;
@@ -281,10 +285,6 @@
281
285
  background-color: rgba(20, 27, 92);
282
286
  }
283
287
 
284
- .ns_table tbody {
285
- padding-bottom: 0.5rem;
286
- }
287
-
288
288
  .ns_table tbody tr.ns_selected,
289
289
  .ns_table tbody tr.ns_last_selected {
290
290
  border-color: rgba(20, 27, 92);
@@ -295,20 +295,6 @@
295
295
  border-top-color: transparent;
296
296
  }
297
297
 
298
- .ns_table tfoot {
299
- position: sticky;
300
- bottom: 0;
301
- left: 0;
302
- width: 100%;
303
- padding: 1rem;
304
- flex-direction: row;
305
- background-color: #fff;
306
- }
307
-
308
- .ns_table tfoot.padding_0 {
309
- padding: 0;
310
- }
311
-
312
298
  .ns_check_box {
313
299
  display: flex;
314
300
  align-items: center;
@@ -320,7 +306,7 @@
320
306
  }
321
307
 
322
308
  .ns_table_scrollbar {
323
- position: absolute;
309
+ position: relative;
324
310
  left: 0;
325
311
  width: 100%;
326
312
  height: 0.5rem;
@@ -328,10 +314,6 @@
328
314
  background-color: #efefef;
329
315
  }
330
316
 
331
- .ns_table_scrollbar.bottom-0 {
332
- bottom: 0;
333
- }
334
-
335
317
  .ns_table_scrollbar_content {
336
318
  height: 0.25rem;
337
319
  }
@@ -344,12 +326,12 @@
344
326
  }
345
327
 
346
328
  &::-webkit-scrollbar-track {
347
- border-radius: 0.25rem;
329
+ border-radius: 0;
348
330
  background: #efefef;
349
331
  }
350
332
 
351
333
  &::-webkit-scrollbar-thumb {
352
- border-radius: 0.25rem;
334
+ border-radius: 0;
353
335
  background: #888;
354
336
  }
355
337
 
@@ -368,10 +350,17 @@
368
350
  }
369
351
 
370
352
  @media screen and (min-width: 1024px) {
353
+ .ns_table_topbar {
354
+ flex-direction: row;
355
+ justify-content: flex-start;
356
+ align-items: center;
357
+ }
358
+
371
359
  .ns_button_panel {
372
360
  flex-wrap: nowrap;
373
361
  justify-content: flex-end;
374
362
  gap: 12px;
363
+ width: auto;
375
364
  }
376
365
  }
377
366
 
@@ -387,20 +376,29 @@
387
376
  padding: 0;
388
377
  z-index: 9999;
389
378
  background-color: #fff;
379
+ display: flex;
380
+ flex-direction: column;
390
381
  }
391
382
 
392
383
  .ns_fullscreen .ns_table {
393
- max-height: 100% !important;
394
- height: 100%;
384
+ flex: 1 1 auto;
385
+ min-height: 0;
386
+ height: auto;
387
+ max-height: none !important;
395
388
  border-radius: 0;
396
389
  }
397
390
 
398
- .ns_fullscreen .ns_tbody {
399
- flex: 1 1 auto;
391
+ .ns_fullscreen .ns_table_topbar,
392
+ .ns_fullscreen .ns_table_scrollbar {
393
+ flex: 0 0 auto;
394
+ }
395
+
396
+ .ns_fullscreen .ns_table_topbar {
397
+ padding: 16px 16px 0;
400
398
  }
401
399
 
402
- .ns_fullscreen .ns_table tfoot {
403
- margin-top: auto;
400
+ .ns_fullscreen .ns_tbody {
401
+ flex: 1 1 auto;
404
402
  }
405
403
 
406
404
  .ns_fullscreen_button {
@@ -1,16 +1,15 @@
1
1
  "use client";
2
2
  import { BaseMetaColumn, BaseMetaTable, IStorageLocal, SortItem } from "namirasoft-core";
3
- import React, { Component } from "react";
3
+ import { Component, createRef, ReactNode } from "react";
4
4
  import { utils, writeFile } from 'xlsx';
5
5
  import { BaseColumnFormatter } from '../formatter/BaseColumnFormatter';
6
6
  import { IBaseComponentProps } from "../props/IBaseComponentProps";
7
- import { NSButton } from './NSButton';
7
+ import { NSButton, NSButtonProps } from './NSButton';
8
8
  import { NSDialogInfo } from './NSDialogInfo';
9
9
  import { NSDialogPageSelection } from './NSDialogPageSelection';
10
10
  import { NSLoading } from './NSLoading';
11
11
  import { NSNoData } from './NSNoData';
12
12
  import { NSPagination } from './NSPagination';
13
- import { NSSpace, NSSpaceSizeType } from './NSSpace';
14
13
  import Styles from './NSTable.module.css';
15
14
 
16
15
  export interface TableInfo
@@ -62,6 +61,9 @@ export interface NSTableProps<RowType> extends IBaseComponentProps
62
61
  onRowClick?: (e: React.MouseEvent<HTMLTableRowElement, MouseEvent>, row: TableRowInfo<RowType>) => void;
63
62
  onCellClick?: (e: React.MouseEvent<HTMLTableCellElement, MouseEvent>, cell: TableCellInfo<RowType>) => boolean | undefined;
64
63
  getRowCheckboxDisabled?: (row: TableRowInfo<RowType>) => boolean;
64
+ buttons?: NSButtonProps[];
65
+ children?: ReactNode;
66
+ headerChildren?: ReactNode;
65
67
  hierarchy?: { id: string, parent: string, group?: string[] };
66
68
  defaultExpanded?: boolean;
67
69
  onSelectedIDsChanged?: () => void;
@@ -102,10 +104,10 @@ enum PageSelectionMode
102
104
 
103
105
  export class NSTable<RowType> extends Component<NSTableProps<RowType>, NSTableState<RowType>>
104
106
  {
105
- private Table_Ref = React.createRef<HTMLTableElement>();
106
- private TableScrollbar_Ref = React.createRef<HTMLDivElement>();
107
- private TableScrollbarContent_Ref = React.createRef<HTMLDivElement>();
108
- NSPagination = React.createRef<NSPagination>();
107
+ private Table_Ref = createRef<HTMLTableElement>();
108
+ private TableScrollbar_Ref = createRef<HTMLDivElement>();
109
+ private TableScrollbarContent_Ref = createRef<HTMLDivElement>();
110
+ NSPagination = createRef<NSPagination>();
109
111
 
110
112
  private LastSelectedRowID: number | null = null;
111
113
  private resizeMoveHandler: ((e: MouseEvent) => void) | null = null;
@@ -892,12 +894,132 @@ export class NSTable<RowType> extends Component<NSTableProps<RowType>, NSTableSt
892
894
  return "";
893
895
  };
894
896
 
897
+ let buttonPanel = show_button_panel && (
898
+ <div className={Styles.ns_button_panel}>
899
+ {
900
+ this.state.pageSelectionMode !== PageSelectionMode.Hidden &&
901
+ <NSDialogPageSelection<RowType>
902
+ icon={
903
+ this.state.pageSelectionMode === PageSelectionMode.Print ? "https://static.namirasoft.com/image/concept/print/blue.svg" :
904
+ this.state.pageSelectionMode === PageSelectionMode.CSV ? "https://static.namirasoft.com/image/concept/export/blue.svg" : ""
905
+ }
906
+ current_page={this.NSPagination.current?.getCurrentPage() ?? 1}
907
+ current_size={this.NSPagination.current?.getPageSize() ?? 0}
908
+ max_page={this.state.totalItems}
909
+ getItems={async (page, size, selected) =>
910
+ {
911
+ if (selected)
912
+ {
913
+ let rows: RowType[] = [];
914
+ if (this.state.rows)
915
+ for (let i = 0; i < this.state.rows.length; i++)
916
+ {
917
+ const row = { index: i, value: this.state.rows[i] };
918
+ let id = this.props.getRowKey(row);
919
+ if (this.state.selectedIDs.includes(id))
920
+ rows.push(row.value);
921
+ }
922
+ return rows;
923
+ }
924
+ let res = await this.props.getRows(page, size, this.getSortItems());
925
+ return res.rows;
926
+ }}
927
+ onFinish={async (items: RowType[]) =>
928
+ {
929
+ if (this.state.pageSelectionMode === PageSelectionMode.Print)
930
+ this.print(items);
931
+ else if (this.state.pageSelectionMode === PageSelectionMode.CSV)
932
+ this.exportCSV(items);
933
+ }}
934
+ onClose={() => this.setState({ pageSelectionMode: PageSelectionMode.Hidden })}
935
+ />
936
+ }
937
+ {
938
+ this.props.buttons?.map((button, index) => (
939
+ <NSButton
940
+ key={index}
941
+ {...button}
942
+ classList={[Styles.ns_table_button, ...(button.classList ?? [])]}
943
+ />
944
+ ))
945
+ }
946
+ <NSButton
947
+ icon={{ src: `https://static.namirasoft.com/image/concept/full-screen/blue.svg` }}
948
+ classList={[Styles.ns_table_button, Styles.ns_fullscreen_button]}
949
+ onClick={{
950
+ action: this.toggleFullscreen,
951
+ showLoading: false
952
+ }}
953
+ attributes={{ title: this.state.fullscreen ? 'Minimize' : 'Maximize' }}
954
+ />
955
+ <NSButton
956
+ attributes={{ title: 'Chart' }}
957
+ icon={{ src: "https://static.namirasoft.com/image/concept/chart/blue.svg" }}
958
+ onClick={{
959
+ action: () =>
960
+ {
961
+ this.showModal(" ", "This feature will be available soon in upcoming versions.");
962
+ },
963
+ showLoading: false
964
+ }}
965
+ classList={[Styles.ns_table_button]}
966
+ />
967
+ <NSButton
968
+ icon={{ src: "https://static.namirasoft.com/image/concept/export/blue.svg" }}
969
+ onClick={{
970
+ action: () => { this.setState({ pageSelectionMode: PageSelectionMode.CSV }); },
971
+ showLoading: false
972
+ }}
973
+ classList={[Styles.ns_table_button]}
974
+ attributes={{ title: 'Export' }}
975
+ />
976
+ <NSButton
977
+ attributes={{ title: 'Print' }}
978
+ icon={{ src: "https://static.namirasoft.com/image/concept/print/blue.svg" }}
979
+ onClick={{
980
+ action: () => { this.setState({ pageSelectionMode: PageSelectionMode.Print }); },
981
+ showLoading: false
982
+ }}
983
+ classList={[Styles.ns_table_button]}
984
+ />
985
+ <NSButton
986
+ attributes={{ title: 'Refresh' }}
987
+ icon={{ src: "https://static.namirasoft.com/image/concept/refresh/blue.svg" }}
988
+ onClick={{
989
+ action: async (onFinished) =>
990
+ {
991
+ this.reload(null, null).then(onFinished).catch(onFinished);
992
+ }
993
+ }}
994
+ classList={[Styles.ns_table_button]}
995
+ style={{ border: '1px solid rgb(3, 119, 255)' }}
996
+ />
997
+ </div>
998
+ );
999
+
895
1000
  return (
896
1001
  <div
897
1002
  id={this.props.id}
898
1003
  className={[...this.props.classList ?? [], Styles.ns_table_wrapper, this.state.fullscreen ? Styles.ns_fullscreen : ""].filter(Boolean).join(" ")}
899
1004
  style={{ ...this.props.style }}
900
1005
  >
1006
+ <div className={Styles.ns_table_topbar}>
1007
+ {
1008
+ !this.state.fullscreen &&
1009
+ this.props.headerChildren
1010
+ }
1011
+ {
1012
+ show_pagination &&
1013
+ <NSPagination ref={this.NSPagination} totalItems={this.state.totalItems} onPageChange={this.onPageChange} style={{ marginRight: "auto" }} />
1014
+ }
1015
+ {buttonPanel}
1016
+ </div>
1017
+ {
1018
+ !this.state.fullscreen && this.props.children &&
1019
+ <div className={Styles.ns_table_children}>
1020
+ {this.props.children}
1021
+ </div>
1022
+ }
901
1023
  <table
902
1024
  ref={this.Table_Ref}
903
1025
  className={Styles.ns_table}
@@ -963,129 +1085,23 @@ export class NSTable<RowType> extends Component<NSTableProps<RowType>, NSTableSt
963
1085
  <tbody className={Styles.ns_tbody}>
964
1086
  {content}
965
1087
  </tbody>
966
-
967
- <tfoot className={!show_pagination && !show_button_panel ? Styles.padding_0 : ""}>
968
- <tr className={Styles.ns_tfoot_row}>
969
- <td className={Styles.ns_tfoot_cell}>
970
- <div
971
- ref={this.TableScrollbar_Ref}
972
- className={Styles.ns_table_scrollbar}
973
- style={{ bottom: show_pagination || show_button_panel ? 80 : 0 }}
974
- onScroll={() =>
975
- {
976
- if (this.Table_Ref.current)
977
- this.Table_Ref.current.scrollLeft = this.TableScrollbar_Ref.current?.scrollLeft ?? 0;
978
- }}
979
- >
980
- <div
981
- ref={this.TableScrollbarContent_Ref}
982
- className={Styles.ns_table_scrollbar_content}>
983
- </div>
984
- </div>
985
- {
986
- show_pagination &&
987
- <NSPagination ref={this.NSPagination} totalItems={this.state.totalItems} onPageChange={this.onPageChange} />
988
- }
989
- <NSSpace size={NSSpaceSizeType.MINI} classList={["d-lg-none"]} />
990
- {
991
- show_button_panel &&
992
- <div className={Styles.ns_button_panel}>
993
- {
994
- this.state.pageSelectionMode !== PageSelectionMode.Hidden &&
995
- <NSDialogPageSelection<RowType>
996
- icon={
997
- this.state.pageSelectionMode === PageSelectionMode.Print ? "https://static.namirasoft.com/image/concept/print/blue.svg" :
998
- this.state.pageSelectionMode === PageSelectionMode.CSV ? "https://static.namirasoft.com/image/concept/export/blue.svg" : ""
999
- }
1000
- current_page={this.NSPagination.current?.getCurrentPage() ?? 1}
1001
- current_size={this.NSPagination.current?.getPageSize() ?? 0}
1002
- max_page={this.state.totalItems}
1003
- getItems={async (page, size, selected) =>
1004
- {
1005
- if (selected)
1006
- {
1007
- let rows: RowType[] = [];
1008
- if (this.state.rows)
1009
- for (let i = 0; i < this.state.rows.length; i++)
1010
- {
1011
- const row = { index: i, value: this.state.rows[i] };
1012
- let id = this.props.getRowKey(row);
1013
- if (this.state.selectedIDs.includes(id))
1014
- rows.push(row.value);
1015
- }
1016
- return rows;
1017
- }
1018
- let res = await this.props.getRows(page, size, this.getSortItems());
1019
- return res.rows;
1020
- }}
1021
- onFinish={async (items: RowType[]) =>
1022
- {
1023
- if (this.state.pageSelectionMode === PageSelectionMode.Print)
1024
- this.print(items);
1025
- else if (this.state.pageSelectionMode === PageSelectionMode.CSV)
1026
- this.exportCSV(items);
1027
- }}
1028
- onClose={() => { this.setState({ pageSelectionMode: PageSelectionMode.Hidden }); }
1029
- }
1030
- />
1031
- }
1032
- <NSButton
1033
- title='Chart'
1034
- icon={{ src: "https://static.namirasoft.com/image/concept/chart/blue.svg" }}
1035
- onClick={{
1036
- action: () =>
1037
- {
1038
- this.showModal(" ", "This feature will be available soon in upcoming versions.");
1039
- },
1040
- showLoading: false
1041
- }}
1042
- style={{ border: '1px solid rgba(255, 148, 50, 1)', width: "128px" }}
1043
- />
1044
- <NSButton
1045
- title='Print'
1046
- icon={{ src: "https://static.namirasoft.com/image/concept/print/blue.svg" }}
1047
- onClick={{
1048
- action: () => { this.setState({ pageSelectionMode: PageSelectionMode.Print }); },
1049
- showLoading: false
1050
- }}
1051
- style={{ border: '1px solid rgba(255, 148, 50, 1)', width: "128px" }}
1052
- />
1053
- <NSButton
1054
- title='Export'
1055
- icon={{ src: "https://static.namirasoft.com/image/concept/export/blue.svg" }}
1056
- onClick={{
1057
- action: () => { this.setState({ pageSelectionMode: PageSelectionMode.CSV }); },
1058
- showLoading: false
1059
- }}
1060
- style={{ border: '1px solid rgba(255, 148, 50, 1)', width: "128px" }}
1061
- />
1062
- <NSButton
1063
- title={this.state.fullscreen ? 'Minimize' : 'Maximize'}
1064
- icon={{ src: `https://static.namirasoft.com/image/concept/${this.state.fullscreen ? 'minimize' : 'maximize'}/blue.svg` }}
1065
- classList={[Styles.ns_fullscreen_button]}
1066
- onClick={{
1067
- action: this.toggleFullscreen,
1068
- showLoading: false
1069
- }}
1070
- style={{ border: '1px solid rgba(255, 148, 50, 1)', width: "128px" }}
1071
- />
1072
- <NSButton
1073
- title='Refresh'
1074
- icon={{ src: "https://static.namirasoft.com/image/concept/refresh/blue.svg" }}
1075
- onClick={{
1076
- action: async (onFinished) =>
1077
- {
1078
- this.reload(null, null).then(onFinished).catch(onFinished);
1079
- }
1080
- }}
1081
- style={{ border: '1px solid rgba(3, 119, 255, 1)', width: "128px" }} />
1082
- </div>
1083
- }
1084
- </td>
1085
- </tr>
1086
- </tfoot>
1087
1088
  </table>
1088
1089
 
1090
+ <div
1091
+ ref={this.TableScrollbar_Ref}
1092
+ className={Styles.ns_table_scrollbar}
1093
+ onScroll={() =>
1094
+ {
1095
+ if (this.Table_Ref.current)
1096
+ this.Table_Ref.current.scrollLeft = this.TableScrollbar_Ref.current?.scrollLeft ?? 0;
1097
+ }}
1098
+ >
1099
+ <div
1100
+ ref={this.TableScrollbarContent_Ref}
1101
+ className={Styles.ns_table_scrollbar_content}>
1102
+ </div>
1103
+ </div>
1104
+
1089
1105
  {
1090
1106
  this.state.model.show &&
1091
1107
  <NSDialogInfo