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.
Files changed (74) hide show
  1. package/dist/IEntityInfo.d.ts +3 -1
  2. package/dist/NSACacheService.d.ts +3 -0
  3. package/dist/NSACacheService.js +13 -0
  4. package/dist/NSACacheService.js.map +1 -1
  5. package/dist/NSAFilterOperators.d.ts +28 -0
  6. package/dist/NSAFilterOperators.js +50 -0
  7. package/dist/NSAFilterOperators.js.map +1 -0
  8. package/dist/components/NSAQuickFilter/NSAFilterBoxBase.d.ts +14 -0
  9. package/dist/components/NSAQuickFilter/NSAFilterBoxBase.js +40 -0
  10. package/dist/components/NSAQuickFilter/NSAFilterBoxBase.js.map +1 -0
  11. package/dist/components/NSAQuickFilter/NSAFilterBoxBoolean.d.ts +12 -0
  12. package/dist/components/NSAQuickFilter/NSAFilterBoxBoolean.js +30 -0
  13. package/dist/components/NSAQuickFilter/NSAFilterBoxBoolean.js.map +1 -0
  14. package/dist/components/NSAQuickFilter/NSAFilterBoxDate.d.ts +12 -0
  15. package/dist/components/NSAQuickFilter/NSAFilterBoxDate.js +58 -0
  16. package/dist/components/NSAQuickFilter/NSAFilterBoxDate.js.map +1 -0
  17. package/dist/components/NSAQuickFilter/NSAFilterBoxDateTime.d.ts +12 -0
  18. package/dist/components/NSAQuickFilter/NSAFilterBoxDateTime.js +58 -0
  19. package/dist/components/NSAQuickFilter/NSAFilterBoxDateTime.js.map +1 -0
  20. package/dist/components/NSAQuickFilter/NSAFilterBoxEnum.d.ts +22 -0
  21. package/dist/components/NSAQuickFilter/NSAFilterBoxEnum.js +52 -0
  22. package/dist/components/NSAQuickFilter/NSAFilterBoxEnum.js.map +1 -0
  23. package/dist/components/NSAQuickFilter/NSAFilterBoxNumber.d.ts +22 -0
  24. package/dist/components/NSAQuickFilter/NSAFilterBoxNumber.js +67 -0
  25. package/dist/components/NSAQuickFilter/NSAFilterBoxNumber.js.map +1 -0
  26. package/dist/components/NSAQuickFilter/NSAFilterBoxString.d.ts +13 -0
  27. package/dist/components/NSAQuickFilter/NSAFilterBoxString.js +47 -0
  28. package/dist/components/NSAQuickFilter/NSAFilterBoxString.js.map +1 -0
  29. package/dist/components/NSAQuickFilter/NSAFilterBoxTime.d.ts +12 -0
  30. package/dist/components/NSAQuickFilter/NSAFilterBoxTime.js +58 -0
  31. package/dist/components/NSAQuickFilter/NSAFilterBoxTime.js.map +1 -0
  32. package/dist/components/NSAQuickFilter/NSAQuickFilterBar.d.ts +28 -0
  33. package/dist/components/NSAQuickFilter/NSAQuickFilterBar.js +74 -0
  34. package/dist/components/NSAQuickFilter/NSAQuickFilterBar.js.map +1 -0
  35. package/dist/components/NSAQuickFilter/NSAQuickFilterDialog.d.ts +43 -0
  36. package/dist/components/NSAQuickFilter/NSAQuickFilterDialog.js +114 -0
  37. package/dist/components/NSAQuickFilter/NSAQuickFilterDialog.js.map +1 -0
  38. package/dist/components/NSAReorderDialog.d.ts +30 -0
  39. package/dist/components/NSAReorderDialog.js +69 -0
  40. package/dist/components/NSAReorderDialog.js.map +1 -0
  41. package/dist/components/NSAReorderDialog.module.css +50 -0
  42. package/dist/components/NSASortDialog.d.ts +21 -0
  43. package/dist/components/NSASortDialog.js +61 -0
  44. package/dist/components/NSASortDialog.js.map +1 -0
  45. package/dist/components/NSATable.d.ts +95 -0
  46. package/dist/components/NSATable.js +335 -0
  47. package/dist/components/NSATable.js.map +1 -0
  48. package/dist/layouts/NSASectionList.d.ts +7 -37
  49. package/dist/layouts/NSASectionList.js +17 -247
  50. package/dist/layouts/NSASectionList.js.map +1 -1
  51. package/dist/layouts/NSASectionList.module.css +15 -18
  52. package/package.json +2 -2
  53. package/src/IEntityInfo.ts +3 -1
  54. package/src/NSACacheService.ts +20 -0
  55. package/src/NSAFilterOperators.ts +93 -0
  56. package/src/components/NSAQuickFilter/NSAFilterBoxBase.tsx +56 -0
  57. package/src/components/NSAQuickFilter/NSAFilterBoxBoolean.tsx +55 -0
  58. package/src/components/NSAQuickFilter/NSAFilterBoxDate.tsx +105 -0
  59. package/src/components/NSAQuickFilter/NSAFilterBoxDateTime.tsx +106 -0
  60. package/src/components/NSAQuickFilter/NSAFilterBoxEnum.module.css +45 -0
  61. package/src/components/NSAQuickFilter/NSAFilterBoxEnum.tsx +80 -0
  62. package/src/components/NSAQuickFilter/NSAFilterBoxNumber.tsx +137 -0
  63. package/src/components/NSAQuickFilter/NSAFilterBoxString.tsx +82 -0
  64. package/src/components/NSAQuickFilter/NSAFilterBoxTime.tsx +102 -0
  65. package/src/components/NSAQuickFilter/NSAQuickFilterBar.module.css +20 -0
  66. package/src/components/NSAQuickFilter/NSAQuickFilterBar.tsx +115 -0
  67. package/src/components/NSAQuickFilter/NSAQuickFilterDialog.module.css +75 -0
  68. package/src/components/NSAQuickFilter/NSAQuickFilterDialog.tsx +261 -0
  69. package/src/components/NSAReorderDialog.module.css +50 -0
  70. package/src/components/NSAReorderDialog.tsx +150 -0
  71. package/src/components/NSASortDialog.tsx +118 -0
  72. package/src/components/NSATable.tsx +490 -0
  73. package/src/layouts/NSASectionList.module.css +15 -18
  74. package/src/layouts/NSASectionList.tsx +43 -395
