@panneau/core 3.0.154 → 3.0.158

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.
Files changed (3) hide show
  1. package/es/hooks.js +45 -23
  2. package/lib/hooks.js +45 -23
  3. package/package.json +2 -2
package/es/hooks.js CHANGED
@@ -1104,6 +1104,14 @@ var eventsManager = typeof window !== 'undefined' ? new EventsManager(window) :
1104
1104
  var useWindowEvent = createUseEvent(eventsManager);
1105
1105
  var useWindowEvent$1 = useWindowEvent;
1106
1106
 
1107
+ function filterNullItems(items) {
1108
+ return isArray(items) ? items.filter(function (it) {
1109
+ return it !== null;
1110
+ }) : items;
1111
+ }
1112
+ function getItemsArray(items) {
1113
+ return filterNullItems(!isArray(items) && items !== null ? [items] : items);
1114
+ }
1107
1115
  var useItemSelection = function useItemSelection(_ref) {
1108
1116
  var _ref$items = _ref.items,
1109
1117
  items = _ref$items === void 0 ? null : _ref$items,
@@ -1113,7 +1121,7 @@ var useItemSelection = function useItemSelection(_ref) {
1113
1121
  multipleSelection = _ref$multipleSelectio === void 0 ? false : _ref$multipleSelectio,
1114
1122
  _ref$onSelectionChang = _ref.onSelectionChange,
1115
1123
  onSelectionChange = _ref$onSelectionChang === void 0 ? null : _ref$onSelectionChang;
1116
- var initialItems = !isArray(initialSelectedItems) && initialSelectedItems !== null ? [initialSelectedItems] : initialSelectedItems;
1124
+ var initialItems = getItemsArray(initialSelectedItems);
1117
1125
  var _useState = useState(initialItems),
1118
1126
  _useState2 = _slicedToArray(_useState, 2),
1119
1127
  selectedItems = _useState2[0],
@@ -1135,7 +1143,7 @@ var useItemSelection = function useItemSelection(_ref) {
1135
1143
  return id !== itemId;
1136
1144
  });
1137
1145
  }
1138
- setSelectedItems(newItems);
1146
+ setSelectedItems(filterNullItems(newItems));
1139
1147
  if (onSelectionChange !== null) {
1140
1148
  var _ref5 = newItems || [],
1141
1149
  _ref6 = _slicedToArray(_ref5, 1),
@@ -1145,40 +1153,53 @@ var useItemSelection = function useItemSelection(_ref) {
1145
1153
  onSelectionChange(finalValue, item, index);
1146
1154
  }
1147
1155
  }, [selectedItems, onSelectionChange, multipleSelection]);
