kdx
Version:
kintone CLI for development & deployment, with Developer Experience
121 lines (120 loc) • 3.92 kB
TypeScript
export interface RecordFieldBase {
error?: string;
disabled?: boolean;
}
export interface RecordSimpleValueField extends RecordFieldBase {
type: 'SINGLE_LINE_TEXT' | 'NUMBER' | 'CALC' | 'MULTI_LINE_TEXT' | 'RICH_TEXT' | 'RADIO_BUTTON' | 'DROP_DOWN' | 'LINK' | 'DATE' | 'TIME' | 'DATETIME' | 'STATUS' | '__ID__' | '__REVISION__';
value: string;
lookup?: boolean | 'UPDATE';
}
export interface RecordMultiSelectField extends RecordFieldBase {
type: 'CHECK_BOX' | 'MULTI_SELECT' | 'CATEGORY';
value: string[];
lookup?: boolean | 'UPDATE';
}
export interface RecordUserGroupOrgSelectField extends RecordFieldBase {
type: 'USER_SELECT' | 'STATUS_ASSIGNEE' | 'ORGANIZATION_SELECT' | 'GROUP_SELECT';
value: Array<{
code: string;
name: string;
}>;
lookup?: boolean | 'UPDATE';
}
export interface RecordSubTableField extends RecordFieldBase {
type: 'SUBTABLE';
value: {
[subFieldCode: string]: RecordField;
};
}
export interface RecordFileField extends RecordFieldBase {
type: 'FILE';
value: Array<{
contentType: string;
fileKey: string;
name: string;
size: string;
}>;
}
export declare type RecordField = RecordSimpleValueField | RecordMultiSelectField | RecordUserGroupOrgSelectField | RecordSubTableField | RecordFileField;
export declare type RecordFieldForApiUpdate = Pick<RecordField, 'value'> | RecordField;
export declare type IndexShowEventBase = {
appId: number;
viewId: string;
viewName: string;
type: 'app.record.index.show' | 'mobile.app.record.index.show';
};
export declare type IndexShowEvent<T> = IndexShowEventBase & ({
viewType: 'list' | 'custom';
records: T[];
} | {
viewType: 'calendar';
records: {
[dateStr: string]: T[];
};
});
export interface DetailShowEvent<T> {
appId: number;
record: T;
recordId: number;
type: 'app.record.detail.show' | 'mobile.app.record.detail.show';
}
export interface CreateShowEvent<T> {
appId: number;
reuse: boolean;
record: T;
recordId: number;
type: 'app.record.create.show' | 'mobile.app.record.create.show';
error?: string;
}
export interface EditShowEvent<T> {
appId: number;
record: T;
recordId: number;
type: 'app.record.edit.show' | 'mobile.app.record.edit.show' | 'app.record.index.edit.show';
error?: string;
}
export interface ChangeEvent<T> {
appId: number;
record: T;
recordId: number;
changes: {
field: RecordField;
row?: {
[subFieldCode: string]: RecordField;
} | null;
};
type: string;
error?: string;
}
export interface SubmitEvent<T> {
appId: number;
record: T;
recordId: number;
type: 'app.record.create.submit' | 'mobile.app.record.create.submit' | 'app.record.edit.submit' | 'mobile.app.record.edit.submit' | 'app.record.index.edit.submit' | 'app.record.detail.delete.submit' | 'mobile.app.record.detail.delete.submit' | 'app.record.index.delete.submit';
error?: string;
}
export interface SubmitSucceededEvent<T> {
appId: number;
record: T;
recordId: number;
type: 'app.record.create.submit.success' | 'mobile.app.record.create.submit.success' | 'app.record.edit.submit.success' | 'mobile.app.record.edit.submit.success' | 'app.record.index.edit.submit.success';
}
export interface ProcessProceedEvent<T> {
appId: number;
record: T;
type: 'app.record.detail.process.proceed' | 'mobile.app.record.detail.process.proceed';
error?: string;
action: {
value: string;
};
status: {
value: string;
};
nextStatus: {
value: string;
};
}
export interface ReportShowEvent {
appId: number;
type: 'app.report.show' | 'mobile.app.report.show';
}