2022-02-08 11:18:10 +01:00
|
|
|
import { ClientType } from "../enums/clientType";
|
2018-02-19 19:07:19 +01:00
|
|
|
import { DeviceType } from "../enums/deviceType";
|
2018-01-06 21:47:23 +01:00
|
|
|
|
2021-12-07 19:15:56 +01:00
|
|
|
interface ToastOptions {
|
|
|
|
timeout?: number;
|
|
|
|
}
|
|
|
|
|
2018-01-25 20:26:09 +01:00
|
|
|
export abstract class PlatformUtilsService {
|
|
|
|
getDevice: () => DeviceType;
|
|
|
|
getDeviceString: () => string;
|
2022-02-08 11:18:10 +01:00
|
|
|
getClientType: () => ClientType;
|
2018-01-25 20:26:09 +01:00
|
|
|
isFirefox: () => boolean;
|
|
|
|
isChrome: () => boolean;
|
|
|
|
isEdge: () => boolean;
|
|
|
|
isOpera: () => boolean;
|
|
|
|
isVivaldi: () => boolean;
|
|
|
|
isSafari: () => boolean;
|
2018-02-27 05:32:06 +01:00
|
|
|
isMacAppStore: () => boolean;
|
2019-08-20 19:47:15 +02:00
|
|
|
isViewOpen: () => Promise<boolean>;
|
2018-01-25 20:32:10 +01:00
|
|
|
launchUri: (uri: string, options?: any) => void;
|
2018-01-25 20:26:09 +01:00
|
|
|
saveFile: (win: Window, blobData: any, blobOptions: any, fileName: string) => void;
|
2021-04-07 19:42:06 +02:00
|
|
|
getApplicationVersion: () => Promise<string>;
|
2021-03-15 16:16:51 +01:00
|
|
|
supportsWebAuthn: (win: Window) => boolean;
|
2018-05-16 21:30:28 +02:00
|
|
|
supportsDuo: () => boolean;
|
2018-10-03 05:09:19 +02:00
|
|
|
showToast: (
|
|
|
|
type: "error" | "success" | "warning" | "info",
|
|
|
|
title: string,
|
|
|
|
text: string | string[],
|
2021-12-07 19:15:56 +01:00
|
|
|
options?: ToastOptions
|
|
|
|
) => void;
|
2021-03-04 17:15:51 +01:00
|
|
|
showDialog: (
|
|
|
|
body: string,
|
|
|
|
title?: string,
|
|
|
|
confirmText?: string,
|
|
|
|
cancelText?: string,
|
|
|
|
type?: string,
|
|
|
|
bodyIsHtml?: boolean
|
|
|
|
) => Promise<boolean>;
|
2018-02-13 23:23:45 +01:00
|
|
|
isDev: () => boolean;
|
2018-06-30 19:51:09 +02:00
|
|
|
isSelfHost: () => boolean;
|
2021-05-11 22:39:31 +02:00
|
|
|
copyToClipboard: (text: string, options?: any) => void | boolean;
|
2019-02-27 04:35:53 +01:00
|
|
|
readFromClipboard: (options?: any) => Promise<string>;
|
2020-07-23 19:32:20 +02:00
|
|
|
supportsBiometric: () => Promise<boolean>;
|
|
|
|
authenticateBiometric: () => Promise<boolean>;
|
2020-11-18 22:10:57 +01:00
|
|
|
supportsSecureStorage: () => boolean;
|
2018-01-06 21:47:23 +01:00
|
|
|
}
|