namirasoft-account-react 1.4.418 → 1.4.421
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.
- package/dist/IEntityInfo.d.ts +3 -1
- package/dist/NSACacheService.d.ts +3 -0
- package/dist/NSACacheService.js +13 -0
- package/dist/NSACacheService.js.map +1 -1
- package/dist/NSAFilterOperators.d.ts +28 -0
- package/dist/NSAFilterOperators.js +50 -0
- package/dist/NSAFilterOperators.js.map +1 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxBase.d.ts +14 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxBase.js +40 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxBase.js.map +1 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxBoolean.d.ts +12 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxBoolean.js +30 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxBoolean.js.map +1 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxDate.d.ts +12 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxDate.js +58 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxDate.js.map +1 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxDateTime.d.ts +12 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxDateTime.js +58 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxDateTime.js.map +1 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxEnum.d.ts +22 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxEnum.js +52 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxEnum.js.map +1 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxNumber.d.ts +22 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxNumber.js +67 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxNumber.js.map +1 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxString.d.ts +13 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxString.js +47 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxString.js.map +1 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxTime.d.ts +12 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxTime.js +58 -0
- package/dist/components/NSAQuickFilter/NSAFilterBoxTime.js.map +1 -0
- package/dist/components/NSAQuickFilter/NSAQuickFilterBar.d.ts +28 -0
- package/dist/components/NSAQuickFilter/NSAQuickFilterBar.js +74 -0
- package/dist/components/NSAQuickFilter/NSAQuickFilterBar.js.map +1 -0
- package/dist/components/NSAQuickFilter/NSAQuickFilterDialog.d.ts +43 -0
- package/dist/components/NSAQuickFilter/NSAQuickFilterDialog.js +114 -0
- package/dist/components/NSAQuickFilter/NSAQuickFilterDialog.js.map +1 -0
- package/dist/components/NSAReorderDialog.d.ts +30 -0
- package/dist/components/NSAReorderDialog.js +69 -0
- package/dist/components/NSAReorderDialog.js.map +1 -0
- package/dist/components/NSAReorderDialog.module.css +50 -0
- package/dist/components/NSASortDialog.d.ts +21 -0
- package/dist/components/NSASortDialog.js +61 -0
- package/dist/components/NSASortDialog.js.map +1 -0
- package/dist/components/NSATable.d.ts +95 -0
- package/dist/components/NSATable.js +335 -0
- package/dist/components/NSATable.js.map +1 -0
- package/dist/layouts/NSASectionList.d.ts +7 -37
- package/dist/layouts/NSASectionList.js +17 -247
- package/dist/layouts/NSASectionList.js.map +1 -1
- package/dist/layouts/NSASectionList.module.css +15 -18
- package/package.json +2 -2
- package/src/IEntityInfo.ts +3 -1
- package/src/NSACacheService.ts +20 -0
- package/src/NSAFilterOperators.ts +93 -0
- package/src/components/NSAQuickFilter/NSAFilterBoxBase.tsx +56 -0
- package/src/components/NSAQuickFilter/NSAFilterBoxBoolean.tsx +55 -0
- package/src/components/NSAQuickFilter/NSAFilterBoxDate.tsx +105 -0
- package/src/components/NSAQuickFilter/NSAFilterBoxDateTime.tsx +106 -0
- package/src/components/NSAQuickFilter/NSAFilterBoxEnum.module.css +45 -0
- package/src/components/NSAQuickFilter/NSAFilterBoxEnum.tsx +80 -0
- package/src/components/NSAQuickFilter/NSAFilterBoxNumber.tsx +137 -0
- package/src/components/NSAQuickFilter/NSAFilterBoxString.tsx +82 -0
- package/src/components/NSAQuickFilter/NSAFilterBoxTime.tsx +102 -0
- package/src/components/NSAQuickFilter/NSAQuickFilterBar.module.css +20 -0
- package/src/components/NSAQuickFilter/NSAQuickFilterBar.tsx +115 -0
- package/src/components/NSAQuickFilter/NSAQuickFilterDialog.module.css +75 -0
- package/src/components/NSAQuickFilter/NSAQuickFilterDialog.tsx +261 -0
- package/src/components/NSAReorderDialog.module.css +50 -0
- package/src/components/NSAReorderDialog.tsx +150 -0
- package/src/components/NSASortDialog.tsx +118 -0
- package/src/components/NSATable.tsx +490 -0
- package/src/layouts/NSASectionList.module.css +15 -18
- package/src/layouts/NSASectionList.tsx +43 -395
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { BaseMetaColumn, BaseMetaTable, SortItem } from "namirasoft-core";
|
|
12
|
+
import { NSBoxBaseCombo, NSBoxBoolean, NSBoxCombo, NSButtonBlue, NSColumn, NSDialog, NSTitle } from "namirasoft-site-react";
|
|
13
|
+
import { Component, createRef } from "react";
|
|
14
|
+
export class NSASortDialog extends Component {
|
|
15
|
+
constructor(props) {
|
|
16
|
+
super(props);
|
|
17
|
+
this.sortBoolRef = createRef();
|
|
18
|
+
this.sortColumnRef = createRef();
|
|
19
|
+
this.sortDirectionRef = createRef();
|
|
20
|
+
this.handleApply = () => {
|
|
21
|
+
var _a, _b, _c;
|
|
22
|
+
if (!((_a = this.sortBoolRef.current) === null || _a === void 0 ? void 0 : _a.getValueBool())) {
|
|
23
|
+
this.props.onApply(null);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const column = (_b = this.sortColumnRef.current) === null || _b === void 0 ? void 0 : _b.getDataOne();
|
|
27
|
+
const direction = (_c = this.sortDirectionRef.current) === null || _c === void 0 ? void 0 : _c.getValueOne();
|
|
28
|
+
if (column) {
|
|
29
|
+
const t = new BaseMetaTable(null, column.table.name, column.table.text);
|
|
30
|
+
const c = new BaseMetaColumn(t, column.name, column.text, "", true);
|
|
31
|
+
const sort = new SortItem(t, c, direction === "true");
|
|
32
|
+
this.props.onApply([sort]);
|
|
33
|
+
}
|
|
34
|
+
else
|
|
35
|
+
this.props.onApply(null);
|
|
36
|
+
};
|
|
37
|
+
this.state = { sortEnabled: props.sorts.length > 0 };
|
|
38
|
+
}
|
|
39
|
+
render() {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
const { sorts, getColumns, onCancel } = this.props;
|
|
42
|
+
return (_jsxs(NSDialog, { center_dialog: true, closeButton: { show: true }, onClose: onCancel, children: [_jsx(NSTitle, { title: "Sort", style: { marginBottom: 0, fontSize: 24 } }), _jsxs(NSColumn, { classList: ["align-items-center mt-3"], children: [_jsx(NSBoxBoolean, { ref: this.sortBoolRef, required: true, title: "Sort", hideHeader: true, checked: sorts.length > 0, onChanged: () => this.setState(prev => ({ sortEnabled: !prev.sortEnabled })) }), _jsx(NSBoxBaseCombo, { ref: this.sortColumnRef, title: "Column", required: true, defaultValue: (_a = sorts[0]) === null || _a === void 0 ? void 0 : _a.column.name, getItems: () => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
const cs = getColumns();
|
|
44
|
+
return { count: cs.length, rows: cs };
|
|
45
|
+
}), getTitle: c => c.text, getValue: c => c.name, getSort: () => null, multiple: false, disabled: this.state.sortEnabled, menu: {
|
|
46
|
+
builtin: {
|
|
47
|
+
copy: { enabled: false, getValue: () => "" }
|
|
48
|
+
},
|
|
49
|
+
items: []
|
|
50
|
+
} }), _jsx(NSBoxCombo, { ref: this.sortDirectionRef, title: "Direction", required: true, defaultValue: ((_b = sorts[0]) === null || _b === void 0 ? void 0 : _b.ascending) + "", getOptions: () => [
|
|
51
|
+
{ value: "true", title: "Ascending" },
|
|
52
|
+
{ value: "false", title: "Descending" }
|
|
53
|
+
], multiple: false, disabled: this.state.sortEnabled, menu: {
|
|
54
|
+
builtin: {
|
|
55
|
+
copy: { enabled: false, getValue: () => "" }
|
|
56
|
+
},
|
|
57
|
+
items: []
|
|
58
|
+
} }), _jsx(NSButtonBlue, { title: "Apply", onClick: { action: this.handleApply, showLoading: false } })] })] }));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=NSASortDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NSASortDialog.js","sourceRoot":"","sources":["../../src/components/NSASortDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { FilterItem, SortItem } from "namirasoft-core";
|
|
2
|
+
import { CategoryRow, FieldRow } from "namirasoft-field";
|
|
3
|
+
import { IBaseComponentProps, NSButtonProps, NSFilterBox, NSTable, TableColumnInfo, TableRowInfo } from "namirasoft-site-react";
|
|
4
|
+
import { Component, ReactNode } from "react";
|
|
5
|
+
import { IEntityInfo } from "../IEntityInfo";
|
|
6
|
+
import { NSAQuickFilterBar } from "./NSAQuickFilter/NSAQuickFilterBar";
|
|
7
|
+
import { QuickFilterConfig } from "./NSAQuickFilter/NSAQuickFilterDialog";
|
|
8
|
+
export interface NSATableUIProps<RowType> {
|
|
9
|
+
getRowAttributes?: (row_value: RowType, row_index: number, res: {
|
|
10
|
+
rows: RowType[];
|
|
11
|
+
count: number;
|
|
12
|
+
} | null) => {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
getColumnAttributes?: (column: TableColumnInfo) => {
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
};
|
|
18
|
+
getCellFormattedValue?: (value: any, column: TableColumnInfo, row: TableRowInfo<RowType>) => any;
|
|
19
|
+
search_box?: {
|
|
20
|
+
exclude?: {
|
|
21
|
+
show?: {
|
|
22
|
+
table?: (table: string) => boolean;
|
|
23
|
+
column?: (table: string, column: string) => boolean;
|
|
24
|
+
};
|
|
25
|
+
load_value?: (table: string, column: string) => boolean;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface NSATableProps<RowType extends {
|
|
30
|
+
id: string;
|
|
31
|
+
}, RowTypeInput = RowType> extends IBaseComponentProps {
|
|
32
|
+
entity: IEntityInfo<RowType, RowTypeInput>;
|
|
33
|
+
ctf: {
|
|
34
|
+
enabled: boolean;
|
|
35
|
+
fields: FieldRow[] | null;
|
|
36
|
+
categories: CategoryRow[] | null;
|
|
37
|
+
};
|
|
38
|
+
url: {
|
|
39
|
+
getQuery(name: string, base64?: boolean, remove?: boolean): string;
|
|
40
|
+
};
|
|
41
|
+
ui?: NSATableUIProps<RowType>;
|
|
42
|
+
checkbox?: boolean;
|
|
43
|
+
buttons?: NSButtonProps[];
|
|
44
|
+
onSelectionChanged?: () => void;
|
|
45
|
+
}
|
|
46
|
+
interface NSATableState<RowType> {
|
|
47
|
+
res: {
|
|
48
|
+
rows: RowType[];
|
|
49
|
+
count: number;
|
|
50
|
+
} | null;
|
|
51
|
+
sorts: SortItem[];
|
|
52
|
+
visible_column_keys: string[];
|
|
53
|
+
quick_filter_configs: QuickFilterConfig[];
|
|
54
|
+
show_sort_dialog: boolean;
|
|
55
|
+
show_reorder_dialog: boolean;
|
|
56
|
+
show_quick_filter_dialog: boolean;
|
|
57
|
+
filter_revision: number;
|
|
58
|
+
}
|
|
59
|
+
export declare class NSATable<RowType extends {
|
|
60
|
+
id: string;
|
|
61
|
+
}, RowTypeInput = RowType> extends Component<NSATableProps<RowType, RowTypeInput>, NSATableState<RowType>> {
|
|
62
|
+
NSTable_Main: import("react").RefObject<NSTable<RowType>>;
|
|
63
|
+
NSFilterBox_Top: import("react").RefObject<NSFilterBox>;
|
|
64
|
+
NSAQuickFilterBar_Ref: import("react").RefObject<NSAQuickFilterBar>;
|
|
65
|
+
constructor(props: NSATableProps<RowType, RowTypeInput>);
|
|
66
|
+
componentDidMount(): void;
|
|
67
|
+
private getColumns;
|
|
68
|
+
private buildDefaultQuickFilters;
|
|
69
|
+
private filterItemTypeConverter;
|
|
70
|
+
private getIncomingFilterItems;
|
|
71
|
+
reload(page: number | null, size: number | null): Promise<void> | undefined;
|
|
72
|
+
getSelectedIDs(): string[];
|
|
73
|
+
getSelectedRows(): RowType[];
|
|
74
|
+
setSelectedIDs(ids: string[], rows: RowType[], callback?: () => void): void;
|
|
75
|
+
getSortItems(): SortItem[];
|
|
76
|
+
setSortItems(items: SortItem[] | null): void;
|
|
77
|
+
getVisibleColumns(): {
|
|
78
|
+
table: string;
|
|
79
|
+
column: string;
|
|
80
|
+
}[];
|
|
81
|
+
setVisibleColumns(visible_columns: {
|
|
82
|
+
table: string;
|
|
83
|
+
column: string;
|
|
84
|
+
}[]): void;
|
|
85
|
+
getFilterBoxItems(): FilterItem[];
|
|
86
|
+
getQuickFilterItems(): FilterItem[];
|
|
87
|
+
getFilterItems(): FilterItem[];
|
|
88
|
+
private reloadFromFilters;
|
|
89
|
+
private onFilterBoxChanged;
|
|
90
|
+
private buildButtons;
|
|
91
|
+
private renderFilterHeader;
|
|
92
|
+
private getOrderedColumns;
|
|
93
|
+
render(): ReactNode;
|
|
94
|
+
}
|
|
95
|
+
export {};
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
11
|
+
import { FilterItem, FilterItemColumnType, NamingConvention, ObjectService, SearchOperation } from "namirasoft-core";
|
|
12
|
+
import { FilterItemColumnTypeBuilder, VariableType } from "namirasoft-schema";
|
|
13
|
+
import { NSFilterBox, NSFilterBoxItems, NSTable } from "namirasoft-site-react";
|
|
14
|
+
import { Component, createRef } from "react";
|
|
15
|
+
import { NSACacheService } from "../NSACacheService";
|
|
16
|
+
import { NSAQuickFilterBar } from "./NSAQuickFilter/NSAQuickFilterBar";
|
|
17
|
+
import { NSAQuickFilterDialog } from "./NSAQuickFilter/NSAQuickFilterDialog";
|
|
18
|
+
import { NSAReorderDialog } from "./NSAReorderDialog";
|
|
19
|
+
import { NSASortDialog } from "./NSASortDialog";
|
|
20
|
+
export class NSATable extends Component {
|
|
21
|
+
constructor(props) {
|
|
22
|
+
super(props);
|
|
23
|
+
this.NSTable_Main = createRef();
|
|
24
|
+
this.NSFilterBox_Top = createRef();
|
|
25
|
+
this.NSAQuickFilterBar_Ref = createRef();
|
|
26
|
+
this.onFilterBoxChanged = () => {
|
|
27
|
+
this.reloadFromFilters();
|
|
28
|
+
this.setState(prev => ({ filter_revision: prev.filter_revision + 1 }));
|
|
29
|
+
};
|
|
30
|
+
this.state = {
|
|
31
|
+
res: null,
|
|
32
|
+
sorts: [],
|
|
33
|
+
visible_column_keys: [],
|
|
34
|
+
quick_filter_configs: [],
|
|
35
|
+
show_sort_dialog: false,
|
|
36
|
+
show_reorder_dialog: false,
|
|
37
|
+
show_quick_filter_dialog: false,
|
|
38
|
+
filter_revision: 0,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
componentDidMount() {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
const visible = (_b = (_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.getVisibleColumns()) !== null && _b !== void 0 ? _b : [];
|
|
44
|
+
if (visible.length > 0)
|
|
45
|
+
this.setState({ visible_column_keys: visible.map(v => v.table + "." + v.column) });
|
|
46
|
+
let quick_filter_configs = NSACacheService.loadQuickFilters(this.props.entity.name);
|
|
47
|
+
if (quick_filter_configs.length === 0)
|
|
48
|
+
quick_filter_configs = this.buildDefaultQuickFilters();
|
|
49
|
+
this.setState(prev => ({ quick_filter_configs, filter_revision: prev.filter_revision + 1 }));
|
|
50
|
+
}
|
|
51
|
+
getColumns() {
|
|
52
|
+
let columns = Object.values(this.props.entity.client.getColumns()).flat();
|
|
53
|
+
columns.forEach(col => {
|
|
54
|
+
col.text = NamingConvention.auto.convert(col.text, NamingConvention.Pascal_Case_Space);
|
|
55
|
+
});
|
|
56
|
+
return columns;
|
|
57
|
+
}
|
|
58
|
+
buildDefaultQuickFilters() {
|
|
59
|
+
const getDefaults = this.props.entity.client.getQuickFilters;
|
|
60
|
+
if (!getDefaults)
|
|
61
|
+
return [];
|
|
62
|
+
const columns = this.getColumns();
|
|
63
|
+
const ans = [];
|
|
64
|
+
for (const def of getDefaults()) {
|
|
65
|
+
const col = columns.find(c => c.name === def.column);
|
|
66
|
+
if (!col)
|
|
67
|
+
continue;
|
|
68
|
+
const columnType = new ObjectService(col.type).getEnum(VariableType, VariableType.Any);
|
|
69
|
+
ans.push({
|
|
70
|
+
id: `default-${col.table.name}-${col.name}`,
|
|
71
|
+
column: {
|
|
72
|
+
table: { name: col.table.name, text: col.table.text },
|
|
73
|
+
name: col.name,
|
|
74
|
+
text: col.text,
|
|
75
|
+
type: col.type,
|
|
76
|
+
columnType,
|
|
77
|
+
},
|
|
78
|
+
operatorName: def.operator,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return ans;
|
|
82
|
+
}
|
|
83
|
+
filterItemTypeConverter(type) {
|
|
84
|
+
var _a;
|
|
85
|
+
let t = new ObjectService(type).getEnum(VariableType, VariableType.Any);
|
|
86
|
+
let builder = new FilterItemColumnTypeBuilder(t);
|
|
87
|
+
return (_a = builder.runSynch(() => { })) !== null && _a !== void 0 ? _a : FilterItemColumnType.Unknown;
|
|
88
|
+
}
|
|
89
|
+
getIncomingFilterItems() {
|
|
90
|
+
var _a;
|
|
91
|
+
try {
|
|
92
|
+
let encoded = this.props.url.getQuery("filters");
|
|
93
|
+
if (encoded)
|
|
94
|
+
return (_a = FilterItem.decode(encoded)) !== null && _a !== void 0 ? _a : undefined;
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
}
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
reload(page, size) {
|
|
101
|
+
var _a;
|
|
102
|
+
return (_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.reload(page, size);
|
|
103
|
+
}
|
|
104
|
+
getSelectedIDs() {
|
|
105
|
+
var _a, _b;
|
|
106
|
+
return (_b = (_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.getSelectedIDs()) !== null && _b !== void 0 ? _b : [];
|
|
107
|
+
}
|
|
108
|
+
getSelectedRows() {
|
|
109
|
+
var _a, _b;
|
|
110
|
+
return (_b = (_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.getSelectedRows()) !== null && _b !== void 0 ? _b : [];
|
|
111
|
+
}
|
|
112
|
+
setSelectedIDs(ids, rows, callback) {
|
|
113
|
+
var _a;
|
|
114
|
+
(_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.setSelectedIDs(ids, rows, callback);
|
|
115
|
+
}
|
|
116
|
+
getSortItems() {
|
|
117
|
+
var _a, _b;
|
|
118
|
+
return (_b = (_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.getSortItems()) !== null && _b !== void 0 ? _b : [];
|
|
119
|
+
}
|
|
120
|
+
setSortItems(items) {
|
|
121
|
+
var _a;
|
|
122
|
+
(_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.setSortItems(items);
|
|
123
|
+
}
|
|
124
|
+
getVisibleColumns() {
|
|
125
|
+
var _a, _b;
|
|
126
|
+
return (_b = (_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.getVisibleColumns()) !== null && _b !== void 0 ? _b : [];
|
|
127
|
+
}
|
|
128
|
+
setVisibleColumns(visible_columns) {
|
|
129
|
+
var _a;
|
|
130
|
+
(_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.setVisibleColumns(visible_columns);
|
|
131
|
+
}
|
|
132
|
+
getFilterBoxItems() {
|
|
133
|
+
var _a, _b;
|
|
134
|
+
return (_b = (_a = this.NSFilterBox_Top.current) === null || _a === void 0 ? void 0 : _a.getFilterItems()) !== null && _b !== void 0 ? _b : [];
|
|
135
|
+
}
|
|
136
|
+
getQuickFilterItems() {
|
|
137
|
+
var _a, _b;
|
|
138
|
+
return (_b = (_a = this.NSAQuickFilterBar_Ref.current) === null || _a === void 0 ? void 0 : _a.getFilterItems()) !== null && _b !== void 0 ? _b : [];
|
|
139
|
+
}
|
|
140
|
+
getFilterItems() {
|
|
141
|
+
return [...this.getFilterBoxItems(), ...this.getQuickFilterItems()];
|
|
142
|
+
}
|
|
143
|
+
reloadFromFilters() {
|
|
144
|
+
var _a, _b;
|
|
145
|
+
(_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.setSelectedIDs([], []);
|
|
146
|
+
(_b = this.NSTable_Main.current) === null || _b === void 0 ? void 0 : _b.reload(null, null);
|
|
147
|
+
}
|
|
148
|
+
buildButtons() {
|
|
149
|
+
var _a;
|
|
150
|
+
const buttons = [
|
|
151
|
+
{
|
|
152
|
+
title: "",
|
|
153
|
+
icon: { src: "https://static.namirasoft.com/image/concept/grip-vertical/blue.svg", alt: "reorder" },
|
|
154
|
+
attributes: { title: "Reorder" },
|
|
155
|
+
onClick: {
|
|
156
|
+
action: () => this.setState({ show_reorder_dialog: true, visible_column_keys: this.getVisibleColumns().map(c => c.table + "." + c.column) }),
|
|
157
|
+
showLoading: false,
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
title: "",
|
|
162
|
+
icon: { src: "https://static.namirasoft.com/image/concept/arrow-down-short-wide/blue.svg", alt: "sort" },
|
|
163
|
+
attributes: { title: "Sort" },
|
|
164
|
+
onClick: {
|
|
165
|
+
action: () => this.setState({ show_sort_dialog: true, sorts: this.getSortItems() }),
|
|
166
|
+
showLoading: false,
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
title: "",
|
|
171
|
+
icon: { src: "https://static.namirasoft.com/image/concept/sliders/blue.svg", alt: "filter" },
|
|
172
|
+
attributes: { title: "Quick Filters" },
|
|
173
|
+
onClick: {
|
|
174
|
+
action: () => this.setState({ show_quick_filter_dialog: true }),
|
|
175
|
+
showLoading: false,
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
];
|
|
179
|
+
return [...buttons, ...((_a = this.props.buttons) !== null && _a !== void 0 ? _a : [])];
|
|
180
|
+
}
|
|
181
|
+
renderFilterHeader() {
|
|
182
|
+
return (_jsx(NSFilterBox, { ref: this.NSFilterBox_Top, filterItems: this.getIncomingFilterItems(), getTables: () => {
|
|
183
|
+
return this.props.entity.tables.map(table => {
|
|
184
|
+
let columns = table.table.getColumns().map(c => (Object.assign(Object.assign({ id: c.name }, c), { type: this.filterItemTypeConverter(c.type) })));
|
|
185
|
+
columns = columns.filter(c => {
|
|
186
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
187
|
+
if ((_d = (_c = (_b = (_a = this.props.ui) === null || _a === void 0 ? void 0 : _a.search_box) === null || _b === void 0 ? void 0 : _b.exclude) === null || _c === void 0 ? void 0 : _c.show) === null || _d === void 0 ? void 0 : _d.column)
|
|
188
|
+
if ((_g = (_f = (_e = this.props.ui) === null || _e === void 0 ? void 0 : _e.search_box) === null || _f === void 0 ? void 0 : _f.exclude.show) === null || _g === void 0 ? void 0 : _g.column(table.table.name, c.name))
|
|
189
|
+
return false;
|
|
190
|
+
return true;
|
|
191
|
+
});
|
|
192
|
+
return { name: table.table.name, text: table.table.text, columns, required: table.required };
|
|
193
|
+
}).filter(t => {
|
|
194
|
+
var _a, _b, _c, _d, _e, _f;
|
|
195
|
+
if ((_d = (_c = (_b = (_a = this.props.ui) === null || _a === void 0 ? void 0 : _a.search_box) === null || _b === void 0 ? void 0 : _b.exclude) === null || _c === void 0 ? void 0 : _c.show) === null || _d === void 0 ? void 0 : _d.table)
|
|
196
|
+
if ((_f = (_e = this.props.ui) === null || _e === void 0 ? void 0 : _e.search_box) === null || _f === void 0 ? void 0 : _f.exclude.show.table(t.name))
|
|
197
|
+
return false;
|
|
198
|
+
return true;
|
|
199
|
+
});
|
|
200
|
+
}, getMoreTables: () => __awaiter(this, void 0, void 0, function* () {
|
|
201
|
+
let ans = [];
|
|
202
|
+
if (this.props.ctf.enabled)
|
|
203
|
+
try {
|
|
204
|
+
if (this.props.ctf.fields)
|
|
205
|
+
if (this.props.ctf.fields.length > 0) {
|
|
206
|
+
let name = this.props.entity.name + "_field";
|
|
207
|
+
ans.push({
|
|
208
|
+
name,
|
|
209
|
+
text: "Fields",
|
|
210
|
+
columns: [{
|
|
211
|
+
id: "field_id",
|
|
212
|
+
name: "field_id",
|
|
213
|
+
text: "ID",
|
|
214
|
+
type: FilterItemColumnType.Unknown,
|
|
215
|
+
getValues: (search) => __awaiter(this, void 0, void 0, function* () {
|
|
216
|
+
var _a, _b;
|
|
217
|
+
return (_b = (_a = this.props.ctf.fields) === null || _a === void 0 ? void 0 : _a.filter(c => SearchOperation.match(c.id, search)).map(c => { return { value: c.id, title: c.id }; })) !== null && _b !== void 0 ? _b : [];
|
|
218
|
+
})
|
|
219
|
+
}, {
|
|
220
|
+
id: "field_name",
|
|
221
|
+
name: "field_id",
|
|
222
|
+
text: "Name",
|
|
223
|
+
type: FilterItemColumnType.Unknown,
|
|
224
|
+
getValues: (search) => __awaiter(this, void 0, void 0, function* () {
|
|
225
|
+
var _a, _b;
|
|
226
|
+
return (_b = (_a = this.props.ctf.fields) === null || _a === void 0 ? void 0 : _a.filter(c => SearchOperation.match(c.name, search)).map(c => { return { value: c.id, title: c.name }; })) !== null && _b !== void 0 ? _b : [];
|
|
227
|
+
})
|
|
228
|
+
}, {
|
|
229
|
+
id: "field_value",
|
|
230
|
+
name: "value",
|
|
231
|
+
text: "Value",
|
|
232
|
+
type: FilterItemColumnType.Unknown
|
|
233
|
+
},
|
|
234
|
+
...this.props.ctf.fields.map(f => {
|
|
235
|
+
return {
|
|
236
|
+
id: f.id,
|
|
237
|
+
name: f.id,
|
|
238
|
+
text: f.name,
|
|
239
|
+
type: this.filterItemTypeConverter(f.type.type.type),
|
|
240
|
+
getValues: (search) => __awaiter(this, void 0, void 0, function* () {
|
|
241
|
+
let values = yield this.props.entity.server.value_list(name, "value", search, f.id, null);
|
|
242
|
+
return values.map(v => { return { value: v, title: v }; });
|
|
243
|
+
})
|
|
244
|
+
};
|
|
245
|
+
}),],
|
|
246
|
+
required: false
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
if (this.props.ctf.categories)
|
|
250
|
+
if (this.props.ctf.categories.length > 0)
|
|
251
|
+
ans.push({
|
|
252
|
+
name: this.props.entity.name + "_category",
|
|
253
|
+
text: "Categories",
|
|
254
|
+
columns: [{
|
|
255
|
+
id: "category_id",
|
|
256
|
+
name: "category_id",
|
|
257
|
+
text: "ID",
|
|
258
|
+
type: FilterItemColumnType.Unknown,
|
|
259
|
+
getValues: (search) => __awaiter(this, void 0, void 0, function* () {
|
|
260
|
+
var _a, _b;
|
|
261
|
+
return (_b = (_a = this.props.ctf.categories) === null || _a === void 0 ? void 0 : _a.filter(c => SearchOperation.match(c.id, search)).map(c => { return { value: c.id, title: c.id }; })) !== null && _b !== void 0 ? _b : [];
|
|
262
|
+
})
|
|
263
|
+
}, {
|
|
264
|
+
id: "category_name",
|
|
265
|
+
name: "category_id",
|
|
266
|
+
text: "Name",
|
|
267
|
+
type: FilterItemColumnType.Unknown,
|
|
268
|
+
getValues: (search) => __awaiter(this, void 0, void 0, function* () {
|
|
269
|
+
var _a, _b;
|
|
270
|
+
return (_b = (_a = this.props.ctf.categories) === null || _a === void 0 ? void 0 : _a.filter(c => SearchOperation.match(c.name, search)).map(c => { return { value: c.id, title: c.name }; })) !== null && _b !== void 0 ? _b : [];
|
|
271
|
+
})
|
|
272
|
+
}],
|
|
273
|
+
required: false
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
catch (error) {
|
|
277
|
+
}
|
|
278
|
+
return ans;
|
|
279
|
+
}), getValues: (table, column, value) => __awaiter(this, void 0, void 0, function* () {
|
|
280
|
+
var _a, _b, _c, _d, _e, _f;
|
|
281
|
+
if ((_c = (_b = (_a = this.props.ui) === null || _a === void 0 ? void 0 : _a.search_box) === null || _b === void 0 ? void 0 : _b.exclude) === null || _c === void 0 ? void 0 : _c.load_value)
|
|
282
|
+
if ((_f = (_e = (_d = this.props.ui) === null || _d === void 0 ? void 0 : _d.search_box) === null || _e === void 0 ? void 0 : _e.exclude) === null || _f === void 0 ? void 0 : _f.load_value(table.name, column.name))
|
|
283
|
+
return [];
|
|
284
|
+
let values = yield this.props.entity.server.value_list(table.name, column.name, value, null, null);
|
|
285
|
+
return values.map(v => { return { value: v, title: v }; });
|
|
286
|
+
}), onChanged: this.onFilterBoxChanged }));
|
|
287
|
+
}
|
|
288
|
+
getOrderedColumns() {
|
|
289
|
+
const all = this.getColumns();
|
|
290
|
+
const vk = this.state.visible_column_keys;
|
|
291
|
+
if (vk.length === 0)
|
|
292
|
+
return all;
|
|
293
|
+
const ordered = vk.map(k => all.find(c => c.table.name + "." + c.name === k)).filter((c) => !!c);
|
|
294
|
+
const rest = all.filter(c => !vk.includes(c.table.name + "." + c.name));
|
|
295
|
+
return [...ordered, ...rest];
|
|
296
|
+
}
|
|
297
|
+
render() {
|
|
298
|
+
var _a, _b, _c, _d, _e;
|
|
299
|
+
const filterBoxItems = (_b = (_a = this.NSFilterBox_Top.current) === null || _a === void 0 ? void 0 : _a.getFilterItems()) !== null && _b !== void 0 ? _b : [];
|
|
300
|
+
const filterChips = filterBoxItems.length > 0 && (_jsx(NSFilterBoxItems, { filterItems: filterBoxItems, onClearFilterItems: () => { var _a; return (_a = this.NSFilterBox_Top.current) === null || _a === void 0 ? void 0 : _a.setFilterItems([]); }, onRemoveFilterItem: (item) => { var _a; return (_a = this.NSFilterBox_Top.current) === null || _a === void 0 ? void 0 : _a.removeFilterItem(item); } }));
|
|
301
|
+
const quickFilterBar = this.state.quick_filter_configs.length > 0 && (_jsx(NSAQuickFilterBar, { ref: this.NSAQuickFilterBar_Ref, configs: this.state.quick_filter_configs, getValues: (tableName, columnName, search) => __awaiter(this, void 0, void 0, function* () {
|
|
302
|
+
const values = yield this.props.entity.server.value_list(tableName, columnName, search, null, null);
|
|
303
|
+
const col = this.getColumns().find(c => c.table.name === tableName && c.name === columnName);
|
|
304
|
+
return values.map(v => {
|
|
305
|
+
const formatted = col ? col.formatter.format(v, col, { value: {} }, true) : null;
|
|
306
|
+
return { value: v, title: formatted != null ? String(formatted) : v };
|
|
307
|
+
});
|
|
308
|
+
}), onChanged: () => this.reloadFromFilters() }, this.state.quick_filter_configs.map(c => c.id).join("-")));
|
|
309
|
+
return (_jsxs(_Fragment, { children: [_jsxs(NSTable, { id: this.props.id, classList: this.props.classList, style: this.props.style, ref: this.NSTable_Main, name: NamingConvention.lower_case_dash.convert(this.props.entity.name, NamingConvention.Pascal_Case_Space), checkbox: (_c = this.props.checkbox) !== null && _c !== void 0 ? _c : true, headerChildren: this.renderFilterHeader(), buttons: this.buildButtons(), columns: this.getOrderedColumns(), getRows: (page, size, sorts) => __awaiter(this, void 0, void 0, function* () {
|
|
310
|
+
let res = { rows: [], count: 0 };
|
|
311
|
+
if (this.props.entity.server.list)
|
|
312
|
+
res = yield this.props.entity.server.list(this.getFilterItems(), page, size, sorts, null);
|
|
313
|
+
this.setState({ res });
|
|
314
|
+
return res;
|
|
315
|
+
}), getRowKey: (row) => row.value.id.toString(), getRowAttributes: (row_value, row_index) => { var _a, _b, _c; return (_c = (_b = (_a = this.props.ui) === null || _a === void 0 ? void 0 : _a.getRowAttributes) === null || _b === void 0 ? void 0 : _b.call(_a, row_value, row_index, this.state.res)) !== null && _c !== void 0 ? _c : {}; }, getColumnAttributes: (_d = this.props.ui) === null || _d === void 0 ? void 0 : _d.getColumnAttributes, getCellFormattedValue: (_e = this.props.ui) === null || _e === void 0 ? void 0 : _e.getCellFormattedValue, onVisibleColumnsChanged: (visible_columns) => this.setState({ visible_column_keys: visible_columns.map(c => c.table + "." + c.column) }), onSelectedIDsChanged: () => { var _a, _b; return (_b = (_a = this.props).onSelectionChanged) === null || _b === void 0 ? void 0 : _b.call(_a); }, children: [filterChips, quickFilterBar] }), this.state.show_sort_dialog &&
|
|
316
|
+
_jsx(NSASortDialog, { sorts: this.state.sorts, getColumns: () => this.getColumns(), onCancel: () => this.setState({ show_sort_dialog: false }), onApply: sorts => {
|
|
317
|
+
this.setSortItems(sorts);
|
|
318
|
+
this.setState({ show_sort_dialog: false, sorts: sorts !== null && sorts !== void 0 ? sorts : [] });
|
|
319
|
+
} }), this.state.show_reorder_dialog &&
|
|
320
|
+
_jsx(NSAReorderDialog, { visibleColumnKeys: this.state.visible_column_keys, getColumns: () => this.getColumns(), onCancel: () => this.setState({ show_reorder_dialog: false }), onApply: orderedKeys => {
|
|
321
|
+
const cs_all = this.getColumns();
|
|
322
|
+
const cs = orderedKeys.map((v) => cs_all.find((c) => v === c.table.name + "." + c.name)).filter(Boolean);
|
|
323
|
+
this.setVisibleColumns(cs.map(c => ({ table: c.table.name, column: c.name })));
|
|
324
|
+
this.setState({ show_reorder_dialog: false, visible_column_keys: orderedKeys });
|
|
325
|
+
} }), this.state.show_quick_filter_dialog &&
|
|
326
|
+
_jsx(NSAQuickFilterDialog, { configs: this.state.quick_filter_configs, getColumns: () => this.getColumns(), typeConverter: (type) => new ObjectService(type).getEnum(VariableType, VariableType.Any), onSave: configs => {
|
|
327
|
+
NSACacheService.saveQuickFilters(this.props.entity.name, configs);
|
|
328
|
+
this.setState({ quick_filter_configs: configs }, () => this.reloadFromFilters());
|
|
329
|
+
}, onConfirm: configs => {
|
|
330
|
+
NSACacheService.saveQuickFilters(this.props.entity.name, configs);
|
|
331
|
+
this.setState({ quick_filter_configs: configs, show_quick_filter_dialog: false }, () => this.reloadFromFilters());
|
|
332
|
+
}, onClose: () => this.setState({ show_quick_filter_dialog: false }) })] }));
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=NSATable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NSATable.js","sourceRoot":"","sources":["../../src/components/NSATable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,18 @@
|
|
|
1
|
-
import { Component, ReactNode } from "react";
|
|
2
|
-
import { SortItem } from "namirasoft-core";
|
|
3
|
-
import { NSTable, NSFilterBox, TableColumnInfo, TableRowInfo, IBaseComponentProps, NSBoxCombo, NSBoxBooleans, NSBoxBoolean, NSBoxBaseCombo } from "namirasoft-site-react";
|
|
4
1
|
import { CategoryRow, FieldRow } from "namirasoft-field";
|
|
2
|
+
import { IBaseComponentProps, NSBoxCombo } from "namirasoft-site-react";
|
|
3
|
+
import { Component, ReactNode } from "react";
|
|
5
4
|
import { IEntityInfo } from "../IEntityInfo";
|
|
6
5
|
import { NSARouterMakerProps } from "../NSARouterMakerProps";
|
|
6
|
+
import { NSATable, NSATableUIProps } from "../components/NSATable";
|
|
7
7
|
import { NSASectionViewTabPage, NSASectionViewTabPageUIProps } from "./NSASectionViewTabPage";
|
|
8
8
|
export interface NSASectionListCustomProps<RowType extends {
|
|
9
9
|
id: string;
|
|
10
10
|
}, RowTypeInput = RowType> {
|
|
11
|
-
ui?: {
|
|
12
|
-
getRowAttributes?: (row_value: RowType, row_index: number, res: {
|
|
13
|
-
rows: RowType[];
|
|
14
|
-
count: number;
|
|
15
|
-
} | null) => {
|
|
16
|
-
[key: string]: any;
|
|
17
|
-
};
|
|
18
|
-
getColumnAttributes?: (column: TableColumnInfo) => {
|
|
19
|
-
[key: string]: any;
|
|
20
|
-
};
|
|
21
|
-
getCellFormattedValue?: (value: any, column: TableColumnInfo, row: TableRowInfo<RowType>) => any;
|
|
11
|
+
ui?: NSATableUIProps<RowType> & {
|
|
22
12
|
modes?: {
|
|
23
13
|
[name: string]: (entity: IEntityInfo<RowType, RowTypeInput>) => JSX.Element;
|
|
24
14
|
};
|
|
25
15
|
default_mode?: string;
|
|
26
|
-
search_box?: {
|
|
27
|
-
exclude?: {
|
|
28
|
-
show?: {
|
|
29
|
-
table?: (table: string) => boolean;
|
|
30
|
-
column?: (table: string, column: string) => boolean;
|
|
31
|
-
};
|
|
32
|
-
load_value?: (table: string, column: string) => boolean;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
16
|
tab_page_view?: NSASectionViewTabPageUIProps<RowType>;
|
|
36
17
|
};
|
|
37
18
|
onIDsChanged?: () => void;
|
|
@@ -49,26 +30,15 @@ export interface NSASectionListProps<RowType extends {
|
|
|
49
30
|
deleteFieldCache: () => void;
|
|
50
31
|
children?: ReactNode;
|
|
51
32
|
}
|
|
52
|
-
export interface NSASectionListState
|
|
53
|
-
res: {
|
|
54
|
-
rows: RowType[];
|
|
55
|
-
count: number;
|
|
56
|
-
} | null;
|
|
57
|
-
show_dialog_columns: boolean;
|
|
58
|
-
sorts: SortItem[];
|
|
33
|
+
export interface NSASectionListState {
|
|
59
34
|
mode: string;
|
|
60
35
|
selected_row_ids: string[];
|
|
61
36
|
}
|
|
62
37
|
export declare class NSASectionList<RowType extends {
|
|
63
38
|
id: string;
|
|
64
|
-
}, RowTypeInput = RowType> extends Component<NSASectionListProps<RowType, RowTypeInput>, NSASectionListState
|
|
65
|
-
NSFilterBox_Top: import("react").RefObject<NSFilterBox>;
|
|
39
|
+
}, RowTypeInput = RowType> extends Component<NSASectionListProps<RowType, RowTypeInput>, NSASectionListState> {
|
|
66
40
|
NSBoxCombo_Mode: import("react").RefObject<NSBoxCombo>;
|
|
67
|
-
NSTable_Main: import("react").RefObject<
|
|
68
|
-
NSBoxBoolean_Sort: import("react").RefObject<NSBoxBoolean>;
|
|
69
|
-
NSBoxBaseCombo_Sort_Column: import("react").RefObject<NSBoxBaseCombo<TableColumnInfo>>;
|
|
70
|
-
NSBoxCombo_Sort_Direction: import("react").RefObject<NSBoxCombo>;
|
|
71
|
-
NSBoxBooleans_Columns: import("react").RefObject<NSBoxBooleans>;
|
|
41
|
+
NSTable_Main: import("react").RefObject<NSATable<RowType, RowTypeInput>>;
|
|
72
42
|
NSASectionViewTabPage_Ref: import("react").RefObject<NSASectionViewTabPage<RowType, RowTypeInput>>;
|
|
73
43
|
constructor(props: NSASectionListProps<RowType, RowTypeInput>);
|
|
74
44
|
getSelectedIDs(): string[];
|