react-filerobot-video-editor
Version:
React component version of filerobot video editor (FVE).
1 lines • 2.59 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{CLEAR_ANNOTATIONS_SELECTIONS,DUPLICATE_ANNOTATIONS,REMOVE_ANNOTATIONS,REPLACE_ANNOTATIONS,SELECT_ANNOTATION}from"../actions";import useStore from"./useStore";import useSelectedAnnotations from"./useSelectedAnnotations";import useSetAnnotation from"./useSetAnnotation";var useAnnotations=function(){var a=useStore(),b=a.dispatch,c=a.annotationIds,d=void 0===c?[]:c,e=a.annotations,f=void 0===e?{}:e,g=a.designLayer,h=a.config,i=void 0===h?{}:h,j=i.onAnnotationAdd,k=useSetAnnotation(),l=useSelectedAnnotations(),m=useCallback(function(a){var c=!!(1<arguments.length&&arguments[1]!==void 0)&&arguments[1];b({type:SELECT_ANNOTATION,payload:{annotationId:a,multiple:c}})},[]),n=useCallback(function(){b({type:CLEAR_ANNOTATIONS_SELECTIONS})},[]),o=useCallback(function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[],c=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};Array.isArray(a)&&0!==a.length&&b({type:REMOVE_ANNOTATIONS,payload:_objectSpread(_objectSpread({},c),{},{annotationsIds:a})})},[]),p=useCallback(function(a){var c=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};a&&b({type:REPLACE_ANNOTATIONS,payload:_objectSpread(_objectSpread({},c),{},{newAnnotations:a})})},[]),q=useCallback(function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[],c=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};Array.isArray(a)&&0!==a.length&&b({type:DUPLICATE_ANNOTATIONS,payload:_objectSpread(_objectSpread({},c),{},{annotationsIds:a,onAnnotationAdd:j})})},[j]),r=useCallback(function(a){return g.findOne("#".concat(a))},[g]);return useMemo(function(){return{annotationIds:d,annotations:f,selectedAnnotations:l,selectAnnotation:m,deselectAnnotations:n,removeAnnotations:o,replaceAnnotations:p,setAnnotation:k,duplicateAnnotations:q,getAnnotationElementById:r}},[d,f,m,n,o,p,l,k,q,r])};export default useAnnotations;