@helpdice/ui 1.1.9 → 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
@@ -42144,16 +42144,17 @@ var TableHead = function TableHead(props) {
42144
42144
  var filterName = (_String = String(col === null || col === undefined ? undefined : col.label)) === null || _String === undefined ? undefined : _String.replace(' ', '_').toLowerCase();
42145
42145
  var unq_accessor = _.uniqueId(filterName);
42146
42146
  if (accessor === 'fixed') {
42147
+ var _filters$filterName;
42147
42148
  // Dropdown filter for categorical data (category, status)
42148
42149
  return /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement(Select, {
42149
42150
  key: unq_accessor,
42150
42151
  name: filterName,
42151
- value: filters[filterName],
42152
+ value: (_filters$filterName = filters[filterName]) !== null && _filters$filterName !== undefined ? _filters$filterName : 'All',
42152
42153
  onChange: function onChange(newValue) {
42153
42154
  return handleFilterChange(filterName, newValue);
42154
42155
  }
42155
42156
  }, /*#__PURE__*/React.createElement(Select.Option, {
42156
- value: ""
42157
+ value: "All"
42157
42158
  }, "All ", Header), options ? options.map(function (option) {
42158
42159
  return /*#__PURE__*/React.createElement(Select.Option, {
42159
42160
  value: option.value
@@ -42173,25 +42174,26 @@ var TableHead = function TableHead(props) {
42173
42174
  }
42174
42175
  }));
42175
42176
  }
42176
-
42177
- // Text search filter for other fields (like name)
42178
- return /*#__PURE__*/React.createElement("th", null, /*#__PURE__*/React.createElement(Input, {
42179
- id: "filter-search-".concat(filterName),
42180
- htmlType: "text"
42181
- // ref={filterRefs.current[filterName]} // Dynamically set ref}
42182
- ,
42183
- name: filterName,
42184
- style: {
42185
- height: 30,
42186
- minWidth: 160
42187
- },
42188
- value: filters[filterName],
42189
- onChange: function onChange(e) {
42190
- return handleFilterChange(filterName, e.target.value);
42191
- },
42192
- placeholder: "Search...",
42193
- fullWidth: true
42194
- }));
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
42195
+ }));
42196
+ }
42195
42197
  });
42196
42198
  };
