204 lines
8.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//import { vfApp } from '@/utils/create-app'
/**
* 格式说明:属性名称==对应属性编辑器的组件名称
*/
const COMMON_PROPERTIES = {
//字段
'name' : 'name-editor',
'label' : 'label-editor',
'labelAlign' : 'labelAlign-editor',
'type' : 'type-editor',
'defaultValue' : 'defaultValue-editor',
'placeholder' : 'placeholder-editor',
'startPlaceholder' : 'startPlaceholder-editor',
'endPlaceholder' : 'endPlaceholder-editor',
'columnWidth' : 'columnWidth-editor',
'autoFullWidth' : 'autoFullWidth-editor',
'size' : 'size-editor',
'showStops' : 'showStops-editor',
'displayStyle' : 'displayStyle-editor',
'buttonStyle' : 'buttonStyle-editor',
'border' : 'border-editor',
'labelWidth' : 'labelWidth-editor',
'labelHidden' : 'labelHidden-editor',
'rows' : 'rows-editor',
'required' : 'required-editor',
'validation' : 'validation-editor',
'validationHint' : 'validationHint-editor',
'readonly' : 'readonly-editor',
'disabled' : 'disabled-editor',
'hidden' : 'hidden-editor',
'clearable' : 'clearable-editor',
'editable' : 'editable-editor',
'showPassword' : 'showPassword-editor',
'textContent' : 'textContent-editor',
'htmlContent' : 'htmlContent-editor',
'format' : 'format-editor',
'valueFormat' : 'valueFormat-editor',
'filterable' : 'filterable-editor',
'allowCreate' : 'allowCreate-editor',
'remote' : 'remote-editor',
'automaticDropdown' : 'automaticDropdown-editor',
'multiple' : 'multiple-editor',
'multipleLimit' : 'multipleLimit-editor',
'contentPosition' : 'contentPosition-editor',
'optionItems' : 'optionItems-editor',
'uploadURL' : 'uploadURL-editor',
'uploadTip' : 'uploadTip-editor',
'withCredentials' : 'withCredentials-editor',
'multipleSelect' : 'multipleSelect-editor',
'limit' : 'limit-editor',
'fileMaxSize' : 'fileMaxSize-editor',
'fileTypes' : 'fileTypes-editor',
'contentHeight' : 'contentHeight-editor',
'customClass' : 'customClass-editor',
//容器
'showBlankRow' : 'showBlankRow-editor',
'showRowNumber' : 'showRowNumber-editor',
'cellWidth' : 'cellWidth-editor',
'cellHeight' : 'cellHeight-editor',
'colHeight' : 'colHeight-editor',
'gutter' : 'gutter-editor',
'responsive' : 'responsive-editor',
'span' : 'span-editor',
'offset' : 'offset-editor',
'push' : 'push-editor',
'pull' : 'pull-editor',
}
const ADVANCED_PROPERTIES = {
'min' : 'min-editor',
'max' : 'max-editor',
'precision' : 'precision-editor',
'step' : 'step-editor',
'controlsPosition' : 'controlsPosition-editor',
'minLength' : 'minLength-editor',
'maxLength' : 'maxLength-editor',
'showWordLimit' : 'showWordLimit-editor',
'prefixIcon' : 'prefixIcon-editor',
'suffixIcon' : 'suffixIcon-editor',
'switchWidth' : 'switchWidth-editor',
'activeText' : 'activeText-editor',
'inactiveText' : 'inactiveText-editor',
'activeColor' : 'activeColor-editor',
'inactiveColor' : 'inactiveColor-editor',
'lowThreshold' : 'lowThreshold-editor',
'highThreshold' : 'highThreshold-editor',
'allowHalf' : 'allowHalf-editor',
'showText' : 'showText-editor',
'showScore' : 'showScore-editor',
'range' : 'range-editor',
'vertical' : 'vertical-editor',
'plain' : 'plain-editor',
'round' : 'round-editor',
'circle' : 'circle-editor',
'icon' : 'icon-editor',
'labelIconClass' : 'labelIconClass-editor',
'labelIconPosition' : 'labelIconPosition-editor',
'labelTooltip' : 'labelTooltip-editor',
'appendButton' : 'appendButton-editor',
'appendButtonDisabled': 'appendButtonDisabled-editor',
'buttonIcon' : 'buttonIcon-editor',
}
const EVENT_PROPERTIES = {
//字段
'onCreated' : 'onCreated-editor',
'onMounted' : 'onMounted-editor',
'onClick' : 'onClick-editor',
'onInput' : 'onInput-editor',
'onChange' : 'onChange-editor',
'onFocus' : 'onFocus-editor',
'onBlur' : 'onBlur-editor',
'onRemoteQuery' : 'onRemoteQuery-editor',
'onBeforeUpload' : 'onBeforeUpload-editor',
'onUploadSuccess' : 'onUploadSuccess-editor',
'onUploadError' : 'onUploadError-editor',
'onValidate' : 'onValidate-editor',
//容器
'onSubFormRowAdd' : 'onSubFormRowAdd-editor',
'onSubFormRowInsert': 'onSubFormRowInsert-editor',
'onSubFormRowDelete': 'onSubFormRowDelete-editor',
'onSubFormRowChange': 'onSubFormRowChange-editor',
}
/**
* 注册组件常见属性
* 如属性编辑器的组件名称propEditorName设置为null则不显示该属性编辑器
* @param uniquePropName 属性名称(保证名称唯一,不跟其他组件属性冲突)
* @param propEditorName 对应属性编辑器的组件名称
*/
export function registerCommonProperty(uniquePropName, propEditorName) {
COMMON_PROPERTIES[uniquePropName] = propEditorName
}
/**
* 注册组件高级属性
* 如属性编辑器的组件名称propEditorName设置为null则不显示该属性编辑器
* @param uniquePropName 属性名称(保证名称唯一,不跟其他组件属性冲突)
* @param propEditorName 对应属性编辑器的组件名称
*/
export function registerAdvancedProperty(uniquePropName, propEditorName) {
ADVANCED_PROPERTIES[uniquePropName] = propEditorName
}
/**
* 注册组件事件属性
* 如属性编辑器的组件名称propEditorName设置为null则不显示该属性编辑器
* @param uniquePropName 属性名称(保证名称唯一,不跟其他组件属性冲突)
* @param propEditorName 对应属性编辑器的组件名称
*/
export function registerEventProperty(uniquePropName, propEditorName) {
EVENT_PROPERTIES[uniquePropName] = propEditorName
}
/**
* 注册常见属性对应的属性编辑器
* @param app
* @param uniquePropName
* @param propEditorName
* @param editorComponent
*/
export function registerCPEditor(app, uniquePropName, propEditorName, editorComponent) {
app.component(propEditorName, editorComponent)
registerCommonProperty(uniquePropName, propEditorName)
}
/**
* 注册高级属性对应的属性编辑器
* @param app
* @param uniquePropName
* @param propEditorName
* @param editorComponent
*/
export function registerAPEditor(app, uniquePropName, propEditorName, editorComponent) {
app.component(propEditorName, editorComponent)
registerAdvancedProperty(uniquePropName, propEditorName)
}
/**
* 注册事件属性对应的属性编辑器
* @param app
* @param uniquePropName
* @param propEditorName
* @param editorComponent
*/
export function registerEPEditor(app, uniquePropName, propEditorName, editorComponent) {
app.component(propEditorName, editorComponent)
registerEventProperty(uniquePropName, propEditorName)
}
export default {
COMMON_PROPERTIES,
ADVANCED_PROPERTIES,
EVENT_PROPERTIES
}