@searpent/react-image-annotate 2.0.45 → 2.0.47
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/Annotator/index.js
CHANGED
|
@@ -76,6 +76,7 @@ export var Annotator = function Annotator(_ref) {
|
|
|
76
76
|
groupColors = _ref.groupColors,
|
|
77
77
|
onRecalc = _ref.onRecalc,
|
|
78
78
|
onSave = _ref.onSave,
|
|
79
|
+
onSelectedImageChange = _ref.onSelectedImageChange,
|
|
79
80
|
albumMetadata = _ref.albumMetadata,
|
|
80
81
|
metadataConfigs = _ref.metadataConfigs,
|
|
81
82
|
_ref$lockedImages = _ref.lockedImages,
|
|
@@ -197,13 +198,51 @@ export var Annotator = function Annotator(_ref) {
|
|
|
197
198
|
};
|
|
198
199
|
}();
|
|
199
200
|
|
|
200
|
-
var handleRecalcClick =
|
|
201
|
-
|
|
201
|
+
var handleRecalcClick =
|
|
202
|
+
/*#__PURE__*/
|
|
203
|
+
function () {
|
|
204
|
+
var _ref3 = _asyncToGenerator(
|
|
205
|
+
/*#__PURE__*/
|
|
206
|
+
_regeneratorRuntime.mark(function _callee2(e) {
|
|
207
|
+
var createdAt;
|
|
208
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
209
|
+
while (1) {
|
|
210
|
+
switch (_context2.prev = _context2.next) {
|
|
211
|
+
case 0:
|
|
212
|
+
createdAt = new Date();
|
|
213
|
+
e.preventDefault();
|
|
202
214
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
215
|
+
if (!onRecalc) {
|
|
216
|
+
_context2.next = 6;
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
_context2.next = 5;
|
|
221
|
+
return onRecalc({
|
|
222
|
+
images: state.images,
|
|
223
|
+
albumMetadata: state.albumMetadata,
|
|
224
|
+
createdAt: createdAt,
|
|
225
|
+
selectedImage: state === null || state === void 0 ? void 0 : state.selectedImage
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
case 5:
|
|
229
|
+
dispatchToReducer({
|
|
230
|
+
type: "IMAGES_RECALCULATED",
|
|
231
|
+
recalculatedAt: createdAt
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
case 6:
|
|
235
|
+
case "end":
|
|
236
|
+
return _context2.stop();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}, _callee2);
|
|
240
|
+
}));
|
|
241
|
+
|
|
242
|
+
return function handleRecalcClick(_x2) {
|
|
243
|
+
return _ref3.apply(this, arguments);
|
|
244
|
+
};
|
|
245
|
+
}();
|
|
207
246
|
|
|
208
247
|
var handleMetadataChange = function handleMetadataChange(params) {
|
|
209
248
|
dispatchToReducer(_objectSpread({
|
|
@@ -216,8 +255,24 @@ export var Annotator = function Annotator(_ref) {
|
|
|
216
255
|
type: "ADD_GROUP",
|
|
217
256
|
group: group
|
|
218
257
|
});
|
|
219
|
-
}; // trigger
|
|
258
|
+
}; // trigger onSelectedImageChange() hook when image changed
|
|
259
|
+
|
|
220
260
|
|
|
261
|
+
useEffect(function () {
|
|
262
|
+
var _state$lastAction;
|
|
263
|
+
|
|
264
|
+
var createdAt = new Date();
|
|
265
|
+
|
|
266
|
+
if (typeof onSelectedImageChange === 'function' && ((_state$lastAction = state.lastAction) === null || _state$lastAction === void 0 ? void 0 : _state$lastAction.type) === 'SELECT_IMAGE' && (state === null || state === void 0 ? void 0 : state.selectedImage) !== state.previouslySelectedImage) {
|
|
267
|
+
onSelectedImageChange({
|
|
268
|
+
selectedImage: state === null || state === void 0 ? void 0 : state.selectedImage,
|
|
269
|
+
previouslySelectedImage: state.previouslySelectedImage,
|
|
270
|
+
images: state.images,
|
|
271
|
+
albumMetadata: state.albumMetadata,
|
|
272
|
+
createdAt: createdAt
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
}, [state.previouslySelectedImage, state.selectedImage, onSelectedImageChange, state.images, state.albumMetadata, state]); // trigger this on every BBox manipulation (there is currently no way to detect adding of new box!)
|
|
221
276
|
|
|
222
277
|
useEffect(function () {
|
|
223
278
|
if (!state.lastAction || !["BEGIN_BOX_TRANSFORM", "CHANGE_REGION", "DELETE_REGION", "DELETE_SELECTED_REGION", "UPDATE_METADATA", "SELECT_CLASSIFICATION"].includes(state.lastAction.type)) {
|
|
@@ -243,10 +298,10 @@ export var Annotator = function Annotator(_ref) {
|
|
|
243
298
|
}, [onImagesChange, selectedImage]);
|
|
244
299
|
if (!images && !videoSrc) return 'Missing required prop "images" or "videoSrc"';
|
|
245
300
|
|
|
246
|
-
var
|
|
247
|
-
|
|
248
|
-
recalcActive =
|
|
249
|
-
saveActive =
|
|
301
|
+
var _ref4 = state.imagesSavedAt < state.imagesUpdatedAt ? [true, true] : [false, false],
|
|
302
|
+
_ref5 = _slicedToArray(_ref4, 2),
|
|
303
|
+
recalcActive = _ref5[0],
|
|
304
|
+
saveActive = _ref5[1];
|
|
250
305
|
|
|
251
306
|
return React.createElement(SettingsProvider, {
|
|
252
307
|
clsColors: clsColors,
|
|
@@ -114,6 +114,7 @@ export default (function (state, action) {
|
|
|
114
114
|
src = _ref.src,
|
|
115
115
|
frameTime = _ref.frameTime;
|
|
116
116
|
|
|
117
|
+
state = setIn(state, ["previouslySelectedImage"], state.selectedImage);
|
|
117
118
|
return setIn(setIn(state, ["selectedImage"], index), ["selectedImageFrameTime"], frameTime);
|
|
118
119
|
};
|
|
119
120
|
|
|
@@ -1155,6 +1156,12 @@ export default (function (state, action) {
|
|
|
1155
1156
|
return setIn(state, ["imagesSavedAt"], savedAt);
|
|
1156
1157
|
}
|
|
1157
1158
|
|
|
1159
|
+
case "IMAGES_RECALCULATED":
|
|
1160
|
+
{
|
|
1161
|
+
var recalculatedAt = action.recalculatedAt;
|
|
1162
|
+
return setIn(state, ["imagesSavedAt"], recalculatedAt);
|
|
1163
|
+
}
|
|
1164
|
+
|
|
1158
1165
|
case "UPDATE_METADATA":
|
|
1159
1166
|
{
|
|
1160
1167
|
var name = action.name,
|