artalk 2.6.4 → 2.7.1
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 +7756 -7432
- package/dist/Artalk.es.js.map +1 -0
- package/dist/Artalk.iife.js +2 -1
- package/dist/Artalk.iife.js.map +1 -0
- package/dist/Artalk.js +2 -1
- package/dist/Artalk.js.map +1 -0
- package/dist/ArtalkLite.css +1 -1
- package/dist/ArtalkLite.es.js +5576 -5252
- package/dist/ArtalkLite.es.js.map +1 -0
- package/dist/ArtalkLite.iife.js +2 -1
- package/dist/ArtalkLite.iife.js.map +1 -0
- package/dist/ArtalkLite.js +2 -1
- package/dist/ArtalkLite.js.map +1 -0
- package/dist/i18n/jp.js +1 -1
- package/dist/i18n/zh-TW.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 +12 -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/en.d.ts +3 -0
- package/dist/src/i18n/external.d.ts +3 -0
- package/dist/src/i18n/index.d.ts +9 -0
- package/dist/src/i18n/jp.d.ts +3 -0
- package/dist/src/i18n/zh-CN.d.ts +1 -1
- package/dist/src/i18n/zh-TW.d.ts +3 -0
- 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 +5 -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 +47 -99
- 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/en.ts +3 -0
- package/src/i18n/jp.ts +3 -0
- package/src/i18n/zh-CN.ts +4 -1
- package/src/i18n/zh-TW.ts +3 -0
- 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 +11 -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 +82 -0
- package/src/plugins/version-check.ts +36 -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
|
@@ -1,10 +1,25 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
export interface
|
|
5
|
-
|
|
6
|
-
mode: TPgMode;
|
|
1
|
+
import type { ContextApi, ListFetchParams } from '../../../types';
|
|
2
|
+
import UpDownPaginator from './up-down';
|
|
3
|
+
import ReadMorePaginator from './read-more';
|
|
4
|
+
export interface IPgHolderOpt {
|
|
5
|
+
ctx: ContextApi;
|
|
7
6
|
total: number;
|
|
8
7
|
pageSize: number;
|
|
8
|
+
readMoreAutoLoad?: boolean;
|
|
9
9
|
}
|
|
10
|
-
export
|
|
10
|
+
export interface Paginator {
|
|
11
|
+
create(opts: IPgHolderOpt): HTMLElement;
|
|
12
|
+
setLoading(val: boolean): void;
|
|
13
|
+
update(offset: number, total: number): void;
|
|
14
|
+
next(): void;
|
|
15
|
+
showErr?(msg: string): void;
|
|
16
|
+
getHasMore(): boolean;
|
|
17
|
+
/** Clear comments when fetch new page data */
|
|
18
|
+
getIsClearComments(params: Partial<ListFetchParams>): boolean;
|
|
19
|
+
dispose(): void;
|
|
20
|
+
}
|
|
21
|
+
declare const _default: {
|
|
22
|
+
UpDownPaginator: typeof UpDownPaginator;
|
|
23
|
+
ReadMorePaginator: typeof ReadMorePaginator;
|
|
24
|
+
};
|
|
25
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ListFetchParams } from '../../../types';
|
|
2
|
+
import type { Paginator, IPgHolderOpt } from '.';
|
|
3
|
+
/**
|
|
4
|
+
* 阅读更多形式的分页
|
|
5
|
+
*/
|
|
6
|
+
export default class ReadMorePaginator implements Paginator {
|
|
7
|
+
private instance;
|
|
8
|
+
private onReachedBottom;
|
|
9
|
+
private opt;
|
|
10
|
+
create(opt: IPgHolderOpt): HTMLElement;
|
|
11
|
+
setLoading(val: boolean): void;
|
|
12
|
+
update(offset: number, total: number): void;
|
|
13
|
+
showErr(msg: string): void;
|
|
14
|
+
next(): void;
|
|
15
|
+
getHasMore(): boolean;
|
|
16
|
+
getIsClearComments(params: Partial<ListFetchParams>): boolean;
|
|
17
|
+
dispose(): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Paginator, IPgHolderOpt } from '.';
|
|
2
|
+
/**
|
|
3
|
+
* 翻页形式的分页
|
|
4
|
+
*/
|
|
5
|
+
export default class UpDownPaginator implements Paginator {
|
|
6
|
+
private instance;
|
|
7
|
+
create(opt: IPgHolderOpt): HTMLElement;
|
|
8
|
+
setLoading(val: boolean): void;
|
|
9
|
+
update(offset: number, total: number): void;
|
|
10
|
+
next(): void;
|
|
11
|
+
getHasMore(): boolean;
|
|
12
|
+
getIsClearComments(): boolean;
|
|
13
|
+
dispose(): void;
|
|
14
|
+
}
|
package/dist/src/main.d.ts
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
import Artalk from './artalk';
|
|
2
|
+
import * as ArtalkType from '../types';
|
|
3
|
+
export { ArtalkType };
|
|
2
4
|
export default Artalk;
|
|
5
|
+
export declare const init: typeof Artalk.init;
|
|
6
|
+
export declare const use: typeof Artalk.use;
|
|
7
|
+
export declare const loadCountWidget: typeof Artalk.loadCountWidget;
|
|
@@ -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 {};
|