sccoreui 5.9.84 → 5.9.86
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/assets/App34.scss +130 -0
- package/dist/components/ag-grid/advancedFeature/advanced-feature.js +1 -1
- package/dist/components/ag-grid/advancedFeature/hide-column.js +107 -25
- package/dist/components/ag-grid/context-provider.js +2 -1
- package/dist/components/ag-grid/helper.js +12 -1
- package/dist/components/ag-grid/parent-for-grid.js +20 -1
- package/dist/types/components/ag-grid/Types.d.ts +8 -0
- package/dist/types/components/ag-grid/context-provider.d.ts +2 -1
- package/dist/types/components/ag-grid/helper.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
@import url("./assets/theme.css");
|
|
2
|
+
@import url("./assets/sccoreui.css");
|
|
3
|
+
@import url("./assets/sccoreicons.css");
|
|
4
|
+
@import url("./assets/flex.css");
|
|
5
|
+
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&display=swap');
|
|
6
|
+
|
|
7
|
+
:root {
|
|
8
|
+
--fw-600: 600;
|
|
9
|
+
--fw-400: 400;
|
|
10
|
+
--fs-24: 24px;
|
|
11
|
+
--fs-18: 18px;
|
|
12
|
+
--fs-16: 16px;
|
|
13
|
+
--lh: 24px;
|
|
14
|
+
--fs-14: 14px;
|
|
15
|
+
--grey-bg: #101828;
|
|
16
|
+
--border-none: border-none;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// @font-face {
|
|
20
|
+
// font-family: "Lato";
|
|
21
|
+
// src: url("./assets/fonts/Lato-Regular.ttf") format("truetype");
|
|
22
|
+
// }
|
|
23
|
+
|
|
24
|
+
// @font-face {
|
|
25
|
+
// font-family: "Lato-600";
|
|
26
|
+
// font-weight: 600;
|
|
27
|
+
// src: url("./assets/fonts/Lato-Regular.ttf") format("truetype");
|
|
28
|
+
// }
|
|
29
|
+
|
|
30
|
+
// * {
|
|
31
|
+
// padding: 0;
|
|
32
|
+
// margin: 0;
|
|
33
|
+
// }
|
|
34
|
+
|
|
35
|
+
body {
|
|
36
|
+
font-family: 'Lato', sans-serif;
|
|
37
|
+
-webkit-font-smoothing: antialiased;
|
|
38
|
+
-moz-osx-font-smoothing: grayscale;
|
|
39
|
+
line-height: var(--lh);
|
|
40
|
+
padding: 0;
|
|
41
|
+
margin: 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
code {
|
|
45
|
+
font-family: 'Lato', sans-serif;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
h1 {
|
|
49
|
+
font-size: var(--fs-24);
|
|
50
|
+
font-weight: var(--fw-600);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
h2 {
|
|
54
|
+
font-size: var(--fs-18);
|
|
55
|
+
font-weight: var(--fw-600);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
h3 {
|
|
59
|
+
font-size: var(--fs-16);
|
|
60
|
+
font-weight: var(--fw-400);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// ============= custom progress steps =============== //
|
|
64
|
+
|
|
65
|
+
.progress-container {
|
|
66
|
+
isolation: isolate;
|
|
67
|
+
|
|
68
|
+
&::before {
|
|
69
|
+
content: "";
|
|
70
|
+
background-color: var(--gray-200);
|
|
71
|
+
position: absolute;
|
|
72
|
+
z-index: -1;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&.horizontal::before {
|
|
76
|
+
height: 2px;
|
|
77
|
+
width: 100%;
|
|
78
|
+
top: 11%;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&.vertical::before {
|
|
82
|
+
height: 100%;
|
|
83
|
+
width: 2px;
|
|
84
|
+
left: 5%;
|
|
85
|
+
top: 0;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.progressbar {
|
|
90
|
+
z-index: -1;
|
|
91
|
+
transition: all 0.6s ease;
|
|
92
|
+
|
|
93
|
+
&.horizontal {
|
|
94
|
+
left: 0;
|
|
95
|
+
height: 2px;
|
|
96
|
+
top: 11%;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
&.vertical {
|
|
100
|
+
width: 2px;
|
|
101
|
+
left: 5%;
|
|
102
|
+
top: 0;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.progress-step-item {
|
|
107
|
+
&.horizontal {
|
|
108
|
+
// transform: translateX(10%);
|
|
109
|
+
|
|
110
|
+
&:nth-of-type(1) {
|
|
111
|
+
transform: translateX(-50%);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
&:last-child {
|
|
115
|
+
transform: translateX(50%);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
&.vertical {
|
|
120
|
+
transform: translateY(50%);
|
|
121
|
+
|
|
122
|
+
&:nth-of-type(1) {
|
|
123
|
+
transform: translateY(-5%);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
&:last-child {
|
|
127
|
+
transform: translateY(100%);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -15,7 +15,7 @@ function AdvancedFeatures({ props }) {
|
|
|
15
15
|
const { featureDetails } = (0, react_1.useContext)(context_provider_1.FeatureContext);
|
|
16
16
|
const conditionsToDisplay = props === null || props === void 0 ? void 0 : props.conditionsToDisplay;
|
|
17
17
|
const { bulkActionComponent: BulkAction } = props;
|
|
18
|
-
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "flex align-items-center justify-content-between py-3 px-4" }, { children: [(0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "flex align-items-center gap-3" }, { children: [(conditionsToDisplay === null || conditionsToDisplay === void 0 ? void 0 : conditionsToDisplay.displaySearch) && ((0, jsx_runtime_1.jsx)(global_search_1.default, { searchPlaceHolder: props === null || props === void 0 ? void 0 : props.placeholder })), (conditionsToDisplay === null || conditionsToDisplay === void 0 ? void 0 : conditionsToDisplay.displayFilter) && (0, jsx_runtime_1.jsx)(table_filter_1.default, {})] })), (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "flex align-items-center" }, { children: [(0, jsx_runtime_1.jsx)(hide_column_1.default, {}), (conditionsToDisplay === null || conditionsToDisplay === void 0 ? void 0 : conditionsToDisplay.displayRemoveItems) && (0, jsx_runtime_1.jsx)(remove_items_1.default, {}), (conditionsToDisplay === null || conditionsToDisplay === void 0 ? void 0 : conditionsToDisplay.displayBulkAction) &&
|
|
18
|
+
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "flex align-items-center justify-content-between py-3 px-4" }, { children: [(0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "flex align-items-center gap-3" }, { children: [(conditionsToDisplay === null || conditionsToDisplay === void 0 ? void 0 : conditionsToDisplay.displaySearch) && ((0, jsx_runtime_1.jsx)(global_search_1.default, { searchPlaceHolder: props === null || props === void 0 ? void 0 : props.placeholder })), (conditionsToDisplay === null || conditionsToDisplay === void 0 ? void 0 : conditionsToDisplay.displayFilter) && (0, jsx_runtime_1.jsx)(table_filter_1.default, {})] })), (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "flex align-items-center" }, { children: [(conditionsToDisplay === null || conditionsToDisplay === void 0 ? void 0 : conditionsToDisplay.displaySidePanel) && (0, jsx_runtime_1.jsx)(hide_column_1.default, {}), (conditionsToDisplay === null || conditionsToDisplay === void 0 ? void 0 : conditionsToDisplay.displayRemoveItems) && (0, jsx_runtime_1.jsx)(remove_items_1.default, {}), (conditionsToDisplay === null || conditionsToDisplay === void 0 ? void 0 : conditionsToDisplay.displayBulkAction) &&
|
|
19
19
|
(props === null || props === void 0 ? void 0 : props.bulkActionComponent) && ((0, jsx_runtime_1.jsx)(BulkAction, { checkBoxSelection: featureDetails.checkBoxSelection })), (conditionsToDisplay === null || conditionsToDisplay === void 0 ? void 0 : conditionsToDisplay.displayRefresh) && (0, jsx_runtime_1.jsx)(refresh_grid_1.default, {}), (conditionsToDisplay === null || conditionsToDisplay === void 0 ? void 0 : conditionsToDisplay.displaySort) && (0, jsx_runtime_1.jsx)(custom_sort_1.default, {}), (0, jsx_runtime_1.jsx)(record_detail_1.default, {})] }))] })));
|
|
20
20
|
}
|
|
21
21
|
exports.default = AdvancedFeatures;
|
|
@@ -10,60 +10,142 @@ const inputswitch_1 = require("primereact/inputswitch");
|
|
|
10
10
|
const inputtext_1 = require("primereact/inputtext");
|
|
11
11
|
const context_provider_1 = require("../context-provider");
|
|
12
12
|
function HideColumn() {
|
|
13
|
-
const { gridData, gridApi } = (0, react_1.useContext)(context_provider_1.FeatureContext);
|
|
13
|
+
const { gridData, gridApi, updateColumnsForGrid } = (0, react_1.useContext)(context_provider_1.FeatureContext);
|
|
14
14
|
const [visibleRight, setVisibleRight] = (0, react_1.useState)(false);
|
|
15
15
|
const [checked, setChecked] = (0, react_1.useState)(false);
|
|
16
|
-
const [inpValue, setInpValue] =
|
|
17
|
-
const [
|
|
16
|
+
// const [inpValue, setInpValue] = useState<string>("");
|
|
17
|
+
const [storeNodes, setStoreNodes] = (0, react_1.useState)();
|
|
18
|
+
const [nodes, setNodes] = (0, react_1.useState)();
|
|
19
|
+
const assignInitialValues = () => {
|
|
18
20
|
var _a;
|
|
19
21
|
const columnsInBar = [];
|
|
20
22
|
(_a = JSON.parse(JSON.stringify(gridData === null || gridData === void 0 ? void 0 : gridData.columnData))) === null || _a === void 0 ? void 0 : _a.map((column) => {
|
|
21
|
-
if (
|
|
23
|
+
if (column === null || column === void 0 ? void 0 : column.visibleInPanel) {
|
|
22
24
|
column.checked = !(column === null || column === void 0 ? void 0 : column.hide);
|
|
25
|
+
if (column.hide) {
|
|
26
|
+
column.selected = false;
|
|
27
|
+
column.unSelected = true;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
column.selected = true;
|
|
31
|
+
column.unSelected = false;
|
|
32
|
+
}
|
|
23
33
|
}
|
|
24
34
|
columnsInBar.push(column);
|
|
25
35
|
});
|
|
26
|
-
|
|
27
|
-
|
|
36
|
+
setNodes(columnsInBar);
|
|
37
|
+
setStoreNodes(columnsInBar);
|
|
38
|
+
};
|
|
39
|
+
// Display search columns
|
|
40
|
+
const searchHandler = (text) => {
|
|
41
|
+
const searchedColumns = [];
|
|
42
|
+
storeNodes.filter((column) => {
|
|
43
|
+
var _a;
|
|
44
|
+
if (column === null || column === void 0 ? void 0 : column.visibleInPanel) {
|
|
45
|
+
if ((_a = column === null || column === void 0 ? void 0 : column.headerName) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(text.toLowerCase())) {
|
|
46
|
+
searchedColumns.push(column);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
setNodes(searchedColumns);
|
|
51
|
+
};
|
|
28
52
|
// When radio button is switched
|
|
29
53
|
const handleSwitchChange = (selectedColumn, value) => {
|
|
30
|
-
|
|
31
|
-
const updatedColumns = [...nodes];
|
|
54
|
+
const updatedColumns = [...storeNodes];
|
|
32
55
|
updatedColumns === null || updatedColumns === void 0 ? void 0 : updatedColumns.map((column) => {
|
|
33
56
|
if ((column === null || column === void 0 ? void 0 : column.id) === (selectedColumn === null || selectedColumn === void 0 ? void 0 : selectedColumn.id)) {
|
|
34
57
|
column.checked = value;
|
|
35
58
|
}
|
|
36
59
|
return column;
|
|
37
60
|
});
|
|
38
|
-
setNodes(updatedColumns)
|
|
61
|
+
// setNodes(updatedColumns)
|
|
62
|
+
setStoreNodes(updatedColumns);
|
|
39
63
|
};
|
|
64
|
+
// Return columns needs to hide
|
|
40
65
|
const updateColumns = () => {
|
|
41
|
-
const columnsToHide =
|
|
42
|
-
|
|
66
|
+
const columnsToHide = storeNodes === null || storeNodes === void 0 ? void 0 : storeNodes.filter((col) => col.hasOwnProperty("checked") && !col.checked);
|
|
67
|
+
const updatedNodes = storeNodes === null || storeNodes === void 0 ? void 0 : storeNodes.map((node, idx) => {
|
|
68
|
+
const newSeq = idx + 1;
|
|
69
|
+
if (node.seq !== newSeq) {
|
|
70
|
+
node.seq = newSeq;
|
|
71
|
+
}
|
|
72
|
+
if (node.hasOwnProperty("checked")) {
|
|
73
|
+
node.selected = node.checked;
|
|
74
|
+
node.unSelected = !node.checked;
|
|
75
|
+
}
|
|
76
|
+
return node;
|
|
43
77
|
});
|
|
44
|
-
|
|
78
|
+
setNodes(updatedNodes);
|
|
79
|
+
setStoreNodes(updatedNodes);
|
|
80
|
+
hideColumns(columnsToHide, updatedNodes);
|
|
45
81
|
setVisibleRight(false);
|
|
46
82
|
};
|
|
47
|
-
|
|
83
|
+
// Hide columns from grid
|
|
84
|
+
const hideColumns = (columnsToHide, updatedSeq) => {
|
|
48
85
|
if (!gridApi)
|
|
49
86
|
return;
|
|
50
|
-
const columnDefs =
|
|
87
|
+
const columnDefs = JSON.parse(JSON.stringify(gridData.columnData));
|
|
51
88
|
const updatedColumnDefs = columnDefs.map((colDef) => {
|
|
52
89
|
const colToHide = columnsToHide.find((col) => col.id === colDef.id);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
colDef.hide = false; // ensure other columns are not hidden
|
|
90
|
+
colDef.hide = !!colToHide;
|
|
91
|
+
const updatedCol = updatedSeq.find((col) => col.id === colDef.id);
|
|
92
|
+
if (updatedCol) {
|
|
93
|
+
colDef.seq = updatedCol.seq;
|
|
58
94
|
}
|
|
59
95
|
return colDef;
|
|
60
96
|
});
|
|
61
|
-
|
|
97
|
+
updateColumnsForGrid(updatedColumnDefs);
|
|
98
|
+
};
|
|
99
|
+
// When drag started
|
|
100
|
+
const handleDragStart = (index) => (event) => {
|
|
101
|
+
event.dataTransfer.setData("text/plain", index);
|
|
102
|
+
};
|
|
103
|
+
// When selected item dropped
|
|
104
|
+
const handleDrop = (index) => (event) => {
|
|
105
|
+
event.preventDefault();
|
|
106
|
+
const draggedIndex = event.dataTransfer.getData("text");
|
|
107
|
+
if (draggedIndex !== index.toString()) {
|
|
108
|
+
const updatedColumns = [...storeNodes];
|
|
109
|
+
const [draggedItem] = updatedColumns.splice(draggedIndex, 1);
|
|
110
|
+
console.log(draggedItem, 'dragged item', draggedIndex);
|
|
111
|
+
updatedColumns.splice(index, 0, draggedItem);
|
|
112
|
+
console.log(updatedColumns, draggedIndex, draggedItem, 'data of dragging');
|
|
113
|
+
for (let i = 0; i < updatedColumns.length; i++) {
|
|
114
|
+
const currentColumn = updatedColumns[i];
|
|
115
|
+
console.log(i, currentColumn, 'columns in loop');
|
|
116
|
+
}
|
|
117
|
+
setNodes(updatedColumns);
|
|
118
|
+
setStoreNodes(updatedColumns);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
// When drag is completed
|
|
122
|
+
const handleDragOver = (event) => {
|
|
123
|
+
event.preventDefault();
|
|
62
124
|
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
125
|
+
(0, react_1.useEffect)(() => {
|
|
126
|
+
assignInitialValues();
|
|
127
|
+
}, []);
|
|
128
|
+
(0, react_1.useEffect)(() => {
|
|
129
|
+
if (!visibleRight && (storeNodes === null || storeNodes === void 0 ? void 0 : storeNodes.length)) {
|
|
130
|
+
const fixNodes = [...storeNodes].map((node) => {
|
|
131
|
+
if ((node === null || node === void 0 ? void 0 : node.checked) !== (node === null || node === void 0 ? void 0 : node.selected)) {
|
|
132
|
+
node.checked = node.selected;
|
|
133
|
+
}
|
|
134
|
+
return node;
|
|
135
|
+
});
|
|
136
|
+
console.log(storeNodes, "store nodes in use effect");
|
|
137
|
+
setNodes(fixNodes);
|
|
138
|
+
setStoreNodes(fixNodes);
|
|
139
|
+
}
|
|
140
|
+
}, [visibleRight]);
|
|
141
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, { onClick: () => setVisibleRight(true), text: true, icon: (0, jsx_runtime_1.jsx)(svg_component_1.default, { icon: "columns-02", size: 20 }) }), (0, jsx_runtime_1.jsxs)(sidebar_1.Sidebar, Object.assign({ className: "md:w-6 lg:w-3", visible: visibleRight, position: "right", onHide: () => setVisibleRight(false) }, { children: [(0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "flex align-items-center justify-content-between px-4 py-2 border-bottom-1 border-gray-200" }, { children: [(0, jsx_runtime_1.jsx)("h3", { children: "Configure Columns" }), (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "flex align-items-center gap-3" }, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, { text: true, label: "Discard", onClick: () => setVisibleRight(false) }), (0, jsx_runtime_1.jsx)(button_1.Button, { label: "Update", onClick: () => updateColumns() })] }))] })), (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "p-4" }, { children: [(0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "px-3 py-2" }, { children: [(0, jsx_runtime_1.jsxs)("h3", Object.assign({ className: "flex align-items-center justify-content-between my-0" }, { children: ["Apply to all views", (0, jsx_runtime_1.jsx)(inputswitch_1.InputSwitch, { checked: checked, onChange: (e) => setChecked(e.value) })] })), (0, jsx_runtime_1.jsx)("p", Object.assign({ className: "my-0 text-sm" }, { children: "Apply the chosen column selection to all available views" }))] })), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: "py-2" }, { children: (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "p-input-icon-left p-input-icon-right w-full" }, { children: [(0, jsx_runtime_1.jsx)("span", Object.assign({ className: "p-input-prefix" }, { children: (0, jsx_runtime_1.jsx)(svg_component_1.default, { icon: "search-md" }) })), (0, jsx_runtime_1.jsx)(inputtext_1.InputText, { id: "email",
|
|
142
|
+
// value={inpValue}
|
|
143
|
+
onChange: (e) => {
|
|
144
|
+
searchHandler(e.target.value);
|
|
145
|
+
}, disabled: false, placeholder: "Search by column name", className: "text-lg font-normal text-gray-500 hover:text-gray-900 w-full" })] })) })), (0, jsx_runtime_1.jsxs)("p", Object.assign({ className: "py-2 my-0 text-gray-900 text-lg font-medium border-bottom-1 border-gray-200" }, { children: ["Selected Attributes", " ", (0, jsx_runtime_1.jsxs)("span", Object.assign({ className: "text-gray-500 text-sm" }, { children: [nodes === null || nodes === void 0 ? void 0 : nodes.filter((node) => node.selected).length, "/", nodes === null || nodes === void 0 ? void 0 : nodes.filter((node) => node.unSelected || node.selected).length] }))] })), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: "w-full" }, { children: (0, jsx_runtime_1.jsx)("ul", Object.assign({ className: "list-none p-0 px-3" }, { children: (nodes === null || nodes === void 0 ? void 0 : nodes.length) > 0 &&
|
|
146
|
+
(nodes === null || nodes === void 0 ? void 0 : nodes.map((listItem, idx) => (listItem === null || listItem === void 0 ? void 0 : listItem.visibleInPanel) &&
|
|
147
|
+
(listItem === null || listItem === void 0 ? void 0 : listItem.selected) && ((0, jsx_runtime_1.jsxs)("li", Object.assign({ className: "flex align-items-center justify-content-between py-3", draggable: true, onDragStart: handleDragStart(idx), onDrop: handleDrop(idx), onDragOver: handleDragOver }, { children: [(0, jsx_runtime_1.jsx)("span", Object.assign({ role: "img", "aria-label": "drag icon", className: "cursor-pointer" }, { children: "\uD83D\uDCE6" })), (0, jsx_runtime_1.jsx)("span", { children: listItem.headerName }), (0, jsx_runtime_1.jsx)(inputswitch_1.InputSwitch, { checked: listItem === null || listItem === void 0 ? void 0 : listItem.checked, onChange: (e) => handleSwitchChange(listItem, e.value) })] }), idx)))) })) })), (0, jsx_runtime_1.jsx)("h3", Object.assign({ className: "mt-6 mb-0 pb-2 border-bottom-1 border-gray-200" }, { children: "Unselected Attributes" })), (0, jsx_runtime_1.jsx)("ul", Object.assign({ className: "list-none p-0 px-3" }, { children: (nodes === null || nodes === void 0 ? void 0 : nodes.length) > 0 &&
|
|
148
|
+
(nodes === null || nodes === void 0 ? void 0 : nodes.map((listItem) => (listItem === null || listItem === void 0 ? void 0 : listItem.visibleInPanel) &&
|
|
149
|
+
(listItem === null || listItem === void 0 ? void 0 : listItem.unSelected) && ((0, jsx_runtime_1.jsxs)("li", Object.assign({ className: "flex align-items-center justify-content-between py-3" }, { children: [(0, jsx_runtime_1.jsx)("span", { children: listItem.headerName }), (0, jsx_runtime_1.jsx)(inputswitch_1.InputSwitch, { checked: listItem.checked, onChange: (e) => handleSwitchChange(listItem, e.value) })] }), listItem.id)))) }))] }))] }))] }));
|
|
68
150
|
}
|
|
69
151
|
exports.default = HideColumn;
|
|
@@ -6,7 +6,7 @@ const react_1 = require("react");
|
|
|
6
6
|
const helper_1 = require("./helper");
|
|
7
7
|
exports.FeatureContext = (0, react_1.createContext)(null);
|
|
8
8
|
function MyProvider({ children, value }) {
|
|
9
|
-
const { featureDetails, setFeatureDetails, gridData, callGrid, totalRecords, initialFeature, defaultFilters, createView, enableViewCreate, filterModelText, sortModelText, recordDetailModelText, sortOptions, filterConditions, clearFilters, setGridData, gridApi, } = value;
|
|
9
|
+
const { featureDetails, setFeatureDetails, gridData, callGrid, totalRecords, initialFeature, defaultFilters, createView, enableViewCreate, filterModelText, sortModelText, recordDetailModelText, sortOptions, filterConditions, clearFilters, setGridData, gridApi, updateColumnsForGrid } = value;
|
|
10
10
|
// States for sort
|
|
11
11
|
const [columnData] = (0, react_1.useState)(gridData === null || gridData === void 0 ? void 0 : gridData.columnData);
|
|
12
12
|
const [sortValue, setSortValue] = (0, react_1.useState)({});
|
|
@@ -89,6 +89,7 @@ function MyProvider({ children, value }) {
|
|
|
89
89
|
setGridData,
|
|
90
90
|
gridData,
|
|
91
91
|
gridApi,
|
|
92
|
+
updateColumnsForGrid
|
|
92
93
|
} }, { children: children })));
|
|
93
94
|
}
|
|
94
95
|
exports.default = MyProvider;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseIfNeeded = exports.applyDefaultFilters = void 0;
|
|
3
|
+
exports.sortColumns = exports.parseIfNeeded = exports.applyDefaultFilters = void 0;
|
|
4
4
|
const applyDefaultFilters = (defaultFilters) => {
|
|
5
5
|
console.log(defaultFilters, 'deafult filters');
|
|
6
6
|
const filters = defaultFilters === null || defaultFilters === void 0 ? void 0 : defaultFilters.map((item) => {
|
|
@@ -33,3 +33,14 @@ const parseIfNeeded = (value) => {
|
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
exports.parseIfNeeded = parseIfNeeded;
|
|
36
|
+
const sortColumns = (columns) => {
|
|
37
|
+
const sortedColumns = columns === null || columns === void 0 ? void 0 : columns.sort((a, b) => {
|
|
38
|
+
if (!a.seq)
|
|
39
|
+
return 1;
|
|
40
|
+
if (!b.seq)
|
|
41
|
+
return -1;
|
|
42
|
+
return a.seq - b.seq;
|
|
43
|
+
});
|
|
44
|
+
return sortedColumns;
|
|
45
|
+
};
|
|
46
|
+
exports.sortColumns = sortColumns;
|
|
@@ -15,7 +15,7 @@ function ParentForGrid(props) {
|
|
|
15
15
|
var _a, _b, _c, _d;
|
|
16
16
|
const [gridData, setGridData] = (0, react_1.useState)({
|
|
17
17
|
rowData: [],
|
|
18
|
-
columnData: props === null || props === void 0 ? void 0 : props.columnData
|
|
18
|
+
columnData: (0, helper_1.sortColumns)(props === null || props === void 0 ? void 0 : props.columnData)
|
|
19
19
|
});
|
|
20
20
|
const [style] = (0, react_1.useState)(props.style);
|
|
21
21
|
const [api, setApi] = (0, react_1.useState)(null);
|
|
@@ -188,6 +188,7 @@ function ParentForGrid(props) {
|
|
|
188
188
|
}
|
|
189
189
|
}),
|
|
190
190
|
};
|
|
191
|
+
setGridData(Object.assign(Object.assign({}, gridData), { columnData: props === null || props === void 0 ? void 0 : props.columnData }));
|
|
191
192
|
params.api.setGridOption("datasource", dataSource);
|
|
192
193
|
}
|
|
193
194
|
});
|
|
@@ -249,6 +250,23 @@ function ParentForGrid(props) {
|
|
|
249
250
|
callBackForCheckedRows(featureDetails);
|
|
250
251
|
}
|
|
251
252
|
}, [featureDetails]);
|
|
253
|
+
(0, react_1.useEffect)(() => {
|
|
254
|
+
var _a;
|
|
255
|
+
const existingColumns = (_a = gridRef === null || gridRef === void 0 ? void 0 : gridRef.current.api) === null || _a === void 0 ? void 0 : _a.getColumnDefs();
|
|
256
|
+
if (!(props === null || props === void 0 ? void 0 : props.columnData) || !existingColumns)
|
|
257
|
+
return;
|
|
258
|
+
const columnFromProps = (0, helper_1.sortColumns)(props === null || props === void 0 ? void 0 : props.columnData);
|
|
259
|
+
const updatedColumnDefs = existingColumns.map((colDef) => {
|
|
260
|
+
columnFromProps.find((col) => {
|
|
261
|
+
if (col.id === colDef.id) {
|
|
262
|
+
colDef.hide = col.hide;
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
return colDef;
|
|
266
|
+
});
|
|
267
|
+
gridRef.current.api.setGridOption("columnDefs", updatedColumnDefs);
|
|
268
|
+
}, [props === null || props === void 0 ? void 0 : props.columnData]);
|
|
269
|
+
console.log(props === null || props === void 0 ? void 0 : props.columnData, gridData === null || gridData === void 0 ? void 0 : gridData.columnData, 'column from props and grid data');
|
|
252
270
|
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(error_ui_1.default, { children: (0, jsx_runtime_1.jsx)("div", Object.assign({ style: { height: style.height, width: style.width }, className: "ag-grid-container border-1 border-gray-200 border-round" }, { children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(context_provider_1.default, Object.assign({ value: {
|
|
253
271
|
featureDetails,
|
|
254
272
|
setFeatureDetails,
|
|
@@ -267,6 +285,7 @@ function ParentForGrid(props) {
|
|
|
267
285
|
clearFilters: props === null || props === void 0 ? void 0 : props.clearFilters,
|
|
268
286
|
setGridData,
|
|
269
287
|
gridApi: gridRef,
|
|
288
|
+
updateColumnsForGrid: props === null || props === void 0 ? void 0 : props.updateColumnsForGrid
|
|
270
289
|
} }, { children: (0, jsx_runtime_1.jsx)(advanced_feature_1.default, { props: props }) })), (0, jsx_runtime_1.jsx)(AgGrid_1.default, { style: style, gridOptions: gridOptions, onGridReady: onGridReady, gridRef: gridRef })] }) })) }) }));
|
|
271
290
|
}
|
|
272
291
|
exports.default = ParentForGrid;
|
|
@@ -12,7 +12,13 @@ export interface ColumnDef extends ColDef {
|
|
|
12
12
|
options?: any[];
|
|
13
13
|
selectionType?: string;
|
|
14
14
|
columnType?: string;
|
|
15
|
+
visibleInPanel?: boolean;
|
|
16
|
+
seq?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface ColHideShow extends ColumnDef {
|
|
15
19
|
checked?: boolean;
|
|
20
|
+
selected?: boolean;
|
|
21
|
+
unSelected?: boolean;
|
|
16
22
|
}
|
|
17
23
|
export interface Style {
|
|
18
24
|
height: number | string;
|
|
@@ -86,6 +92,7 @@ export interface ConditionsToDisplay {
|
|
|
86
92
|
displayColumnHide?: boolean;
|
|
87
93
|
displayBulkAction?: boolean;
|
|
88
94
|
enableViewCreate?: boolean;
|
|
95
|
+
displaySidePanel?: boolean;
|
|
89
96
|
}
|
|
90
97
|
export interface PropsFromProduct {
|
|
91
98
|
columnData: ColumnDef[];
|
|
@@ -103,6 +110,7 @@ export interface PropsFromProduct {
|
|
|
103
110
|
sortOptions?: any[];
|
|
104
111
|
filterConditions?: FilterCondition[];
|
|
105
112
|
clearFilters?: Boolean;
|
|
113
|
+
updateColumnsForGrid?: (columns: ColumnDef) => void;
|
|
106
114
|
}
|
|
107
115
|
export interface ResoponseFromCallback {
|
|
108
116
|
totalRecords: number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Features, FilterCondition, FilterModelText, GridData, RecordDetailModelText, SortModelText } from "./Types";
|
|
1
|
+
import { ColumnDef, Features, FilterCondition, FilterModelText, GridData, RecordDetailModelText, SortModelText } from "./Types";
|
|
2
2
|
export declare const FeatureContext: import("react").Context<any>;
|
|
3
3
|
interface MyProviderProps {
|
|
4
4
|
children: React.ReactNode;
|
|
@@ -20,6 +20,7 @@ interface MyProviderProps {
|
|
|
20
20
|
clearFilters: Boolean;
|
|
21
21
|
setGridData: (GridData: any) => void;
|
|
22
22
|
gridApi: any;
|
|
23
|
+
updateColumnsForGrid: (columns: ColumnDef) => void;
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
26
|
declare function MyProvider({ children, value }: MyProviderProps): import("react/jsx-runtime").JSX.Element;
|