@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.
- package/es/hooks.js +45 -23
- package/lib/hooks.js +45 -23
- 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 =
|
|
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
|
|
1154
|
-
|
|
1155
|
-
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
|
|
1161
|
-
|
|
1162
|
-
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
|
|
1169
|
-
|
|
1170
|
-
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
|
|
1174
|
-
|
|
1175
|
-
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
|
-
|
|
1199
|
+
var finalNextItems = filterNullItems(nextItems);
|
|
1200
|
+
setSelectedItems(finalNextItems);
|
|
1180
1201
|
if (onSelectionChange !== null) {
|
|
1181
|
-
onSelectionChange(
|
|
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
|
|
1199
|
-
|
|
1200
|
-
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
|
|
1210
|
-
|
|
1211
|
-
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 =
|
|
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
|
|
1156
|
-
|
|
1157
|
-
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
|
|
1163
|
-
|
|
1164
|
-
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
|
|
1171
|
-
|
|
1172
|
-
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
|
|
1176
|
-
|
|
1177
|
-
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
|
-
|
|
1201
|
+
var finalNextItems = filterNullItems(nextItems);
|
|
1202
|
+
setSelectedItems(finalNextItems);
|
|
1182
1203
|
if (onSelectionChange !== null) {
|
|
1183
|
-
onSelectionChange(
|
|
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
|
|
1201
|
-
|
|
1202
|
-
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
|
|
1212
|
-
|
|
1213
|
-
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.
|
|
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": "
|
|
114
|
+
"gitHead": "594a96c3421a482efe45bcce6cbccba89fcf5b95"
|
|
115
115
|
}
|