@@ -1,32 +1,17 @@
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";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { NSBoxCombo, NSRow, NSSpace, NSSpaceSizeType, NSSplitter } from "namirasoft-site-react";
11
3
  import { Component, createRef } from "react";
12
- import { BaseMetaColumn, BaseMetaTable, FilterItem, FilterItemColumnType, NamingConvention, ObjectService, SearchOperation, SortItem } from "namirasoft-core";
13
- import { NSSpace, NSSpaceSizeType, NSTable, NSFilterBox, NSFilterBoxItems, NSRow, NSButton, NSBoxCombo, NSDialog, NSBoxBooleans, NSPanel, NSTitle, NSBox, NSColumn, NSBoxBoolean, NSBoxBaseCombo, NSSplitter } from "namirasoft-site-react";
14
- import { NSASectionViewTabPage } from "./NSASectionViewTabPage";
15
- import { FilterItemColumnTypeBuilder, VariableType } from "namirasoft-schema";
4
+ import { NSATable } from "../components/NSATable";
16
5
  import Styles from "./NSASectionList.module.css";
6
+ import { NSASectionViewTabPage } from "./NSASectionViewTabPage";
17
7
  export class NSASectionList extends Component {
18
8
  constructor(props) {
19
9
  var _a, _b;
20
10
  super(props);
21
- this.NSFilterBox_Top = createRef();
22
11
  this.NSBoxCombo_Mode = createRef();
23
12
  this.NSTable_Main = createRef();
24
- this.NSBoxBoolean_Sort = createRef();
25
- this.NSBoxBaseCombo_Sort_Column = createRef();
26
- this.NSBoxCombo_Sort_Direction = createRef();
27
- this.NSBoxBooleans_Columns = createRef();
28
13
  this.NSASectionViewTabPage_Ref = createRef();
29
- this.state = { res: null, show_dialog_columns: false, sorts: [], mode: (_b = (_a = props.ui) === null || _a === void 0 ? void 0 : _a.default_mode) !== null && _b !== void 0 ? _b : "", selected_row_ids: [] };
14
+ this.state = { mode: (_b = (_a = props.ui) === null || _a === void 0 ? void 0 : _a.default_mode) !== null && _b !== void 0 ? _b : "", selected_row_ids: [] };
30
15
  }
31
16
  getSelectedIDs() {
32
17
  var _a, _b;
@@ -37,54 +22,13 @@ export class NSASectionList extends Component {
37
22
  return (_b = (_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.getSelectedRows()) !== null && _b !== void 0 ? _b : [];
38
23
  }
39
24
  render() {
40
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
41
- const getColumns = () => {
42
- let columns = Object.values(this.props.entity.client.getColumns()).flat();
43
- columns.forEach(col => {
44
- col.text = NamingConvention.auto.convert(col.text, NamingConvention.Pascal_Case_Space);
45
- });
46
- return columns;
47
- };
48
- const getRowKey = (row) => {
49
- return row.value.id.toString();
50
- };
51
- let filterItems = (_b = (_a = this.NSFilterBox_Top.current) === null || _a === void 0 ? void 0 : _a.getFilterItems()) !== null && _b !== void 0 ? _b : [];
52
- let incommingFilterItems = undefined;
53
- try {
54
- let encoded = this.props.url.getQuery("filters");
55
- if (encoded)
56
- incommingFilterItems = (_c = FilterItem.decode(encoded)) !== null && _c !== void 0 ? _c : undefined;
57
- }
58
- catch (error) {
59
- }
60
- function typeConvertor(type) {
61
- var _a;
62
- let t = new ObjectService(type).getEnum(VariableType, VariableType.Any);
63
- let builder = new FilterItemColumnTypeBuilder(t);
64
- return (_a = builder.runSynch(() => { })) !== null && _a !== void 0 ? _a : FilterItemColumnType.Unknown;
65
- }
66
- let table_renderer = () => {
67
- var _a, _b;
68
- return (_jsx(NSTable, { ref: this.NSTable_Main, name: NamingConvention.lower_case_dash.convert(this.props.entity.name, NamingConvention.Pascal_Case_Space), checkbox: true, columns: getColumns(), getRows: (page, size, sorts) => __awaiter(this, void 0, void 0, function* () {
69
- var _a, _b;
70
- let res = { rows: [], count: 0 };
71
- if (this.NSTable_Main.current) {
72
- let items = (_b = (_a = this.NSFilterBox_Top.current) === null || _a === void 0 ? void 0 : _a.getFilterItems()) !== null && _b !== void 0 ? _b : [];
73
- if (this.props.entity.server.list)
74
- res = yield this.props.entity.server.list(items, page, size, sorts);
75
- }
76
- this.setState({ res });
77
- return res;
78
- }), getRowKey: getRowKey, 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: (_a = this.props.ui) === null || _a === void 0 ? void 0 : _a.getColumnAttributes, getCellFormattedValue: (_b = this.props.ui) === null || _b === void 0 ? void 0 : _b.getCellFormattedValue, onSelectedIDsChanged: () => {
79
- if (this.props.onIDsChanged) {
80
- this.props.onIDsChanged();
81
- this.setState(prev => (Object.assign(Object.assign({}, prev), { selected_row_ids: this.getSelectedIDs() })));
82
- }
83
- else
84
- this.setState({ selected_row_ids: this.getSelectedIDs() });
85
- } }));
86
- };
87
- let modes = (_e = (_d = this.props.ui) === null || _d === void 0 ? void 0 : _d.modes) !== null && _e !== void 0 ? _e : {};
25
+ var _a, _b, _c, _d, _e;
26
+ let table_renderer = () => (_jsx(NSATable, { ref: this.NSTable_Main, entity: this.props.entity, ctf: this.props.ctf, url: this.props.url, ui: this.props.ui, onSelectionChanged: () => {
27
+ var _a, _b;
28
+ (_b = (_a = this.props).onIDsChanged) === null || _b === void 0 ? void 0 : _b.call(_a);
29
+ this.setState({ selected_row_ids: this.getSelectedIDs() });
30
+ } }));
31
+ let modes = (_b = (_a = this.props.ui) === null || _a === void 0 ? void 0 : _a.modes) !== null && _b !== void 0 ? _b : {};
88
32
  if (!modes)
89
33
  modes = {};
90
34
  if (!modes["Table"])
@@ -93,189 +37,15 @@ export class NSASectionList extends Component {
93
37
  let mode_current = this.state.mode;
94
38
  if (!mode_names.includes(mode_current))
95
39
  mode_current = mode_names[0];
96
- return (_jsxs(_Fragment, { children: [_jsxs("div", { id: this.props.id, className: `${(_g = (_f = this.props.classList) === null || _f === void 0 ? void 0 : _f.join(" ")) !== null && _g !== void 0 ? _g : ""}`, style: Object.assign({}, this.props.style), children: [_jsxs(NSRow, { style: { justifyContent: "start" }, children: [_jsx(NSFilterBox, { ref: this.NSFilterBox_Top, filterItems: incommingFilterItems, getTables: () => {
97
- return this.props.entity.tables.map(table => {
98
- let columns = table.table.getColumns().map(c => (Object.assign(Object.assign({ id: c.name }, c), { type: typeConvertor(c.type) })));
99
- columns = columns.filter(c => {
100
- var _a, _b, _c, _d, _e, _f, _g;
101
- 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)
102
- 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))
103
- return false;
104
- return true;
105
- });
106
- return { name: table.table.name, text: table.table.text, columns, required: table.required };
107
- }).filter(t => {
108
- var _a, _b, _c, _d, _e, _f;
109
- 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)
110
- 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))
111
- return false;
112
- return true;
113
- });
114
- }, getMoreTables: () => __awaiter(this, void 0, void 0, function* () {
115
- let ans = [];
116
- if (this.props.ctf.enabled)
117
- try {
118
- if (this.props.ctf.fields)
119
- if (this.props.ctf.fields.length > 0) {
120
- let name = this.props.entity.name + "_field";
121
- ans.push({
122
- name,
123
- text: "Fields",
124
- columns: [{
125
- id: "field_id",
126
- name: "field_id",
127
- text: "ID",
128
- type: FilterItemColumnType.Unknown,
129
- getValues: (search) => __awaiter(this, void 0, void 0, function* () {
130
- var _a, _b;
131
- 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 : [];
132
- })
133
- }, {
134
- id: "field_name",
135
- name: "field_id",
136
- text: "Name",
137
- type: FilterItemColumnType.Unknown,
138
- getValues: (search) => __awaiter(this, void 0, void 0, function* () {
139
- var _a, _b;
140
- 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 : [];
141
- })
142
- }, {
143
- id: "field_value",
144
- name: "value",
145
- text: "Value",
146
- type: FilterItemColumnType.Unknown
147
- },
148
- ...this.props.ctf.fields.map(f => {
149
- return {
150
- id: f.id,
151
- name: f.id,
152
- text: f.name,
153
- type: typeConvertor(f.type.type.type),
154
- getValues: (search) => __awaiter(this, void 0, void 0, function* () {
155
- let values = yield this.props.entity.server.value_list(name, "value", search, f.id, null);
156
- return values.map(v => { return { value: v, title: v }; });
157
- })
158
- };
159
- }),],
160
- required: false
161
- });
162
- }
163
- if (this.props.ctf.categories)
164
- if (this.props.ctf.categories.length > 0)
165
- ans.push({
166
- name: this.props.entity.name + "_category",
167
- text: "Categories",
168
- columns: [{
169
- id: "category_id",
170
- name: "category_id",
171
- text: "ID",
172
- type: FilterItemColumnType.Unknown,
173
- getValues: (search) => __awaiter(this, void 0, void 0, function* () {
174
- var _a, _b;
175
- 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 : [];
176
- })
177
- }, {
178
- id: "category_name",
179
- name: "category_id",
180
- text: "Name",
181
- type: FilterItemColumnType.Unknown,
182
- getValues: (search) => __awaiter(this, void 0, void 0, function* () {
183
- var _a, _b;
184
- 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 : [];
185
- })
186
- }],
187
- required: false
188
- });
189
- }
190
- catch (error) {
191
- }
192
- return ans;
193
- }), getValues: (table, column, value) => __awaiter(this, void 0, void 0, function* () {
194
- var _a, _b, _c, _d, _e, _f;
195
- 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)
196
- 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))
197
- return [];
198
- let values = yield this.props.entity.server.value_list(table.name, column.name, value, null, null);
199
- return values.map(v => { return { value: v, title: v }; });
200
- }), onChanged: () => {
201
- var _a, _b;
202
- (_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.setSelectedIDs([], []);
203
- (_b = this.NSTable_Main.current) === null || _b === void 0 ? void 0 : _b.reload(null, null);
204
- } }), _jsxs("div", { className: Styles.nsa_section_list_items, children: [mode_names.length > 1 &&
205
- _jsx(NSBoxCombo, { ref: this.NSBoxCombo_Mode, title: "Mode", hideHeader: true, required: true, searchable: false, placeholder: "", defaultValue: mode_current, getOptions: () => {
206
- return mode_names.map(m => { return { value: m, title: m }; });
207
- }, multiple: false, style: { width: "100px" }, onChanged: e => {
40
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { id: this.props.id, className: `${(_d = (_c = this.props.classList) === null || _c === void 0 ? void 0 : _c.join(" ")) !== null && _d !== void 0 ? _d : ""}`, style: Object.assign({}, this.props.style), children: [mode_names.length > 1 &&
41
+ _jsxs(_Fragment, { children: [_jsx(NSRow, { style: { justifyContent: "flex-end", alignItems: "center" }, children: _jsx("div", { className: Styles.nsa_section_list_actions, children: _jsx(NSBoxCombo, { ref: this.NSBoxCombo_Mode, title: "Mode", hideHeader: true, required: true, searchable: false, placeholder: "", defaultValue: mode_current, getOptions: () => mode_names.map(m => ({ value: m, title: m })), multiple: false, style: { width: "100px" }, onChanged: e => {
208
42
  var _a;
209
43
  this.setState({ mode: (_a = e.getValueOne(false)) !== null && _a !== void 0 ? _a : "" });
210
- } }), _jsx(NSButton, { title: "", onClick: {
211
- action: () => {
212
- var _a, _b;
213
- this.setState({ show_dialog_columns: true, sorts: (_b = (_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.getSortItems()) !== null && _b !== void 0 ? _b : [] }, () => {
214
- var _a, _b;
215
- let values = (_a = this.NSTable_Main.current) === null || _a === void 0 ? void 0 : _a.getVisibleColumns().map(c => c.table + "." + c.column);
216
- if (values)
217
- (_b = this.NSBoxBooleans_Columns.current) === null || _b === void 0 ? void 0 : _b.setValues(values);
218
- });
219
- },
220
- showLoading: false
221
- }, style: {
222
- width: "48px",
223
- border: "1px solid black",
224
- backgroundImage: "url('https://static.namirasoft.com/image/concept/gear/grey.svg')",
225
- backgroundSize: "32px",
226
- backgroundRepeat: "no-repeat",
227
- backgroundPosition: "center center"
228
- } })] })] }), _jsx(NSSpace, { size: NSSpaceSizeType.MINI }), _jsx(NSFilterBoxItems, { filterItems: filterItems, onClearFilterItems: () => {
229
- var _a;
230
- (_a = this.NSFilterBox_Top.current) === null || _a === void 0 ? void 0 : _a.setFilterItems([]);
231
- }, onRemoveFilterItem: (item) => {
232
- var _a;
233
- (_a = this.NSFilterBox_Top.current) === null || _a === void 0 ? void 0 : _a.removeFilterItem(item);
234
- } }), filterItems.length > 0 &&
235
- _jsx(NSSpace, { size: NSSpaceSizeType.MINI }), _jsx(NSSplitter, { master_content: modes[mode_current](this.props.entity), detail_content: (this.state.selected_row_ids.length === 1 &&
236
- _jsx(NSASectionViewTabPage, Object.assign({ ref: this.NSASectionViewTabPage_Ref }, this.props, { ui: (_h = this.props.ui) === null || _h === void 0 ? void 0 : _h.tab_page_view, model: {
44
+ } }) }) }), _jsx(NSSpace, { size: NSSpaceSizeType.MINI })] }), _jsx(NSSplitter, { master_content: modes[mode_current](this.props.entity), detail_content: (this.state.selected_row_ids.length === 1 &&
45
+ _jsx(NSASectionViewTabPage, Object.assign({ ref: this.NSASectionViewTabPage_Ref }, this.props, { ui: (_e = this.props.ui) === null || _e === void 0 ? void 0 : _e.tab_page_view, model: {
237
46
  id: this.getSelectedIDs()[0],
238
47
  row: this.getSelectedRows()[0]
239
- } }), this.state.selected_row_ids[0])) })] }), this.state.show_dialog_columns &&
240
- _jsx(NSDialog, { onClose: () => {
241
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
242
- try {
243
- if ((_b = (_a = this.NSBoxBoolean_Sort) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.getValueBool()) {
244
- let column = (_c = this.NSBoxBaseCombo_Sort_Column.current) === null || _c === void 0 ? void 0 : _c.getDataOne();
245
- let d = (_d = this.NSBoxCombo_Sort_Direction.current) === null || _d === void 0 ? void 0 : _d.getValueOne();
246
- if (column) {
247
- let t = new BaseMetaTable(null, column.table.name, column.table.text);
248
- let c = new BaseMetaColumn(t, column.name, column.text, "", true);
249
- let sort = new SortItem(t, c, d === "true");
250
- (_e = this.NSTable_Main.current) === null || _e === void 0 ? void 0 : _e.setSortItems([sort]);
251
- }
252
- }
253
- else
254
- (_f = this.NSTable_Main.current) === null || _f === void 0 ? void 0 : _f.setSortItems(null);
255
- let cs_all = getColumns();
256
- let cs_visibles = (_h = (_g = this.NSBoxBooleans_Columns.current) === null || _g === void 0 ? void 0 : _g.getValues()) !== null && _h !== void 0 ? _h : [];
257
- let cs = cs_visibles.map(v => cs_all.filter(c => v === c.table.name + "." + c.name)[0]).filter(c => c);
258
- (_j = this.NSTable_Main.current) === null || _j === void 0 ? void 0 : _j.setVisibleColumns(cs.map(c => { return { table: c.table.name, column: c.name }; }));
259
- this.setState({ show_dialog_columns: false });
260
- }
261
- catch (error) {
262
- alert(error);
263
- }
264
- }, center_dialog: true, closeButton: { show: true }, children: _jsxs(NSPanel, { children: [_jsx(NSColumn, { children: _jsx(NSTitle, { title: "Sort", style: { color: "rgba(20, 27, 92, 1)", marginBottom: "0" } }) }), _jsxs(NSRow, { style: { justifyContent: "start" }, children: [_jsx(NSBoxBoolean, { ref: this.NSBoxBoolean_Sort, required: true, title: "Sort", checked: this.state.sorts.length > 0, onChanged: () => {
265
- this.setState({});
266
- } }), ((_k = (_j = this.NSBoxBoolean_Sort) === null || _j === void 0 ? void 0 : _j.current) === null || _k === void 0 ? void 0 : _k.getValueBool(false)) &&
267
- _jsxs(_Fragment, { children: [_jsx(NSBoxBaseCombo, { ref: this.NSBoxBaseCombo_Sort_Column, title: "Column", required: true, defaultValue: (_l = this.state.sorts[0]) === null || _l === void 0 ? void 0 : _l.column.name, getItems: () => __awaiter(this, void 0, void 0, function* () {
268
- let cs = getColumns();
269
- return { count: cs.length, rows: cs };
270
- }), getTitle: c => c.text, getValue: c => c.name, getSort: () => null, multiple: false }), _jsx(NSBoxCombo, { ref: this.NSBoxCombo_Sort_Direction, title: "Direction", required: true, defaultValue: ((_m = this.state.sorts[0]) === null || _m === void 0 ? void 0 : _m.ascending) + "", getOptions: () => {
271
- return [{
272
- value: "true",
273
- title: "Ascending"
274
- }, {
275
- value: "false",
276
- title: "Descending"
277
- }];
278
- }, multiple: false })] })] }), _jsx(NSColumn, { children: _jsx(NSTitle, { title: "Columns", style: { color: "rgba(20, 27, 92, 1)", marginBottom: "0" } }) }), _jsx(NSRow, { style: { maxWidth: NSBox.width.triple }, children: _jsx(NSBoxBooleans, { ref: this.NSBoxBooleans_Columns, box_all: { hideHeader: true }, boxes: { hideHeader: true }, items: getColumns().map(c => { return { value: c.table.name + "." + c.name, text: c.table.text + "." + c.text }; }) }) })] }) }), this.props.children] }));
48
+ } }), this.state.selected_row_ids[0])) })] }), this.props.children] }));
279
49
  }
