UNPKG

@xuda.io/xuda-widget-plugin-xuda-drive

Version:

Xuda Drive widget plugin

350 lines (344 loc) 6.85 kB
var common_fields = { file_upload_drop_area_label: { label: 'Drop Area Label', type: 'string', }, file_upload_allow_multiple_files: { label: 'Allow Multiple Files', type: 'boolean', render: 'segment', tooltip: '', defaultValue: () => false, options: [ { label: 'Yes', value: true, }, { label: 'No', value: false, }, ], }, file_upload_mime_type_preset: { label: 'Mime Type', type: 'string', render: 'select', tooltip: '', options: [ { label: 'Select', value: '', }, { label: 'Video', value: 'video', }, { label: 'Audio', value: 'audio', }, { label: 'Image', value: 'image', }, ], }, file_upload_custom_mime_types: { label: 'Custom Mime Types', type: 'string', tooltip: 'Separate with commas', }, public_file: { label: 'Public File', type: 'boolean', render: 'segment', tooltip: '', defaultValue: () => false, options: [ { label: 'Yes', value: true, }, { label: 'No', value: false, }, ], }, drive_folder: { label: 'Drive Folder', type: 'string', }, assign_file_tags: { label: 'File Tags', type: 'array', tooltip: '', render: 'chips', }, auto_tag_generator: { label: 'Auto Tag Generator', type: 'boolean', render: 'segment', tooltip: 'Create tags extract from file name', defaultValue: () => false, options: [ { label: 'Yes', value: true, }, { label: 'No', value: false, }, ], }, auto_tag_identifier: { label: 'Auto Tag Identifier', type: 'string', tooltip: "A character to use to separate the tags from the filename default '-'", }, auto_tag_translation: { label: 'Auto Tag Translation', type: 'object', tooltip: 'Translation is enabled by defining key-value pairs in an object.', render: 'editor', 'render_params.language': 'json', }, custom_tags_parser: { label: 'Custom Tags Parser', type: 'object', tooltip: 'Create a custom function to extract the filename and return an array of tags.', render: 'editor', 'render_params.language': 'javascript', }, event_name_for_successful_callback: { label: 'Successful Callback', type: 'string', render: 'eventId', }, event_name_for_successful_remove_callback: { label: 'Successful Remove Callback', type: 'string', render: 'eventId', }, clear_on_file_upload: { label: 'Clear on File Upload', type: 'boolean', render: 'segment', tooltip: '', defaultValue: () => false, options: [ { label: 'Yes', value: true, }, { label: 'No', value: false, }, ], }, file_upload_folder: { label: 'Upload Folder', type: 'string', }, prompt_file_exist: { label: 'Prompt file exist', type: 'boolean', render: 'segment', tooltip: '', defaultValue: () => true, options: [ { label: 'Yes', value: true, }, { label: 'No', value: false, }, ], }, direction: { label: 'Direction', type: 'string', render: 'segment', tooltip: '', defaultValue: () => 'ltr', options: [ { label: 'RTL', value: 'rtl', }, { label: 'LTR', value: 'ltr', }, ], }, navigation: { label: 'Navigation', type: 'boolean', render: 'segment', tooltip: '', defaultValue: () => true, options: [ { label: 'Show', value: true, }, { label: 'Hide', value: false, }, ], }, swiper_options: { label: 'Swiper options', type: 'object', tooltip: '', render: 'editor', 'render_params.language': 'json', }, instant_file_upload: { label: 'Instant Upload', type: 'string', render: 'segment', tooltip: '', options: [ { label: 'Yes', value: '', }, { label: 'No', value: 'N', }, ], }, }; export const capabilities = { browser: true, headless: false, }; export const methods = { upload: { name: 'Upload', tooltip: '', fields: common_fields, response: { uploaded_files: '' }, }, viewer: { name: 'Viewer', tooltip: '', fields: { default_view_type: { label: 'Default View Type', type: 'string', render: 'select', tooltip: '', defaultValue: () => 'gallery', options: [ { label: 'Gallery', value: 'gallery', }, { label: 'List', value: 'list', }, { label: 'Slider', value: 'slider', }, ], }, drive_folder: { label: 'Drive Folder', type: 'string', }, filter_tags: { label: 'Filter Tags', type: 'array', tooltip: '', render: 'chips', }, sort_by: { label: 'Sort By', type: 'string', render: 'select', tooltip: '', defaultValue: () => 'date', options: [ { label: 'Date', value: 'date', }, { label: 'File Name', value: 'name', }, ], }, sort_dir: { label: 'Sort Direction', type: 'string', render: 'segment', tooltip: '', defaultValue: () => 'desc', options: [ { label: 'Descending', value: 'desc', }, { label: 'Ascending', value: 'asc', }, ], }, show_toolbar: { label: 'Show Toolbar', type: 'bool', render: 'segment', tooltip: '', defaultValue: () => true, options: [ { label: 'Yes', value: true, }, { label: 'No', value: false, }, ], }, toolbar_label: { label: 'Toolbar Label', type: 'string', tooltip: '', }, show_upload_button: { label: 'Show Upload Button', type: 'bool', render: 'segment', tooltip: '', defaultValue: () => true, options: [ { label: 'Yes', value: true, }, { label: 'No', value: false, }, ], }, ...common_fields, }, response: { uploaded_files: '' }, }, };