Files
KintoneAppBuilder/plugin/kintone-addins/src/kintone.d.ts

403 lines
9.7 KiB
TypeScript

/**
* Kintone APIタイプ定義
*/
declare namespace kintone {
namespace events {
function on(event: string | string[], handler: (event: any) => any): void;
function off(
event: string | string[],
handler: (event: any) => any
): boolean;
function off(event: string | string[]): boolean;
function off(): boolean;
}
namespace api {
function url(path: string, detectGuestSpace?: boolean): string;
function urlForGet(
path: string,
params: any,
detectGuestSpace?: boolean
): string;
function getConcurrencyLimit(): Promise<{
limit: number;
running: number;
}>;
}
function api(pathOrUrl: string, method: string, params: any): Promise<any>;
function api(
pathOrUrl: string,
method: string,
params: any,
callback: (resp: any) => void,
errback: (err: any) => void
): void;
function getRequestToken(): string;
function proxy(
url: string,
method: string,
headers: any,
data: any
): Promise<any>;
function proxy(
url: string,
method: string,
headers: any,
data: any,
callback: (resp: any) => void,
errback: (err: any) => void
): void;
class Promise<T> {
constructor(
callback: (
resolve: (resolved: T) => any,
reject: (rejected: any) => any
) => void
);
then(callback: (resolved: T) => any): Promise<any>;
catch(callback: (rejected: any) => any): Promise<any>;
static resolve(resolved: any): Promise<any>;
static reject(rejected: any): Promise<any>;
static all(listOfPromise: Array<Promise<any>>): Promise<any>;
}
namespace proxy {
function upload(
url: string,
method: string,
headers: any,
data: any,
callback: (resp: any) => void,
errback: (err: any) => void
): void;
function upload(
url: string,
method: string,
headers: any,
data: any
): Promise<any>;
}
namespace app {
function getFieldElements(fieldCode: string): HTMLElement[] | null;
function getHeaderMenuSpaceElement(): HTMLElement | null;
function getHeaderSpaceElement(): HTMLElement | null;
function getId(): number | null;
function getLookupTargetAppId(fieldCode: string): string | null;
function getQuery(): string | null;
function getQueryCondition(): string | null;
function getRelatedRecordsTargetAppId(fieldCode: string): string | null;
namespace record {
function getId(): number | null;
function get(): any | null;
function getHeaderMenuSpaceElement(): HTMLElement | null;
function getFieldElement(fieldCode: string): HTMLElement | null;
function set(record: any): void;
function getSpaceElement(id: string): HTMLElement | null;
function setFieldShown(fieldCode: string, isShown: boolean): void;
function setGroupFieldOpen(fieldCode: string, isOpen: boolean): void;
}
}
namespace mobile {
namespace app {
function getFieldElements(fieldCode: string): HTMLElement[] | null;
function getHeaderSpaceElement(): HTMLElement | null;
function getId(): number | null;
function getLookupTargetAppId(fieldCode: string): string | null;
function getQuery(): string | null;
function getQueryCondition(): string | null;
function getRelatedRecordsTargetAppId(fieldCode: string): string | null;
namespace record {
function getId(): number | null;
function get(): any | null;
function getFieldElement(fieldCode: string): HTMLElement | null;
function set(record: any): void;
function getSpaceElement(id: string): HTMLElement | null;
function setFieldShown(fieldCode: string, isShown: boolean): void;
function setGroupFieldOpen(fieldCode: string, isOpen: boolean): void;
}
}
namespace portal {
function getContentSpaceElement(): HTMLElement | null;
}
namespace space {
namespace portal {
function getContentSpaceElement(): HTMLElement | null;
}
}
}
namespace plugin {
namespace app {
function getConfig(pluginId: string): any;
function setConfig(config: any, callback?: () => void): void;
function proxy(
pluginId: string,
url: string,
method: string,
headers: any,
data: any
): Promise<any>;
function proxy(
pluginId: string,
url: string,
method: string,
headers: any,
data: any,
callback: (resp: any) => void,
error: (err: any) => void
): void;
function setProxyConfig(
url: string,
method: string,
headers: any,
data: any,
callback?: () => void
): void;
function getProxyConfig(url: string, method: string): any;
namespace proxy {
function upload(
pluginId: any,
url: string,
method: string,
headers: any,
data: any
): Promise<any>;
function upload(
pluginId: any,
url: string,
method: string,
headers: any,
data: any,
callback: (resp: any) => void,
error: (err: any) => void
): void;
}
}
}
namespace portal {
function getContentSpaceElement(): HTMLElement | null;
}
namespace space {
namespace portal {
function getContentSpaceElement(): HTMLElement | null;
}
}
interface LoginUser {
id: string;
code: string;
name: string;
email: string;
url: string;
employeeNumber: string;
phone: string;
mobilePhone: string;
extensionNumber: string;
timezone: string;
isGuest: boolean;
language: string;
}
function getLoginUser(): LoginUser;
function getUiVersion(): 1 | 2;
const $PLUGIN_ID: string;
namespace fieldTypes {
interface SingleLineText {
type?: "SINGLE_LINE_TEXT";
value: string;
disabled?: boolean;
error?: string;
}
interface RichText {
type?: "RICH_TEXT";
value: string;
disabled?: boolean;
error?: string;
}
interface MultiLineText {
type?: "MULTI_LINE_TEXT";
value: string;
disabled?: boolean;
error?: string;
}
interface Number {
type?: "NUMBER";
value: string;
disabled?: boolean;
error?: string;
}
interface Calc {
type: "CALC";
value: string;
disabled?: boolean;
}
interface RadioButton {
type?: "RADIO_BUTTON";
value: string;
disabled?: boolean;
error?: string;
}
interface DropDown {
type?: "DROP_DOWN";
value: string;
disabled?: boolean;
error?: string;
}
interface Date {
type?: "DATE";
value: string;
disabled?: boolean;
error?: string;
}
interface Time {
type?: "TIME";
value: string;
disabled?: boolean;
error?: string;
}
interface DateTime {
type?: "DATETIME";
value: string;
disabled?: boolean;
error?: string;
}
interface Link {
type?: "LINK";
value: string;
disabled?: boolean;
error?: string;
}
interface CheckBox {
type?: "CHECK_BOX";
value: string[];
disabled?: boolean;
error?: string;
}
interface MultiSelect {
type?: "MULTI_SELECT";
value: string[];
disabled?: boolean;
error?: string;
}
interface UserSelect {
type?: "USER_SELECT";
value: Array<{ code: string; name: string }>;
disabled?: boolean;
error?: string;
}
interface OrganizationSelect {
type?: "ORGANIZATION_SELECT";
value: Array<{ code: string; name: string }>;
disabled?: boolean;
error?: string;
}
interface GroupSelect {
type?: "GROUP_SELECT";
value: Array<{ code: string; name: string }>;
disabled?: boolean;
error?: string;
}
interface File {
type: "FILE";
value: Array<{
contentType: string;
fileKey: string;
name: string;
size: string;
}>;
disabled?: boolean;
error?: string;
}
interface Id {
type: "__ID__";
value: string;
}
interface Revision {
type: "__REVISION__";
value: string;
}
/**
* field type of UserField is MODIFIER.
* So error property not exists.
*/
interface Modifier {
type: "MODIFIER";
value: { code: string; name: string };
}
/**
* field type of UserField is CREATOR.
* So error property not exists.
*/
interface Creator {
type: "CREATOR";
value: { code: string; name: string };
}
interface RecordNumber {
type: "RECORD_NUMBER";
value: string;
error?: string;
}
interface UpdatedTime {
type: "UPDATED_TIME";
value: string;
error?: string;
}
interface CreatedTime {
type: "CREATED_TIME";
value: string;
error?: string;
}
}
}