You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-07-16 00:14:34 +02:00
Plugins: Updated types
This commit is contained in:
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/codemirror_content_script/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/codemirror_content_script/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/codemirror_content_script/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/codemirror_content_script/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/content_script/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/content_script/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/content_script/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/content_script/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/dialog/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/dialog/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/dialog/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/dialog/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/editor_context_menu/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/editor_context_menu/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/editor_context_menu/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/editor_context_menu/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/events/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/events/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/events/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/events/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/external_assets/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/external_assets/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/external_assets/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/external_assets/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/jpl_test/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/jpl_test/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/jpl_test/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/jpl_test/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/json_export/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/json_export/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/json_export/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/json_export/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/menu/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/menu/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/menu/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/menu/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/multi_selection/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/multi_selection/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/multi_selection/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/multi_selection/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/nativeModule/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/nativeModule/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/nativeModule/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/nativeModule/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/post_messages/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/post_messages/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/post_messages/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/post_messages/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/register_command/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/register_command/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/register_command/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/register_command/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/selected_text/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/selected_text/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/selected_text/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/selected_text/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/settings/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/settings/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/settings/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/settings/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/toc/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/toc/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/toc/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/toc/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/app-cli/tests/support/plugins/withExternalModules/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/app-cli/tests/support/plugins/withExternalModules/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/app-cli/tests/support/plugins/withExternalModules/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/app-cli/tests/support/plugins/withExternalModules/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
@ -8,6 +8,8 @@ import JoplinViews from './JoplinViews';
|
|||||||
import JoplinInterop from './JoplinInterop';
|
import JoplinInterop from './JoplinInterop';
|
||||||
import JoplinSettings from './JoplinSettings';
|
import JoplinSettings from './JoplinSettings';
|
||||||
import JoplinContentScripts from './JoplinContentScripts';
|
import JoplinContentScripts from './JoplinContentScripts';
|
||||||
|
import JoplinClipboard from './JoplinClipboard';
|
||||||
|
import JoplinWindow from './JoplinWindow';
|
||||||
/**
|
/**
|
||||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||||
*
|
*
|
||||||
@ -33,8 +35,12 @@ export default class Joplin {
|
|||||||
private interop_;
|
private interop_;
|
||||||
private settings_;
|
private settings_;
|
||||||
private contentScripts_;
|
private contentScripts_;
|
||||||
|
private clipboard_;
|
||||||
|
private window_;
|
||||||
constructor(implementation: any, plugin: Plugin, store: any);
|
constructor(implementation: any, plugin: Plugin, store: any);
|
||||||
get data(): JoplinData;
|
get data(): JoplinData;
|
||||||
|
get clipboard(): JoplinClipboard;
|
||||||
|
get window(): JoplinWindow;
|
||||||
get plugins(): JoplinPlugins;
|
get plugins(): JoplinPlugins;
|
||||||
get workspace(): JoplinWorkspace;
|
get workspace(): JoplinWorkspace;
|
||||||
get contentScripts(): JoplinContentScripts;
|
get contentScripts(): JoplinContentScripts;
|
||||||
|
23
packages/generator-joplin/generators/app/templates/api/JoplinClipboard.d.ts
vendored
Normal file
23
packages/generator-joplin/generators/app/templates/api/JoplinClipboard.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export default class JoplinClipboard {
|
||||||
|
private electronClipboard_;
|
||||||
|
private electronNativeImage_;
|
||||||
|
constructor(electronClipboard: any, electronNativeImage: any);
|
||||||
|
readText(): Promise<string>;
|
||||||
|
writeText(text: string): Promise<void>;
|
||||||
|
readHtml(): Promise<string>;
|
||||||
|
writeHtml(html: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
readImage(): Promise<string>;
|
||||||
|
/**
|
||||||
|
* Takes an image in [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.
|
||||||
|
*/
|
||||||
|
writeImage(dataUrl: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Returns the list available formats (mime types).
|
||||||
|
*
|
||||||
|
* For example [ 'text/plain', 'text/html' ]
|
||||||
|
*/
|
||||||
|
availableFormats(): Promise<string[]>;
|
||||||
|
}
|
@ -2,7 +2,7 @@ import Plugin from '../Plugin';
|
|||||||
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
import { ButtonSpec, ViewHandle, DialogResult } from './types';
|
||||||
/**
|
/**
|
||||||
* Allows creating and managing dialogs. A dialog is modal window that
|
* Allows creating and managing dialogs. A dialog is modal window that
|
||||||
* contains a webview and a row of buttons. You can update the update the
|
* contains a webview and a row of buttons. You can update the
|
||||||
* webview using the `setHtml` method. Dialogs are hidden by default and
|
* webview using the `setHtml` method. Dialogs are hidden by default and
|
||||||
* you need to call `open()` to open them. Once the user clicks on a
|
* you need to call `open()` to open them. Once the user clicks on a
|
||||||
* button, the `open` call will return an object indicating what button was
|
* button, the `open` call will return an object indicating what button was
|
||||||
@ -59,4 +59,11 @@ export default class JoplinViewsDialogs {
|
|||||||
* Opens the dialog
|
* Opens the dialog
|
||||||
*/
|
*/
|
||||||
open(handle: ViewHandle): Promise<DialogResult>;
|
open(handle: ViewHandle): Promise<DialogResult>;
|
||||||
|
/**
|
||||||
|
* Toggle on whether to fit the dialog size to the content or not.
|
||||||
|
* When set to false, the dialog stretches to fill the application
|
||||||
|
* window.
|
||||||
|
* @default true
|
||||||
|
*/
|
||||||
|
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
24
packages/generator-joplin/generators/app/templates/api/JoplinWindow.d.ts
vendored
Normal file
24
packages/generator-joplin/generators/app/templates/api/JoplinWindow.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Plugin from '../Plugin';
|
||||||
|
export interface Implementation {
|
||||||
|
injectCustomStyles(elementId: string, cssFilePath: string): Promise<void>;
|
||||||
|
}
|
||||||
|
export default class JoplinWindow {
|
||||||
|
private plugin_;
|
||||||
|
private store_;
|
||||||
|
private implementation_;
|
||||||
|
constructor(implementation: Implementation, plugin: Plugin, store: any);
|
||||||
|
/**
|
||||||
|
* Loads a chrome CSS file. It will apply to the window UI elements, except
|
||||||
|
* for the note viewer. It is the same as the "Custom stylesheet for
|
||||||
|
* Joplin-wide app styles" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadChromeCssFile(filePath: string): Promise<void>;
|
||||||
|
/**
|
||||||
|
* Loads a note CSS file. It will apply to the note viewer, as well as any
|
||||||
|
* exported or printed note. It is the same as the "Custom stylesheet for
|
||||||
|
* rendered Markdown" setting. See the [Load CSS Demo](https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/load_css)
|
||||||
|
* for an example.
|
||||||
|
*/
|
||||||
|
loadNoteCssFile(filePath: string): Promise<void>;
|
||||||
|
}
|
@ -334,6 +334,17 @@ export enum SettingItemType {
|
|||||||
Button = 6,
|
Button = 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum AppType {
|
||||||
|
Desktop = 'desktop',
|
||||||
|
Mobile = 'mobile',
|
||||||
|
Cli = 'cli',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SettingStorage {
|
||||||
|
Database = 1,
|
||||||
|
File = 2,
|
||||||
|
}
|
||||||
|
|
||||||
// Redefine a simplified interface to mask internal details
|
// Redefine a simplified interface to mask internal details
|
||||||
// and to remove function calls as they would have to be async.
|
// and to remove function calls as they would have to be async.
|
||||||
export interface SettingItem {
|
export interface SettingItem {
|
||||||
@ -372,7 +383,7 @@ export interface SettingItem {
|
|||||||
/**
|
/**
|
||||||
* Reserved property. Not used at the moment.
|
* Reserved property. Not used at the moment.
|
||||||
*/
|
*/
|
||||||
appTypes?: string[];
|
appTypes?: AppType[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to `true` to store secure data, such as passwords. Any such
|
* Set this to `true` to store secure data, such as passwords. Any such
|
||||||
@ -393,6 +404,11 @@ export interface SettingItem {
|
|||||||
minimum?: number;
|
minimum?: number;
|
||||||
maximum?: number;
|
maximum?: number;
|
||||||
step?: number;
|
step?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Either store the setting in the database or in settings.json. Defaults to database.
|
||||||
|
*/
|
||||||
|
storage?: SettingStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingSection {
|
export interface SettingSection {
|
||||||
@ -419,7 +435,7 @@ export type Path = string[];
|
|||||||
// Content Script types
|
// Content Script types
|
||||||
// =================================================================
|
// =================================================================
|
||||||
|
|
||||||
export type PostMessageHandler = (id: string, message: any)=> Promise<any>;
|
export type PostMessageHandler = (message: any)=> Promise<any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a content script is initialised, it receives a `context` object.
|
* When a content script is initialised, it receives a `context` object.
|
||||||
|
2
packages/generator-joplin/package-lock.json
generated
2
packages/generator-joplin/package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "generator-joplin",
|
"name": "generator-joplin",
|
||||||
"version": "2.0.1",
|
"version": "2.2.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
Reference in New Issue
Block a user