quasar
Version:
Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
373 lines (335 loc) • 10.7 kB
JSON
{
"mixins": [ "composables/private/use-fullscreen" ],
"meta": {
"docsUrl": "https://v2.quasar.dev/vue-components/editor"
},
"props": {
"model-value": {
"extends": "model-value",
"type": "String",
"desc": "Model of the component; Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive",
"examples": [
"v-model=\"content\""
]
},
"readonly": {
"extends": "readonly"
},
"square": {
"extends": "square"
},
"flat": {
"extends": "flat",
"desc": "Applies a 'flat' design (no borders)"
},
"dense": {
"extends": "dense",
"desc": "Dense mode; toolbar buttons are shown on one-line only"
},
"dark": {
"extends": "dark"
},
"disable": {
"extends": "disable"
},
"min-height": {
"type": "String",
"desc": "CSS unit for the minimum height of the editable area",
"default": "10rem",
"examples": [
"15rem", "50vh"
],
"category": "style"
},
"max-height": {
"type": "String",
"desc": "CSS unit for maximum height of the input area",
"examples": [
"1000px", "90vh"
],
"category": "style"
},
"height": {
"type": "String",
"desc": "CSS value to set the height of the editable area",
"examples": [
"100px", "50vh"
],
"category": "style"
},
"definitions": {
"type": "Object",
"desc": "Definition of commands and their buttons to be included in the 'toolbar' prop",
"examples": [
":definitions=\"{ save: { tip: 'Save your work', icon: 'save', label: 'Save', handler: saveWork }, upload: { tip: 'Upload to cloud', icon: 'cloud_upload', label: 'Upload', handler: uploadIt } }\""
],
"definition": {
"...commandName": {
"type": "Object",
"tsType": "QEditorCommand",
"autoDefineTsType": true,
"desc": "Command definition",
"definition": {
"label": {
"type": "String",
"desc": "Label of the button",
"examples": [ "Addresses" ]
},
"tip": {
"type": "String",
"desc": "Text to be displayed as a tooltip on hover",
"examples": [ "Add a contact from the Address Book" ]
},
"htmlTip": {
"type": "String",
"desc": "HTML formatted text to be displayed within a tooltip on hover",
"examples": [ "Add a <span class=\"red\">user</span> from the address book" ]
},
"icon": {
"type": "String",
"desc": "Icon of the button",
"examples": [ "fas fa-address-book" ]
},
"key": {
"type": "Number",
"desc": "Keycode of a key to be used together with the <ctrl> key for use as a shortcut to trigger this element",
"examples": [ "12", "36" ]
},
"handler": {
"type": "Function",
"desc": "Either this or \"cmd\" is required. Function for when button gets clicked/tapped.",
"params": null,
"returns": null,
"examples": [ "() => this.uploadFile()" ]
},
"cmd": {
"type": "String",
"desc": "Either this or \"handler\" is required. This must be a valid execCommand method according to the designMode API.",
"examples": [ "insertHTML", "justifyFull" ]
},
"param": {
"type": "String",
"desc": "Only set a param if using a \"cmd\". This is commonly text or HTML to inject, but is highly dependent upon the specific cmd being called.",
"examples": [ "<img src=\"://uploads/001.jpg\" alt=\"nice pic\" />" ]
},
"disable": {
"type": [ "Boolean", "Function" ],
"desc": "Is button disabled?",
"returns": {
"type": "Boolean",
"desc": "If true, the button will be disabled"
},
"examples": [ "!user.active", "() => !checkIfUserIsActive()" ]
},
"type": {
"type": "String",
"desc": "Pass the value \"no-state\" if the button should not have an \"active\" state",
"values": [ null, "no-state" ],
"examples": [ "no-state" ]
},
"fixedLabel": {
"type": "Boolean",
"desc": "Lock the button label, so it doesn't change based on the child option selected."
},
"fixedIcon": {
"type": "Boolean",
"desc": "Lock the button icon, so it doesn't change based on the child option selected."
},
"highlight": {
"type": "Boolean",
"desc": "Highlight the toolbar button, when a child option has been selected."
}
}
}
},
"category": "toolbar"
},
"fonts": {
"type": "Object",
"desc": "Object with definitions of fonts",
"examples": [
":fonts=\"{ arial: 'Arial', arial_black: 'Arial Black', comic_sans: 'Comic Sans MS' }\""
],
"category": "toolbar"
},
"toolbar": {
"type": "Array",
"desc": "An array of arrays of Objects/Strings that you use to define the construction of the elements and commands available in the toolbar",
"default": [
[ "left", "center", "right", "justify" ],
[ "bold", "italic", "underline", "strike" ],
[ "undo", "redo" ]
],
"examples": [
[ "left", "center", "right", "justify" ]
],
"category": "toolbar"
},
"toolbar-color": {
"extends": "color",
"desc": "Font color (from the Quasar Palette) of buttons and text in the toolbar",
"category": "toolbar"
},
"toolbar-text-color": {
"extends": "text-color",
"desc": "Text color (from the Quasar Palette) of toolbar commands",
"category": "toolbar"
},
"toolbar-toggle-color": {
"type": "String",
"desc": "Choose the active color (from the Quasar Palette) of toolbar commands button",
"default": "primary",
"examples": [ "secondary", "blue-3" ],
"category": "toolbar"
},
"toolbar-bg": {
"type": "String",
"desc": "Toolbar background color (from Quasar Palette)",
"default": "grey-3",
"examples": [ "secondary", "blue-3" ],
"category": "toolbar"
},
"toolbar-outline": {
"type": "Boolean",
"desc": "Toolbar buttons are rendered \"outlined\"",
"category": "toolbar|style"
},
"toolbar-push": {
"type": "Boolean",
"desc": "Toolbar buttons are rendered as a \"push-button\" type",
"category": "toolbar|style"
},
"toolbar-rounded": {
"type": "Boolean",
"desc": "Toolbar buttons are rendered \"rounded\"",
"category": "toolbar|style"
},
"paragraph-tag": {
"type": "String",
"desc": "Paragraph tag to be used",
"values": [ "div", "p" ],
"category": "behavior"
},
"content-style": {
"type": "Object",
"tsType": "VueStyleObjectProp",
"desc": "Object with CSS properties and values for styling the container of QEditor",
"examples": [ ":content-style=\"{ backgroundColor: '#C0C0C0' }\"" ],
"category": "style"
},
"content-class": {
"type": [ "String", "Array", "Object" ],
"tsType": "VueClassProp",
"desc": "CSS classes for the input area",
"examples": [
"my-special-class",
":content-class=\"{ 'my-special-class': <condition> }\""
],
"category": "style"
},
"placeholder": {
"type": "String",
"desc": "Text to display as placeholder",
"examples": [ "Type your story here ..." ],
"category": "content"
}
},
"events": {
"update:model-value": {
"extends": "update:model-value",
"params": {
"value": {
"type": "String",
"desc": "The pure HTML of the content"
}
}
},
"dropdown-show": {
"desc": "Emitted after a dropdown in the toolbar has triggered show()",
"params": {
"evt": {
"extends": "evt"
}
},
"addedIn": "v2.11.8"
},
"dropdown-before-show": {
"desc": "Emitted when a dropdown in the toolbar triggers show() but before it finishes doing it",
"params": {
"evt": {
"extends": "evt"
}
},
"addedIn": "v2.11.8"
},
"dropdown-hide": {
"desc": "Emitted after a dropdown in the toolbar has triggered hide()",
"params": {
"evt": {
"extends": "evt"
}
},
"addedIn": "v2.11.8"
},
"dropdown-before-hide": {
"desc": "Emitted when a dropdown in the toolbar triggers hide() but before it finishes doing it",
"params": {
"evt": {
"extends": "evt"
}
},
"addedIn": "v2.11.8"
},
"link-show": {
"desc": "Emitted when the toolbar for editing a link is shown",
"addedIn": "v2.11.9"
},
"link-hide": {
"desc": "Emitted when the toolbar for editing a link is hidden",
"addedIn": "v2.11.9"
}
},
"methods": {
"runCmd": {
"desc": "Run contentEditable command at caret position and range",
"params": {
"cmd": {
"type": "String",
"desc": "Must be a valid execCommand method according to the designMode API",
"examples": [ "copy", "cut", "paste" ],
"required": true
},
"param": {
"type": "String",
"desc": "The argument to pass to the command",
"examples": [ "<small>Small Text</small>" ]
},
"update": {
"type": "Boolean",
"desc": "Refresh the toolbar",
"default": true
}
}
},
"refreshToolbar": {
"desc": "Hide the link editor if visible and force the instance to re-render"
},
"focus": {
"desc": "Focus on the contentEditable at saved cursor position"
},
"getContentEl": {
"desc": "Retrieve the content of the Editor",
"returns": {
"type": "Element",
"desc": "Provides the pure HTML within the editable area"
}
}
},
"computedProps": {
"caret": {
"type": "Object",
"tsType": "QEditorCaret",
"desc": "The current caret state"
}
}
}