Detail Field
一、Reference List
(一)文本(String)
1、DetailStringFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: ViewType.Detail,
ttype: [ModelFieldType.String, ModelFieldType.Phone, ModelFieldType.Email]
})
)
export class DetailStringFieldWidget extends FormInputAbstractFieldWidget
属性:
- currentValue:当前值,密码类型会进行加密处理。(
string | undefined
) - emptyStyle:空值样式配置。(
string | undefined
)
2、DetailStringColorPickerFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: ViewType.Detail,
ttype: ModelFieldType.String,
widget: 'ColorPicker'
})
)
export class DetailStringColorPickerFieldWidget extends FormFieldWidget
属性:
- justifyContent:内容水平对齐方式配置。(
string | undefined
)
3、DetailStringDownloadFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: ViewType.Detail,
ttype: [ModelFieldType.String, ModelFieldType.Text],
widget: 'Download'
})
)
export class DetailStringDownloadFieldWidget extends FormStringDownloadFieldWidget
4、DetailStringHyperlinksFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: ModelFieldType.String,
widget: 'Hyperlinks'
})
)
export class DetailStringHyperlinksFieldWidget extends FormFieldWidget
属性:
- target:链接打开方式,支持路由跳转或新窗口打开,默认值为
RedirectTargetEnum.BLANK
。(RedirectTargetEnum
) - text:超链接显示文本。(
string | undefined
)
5、DetailStringIframeFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: ModelFieldType.String,
widget: ['Iframe']
})
)
export class DetailStringIframeFieldWidget extends FormStringFieldWidget
6、DetailStringMediaPlayerFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: ModelFieldType.String,
widget: ['MediaPlayer']
})
)
export class DetailStringMediaPlayerFieldWidget extends FormStringFieldWidget
7、DetailStringSignatureFieldWidget
类型声明:
@SPI.ClassFactory(
BaseFieldWidget.Token({
viewType: ViewType.Detail,
ttype: [ModelFieldType.String, ModelFieldType.Text],
widget: 'Signature'
})
)
export class DetailStringSignatureFieldWidget extends FormStringSignatureFieldWidget
属性:
- showClearButton:是否展示清除按钮,默认为
false
。(boolean
) - showSaveButton:是否展示保存按钮,默认为
false
。(boolean
)
8、DetailStringTagFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: [ModelFieldType.String, ModelFieldType.Integer, ModelFieldType.Text],
multi: true
})
)
export class DetailStringTagFieldWidget extends FormFieldWidget<string[], RuntimeStringField | RuntimeNumberField>
属性:
- displayNameList:显示的标签列表,默认为空数组。(
string[] | { label: string }[]
) - optionColor:是否启用彩色标签样式,由
optionColorStyle
决定。(boolean
) - optionColorStyle:标签颜色样式,默认值为
OptionColorStyle.COLORFUL
。(OptionColorStyle
)
9、DetailStringUploadFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: [ModelFieldType.String, ModelFieldType.Text],
widget: ['Upload']
})
)
export class DetailStringUploadFieldWidget extends FormFieldWidget
属性:
- cdnKey:CDN 密钥(处理后的值)。(
string | undefined
) - privateLink:是否为私有链接。(
boolean
)
10、DetailStringUploadImgFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: [ModelFieldType.String, ModelFieldType.Text],
widget: ['UploadImg']
})
)
export class DetailStringUploadImgFieldWidget extends FormFieldWidget
(二)多行文本(Text)
1、DetailCommonFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: ViewType.Detail,
ttype: [ModelFieldType.Text, ModelFieldType.Related]
})
)
export class DetailCommonFieldWidget extends FormFieldWidget
2、DetailStringDownloadFieldWidget
引用:文本(String)- DetailStringDownloadFieldWidget
(三)富文本(Html)
1、DetailHtmlFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: ModelFieldType.HTML
})
)
export class DetailHtmlFieldWidget extends FormFieldWidget
属性:
- encode:是否对 HTML 内容进行编码,默认值为
false
。(boolean
)
(四)手机(Phone)
1、DetailStringFieldWidget
引用:文本(String)- DetailStringFieldWidget
(五)邮箱(Email)
1、DetailStringFieldWidget
引用:文本(String)- DetailStringFieldWidget
(六)整数(Integer)
1、DetailNumberWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: [ModelFieldType.Integer, ModelFieldType.Long, ModelFieldType.Float, ModelFieldType.Currency]
})
)
export class DetailNumberWidget extends FormNumberAbstractFieldWidget
属性:
- currentValue:当前值(处理后),支持零填充和千分位格式化。(
string | undefined
)
(七)浮点数(Float)
1、DetailNumberWidget
引用:整数(Integer)- DetailNumberWidget
(八)金额(Money)
1、DetailNumberWidget
引用:整数(Integer)- DetailNumberWidget
(九)布尔(Boolean)
1、DetailBooleanFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: ModelFieldType.Boolean
})
)
export class DetailBooleanFieldWidget extends FormFieldWidget
2、DetailBooleanSelectFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: [ModelFieldType.Boolean],
widget: ['Select', 'Radio']
})
)
export class DetailBooleanSelectFieldWidget extends FormBooleanSelectFieldWidget
属性:
- displayNameList:根据当前值获取的选项显示名称列表。(
{ label: string; value: any }[] | undefined
) - displayNameListStr:选项显示名称列表的字符串形式,用逗号分隔。(
string | undefined
) - optionColor:是否启用彩色选项样式,由
optionColorStyle
决定。(boolean
) - optionColorStyle:选项颜色样式,默认值为
OptionColorStyle.COLORFUL
。(OptionColorStyle
)
(十)数据字典(Enum)
1、DetailEnumFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: ModelFieldType.Enum
})
)
export class DetailEnumFieldWidget extends FormEnumFieldAbstractWidget<EnumerationValue>
属性:
- displayNameList:根据当前值获取的枚举选项显示名称列表。(
{ label: string; value: any }[] | undefined
) - displayNameListStr:枚举选项显示名称列表的字符串形式,用逗号分隔。(
string | undefined
)
2、DetailEnumMultiFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: ModelFieldType.Enum,
multi: true
})
)
export class DetailEnumMultiFieldWidget extends FormEnumFieldAbstractWidget<EnumerationValue[]>
属性:
- displayNameList:根据当前值获取的枚举选项显示名称列表(多选模式)。(
{ label: string; value: any }[] | undefined
) - displayNameListStr:枚举选项显示名称列表的字符串形式,用逗号分隔。(
string | undefined
)
(十一)时间日期(Datetime)
1、DetailDateTimeFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: ViewType.Detail,
ttype: ModelFieldType.DateTime
})
)
export class DetailDateTimeFieldWidget extends FormFieldWidget
属性:
- dateFormat:日期格式,支持表达式解析,默认使用资源配置。(
string | undefined
) - format:原始格式配置。(
string | undefined
) - hasDateFormat:是否包含日期格式,默认值为
true
。(boolean
) - hasTimeFormat:是否包含时间格式,默认值为
true
。(boolean
) - justifyContent:内容对齐方式。(
string | undefined
) - resourceDateTimeFormat:日期时间格式资源对象。(
IResourceDateTimeFormat
) - timeFormat:时间格式,支持表达式解析,默认使用资源配置。(
string | undefined
) - valueFormat:值格式。(
string | undefined
)
方法:
convertDateFormat
- 功能描述:转换日期格式为标准格式。
- 类型:
(format: string) => string | undefined
- 参数:
format
:待转换的日期格式。
- 返回值:转换后的日期格式或
undefined
。
convertFormat
- 功能描述:转换通用格式为标准格式。
- 类型:
(format: string) => string | undefined
- 参数:
format
:待转换的通用格式。
- 返回值:转换后的格式或
undefined
。
convertTimeFormat
- 功能描述:转换时间格式为标准格式。
- 类型:
(format: string) => string | undefined
- 参数:
format
:待转换的时间格式。
- 返回值:转换后的时间格式或
undefined
。
2、DetailDateTimeRangeFieldWidget
类型声明:
@SPI.ClassFactory(
BaseElementWidget.Token({
viewType: ViewType.Detail,
widget: 'DateTimeRangePicker'
})
)
export class DetailDateTimeRangeFieldWidget extends FormRangeFieldsWidget<StandardString>
属性:
- dateFormat:日期格式,支持表达式解析。(
string | undefined
) - defaultFormat:默认格式。(
string
) - emptyStyle:空值时的样式配置。(
unknown
) - format:原始格式配置。(
string | undefined
) - hasDateFormat:是否包含日期格式,默认值为
true
。(boolean
) - hasTimeFormat:是否包含时间格式,默认值为
true
。(boolean
) - timeFormat:时间格式,支持表达式解析。(
string | undefined
) - valueFormat:值格式,默认为
defaultFormat
。(string
)
方法:
convertDateFormat
- 功能描述:转换日期格式为标准格式。
- 类型:
(format: string) => string | undefined
- 参数:
format
:待转换的日期格式。
- 返回值:转换后的日期格式或
undefined
。
convertFormat
- 功能描述:转换通用格式为标准格式。
- 类型:
(format: string) => string | undefined
- 参数:
format
:待转换的通用格式。
- 返回值:转换后的格式或
undefined
。
convertTimeFormat
- 功能描述:转换时间格式为标准格式。
- 类型:
(format: string) => string | undefined
- 参数:
format
:待转换的时间格式。
- 返回值:转换后的时间格式或
undefined
。
(十二)日期(Date)
1、DetailDateFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: ViewType.Detail,
ttype: ModelFieldType.Date
})
)
export class DetailDateFieldWidget extends DetailDateTimeFieldWidget
属性:
- defaultFormat:默认日期格式。(
string
) - hasTimeFormat:是否包含时间格式,默认值为
false
。(boolean
) - valueFormat:值格式,默认为
defaultDateFormat
。(string
)
方法:
convertFormat
- 功能描述:转换日期格式为标准格式。
- 类型:
(format: string) => string | undefined
- 参数:
format
:待转换的日期格式。
- 返回值:转换后的日期或
undefined
。
2、DetailDateRangeFieldWidget
类型声明:
@SPI.ClassFactory(
BaseElementWidget.Token({
viewType: ViewType.Detail,
widget: 'DateRangePicker'
})
)
export class DetailDateRangeFieldWidget extends DetailDateTimeRangeFieldWidget
属性:
- defaultFormat:默认日期格式。(
string
) - hasTimeFormat:是否包含时间格式,默认值为
false
。(boolean
) - valueFormat:值格式,默认为
defaultDateFormat
。(string
)
方法:
convertFormat
- 功能描述:转换日期格式为标准格式。
- 类型:
(format: string) => string | undefined
- 参数:
format
:待转换的日期格式。
- 返回值:转换后的日期或
undefined
。
(十三)时间(Time)
1、DetailTimeFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: ViewType.Detail,
ttype: ModelFieldType.Time
})
)
export class DetailTimeFieldWidget extends DetailDateTimeFieldWidget
属性:
- defaultFormat:默认时间格式。(
string
) - hasDateFormat:是否包含日期格式,默认值为
false
。(boolean
) - valueFormat:值格式,默认为
defaultTimeFormat
。(string
)
方法:
convertFormat
- 功能描述:转换时间格式为标准格式。
- 类型:
(format: string) => string | undefined
- 参数:
format
:待转换的时间格式。
- 返回值:转换后的时间或
undefined
。
2、DetailTimeRangeFieldWidget
类型声明:
@SPI.ClassFactory(
BaseElementWidget.Token({
viewType: ViewType.Detail,
widget: 'TimeRangePicker'
})
)
export class DetailTimeRangeFieldWidget extends DetailDateTimeRangeFieldWidget
属性:
- defaultFormat:默认时间格式。(
string
) - hasDateFormat:是否包含日期格式,默认值为
false
。(boolean
) - valueFormat:值格式,默认为
defaultTimeFormat
。(string
)
方法:
convertFormat
- 功能描述:转换时间格式为标准格式。
- 类型:
(format: string) => string | undefined
- 参数:
format
:待转换的时间格式。
- 返回值:转换后的时间或
undefined
。
(十四)年份(Year)
1、DetailYearFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: ViewType.Detail,
ttype: ModelFieldType.Year
})
)
export class DetailYearFieldWidget extends DetailDateTimeFieldWidget
属性:
- defaultFormat:默认年份格式。(
string
) - format:格式配置,取自 DSL 或默认格式。(
string | undefined
) - hasDateFormat:是否包含日期格式,默认值为
false
。(boolean
) - hasTimeFormat:是否包含时间格式,默认值为
false
。(boolean
) - valueFormat:值格式,默认为
defaultYearValueFormat
。(string
)
2、DetailYearRangeFieldWidget
类型声明:
@SPI.ClassFactory(
BaseElementWidget.Token({
viewType: ViewType.Detail,
widget: 'YearRangePicker'
})
)
export class DetailYearRangeFieldWidget extends DetailDateTimeRangeFieldWidget
属性:
- defaultFormat:默认年份格式。(
string
) - format:格式配置,取自 DSL 或默认格式。(
string | undefined
) - hasDateFormat:是否包含日期格式,默认值为
false
。(boolean
) - hasTimeFormat:是否包含时间格式,默认值为
false
。(boolean
) - valueFormat:值格式,默认为
defaultYearValueFormat
。(string
)
(十五)键值对(Map)
1、DetailMapFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: ViewType.Detail,
ttype: ModelFieldType.Map
})
)
export class DetailMapFieldWidget extends FormMapFieldWidget
(十六)多对一(M2O)
1、DetailM2OSelectFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: ModelFieldType.ManyToOne
})
)
export class DetailM2OSelectFieldWidget extends DetailRelationSelectFieldWidget
2、DetailM2OUploadWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: ModelFieldType.ManyToOne,
widget: 'Upload'
})
)
export class DetailM2OUploadWidget extends DetailRelationSelectFieldWidget
属性:
- cdnKey:CDN 密钥。(
string | undefined
) - privateLink:是否使用私有链接。(
boolean
)
(十七)一对多(O2M)
1、DetailO2MSelectFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: ModelFieldType.OneToMany,
widget: 'Select'
})
)
export class DetailO2MSelectFieldWidget extends DetailRelationSelectFieldWidget<ActiveRecord[], RuntimeO2MField>
属性:
- currentValue:当前值,对原始值进行标签处理后返回数组。(
any[]
)
2、DetailO2MTableFieldWidget
类型声明:
@SPI.ClassFactory(
BaseFieldWidget.Token({
viewType: ViewType.Detail,
ttype: ModelFieldType.OneToMany
})
)
export class DetailO2MTableFieldWidget extends FormSubviewListFieldWidget<RuntimeO2MField>
方法:
initSubviewData
- 功能描述:初始化子视图数据,根据关联查询条件生成过滤条件并设置数据源。
- 类型:
() => ReturnPromise<void>
refreshValueProcess
- 功能描述:刷新值处理,仅在数据源提供者模式下调用父类方法。
- 类型:
() => Promise<void>
(十八)多对多(M2M)
1、DetailM2MSelectFieldWidget
类型声明:
@SPI.ClassFactory(
FormFieldWidget.Token({
viewType: [ViewType.Detail],
ttype: ModelFieldType.ManyToMany,
widget: 'Select'
})
)
export class DetailM2MSelectFieldWidget extends DetailO2MSelectFieldWidget
2、DetailM2MTableFieldWidget
类型声明:
@SPI.ClassFactory(
BaseFieldWidget.Token({
viewType: ViewType.Detail,
ttype: ModelFieldType.ManyToMany
})
)
export class DetailM2MTableFieldWidget extends FormSubviewListFieldWidget<RuntimeM2MField>
方法:
initSubviewData
- 功能描述:初始化子视图数据,根据多对多关联关系生成查询数据并设置数据源。
- 类型:
() => ReturnPromise<void>
refreshValueProcess
- 功能描述:刷新值处理,仅在数据源提供者模式下调用父类方法。
- 类型:
() => Promise<void>
(十九)抽象基类
1、DetailRelationSelectFieldWidget
继承:BaseSelectFieldWidget
属性:
- currentValue:当前值,通过
handleTableLabel
处理后的展示值。(unknown
) - relationFieldKey:关联字段键,取自参考模型的主键或通过
getRelationFieldKey
生成。(string | string[] | undefined
)
方法:
handleTableLabel
- 功能描述:处理表格标签,根据配置生成展示值。
- 类型:
(dataEntity: unknown) => unknown
- 参数:
dataEntity
:数据实体。
- 返回值:处理后的展示值。