UNPKG

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
/// <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;