sccoreui 6.4.97 → 6.4.99

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
@@ -615,6 +615,11 @@ code {
615
615
  border-bottom-left-radius: 0 !important;
616
616
  overflow: auto;
617
617
  height: 44px;
618
+ .p-chips-token {
619
+ .p-chips-token-label {
620
+ white-space: nowrap;
621
+ }
622
+ }
618
623
 
619
624
  &:not(.p-disabled):hover {
620
625
  border-color: var(--gray-300);
@@ -865,7 +870,10 @@ div:has(ul.date_filter) .p-datepicker-footer {
865
870
  .PhoneInput {
866
871
  background: #ffffff;
867
872
  border: 1px solid var(--gray-300);
868
- transition: background-color 0.2s, color 0.2s, border-color 0.2s,
873
+ transition:
874
+ background-color 0.2s,
875
+ color 0.2s,
876
+ border-color 0.2s,
869
877
  box-shadow 0.2s;
870
878
  border-radius: var(--border-radius);
871
879
  box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
@@ -882,7 +890,8 @@ div:has(ul.date_filter) .p-datepicker-footer {
882
890
  &:focus-within {
883
891
  outline: 0 none;
884
892
  outline-offset: 0;
885
- box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05),
893
+ box-shadow:
894
+ 0px 1px 2px rgba(16, 24, 40, 0.05),
886
895
  0px 0px 0px 2px var(--primary-100);
887
896
  border-radius: var(--border-radius);
888
897
  border: 1px solid var(--primary-300);
@@ -991,7 +1000,8 @@ button#formatOLOptions-1.fr-active::before {
991
1000
  }
992
1001
 
993
1002
  button[data-cmd="fontFamily"]:focus {
994
- box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05),
1003
+ box-shadow:
1004
+ 0px 1px 2px rgba(16, 24, 40, 0.05),
995
1005
  0px 0px 0px 2px var(--primary-100);
996
1006
  border: 1px solid var(--primary-300) !important;
997
1007
  background: none !important;
@@ -1007,13 +1017,16 @@ button[data-cmd="fontFamily"]:focus {
1007
1017
  }
1008
1018
 
1009
1019
  .text-editor.focus-text-editor {
1010
- box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05),
1020
+ box-shadow:
1021
+ 0px 1px 2px rgba(16, 24, 40, 0.05),
1011
1022
  0px 0px 0px 4px var(--primary-100);
1012
1023
  border: 1px solid var(--primary-300) !important;
1013
1024
  }
1014
1025
 
1015
1026
  .text-editor.p-invalid.focus-text-editor {
1016
- box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05), 0px 0px 0px 4px var(--red-100);
1027
+ box-shadow:
1028
+ 0px 1px 2px rgba(16, 24, 40, 0.05),
1029
+ 0px 0px 0px 4px var(--red-100);
1017
1030
  border: 1px solid var(--red-300) !important;
1018
1031
  }
1019
1032
 
@@ -2055,7 +2068,10 @@ div:has(ul.date_filter) .p-datepicker-footer {
2055
2068
  .PhoneInput {
2056
2069
  background: #ffffff;
2057
2070
  border: 1px solid var(--gray-300);
2058
- transition: background-color 0.2s, color 0.2s, border-color 0.2s,
2071
+ transition:
2072
+ background-color 0.2s,
2073
+ color 0.2s,
2074
+ border-color 0.2s,
2059
2075
  box-shadow 0.2s;
2060
2076
  border-radius: var(--border-radius);
2061
2077
  box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
@@ -2072,7 +2088,8 @@ div:has(ul.date_filter) .p-datepicker-footer {
2072
2088
  &:focus-within {
2073
2089
  outline: 0 none;
2074
2090
  outline-offset: 0;
2075
- box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05),
2091
+ box-shadow:
2092
+ 0px 1px 2px rgba(16, 24, 40, 0.05),
2076
2093
  0px 0px 0px 2px var(--primary-100);
2077
2094
  border-radius: var(--border-radius);
2078
2095
  border: 1px solid var(--primary-300);
@@ -2181,7 +2198,8 @@ button#formatOLOptions-1.fr-active::before {
2181
2198
  }
2182
2199
 
2183
2200
  button[data-cmd="fontFamily"]:focus {
2184
- box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05),
2201
+ box-shadow:
2202
+ 0px 1px 2px rgba(16, 24, 40, 0.05),
2185
2203
  0px 0px 0px 2px var(--primary-100);
2186
2204
  border: 1px solid var(--primary-300) !important;
2187
2205
  background: none !important;
@@ -2197,13 +2215,16 @@ button[data-cmd="fontFamily"]:focus {
2197
2215
  }
2198
2216
 
2199
2217
  .text-editor.focus-text-editor {
2200
- box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05),
2218
+ box-shadow:
2219
+ 0px 1px 2px rgba(16, 24, 40, 0.05),
2201
2220
  0px 0px 0px 4px var(--primary-100);
2202
2221
  border: 1px solid var(--primary-300) !important;
2203
2222
  }
2204
2223
 
2205
2224
  .text-editor.p-invalid.focus-text-editor {
2206
- box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05), 0px 0px 0px 4px var(--red-100);
2225
+ box-shadow:
2226
+ 0px 1px 2px rgba(16, 24, 40, 0.05),
2227
+ 0px 0px 0px 4px var(--red-100);
2207
2228
  border: 1px solid var(--red-300) !important;
2208
2229
  }
2209
2230
 
@@ -2810,8 +2831,9 @@ button[aria-expanded="true"] {
2810
2831
  width: 35px;
2811
2832
  aspect-ratio: 1;
2812
2833
  border-radius: 50%;
2813
- background: radial-gradient(farthest-side, var(--primary-500) 94%, #0000)
2814
- top/5px 5px no-repeat,
2834
+ background:
2835
+ radial-gradient(farthest-side, var(--primary-500) 94%, #0000) top/5px 5px
2836
+ no-repeat,
2815
2837
  conic-gradient(#0000 5%, var(--primary-500));
2816
2838
  -webkit-mask: radial-gradient(
2817
2839
  farthest-side,
@@ -298,12 +298,7 @@ const TableFilter = () => {
298
298
  */
299
299
  const createViewFromFilters = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
300
300
  var _a;
301
- yield Promise.all((_a = [formRef]) === null || _a === void 0 ? void 0 : _a.map((form) => {
302
- var _a;
303
- (_a = form.current) === null || _a === void 0 ? void 0 : _a.submitForm();
304
- form.current.validateForm();
305
- }));
306
- const errors = formRef.current.errors;
301
+ const errors = yield ((_a = formRef.current) === null || _a === void 0 ? void 0 : _a.validateForm());
307
302
  if (errors && Object.keys(errors).length > 0) {
308
303
  return;
309
304
  }
@@ -159,7 +159,7 @@ function ParentForGrid(props) {
159
159
  setIsDataLoading(true);
160
160
  try {
161
161
  const response = yield (props === null || props === void 0 ? void 0 : props.getRowData(startRow, endRow, currentFeatures, params));
162
- setGridData(Object.assign(Object.assign({}, gridData), { rowData: [] }));
162
+ setGridData(prev => (Object.assign(Object.assign({}, prev), { rowData: [] })));
163
163
  // To identify when to stop the callBack
164
164
  const actualEndRow = (response === null || response === void 0 ? void 0 : response.totalRecords) < constants_1.MAX_RECORDS_TO_LOAD
165
165
  ? response === null || response === void 0 ? void 0 : response.totalRecords
@@ -199,7 +199,7 @@ function ParentForGrid(props) {
199
199
  const result = gridViewData.rowData.length > 0 ? { rowData: gridViewData.rowData, totalRecords: gridViewData.rowData.length } : yield getData(0, 0, currentFeatures);
200
200
  if (((_m = result.rowData) === null || _m === void 0 ? void 0 : _m.length) > 0) {
201
201
  gridViewData.rowData.length > 0 && setGridViewData({ rowData: [], searchText: "" });
202
- setGridData(Object.assign(Object.assign({}, gridData), { rowData: result.rowData }));
202
+ setGridData(prev => (Object.assign(Object.assign({}, prev), { rowData: result.rowData })));
203
203
  gridRef.current && gridRef.current.api.hideOverlay();
204
204
  params && ((_o = params === null || params === void 0 ? void 0 : params.api) === null || _o === void 0 ? void 0 : _o.applyTransaction({ add: result.rowData }));
205
205
  }
@@ -219,10 +219,10 @@ function ParentForGrid(props) {
219
219
  const response = yield getData(startRow, endRow, currentFeatures, params);
220
220
  // simulating real server call with a 500ms delay
221
221
  if (((_q = response.rowData) === null || _q === void 0 ? void 0 : _q.length) > 0) {
222
- setGridData(Object.assign(Object.assign({}, gridData), { rowData: response.rowData }));
222
+ setGridData(prev => (Object.assign(Object.assign({}, prev), { rowData: response.rowData })));
223
223
  gridRef.current.api.hideOverlay();
224
224
  // supply rows for requested block to grid
225
- params && params.success({ rowData: response.rowData });
225
+ params && params.success({ rowData: response.rowData, rowCount: response.actualEndRow });
226
226
  return;
227
227
  }
228
228
  else {
@@ -335,7 +335,7 @@ function ParentForGrid(props) {
335
335
  }
336
336
  if (props === null || props === void 0 ? void 0 : props.rowData) {
337
337
  setTotalRecords(props === null || props === void 0 ? void 0 : props.rowData.length);
338
- setGridData(Object.assign(Object.assign({}, gridData), { rowData: props.rowData }));
338
+ setGridData(prev => (Object.assign(Object.assign({}, prev), { rowData: props.rowData })));
339
339
  }
340
340
  if (props === null || props === void 0 ? void 0 : props.enableAdvancedFilter) {
341
341
  (_b = (_a = props === null || props === void 0 ? void 0 : props.getGridRef) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.api.setGridOption("advancedFilterParent", document.getElementById("advancedFilterParent"));
@@ -440,22 +440,47 @@ function ParentForGrid(props) {
440
440
  }
441
441
  }, [props.updateRowData]);
442
442
  (0, react_1.useEffect)(() => {
443
- var _a, _b;
443
+ var _a, _b, _c;
444
444
  const existingColumns = (gridRef === null || gridRef === void 0 ? void 0 : gridRef.current) && ((_a = gridRef === null || gridRef === void 0 ? void 0 : gridRef.current.api) === null || _a === void 0 ? void 0 : _a.getColumnDefs());
445
445
  if (!(props === null || props === void 0 ? void 0 : props.columnData) || !existingColumns)
446
446
  return;
447
447
  const columnFromProps = (0, helper_1.sortColumns)(props === null || props === void 0 ? void 0 : props.columnData);
448
- const updatedColumnDefs = existingColumns.map((colDef) => {
449
- columnFromProps.find((col) => {
450
- if (col.id === colDef.id) {
451
- colDef.hide = col.hide;
452
- colDef.seq = col === null || col === void 0 ? void 0 : col.seq;
448
+ // Check if column IDs match — if not, this is a full column replacement (e.g. skeleton → real columns)
449
+ const existingIds = new Set(existingColumns.map((col) => col.id));
450
+ const propsIds = new Set(columnFromProps.map((col) => col.id));
451
+ const isStructuralChange = columnFromProps.some((col) => !existingIds.has(col.id)) ||
452
+ existingColumns.some((col) => !propsIds.has(col.id));
453
+ if (isStructuralChange) {
454
+ // Full column replacement — rebuild columnDefs with checkbox/header handling
455
+ const newColumnDefs = columnFromProps.map((column) => {
456
+ var _a, _b;
457
+ if ((column === null || column === void 0 ? void 0 : column.enableChildCheckbox) && (column === null || column === void 0 ? void 0 : column.enableHeaderCheckbox)) {
458
+ return Object.assign(Object.assign({}, column), { headerComponent: (params) => headerCheckBoxRenderer(params === null || params === void 0 ? void 0 : params.displayName, (column === null || column === void 0 ? void 0 : column.headerComponent) && ""), cellRenderer: (params) => (0, utilComponents_1.dataCellRenderer)(params, column, props), cellRendererParams: {
459
+ initialRenderer: column === null || column === void 0 ? void 0 : column.body,
460
+ cellCheckBoxRenderer: cellCheckBoxRenderer,
461
+ }, headerName: (_a = column === null || column === void 0 ? void 0 : column.headerName) === null || _a === void 0 ? void 0 : _a.toUpperCase() });
462
+ }
463
+ else {
464
+ return Object.assign(Object.assign({}, column), { headerName: (_b = column === null || column === void 0 ? void 0 : column.headerName) === null || _b === void 0 ? void 0 : _b.toUpperCase() });
453
465
  }
454
466
  });
455
- return colDef;
456
- });
457
- const reOrderedColumns = updatedColumnDefs.sort((a, b) => a.seq - b.seq);
458
- (_b = gridRef.current.api) === null || _b === void 0 ? void 0 : _b.setGridOption("columnDefs", reOrderedColumns);
467
+ setGridData((prev) => (Object.assign(Object.assign({}, prev), { columnData: columnFromProps })));
468
+ (_b = gridRef.current.api) === null || _b === void 0 ? void 0 : _b.setGridOption("columnDefs", newColumnDefs);
469
+ }
470
+ else {
471
+ // Same structure — just update hide/seq
472
+ const updatedColumnDefs = existingColumns.map((colDef) => {
473
+ columnFromProps.find((col) => {
474
+ if (col.id === colDef.id) {
475
+ colDef.hide = col.hide;
476
+ colDef.seq = col === null || col === void 0 ? void 0 : col.seq;
477
+ }
478
+ });
479
+ return colDef;
480
+ });
481
+ const reOrderedColumns = updatedColumnDefs.sort((a, b) => a.seq - b.seq);
482
+ (_c = gridRef.current.api) === null || _c === void 0 ? void 0 : _c.setGridOption("columnDefs", reOrderedColumns);
483
+ }
459
484
  }, [props === null || props === void 0 ? void 0 : props.columnData]);
460
485
  (0, react_1.useEffect)(() => {
461
486
  if (props === null || props === void 0 ? void 0 : props.emptyCheckboxStatus) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sccoreui",
3
- "version": "6.4.97",
3
+ "version": "6.4.99",
4
4
  "description": "ui-sccore",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",