280
50
  }
281
51
  //# sourceMappingURL=NSASectionList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSASectionList.js","sourceRoot":"","sources":["../../src/layouts/NSASectionList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSASectionList.js","sourceRoot":"","sources":["../../src/layouts/NSASectionList.tsx"],"names":[],"mappings":"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"}
@@ -1,22 +1,19 @@
1
- .nsa_section_list_items {
2
- display: flex;
3
- flex-direction: row;
4
- flex-wrap: wrap;
5
- justify-content: center;
6
- align-items: center;
7
- gap: 16px;
8
- width: 100%;
1
+ .nsa_section_list_btn {
2
+ width: 48px;
3
+ border: 1px solid #a0a0a0;
9
4
  }
10
5
 
11
- @media screen and (min-width: 1024px) {
6
+ .nsa_section_list_btn img {
7
+ width: 24px;
8
+ height: 24px;
9
+ }
12
10
 
13
- .nsa_section_list_items {
14
- display: flex;
15
- flex-direction: row;
16
- flex-wrap: nowrap;
17
- justify-content: end;
18
- align-items: center;
19
- flex: 1;
20
- width: unset;
21
- }
11
+ .nsa_section_list_actions {
12
+ display: flex;
13
+ flex-direction: row;
14
+ flex-wrap: nowrap;
15
+ justify-content: flex-end;
16
+ align-items: center;
17
+ gap: 8px;
18
+ flex-shrink: 0;
22
19
  }
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.418",
11
+ "version": "1.4.421",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -39,7 +39,7 @@
39
39
  "namirasoft-schema": "^1.4.29",
40
40
  "namirasoft-secret": "^1.4.46",
41
41
  "namirasoft-site-map": "^1.4.49",
42
- "namirasoft-site-react": "^1.4.546",
42
+ "namirasoft-site-react": "^1.4.553",
43
43
  "namirasoft-workspace": "^1.4.28",
44
44
  "os-browserify": "^0.3.0",
45
45
  "path-browserify": "^1.0.1",
@@ -1,5 +1,6 @@
1
1
  import { BaseMetaTable, FilterItem, SortItem } from "namirasoft-core";
2
2
  import { NSMenuActionProps, TableColumnInfo } from "namirasoft-site-react";
3
+ import { QuickFilterDef } from "./NSAFilterOperators";
3
4
 
4
5
  export interface IEntityInfo<EntityType extends { id: string }, EntityTypeInput = EntityType>
5
6
  {
@@ -9,7 +10,7 @@ export interface IEntityInfo<EntityType extends { id: string }, EntityTypeInput
9
10
  server: {
10
11
  value_list: (table: string, column: string, search: string | null, field_id: string | null, limit: number | null) => Promise<string[]>;
11
12
  get: null | ((id: string) => Promise<EntityType>);
12
- list: null | ((filters: FilterItem[] | null, page: (number | null), size: (number | null), sorts: SortItem[]) => Promise<{
13
+ list: null | ((filters: FilterItem[] | null, page: (number | null), size: (number | null), sorts: SortItem[], all_workspaces: (boolean | null)) => Promise<{
13
14
  rows: EntityType[];
14
15
  count: number;
15
16
  }>);
@@ -28,5 +29,6 @@ export interface IEntityInfo<EntityType extends { id: string }, EntityTypeInput
28
29
  onUpdate?: (id: string, entity: EntityTypeInput) => Promise<EntityType | null>;
29
30
  onSuccess?: (entity: EntityType) => boolean;
30
31
  getMenus?: (getIDs: () => string[], getRows: (() => EntityType[])) => { [group: string]: NSMenuActionProps[]; }
32
+ getQuickFilters?: () => QuickFilterDef<EntityType>[]
31
33
  }
32
34
  }
@@ -3,6 +3,7 @@ import { CacheService, EnvService, IStorageLocal, PackageService } from "namiras
3
3
  import { ConsentRow, NamirasoftAccountServer, TokenManager } from "namirasoft-account";
4
4
  import { FilterLinkFullRow, NamirasoftAPILinkServer } from "namirasoft-api-link";
5
5
  import { NSNotifier } from "namirasoft-site-react";
6
+ import { QuickFilterConfig } from "./components/NSAQuickFilter/NSAQuickFilterDialog";
6
7
 
7
8
  export class NSACacheService
8
9
  {
@@ -98,4 +99,23 @@ export class NSACacheService
98
99
  async () => ({ open: false })
99
100
  );
100
101
  }
102
+
103
+ static loadQuickFilters(entityName: string): QuickFilterConfig[]
104
+ {
105
+ const storage = new IStorageLocal();
106
+ try
107
+ {
108
+ return JSON.parse(storage.get(`ns-quick-filters-${entityName}`, "[]"));
109
+ }
110
+ catch
111
+ {
112
+ return [];
113
+ }
114
+ }
115
+
116
+ static saveQuickFilters(entityName: string, configs: QuickFilterConfig[]): void
117
+ {
118
+ const storage = new IStorageLocal();
119
+ storage.set(`ns-quick-filters-${entityName}`, JSON.stringify(configs));
120
+ }
101
121
  }
@@ -0,0 +1,93 @@
1
+ import { FilterItemColumnType, FilterItemOperator } from "namirasoft-core";
2
+ import { VariableType } from "namirasoft-schema";
3
+
4
+ const all = FilterItemOperator.all as any;
5
+
6
+ if (!all["between"])
7
+ all["between"] = new FilterItemOperator(
8
+ "Between", "><", 2,
9
+ (type: FilterItemColumnType) => [FilterItemColumnType.Number, FilterItemColumnType.Date, FilterItemColumnType.DateTime, FilterItemColumnType.Time].includes(type)
10
+ );
11
+
12
+ if (!all["notequals"])
13
+ all["notequals"] = new FilterItemOperator(
14
+ "Not Equals", "!=", 1,
15
+ (type: FilterItemColumnType) => type !== FilterItemColumnType.Unknown
16
+ );
17
+
18
+ if (!all["notcontains"])
19
+ all["notcontains"] = new FilterItemOperator(
20
+ "Not Contains", "!:", 1,
21
+ (type: FilterItemColumnType) => type !== FilterItemColumnType.Unknown && type !== FilterItemColumnType.Boolean
22
+ );
23
+
24
+ export const NUMERIC_OPERATORS = ["equals", "notequals", "lessthan", "lessthanequal", "morethan", "morethanequal", "between", "empty", "exists"] as const;
25
+ export const STRING_OPERATORS = ["contains", "equals", "startswith", "empty", "exists", "notequals", "notcontains"] as const;
26
+ export const DATE_OPERATORS = ["equals", "lessthan", "lessthanequal", "morethan", "morethanequal", "between", "empty", "exists"] as const;
27
+ export const ENUM_OPERATORS = ["equals", "empty", "exists"] as const;
28
+
29
+ export type NumericOperatorKey = typeof NUMERIC_OPERATORS[number];
30
+ export type StringOperatorKey = typeof STRING_OPERATORS[number];
31
+ export type DateOperatorKey = typeof DATE_OPERATORS[number];
32
+ export type EnumOperatorKey = typeof ENUM_OPERATORS[number];
33
+
34
+ type OperatorKeyForType<T> =
35
+ T extends boolean ? never :
36
+ T extends number ? NumericOperatorKey :
37
+ T extends Date ? DateOperatorKey :
38
+ T extends string ? StringOperatorKey :
39
+ keyof typeof FilterItemOperator.all;
40
+
41
+ export type QuickFilterDef<EntityType> = NonNullable<{
42
+ [K in keyof EntityType]:
43
+ NonNullable<EntityType[K]> extends boolean
44
+ ? { column: K; operator?: never }
45
+ : { column: K; operator: OperatorKeyForType<NonNullable<EntityType[K]>> };
46
+ }[keyof EntityType]>;
47
+
48
+ export class NSAFilterOperators
49
+ {
50
+ private static readonly NUMERIC_TYPES = new Set<VariableType>([
51
+ VariableType.TinyInt, VariableType.SmallInt, VariableType.MediumInt,
52
+ VariableType.Integer, VariableType.BigInt, VariableType.Float,
53
+ VariableType.Double, VariableType.Decimal, VariableType.Real, VariableType.Money,
54
+ ]);
55
+
56
+ private static readonly STRING_TYPES = new Set<VariableType>([
57
+ VariableType.String, VariableType.Email, VariableType.Phone, VariableType.URL,
58
+ VariableType.Color, VariableType.Font, VariableType.FilePath, VariableType.Version,
59
+ VariableType.IPV4, VariableType.IPV6, VariableType.IPV4Range, VariableType.IPV6Range,
60
+ ]);
61
+
62
+ private static pick(keys: readonly string[]): FilterItemOperator[]
63
+ {
64
+ return keys.map(k => all[k]).filter(Boolean);
65
+ }
66
+
67
+ static getQuickFilterOperators(type: VariableType): FilterItemOperator[]
68
+ {
69
+ if (NSAFilterOperators.NUMERIC_TYPES.has(type))
70
+ return NSAFilterOperators.pick(NUMERIC_OPERATORS);
71
+
72
+ if (NSAFilterOperators.STRING_TYPES.has(type))
73
+ return NSAFilterOperators.pick(STRING_OPERATORS);
74
+
75
+ switch (type)
76
+ {
77
+ case VariableType.Date:
78
+ case VariableType.DateTime:
79
+ case VariableType.Time:
80
+ return NSAFilterOperators.pick(DATE_OPERATORS);
81
+ case VariableType.Enum:
82
+ case VariableType.Entity:
83
+ return NSAFilterOperators.pick(ENUM_OPERATORS);
84
+ default:
85
+ return [];
86
+ }
87
+ }
88
+
89
+ static getOperatorKey(op: FilterItemOperator): string
90
+ {
91
+ return Object.keys(all).find(k => all[k] === op) ?? op.name.toLowerCase().replace(/\s+/g, "");
92
+ }
93
+ }
@@ -0,0 +1,56 @@
1
+ import { Component } from "react";
2
+ import { BaseMetaColumn, BaseMetaTable, FilterItem, FilterItemOperator } from "namirasoft-core";
3
+ import { QuickFilterConfig } from "./NSAQuickFilterDialog";
4
+
5
+ export interface NSAFilterBoxBaseProps
6
+ {
7
+ config: QuickFilterConfig;
8
+ onChanged: (items: FilterItem | FilterItem[] | null) => void;
9
+ }
10
+
11
+ export abstract class NSAFilterBoxBase<P extends NSAFilterBoxBaseProps = NSAFilterBoxBaseProps, S = {}>
12
+ extends Component<P, S>
13
+ {
14
+ private static readonly NOT_OPERATOR_MAP: Record<string, string> = {
15
+ notequals: "equals",
16
+ notcontains: "contains",
17
+ };
18
+
19
+ private buildMeta()
20
+ {
21
+ const { config } = this.props;
22
+ const table = new BaseMetaTable(null, config.column.table.name, config.column.table.text);
23
+ const column = new BaseMetaColumn(table, config.column.name, config.column.text, config.column.type, false);
24
+ return { table, column };
25
+ }
26
+
27
+ protected buildFilterItem(...values: string[]): FilterItem
28
+ {
29
+ const { table, column } = this.buildMeta();
30
+ const key = this.props.config.operatorName ?? "";
31
+ const isNot = key in NSAFilterBoxBase.NOT_OPERATOR_MAP;
32
+ const resolvedKey = isNot ? NSAFilterBoxBase.NOT_OPERATOR_MAP[key] : key;
33
+ const operator = resolvedKey
34
+ ? FilterItemOperator.getByName(resolvedKey)
35
+ : FilterItemOperator.all.equals;
36
+ return new FilterItem(table, column, isNot, operator, ...values);
37
+ }
38
+
39
+ protected buildBetweenFilterItems(from: string, to: string): FilterItem[]
40
+ {
41
+ const { table, column } = this.buildMeta();
42
+ return [
43
+ new FilterItem(table, column, false, FilterItemOperator.all.morethanequal, from),
44
+ new FilterItem(table, column, false, FilterItemOperator.all.lessthanequal, to),
45
+ ];
46
+ }
47
+
48
+ protected getLabel(): string
49
+ {
50
+ const { config } = this.props;
51
+ if (!config.operatorName)
52
+ return config.column.text;
53
+ const sign = FilterItemOperator.getByName(config.operatorName).sign;
54
+ return `${config.column.text} ${sign}`;
55
+ }
56
+ }