1156
+ var onSelectItems = useCallback(function (newItems, index) {
1157
+ var finalNewItems = filterNullItems(newItems);
1158
+ setSelectedItems(finalNewItems);
1159
+ if (onSelectionChange !== null) {
1160
+ var _ref7 = finalNewItems || [],
1161
+ _ref8 = _slicedToArray(_ref7, 1),
1162
+ _ref8$ = _ref8[0],
1163
+ firstItem = _ref8$ === void 0 ? null : _ref8$;
1164
+ var finalValue = multipleSelection ? finalNewItems : firstItem;
1165
+ onSelectionChange(finalValue, null, index);
1166
+ }
1167
+ }, [selectedItems, onSelectionChange, multipleSelection]);
1148
1168
  var onSelectPage = useCallback(function () {
1149
1169
  var pageSelected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1150
1170
  var nextItems = [];
1151
1171
  if (!pageSelected) {
1152
1172
  nextItems = uniqBy([].concat(_toConsumableArray(items || []), _toConsumableArray(selectedItems || [])), function () {
1153
- var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1154
- _ref7$id = _ref7.id,
1155
- id = _ref7$id === void 0 ? null : _ref7$id;
1173
+ var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1174
+ _ref9$id = _ref9.id,
1175
+ id = _ref9$id === void 0 ? null : _ref9$id;
1156
1176
  return id;
1157
1177
  });
1158
1178
  } else {
1159
1179
  var ids = (items || []).map(function () {
1160
- var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1161
- _ref8$id = _ref8.id,
1162
- id = _ref8$id === void 0 ? null : _ref8$id;
1180
+ var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1181
+ _ref10$id = _ref10.id,
1182
+ id = _ref10$id === void 0 ? null : _ref10$id;
1163
1183
  return id;
1164
1184
  }).filter(function (id) {
1165
1185
  return id !== null;
1166
1186
  });
1167
1187
  nextItems = uniqBy((selectedItems || []).filter(function (it) {
1168
- var _ref9 = it || {},
1169
- _ref9$id = _ref9.id,
1170
- id = _ref9$id === void 0 ? null : _ref9$id;
1188
+ var _ref11 = it || {},
1189
+ _ref11$id = _ref11.id,
1190
+ id = _ref11$id === void 0 ? null : _ref11$id;
1171
1191
  return ids.indexOf(id) === -1;
1172
1192
  }), function () {
1173
- var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1174
- _ref10$id = _ref10.id,
1175
- id = _ref10$id === void 0 ? null : _ref10$id;
1193
+ var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1194
+ _ref12$id = _ref12.id,
1195
+ id = _ref12$id === void 0 ? null : _ref12$id;
1176
1196
  return id;
1177
1197
  });
1178
1198
  }
1179
- setSelectedItems(nextItems);
1199
+ var finalNextItems = filterNullItems(nextItems);
1200
+ setSelectedItems(finalNextItems);
1180
1201
  if (onSelectionChange !== null) {
1181
- onSelectionChange(nextItems);
1202
+ onSelectionChange(finalNextItems);
1182
1203
  }
1183
1204
  }, [items, selectedItems, setSelectedItems, onSelectionChange]);
1184
1205
  var onClearSelected = useCallback(function () {
@@ -1188,16 +1209,16 @@ var useItemSelection = function useItemSelection(_ref) {
1188
1209
  }
1189
1210
  }, [setSelectedItems, onSelectionChange, multipleSelection]);
1190
1211
  useEffect(function () {
1191
- setSelectedItems(initialSelectedItems);
1212
+ setSelectedItems(getItemsArray(initialSelectedItems));
1192
1213
  }, [initialSelectedItems]);
