@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
8 lines (7 loc) • 1.81 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/provider/use-network-reconnect.js"],
"sourcesContent": ["import { useEffect } from '@wordpress/element';\nimport { useRegistry } from '@wordpress/data';\nimport { store as uploadStore } from '@wordpress/upload-media';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * A hook that pauses the media upload queue when the browser goes offline\n * and resumes it when connectivity is restored.\n *\n * Only active when client-side media processing is enabled.\n */\nexport default function useNetworkReconnect() {\n\tconst isEnabled = window.__clientSideMediaProcessing;\n\tconst registry = useRegistry();\n\n\tuseEffect( () => {\n\t\tif ( ! isEnabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst handleOffline = () => {\n\t\t\tunlock( registry.dispatch( uploadStore ) ).pauseQueue();\n\t\t};\n\n\t\tconst handleOnline = () => {\n\t\t\tunlock( registry.dispatch( uploadStore ) ).resumeQueue();\n\t\t};\n\n\t\twindow.addEventListener( 'offline', handleOffline );\n\t\twindow.addEventListener( 'online', handleOnline );\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener( 'offline', handleOffline );\n\t\t\twindow.removeEventListener( 'online', handleOnline );\n\t\t};\n\t}, [ isEnabled, registry ] );\n}\n"],
"mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,SAAS,mBAAmB;AACrC,SAAS,cAAc;AAQR,SAAR,sBAAuC;AAC7C,QAAM,YAAY,OAAO;AACzB,QAAM,WAAW,YAAY;AAE7B,YAAW,MAAM;AAChB,QAAK,CAAE,WAAY;AAClB;AAAA,IACD;AAEA,UAAM,gBAAgB,MAAM;AAC3B,aAAQ,SAAS,SAAU,WAAY,CAAE,EAAE,WAAW;AAAA,IACvD;AAEA,UAAM,eAAe,MAAM;AAC1B,aAAQ,SAAS,SAAU,WAAY,CAAE,EAAE,YAAY;AAAA,IACxD;AAEA,WAAO,iBAAkB,WAAW,aAAc;AAClD,WAAO,iBAAkB,UAAU,YAAa;AAEhD,WAAO,MAAM;AACZ,aAAO,oBAAqB,WAAW,aAAc;AACrD,aAAO,oBAAqB,UAAU,YAAa;AAAA,IACpD;AAAA,EACD,GAAG,CAAE,WAAW,QAAS,CAAE;AAC5B;",
"names": []
}