slightning-coco-widget
Version:
SLIGHTNING 的 CoCo 控件框架。
128 lines (127 loc) • 5.89 kB
TypeScript
import { APIMetaFieldPropertyFormatEnums, RollUpFuncType, TSymbolAlign } from "../enums";
import { IFormat } from "./field.property";
export interface IOpenSingleTextFieldProperty {
defaultValue?: string;
}
export interface IOpenNumberFieldProperty {
defaultValue?: string;
precision: number;
symbol?: string;
}
export interface IOpenCheckboxFieldProperty {
icon: string;
}
export interface IOpenRatingFieldProperty {
/** Maximum value 1 - 10. */
max: number;
/** Emoji slug. */
icon: string;
}
export interface IOpenPercentFieldProperty {
/** New record default value. */
defaultValue?: string;
/** Retain decimal places. */
precision: number;
}
export interface IOpenCurrencyFieldProperty {
/** New record default value. */
defaultValue?: string;
/** Unit. */
symbol: string;
/** Retain decimal places. */
precision: number;
/** Unit alignment. */
symbolAlign?: TSymbolAlign;
}
export declare type IMultiSelectedIds = string[];
export interface IWriteOpenSelectBaseFieldProperty {
defaultValue?: string | IMultiSelectedIds;
/** Option Configuration. */
options: {
id?: string;
name: string;
/** color name */
color?: string;
}[];
}
export interface IOpenDateTimeFieldProperty {
dateFormat: string;
timeFormat?: string;
/** Whether to automatically fill in the creation time when adding a record. */
autoFill?: boolean;
includeTime?: boolean;
}
export declare type IAddOpenTextFieldProperty = null;
export declare type IAddOpenURLFieldProperty = null;
export declare type IAddOpenEmailFieldProperty = null;
export declare type IAddOpenPhoneFieldProperty = null;
export declare type IAddOpenSingleTextFieldProperty = IOpenSingleTextFieldProperty;
export declare type IAddOpenNumberFieldProperty = IOpenNumberFieldProperty;
export declare type IAddOpenCheckboxFieldProperty = IOpenCheckboxFieldProperty;
export declare type IAddOpenRatingFieldProperty = IOpenRatingFieldProperty;
export declare type IAddOpenPercentFieldProperty = IOpenPercentFieldProperty;
export declare type IAddOpenCurrencyFieldProperty = IOpenCurrencyFieldProperty;
export declare type IAddOpenSingleSelectFieldProperty = IWriteOpenSelectBaseFieldProperty;
export declare type IAddOpenMultiSelectFieldProperty = IWriteOpenSelectBaseFieldProperty;
export interface IAddOpenMemberFieldProperty {
isMulti?: boolean;
/** Whether to send notifications. */
shouldSendMsg?: boolean;
}
export declare type IAddOpenDateTimeFieldProperty = IOpenDateTimeFieldProperty;
export declare type IAddOpenAttachmentFieldProperty = null;
export interface IAddOpenMagicLinkFieldProperty {
/** Association datasheet ID, switch the association datasheet, the previous brotherField will be converted to a text field */
foreignDatasheetId: string;
/** Specify the view ID to filter the records. */
limitToViewId?: string;
/** Whether to restrict selection to a single record. */
limitSingleRecord?: boolean;
}
export interface IOpenComputedFormat {
type: APIMetaFieldPropertyFormatEnums;
format: IFormat;
}
export interface IAddOpenMagicLookUpFieldProperty {
/** Associated field ID of the referenced current datasheet. */
relatedLinkFieldId: string;
/** Field ID of the query in the correlation datasheet. */
targetFieldId: string;
/** Aggregate functions. */
rollupFunction?: RollUpFuncType;
/** Format, which varies due to differences in the referenced fields (number, percent, date, currency) */
format?: IOpenComputedFormat;
}
export interface IAddOpenFormulaFieldProperty {
/** Formula expressions. */
expression?: string;
/**
* The calculated value may not be obtained properly when the relevant field on which
* the formula depends is deleted or converted to a type.
*/
format?: IOpenComputedFormat;
}
export declare type IAddOpenAutoNumberFieldProperty = null;
export declare type IOpenCreatedTimeFieldProperty = Omit<IOpenDateTimeFieldProperty, 'autoFill'>;
export declare type IAddOpenCreatedTimeFieldProperty = IOpenCreatedTimeFieldProperty;
export declare enum CollectType {
AllFields = 0,
SpecifiedFields = 1
}
export interface IAddOpenLastModifiedTimeFieldProperty {
dateFormat: string;
timeFormat?: string;
includeTime?: boolean;
/** Specify the field type: 0 All editable, 1 Specify the field */
collectType?: CollectType;
/** Whether to specify the field, array type can specify more than one field, not fill for all. */
fieldIdCollection?: string[];
}
export declare type IAddOpenCreatedByFieldProperty = null;
export interface IAddOpenLastModifiedByFieldProperty {
/** Specify the field type: 0 All editable, 1 Specify the field. */
collectType?: CollectType;
/** Whether to specify the field, array type can specify more than one field, not fill for all. */
fieldIdCollection?: string[];
}
export declare type IAddOpenFieldProperty = IAddOpenTextFieldProperty | IAddOpenURLFieldProperty | IAddOpenEmailFieldProperty | IAddOpenPhoneFieldProperty | IAddOpenSingleTextFieldProperty | IAddOpenNumberFieldProperty | IAddOpenCheckboxFieldProperty | IAddOpenRatingFieldProperty | IAddOpenPercentFieldProperty | IAddOpenCurrencyFieldProperty | IAddOpenSingleSelectFieldProperty | IAddOpenMultiSelectFieldProperty | IAddOpenMemberFieldProperty | IAddOpenDateTimeFieldProperty | IAddOpenAttachmentFieldProperty | IAddOpenMagicLinkFieldProperty | IAddOpenMagicLookUpFieldProperty | IAddOpenFormulaFieldProperty | IAddOpenAutoNumberFieldProperty | IAddOpenCreatedTimeFieldProperty | IAddOpenLastModifiedTimeFieldProperty | IAddOpenCreatedByFieldProperty | IAddOpenLastModifiedByFieldProperty;