PluginProbe ʕ •ᴥ•ʔ
Presto Player / trunk
Presto Player vtrunk
4.3.0 4.2.4 4.2.3 4.2.2 4.2.0 4.2.1 trunk 1.10.0 1.10.1 1.10.2 1.11.0 1.12.0 1.13.0 1.14.0 1.14.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.10 1.6.11 1.6.12 1.6.13 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.3-beta1 2.3.0 2.3.1 2.3.2 2.3.3 3.0.0 3.0.0-beta1 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.1.0 3.1.1 3.1.2 3.1.3 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4
presto-player / src / admin / dashboard / hooks / useMediaLibrary.js
presto-player / src / admin / dashboard / hooks Last commit date
test 1 week ago useCompleteOnboarding.js 1 week ago useDateRangePicker.js 1 month ago useEmail.ts 1 month ago useEngagementChartData.js 1 month ago useLicenseSettings.js 1 month ago useLink.js 1 month ago useMediaDetail.js 1 month ago useMediaLibrary.js 1 month ago useMediaList.ts 1 month ago usePerformanceSettings.js 1 month ago useRegisterActivePage.js 1 month ago useSettingOption.js 1 month ago useSimpleSettingsPage.js 1 month ago useTopPerforming.js 1 month ago useTopVideosPaginated.js 1 month ago useUpgradeCTA.js 1 month ago useUserDetail.js 1 month ago
useMediaLibrary.js
65 lines
1 import { __ } from '@wordpress/i18n';
2
3 export const useMediaLibrary = ( updateCallback ) => {
4 const openMediaLibrary = ( fieldName ) => ( e ) => {
5 e.preventDefault();
6
7 const frame = wp.media( {
8 title: __( 'Select Image', 'presto-player' ),
9 button: {
10 text: __( 'Set Image', 'presto-player' ),
11 },
12 multiple: false,
13 library: {
14 type: 'image',
15 },
16 } );
17
18 frame.imageWasSelected = false;
19
20 frame.on( 'select', () => {
21 const attachment = frame
22 .state()
23 .get( 'selection' )
24 .first()
25 .toJSON();
26
27 const fileUrl = attachment.url;
28 frame.imageWasSelected = true;
29 updateCallback( { [ fieldName ]: fileUrl } );
30 } );
31
32 frame.open();
33 };
34
35 const getFilename = ( fileURL, maxLength = 30 ) => {
36 if ( ! fileURL ) {
37 return '';
38 }
39
40 try {
41 const url = new URL( fileURL );
42 const fullName = url.pathname.split( '/' ).pop();
43
44 if ( ! fullName ) {
45 return '';
46 }
47
48 if ( fullName.length <= maxLength ) {
49 return fullName;
50 }
51
52 const extIndex = fullName.lastIndexOf( '.' );
53 const name = fullName.substring( 0, extIndex );
54 const ext = fullName.substring( extIndex );
55
56 const truncated = name.substring( 0, maxLength - ext.length - 3 );
57 return `${ truncated }...${ ext }`;
58 } catch ( e ) {
59 return fileURL;
60 }
61 };
62
63 return { openMediaLibrary, getFilename };
64 };
65