@kwiz/fluentui
Version:
KWIZ common controls for FluentUI
38 lines (37 loc) • 1.4 kB
TypeScript
import { MutableRefObject } from "react";
import { iPleaseWaitProps } from "../controls/please-wait";
export interface iTrackChanges {
hasChanges: boolean;
hasChangesRef: MutableRefObject<boolean>;
setHasChanges: (newValue: boolean) => Promise<boolean>;
onSaveChanges: (worker: () => Promise<{
success: boolean;
message?: string;
}>, props?: {
waitProps?: iPleaseWaitProps;
}) => Promise<void>;
/** if there are changes, prompt the user. otherwise just call handler. */
doIfNoChanges: <ReturnType>(handler: () => ReturnType) => ReturnType;
}
export declare function useTrackChanges({ blockNav }?: {
blockNav?: boolean;
}): {
trackChanges: iTrackChanges;
/** include in your react control */
trackChangesElement: JSX.Element;
};
/** @deprecated renamed to useTrackChanges */
export declare function useEditableControl(): {
editablePageElement: JSX.Element;
hasChanges: boolean;
hasChangesRef: MutableRefObject<boolean>;
setHasChanges: (newValue: boolean) => Promise<boolean>;
onSaveChanges: (worker: () => Promise<{
success: boolean;
message?: string;
}>, props?: {
waitProps?: iPleaseWaitProps;
}) => Promise<void>;
/** if there are changes, prompt the user. otherwise just call handler. */
doIfNoChanges: <ReturnType>(handler: () => ReturnType) => ReturnType;
};