@helpdice/ui 1.1.8 → 1.2.0

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/index.js CHANGED
@@ -42125,10 +42125,7 @@ var TableHead = function TableHead(props) {
42125
42125
  if (!isScalableWidth) return /*#__PURE__*/React.createElement("colgroup", null);
42126
42126
  return makeColgroup(width, columns);
42127
42127
  }, [isScalableWidth, width]);
42128
- var handleFilterChange = function handleFilterChange(e) {
42129
- var _e$target = e.target,
42130
- name = _e$target.name,
42131
- value = _e$target.value;
42128
+ var handleFilterChange = function handleFilterChange(name, value) {
42132
42129
  setFilters(function (prevFilters) {
42133
42130
  var updatedFilters = _objectSpread2(_objectSpread2({}, prevFilters), {}, _defineProperty$1({}, name, value));
42134
42131
  // Call onFiltersChange to propagate filter changes to the parent
@@ -42147,16 +42144,19 @@ var TableHead = function TableHead(props) {
42147
42144
  var filterName = (_String = String(col === null || col === undefined ? undefined : col.label)) === null || _String === undefined ? undefined : _String.replace(' ', '_').toLowerCase();
42148
42145
  var unq_accessor = _.uniqueId(filterName);
42149
42146
  if (accessor === 'fixed') {
42147
+ var _filters$filterName;
42150
42148
  // Dropdown filter for categorical data (category, status)
42151
- return /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("select", {
42149
+ return /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement(Select, {
42152
42150
  key: unq_accessor,
42153
42151
  name: filterName,
42154
- value: filters[filterName],
42155
- onChange: handleFilterChange
42156
- }, /*#__PURE__*/React.createElement("option", {
42157
- value: ""
42152
+ value: (_filters$filterName = filters[filterName]) !== null && _filters$filterName !== undefined ? _filters$filterName : 'All',
42153
+ onChange: function onChange(newValue) {
42154
+ return handleFilterChange(filterName, newValue);
42155
+ }
42156
+ }, /*#__PURE__*/React.createElement(Select.Option, {
42157
+ value: "All"
42158
42158
  }, "All ", Header), options ? options.map(function (option) {
42159
- return /*#__PURE__*/React.createElement("option", {
42159
+ return /*#__PURE__*/React.createElement(Select.Option, {
42160
42160
  value: option.value
42161
42161
  }, option.name);
42162
42162
  }) : null));
@@ -42165,30 +42165,35 @@ var TableHead = function TableHead(props) {
42165
42165
  // Date filter
42166
42166
  return /*#__PURE__*/React.createElement("th", {
42167
42167
  key: unq_accessor
42168
- }, /*#__PURE__*/React.createElement("input", {
42169
- type: "date",
42168
+ }, /*#__PURE__*/React.createElement(Input, {
42169
+ htmlType: "date",
42170
42170
  name: filterName,
42171
42171
  value: filters[filterName],
42172
- onChange: handleFilterChange
42172
+ onChange: function onChange(e) {
42173
+ return handleFilterChange(filterName, e.target.value);
42174
+ }
42175
+ }));
42176
+ }
42177
+ if (accessor === 'search') {
42178
+ // Text search filter
42179
+ return /*#__PURE__*/React.createElement("th", null, /*#__PURE__*/React.createElement(Input, {
42180
+ id: "filter-search-".concat(filterName),
42181
+ htmlType: "text"
42182
+ // ref={filterRefs.current[filterName]} // Dynamically set ref}
42183
+ ,
42184
+ name: filterName,
42185
+ style: {
42186
+ height: 30,
42187
+ minWidth: 160
42188
+ },
42189
+ value: filters[filterName],
42190
+ onChange: function onChange(e) {
42191
+ return handleFilterChange(filterName, e.target.value);
42192
+ },
42193
+ placeholder: "Search...",
42194
+ fullWidth: true
42173
42195
  }));
42174
42196
  }
42175
-
42176
- // Text search filter for other fields (like name)
42177
- return /*#__PURE__*/React.createElement("th", null, /*#__PURE__*/React.createElement(Input, {
42178
- id: "filter-search-".concat(filterName),
42179
- htmlType: "text"
42180
- // ref={filterRefs.current[filterName]} // Dynamically set ref}
42181
- ,
42182
- name: filterName,
42183
- style: {
42184
- height: 30,
42185
- minWidth: 160
42186
- },
42187
- value: filters[filterName],
42188
- onChange: handleFilterChange,
42189
- placeholder: "Search...",
42190
- fullWidth: true
42191
- }));
42192
42197
  });
42193
42198
  };
42194
42199
  return /*#__PURE__*/React.createElement(React.Fragment, null, colgroup, /*#__PURE__*/React.createElement("thead", {
@@ -42267,18 +42272,37 @@ var TableBody = function TableBody(_ref) {
42267
42272
  onCell = _ref.onCell,
42268
42273
  rowClassName = _ref.rowClassName,
42269
42274
  _ref$rowDraggable = _ref.rowDraggable,
42270
- rowDraggable = _ref$rowDraggable === undefined ? false : _ref$rowDraggable;
42271
- _ref.readOnly;
42272
- var onSelected = _ref.onSelected;
42275
+ rowDraggable = _ref$rowDraggable === undefined ? false : _ref$rowDraggable,
42276
+ _ref$readOnly = _ref.readOnly,
42277
+ readOnly = _ref$readOnly === undefined ? false : _ref$readOnly,
42278
+ onSelected = _ref.onSelected;
42273
42279
  var theme = useTheme();
42274
42280
  var _useState = React.useState([]),
42275
42281
  _useState2 = _slicedToArray(_useState, 2),
42276
- selected = _useState2[0];
42277
- _useState2[1];
42282
+ selected = _useState2[0],
42283
+ setSelected = _useState2[1];
42278
42284
  var _useTableContext = useTableContext(),
42279
42285
  columns = _useTableContext.columns;
42280
- var rowClickHandler = function rowClickHandler(row, index) {
42281
- onRow && onRow(row, index);
42286
+ // const rowClickHandler = (row: TableDataItem, index: number) => {
42287
+ // onRow && onRow(row, index)
42288
+ // }
42289
+
42290
+ var handleClick = function handleClick(_event, id) {
42291
+ if (readOnly) {
42292
+ return true;
42293
+ }
42294
+ var selectedIndex = selected.indexOf(id);
42295
+ var newSelected = [];
42296
+ if (selectedIndex === -1) {
42297
+ newSelected = newSelected.concat(selected, id);
42298
+ } else if (selectedIndex === 0) {
42299
+ newSelected = newSelected.concat(selected.slice(1));
42300
+ } else if (selectedIndex === selected.length - 1) {
42301
+ newSelected = newSelected.concat(selected.slice(0, -1));
42302
+ } else if (selectedIndex > 0) {
42303
+ newSelected = newSelected.concat(selected.slice(0, selectedIndex), selected.slice(selectedIndex + 1));
42304
+ }
42305
+ setSelected(newSelected);
42282
42306
  };
42283
42307
 
42284
42308
  // const handleSelectAllClick = (event: { target: { checked: any } }) => {
@@ -42306,15 +42330,11 @@ var TableBody = function TableBody(_ref) {
42306
42330
  delete rw.table;
42307
42331
  delete rw.style;
42308
42332
  delete rw.onDragStart;
42309
- var frow = Object.fromEntries(Object.entries(row).filter(function (_ref2) {
42310
- var _ref3 = _slicedToArray(_ref2, 2),
42311
- ky = _ref3[0];
42312
- _ref3[1];
42313
- return ky !== '_id' && cols.map(function (col) {
42314
- return col.id;
42315
- }).includes(ky);
42316
- }));
42317
- console.log(frow);
42333
+ // console.log(row);
42334
+ // const frow = Object.fromEntries(
42335
+ // Object.entries(row).filter(([ky, _]) => ky !== '_id' && cols.map((col: any) => col.id).includes(ky))
42336
+ // ) as unknown as TableDataItem
42337
+ // console.log(frow);
42318
42338
  var isRowSelected = selected.indexOf(row) !== -1;
42319
42339
  return /*#__PURE__*/React.createElement("tr", {
42320
42340
  draggable: rowDraggable,
@@ -42332,14 +42352,16 @@ var TableBody = function TableBody(_ref) {
42332
42352
  }, rowStyle),
42333
42353
  onClick: function onClick(e) {
42334
42354
  if (!rowDraggable) {
42335
- {
42336
- rowClickHandler(row, index);
42355
+ if (onRow) {
42356
+ onRow(row, index);
42357
+ } else {
42358
+ handleClick(e, row);
42337
42359
  }
42338
42360
  }
42339
42361
  }
42340
42362
  }, /*#__PURE__*/React.createElement(TableCell, {
42341
42363
  columns: cols,
42342
- row: frow,
42364
+ row: rw,
42343
42365
  rowIndex: index,
42344
42366
  emptyText: emptyText,
42345
42367
  onCellClick: onCell
@@ -42400,6 +42422,7 @@ var TableColumn = function TableColumn(columnProps) {
42400
42422
  label = _ref.label,
42401
42423
  width = _ref.width,
42402
42424
  filter = _ref.filter,
42425
+ options = _ref.options,
42403
42426
  _ref$className = _ref.className,
42404
42427
  className = _ref$className === undefined ? '' : _ref$className,
42405
42428
  renderHandler = _ref.render;
@@ -42413,12 +42436,13 @@ var TableColumn = function TableColumn(columnProps) {
42413
42436
  updateColumn({
42414
42437
  label: children || label,
42415
42438
  filter: filter,
42439
+ options: options,
42416
42440
  prop: safeProp,
42417
42441
  width: width,
42418
42442
  className: className,
42419
42443
  renderHandler: function renderHandler() {}
42420
42444
  });
42421
- }, [children, filter, label, prop, width, className, renderHandler]);
42445
+ }, [children, filter, options, label, prop, width, className, renderHandler]);
42422
42446
  return null;
42423
42447
  };
42424
42448
  TableColumn.displayName = 'TableColumn';