mirror of
https://github.com/vform666/variant-form3-vite.git
synced 2025-03-13 14:14:35 +08:00
204 lines
8.4 KiB
JavaScript
204 lines
8.4 KiB
JavaScript
//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
|
||
}
|
||
|
||
|