import { computed } from 'vue' import type { VxeGlobalRendererHandles, VxeFormDesignDefines } from '../../../../types' export function useWidgetView
(props: {
renderOpts: VxeGlobalRendererHandles.RenderFormDesignWidgetViewOptions | VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewOptions
renderParams: VxeGlobalRendererHandles.RenderFormDesignWidgetViewParams | VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewParams
}) {
const currWidget = computed (() => {
const { renderParams } = props
const { widget } = renderParams
return widget ? widget.options : {}
})
const widgetModel = computed({
get () {
const { renderParams } = props
const { $formView, widget } = renderParams
return $formView ? $formView.getItemValue(widget) : null
},
set (value) {
const { renderParams } = props
const { $formView, widget } = renderParams
if ($formView) {
$formView.setItemValue(widget, value)
}
}
})
return {
currWidget,
widgetOptions,
widgetModel,
isEditMode,
isViewMode
}
}