1193
1214
  var pageSelected = useMemo(function () {
1194
1215
  if (items === null || selectedItems === null) {
1195
1216
  return false;
1196
1217
  }
1197
1218
  var ids = (items || []).map(function () {
1198
- var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1199
- _ref11$id = _ref11.id,
1200
- id = _ref11$id === void 0 ? null : _ref11$id;
1219
+ var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1220
+ _ref13$id = _ref13.id,
1221
+ id = _ref13$id === void 0 ? null : _ref13$id;
1201
1222
  return id;
1202
1223
  }).filter(function (id) {
1203
1224
  return id !== null;
@@ -1206,9 +1227,9 @@ var useItemSelection = function useItemSelection(_ref) {
1206
1227
  return false;
1207
1228
  }
1208
1229
  var currentPageItems = (selectedItems || []).filter(function (it) {
1209
- var _ref12 = it || {},
1210
- _ref12$id = _ref12.id,
1211
- id = _ref12$id === void 0 ? null : _ref12$id;
1230
+ var _ref14 = it || {},
1231
+ _ref14$id = _ref14.id,
1232
+ id = _ref14$id === void 0 ? null : _ref14$id;
1212
1233
  return (ids || []).indexOf(id) !== -1;
1213
1234
  }) || [];
1214
1235
  return currentPageItems.length > 0 && currentPageItems.length === (items || []).length;
@@ -1221,6 +1242,7 @@ var useItemSelection = function useItemSelection(_ref) {
1221
1242
  }, [selectedItems]);
1222
1243
  return {
1223
1244
  onSelectItem: onSelectItem,
1245
+ onSelectItems: onSelectItems,
1224
1246
  onSelectPage: onSelectPage,
1225
1247
  onClearSelected: onClearSelected,
1226
1248
  pageSelected: pageSelected,
package/lib/hooks.js CHANGED
@@ -1106,6 +1106,14 @@ var eventsManager = typeof window !== 'undefined' ? new core.EventsManager(windo
1106
1106
  var useWindowEvent = utils.createUseEvent(eventsManager);
1107
1107
  var useWindowEvent$1 = useWindowEvent;
1108
1108
 
1109
+ function filterNullItems(items) {
1110
+ return isArray(items) ? items.filter(function (it) {
1111
+ return it !== null;
1112
+ }) : items;
1113
+ }
1114
+ function getItemsArray(items) {
1115
+ return filterNullItems(!isArray(items) && items !== null ? [items] : items);
1116
+ }
1109
1117
  var useItemSelection = function useItemSelection(_ref) {
1110
1118
  var _ref$items = _ref.items,
1111
1119
  items = _ref$items === void 0 ? null : _ref$items,
@@ -1115,7 +1123,7 @@ var useItemSelection = function useItemSelection(_ref) {
1115
1123
  multipleSelection = _ref$multipleSelectio === void 0 ? false : _ref$multipleSelectio,
1116
1124
  _ref$onSelectionChang = _ref.onSelectionChange,
1117
1125
  onSelectionChange = _ref$onSelectionChang === void 0 ? null : _ref$onSelectionChang;
1118
- var initialItems = !isArray(initialSelectedItems) && initialSelectedItems !== null ? [initialSelectedItems] : initialSelectedItems;
1126
+ var initialItems = getItemsArray(initialSelectedItems);
1119
1127
  var _useState = react.useState(initialItems),
1120
1128
  _useState2 = _slicedToArray(_useState, 2),
1121
1129
  selectedItems = _useState2[0],
@@ -1137,7 +1145,7 @@ var useItemSelection = function useItemSelection(_ref) {
1137
1145
  return id !== itemId;
1138
1146
  });
1139
1147
  }
1140
- setSelectedItems(newItems);
1148
+ setSelectedItems(filterNullItems(newItems));
1141
1149
  if (onSelectionChange !== null) {
1142
1150
  var _ref5 = newItems || [],
1143
1151
  _ref6 = _slicedToArray(_ref5, 1),
@@ -1147,40 +1155,53 @@ var useItemSelection = function useItemSelection(_ref) {
1147
1155
  onSelectionChange(finalValue, item, index);
1148
1156
  }
1149
1157
  }, [selectedItems, onSelectionChange, multipleSelection]);
1158
+ var onSelectItems = react.useCallback(function (newItems, index) {
1159
+ var finalNewItems = filterNullItems(newItems);
1160
+ setSelectedItems(finalNewItems);
1161
+ if (onSelectionChange !== null) {
1162
+ var _ref7 = finalNewItems || [],
1163
+ _ref8 = _slicedToArray(_ref7, 1),
1164
+ _ref8$ = _ref8[0],
1165
+ firstItem = _ref8$ === void 0 ? null : _ref8$;
1166
+ var finalValue = multipleSelection ? finalNewItems : firstItem;
1167
+ onSelectionChange(finalValue, null, index);
1168
+ }
1169
+ }, [selectedItems, onSelectionChange, multipleSelection]);
1150
1170
  var onSelectPage = react.useCallback(function () {
1151
1171
  var pageSelected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1152
1172
  var nextItems = [];
1153
1173
  if (!pageSelected) {
1154
1174
  nextItems = uniqBy([].concat(_toConsumableArray(items || []), _toConsumableArray(selectedItems || [])), function () {
1155
- var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1156
- _ref7$id = _ref7.id,
1157
- id = _ref7$id === void 0 ? null : _ref7$id;
1175
+ var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1176
+ _ref9$id = _ref9.id,
1177
+ id = _ref9$id === void 0 ? null : _ref9$id;
1158
1178
  return id;
1159
1179
  });
1160
1180
  } else {
1161
1181
  var ids = (items || []).map(function () {
1162
- var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1163
- _ref8$id = _ref8.id,
1164
- id = _ref8$id === void 0 ? null : _ref8$id;
1182
+ var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1183
+ _ref10$id = _ref10.id,
1184
+ id = _ref10$id === void 0 ? null : _ref10$id;
1165
1185
  return id;
1166
1186
  }).filter(function (id) {
1167
1187
  return id !== null;
1168
1188
  });
1169
1189
  nextItems = uniqBy((selectedItems || []).filter(function (it) {
1170
- var _ref9 = it || {},
1171
- _ref9$id = _ref9.id,
1172
- id = _ref9$id === void 0 ? null : _ref9$id;
1190
+ var _ref11 = it || {},
1191
+ _ref11$id = _ref11.id,
1192
+ id = _ref11$id === void 0 ? null : _ref11$id;
1173
1193
  return ids.indexOf(id) === -1;
1174
1194
  }), function () {
1175
- var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1176
- _ref10$id = _ref10.id,
1177
- id = _ref10$id === void 0 ? null : _ref10$id;
1195
+ var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1196
+ _ref12$id = _ref12.id,
1197
+ id = _ref12$id === void 0 ? null : _ref12$id;
1178
1198
  return id;
1179
1199
  });
1180
1200
  }
1181
- setSelectedItems(nextItems);
1201
+ var finalNextItems = filterNullItems(nextItems);
1202
+ setSelectedItems(finalNextItems);
1182
1203
  if (onSelectionChange !== null) {
1183
- onSelectionChange(nextItems);
1204
+ onSelectionChange(finalNextItems);
1184
1205
  }
1185
1206
  }, [items, selectedItems, setSelectedItems, onSelectionChange]);
1186
1207
  var onClearSelected = react.useCallback(function () {
@@ -1190,16 +1211,16 @@ var useItemSelection = function useItemSelection(_ref) {
1190
1211
  }
1191
1212
  }, [setSelectedItems, onSelectionChange, multipleSelection]);
1192
1213
  react.useEffect(function () {
1193
- setSelectedItems(initialSelectedItems);
1214
+ setSelectedItems(getItemsArray(initialSelectedItems));
1194
1215
  }, [initialSelectedItems]);
1195
1216
  var pageSelected = react.useMemo(function () {
1196
1217
  if (items === null || selectedItems === null) {
1197
1218
  return false;
1198
1219
  }
1199
1220
  var ids = (items || []).map(function () {
1200
- var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1201
- _ref11$id = _ref11.id,
1202
- id = _ref11$id === void 0 ? null : _ref11$id;
1221
+ var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1222
+ _ref13$id = _ref13.id,
1223
+ id = _ref13$id === void 0 ? null : _ref13$id;
1203
1224
  return id;
1204
1225
  }).filter(function (id) {
1205
1226
  return id !== null;
@@ -1208,9 +1229,9 @@ var useItemSelection = function useItemSelection(_ref) {
1208
1229
  return false;
1209
1230
  }
1210
1231
  var currentPageItems = (selectedItems || []).filter(function (it) {
1211
- var _ref12 = it || {},
1212
- _ref12$id = _ref12.id,
1213
- id = _ref12$id === void 0 ? null : _ref12$id;
1232
+ var _ref14 = it || {},
1233
+ _ref14$id = _ref14.id,
1234
+ id = _ref14$id === void 0 ? null : _ref14$id;
1214
1235
  return (ids || []).indexOf(id) !== -1;
1215
1236
  }) || [];
1216
1237
  return currentPageItems.length > 0 && currentPageItems.length === (items || []).length;
@@ -1223,6 +1244,7 @@ var useItemSelection = function useItemSelection(_ref) {
1223
1244
  }, [selectedItems]);
1224
1245
  return {
1225
1246
  onSelectItem: onSelectItem,
1247
+ onSelectItems: onSelectItems,
1226
1248
  onSelectPage: onSelectPage,
1227
1249
  onClearSelected: onClearSelected,
1228
1250
  pageSelected: pageSelected,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/core",
3
- "version": "3.0.154",
3
+ "version": "3.0.158",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -111,5 +111,5 @@
111
111
  "publishConfig": {
112
112
  "access": "public"
113
113
  },
114
- "gitHead": "d8b546d77519b1b16c73c88f1ed0edceca089630"
114
+ "gitHead": "594a96c3421a482efe45bcce6cbccba89fcf5b95"
115
115
  }