artalk 2.6.4 → 2.7.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/Artalk.css +1 -1
- package/dist/Artalk.es.js +7794 -7483
- package/dist/Artalk.iife.js +1 -1
- package/dist/Artalk.js +1 -1
- package/dist/ArtalkLite.css +1 -1
- package/dist/ArtalkLite.es.js +5587 -5276
- package/dist/ArtalkLite.iife.js +1 -1
- package/dist/ArtalkLite.js +1 -1
- package/dist/src/api/{api-base.d.ts → _base.d.ts} +3 -7
- package/dist/src/api/_options.d.ts +19 -0
- package/dist/src/api/{request.d.ts → _request.d.ts} +3 -3
- package/dist/src/api/admin.d.ts +1 -1
- package/dist/src/api/captcha.d.ts +1 -1
- package/dist/src/api/comment.d.ts +2 -2
- package/dist/src/api/index.d.ts +2 -4
- package/dist/src/api/page.d.ts +3 -3
- package/dist/src/api/site.d.ts +2 -2
- package/dist/src/api/system.d.ts +13 -3
- package/dist/src/api/upload.d.ts +1 -1
- package/dist/src/api/user.d.ts +2 -2
- package/dist/src/artalk.d.ts +14 -37
- package/dist/src/comment/actions.d.ts +1 -1
- package/dist/src/comment/comment.d.ts +3 -4
- package/dist/src/comment/render.d.ts +21 -3
- package/dist/src/comment/renders/actions.d.ts +2 -2
- package/dist/src/comment/renders/avatar.d.ts +2 -2
- package/dist/src/comment/renders/content.d.ts +2 -2
- package/dist/src/comment/renders/header.d.ts +2 -2
- package/dist/src/comment/renders/index.d.ts +2 -2
- package/dist/src/comment/renders/pending.d.ts +2 -2
- package/dist/src/comment/renders/reply-at.d.ts +2 -2
- package/dist/src/comment/renders/reply-to.d.ts +2 -2
- package/dist/src/components/action-btn.d.ts +3 -5
- package/dist/src/{lib → components}/checker/admin.d.ts +1 -1
- package/dist/src/{lib → components}/checker/captcha-renders.d.ts +1 -1
- package/dist/src/{lib → components}/checker/captcha.d.ts +1 -1
- package/dist/src/{lib → components}/checker/index.d.ts +10 -7
- package/dist/src/components/dark-mode.d.ts +2 -0
- package/dist/src/components/dialog.d.ts +1 -3
- package/dist/src/components/error-dialog.d.ts +8 -0
- package/dist/src/components/pagination.d.ts +4 -3
- package/dist/src/components/read-more-btn.d.ts +3 -3
- package/dist/src/config.d.ts +24 -8
- package/dist/src/context.d.ts +16 -35
- package/dist/src/data.d.ts +27 -0
- package/dist/src/defaults.d.ts +1 -1
- package/dist/src/editor/editor.d.ts +14 -61
- package/dist/src/editor/state.d.ts +20 -0
- package/dist/src/i18n/zh-CN.d.ts +1 -1
- package/dist/src/layer/index.d.ts +4 -3
- package/dist/src/layer/layer-manager.d.ts +9 -0
- package/dist/src/layer/layer.d.ts +8 -28
- package/dist/src/layer/scrollbar-helper.d.ts +5 -0
- package/dist/src/layer/sidebar-layer.d.ts +6 -6
- package/dist/src/layer/wrap.d.ts +13 -0
- package/dist/src/lib/component.d.ts +3 -8
- package/dist/src/lib/event-manager.d.ts +28 -0
- package/dist/src/lib/highlight.d.ts +1 -0
- package/dist/src/lib/marked-renderer.d.ts +4 -0
- package/dist/src/lib/marked.d.ts +4 -2
- package/dist/src/lib/sanitizer.d.ts +1 -0
- package/dist/src/lib/ui.d.ts +3 -2
- package/dist/src/lib/user.d.ts +8 -5
- package/dist/src/lib/utils.d.ts +11 -5
- package/dist/src/list/comment.d.ts +3 -0
- package/dist/src/list/layout.d.ts +23 -0
- package/dist/src/list/list.d.ts +13 -25
- package/dist/src/list/{list-nest.d.ts → nest.d.ts} +1 -1
- package/dist/src/list/page.d.ts +2 -0
- package/dist/src/list/paginator/index.d.ts +22 -7
- package/dist/src/list/paginator/read-more.d.ts +18 -0
- package/dist/src/list/paginator/up-down.d.ts +14 -0
- package/dist/src/main.d.ts +2 -0
- package/dist/src/plugins/admin-only-elem.d.ts +2 -0
- package/dist/src/plugins/conf-remoter.d.ts +2 -0
- package/dist/src/plugins/dark-mode.d.ts +2 -0
- package/dist/src/plugins/editor/_kit.d.ts +27 -0
- package/dist/src/plugins/editor/_plug.d.ts +29 -0
- package/dist/src/plugins/editor/_sample.d.ts +5 -0
- package/dist/src/plugins/editor/closable.d.ts +7 -0
- package/dist/src/{editor/plugs/emoticons-plug.d.ts → plugins/editor/emoticons.d.ts} +10 -16
- package/dist/src/plugins/editor/header-event.d.ts +6 -0
- package/dist/src/plugins/editor/header-link.d.ts +6 -0
- package/dist/src/plugins/editor/header-user.d.ts +16 -0
- package/dist/src/plugins/editor/index.d.ts +6 -0
- package/dist/src/plugins/editor/local-storage.d.ts +6 -0
- package/dist/src/plugins/editor/mover.d.ts +6 -0
- package/dist/src/plugins/editor/preview.d.ts +7 -0
- package/dist/src/plugins/editor/state-edit.d.ts +11 -0
- package/dist/src/plugins/editor/state-reply.d.ts +8 -0
- package/dist/src/plugins/editor/submit-add.d.ts +18 -0
- package/dist/src/plugins/editor/submit-btn.d.ts +5 -0
- package/dist/src/plugins/editor/submit.d.ts +17 -0
- package/dist/src/plugins/editor/textarea.d.ts +8 -0
- package/dist/src/plugins/editor/upload.d.ts +9 -0
- package/dist/src/plugins/editor-kit.d.ts +42 -0
- package/dist/src/plugins/index.d.ts +2 -0
- package/dist/src/plugins/list/copyright.d.ts +2 -0
- package/dist/src/plugins/list/count.d.ts +2 -0
- package/dist/src/plugins/list/dropdown.d.ts +2 -0
- package/dist/src/plugins/list/error-dialog.d.ts +2 -0
- package/dist/src/plugins/list/fetch.d.ts +2 -0
- package/dist/src/plugins/list/goto-first.d.ts +3 -0
- package/dist/src/plugins/list/goto.d.ts +2 -0
- package/dist/src/plugins/list/index.d.ts +3 -0
- package/dist/src/plugins/list/loading.d.ts +2 -0
- package/dist/src/plugins/list/no-comment.d.ts +2 -0
- package/dist/src/plugins/list/reach-bottom.d.ts +2 -0
- package/dist/src/plugins/list/sidebar-btn.d.ts +2 -0
- package/dist/src/plugins/list/time-ticking.d.ts +3 -0
- package/dist/src/plugins/list/unread-badge.d.ts +2 -0
- package/dist/src/plugins/list/unread.d.ts +2 -0
- package/dist/src/plugins/list/with-editor.d.ts +2 -0
- package/dist/src/plugins/markdown.d.ts +2 -0
- package/dist/src/plugins/stat.d.ts +13 -0
- package/dist/src/plugins/version-check.d.ts +2 -0
- package/dist/src/service.d.ts +19 -23
- package/dist/tests/e2e/comment-add.spec.d.ts +1 -0
- package/dist/types/config.d.ts +110 -0
- package/dist/types/context.d.ts +56 -136
- package/dist/types/data.d.ts +194 -0
- package/dist/types/editor.d.ts +76 -0
- package/dist/types/event.d.ts +36 -25
- package/dist/types/index.d.ts +7 -0
- package/dist/types/plugin.d.ts +2 -0
- package/dist/types/sidebar.d.ts +3 -0
- package/package.json +5 -2
- package/src/api/_base.ts +18 -0
- package/src/api/_options.ts +25 -0
- package/src/api/{request.ts → _request.ts} +19 -18
- package/src/api/admin.ts +1 -1
- package/src/api/captcha.ts +1 -1
- package/src/api/comment.ts +4 -4
- package/src/api/index.ts +3 -12
- package/src/api/page.ts +5 -5
- package/src/api/site.ts +2 -2
- package/src/api/system.ts +19 -7
- package/src/api/upload.ts +3 -3
- package/src/api/user.ts +3 -3
- package/src/artalk.ts +49 -97
- package/src/comment/actions.ts +1 -4
- package/src/comment/comment.ts +9 -6
- package/src/comment/render.ts +27 -5
- package/src/comment/renders/actions.ts +45 -45
- package/src/comment/renders/avatar.ts +7 -7
- package/src/comment/renders/content.ts +18 -18
- package/src/comment/renders/header.ts +13 -13
- package/src/comment/renders/index.ts +3 -3
- package/src/comment/renders/pending.ts +5 -5
- package/src/comment/renders/reply-at.ts +8 -8
- package/src/comment/renders/reply-to.ts +13 -13
- package/src/components/action-btn.ts +11 -13
- package/src/{lib → components}/checker/admin.ts +6 -6
- package/src/{lib → components}/checker/captcha-renders.ts +7 -6
- package/src/{lib → components}/checker/captcha.ts +1 -1
- package/src/{lib → components}/checker/index.ts +21 -26
- package/src/components/dark-mode.ts +30 -0
- package/src/components/dialog.ts +4 -9
- package/src/components/error-dialog.ts +35 -0
- package/src/components/pagination.ts +10 -6
- package/src/components/read-more-btn.ts +7 -7
- package/src/config.ts +60 -6
- package/src/context.ts +39 -144
- package/src/data.ts +110 -0
- package/src/defaults.ts +1 -1
- package/src/editor/editor.ts +39 -152
- package/src/editor/state.ts +52 -0
- package/src/i18n/zh-CN.ts +1 -1
- package/src/layer/index.ts +4 -4
- package/src/layer/layer-manager.ts +32 -0
- package/src/layer/layer.ts +20 -144
- package/src/layer/scrollbar-helper.ts +24 -0
- package/src/layer/sidebar-layer.ts +74 -64
- package/src/layer/wrap.ts +77 -0
- package/src/lib/component.ts +4 -11
- package/src/lib/detect.ts +1 -1
- package/src/lib/event-manager.ts +47 -0
- package/src/lib/highlight.ts +5 -0
- package/src/lib/marked-renderer.ts +32 -0
- package/src/lib/marked.ts +43 -104
- package/src/lib/sanitizer.ts +57 -0
- package/src/lib/ui.ts +22 -15
- package/src/lib/user.ts +21 -16
- package/src/lib/utils.ts +29 -18
- package/src/list/comment.ts +20 -0
- package/src/list/layout.ts +120 -0
- package/src/list/list.html +3 -1
- package/src/list/list.ts +56 -200
- package/src/list/{list-nest.ts → nest.ts} +1 -1
- package/src/list/page.ts +97 -0
- package/src/list/paginator/index.ts +20 -8
- package/src/list/paginator/read-more.ts +67 -0
- package/src/list/paginator/up-down.ts +51 -0
- package/src/main.ts +2 -0
- package/src/plugins/admin-only-elem.ts +40 -0
- package/src/plugins/conf-remoter.ts +54 -0
- package/src/plugins/dark-mode.ts +12 -0
- package/src/plugins/editor/_kit.ts +57 -0
- package/src/plugins/editor/_plug.ts +60 -0
- package/src/plugins/editor/_sample.ts +8 -0
- package/src/plugins/editor/closable.ts +44 -0
- package/src/{editor/plugs/emoticons-plug.ts → plugins/editor/emoticons.ts} +51 -52
- package/src/plugins/editor/header-event.ts +35 -0
- package/src/plugins/editor/header-link.ts +31 -0
- package/src/plugins/editor/header-user.ts +98 -0
- package/src/plugins/editor/index.ts +40 -0
- package/src/plugins/editor/local-storage.ts +36 -0
- package/src/plugins/editor/mover.ts +29 -0
- package/src/plugins/editor/preview.ts +41 -0
- package/src/plugins/editor/state-edit.ts +116 -0
- package/src/plugins/editor/state-reply.ts +91 -0
- package/src/plugins/editor/submit-add.ts +33 -0
- package/src/plugins/editor/submit-btn.ts +25 -0
- package/src/plugins/editor/submit.ts +73 -0
- package/src/plugins/editor/textarea.ts +55 -0
- package/src/plugins/editor/upload.ts +145 -0
- package/src/plugins/editor-kit.ts +161 -0
- package/src/plugins/index.ts +16 -0
- package/src/plugins/list/copyright.ts +16 -0
- package/src/plugins/list/count.ts +31 -0
- package/src/plugins/list/dropdown.ts +95 -0
- package/src/plugins/list/error-dialog.ts +22 -0
- package/src/plugins/list/fetch.ts +64 -0
- package/src/plugins/list/goto-first.ts +23 -0
- package/src/plugins/list/goto.ts +72 -0
- package/src/plugins/list/index.ts +25 -0
- package/src/plugins/list/loading.ts +17 -0
- package/src/plugins/list/no-comment.ts +25 -0
- package/src/plugins/list/reach-bottom.ts +46 -0
- package/src/plugins/list/sidebar-btn.ts +39 -0
- package/src/plugins/list/time-ticking.ts +22 -0
- package/src/plugins/list/unread-badge.ts +26 -0
- package/src/plugins/list/unread.ts +38 -0
- package/src/plugins/list/with-editor.ts +59 -0
- package/src/plugins/markdown.ts +10 -0
- package/src/plugins/stat.ts +79 -0
- package/src/plugins/version-check.ts +37 -0
- package/src/service.ts +34 -61
- package/src/style/comment.scss +5 -7
- package/src/style/editor.scss +5 -0
- package/src/style/list.scss +1 -1
- package/types/{artalk-config.d.ts → config.ts} +16 -2
- package/types/context.ts +84 -0
- package/types/{artalk-data.d.ts → data.ts} +41 -0
- package/types/editor.ts +95 -0
- package/types/event.ts +40 -0
- package/types/index.ts +7 -0
- package/types/plugin.ts +3 -0
- package/types/sidebar.ts +3 -0
- package/dist/src/comment/render-ctx.d.ts +0 -23
- package/dist/src/editor/edit-mode.d.ts +0 -9
- package/dist/src/editor/funcs.d.ts +0 -2
- package/dist/src/editor/index.d.ts +0 -2
- package/dist/src/editor/mover.d.ts +0 -8
- package/dist/src/editor/plug-manager.d.ts +0 -17
- package/dist/src/editor/plugs/editor-plug.d.ts +0 -38
- package/dist/src/editor/plugs/header-input-plug.d.ts +0 -13
- package/dist/src/editor/plugs/preview-plug.d.ts +0 -10
- package/dist/src/editor/plugs/upload-plug.d.ts +0 -10
- package/dist/src/editor/reply.d.ts +0 -9
- package/dist/src/editor/submit.d.ts +0 -16
- package/dist/src/lib/dark-mode.d.ts +0 -4
- package/dist/src/lib/stat.d.ts +0 -15
- package/dist/src/list/index.d.ts +0 -2
- package/dist/src/list/list-lite.d.ts +0 -77
- package/dist/src/list/list-ui.d.ts +0 -16
- package/dist/src/list/paginator/adaptors/index.d.ts +0 -12
- package/dist/src/list/paginator/adaptors/pagination.d.ts +0 -9
- package/dist/src/list/paginator/adaptors/read-more.d.ts +0 -10
- package/dist/src/list/paginator/holder.d.ts +0 -16
- package/dist/types/artalk-config.d.ts +0 -139
- package/dist/types/artalk-data.d.ts +0 -230
- package/dist/types/plug.d.ts +0 -4
- package/src/api/api-base.ts +0 -27
- package/src/comment/render-ctx.ts +0 -30
- package/src/editor/edit-mode.ts +0 -105
- package/src/editor/funcs.ts +0 -150
- package/src/editor/index.ts +0 -3
- package/src/editor/mover.ts +0 -43
- package/src/editor/plug-manager.ts +0 -172
- package/src/editor/plugs/editor-plug.ts +0 -69
- package/src/editor/plugs/header-input-plug.ts +0 -79
- package/src/editor/plugs/preview-plug.ts +0 -44
- package/src/editor/plugs/upload-plug.ts +0 -122
- package/src/editor/reply.ts +0 -62
- package/src/editor/submit.ts +0 -99
- package/src/lib/dark-mode.ts +0 -48
- package/src/lib/stat.ts +0 -71
- package/src/list/index.ts +0 -3
- package/src/list/list-lite.ts +0 -424
- package/src/list/list-ui.ts +0 -137
- package/src/list/paginator/adaptors/index.ts +0 -21
- package/src/list/paginator/adaptors/pagination.ts +0 -42
- package/src/list/paginator/adaptors/read-more.ts +0 -56
- package/src/list/paginator/holder.ts +0 -56
- package/types/context.d.ts +0 -142
- package/types/event.d.ts +0 -28
- package/types/plug.d.ts +0 -4
- /package/src/{editor/plugs/emoticons-plug.scss → plugins/editor/emoticons.scss} +0 -0
- /package/src/{editor/plugs/preview-plug.scss → plugins/editor/preview.scss} +0 -0
package/dist/src/main.d.ts
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { PlugManager } from '../editor-kit';
|
|
2
|
+
import type EditorPlug from "./_plug";
|
|
3
|
+
/**
|
|
4
|
+
* PlugKit provides a set of methods to help you develop editor plug
|
|
5
|
+
*/
|
|
6
|
+
export default class PlugKit {
|
|
7
|
+
private plugs;
|
|
8
|
+
constructor(plugs: PlugManager);
|
|
9
|
+
/** Use the editor */
|
|
10
|
+
useEditor(): import("../../../types").EditorApi;
|
|
11
|
+
/** Use the context of global */
|
|
12
|
+
useGlobalCtx(): import("../../../types").ContextApi;
|
|
13
|
+
/** Use the config of Artalk */
|
|
14
|
+
useConf(): import("../../../types").ArtalkConfig;
|
|
15
|
+
/** Use the http api client */
|
|
16
|
+
useApi(): import("../../api").default;
|
|
17
|
+
/** Use the ui of editor */
|
|
18
|
+
useUI(): import("../../editor/ui").EditorUI;
|
|
19
|
+
/** Use the events in editor scope */
|
|
20
|
+
useEvents(): import("../../lib/event-manager").default<import("../editor-kit").EditorEventPayloadMap>;
|
|
21
|
+
/** Listen the event when plug is mounted */
|
|
22
|
+
useMounted(func: () => void): void;
|
|
23
|
+
/** Listen the event when plug is unmounted */
|
|
24
|
+
useUnmounted(func: () => void): void;
|
|
25
|
+
/** Use the deps of other plug */
|
|
26
|
+
useDeps<T extends typeof EditorPlug>(plug: T): InstanceType<T> | undefined;
|
|
27
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CommentData, EditorState } from '../../../types';
|
|
2
|
+
import type PlugKit from './_kit';
|
|
3
|
+
/**
|
|
4
|
+
* Editor 插件
|
|
5
|
+
*/
|
|
6
|
+
interface EditorPlug {
|
|
7
|
+
$btn?: HTMLElement;
|
|
8
|
+
$panel?: HTMLElement;
|
|
9
|
+
contentTransformer?(rawContent: string): string;
|
|
10
|
+
editorStateEffectWhen?: EditorState;
|
|
11
|
+
editorStateEffect?(comment: CommentData): () => void;
|
|
12
|
+
}
|
|
13
|
+
declare class EditorPlug {
|
|
14
|
+
protected kit: PlugKit;
|
|
15
|
+
constructor(kit: PlugKit);
|
|
16
|
+
/** Use plug btn will add a btn on the bottom of editor */
|
|
17
|
+
useBtn(html?: string): HTMLElement;
|
|
18
|
+
/** Use plug panel will show the panel when btn is clicked */
|
|
19
|
+
usePanel(html?: string): HTMLElement;
|
|
20
|
+
/** Use the content transformer to handle the content of the last submit by the editor */
|
|
21
|
+
useContentTransformer(func: (raw: string) => string): void;
|
|
22
|
+
/** Listen the event of panel show */
|
|
23
|
+
usePanelShow(func: () => void): void;
|
|
24
|
+
/** Listen the event of panel hide */
|
|
25
|
+
usePanelHide(func: () => void): void;
|
|
26
|
+
/** Use editor state modifier */
|
|
27
|
+
useEditorStateEffect(stateName: EditorState, effectFn: (comment: CommentData) => () => void): void;
|
|
28
|
+
}
|
|
29
|
+
export default EditorPlug;
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
$grpSwitcher: HTMLElement;
|
|
12
|
-
constructor(editor: Editor);
|
|
13
|
-
onPanelShow(): void;
|
|
14
|
-
onPanelHide(): void;
|
|
15
|
-
isListLoaded: boolean;
|
|
16
|
-
isImgLoaded: boolean;
|
|
1
|
+
import EditorPlug from './_plug';
|
|
2
|
+
import type PlugKit from './_kit';
|
|
3
|
+
export default class Emoticons extends EditorPlug {
|
|
4
|
+
private emoticons;
|
|
5
|
+
private loadingTask;
|
|
6
|
+
private $grpWrap;
|
|
7
|
+
private $grpSwitcher;
|
|
8
|
+
constructor(kit: PlugKit);
|
|
9
|
+
private isListLoaded;
|
|
10
|
+
private isImgLoaded;
|
|
17
11
|
loadEmoticonsData(): Promise<void>;
|
|
18
12
|
private handleData;
|
|
19
13
|
/** 远程加载 */
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import EditorPlug from './_plug';
|
|
2
|
+
import type PlugKit from './_kit';
|
|
3
|
+
export default class HeaderUser extends EditorPlug {
|
|
4
|
+
constructor(kit: PlugKit);
|
|
5
|
+
private query;
|
|
6
|
+
/**
|
|
7
|
+
* Fetch user info from server
|
|
8
|
+
*/
|
|
9
|
+
private fetchUserInfo;
|
|
10
|
+
/**
|
|
11
|
+
* Function called when user info fetched
|
|
12
|
+
*
|
|
13
|
+
* @param data The response data from server
|
|
14
|
+
*/
|
|
15
|
+
private onUserInfoFetched;
|
|
16
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ArtalkConfig } from '../../../types';
|
|
2
|
+
import type EditorPlug from './_plug';
|
|
3
|
+
/** The default enabled plugs */
|
|
4
|
+
export declare const ENABLED_PLUGS: (typeof EditorPlug)[];
|
|
5
|
+
/** Get the name list of disabled plugs */
|
|
6
|
+
export declare function getDisabledPlugByConf(conf: ArtalkConfig): (typeof EditorPlug)[];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type PlugKit from './_kit';
|
|
2
|
+
import EditorPlug from './_plug';
|
|
3
|
+
export default class StateEdit extends EditorPlug {
|
|
4
|
+
private comment?;
|
|
5
|
+
constructor(kit: PlugKit);
|
|
6
|
+
private edit;
|
|
7
|
+
private cancelEdit;
|
|
8
|
+
private originalSubmitBtnText;
|
|
9
|
+
private updateSubmitBtnText;
|
|
10
|
+
private restoreSubmitBtnText;
|
|
11
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CommentData } from '../../../types';
|
|
2
|
+
import type PlugKit from './_kit';
|
|
3
|
+
export default class SubmitAddPreset {
|
|
4
|
+
private kit;
|
|
5
|
+
constructor(kit: PlugKit);
|
|
6
|
+
reqAdd(): Promise<CommentData>;
|
|
7
|
+
getSubmitAddParams(): {
|
|
8
|
+
content: string;
|
|
9
|
+
nick: string;
|
|
10
|
+
email: string;
|
|
11
|
+
link: string;
|
|
12
|
+
rid: number;
|
|
13
|
+
page_key: string;
|
|
14
|
+
page_title: string;
|
|
15
|
+
site_name: string;
|
|
16
|
+
};
|
|
17
|
+
postSubmitAdd(commentNew: CommentData): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { CommentData } from '../../../types';
|
|
2
|
+
import EditorPlug from './_plug';
|
|
3
|
+
import type PlugKit from './_kit';
|
|
4
|
+
interface CustomSubmit {
|
|
5
|
+
activeCond: () => void;
|
|
6
|
+
pre?: () => void;
|
|
7
|
+
req?: () => Promise<CommentData>;
|
|
8
|
+
post?: (nComment: CommentData) => void;
|
|
9
|
+
}
|
|
10
|
+
export default class Submit extends EditorPlug {
|
|
11
|
+
private customs;
|
|
12
|
+
private defaultPreset;
|
|
13
|
+
constructor(kit: PlugKit);
|
|
14
|
+
registerCustom(c: CustomSubmit): void;
|
|
15
|
+
private do;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { EditorApi, ArtalkPlugin } from '../../types';
|
|
2
|
+
import EventManager from '../lib/event-manager';
|
|
3
|
+
import EditorPlug from './editor/_plug';
|
|
4
|
+
export interface EditorEventPayloadMap {
|
|
5
|
+
'mounted': undefined;
|
|
6
|
+
'unmounted': undefined;
|
|
7
|
+
'header-input': {
|
|
8
|
+
field: string;
|
|
9
|
+
$input: HTMLInputElement;
|
|
10
|
+
};
|
|
11
|
+
'header-change': {
|
|
12
|
+
field: string;
|
|
13
|
+
$input: HTMLInputElement;
|
|
14
|
+
};
|
|
15
|
+
'content-updated': string;
|
|
16
|
+
'panel-show': EditorPlug;
|
|
17
|
+
'panel-hide': EditorPlug;
|
|
18
|
+
'panel-close': undefined;
|
|
19
|
+
'editor-close': undefined;
|
|
20
|
+
'editor-open': undefined;
|
|
21
|
+
}
|
|
22
|
+
export declare const EditorKit: ArtalkPlugin;
|
|
23
|
+
export declare class PlugManager {
|
|
24
|
+
editor: EditorApi;
|
|
25
|
+
private plugs;
|
|
26
|
+
private openedPlug;
|
|
27
|
+
private events;
|
|
28
|
+
getPlugs(): EditorPlug[];
|
|
29
|
+
getEvents(): EventManager<EditorEventPayloadMap>;
|
|
30
|
+
private clear;
|
|
31
|
+
constructor(editor: EditorApi);
|
|
32
|
+
private loadPluginUI;
|
|
33
|
+
/** Load the plug btn and plug panel on editor ui */
|
|
34
|
+
private loadPluginItem;
|
|
35
|
+
get<T extends typeof EditorPlug>(plug: T): InstanceType<T> | undefined;
|
|
36
|
+
/** Open the editor plug panel */
|
|
37
|
+
openPlugPanel(plug: EditorPlug): void;
|
|
38
|
+
/** Close the editor plug panel */
|
|
39
|
+
closePlugPanel(): void;
|
|
40
|
+
/** Get the content which is transformed by plugs */
|
|
41
|
+
getTransformedContent(rawContent: string): string;
|
|
42
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ArtalkPlugin } from '../../types';
|
|
2
|
+
import Api from '../api';
|
|
3
|
+
export interface CountOptions {
|
|
4
|
+
getApi(): Api;
|
|
5
|
+
pageKey: string;
|
|
6
|
+
countEl: string;
|
|
7
|
+
pvEl: string;
|
|
8
|
+
/** 是否增加当前页面 PV 数 */
|
|
9
|
+
pvAdd?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const PvCountWidget: ArtalkPlugin;
|
|
12
|
+
/** 初始化评论数和 PV 数量展示元素 */
|
|
13
|
+
export declare function initCountWidget(opt: CountOptions): Promise<void>;
|
package/dist/src/service.d.ts
CHANGED
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
import CheckerLauncher from './
|
|
3
|
-
import
|
|
4
|
-
import Editor from './editor';
|
|
1
|
+
import type { ContextApi } from '../types';
|
|
2
|
+
import CheckerLauncher from './components/checker';
|
|
3
|
+
import Editor from './editor/editor';
|
|
5
4
|
import SidebarLayer from './layer/sidebar-layer';
|
|
6
|
-
import
|
|
5
|
+
import List from './list/list';
|
|
6
|
+
import { PlugManager } from './plugins/editor-kit';
|
|
7
|
+
import { LayerManager } from './layer/layer-manager';
|
|
7
8
|
/**
|
|
8
9
|
* Services
|
|
9
10
|
*
|
|
10
|
-
* @description
|
|
11
|
-
* 当函数有返回值时,该值将自动添加到 Context 类作为一个 private 成员的值,
|
|
12
|
-
* 这个成员的名称与函数名对应。可在 Context 类中访问该对象(同事类)。
|
|
11
|
+
* @description Call these services by `ctx.get('serviceName')` or `ctx.serviceName`
|
|
13
12
|
*/
|
|
14
13
|
declare const services: {
|
|
15
|
-
i18n(ctx:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
update(obj?: Partial<import("../types/artalk-config").LocalUser>): void;
|
|
14
|
+
i18n(ctx: ContextApi): void;
|
|
15
|
+
user(ctx: ContextApi): {
|
|
16
|
+
data: import('../types').LocalUser;
|
|
17
|
+
onUserChanged: ((user: import('../types').LocalUser) => void) | null;
|
|
18
|
+
update(obj?: Partial<import('../types').LocalUser>): void;
|
|
19
|
+
setOnUserChanged(fn: ((user: import('../types').LocalUser) => void) | null): void;
|
|
22
20
|
logout(): void;
|
|
23
21
|
checkHasBasicUserInfo(): boolean;
|
|
24
22
|
};
|
|
25
|
-
|
|
26
|
-
checkerLauncher(ctx:
|
|
27
|
-
editor(ctx:
|
|
28
|
-
list(ctx:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
eventsDefault(ctx: Context): void;
|
|
32
|
-
darkMode(ctx: Context): void;
|
|
23
|
+
layerManager(ctx: ContextApi): LayerManager;
|
|
24
|
+
checkerLauncher(ctx: ContextApi): CheckerLauncher;
|
|
25
|
+
editor(ctx: ContextApi): Editor;
|
|
26
|
+
list(ctx: ContextApi): List;
|
|
27
|
+
sidebarLayer(ctx: ContextApi): SidebarLayer;
|
|
28
|
+
editorPlugs(): PlugManager | undefined;
|
|
33
29
|
};
|
|
34
30
|
export default services;
|
|
35
31
|
type TServiceImps = typeof services;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { I18n } from '../src/i18n';
|
|
2
|
+
import { CommentData } from './data';
|
|
3
|
+
export interface ArtalkConfig {
|
|
4
|
+
/** 装载元素 */
|
|
5
|
+
el: string | HTMLElement;
|
|
6
|
+
/** 页面唯一标识(完整 URL) */
|
|
7
|
+
pageKey: string;
|
|
8
|
+
/** 页面标题 */
|
|
9
|
+
pageTitle: string;
|
|
10
|
+
/** 服务器地址 */
|
|
11
|
+
server: string;
|
|
12
|
+
/** 站点名 */
|
|
13
|
+
site: string;
|
|
14
|
+
/** 评论框占位字符 */
|
|
15
|
+
placeholder: string;
|
|
16
|
+
/** 评论为空时显示字符 */
|
|
17
|
+
noComment: string;
|
|
18
|
+
/** 发送按钮文字 */
|
|
19
|
+
sendBtn: string;
|
|
20
|
+
/** 评论框穿梭(显示在待回复评论后面) */
|
|
21
|
+
editorTravel: boolean;
|
|
22
|
+
/** 表情包 */
|
|
23
|
+
emoticons: object | any[] | string | false;
|
|
24
|
+
/** Gravatar 头像 */
|
|
25
|
+
gravatar: {
|
|
26
|
+
/** API 地址 */
|
|
27
|
+
mirror: string;
|
|
28
|
+
/** API 参数 */
|
|
29
|
+
params: string;
|
|
30
|
+
};
|
|
31
|
+
/** 头像链接生成器 */
|
|
32
|
+
avatarURLBuilder?: (comment: CommentData) => string;
|
|
33
|
+
/** 分页配置 */
|
|
34
|
+
pagination: {
|
|
35
|
+
/** 每次请求获取数量 */
|
|
36
|
+
pageSize: number;
|
|
37
|
+
/** 阅读更多模式 */
|
|
38
|
+
readMore: boolean;
|
|
39
|
+
/** 滚动到底部自动加载 */
|
|
40
|
+
autoLoad: boolean;
|
|
41
|
+
};
|
|
42
|
+
/** 内容限高 */
|
|
43
|
+
heightLimit: {
|
|
44
|
+
/** 评论内容限高 */
|
|
45
|
+
content: number;
|
|
46
|
+
/** 子评论区域限高 */
|
|
47
|
+
children: number;
|
|
48
|
+
/** 滚动限高 */
|
|
49
|
+
scrollable: boolean;
|
|
50
|
+
};
|
|
51
|
+
/** 评论投票按钮 */
|
|
52
|
+
vote: boolean;
|
|
53
|
+
/** 评论投票反对按钮 */
|
|
54
|
+
voteDown: boolean;
|
|
55
|
+
/** 评论预览功能 */
|
|
56
|
+
preview: boolean;
|
|
57
|
+
/** 评论数绑定元素 Selector */
|
|
58
|
+
countEl: string;
|
|
59
|
+
/** PV 数绑定元素 Selector */
|
|
60
|
+
pvEl: string;
|
|
61
|
+
/** 夜间模式 */
|
|
62
|
+
darkMode: boolean | 'auto';
|
|
63
|
+
/** 请求超时(单位:秒) */
|
|
64
|
+
reqTimeout: number;
|
|
65
|
+
/** 平铺模式 */
|
|
66
|
+
flatMode: boolean | 'auto';
|
|
67
|
+
/** 嵌套模式 · 最大层数 */
|
|
68
|
+
nestMax: number;
|
|
69
|
+
/** 嵌套模式 · 排序方式 */
|
|
70
|
+
nestSort: 'DATE_ASC' | 'DATE_DESC';
|
|
71
|
+
/** 显示 UA 徽标 */
|
|
72
|
+
uaBadge: boolean;
|
|
73
|
+
/** 评论列表排序功能 (显示 Dropdown) */
|
|
74
|
+
listSort: boolean;
|
|
75
|
+
/** 图片上传功能 */
|
|
76
|
+
imgUpload: boolean;
|
|
77
|
+
/** 图片上传器 */
|
|
78
|
+
imgUploader?: (file: File) => Promise<string>;
|
|
79
|
+
/** 版本检测 */
|
|
80
|
+
versionCheck: boolean;
|
|
81
|
+
/** 引用后端配置 */
|
|
82
|
+
useBackendConf: boolean;
|
|
83
|
+
/** 语言本地化 */
|
|
84
|
+
locale: I18n | string;
|
|
85
|
+
/** 后端版本 (系统数据,用户不允许更改) */
|
|
86
|
+
apiVersion?: string;
|
|
87
|
+
/** Replacer for marked */
|
|
88
|
+
markedReplacers?: ((raw: string) => string)[];
|
|
89
|
+
/** 列表请求参数修改器 */
|
|
90
|
+
listFetchParamsModifier?: (params: any) => void;
|
|
91
|
+
remoteConfModifier?: (conf: Partial<ArtalkConfig>) => void;
|
|
92
|
+
listUnreadHighlight?: boolean;
|
|
93
|
+
scrollRelativeTo?: () => HTMLElement;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* 本地持久化用户数据
|
|
97
|
+
* @note 始终保持一层结构,不支持多层结构
|
|
98
|
+
*/
|
|
99
|
+
export interface LocalUser {
|
|
100
|
+
/** 昵称 */
|
|
101
|
+
nick: string;
|
|
102
|
+
/** 邮箱 */
|
|
103
|
+
email: string;
|
|
104
|
+
/** 链接 */
|
|
105
|
+
link: string;
|
|
106
|
+
/** TOKEN */
|
|
107
|
+
token: string;
|
|
108
|
+
/** 是否为管理员 */
|
|
109
|
+
isAdmin: boolean;
|
|
110
|
+
}
|