@sysdoc/sharepoint-utils
Version:
Sysdoc's core Sharepoint utilities
26 lines (25 loc) • 1.16 kB
TypeScript
/*!
* Copyright Sysdoc @ 2019
*/
/// <reference types="sharepoint" />
import { FormFieldModel } from "@sysdoc/forms";
import { Dictionary } from "@sysdoc/utilities";
import { ExecutorFn } from "../util/executor";
import { IPnPField } from "./IPnPField";
import { ISPFieldDecorator } from "./ISPFieldDecorator";
export interface ISPListProvider<Key, T> {
listTitle: string;
webUrl: string;
update(obj: T, exec?: ExecutorFn): Promise<Partial<T>>;
get(key: Key, exec?: ExecutorFn): Promise<Partial<T>>;
getByQuery(query: SP.CamlQuery, exec?: ExecutorFn): Promise<Partial<T>[]>;
save(obj: T, exec?: ExecutorFn): Promise<Partial<T>>;
create(obj: T, exec?: ExecutorFn): Promise<Partial<T>>;
delete(key: Key, exec?: ExecutorFn): Promise<void>;
getSchema(): Promise<Dictionary<IPnPField>>;
setSchema(schema: Dictionary<IPnPField>): void;
getDecorator<Value>(key: string): ISPFieldDecorator<Value, T>;
getObjectFromFields(fields: FormFieldModel<any>[]): T;
getObjectFromFieldsOnline(fields: FormFieldModel<any>[]): T;
getFormValuesFromFields(fields: FormFieldModel<any>[]): any;
}