@azrico/reactgrid 1.3.50 → 1.3.52
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/src/example.js +4 -3
- package/dist/src/func/func_grid.d.ts +2 -2
- package/dist/src/func/func_grid.js +3 -3
- package/dist/src/hooks/useColumnData.d.ts +2 -0
- package/dist/src/hooks/useColumnData.js +24 -0
- package/dist/src/hooks/useDatasource.d.ts +2 -0
- package/dist/src/hooks/useDatasource.js +21 -0
- package/dist/src/hooks/useGridEvents.d.ts +9 -0
- package/dist/src/hooks/useGridEvents.js +94 -0
- package/dist/src/hooks/useGridSearch.d.ts +6 -0
- package/dist/src/hooks/useGridSearch.js +68 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +14 -2
- package/dist/src/themes/base_styles.css +4 -2
- package/dist/src/themes/grid.css +9 -9
- package/dist/src/types/types.d.ts +85 -0
- package/dist/src/types/types.js +5 -0
- package/dist/src/views/DataGrid.d.ts +1 -72
- package/dist/src/views/DataGrid.js +24 -151
- package/dist/src/views/index.js +1 -1
- package/package.json +1 -1
- package/src/example.tsx +3 -5
- package/src/func/func_grid.ts +2 -2
- package/src/hooks/useColumnData.ts +34 -0
- package/src/hooks/useDatasource.ts +25 -0
- package/src/hooks/useGridEvents.ts +96 -0
- package/src/hooks/useGridSearch.tsx +79 -0
- package/src/index.tsx +2 -0
- package/src/themes/base_styles.css +4 -2
- package/src/themes/grid.css +9 -9
- package/src/types/types.ts +122 -0
- package/src/views/DataGrid.tsx +22 -319
package/dist/src/example.js
CHANGED
|
@@ -21,9 +21,9 @@ Object.keys(_DataGrid).forEach(function (key) {
|
|
|
21
21
|
});
|
|
22
22
|
});
|
|
23
23
|
var _react = _interopRequireDefault(require("react"));
|
|
24
|
-
function _interopRequireDefault(
|
|
24
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
25
25
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
26
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
26
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
27
27
|
const columns = [{
|
|
28
28
|
name: 'name',
|
|
29
29
|
title: 'Name',
|
|
@@ -116,9 +116,10 @@ function ExampleGrid() {
|
|
|
116
116
|
}
|
|
117
117
|
const onRowDoubleClick = _react.default.useCallback((index, rowdata) => {
|
|
118
118
|
console.log('dbl', (rowdata === null || rowdata === void 0 ? void 0 : rowdata.data) || rowdata);
|
|
119
|
+
alert('dbl: ' + index);
|
|
119
120
|
}, []);
|
|
120
121
|
const onRowClick = _react.default.useCallback((index, rowdata) => {
|
|
121
|
-
|
|
122
|
+
console.log('click:', (rowdata === null || rowdata === void 0 ? void 0 : rowdata.data) || rowdata);
|
|
122
123
|
}, []);
|
|
123
124
|
_react.default.useEffect(() => {
|
|
124
125
|
setTimeout(() => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ColumnDefinition } from '../
|
|
1
|
+
import { ColumnDefinition } from '../types/types';
|
|
2
2
|
export type MakeWriteable<Type> = {
|
|
3
3
|
-readonly [Key in keyof Type]: Type[Key];
|
|
4
4
|
};
|
|
@@ -10,7 +10,7 @@ export declare function ApplyDataSource(datasource: any, props: any): Promise<an
|
|
|
10
10
|
* @param column_data
|
|
11
11
|
* @returns
|
|
12
12
|
*/
|
|
13
|
-
export declare function
|
|
13
|
+
export declare function applyColumnData(column_data: any): ColumnDefinition[];
|
|
14
14
|
export declare function to_datasource(arr: any[], idProperty: string, valueAsID?: boolean): any[];
|
|
15
15
|
/**
|
|
16
16
|
* Gets name of a column from its column object
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.ApplyColumnData = ApplyColumnData;
|
|
7
6
|
exports.ApplyDataSource = ApplyDataSource;
|
|
7
|
+
exports.applyColumnData = applyColumnData;
|
|
8
8
|
exports.find_realData = find_realData;
|
|
9
9
|
exports.get_col_header = get_col_header;
|
|
10
10
|
exports.get_col_name = get_col_name;
|
|
@@ -17,7 +17,7 @@ var _BoolEditor = _interopRequireDefault(require("@inovua/reactdatagrid-communit
|
|
|
17
17
|
var _SelectEditor = _interopRequireDefault(require("@inovua/reactdatagrid-community/SelectEditor"));
|
|
18
18
|
var _func_child = require("./func_child");
|
|
19
19
|
var _object = require("@azrico/object");
|
|
20
|
-
function _interopRequireDefault(
|
|
20
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
21
|
// import NumericEditor from '@inovua/reactdatagrid-community/NumericEditor';
|
|
22
22
|
|
|
23
23
|
const defaultColumnOptions = {
|
|
@@ -73,7 +73,7 @@ async function ApplyDataSource(datasource, props) {
|
|
|
73
73
|
* @param column_data
|
|
74
74
|
* @returns
|
|
75
75
|
*/
|
|
76
|
-
function
|
|
76
|
+
function applyColumnData(column_data) {
|
|
77
77
|
const final_columns = [];
|
|
78
78
|
if (!column_data) column_data = {};
|
|
79
79
|
if (Array.isArray(column_data)) column_data = {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useColumnData = useColumnData;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _func_grid = require("../func/func_grid");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
function useColumnData(inputOrProps) {
|
|
11
|
+
if (inputOrProps == null) return [];
|
|
12
|
+
if (Array.isArray(inputOrProps)) return useThisColumnData(inputOrProps);
|
|
13
|
+
return usePropsColumnData(inputOrProps);
|
|
14
|
+
}
|
|
15
|
+
function useThisColumnData(cols) {
|
|
16
|
+
return _react.default.useMemo(() => {
|
|
17
|
+
return (0, _func_grid.applyColumnData)(cols);
|
|
18
|
+
}, [cols]);
|
|
19
|
+
}
|
|
20
|
+
function usePropsColumnData(props) {
|
|
21
|
+
return _react.default.useMemo(() => {
|
|
22
|
+
return (0, _func_grid.applyColumnData)(props);
|
|
23
|
+
}, [props.columns, props.leftColumns, props.rightColumns, props.editableColumns, props.columnExtensions, props.customColumns]);
|
|
24
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useDataSource = useDataSource;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _func_grid = require("../func/func_grid");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
function useDataSource(ds, props) {
|
|
11
|
+
const cached_data = _react.default.useRef();
|
|
12
|
+
const last_cache_info = _react.default.useRef();
|
|
13
|
+
return _react.default.useCallback(async dt => {
|
|
14
|
+
return await (0, _func_grid.ApplyDataSource)(ds, {
|
|
15
|
+
skip: dt === null || dt === void 0 ? void 0 : dt.skip,
|
|
16
|
+
limit: dt === null || dt === void 0 ? void 0 : dt.limit,
|
|
17
|
+
cached_data: cached_data,
|
|
18
|
+
last_cache_info: last_cache_info
|
|
19
|
+
});
|
|
20
|
+
}, [ds]);
|
|
21
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataGridWrapperProps, GridType } from '../types/types';
|
|
2
|
+
export declare function useGridEvents(grid: GridType, props: DataGridWrapperProps): {
|
|
3
|
+
onRowClick: (rowProps: any, event: any) => void | undefined;
|
|
4
|
+
onRowContextMenu: (rowProps: any, event: any) => boolean;
|
|
5
|
+
onRenderRow: (rowProps: any) => void;
|
|
6
|
+
update_menuRow: (r?: any, el?: any) => void;
|
|
7
|
+
menuAnchorEl: any;
|
|
8
|
+
menuRow: any;
|
|
9
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useGridEvents = useGridEvents;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _func_grid = require("../func/func_grid");
|
|
9
|
+
var _func_child = require("../func/func_child");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
function useGridMenuRow() {
|
|
12
|
+
const [menuAnchorEl, set_menuAnchorEl] = _react.default.useState(null);
|
|
13
|
+
const [menuRow, set_menuRow] = _react.default.useState(null);
|
|
14
|
+
const update_menuRow = _react.default.useCallback((r = null, el = null) => {
|
|
15
|
+
set_menuRow(r || null);
|
|
16
|
+
set_menuAnchorEl(el || null);
|
|
17
|
+
}, []);
|
|
18
|
+
return {
|
|
19
|
+
update_menuRow,
|
|
20
|
+
menuAnchorEl,
|
|
21
|
+
menuRow
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function useGridEvents(grid, props) {
|
|
25
|
+
const click_data = _react.default.useRef(null);
|
|
26
|
+
const {
|
|
27
|
+
update_menuRow,
|
|
28
|
+
menuAnchorEl,
|
|
29
|
+
menuRow
|
|
30
|
+
} = useGridMenuRow();
|
|
31
|
+
const refreshColumn = _react.default.useCallback(col => {
|
|
32
|
+
const dt = grid.ungroupedData;
|
|
33
|
+
for (let index = 0; index < dt.length; index++) {
|
|
34
|
+
grid.setItemPropertyAt(index, col, dt[index][col]);
|
|
35
|
+
}
|
|
36
|
+
}, [grid]);
|
|
37
|
+
const refresh = _react.default.useCallback(() => {
|
|
38
|
+
const dt = grid.ungroupedData;
|
|
39
|
+
for (let index = 0; index < dt.length; index++) {
|
|
40
|
+
grid.setItemAt(index, {}, {
|
|
41
|
+
replace: false
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}, [grid]);
|
|
45
|
+
_react.default.useEffect(() => {
|
|
46
|
+
if (!grid) return;
|
|
47
|
+
grid['refresh'] = refresh;
|
|
48
|
+
grid['refreshColumn'] = refreshColumn;
|
|
49
|
+
}, [grid, props.dataSource, refresh, refreshColumn]);
|
|
50
|
+
/* -------------------------------------------------------------------------- */
|
|
51
|
+
/* events */
|
|
52
|
+
/* -------------------------------------------------------------------------- */
|
|
53
|
+
const onRowClick = _react.default.useCallback((rowProps, event) => {
|
|
54
|
+
const nowDate = Date.now();
|
|
55
|
+
const lastclick = click_data.current[(0, _func_grid.get_row_id)(rowProps)];
|
|
56
|
+
if (lastclick) {
|
|
57
|
+
const diffTime = Math.abs(nowDate - lastclick);
|
|
58
|
+
if (diffTime < 400) {
|
|
59
|
+
click_data.current[(0, _func_grid.get_row_id)(rowProps)] = null;
|
|
60
|
+
return props.onRowDoubleClick && props.onRowDoubleClick(rowProps.rowIndex, rowProps.data);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
click_data.current[(0, _func_grid.get_row_id)(rowProps)] = nowDate;
|
|
64
|
+
return props.onRowClick && props.onRowClick(rowProps.rowIndex, rowProps.data);
|
|
65
|
+
}, [props.onRowClick, props.onRowDoubleClick]);
|
|
66
|
+
_react.default.useEffect(() => {
|
|
67
|
+
click_data.current = {};
|
|
68
|
+
}, [props.dataSource]);
|
|
69
|
+
/* ------------------------------- ContextMenu ------------------------------ */
|
|
70
|
+
const onRowContextMenu = _react.default.useCallback((rowProps, event) => {
|
|
71
|
+
if (!rowProps || !rowProps.data || _func_child.func_selection.has_selection()) {
|
|
72
|
+
update_menuRow(null, null);
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
event.preventDefault();
|
|
76
|
+
const realRow = (0, _func_grid.find_realData)(rowProps.dataSourceArray, event.target, rowProps.data);
|
|
77
|
+
const anEl = _func_child.func_selection.getVirtualElement(event.clientX, event.clientY);
|
|
78
|
+
update_menuRow(realRow, anEl);
|
|
79
|
+
return false;
|
|
80
|
+
}, []);
|
|
81
|
+
/* -------------------------------------------------------------------------- */
|
|
82
|
+
const onRenderRow = _react.default.useCallback(rowProps => {
|
|
83
|
+
// save the original handlers to be called later
|
|
84
|
+
rowProps['data-row-id'] = (0, _func_grid.get_row_id)(rowProps.data);
|
|
85
|
+
}, []);
|
|
86
|
+
return {
|
|
87
|
+
onRowClick,
|
|
88
|
+
onRowContextMenu,
|
|
89
|
+
onRenderRow,
|
|
90
|
+
update_menuRow,
|
|
91
|
+
menuAnchorEl,
|
|
92
|
+
menuRow
|
|
93
|
+
};
|
|
94
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useGridSearch = useGridSearch;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _lodash = _interopRequireDefault(require("lodash.debounce"));
|
|
9
|
+
var _object = require("@azrico/object");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
function useGridSearch(grid, props) {
|
|
12
|
+
const [search, set_search] = _react.default.useState('');
|
|
13
|
+
const [filteredData, set_filteredData] = _react.default.useState([]);
|
|
14
|
+
const currentSearch = _react.default.useRef('');
|
|
15
|
+
const currentDS = _react.default.useRef([]);
|
|
16
|
+
const try_search = _react.default.useCallback((0, _lodash.default)(() => {
|
|
17
|
+
if (!Array.isArray(currentDS.current)) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
let newData = [];
|
|
21
|
+
if (currentSearch.current) {
|
|
22
|
+
const visibleColumns = grid.visibleColumns;
|
|
23
|
+
const columns_to_search = (0, _object.array_intersection)(props.advancedFilterFields || [], visibleColumns.map(r => r.id));
|
|
24
|
+
const lowerSearchText = currentSearch.current.toLowerCase().trim();
|
|
25
|
+
if (!lowerSearchText || columns_to_search.length === 0) newData = currentDS.current;else {
|
|
26
|
+
newData = currentDS.current.filter(p => {
|
|
27
|
+
for (let index = 0; index < columns_to_search.length; index++) {
|
|
28
|
+
const col = columns_to_search[index];
|
|
29
|
+
const v = (p[col] + '').toLowerCase(); //value of column
|
|
30
|
+
if (v && v.indexOf(lowerSearchText) != -1) {
|
|
31
|
+
//if one column is matching then the row is a match
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
} else newData = currentDS.current;
|
|
39
|
+
set_filteredData(newData);
|
|
40
|
+
}, 1000), [grid]);
|
|
41
|
+
_react.default.useEffect(() => {
|
|
42
|
+
(0, _object.fn_eval)(props.dataSource).then(r => {
|
|
43
|
+
currentDS.current = typeof r === 'object' ? r.data || r : r;
|
|
44
|
+
searchIfNeeded();
|
|
45
|
+
});
|
|
46
|
+
}, [props.dataSource]);
|
|
47
|
+
_react.default.useEffect(() => {
|
|
48
|
+
currentSearch.current = search;
|
|
49
|
+
searchIfNeeded();
|
|
50
|
+
}, [search]);
|
|
51
|
+
function searchIfNeeded() {
|
|
52
|
+
if (!search) {
|
|
53
|
+
set_filteredData(props.dataSource);
|
|
54
|
+
} else try_search();
|
|
55
|
+
}
|
|
56
|
+
const element = _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("form", {
|
|
57
|
+
className: 'azgrid-searcharea'
|
|
58
|
+
}, _react.default.createElement("label", null, "Search", _react.default.createElement("input", {
|
|
59
|
+
type: "text",
|
|
60
|
+
name: "name",
|
|
61
|
+
value: search,
|
|
62
|
+
onChange: e => set_search(e.target.value)
|
|
63
|
+
}))));
|
|
64
|
+
return {
|
|
65
|
+
filteredData,
|
|
66
|
+
element
|
|
67
|
+
};
|
|
68
|
+
}
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.js
CHANGED
|
@@ -46,13 +46,25 @@ Object.keys(_DataGrid).forEach(function (key) {
|
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
48
|
});
|
|
49
|
+
var _types = require("./types/types");
|
|
50
|
+
Object.keys(_types).forEach(function (key) {
|
|
51
|
+
if (key === "default" || key === "__esModule") return;
|
|
52
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
53
|
+
if (key in exports && exports[key] === _types[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _types[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
49
61
|
var _func_grid = require("./func/func_grid");
|
|
50
62
|
var _example = _interopRequireDefault(require("./example"));
|
|
51
63
|
var _react = _interopRequireDefault(require("react"));
|
|
52
64
|
var _client = _interopRequireDefault(require("react-dom/client"));
|
|
53
|
-
function _interopRequireDefault(
|
|
65
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
54
66
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
55
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
67
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
56
68
|
/* -------------------------------------------------------------------------- */
|
|
57
69
|
//
|
|
58
70
|
var _default = exports.default = _DataGrid.default;
|
|
@@ -38,15 +38,17 @@
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
.azgrid-searcharea {
|
|
41
|
+
font-family: 'Nunito Sans', 'Iran Sans', sans-serif;
|
|
41
42
|
margin: 5px;
|
|
42
43
|
font-size: large;
|
|
43
44
|
}
|
|
44
45
|
.azgrid-searcharea label {
|
|
45
|
-
gap:
|
|
46
|
+
gap: 10px;
|
|
46
47
|
display: flex;
|
|
47
48
|
align-items: center;
|
|
48
49
|
}
|
|
49
|
-
.azgrid-searcharea
|
|
50
|
+
.azgrid-searcharea input {
|
|
50
51
|
padding: 5px;
|
|
52
|
+
padding-left: 7px;
|
|
51
53
|
font-size: large;
|
|
52
54
|
}
|
package/dist/src/themes/grid.css
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
z-index: 1000;
|
|
3
3
|
font-family: 'Nunito Sans', 'Iran Sans', sans-serif;
|
|
4
4
|
}
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
.InovuaReactDataGrid {
|
|
7
|
+
--grid-bg: oklch(var(--b1, 100% 0 106));
|
|
8
|
+
--grid-fg: oklch(var(--bc, 23.5% 0 0));
|
|
9
|
+
--grid-bg-hover: oklch(var(--b2, 94.75% 0.014 277.06));
|
|
10
|
+
--grid-bg-hover2: oklch(var(--b3, 94.75% 0.014 277.06));
|
|
11
|
+
--grid-fg-hover: oklch(var(--bc, 23.5% 0 0));
|
|
12
|
+
}.InovuaReactDataGrid--theme-amber-dark {
|
|
6
13
|
--grid-bg: #313943;
|
|
7
14
|
--grid-fg: #c5cae9;
|
|
8
|
-
--grid-bg-hover: oklch(var(--b2,
|
|
15
|
+
--grid-bg-hover: oklch(var(--b2, 40.8% 0.011 128.75));
|
|
9
16
|
--grid-fg-hover: #ececec;
|
|
10
17
|
}
|
|
11
|
-
.InovuaReactDataGrid {
|
|
12
|
-
--grid-bg: oklch(var(--b1, #fff));
|
|
13
|
-
--grid-fg: oklch(var(--bc, #1e1e1e));
|
|
14
|
-
--grid-bg-hover: oklch(var(--b2, #ebedf7));
|
|
15
|
-
--grid-bg-hover2: oklch(var(--b3, #ebedf7));
|
|
16
|
-
--grid-fg-hover: oklch(var(--bc, #1e1e1e));
|
|
17
|
-
}
|
|
18
18
|
.InovuaReactDataGrid__row {
|
|
19
19
|
color: var(--grid-fg);
|
|
20
20
|
border-top-width: 1px;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ModifyFields } from '../func/func_grid';
|
|
2
|
+
import { ConvertableToMenuItem } from '@azrico/controls';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { TypeCellSelection, TypeColumn, TypeDataGridProps, TypeDataSource, TypeEditInfo, TypeFilterTypes, TypeFilterValue, TypeRowDetailsInfo, TypeRowProps, TypeRowSelection, TypeComputedProps } from '@inovua/reactdatagrid-community/types';
|
|
5
|
+
import { TypeOnSelectionChangeArg } from '@inovua/reactdatagrid-community/types/TypeDataGridProps';
|
|
6
|
+
export type ColumnDefinition = TypeColumn;
|
|
7
|
+
export type CellDefinition = any;
|
|
8
|
+
export type RowDefinition = any;
|
|
9
|
+
export type RowProps = TypeRowProps;
|
|
10
|
+
export type RowSelectionValue = TypeRowSelection;
|
|
11
|
+
export type CellSelectionValue = TypeCellSelection;
|
|
12
|
+
export type DataRowDefinition = any;
|
|
13
|
+
export type FilterTypes = TypeFilterTypes;
|
|
14
|
+
export type FilterValues = TypeFilterValue;
|
|
15
|
+
export type DataSourceDefinition = TypeDataSource;
|
|
16
|
+
export type OnSelectionChangeFunc = (config: TypeOnSelectionChangeArg) => void;
|
|
17
|
+
export type OnCellSelectionChangeFunc = (s: {
|
|
18
|
+
[key: string]: boolean;
|
|
19
|
+
}) => void;
|
|
20
|
+
export type RowDetailsFunc = (rowDetailsInfo: TypeRowDetailsInfo) => React.ReactNode;
|
|
21
|
+
export type loose_column_names = {
|
|
22
|
+
key: string;
|
|
23
|
+
field: string;
|
|
24
|
+
columnName: string;
|
|
25
|
+
name: string;
|
|
26
|
+
};
|
|
27
|
+
export type loose_column_fields = loose_column_names & {
|
|
28
|
+
title: string;
|
|
29
|
+
type: string;
|
|
30
|
+
items: any[];
|
|
31
|
+
};
|
|
32
|
+
export type LooseColumnDefinition = Partial<loose_column_fields & ColumnDefinition>;
|
|
33
|
+
export type CustomColumnDefinition = {
|
|
34
|
+
name: string;
|
|
35
|
+
render: (cell: any, formatterParams: any, onRendered: any) => React.ReactNode | undefined | null;
|
|
36
|
+
};
|
|
37
|
+
export type AzGridOptions = Partial<TypeDataGridProps>;
|
|
38
|
+
export type AzGridProps = {
|
|
39
|
+
dataSource?: any[] | ((args: any) => any[] | Promise<any[] | any>);
|
|
40
|
+
details_dataSource?: any[] | ((args: any) => any[] | Promise<any[] | any>);
|
|
41
|
+
details_columns?: LooseColumnDefinition[];
|
|
42
|
+
details_filter?: FilterValues;
|
|
43
|
+
licenseKey?: string;
|
|
44
|
+
gridRef?: React.MutableRefObject<TypeComputedProps>;
|
|
45
|
+
gridOptions?: AzGridOptions;
|
|
46
|
+
columns?: LooseColumnDefinition[];
|
|
47
|
+
columnExtensions?: Partial<LooseColumnDefinition>;
|
|
48
|
+
editableColumns?: string[];
|
|
49
|
+
leftColumns?: string[];
|
|
50
|
+
rightColumns?: string[];
|
|
51
|
+
customColumns?: CustomColumnDefinition[];
|
|
52
|
+
contextMenuItems?: ConvertableToMenuItem;
|
|
53
|
+
highlightedRow?: any;
|
|
54
|
+
RowDetail?: RowDetailsFunc;
|
|
55
|
+
selected?: RowSelectionValue;
|
|
56
|
+
cellSelection?: CellSelectionValue;
|
|
57
|
+
onEditComplete?: (editInfo: TypeEditInfo) => void;
|
|
58
|
+
onSelectionChange?: OnSelectionChangeFunc;
|
|
59
|
+
onCellSelectionChange?: OnCellSelectionChangeFunc;
|
|
60
|
+
onRowClick?: (rowIndex: number, row: any) => void;
|
|
61
|
+
onRowDoubleClick?: (rowIndex: number, row: any) => void;
|
|
62
|
+
onLimitChange?: (v: number) => void;
|
|
63
|
+
onSkipChange?: (v: number) => void;
|
|
64
|
+
skip?: number;
|
|
65
|
+
limit?: number;
|
|
66
|
+
editable?: boolean | ((editValue: any, cellProps: any) => boolean);
|
|
67
|
+
advancedFilterFields?: string[];
|
|
68
|
+
loading?: boolean;
|
|
69
|
+
dark?: boolean;
|
|
70
|
+
delayedSize?: boolean;
|
|
71
|
+
allowChildRows?: boolean;
|
|
72
|
+
looseCacheCheck?: boolean;
|
|
73
|
+
className?: string;
|
|
74
|
+
};
|
|
75
|
+
export type DataGridProps = ModifyFields<AzGridProps, {
|
|
76
|
+
columns: ColumnDefinition[];
|
|
77
|
+
dataSource: any;
|
|
78
|
+
}>;
|
|
79
|
+
export type GridType = TypeComputedProps;
|
|
80
|
+
export type DataGridWrapperProps = ModifyFields<DataGridProps, {
|
|
81
|
+
gridRef: React.MutableRefObject<TypeComputedProps>;
|
|
82
|
+
static_gridOptions: AzGridOptions;
|
|
83
|
+
dynamic_gridOptions: AzGridOptions;
|
|
84
|
+
children?: React.ReactNode;
|
|
85
|
+
}>;
|
|
@@ -3,78 +3,7 @@ import '@inovua/reactdatagrid-enterprise/theme/default-dark.css';
|
|
|
3
3
|
import '@inovua/reactdatagrid-enterprise/theme/amber-dark.css';
|
|
4
4
|
import '../themes/base_styles.css';
|
|
5
5
|
import '../themes/grid.css';
|
|
6
|
-
import { ConvertableToMenuItem } from '@azrico/controls';
|
|
7
6
|
import React from 'react';
|
|
8
|
-
import {
|
|
9
|
-
import { TypeOnSelectionChangeArg } from '@inovua/reactdatagrid-community/types/TypeDataGridProps';
|
|
10
|
-
export type ColumnDefinition = TypeColumn;
|
|
11
|
-
export type CellDefinition = any;
|
|
12
|
-
export type RowDefinition = any;
|
|
13
|
-
export type RowProps = TypeRowProps;
|
|
14
|
-
export type RowSelectionValue = TypeRowSelection;
|
|
15
|
-
export type CellSelectionValue = TypeCellSelection;
|
|
16
|
-
export type DataRowDefinition = any;
|
|
17
|
-
export type FilterTypes = TypeFilterTypes;
|
|
18
|
-
export type FilterValues = TypeFilterValue;
|
|
19
|
-
export type DataSourceDefinition = TypeDataSource;
|
|
20
|
-
export type OnSelectionChangeFunc = (config: TypeOnSelectionChangeArg) => void;
|
|
21
|
-
export type OnCellSelectionChangeFunc = (s: {
|
|
22
|
-
[key: string]: boolean;
|
|
23
|
-
}) => void;
|
|
24
|
-
export type RowDetailsFunc = (rowDetailsInfo: TypeRowDetailsInfo) => React.ReactNode;
|
|
25
|
-
type loose_column_names = {
|
|
26
|
-
key: string;
|
|
27
|
-
field: string;
|
|
28
|
-
columnName: string;
|
|
29
|
-
name: string;
|
|
30
|
-
};
|
|
31
|
-
type loose_column_fields = loose_column_names & {
|
|
32
|
-
title: string;
|
|
33
|
-
type: string;
|
|
34
|
-
items: any[];
|
|
35
|
-
};
|
|
36
|
-
export type LooseColumnDefinition = Partial<loose_column_fields & ColumnDefinition>;
|
|
37
|
-
export type CustomColumnDefinition = {
|
|
38
|
-
name: string;
|
|
39
|
-
render: (cell: any, formatterParams: any, onRendered: any) => React.ReactNode | undefined | null;
|
|
40
|
-
};
|
|
41
|
-
export type AzGridOptions = Partial<TypeDataGridProps>;
|
|
42
|
-
export type AzGridProps = {
|
|
43
|
-
dataSource?: any[] | ((args: any) => any[] | Promise<any[] | any>);
|
|
44
|
-
details_dataSource?: any[] | ((args: any) => any[] | Promise<any[] | any>);
|
|
45
|
-
details_columns?: LooseColumnDefinition[];
|
|
46
|
-
details_filter?: FilterValues;
|
|
47
|
-
licenseKey?: string;
|
|
48
|
-
gridRef?: React.MutableRefObject<TypeComputedProps>;
|
|
49
|
-
gridOptions?: AzGridOptions;
|
|
50
|
-
columns?: LooseColumnDefinition[];
|
|
51
|
-
columnExtensions?: Partial<LooseColumnDefinition>;
|
|
52
|
-
editableColumns?: string[];
|
|
53
|
-
leftColumns?: string[];
|
|
54
|
-
rightColumns?: string[];
|
|
55
|
-
customColumns?: CustomColumnDefinition[];
|
|
56
|
-
contextMenuItems?: ConvertableToMenuItem;
|
|
57
|
-
highlightedRow?: any;
|
|
58
|
-
RowDetail?: RowDetailsFunc;
|
|
59
|
-
selected?: RowSelectionValue;
|
|
60
|
-
cellSelection?: CellSelectionValue;
|
|
61
|
-
onEditComplete?: (editInfo: TypeEditInfo) => void;
|
|
62
|
-
onSelectionChange?: OnSelectionChangeFunc;
|
|
63
|
-
onCellSelectionChange?: OnCellSelectionChangeFunc;
|
|
64
|
-
onRowClick?: (rowIndex: number, row: any) => void;
|
|
65
|
-
onRowDoubleClick?: (rowIndex: number, row: any) => void;
|
|
66
|
-
onLimitChange?: (v: number) => void;
|
|
67
|
-
onSkipChange?: (v: number) => void;
|
|
68
|
-
skip?: number;
|
|
69
|
-
limit?: number;
|
|
70
|
-
editable?: boolean | ((editValue: any, cellProps: any) => boolean);
|
|
71
|
-
advancedFilterFields?: string[];
|
|
72
|
-
loading?: boolean;
|
|
73
|
-
dark?: boolean;
|
|
74
|
-
delayedSize?: boolean;
|
|
75
|
-
allowChildRows?: boolean;
|
|
76
|
-
looseCacheCheck?: boolean;
|
|
77
|
-
className?: string;
|
|
78
|
-
};
|
|
7
|
+
import { AzGridProps } from '../types/types';
|
|
79
8
|
export declare function AzGrid(props: AzGridProps): React.JSX.Element;
|
|
80
9
|
export default AzGrid;
|