42197
42199
  return /*#__PURE__*/React.createElement(React.Fragment, null, colgroup, /*#__PURE__*/React.createElement("thead", {
@@ -42270,18 +42272,37 @@ var TableBody = function TableBody(_ref) {
42270
42272
  onCell = _ref.onCell,
42271
42273
  rowClassName = _ref.rowClassName,
42272
42274
  _ref$rowDraggable = _ref.rowDraggable,
42273
- rowDraggable = _ref$rowDraggable === undefined ? false : _ref$rowDraggable;
42274
- _ref.readOnly;
42275
- 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;
42276
42279
  var theme = useTheme();
42277
42280
  var _useState = React.useState([]),
42278
42281
  _useState2 = _slicedToArray(_useState, 2),
42279
- selected = _useState2[0];
42280
- _useState2[1];
42282
+ selected = _useState2[0],
42283
+ setSelected = _useState2[1];
42281
42284
  var _useTableContext = useTableContext(),
42282
42285
  columns = _useTableContext.columns;
42283
- var rowClickHandler = function rowClickHandler(row, index) {
42284
- 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);
42285
42306
  };
42286
42307
 
42287
42308
  // const handleSelectAllClick = (event: { target: { checked: any } }) => {
@@ -42309,16 +42330,11 @@ var TableBody = function TableBody(_ref) {
42309
42330
  delete rw.table;
42310
42331
  delete rw.style;
42311
42332
  delete rw.onDragStart;
42312
- console.log(row);
42313
- var frow = Object.fromEntries(Object.entries(row).filter(function (_ref2) {
42314
- var _ref3 = _slicedToArray(_ref2, 2),
42315
- ky = _ref3[0];
42316
- _ref3[1];
42317
- return ky !== '_id' && cols.map(function (col) {
42318
- return col.id;
42319
- }).includes(ky);
42320
- }));
42321
- 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);
42322
42338
  var isRowSelected = selected.indexOf(row) !== -1;
42323
42339
  return /*#__PURE__*/React.createElement("tr", {
42324
42340
  draggable: rowDraggable,
@@ -42336,8 +42352,10 @@ var TableBody = function TableBody(_ref) {
42336
42352
  }, rowStyle),
42337
42353
  onClick: function onClick(e) {
42338
42354
  if (!rowDraggable) {
42339
- {
42340
- rowClickHandler(row, index);
42355
+ if (onRow) {
42356
+ onRow(row, index);
42357
+ } else {
42358
+ handleClick(e, row);
42341
42359
  }
42342
42360
  }
42343
42361
  }
@@ -42404,6 +42422,7 @@ var TableColumn = function TableColumn(columnProps) {
42404
42422
  label = _ref.label,
42405
42423
  width = _ref.width,
42406
42424
  filter = _ref.filter,
42425
+ options = _ref.options,
42407
42426
  _ref$className = _ref.className,
42408
42427
  className = _ref$className === undefined ? '' : _ref$className,
42409
42428
  renderHandler = _ref.render;
@@ -42417,12 +42436,13 @@ var TableColumn = function TableColumn(columnProps) {
42417
42436
  updateColumn({
42418
42437
  label: children || label,
42419
42438
  filter: filter,
42439
+ options: options,
42420
42440
  prop: safeProp,
42421
42441
  width: width,
42422
42442
  className: className,
42423
42443
  renderHandler: function renderHandler() {}
42424
42444
  });
42425
- }, [children, filter, label, prop, width, className, renderHandler]);
42445
+ }, [children, filter, options, label, prop, width, className, renderHandler]);
42426
42446
  return null;
42427
42447
  };
42428
42448
  TableColumn.displayName = 'TableColumn';
@@ -19870,16 +19870,17 @@ var TableHead = function TableHead(props) {
19870
19870
  var filterName = (_String = String(col === null || col === undefined ? undefined : col.label)) === null || _String === undefined ? undefined : _String.replace(' ', '_').toLowerCase();
19871
19871
  var unq_accessor = _.uniqueId(filterName);
19872
19872
  if (accessor === 'fixed') {
19873
+ var _filters$filterName;
19873
19874
  // Dropdown filter for categorical data (category, status)
19874
19875
  return /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement(Select, {
19875
19876
  key: unq_accessor,
19876
19877
  name: filterName,
19877
- value: filters[filterName],
19878
+ value: (_filters$filterName = filters[filterName]) !== null && _filters$filterName !== undefined ? _filters$filterName : 'All',
19878
19879
  onChange: function onChange(newValue) {
19879
19880
  return handleFilterChange(filterName, newValue);
19880
19881
  }
19881
19882
  }, /*#__PURE__*/React.createElement(Select.Option, {
19882
- value: ""
19883
+ value: "All"
19883
19884
  }, "All ", Header), options ? options.map(function (option) {
19884
19885
  return /*#__PURE__*/React.createElement(Select.Option, {
19885
19886
  value: option.value
@@ -19899,25 +19900,26 @@ var TableHead = function TableHead(props) {
19899
19900
  }
19900
19901
  }));
19901
19902
  }
19902
-
19903
- // Text search filter for other fields (like name)
19904
- return /*#__PURE__*/React.createElement("th", null, /*#__PURE__*/React.createElement(Input, {
19905
- id: "filter-search-".concat(filterName),
19906
- htmlType: "text"
19907
- // ref={filterRefs.current[filterName]} // Dynamically set ref}
19908
- ,
19909
- name: filterName,
19910
- style: {
19911
- height: 30,
19912
- minWidth: 160
19913
- },
19914
- value: filters[filterName],
19915
- onChange: function onChange(e) {
19916
- return handleFilterChange(filterName, e.target.value);
19917
- },
19918
- placeholder: "Search...",
19919
- fullWidth: true
19920
- }));
19903
+ if (accessor === 'search') {
19904
+ // Text search filter
19905
+ return /*#__PURE__*/React.createElement("th", null, /*#__PURE__*/React.createElement(Input, {
19906
+ id: "filter-search-".concat(filterName),
19907
+ htmlType: "text"
19908
+ // ref={filterRefs.current[filterName]} // Dynamically set ref}
19909
+ ,
19910
+ name: filterName,
19911
+ style: {
19912
+ height: 30,
19913
+ minWidth: 160
19914
+ },
19915
+ value: filters[filterName],
19916
+ onChange: function onChange(e) {
19917
+ return handleFilterChange(filterName, e.target.value);
19918
+ },
19919
+ placeholder: "Search...",
19920
+ fullWidth: true
19921
+ }));
19922
+ }
19921
19923
  });
19922
19924
  };
19923
19925
  return /*#__PURE__*/React.createElement(React.Fragment, null, colgroup, /*#__PURE__*/React.createElement("thead", {
@@ -19996,18 +19998,37 @@ var TableBody = function TableBody(_ref) {
19996
19998
  onCell = _ref.onCell,
19997
19999
  rowClassName = _ref.rowClassName,
19998
20000
  _ref$rowDraggable = _ref.rowDraggable,
19999
- rowDraggable = _ref$rowDraggable === undefined ? false : _ref$rowDraggable;
20000
- _ref.readOnly;
20001
- var onSelected = _ref.onSelected;
20001
+ rowDraggable = _ref$rowDraggable === undefined ? false : _ref$rowDraggable,
20002
+ _ref$readOnly = _ref.readOnly,
20003
+ readOnly = _ref$readOnly === undefined ? false : _ref$readOnly,
20004
+ onSelected = _ref.onSelected;
20002
20005
  var theme = useTheme();
20003
20006
  var _useState = React.useState([]),
20004
20007
  _useState2 = _slicedToArray(_useState, 2),
20005
- selected = _useState2[0];
20006
- _useState2[1];
20008
+ selected = _useState2[0],
20009
+ setSelected = _useState2[1];
20007
20010
  var _useTableContext = useTableContext(),
20008
20011
  columns = _useTableContext.columns;
20009
- var rowClickHandler = function rowClickHandler(row, index) {
20010
- onRow && onRow(row, index);
20012
+ // const rowClickHandler = (row: TableDataItem, index: number) => {
20013
+ // onRow && onRow(row, index)
20014
+ // }
20015
+
20016
+ var handleClick = function handleClick(_event, id) {
20017
+ if (readOnly) {
20018
+ return true;
20019
+ }
20020
+ var selectedIndex = selected.indexOf(id);
20021
+ var newSelected = [];
20022
+ if (selectedIndex === -1) {
20023
+ newSelected = newSelected.concat(selected, id);
20024
+ } else if (selectedIndex === 0) {
20025
+ newSelected = newSelected.concat(selected.slice(1));
20026
+ } else if (selectedIndex === selected.length - 1) {
20027
+ newSelected = newSelected.concat(selected.slice(0, -1));
20028
+ } else if (selectedIndex > 0) {
20029
+ newSelected = newSelected.concat(selected.slice(0, selectedIndex), selected.slice(selectedIndex + 1));
20030
+ }
20031
+ setSelected(newSelected);
20011
20032
  };
20012
20033
 
20013
20034
  // const handleSelectAllClick = (event: { target: { checked: any } }) => {
@@ -20035,16 +20056,11 @@ var TableBody = function TableBody(_ref) {
20035
20056
  delete rw.table;
20036
20057
  delete rw.style;
20037
20058
  delete rw.onDragStart;
20038
- console.log(row);
20039
- var frow = Object.fromEntries(Object.entries(row).filter(function (_ref2) {
20040
- var _ref3 = _slicedToArray(_ref2, 2),
20041
- ky = _ref3[0];
20042
- _ref3[1];
20043
- return ky !== '_id' && cols.map(function (col) {
20044
- return col.id;
20045
- }).includes(ky);
20046
- }));
20047
- console.log(frow);
20059
+ // console.log(row);
20060
+ // const frow = Object.fromEntries(
20061
+ // Object.entries(row).filter(([ky, _]) => ky !== '_id' && cols.map((col: any) => col.id).includes(ky))
20062
+ // ) as unknown as TableDataItem
20063
+ // console.log(frow);
20048
20064
  var isRowSelected = selected.indexOf(row) !== -1;
20049
20065
  return /*#__PURE__*/React.createElement("tr", {
20050
20066
  draggable: rowDraggable,
@@ -20062,8 +20078,10 @@ var TableBody = function TableBody(_ref) {
20062
20078
  }, rowStyle),
20063
20079
  onClick: function onClick(e) {
20064
20080
  if (!rowDraggable) {
20065
- {
20066
- rowClickHandler(row, index);
20081
+ if (onRow) {
20082
+ onRow(row, index);
20083
+ } else {
20084
+ handleClick(e, row);
20067
20085
  }
20068
20086
  }
20069
20087
  }
@@ -20173,6 +20191,7 @@ var TableColumn = function TableColumn(columnProps) {
20173
20191
  label = _ref.label,
20174
20192
  width = _ref.width,
20175
20193
  filter = _ref.filter,
20194
+ options = _ref.options,
20176
20195
  _ref$className = _ref.className,
20177
20196
  className = _ref$className === undefined ? '' : _ref$className,
20178
20197
  renderHandler = _ref.render;
@@ -20186,12 +20205,13 @@ var TableColumn = function TableColumn(columnProps) {
20186
20205
  updateColumn({
20187
20206
  label: children || label,
20188
20207
  filter: filter,
20208
+ options: options,
20189
20209
  prop: safeProp,
20190
20210
  width: width,
20191
20211
  className: className,
20192
20212
  renderHandler: function renderHandler() {}
20193
20213
  });
20194
- }, [children, filter, label, prop, width, className, renderHandler]);
20214
+ }, [children, filter, options, label, prop, width, className, renderHandler]);
20195
20215
  return null;
20196
20216
  };
20197
20217
  TableColumn.displayName = 'TableColumn';
@@ -5,6 +5,7 @@ export type TableColumnProps<TableDataItem extends TableDataItemBase> = {
5
5
  label?: string;
6
6
  filter?: string;
7
7
  width?: number;
8
+ options?: any[];
8
9
  className?: string;
9
10
  render?: TableColumnRender<TableDataItem>;
10
11
  };
@@ -26,9 +26,10 @@ var TableBody = function TableBody(_ref) {
26
26
  setSelected = _useState2[1];
27
27
  var _useTableContext = useTableContext(),
28
28
  columns = _useTableContext.columns;
29
- var rowClickHandler = function rowClickHandler(row, index) {
30
- onRow && onRow(row, index);
31
- };
29
+ // const rowClickHandler = (row: TableDataItem, index: number) => {
30
+ // onRow && onRow(row, index)
31
+ // }
32
+
32
33
  var handleClick = function handleClick(_event, id) {
33
34
  if (readOnly) {
34
35
  return true;
@@ -72,16 +73,11 @@ var TableBody = function TableBody(_ref) {
72
73
  delete rw.table;
73
74
  delete rw.style;
74
75
  delete rw.onDragStart;
75
- console.log(row);
76
- var frow = Object.fromEntries(Object.entries(row).filter(function (_ref2) {
77
- var _ref3 = _slicedToArray(_ref2, 2),
78
- ky = _ref3[0],
79
- _ = _ref3[1];
80
- return ky !== '_id' && cols.map(function (col) {
81
- return col.id;
82
- }).includes(ky);
83
- }));
84
- console.log(frow);
76
+ // console.log(row);
77
+ // const frow = Object.fromEntries(
78
+ // Object.entries(row).filter(([ky, _]) => ky !== '_id' && cols.map((col: any) => col.id).includes(ky))
79
+ // ) as unknown as TableDataItem
80
+ // console.log(frow);
85
81
  var isRowSelected = selected.indexOf(row) !== -1;
86
82
  return /*#__PURE__*/React.createElement("tr", {
87
83
  draggable: rowDraggable,
@@ -99,8 +95,8 @@ var TableBody = function TableBody(_ref) {
99
95
  }, rowStyle),
100
96
  onClick: function onClick(e) {
101
97
  if (!rowDraggable) {
102
- if (rowClickHandler) {
103
- rowClickHandler(row, index);
98
+ if (onRow) {
99
+ onRow(row, index);
104
100
  } else {
105
101
  handleClick(e, row);
106
102
  }
@@ -5,6 +5,7 @@ export type TableColumnProps<TableDataItem extends TableDataItemBase> = {
5
5
  label?: string;
6
6
  filter?: string;
7
7
  width?: number;
8
+ options?: any[];
8
9
  className?: string;
9
10
  render?: TableColumnRender<TableDataItem>;
10
11
  };
@@ -10,6 +10,7 @@ var TableColumn = function TableColumn(columnProps) {
10
10
  label = _ref.label,
11
11
  width = _ref.width,
12
12
  filter = _ref.filter,
13
+ options = _ref.options,
13
14
  _ref$className = _ref.className,
14
15
  className = _ref$className === void 0 ? '' : _ref$className,
15
16
  renderHandler = _ref.render;
@@ -23,12 +24,13 @@ var TableColumn = function TableColumn(columnProps) {
23
24
  updateColumn({
24
25
  label: children || label,
25
26
  filter: filter,
27
+ options: options,
26
28
  prop: safeProp,
27
29
  width: width,
28
30
  className: className,
29
31
  renderHandler: function renderHandler() {}
30
32
  });
31
- }, [children, filter, label, prop, width, className, renderHandler]);
33
+ }, [children, filter, options, label, prop, width, className, renderHandler]);
32
34
  return null;
33
35
  };
34
36
  TableColumn.displayName = 'TableColumn';
@@ -61,16 +61,17 @@ var TableHead = function TableHead(props) {
61
61
  var filterName = (_String = String(col === null || col === void 0 ? void 0 : col.label)) === null || _String === void 0 ? void 0 : _String.replace(' ', '_').toLowerCase();
62
62
  var unq_accessor = _.uniqueId(filterName);
63
63
  if (accessor === 'fixed') {
64
+ var _filters$filterName;
64
65
  // Dropdown filter for categorical data (category, status)
65
66
  return /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement(Select, {
66
67
  key: unq_accessor,
67
68
  name: filterName,
68
- value: filters[filterName],
69
+ value: (_filters$filterName = filters[filterName]) !== null && _filters$filterName !== void 0 ? _filters$filterName : 'All',
69
70
  onChange: function onChange(newValue) {
70
71
  return handleFilterChange(filterName, newValue);
71
72
  }
72
73
  }, /*#__PURE__*/React.createElement(Select.Option, {
73
- value: ""
74
+ value: "All"
74
75
  }, "All ", Header), options ? options.map(function (option) {
75
76
  return /*#__PURE__*/React.createElement(Select.Option, {
76
77
  value: option.value
@@ -90,25 +91,26 @@ var TableHead = function TableHead(props) {
90
91
  }
91
92
  }));
92
93
  }
93
-
94
- // Text search filter for other fields (like name)
95
- return /*#__PURE__*/React.createElement("th", null, /*#__PURE__*/React.createElement(Input, {
96
- id: "filter-search-".concat(filterName),
97
- htmlType: "text"
98
- // ref={filterRefs.current[filterName]} // Dynamically set ref}
99
- ,
100
- name: filterName,
101
- style: {
102
- height: 30,
103
- minWidth: 160
104
- },
105
- value: filters[filterName],
106
- onChange: function onChange(e) {
107
- return handleFilterChange(filterName, e.target.value);
108
- },
109
- placeholder: "Search...",
110
- fullWidth: true
111
- }));
94
+ if (accessor === 'search') {
95
+ // Text search filter
96
+ return /*#__PURE__*/React.createElement("th", null, /*#__PURE__*/React.createElement(Input, {
97
+ id: "filter-search-".concat(filterName),
98
+ htmlType: "text"
99
+ // ref={filterRefs.current[filterName]} // Dynamically set ref}
100
+ ,
101
+ name: filterName,
102
+ style: {
103
+ height: 30,
104
+ minWidth: 160
105
+ },
106
+ value: filters[filterName],
107
+ onChange: function onChange(e) {
108
+ return handleFilterChange(filterName, e.target.value);
109
+ },
110
+ placeholder: "Search...",
111
+ fullWidth: true
112
+ }));
113
+ }
112
114
  });
113
115
  };
114
116
  return /*#__PURE__*/React.createElement(React.Fragment, null, colgroup, /*#__PURE__*/React.createElement("thead", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helpdice/ui",
3
- "version": "1.1.9",
3
+ "version": "1.2.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "esm/index.d.ts",
6
6
  "unpkg": "dist/index.min.js",