react-filerobot-video-editor
Version:
React component version of filerobot video editor (FVE).
1 lines • 1.29 kB
JavaScript
import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{useCallback,useMemo}from"react";import useStore from"./useStore";import useSetAnnotation from"./useSetAnnotation";import useEditableTextId from"./useEditableTextId";var useSelectedAnnotations=function(){var a=useStore(),b=a.annotations,c=a.selectionsIds,d=void 0===c?[]:c,e=useSetAnnotation(),f=useEditableTextId(),g=f||d[0],h=b[f]||b[g],i=useCallback(function(a){e(_objectSpread({id:g},a))},[g]);return useMemo(function(){return{isMultiple:1<(null===d||void 0===d?void 0:d.length),selectedIds:f?[f]:d,firstSelectedAnnotation:h,updateFirstSelectedAnnotation:i}},[h,d,i])};export default useSelectedAnnotations;