@xuda.io/xuda-widget-plugin-xuda-drive
Version:
Xuda Drive widget plugin
346 lines (342 loc) • 6.79 kB
JavaScript
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 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: "" },
},
};