@mescius/dspdfviewer
Version:
Document Solutions PDF Viewer
82 lines (80 loc) • 2.65 kB
TypeScript
//@ts-ignore
import React, { Component } from 'react';
//@ts-ignore
import { ComboBoxProps } from '@grapecity/core-ui';
import { SharedAccessMode, UserAccess } from './types';
import { GcPdfViewer } from '../GcPdfViewer';
/// <reference path="../vendor/i18next.d.ts" />
//@ts-ignore
import { i18n } from 'i18next';
export type ShareDialogState = {
accessMode: SharedAccessMode;
enabled: boolean;
fileName: string;
showModal: boolean;
userName: string;
usersWithAccess?: UserAccess[] | null;
allUserNames?: string[] | null;
};
export type ShareDialogProps = {
title?: string;
};
/**
* 'Share document' dialog box.
* */
export declare class ShareDialog extends Component<ShareDialogProps, ShareDialogState> {
private _hidePromise?;
private _resolve?;
private _viewer;
state: {
enabled: boolean;
fileName: string;
showModal: boolean;
userName: string;
accessMode: SharedAccessMode;
usersWithAccess: null;
allUserNames: null;
};
private _disallowUnknownUsers?;
private _knownUserNames?;
/**
* Loads sharing settings. This method should be called
* during initialization or after changing the 'sharing' option.
* */
readOptions(): void;
/**
* Shows the 'share document' dialog box.
* @param viewer
*/
show(viewer: GcPdfViewer): Promise<void>;
/**
* Hides the dialog
* */
hide(): void;
//@ts-ignore
//@ts-ignore
render(): React.JSX.Element;
//@ts-ignore
renderAccessModeMenuTrigger(u: UserAccess, enabled: boolean): JSX.Element;
private _resolveHidePromise;
private _loadUserAccessList;
private _loadAllUserNames;
get in17n(): i18n;
/**
* Remove access to the document for the user specified by the userName argument.
* @param userName
*/
unshareDocument(userName: string): Promise<boolean>;
/**
* Share document to user.
* @param userName
* @param accessMode
*/
shareDocument(userName: string, accessMode: SharedAccessMode): Promise<boolean>;
getAccessModeComboBoxProps(userName: string, accessMode: SharedAccessMode): ComboBoxProps;
getUserNamesSuggestions(): string[];
getUsersComboBoxProps(): ComboBoxProps;
}
//@ts-ignore
export declare function getAccessModeSvgIcon(accessMode: SharedAccessMode): JSX.Element;
export declare function getAccessModeDisplayText(accessMode: SharedAccessMode, in17n: i18n): string;
export declare function getAccessModeDescription(accessMode: SharedAccessMode, in17n: i18n): string;