sccoreui 5.9.83 → 5.9.84
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/App.scss +2 -0
- package/dist/components/ag-grid/advancedFeature/advanced-feature.js +2 -1
- package/dist/components/ag-grid/advancedFeature/hide-column.js +49 -24
- package/dist/components/ag-grid/context-provider.js +5 -2
- package/dist/components/ag-grid/parent-for-grid.js +3 -10
- package/dist/types/components/ag-grid/Types.d.ts +5 -0
- package/dist/types/components/ag-grid/context-provider.d.ts +2 -0
- package/package.json +1 -1
package/dist/App.scss
CHANGED
|
@@ -10,11 +10,12 @@ const remove_items_1 = tslib_1.__importDefault(require("./remove-items"));
|
|
|
10
10
|
const react_1 = require("react");
|
|
11
11
|
const context_provider_1 = require("../context-provider");
|
|
12
12
|
const table_filter_1 = tslib_1.__importDefault(require("./new-filter/table-filter"));
|
|
13
|
+
const hide_column_1 = tslib_1.__importDefault(require("./hide-column"));
|
|
13
14
|
function AdvancedFeatures({ props }) {
|
|
14
15
|
const { featureDetails } = (0, react_1.useContext)(context_provider_1.FeatureContext);
|
|
15
16
|
const conditionsToDisplay = props === null || props === void 0 ? void 0 : props.conditionsToDisplay;
|
|
16
17
|
const { bulkActionComponent: BulkAction } = props;
|
|
17
|
-
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.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: [(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
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, {})] }))] })));
|
|
19
20
|
}
|
|
20
21
|
exports.default = AdvancedFeatures;
|
|
@@ -8,37 +8,62 @@ const react_1 = require("react");
|
|
|
8
8
|
const sidebar_1 = require("primereact/sidebar");
|
|
9
9
|
const inputswitch_1 = require("primereact/inputswitch");
|
|
10
10
|
const inputtext_1 = require("primereact/inputtext");
|
|
11
|
-
const
|
|
12
|
-
const columns = [{ hederName: "Media" }, { hederName: "Product Name" }, { hederName: "Product Code" }, { hederName: "Product Description" }, { hederName: "Price" }, { hederName: "Brand" }];
|
|
13
|
-
const data2 = columns.map((col, idx) => {
|
|
14
|
-
let object = {
|
|
15
|
-
key: idx,
|
|
16
|
-
label: col.hederName,
|
|
17
|
-
};
|
|
18
|
-
return object;
|
|
19
|
-
});
|
|
11
|
+
const context_provider_1 = require("../context-provider");
|
|
20
12
|
function HideColumn() {
|
|
13
|
+
const { gridData, gridApi } = (0, react_1.useContext)(context_provider_1.FeatureContext);
|
|
21
14
|
const [visibleRight, setVisibleRight] = (0, react_1.useState)(false);
|
|
22
15
|
const [checked, setChecked] = (0, react_1.useState)(false);
|
|
23
16
|
const [inpValue, setInpValue] = (0, react_1.useState)("");
|
|
24
|
-
const [
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
const [nodes, setNodes] = (0, react_1.useState)(() => {
|
|
18
|
+
var _a;
|
|
19
|
+
const columnsInBar = [];
|
|
20
|
+
(_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 ((column === null || column === void 0 ? void 0 : column.headerName) && (column === null || column === void 0 ? void 0 : column.field)) {
|
|
22
|
+
column.checked = !(column === null || column === void 0 ? void 0 : column.hide);
|
|
23
|
+
}
|
|
24
|
+
columnsInBar.push(column);
|
|
25
|
+
});
|
|
26
|
+
return columnsInBar;
|
|
27
|
+
});
|
|
28
|
+
// When radio button is switched
|
|
29
|
+
const handleSwitchChange = (selectedColumn, value) => {
|
|
30
|
+
console.log(selectedColumn, value, 'selected column');
|
|
31
|
+
const updatedColumns = [...nodes];
|
|
32
|
+
updatedColumns === null || updatedColumns === void 0 ? void 0 : updatedColumns.map((column) => {
|
|
33
|
+
if ((column === null || column === void 0 ? void 0 : column.id) === (selectedColumn === null || selectedColumn === void 0 ? void 0 : selectedColumn.id)) {
|
|
34
|
+
column.checked = value;
|
|
35
|
+
}
|
|
36
|
+
return column;
|
|
37
|
+
});
|
|
38
|
+
setNodes(updatedColumns);
|
|
28
39
|
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
40
|
+
const updateColumns = () => {
|
|
41
|
+
const columnsToHide = nodes.filter((col) => {
|
|
42
|
+
return col.hasOwnProperty("checked") && !col.checked;
|
|
43
|
+
});
|
|
44
|
+
hideColumns(columnsToHide);
|
|
45
|
+
setVisibleRight(false);
|
|
32
46
|
};
|
|
33
|
-
const
|
|
34
|
-
if (!
|
|
35
|
-
return
|
|
36
|
-
|
|
37
|
-
|
|
47
|
+
const hideColumns = (columnsToHide) => {
|
|
48
|
+
if (!gridApi)
|
|
49
|
+
return;
|
|
50
|
+
const columnDefs = gridApi.current.api.getColumnDefs();
|
|
51
|
+
const updatedColumnDefs = columnDefs.map((colDef) => {
|
|
52
|
+
const colToHide = columnsToHide.find((col) => col.id === colDef.id);
|
|
53
|
+
if (colToHide) {
|
|
54
|
+
colDef.hide = true; // or colDef.hide = !!colToHide.checked; if using checked property
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
colDef.hide = false; // ensure other columns are not hidden
|
|
58
|
+
}
|
|
59
|
+
return colDef;
|
|
60
|
+
});
|
|
61
|
+
gridApi.current.api.setColumnDefs(updatedColumnDefs);
|
|
38
62
|
};
|
|
39
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, { onClick: () => setVisibleRight(true), className: "mr-3", text: true, icon: (0, jsx_runtime_1.jsx)(svg_component_1.default, { icon: "columns-02" }) }), (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" }), (0, jsx_runtime_1.jsx)(button_1.Button, { label: "Update",
|
|
63
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, { onClick: () => setVisibleRight(true), className: "mr-3", text: true, icon: (0, jsx_runtime_1.jsx)(svg_component_1.default, { icon: "columns-02" }) }), (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" }), (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", value: inpValue, onChange: (e) => {
|
|
40
64
|
setInpValue(e.target.value);
|
|
41
|
-
}, 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.jsx)("span", Object.assign({ className: "text-gray-500 text-sm" }, { children: "(10/15)" }))] })), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: "w-full" }, { children: (0, jsx_runtime_1.jsx)(
|
|
42
|
-
|
|
65
|
+
}, 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.jsx)("span", Object.assign({ className: "text-gray-500 text-sm" }, { children: "(10/15)" }))] })), (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 &&
|
|
66
|
+
nodes.map((listItem, idx) => (!(listItem === null || listItem === void 0 ? void 0 : listItem.hide) && (listItem === null || listItem === void 0 ? void 0 : listItem.field) && (listItem === null || listItem === void 0 ? void 0 : listItem.headerName)) && (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 === 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 &&
|
|
67
|
+
nodes.map((listItem) => ((listItem === null || listItem === void 0 ? void 0 : listItem.hide) && (listItem === null || listItem === void 0 ? void 0 : listItem.headerName)) && (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)) }))] }))] }))] }));
|
|
43
68
|
}
|
|
44
69
|
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 } = value;
|
|
9
|
+
const { featureDetails, setFeatureDetails, gridData, callGrid, totalRecords, initialFeature, defaultFilters, createView, enableViewCreate, filterModelText, sortModelText, recordDetailModelText, sortOptions, filterConditions, clearFilters, setGridData, gridApi, } = 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)({});
|
|
@@ -85,7 +85,10 @@ function MyProvider({ children, value }) {
|
|
|
85
85
|
filterModelText,
|
|
86
86
|
sortModelText,
|
|
87
87
|
recordDetailModelText,
|
|
88
|
-
sortOptions
|
|
88
|
+
sortOptions,
|
|
89
|
+
setGridData,
|
|
90
|
+
gridData,
|
|
91
|
+
gridApi,
|
|
89
92
|
} }, { children: children })));
|
|
90
93
|
}
|
|
91
94
|
exports.default = MyProvider;
|
|
@@ -243,15 +243,6 @@ function ParentForGrid(props) {
|
|
|
243
243
|
callGrid(currentFeature);
|
|
244
244
|
}
|
|
245
245
|
}, [props === null || props === void 0 ? void 0 : props.shouldRefetch]);
|
|
246
|
-
// Remove all checkbox selection if any feature added
|
|
247
|
-
// useEffect(() => {
|
|
248
|
-
// setCheckBoxSelection({
|
|
249
|
-
// allBoxChecked: false,
|
|
250
|
-
// isIndeterminate: false,
|
|
251
|
-
// includedRecords: [],
|
|
252
|
-
// excludedRecords: [],
|
|
253
|
-
// });
|
|
254
|
-
// }, [featureDetails]);
|
|
255
246
|
(0, react_1.useEffect)(() => {
|
|
256
247
|
if (props === null || props === void 0 ? void 0 : props.getCheckedRows) {
|
|
257
248
|
const callBackForCheckedRows = props === null || props === void 0 ? void 0 : props.getCheckedRows;
|
|
@@ -273,7 +264,9 @@ function ParentForGrid(props) {
|
|
|
273
264
|
recordDetailModelText: (_d = props === null || props === void 0 ? void 0 : props.dynamicText) === null || _d === void 0 ? void 0 : _d.recordDetailModelText,
|
|
274
265
|
sortOptions: (props === null || props === void 0 ? void 0 : props.sortOptions) ? props.sortOptions : constants_1.COLUMN_SORT_OPTIONS,
|
|
275
266
|
filterConditions: props === null || props === void 0 ? void 0 : props.filterConditions,
|
|
276
|
-
clearFilters: props === null || props === void 0 ? void 0 : props.clearFilters
|
|
267
|
+
clearFilters: props === null || props === void 0 ? void 0 : props.clearFilters,
|
|
268
|
+
setGridData,
|
|
269
|
+
gridApi: gridRef,
|
|
277
270
|
} }, { 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 })] }) })) }) }));
|
|
278
271
|
}
|
|
279
272
|
exports.default = ParentForGrid;
|
|
@@ -12,6 +12,7 @@ export interface ColumnDef extends ColDef {
|
|
|
12
12
|
options?: any[];
|
|
13
13
|
selectionType?: string;
|
|
14
14
|
columnType?: string;
|
|
15
|
+
checked?: boolean;
|
|
15
16
|
}
|
|
16
17
|
export interface Style {
|
|
17
18
|
height: number | string;
|
|
@@ -155,4 +156,8 @@ export interface FilterCondition {
|
|
|
155
156
|
id: number | string;
|
|
156
157
|
label: string;
|
|
157
158
|
}
|
|
159
|
+
export interface CallGridOnHide {
|
|
160
|
+
toUpdateView: boolean;
|
|
161
|
+
reorderedColumns: ColumnDef[];
|
|
162
|
+
}
|
|
158
163
|
export {};
|
|
@@ -18,6 +18,8 @@ interface MyProviderProps {
|
|
|
18
18
|
sortOptions: any[];
|
|
19
19
|
filterConditions: FilterCondition[];
|
|
20
20
|
clearFilters: Boolean;
|
|
21
|
+
setGridData: (GridData: any) => void;
|
|
22
|
+
gridApi: any;
|
|
21
23
|
};
|
|
22
24
|
}
|
|
23
25
|
declare function MyProvider({ children, value }: MyProviderProps): import("react/jsx-runtime").JSX.Element;
|