react-web-native-sketch
Version:
[TODO: We need an overview of how this can be used via npm vs as a local package]
136 lines (135 loc) • 4.45 kB
TypeScript
/// <reference types="react" />
import { HTTP_METHOD } from '../..';
export declare enum TypeKeys {
GET_TABLE_DATA = "instacar/table/GET_TABLE_DATA",
GET_TABLE_DATA_SUCCESS = "instacar/table/GET_TABLE_DATA_SUCCESS",
GET_TABLE_DATA_FAIL = "instacar/table/GET_TABLE_DATA_FAIL",
DELETE_TABLE_ENTRY = "instacar/table/DELETE_TABLE_ENTRY",
DELETE_TABLE_ENTRY_SUCCESS = "instacar/table/DELETE_TABLE_ENTRY_SUCCESS",
DELETE_TABLE_ENTRY_FAIL = "instacar/table/DELETE_TABLE_ENTRY_FAIL",
REFRESH_TABLE = "instacar/table/REFRESH_TABLE",
SHOW_ENTRY_DETAILS = "instacar/table/SHOW_ENTRY_DETAILS",
INIT_ENTRY_DETAILS = "instacar/table/INIT_ENTRY_DETAILS",
SHOW_MENU = "instacar/table/SHOW_MENU",
CLEAR_TABLE_DATA = "instacar/table/CLEAR_TABLE_DATA",
CHANGE_GPS_DATA_VIEW_MODE = "instacar/table/CHANGE_GPS_DATA_VIEW_MODE"
}
export interface GetTableDataAction {
type: TypeKeys.GET_TABLE_DATA;
tableId: string;
}
export interface GetTableDataSuccessFailAction {
type: TypeKeys.GET_TABLE_DATA_SUCCESS | TypeKeys.GET_TABLE_DATA_FAIL;
response: any;
tableId: string;
}
export interface DeleteTableEntryAction {
type: TypeKeys.DELETE_TABLE_ENTRY;
tableId: string;
itemId: string | number;
}
export interface DeleteTableEntrySuccessFailAction {
type: TypeKeys.DELETE_TABLE_ENTRY_SUCCESS | TypeKeys.DELETE_TABLE_ENTRY_FAIL;
response: any;
tableId: string;
}
export interface RefreshTableAction {
type: TypeKeys.REFRESH_TABLE;
tableId: string;
}
export interface ShowMenuAction {
type: TypeKeys.SHOW_MENU;
menuRow: any;
menuShown: boolean;
tableId: string;
}
export interface ClearTableDataAction {
type: TypeKeys.CLEAR_TABLE_DATA;
tableId: string;
}
export interface ChangeGpsDataViewMode {
type: TypeKeys.CHANGE_GPS_DATA_VIEW_MODE;
isTableView: boolean;
}
export interface ShowEntryDetails {
type: TypeKeys.SHOW_ENTRY_DETAILS;
details?: Array<TableEntryDetail>;
itemName?: string | number;
}
export interface InitEntryDetails {
type: TypeKeys.INIT_ENTRY_DETAILS;
componentName: string;
}
export declare type ActionTypes = GetTableDataAction | GetTableDataSuccessFailAction | DeleteTableEntryAction | DeleteTableEntrySuccessFailAction | RefreshTableAction | ShowMenuAction | ClearTableDataAction | ChangeGpsDataViewMode | ShowEntryDetails | InitEntryDetails;
export interface TableState {
[tableId: string]: {
loading?: boolean;
refresh?: boolean;
data?: any;
menuShown?: boolean;
menuRow?: any;
deletingEntry?: boolean;
deletedEntrySuccess?: boolean;
isTableView?: boolean;
details?: Array<TableEntryDetail>;
itemName?: string | number;
componentName?: string;
};
}
export interface TableEntryDetail {
title: string;
value: string | number | undefined | null | JSX.Element;
}
export interface TableFilter {
column: string;
value: string;
operator: string;
}
export declare const table: (state: TableState | undefined, action: ActionTypes) => TableState;
export declare function loadTableData(url: string, tableId: string, filters?: Array<TableFilter>): {
types: TypeKeys[];
method: HTTP_METHOD;
url: string;
body: {};
requestPayload: {
tableId: string;
};
successPayload: {
tableId: string;
};
failPayload: {
tableId: string;
};
};
export declare function deleteTableEntry(url: string, itemId: string | number, tableId: string): {
types: TypeKeys[];
method: string;
url: string;
successPayload: {
tableId: string;
};
failPayload: {
tableId: string;
};
};
export declare function showMenu(pageId: string, tableId: string, menuShown: boolean, menuRow: any): {
type: TypeKeys;
pageId: string;
tableId: string;
menuShown: boolean;
menuRow: any;
};
export declare function setRefreshTable(tableId: string): {
type: TypeKeys;
tableId: string;
};
export declare function clearTableData(tableId: string): {
type: TypeKeys;
tableId: string;
};
export declare function changeGpsDataViewMode(isTableView: boolean): {
type: TypeKeys;
isTableView: boolean;
};
export declare function showEntryDetails(details?: Array<TableEntryDetail>, itemName?: string | number): ShowEntryDetails;
export declare function initEntryDetails(componentName: string): InitEntryDetails;