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 CHANGED
@@ -530,10 +530,12 @@ div:has(ul.date_filter) .p-datepicker-footer {
530
530
 
531
531
  .full_form_field {
532
532
  // width: 37.125rem;
533
+ width: 100%;
533
534
  }
534
535
 
535
536
  .form_field {
536
537
  // width: 18.063rem;
538
+ width: 100%;
537
539
  }
538
540
 
539
541
  .PhoneInput {
@@ -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 tree_1 = require("primereact/tree");
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 [checkedStates, setCheckedStates] = (0, react_1.useState)({});
25
- const [nodes, setNodes] = (0, react_1.useState)(data2 || []);
26
- const handleSwitchChange = (id, value) => {
27
- setCheckedStates((prevState) => (Object.assign(Object.assign({}, prevState), { [id]: value })));
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
- // column group functions
30
- const nodeTemplate = (node) => {
31
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "flex align-items-center w-full border-round block w-full p-3 pr-0 text-primary-400 font-semibold justify-content-between" }, { children: [(0, jsx_runtime_1.jsx)("span", { children: node.label }), (0, jsx_runtime_1.jsx)(inputswitch_1.InputSwitch, { checked: checkedStates[node.id] || false, onChange: (e) => handleSwitchChange(node.id, e.value) })] })));
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 togglerTemplate = (node) => {
34
- if (!node) {
35
- return false;
36
- }
37
- return ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: "flex align-items-center" }, { children: (0, jsx_runtime_1.jsx)(button_1.Button, { text: true, icon: (0, jsx_runtime_1.jsx)(svg_component_1.default, { icon: "drag-and-drop" }) }) })));
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", disabled: true })] }))] })), (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) => {
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)(tree_1.Tree, { value: nodes, nodeTemplate: nodeTemplate, dragdropScope: "demo", onDragDrop: (e) => setNodes(e.value), togglerTemplate: togglerTemplate, className: "list-items" }) })), (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 &&
42
- nodes.map((listItem) => ((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.label }), (0, jsx_runtime_1.jsx)(inputswitch_1.InputSwitch, { checked: checkedStates[listItem.id] || false, onChange: (e) => handleSwitchChange(listItem.id, e.value) })] }), listItem.id))) }))] }))] }))] }));
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sccoreui",
3
- "version": "5.9.83",
3
+ "version": "5.9.84",
4
4
  "description": "ui-sccore",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",