@inpageedit/core 0.12.1 → 0.13.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BasePlugin-Bf2UuIHF.js +64 -0
- package/dist/BasePlugin-Bf2UuIHF.js.map +1 -0
- package/dist/{PluginPrefSync-Ziogy_o-.js → PluginPrefSync-Dn1Xsiqz.js} +6 -4
- package/dist/PluginPrefSync-Dn1Xsiqz.js.map +1 -0
- package/dist/{PluginStoreApp-Bnvyl-Oc.js → PluginStoreApp-CpOLArL7.js} +2 -2
- package/dist/{PluginStoreApp-Bnvyl-Oc.js.map → PluginStoreApp-CpOLArL7.js.map} +1 -1
- package/dist/WatchlistAction-BbNAyryN.js +5 -0
- package/dist/WatchlistAction-BbNAyryN.js.map +1 -0
- package/dist/endpoints-DgyuoRZd.js +1507 -0
- package/dist/endpoints-DgyuoRZd.js.map +1 -0
- package/dist/{index-BvuaLEFc.js → index-2RfILgXm.js} +11 -10
- package/dist/{index-BvuaLEFc.js.map → index-2RfILgXm.js.map} +1 -1
- package/dist/{index-eARjMi7f.js → index-BCdABp0e.js} +23 -22
- package/dist/{index-eARjMi7f.js.map → index-BCdABp0e.js.map} +1 -1
- package/dist/{index-zHTGCjfF.js → index-BJ7_Q1mB.js} +8 -7
- package/dist/{index-zHTGCjfF.js.map → index-BJ7_Q1mB.js.map} +1 -1
- package/dist/{index-Dnmv-xDn.js → index-BNh95-x2.js} +37 -49
- package/dist/index-BNh95-x2.js.map +1 -0
- package/dist/{index-B3FUDhxl.js → index-BQ-cHWkJ.js} +15 -16
- package/dist/{index-B3FUDhxl.js.map → index-BQ-cHWkJ.js.map} +1 -1
- package/dist/{index-B3YJdjxo.js → index-BwdWyHLe.js} +77 -76
- package/dist/{index-B3YJdjxo.js.map → index-BwdWyHLe.js.map} +1 -1
- package/dist/{index-Ccr3YhkP.js → index-CCRMmnwk.js} +10 -9
- package/dist/{index-Ccr3YhkP.js.map → index-CCRMmnwk.js.map} +1 -1
- package/dist/{index-Bd70aDMT.js → index-CnIpUF9x.js} +7 -6
- package/dist/{index-Bd70aDMT.js.map → index-CnIpUF9x.js.map} +1 -1
- package/dist/{index-D5zX93bn.js → index-CyG7_IYz.js} +47 -45
- package/dist/{index-D5zX93bn.js.map → index-CyG7_IYz.js.map} +1 -1
- package/dist/index-DdTiZqwt.js +3744 -0
- package/dist/index-DdTiZqwt.js.map +1 -0
- package/dist/{index-BRjEc8b8.js → index-eSlbrNqF.js} +6 -6
- package/dist/{index-BRjEc8b8.js.map → index-eSlbrNqF.js.map} +1 -1
- package/dist/index.d.ts +1723 -31
- package/dist/index.js +73 -9
- package/dist/index.js.map +1 -1
- package/dist/models/index.js +486 -0
- package/dist/models/index.js.map +1 -0
- package/dist/plugins/index.js +23 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/services/index.js +16 -0
- package/dist/services/index.js.map +1 -0
- package/dist/style.css +1 -1
- package/lib/index.umd.js +10 -10
- package/lib/index.umd.js.map +1 -1
- package/package.json +22 -25
- package/dist/InPageEdit.d.ts +0 -42
- package/dist/PluginPrefSync-Ziogy_o-.js.map +0 -1
- package/dist/__test__/utils/constants.d.ts +0 -3
- package/dist/components/ActionButton.d.ts +0 -6
- package/dist/components/CheckBox.d.ts +0 -10
- package/dist/components/Icon/IconEdit.d.ts +0 -2
- package/dist/components/Icon/IconQuickEdit.d.ts +0 -2
- package/dist/components/InputBox.d.ts +0 -11
- package/dist/components/MBox/index.d.ts +0 -14
- package/dist/components/MwUserLinks.d.ts +0 -6
- package/dist/components/ProgressBar/index.d.ts +0 -7
- package/dist/components/RadioBox.d.ts +0 -10
- package/dist/components/TabView/index.d.ts +0 -19
- package/dist/components/TwinSwapInput/index.d.ts +0 -19
- package/dist/components/index.d.ts +0 -8
- package/dist/components/utils.d.ts +0 -4
- package/dist/constants/endpoints.d.ts +0 -8
- package/dist/decorators/Preferences.d.ts +0 -35
- package/dist/index-DgQNTfPR.js +0 -5829
- package/dist/index-DgQNTfPR.js.map +0 -1
- package/dist/index-Dnmv-xDn.js.map +0 -1
- package/dist/models/MemoryStorage.d.ts +0 -10
- package/dist/models/WikiPage/index.d.ts +0 -76
- package/dist/models/WikiPage/types/PageInfo.d.ts +0 -58
- package/dist/models/WikiPage/types/PageParseData.d.ts +0 -17
- package/dist/models/WikiPage/types/WatchlistAction.d.ts +0 -6
- package/dist/models/WikiTitle/index.d.ts +0 -89
- package/dist/models/WikiTitle/index.spec.d.ts +0 -1
- package/dist/plugins/BasePlugin.d.ts +0 -25
- package/dist/plugins/_debug/index.d.ts +0 -8
- package/dist/plugins/analytics/index.d.ts +0 -41
- package/dist/plugins/in-article-links/index.d.ts +0 -44
- package/dist/plugins/plugin-store/index.d.ts +0 -56
- package/dist/plugins/plugin-store/schema.d.ts +0 -41
- package/dist/plugins/preferences-ui/PluginPrefSync.d.ts +0 -28
- package/dist/plugins/preferences-ui/index.d.ts +0 -48
- package/dist/plugins/quick-diff/components/DiffTable.d.ts +0 -23
- package/dist/plugins/quick-diff/index.d.ts +0 -85
- package/dist/plugins/quick-edit/index.d.ts +0 -79
- package/dist/plugins/quick-move/index.d.ts +0 -47
- package/dist/plugins/quick-preview/index.d.ts +0 -37
- package/dist/plugins/quick-redirect/index.d.ts +0 -48
- package/dist/plugins/toolbox/index.d.ts +0 -65
- package/dist/polyfills/Promise.withResolvers.d.ts +0 -5
- package/dist/polyfills/index.d.ts +0 -0
- package/dist/services/ApiService.d.ts +0 -14
- package/dist/services/CurrentPageService.d.ts +0 -28
- package/dist/services/ModalService.d.ts +0 -27
- package/dist/services/PreferencesService.d.ts +0 -94
- package/dist/services/ResourceLoaderService.d.ts +0 -17
- package/dist/services/WikiMetadataService.d.ts +0 -108
- package/dist/services/WikiPageService.d.ts +0 -20
- package/dist/services/WikiTitleService.d.ts +0 -70
- package/dist/services/storage/index.d.ts +0 -40
- package/dist/services/storage/managers/IDBStorageManager.d.ts +0 -28
- package/dist/services/storage/managers/LocalStorageManager.d.ts +0 -27
- package/dist/types/WikiMetadata.d.ts +0 -131
- package/dist/utils/computeable.d.ts +0 -2
- package/dist/utils/defineAsyncPlugin.d.ts +0 -2
- package/dist/utils/interpolate.d.ts +0 -20
- package/dist/utils/interpolate.spec.d.ts +0 -1
- package/dist/utils/makeCallable.d.ts +0 -3
- package/dist/utils/noop.d.ts +0 -1
- package/dist/utils/sleep.d.ts +0 -1
- package/dist/utils/string.d.ts +0 -7
- package/dist/utils/url.d.ts +0 -24
- package/dist/utils/vueHooks.d.ts +0 -6
- package/dist/utils/vueReactivity.d.ts +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-Dnmv-xDn.js","sources":["../src/plugins/quick-preview/index.tsx"],"sourcesContent":["import { Inject, InPageEdit, Schema } from '@/InPageEdit'\nimport { type QuickEditEventPayload } from '@/plugins/quick-edit'\nimport { IWikiPage } from '@/models/WikiPage'\nimport { MwApiParams } from 'wiki-saikou'\nimport { PageParseData } from '@/models/WikiPage/types/PageParseData'\nimport { IPEModal, IPEModalOptions } from '@inpageedit/modal'\nimport { QuickDeleteInitPayload } from '../quick-delete/index.js'\n\ninterface QuickPreviewEventPayload {\n ctx: InPageEdit\n modal: IPEModal\n wikiPage: IWikiPage\n text: string\n parseData: PageParseData\n}\n\ndeclare module '@/InPageEdit' {\n interface InPageEdit {\n quickPreview: PluginQuickPreview & {\n // for backward compatibility\n (\n ...args: Parameters<PluginQuickPreview['previewWikitext']>\n ): ReturnType<PluginQuickPreview['previewWikitext']>\n }\n }\n interface Events {\n 'quick-preview/show-modal'(payload: Omit<QuickPreviewEventPayload, 'parseData'>): void\n 'quick-preview/loaded'(payload: QuickPreviewEventPayload): void\n }\n interface PreferencesMap {\n 'quickPreview.keyshortcut.quickEdit': string\n 'quickPreview.keyshortcut.quickDelete': string\n }\n}\n\n@Inject(['api', 'wikiPage', 'modal', 'preferences'])\n@RegisterPreferences(\n Schema.object({\n 'quickPreview.keyshortcut': Schema.string()\n .default('ctrl-p')\n .description('Key shortcut to open quick preview in quick edit modal'),\n })\n .extra('category', 'editor')\n .description('Quick preview options')\n)\nexport class PluginQuickPreview extends BasePlugin {\n constructor(public ctx: InPageEdit) {\n super(ctx, {}, 'quickPreview')\n this.ctx.set('quickPreview', makeCallable(this, 'previewWikitext'))\n }\n\n protected start(): Promise<void> | void {\n this.ctx.on('quick-edit/wiki-page', this.injectQuickEdit.bind(this))\n this.ctx.on('quick-delete/wiki-page', this.injectQuickDelete.bind(this))\n }\n\n protected stop(): Promise<void> | void {}\n\n previewWikitext(\n text: string,\n params?: MwApiParams,\n wikiPage?: IWikiPage,\n modal?: IPEModal,\n modalOptions?: Partial<IPEModalOptions>\n ) {\n wikiPage ||= this.ctx.wikiPage.newBlankPage({\n title: 'API',\n })\n\n if (!modal || modal.isDestroyed) {\n modal = this.ctx.modal\n .createObject({\n className: 'in-page-edit ipe-quickPreview',\n sizeClass: 'large',\n center: false,\n ...modalOptions,\n })\n .init()\n }\n\n modal.show()\n modal.setTitle('Preview - Loading...')\n modal.setContent(<ProgressBar />)\n modal.bringToFront()\n this.ctx.emit('quick-preview/show-modal', {\n ctx: this.ctx,\n text,\n modal,\n wikiPage,\n })\n\n wikiPage\n .preview(text, params)\n .then((ret) => {\n const {\n data: { parse },\n } = ret\n modal.setTitle(`Preview - ${parse.title}`)\n let outputRef: HTMLElement | null = null\n modal.setContent(\n (\n <section>\n <div\n ref={(el) => (outputRef = el)}\n className=\"mw-parser-output\"\n innerHTML={parse.text}\n ></div>\n </section>\n ) as HTMLElement\n )\n window.mw?.hook('wikipage.content').fire($(outputRef!))\n this.ctx.emit('quick-preview/loaded', {\n ctx: this.ctx,\n modal,\n wikiPage,\n text,\n parseData: parse,\n })\n })\n .catch((error) => {\n modal.setTitle('Preview - Failed')\n modal.setContent(\n <>\n <p>Failed to preview</p>\n <p>{error instanceof Error ? error.message : String(error)}</p>\n </>\n )\n })\n\n return modal\n }\n\n private async injectQuickEdit({ options, modal, wikiPage }: QuickEditEventPayload) {\n let latestPreviewModal: IPEModal | undefined = undefined\n modal.addButton(\n {\n label: 'Preview',\n side: 'left',\n className: 'btn btn-secondary',\n keyPress:\n (await this.ctx.preferences.get('quickPreview.keyshortcut.quickEdit')) || undefined,\n method: () => {\n let wikitext =\n (modal.get$content().querySelector<HTMLTextAreaElement>('textarea[name=\"text\"]')\n ?.value as string) || ''\n if (options.section === 'new') {\n const title = modal\n .get$content()\n .querySelector<HTMLInputElement>('input[name=\"summary\"]')?.value\n if (title) {\n wikitext = `==${title}==\\n${wikitext}`\n }\n }\n\n latestPreviewModal = this.previewWikitext(\n wikitext,\n undefined,\n wikiPage,\n latestPreviewModal,\n {\n backdrop: false,\n draggable: true,\n }\n )\n },\n },\n 1\n )\n modal.on(modal.Event.Close, () => {\n latestPreviewModal?.destroy()\n latestPreviewModal = undefined\n })\n }\n\n private injectQuickDelete({ ctx, modal, wikiPage }: QuickDeleteInitPayload) {\n modal.addButton(\n {\n label: 'Preview',\n side: 'left',\n className: 'btn btn-secondary',\n method: () => {\n this.logger.warn('To be implemented: preview wikitext for quick delete')\n },\n },\n 2\n )\n }\n}\n"],"names":["_PluginQuickPreview_decorators","_init","_a","Inject","RegisterPreferences","Schema","PluginQuickPreview","BasePlugin","ctx","makeCallable","text","params","wikiPage","modal","modalOptions","jsx","ProgressBar","ret","parse","outputRef","el","error","jsxs","Fragment","options","latestPreviewModal","wikitext","title","__decoratorStart","__decorateElement","__runInitializers"],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export declare class MemoryStorage implements Storage {
|
|
2
|
-
private values;
|
|
3
|
-
get length(): number;
|
|
4
|
-
clear(): void;
|
|
5
|
-
getItem(key: string): string | null;
|
|
6
|
-
setItem(key: string, value: string): void;
|
|
7
|
-
removeItem(key: string): void;
|
|
8
|
-
key(index: number): string | null;
|
|
9
|
-
}
|
|
10
|
-
export declare const useMemoryStorage: () => MemoryStorage;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { PageInfo } from './types/PageInfo';
|
|
2
|
-
import { PageParseData } from './types/PageParseData';
|
|
3
|
-
import { WatchlistAction } from './types/WatchlistAction';
|
|
4
|
-
import { MediaWikiApi, MwApiParams, MwApiResponse, FexiosFinalContext } from 'wiki-saikou/browser';
|
|
5
|
-
export interface WikiPageEditPayload {
|
|
6
|
-
text?: string;
|
|
7
|
-
prependtext?: string;
|
|
8
|
-
appendtext?: string;
|
|
9
|
-
summary?: string;
|
|
10
|
-
watchlist?: WatchlistAction;
|
|
11
|
-
section?: number | 'new' | undefined;
|
|
12
|
-
}
|
|
13
|
-
export interface IWikiPage {
|
|
14
|
-
pageInfo: PageInfo;
|
|
15
|
-
parse(params?: MwApiParams): Promise<FexiosFinalContext<MwApiResponse<{
|
|
16
|
-
parse: PageParseData;
|
|
17
|
-
}>>>;
|
|
18
|
-
preview(text: string, params?: MwApiParams): Promise<FexiosFinalContext<MwApiResponse<{
|
|
19
|
-
parse: PageParseData;
|
|
20
|
-
}>>>;
|
|
21
|
-
edit(payload: WikiPageEditPayload, params?: MwApiParams): Promise<FexiosFinalContext<MwApiResponse<{
|
|
22
|
-
success: boolean;
|
|
23
|
-
}>>>;
|
|
24
|
-
createOnly(payload: {
|
|
25
|
-
text: string;
|
|
26
|
-
} & Pick<WikiPageEditPayload, 'summary' | 'watchlist'>, params?: MwApiParams): Promise<FexiosFinalContext<MwApiResponse<{
|
|
27
|
-
success: boolean;
|
|
28
|
-
}>>>;
|
|
29
|
-
delete(reason?: string, params?: MwApiParams): Promise<FexiosFinalContext<MwApiResponse<{
|
|
30
|
-
delete: {
|
|
31
|
-
title: string;
|
|
32
|
-
reason: string;
|
|
33
|
-
logid: boolean;
|
|
34
|
-
};
|
|
35
|
-
}>>>;
|
|
36
|
-
moveTo(title: string, reason?: string, params?: Partial<MwApiParams & {
|
|
37
|
-
movetalk: boolean;
|
|
38
|
-
movesubpages: boolean;
|
|
39
|
-
}>): Promise<FexiosFinalContext<MwApiResponse<{
|
|
40
|
-
success: boolean;
|
|
41
|
-
}>>>;
|
|
42
|
-
userCan(action: keyof PageInfo['actions']): boolean;
|
|
43
|
-
userCanEdit(): boolean;
|
|
44
|
-
reloadSelfInfo(): Promise<this>;
|
|
45
|
-
readonly pageid: PageInfo['pageid'];
|
|
46
|
-
readonly title: PageInfo['title'];
|
|
47
|
-
readonly ns: PageInfo['ns'];
|
|
48
|
-
readonly contentmodel: PageInfo['contentmodel'];
|
|
49
|
-
readonly fullurl: PageInfo['fullurl'];
|
|
50
|
-
readonly canonicalurl: PageInfo['canonicalurl'];
|
|
51
|
-
readonly editurl: PageInfo['editurl'];
|
|
52
|
-
readonly revisions: NonNullable<PageInfo['revisions']>;
|
|
53
|
-
readonly lastrevid: PageInfo['lastrevid'];
|
|
54
|
-
readonly templates: NonNullable<PageInfo['templates']>;
|
|
55
|
-
readonly images: NonNullable<PageInfo['images']>;
|
|
56
|
-
}
|
|
57
|
-
export interface WikiPageConstructor {
|
|
58
|
-
new (pageInfo: Partial<PageInfo>, loaded?: boolean): IWikiPage;
|
|
59
|
-
newFromApi(payload: MwApiParams): Promise<IWikiPage>;
|
|
60
|
-
newBlankPage(init?: Partial<PageInfo>): IWikiPage;
|
|
61
|
-
/**
|
|
62
|
-
* Create a new WikiPage instance from any kind of identifier
|
|
63
|
-
* priority: revid > pageid > title
|
|
64
|
-
*/
|
|
65
|
-
newFromAnyKind(payload: {
|
|
66
|
-
title?: string;
|
|
67
|
-
pageid?: number;
|
|
68
|
-
revid?: number;
|
|
69
|
-
}): Promise<IWikiPage | null>;
|
|
70
|
-
newBatchFromApi(params: MwApiParams & {
|
|
71
|
-
titles?: string[];
|
|
72
|
-
pageids?: number[];
|
|
73
|
-
revids?: number[];
|
|
74
|
-
}): Promise<IWikiPage[]>;
|
|
75
|
-
}
|
|
76
|
-
export declare function createWikiPageModel(api: MediaWikiApi): WikiPageConstructor;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @url https://www.mediawiki.org/wiki/Content_handlers
|
|
3
|
-
*/
|
|
4
|
-
export type ContentModelMap = {
|
|
5
|
-
css: 'text/css';
|
|
6
|
-
javascript: 'text/javascript';
|
|
7
|
-
json: 'application/json';
|
|
8
|
-
text: 'text/plain';
|
|
9
|
-
wikitext: 'text/x-wiki';
|
|
10
|
-
GeoJson: 'application/json';
|
|
11
|
-
'sanitized-css': 'text/css';
|
|
12
|
-
Scribunto: 'text/plain';
|
|
13
|
-
'smw/schema': 'application/json';
|
|
14
|
-
};
|
|
15
|
-
export interface PageInfo {
|
|
16
|
-
pageid: number;
|
|
17
|
-
ns: number;
|
|
18
|
-
title: string;
|
|
19
|
-
contentmodel: keyof ContentModelMap;
|
|
20
|
-
pagelanguage: string;
|
|
21
|
-
pagelanguagehtmlcode: string;
|
|
22
|
-
pagelanguagedir: 'ltr' | 'rtl';
|
|
23
|
-
touched: string;
|
|
24
|
-
lastrevid: number;
|
|
25
|
-
length: number;
|
|
26
|
-
protection: [];
|
|
27
|
-
restrictiontypes: string[];
|
|
28
|
-
fullurl: string;
|
|
29
|
-
canonicalurl: string;
|
|
30
|
-
editurl?: string;
|
|
31
|
-
varianttitles?: Record<string, string>;
|
|
32
|
-
actions: {
|
|
33
|
-
edit: boolean;
|
|
34
|
-
move: boolean;
|
|
35
|
-
delete: boolean;
|
|
36
|
-
};
|
|
37
|
-
revisions?: {
|
|
38
|
-
revid: number;
|
|
39
|
-
parentid: number;
|
|
40
|
-
minor: boolean;
|
|
41
|
-
user: string;
|
|
42
|
-
timestamp: string;
|
|
43
|
-
comment: string;
|
|
44
|
-
contentformat: ContentModelMap[keyof ContentModelMap];
|
|
45
|
-
contentmodel: keyof ContentModelMap;
|
|
46
|
-
content: string;
|
|
47
|
-
}[];
|
|
48
|
-
templates: {
|
|
49
|
-
ns: number;
|
|
50
|
-
title: string;
|
|
51
|
-
}[];
|
|
52
|
-
images: {
|
|
53
|
-
ns: number;
|
|
54
|
-
title: string;
|
|
55
|
-
}[];
|
|
56
|
-
missing?: boolean;
|
|
57
|
-
special?: boolean;
|
|
58
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export interface PageParseData {
|
|
2
|
-
title: string;
|
|
3
|
-
pageid: number;
|
|
4
|
-
text: string;
|
|
5
|
-
langlinks: any[];
|
|
6
|
-
categories: any[];
|
|
7
|
-
links: any[];
|
|
8
|
-
templates: any[];
|
|
9
|
-
images: any[];
|
|
10
|
-
externallinks: string[];
|
|
11
|
-
sections: any[];
|
|
12
|
-
showtoc: boolean;
|
|
13
|
-
parsewarnings: any[];
|
|
14
|
-
displaytitle: string;
|
|
15
|
-
iwlinks: any[];
|
|
16
|
-
properties: any;
|
|
17
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { WikiSiteInfo } from '../../types/WikiMetadata';
|
|
2
|
-
export interface IWikiTitle {
|
|
3
|
-
/**
|
|
4
|
-
* Get db key without namespace prefix
|
|
5
|
-
* e.g. "template:hello world" -> "Hello_world"
|
|
6
|
-
*/
|
|
7
|
-
getMainDBKey(): string;
|
|
8
|
-
/**
|
|
9
|
-
* Get page name without namespace prefix
|
|
10
|
-
* e.g. "template:hello world" -> "Hello world"
|
|
11
|
-
*/
|
|
12
|
-
getMainText(): string;
|
|
13
|
-
/**
|
|
14
|
-
* Get db key with namespace prefix
|
|
15
|
-
* e.g. "template:hello world" -> "Template:Hello_world"
|
|
16
|
-
*/
|
|
17
|
-
getPrefixedDBKey(): string;
|
|
18
|
-
/**
|
|
19
|
-
* Get page name with namespace prefix
|
|
20
|
-
* e.g. "template:hello world" -> "Template:Hello world"
|
|
21
|
-
*/
|
|
22
|
-
getPrefixedText(): string;
|
|
23
|
-
toText: () => string;
|
|
24
|
-
toString: () => string;
|
|
25
|
-
/**
|
|
26
|
-
* Get namespace ID
|
|
27
|
-
* e.g. "template:hello world" -> 10
|
|
28
|
-
*/
|
|
29
|
-
getNamespaceId(): number;
|
|
30
|
-
/**
|
|
31
|
-
* Get namespace text
|
|
32
|
-
* e.g. "template:hello world" -> "Template"
|
|
33
|
-
*/
|
|
34
|
-
getNamespaceText(): string;
|
|
35
|
-
/**
|
|
36
|
-
* Get namespace db key
|
|
37
|
-
* e.g. "template talk:hello world" -> "Template_talk"
|
|
38
|
-
*/
|
|
39
|
-
getNamespaceDBKey(): string;
|
|
40
|
-
/**
|
|
41
|
-
* Get subject page
|
|
42
|
-
* If current page is subject page, return itself
|
|
43
|
-
* e.g. "template talk:hello world" -> new WikiTitle("Template:Hello world")
|
|
44
|
-
*/
|
|
45
|
-
getSubjectPage(): IWikiTitle;
|
|
46
|
-
/**
|
|
47
|
-
* Get talk page
|
|
48
|
-
* If current page is talk page, return itself
|
|
49
|
-
* If current page cannot have talk page, return null
|
|
50
|
-
* e.g. "template:hello world" -> new WikiTitle("Template talk:Hello world")
|
|
51
|
-
*/
|
|
52
|
-
getTalkPage(): IWikiTitle | null;
|
|
53
|
-
/**
|
|
54
|
-
* Get URL of the page
|
|
55
|
-
* e.g. "template:hello world" -> "https://example.com/wiki/Template:Hello_world"
|
|
56
|
-
*/
|
|
57
|
-
getURL(params?: Record<string, string> | URLSearchParams): URL;
|
|
58
|
-
/**
|
|
59
|
-
* Reset current title with given title string
|
|
60
|
-
*/
|
|
61
|
-
setTitle(title: string): IWikiTitle;
|
|
62
|
-
/**
|
|
63
|
-
* Set main title, keep current ns, update dbkey
|
|
64
|
-
*/
|
|
65
|
-
setMainText(mainTitle: string): IWikiTitle;
|
|
66
|
-
/**
|
|
67
|
-
* Set namespace by text
|
|
68
|
-
*/
|
|
69
|
-
setNamespaceText(namespaceText: string): IWikiTitle;
|
|
70
|
-
/**
|
|
71
|
-
* Set namespace by ID
|
|
72
|
-
*/
|
|
73
|
-
setNamespaceId(namespaceId: number): IWikiTitle;
|
|
74
|
-
/**
|
|
75
|
-
* Check if the title is equal to another title
|
|
76
|
-
*/
|
|
77
|
-
equals(other: IWikiTitle | string): boolean;
|
|
78
|
-
/**
|
|
79
|
-
* Check if the title is specific special page
|
|
80
|
-
* e.g. "Special:Diff" is "差异" or "diff" -> true
|
|
81
|
-
*/
|
|
82
|
-
isSpecial(alia: string): boolean;
|
|
83
|
-
newTitle(title: string, namespace?: number): IWikiTitle;
|
|
84
|
-
}
|
|
85
|
-
export interface WikiTitleConstructor {
|
|
86
|
-
new (title: string, namespace?: number): IWikiTitle;
|
|
87
|
-
create(title: string, namespace?: number): IWikiTitle;
|
|
88
|
-
}
|
|
89
|
-
export declare function createWikiTitleModel(metadata: WikiSiteInfo): WikiTitleConstructor;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Inject, InPageEdit, Schema } from '../InPageEdit';
|
|
2
|
-
interface DisposeHandler {
|
|
3
|
-
(ctx: InPageEdit): Promise<void> | void;
|
|
4
|
-
}
|
|
5
|
-
export default class BasePlugin<ConfigType extends unknown = any> {
|
|
6
|
-
#private;
|
|
7
|
-
ctx: InPageEdit;
|
|
8
|
-
config: ConfigType;
|
|
9
|
-
private disposeHandlers;
|
|
10
|
-
/** 依赖注入 */
|
|
11
|
-
static inject?: Inject;
|
|
12
|
-
/** 可重用? */
|
|
13
|
-
static reusable: boolean;
|
|
14
|
-
/** 插件的偏好设置模式 */
|
|
15
|
-
static PreferencesSchema?: Schema;
|
|
16
|
-
constructor(ctx: InPageEdit, config?: ConfigType, name?: string);
|
|
17
|
-
protected start(): Promise<void> | void;
|
|
18
|
-
protected stop(): Promise<void> | void;
|
|
19
|
-
protected addDisposeHandler(fn: DisposeHandler): void;
|
|
20
|
-
protected removeDisposeHandler(fn: DisposeHandler): void;
|
|
21
|
-
set name(name: string);
|
|
22
|
-
get name(): string;
|
|
23
|
-
get logger(): import('@inpageedit/logger').Logger;
|
|
24
|
-
}
|
|
25
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { InPageEdit } from '../../InPageEdit';
|
|
2
|
-
declare class PluginDebug extends BasePlugin {
|
|
3
|
-
ctx: InPageEdit;
|
|
4
|
-
constructor(ctx: InPageEdit);
|
|
5
|
-
protected start(): Promise<void>;
|
|
6
|
-
showModal(): import('../../services/ModalService').CustomIPEModal;
|
|
7
|
-
}
|
|
8
|
-
export default PluginDebug;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { InPageEdit } from '../../InPageEdit';
|
|
2
|
-
declare module '../../InPageEdit' {
|
|
3
|
-
interface InPageEdit {
|
|
4
|
-
analytics: PluginAnalytics;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
export interface IPEBeaconPayload {
|
|
8
|
-
siteApi: string;
|
|
9
|
-
siteName?: string;
|
|
10
|
-
userId: number;
|
|
11
|
-
userName: string;
|
|
12
|
-
version?: string;
|
|
13
|
-
usages: IPEBeaconUsage[];
|
|
14
|
-
}
|
|
15
|
-
export interface IPEBeaconUsage {
|
|
16
|
-
ts: number;
|
|
17
|
-
feature: string;
|
|
18
|
-
subtype?: string;
|
|
19
|
-
page?: string;
|
|
20
|
-
}
|
|
21
|
-
export declare class PluginAnalytics extends BasePlugin {
|
|
22
|
-
ctx: InPageEdit;
|
|
23
|
-
private _usages;
|
|
24
|
-
private _timer;
|
|
25
|
-
private readonly MAX_QUEUE_SIZE;
|
|
26
|
-
private readonly INTERVAL_MS;
|
|
27
|
-
constructor(ctx: InPageEdit);
|
|
28
|
-
protected start(): Promise<void> | void;
|
|
29
|
-
private get analyticsDashUrl();
|
|
30
|
-
private get analyticsApiBase();
|
|
31
|
-
private _setupTimer;
|
|
32
|
-
private _registerUnloadHandler;
|
|
33
|
-
private _showConfirmNotify;
|
|
34
|
-
private _initPluginListeners;
|
|
35
|
-
addEvent(feature: string, subtype?: string, page?: string): this;
|
|
36
|
-
private sendBeacon;
|
|
37
|
-
/**
|
|
38
|
-
* 清理资源
|
|
39
|
-
*/
|
|
40
|
-
protected stop(): void;
|
|
41
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { InPageEdit } from '../../InPageEdit';
|
|
2
|
-
import { WikiLinkMetadata } from '../../services/WikiTitleService.js';
|
|
3
|
-
declare module '../../InPageEdit' {
|
|
4
|
-
interface InPageEdit {
|
|
5
|
-
inArticleLinks: PluginInArticleLinks;
|
|
6
|
-
}
|
|
7
|
-
interface Events {
|
|
8
|
-
'in-article-links/anchor-parsed'(payload: {
|
|
9
|
-
ctx: InPageEdit;
|
|
10
|
-
anchor: HTMLAnchorElement;
|
|
11
|
-
info: InArticleWikiAnchorMetadata;
|
|
12
|
-
}): void;
|
|
13
|
-
'in-article-links/anchor-clicked'(payload: {
|
|
14
|
-
ctx: InPageEdit;
|
|
15
|
-
anchor: HTMLAnchorElement;
|
|
16
|
-
info: InArticleWikiAnchorMetadata;
|
|
17
|
-
event: MouseEvent;
|
|
18
|
-
action: 'quickEdit' | 'quickDiff';
|
|
19
|
-
}): void;
|
|
20
|
-
}
|
|
21
|
-
interface PreferencesMap {
|
|
22
|
-
'inArticleLinks.quickEdit.enable': boolean;
|
|
23
|
-
'inArticleLinks.quickDiff.enable': boolean;
|
|
24
|
-
'inArticleLinks.quickEdit.redlinks': boolean;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export interface InArticleWikiAnchorMetadata extends WikiLinkMetadata {
|
|
28
|
-
$el: HTMLAnchorElement;
|
|
29
|
-
kind: 'normal' | 'mw:File';
|
|
30
|
-
external: boolean;
|
|
31
|
-
redlink: boolean;
|
|
32
|
-
}
|
|
33
|
-
export declare class PluginInArticleLinks extends BasePlugin<{
|
|
34
|
-
linkClassName: string;
|
|
35
|
-
}> {
|
|
36
|
-
constructor(ctx: InPageEdit);
|
|
37
|
-
protected start(): Promise<void>;
|
|
38
|
-
protected stop(): Promise<void>;
|
|
39
|
-
private _cachedAnchorInfo;
|
|
40
|
-
parseAnchor(anchor: HTMLAnchorElement): InArticleWikiAnchorMetadata | null;
|
|
41
|
-
scanAnchors(parent: HTMLElement, filter?: (info: InArticleWikiAnchorMetadata) => boolean): InArticleWikiAnchorMetadata[];
|
|
42
|
-
handleQuickEdit(): Promise<void>;
|
|
43
|
-
handleQuickDiff(): void;
|
|
44
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { InPageEdit } from '../../InPageEdit';
|
|
2
|
-
import { ForkScope } from '@cordisjs/core';
|
|
3
|
-
import { PluginStoreRegistry, PluginStoreSchemas } from './schema';
|
|
4
|
-
declare module '../../InPageEdit' {
|
|
5
|
-
interface InPageEdit {
|
|
6
|
-
store: PluginPluginStore;
|
|
7
|
-
}
|
|
8
|
-
interface PreferencesMap {
|
|
9
|
-
'pluginStore.registries': string[];
|
|
10
|
-
'pluginStore.plugins': {
|
|
11
|
-
source?: 'online_manifest' | 'npm';
|
|
12
|
-
registry: string;
|
|
13
|
-
id: string;
|
|
14
|
-
}[];
|
|
15
|
-
'pluginStore.cdnForNpm': string;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
export type PluginStoreRegistrySource = 'online_manifest' | 'npm';
|
|
19
|
-
export declare class PluginPluginStore extends BasePlugin {
|
|
20
|
-
ctx: InPageEdit;
|
|
21
|
-
static readonly PluginStoreSchemas: typeof PluginStoreSchemas;
|
|
22
|
-
static REGISTRY_INFO_CACHE_TTL: number;
|
|
23
|
-
static REGISTRY_INFO_STORAGE_NAME: string;
|
|
24
|
-
static REGISTRY_ETAG_STORAGE_NAME: string;
|
|
25
|
-
private regInfoDB;
|
|
26
|
-
constructor(ctx: InPageEdit);
|
|
27
|
-
protected start(): Promise<void>;
|
|
28
|
-
private _installUserPlugins;
|
|
29
|
-
private _createManagementApp;
|
|
30
|
-
private _injectPreferenceUI;
|
|
31
|
-
showModal(): Promise<import('../../services/ModalService').CustomIPEModal>;
|
|
32
|
-
private _installedPlugins;
|
|
33
|
-
install(registry: string, id: string, source?: PluginStoreRegistrySource): Promise<ForkScope<InPageEdit> | null>;
|
|
34
|
-
uninstall(registry: string, id: string): Promise<boolean>;
|
|
35
|
-
addToPreferences(registry: string, id: string): Promise<boolean>;
|
|
36
|
-
removeFromPreferences(registry: string, id: string): Promise<boolean>;
|
|
37
|
-
installAndSetPreference(registry: string, id: string): Promise<ForkScope<InPageEdit> | null>;
|
|
38
|
-
uninstallAndRemovePreference(registry: string, id: string): Promise<boolean>;
|
|
39
|
-
private _installOneByRegistryInfo;
|
|
40
|
-
validateRegistry(data: any): PluginStoreRegistry;
|
|
41
|
-
getRegistryInfo(registry: string, source?: PluginStoreRegistrySource, noCache?: boolean): Promise<PluginStoreRegistry>;
|
|
42
|
-
private _onlineRegistryQueries;
|
|
43
|
-
private _fetchOnlineRegistryInfo;
|
|
44
|
-
private getRegistryCache;
|
|
45
|
-
private setRegistryCache;
|
|
46
|
-
private deleteRegistryCache;
|
|
47
|
-
clearAllRegistryCaches(): Promise<void>;
|
|
48
|
-
/**
|
|
49
|
-
* 刷新指定 registry 的缓存(重新从网络获取)
|
|
50
|
-
*/
|
|
51
|
-
refreshRegistryCache(registry: string): Promise<PluginStoreRegistry>;
|
|
52
|
-
/**
|
|
53
|
-
* 刷新所有已配置的 registry 缓存
|
|
54
|
-
*/
|
|
55
|
-
refreshAllRegistryCaches(): Promise<Record<string, PluginStoreRegistry | null>>;
|
|
56
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { default as Schema } from 'schemastery';
|
|
2
|
-
export declare const PLUGIN_STORE_REGISTRY_MANIFEST_VERSION = 1;
|
|
3
|
-
export interface PluginStoreRegistry {
|
|
4
|
-
manifest_version: number;
|
|
5
|
-
name: string;
|
|
6
|
-
base_url: string;
|
|
7
|
-
homepage?: string;
|
|
8
|
-
maintainers?: PluginStoreRegistryMaintainer[];
|
|
9
|
-
repository?: PluginStoreRegistryRepository;
|
|
10
|
-
packages: PluginStorePackage[];
|
|
11
|
-
}
|
|
12
|
-
export interface PluginStoreRegistryMaintainer {
|
|
13
|
-
name: string;
|
|
14
|
-
email?: string;
|
|
15
|
-
}
|
|
16
|
-
export interface PluginStoreRegistryRepository {
|
|
17
|
-
type: 'git';
|
|
18
|
-
url: string;
|
|
19
|
-
}
|
|
20
|
-
export interface PluginStorePackage {
|
|
21
|
-
id: string;
|
|
22
|
-
name: string;
|
|
23
|
-
version: string;
|
|
24
|
-
description?: string;
|
|
25
|
-
author?: string;
|
|
26
|
-
license?: string;
|
|
27
|
-
loader: PluginStorePackageLoader;
|
|
28
|
-
}
|
|
29
|
-
export interface PluginStorePackageLoader {
|
|
30
|
-
kind: 'autoload' | 'module' | 'umd' | 'styles';
|
|
31
|
-
entry?: string;
|
|
32
|
-
styles?: string[];
|
|
33
|
-
main_export?: string;
|
|
34
|
-
}
|
|
35
|
-
export declare namespace PluginStoreSchemas {
|
|
36
|
-
const PackageLoader: Schema<PluginStorePackageLoader, PluginStorePackageLoader>;
|
|
37
|
-
const Package: Schema<PluginStorePackage, PluginStorePackage>;
|
|
38
|
-
const RegistryMaintainer: Schema<PluginStoreRegistryMaintainer, PluginStoreRegistryMaintainer>;
|
|
39
|
-
const RegistryRepository: Schema<PluginStoreRegistryRepository, PluginStoreRegistryRepository>;
|
|
40
|
-
const Registry: Schema<PluginStoreRegistry, PluginStoreRegistry>;
|
|
41
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { InPageEdit } from '../../InPageEdit.js';
|
|
2
|
-
import { IWikiTitle } from '../../models/WikiTitle/index.js';
|
|
3
|
-
declare module '../../InPageEdit' {
|
|
4
|
-
interface InPageEdit {
|
|
5
|
-
prefSync: PluginPrefSync;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
export declare class PluginPrefSync extends BasePlugin {
|
|
9
|
-
ctx: InPageEdit;
|
|
10
|
-
constructor(ctx: InPageEdit);
|
|
11
|
-
protected start(): Promise<void> | void;
|
|
12
|
-
protected stop(): Promise<void> | void;
|
|
13
|
-
/**
|
|
14
|
-
* 获取用户页配置文件的标题
|
|
15
|
-
*/
|
|
16
|
-
private getUserPrefsPageTitle;
|
|
17
|
-
/**
|
|
18
|
-
* 从用户页加载配置
|
|
19
|
-
*/
|
|
20
|
-
importFromUserPage(): Promise<Record<string, unknown>>;
|
|
21
|
-
/**
|
|
22
|
-
* 导出配置到用户页
|
|
23
|
-
*/
|
|
24
|
-
exportToUserPage(): Promise<IWikiTitle>;
|
|
25
|
-
importFromUrl(input: string): Promise<Record<string, unknown>>;
|
|
26
|
-
importFromFile(input: Blob): Promise<Record<string, unknown>>;
|
|
27
|
-
private notifyImportSuccess;
|
|
28
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { InPageEdit } from '../../InPageEdit';
|
|
2
|
-
import { default as PreferencesApp } from './components/PreferencesApp.vue';
|
|
3
|
-
import { CustomIPEModal } from '../../services/ModalService.js';
|
|
4
|
-
import { App as VueApp } from 'vue';
|
|
5
|
-
declare module '../../InPageEdit' {
|
|
6
|
-
interface InPageEdit {
|
|
7
|
-
preferencesUI: PluginPreferencesUI;
|
|
8
|
-
}
|
|
9
|
-
interface Events {
|
|
10
|
-
'preferences-ui/modal-shown'(payload: {
|
|
11
|
-
ctx: InPageEdit;
|
|
12
|
-
modal: CustomIPEModal;
|
|
13
|
-
}): void;
|
|
14
|
-
'preferences-ui/vue-app-mounted'(payload: {
|
|
15
|
-
ctx: InPageEdit;
|
|
16
|
-
app: VueApp;
|
|
17
|
-
form: InstanceType<typeof PreferencesApp>;
|
|
18
|
-
}): void;
|
|
19
|
-
'preferences-ui/modal-tab-changed'(payload: {
|
|
20
|
-
ctx: InPageEdit;
|
|
21
|
-
category: string;
|
|
22
|
-
$tabContent: HTMLElement;
|
|
23
|
-
}): void;
|
|
24
|
-
'preferences-ui/form-data-saved'(payload: {
|
|
25
|
-
ctx: InPageEdit;
|
|
26
|
-
data: Record<string, unknown>;
|
|
27
|
-
}): void;
|
|
28
|
-
'preferences-ui/modal-closed'(payload: {
|
|
29
|
-
ctx: InPageEdit;
|
|
30
|
-
modal: CustomIPEModal;
|
|
31
|
-
}): void;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
export declare class PluginPreferencesUI extends BasePlugin {
|
|
35
|
-
ctx: InPageEdit;
|
|
36
|
-
constructor(ctx: InPageEdit);
|
|
37
|
-
protected start(): Promise<void>;
|
|
38
|
-
protected stop(): Promise<void> | void;
|
|
39
|
-
_modal: CustomIPEModal | null;
|
|
40
|
-
_form: InstanceType<typeof PreferencesApp> | null;
|
|
41
|
-
showModal(): CustomIPEModal;
|
|
42
|
-
getCurrentModal(): CustomIPEModal | null;
|
|
43
|
-
closeCurrentModal(): CustomIPEModal | undefined;
|
|
44
|
-
dispatchFormSave(form?: InstanceType<typeof PreferencesApp>): Promise<boolean>;
|
|
45
|
-
getCurrentFormValue(): any;
|
|
46
|
-
mergeFormValue(value: Record<string, unknown>): boolean;
|
|
47
|
-
createPreferencesUIApp(): VueApp<Element>;
|
|
48
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { JSX } from 'jsx-dom/jsx-runtime';
|
|
2
|
-
import { CompareApiResponse } from '../index.js';
|
|
3
|
-
import { InPageEdit } from '../../../InPageEdit.js';
|
|
4
|
-
export type DiffTableProps = {
|
|
5
|
-
data: Partial<CompareApiResponse['compare']>;
|
|
6
|
-
ctx: InPageEdit;
|
|
7
|
-
} & JSX.IntrinsicElements['table'];
|
|
8
|
-
export declare enum DiffTableEvent {
|
|
9
|
-
update = "ipe:diff-table/update",
|
|
10
|
-
edit = "ipe:diff-table/edit"
|
|
11
|
-
}
|
|
12
|
-
declare global {
|
|
13
|
-
interface HTMLElementEventMap {
|
|
14
|
-
[DiffTableEvent.update]: CustomEvent<{
|
|
15
|
-
fromrev: number;
|
|
16
|
-
torev: number;
|
|
17
|
-
}>;
|
|
18
|
-
[DiffTableEvent.edit]: CustomEvent<{
|
|
19
|
-
revid: number;
|
|
20
|
-
}>;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export declare const DiffTable: (props: DiffTableProps) => import('jsx-dom').ReactElement;
|