@opentiny/fluent-editor 4.1.0-alpha.1 → 4.1.0-alpha.2

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.
@@ -21,6 +21,7 @@ class FileModule {
21
21
  if (fileDom) {
22
22
  event.preventDefault();
23
23
  if (!this.quill.isEnabled()) {
24
+ this.downloadFile(fileDom);
24
25
  return;
25
26
  }
26
27
  if (this.fileBar) {
@@ -33,6 +34,22 @@ class FileModule {
33
34
  this.fileBar = null;
34
35
  }
35
36
  }
37
+ downloadFile(fileDom) {
38
+ var _a;
39
+ const fileName = fileDom.dataset.title || "";
40
+ const fileDownloadUrl = fileDom.getAttribute("href") || "";
41
+ if (fileDownloadUrl) {
42
+ const a = document.createElement("a");
43
+ a.href = fileDownloadUrl;
44
+ a.target = "_blank";
45
+ a.id = "exppub";
46
+ a.download = fileName;
47
+ document.body.appendChild(a);
48
+ const alink = document.getElementById("exppub");
49
+ alink == null ? void 0 : alink.click();
50
+ (_a = alink == null ? void 0 : alink.parentNode) == null ? void 0 : _a.removeChild(a);
51
+ }
52
+ }
36
53
  }
37
54
  export {
38
55
  FileModule
@@ -1 +1 @@
1
- {"version":3,"file":"file-module.es.js","sources":["../../../../../src/modules/file/modules/file-module.ts"],"sourcesContent":["import type FluentEditor from '../../../core/fluent-editor'\nimport Quill from 'quill'\nimport { File } from '../formats/file'\nimport { FileBar } from './file-bar'\n\nexport class FileModule {\n fileBar: FileBar\n\n static register() {\n Quill.register('formats/file', File, true)\n }\n\n constructor(public quill: FluentEditor) {\n this.quill = quill\n quill.root.addEventListener('click', event => this.clickEvent(event), false)\n }\n\n clickEvent(event: MouseEvent) {\n const target = event.target as HTMLElement\n const fileDom = target.closest('a.ql-file-item')\n const fileBar = target.closest('.ql-file-bar')\n\n if (fileDom) {\n event.preventDefault()\n // 在只读模式下不显示 file-bar\n if (!this.quill.isEnabled()) {\n return\n }\n if (this.fileBar) {\n this.fileBar.destroy()\n }\n this.fileBar = new FileBar(this.quill, fileDom)\n }\n else if (this.fileBar && !fileBar) {\n event.preventDefault()\n this.fileBar.destroy()\n this.fileBar = null\n }\n }\n}\n"],"names":[],"mappings":";;;;;;AAKO,MAAM,WAAW;AAAA,EAOtB,YAAmB,OAAqB;AANxC;AAMmB,SAAA,QAAA;AACjB,SAAK,QAAQ;AACb,UAAM,KAAK,iBAAiB,SAAS,CAAA,UAAS,KAAK,WAAW,KAAK,GAAG,KAAK;AAAA,EAC7E;AAAA,EAPA,OAAO,WAAW;AAChB,UAAM,SAAS,gBAAgB,MAAM,IAAI;AAAA,EAC3C;AAAA,EAOA,WAAW,OAAmB;AAC5B,UAAM,SAAS,MAAM;AACrB,UAAM,UAAU,OAAO,QAAQ,gBAAgB;AAC/C,UAAM,UAAU,OAAO,QAAQ,cAAc;AAE7C,QAAI,SAAS;AACX,YAAM,eAAA;AAEN,UAAI,CAAC,KAAK,MAAM,aAAa;AAC3B;AAAA,MACF;AACA,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ,QAAA;AAAA,MACf;AACA,WAAK,UAAU,IAAI,QAAQ,KAAK,OAAO,OAAO;AAAA,IAChD,WACS,KAAK,WAAW,CAAC,SAAS;AACjC,YAAM,eAAA;AACN,WAAK,QAAQ,QAAA;AACb,WAAK,UAAU;AAAA,IACjB;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"file-module.es.js","sources":["../../../../../src/modules/file/modules/file-module.ts"],"sourcesContent":["import type FluentEditor from '../../../core/fluent-editor'\nimport Quill from 'quill'\nimport { File } from '../formats/file'\nimport { FileBar } from './file-bar'\n\nexport class FileModule {\n fileBar: FileBar\n\n static register() {\n Quill.register('formats/file', File, true)\n }\n\n constructor(public quill: FluentEditor) {\n this.quill = quill\n quill.root.addEventListener('click', event => this.clickEvent(event), false)\n }\n\n clickEvent(event: MouseEvent) {\n const target = event.target as HTMLElement\n const fileDom = target.closest('a.ql-file-item')\n const fileBar = target.closest('.ql-file-bar')\n\n if (fileDom) {\n event.preventDefault()\n // 在只读模式下直接下载文件\n if (!this.quill.isEnabled()) {\n this.downloadFile(fileDom)\n return\n }\n if (this.fileBar) {\n this.fileBar.destroy()\n }\n this.fileBar = new FileBar(this.quill, fileDom)\n }\n else if (this.fileBar && !fileBar) {\n event.preventDefault()\n this.fileBar.destroy()\n this.fileBar = null\n }\n }\n\n downloadFile(fileDom: HTMLElement) {\n const fileName = fileDom.dataset.title || ''\n const fileDownloadUrl = fileDom.getAttribute('href') || ''\n if (fileDownloadUrl) {\n const a = document.createElement('a')\n a.href = fileDownloadUrl\n a.target = '_blank'\n a.id = 'exppub'\n a.download = fileName\n document.body.appendChild(a)\n const alink = document.getElementById('exppub')\n alink?.click()\n alink?.parentNode?.removeChild(a)\n }\n }\n}\n"],"names":[],"mappings":";;;;;;AAKO,MAAM,WAAW;AAAA,EAOtB,YAAmB,OAAqB;AANxC;AAMmB,SAAA,QAAA;AACjB,SAAK,QAAQ;AACb,UAAM,KAAK,iBAAiB,SAAS,CAAA,UAAS,KAAK,WAAW,KAAK,GAAG,KAAK;AAAA,EAC7E;AAAA,EAPA,OAAO,WAAW;AAChB,UAAM,SAAS,gBAAgB,MAAM,IAAI;AAAA,EAC3C;AAAA,EAOA,WAAW,OAAmB;AAC5B,UAAM,SAAS,MAAM;AACrB,UAAM,UAAU,OAAO,QAAQ,gBAAgB;AAC/C,UAAM,UAAU,OAAO,QAAQ,cAAc;AAE7C,QAAI,SAAS;AACX,YAAM,eAAA;AAEN,UAAI,CAAC,KAAK,MAAM,aAAa;AAC3B,aAAK,aAAa,OAAO;AACzB;AAAA,MACF;AACA,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ,QAAA;AAAA,MACf;AACA,WAAK,UAAU,IAAI,QAAQ,KAAK,OAAO,OAAO;AAAA,IAChD,WACS,KAAK,WAAW,CAAC,SAAS;AACjC,YAAM,eAAA;AACN,WAAK,QAAQ,QAAA;AACb,WAAK,UAAU;AAAA,IACjB;AAAA,EACF;AAAA,EAEA,aAAa,SAAsB;;AACjC,UAAM,WAAW,QAAQ,QAAQ,SAAS;AAC1C,UAAM,kBAAkB,QAAQ,aAAa,MAAM,KAAK;AACxD,QAAI,iBAAiB;AACnB,YAAM,IAAI,SAAS,cAAc,GAAG;AACpC,QAAE,OAAO;AACT,QAAE,SAAS;AACX,QAAE,KAAK;AACP,QAAE,WAAW;AACb,eAAS,KAAK,YAAY,CAAC;AAC3B,YAAM,QAAQ,SAAS,eAAe,QAAQ;AAC9C,qCAAO;AACP,2CAAO,eAAP,mBAAmB,YAAY;AAAA,IACjC;AAAA,EACF;AACF;"}
@@ -23,6 +23,7 @@ class FileModule {
23
23
  if (fileDom) {
24
24
  event.preventDefault();
25
25
  if (!this.quill.isEnabled()) {
26
+ this.downloadFile(fileDom);
26
27
  return;
27
28
  }
28
29
  if (this.fileBar) {
@@ -35,6 +36,22 @@ class FileModule {
35
36
  this.fileBar = null;
36
37
  }
37
38
  }
39
+ downloadFile(fileDom) {
40
+ var _a;
41
+ const fileName = fileDom.dataset.title || "";
42
+ const fileDownloadUrl = fileDom.getAttribute("href") || "";
43
+ if (fileDownloadUrl) {
44
+ const a = document.createElement("a");
45
+ a.href = fileDownloadUrl;
46
+ a.target = "_blank";
47
+ a.id = "exppub";
48
+ a.download = fileName;
49
+ document.body.appendChild(a);
50
+ const alink = document.getElementById("exppub");
51
+ alink == null ? void 0 : alink.click();
52
+ (_a = alink == null ? void 0 : alink.parentNode) == null ? void 0 : _a.removeChild(a);
53
+ }
54
+ }
38
55
  }
39
56
  exports.FileModule = FileModule;
40
57
  //# sourceMappingURL=file-module.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-module.cjs.js","sources":["../../../../../src/modules/file/modules/file-module.ts"],"sourcesContent":["import type FluentEditor from '../../../core/fluent-editor'\nimport Quill from 'quill'\nimport { File } from '../formats/file'\nimport { FileBar } from './file-bar'\n\nexport class FileModule {\n fileBar: FileBar\n\n static register() {\n Quill.register('formats/file', File, true)\n }\n\n constructor(public quill: FluentEditor) {\n this.quill = quill\n quill.root.addEventListener('click', event => this.clickEvent(event), false)\n }\n\n clickEvent(event: MouseEvent) {\n const target = event.target as HTMLElement\n const fileDom = target.closest('a.ql-file-item')\n const fileBar = target.closest('.ql-file-bar')\n\n if (fileDom) {\n event.preventDefault()\n // 在只读模式下不显示 file-bar\n if (!this.quill.isEnabled()) {\n return\n }\n if (this.fileBar) {\n this.fileBar.destroy()\n }\n this.fileBar = new FileBar(this.quill, fileDom)\n }\n else if (this.fileBar && !fileBar) {\n event.preventDefault()\n this.fileBar.destroy()\n this.fileBar = null\n }\n }\n}\n"],"names":["File","fileBar","FileBar"],"mappings":";;;;;;;;AAKO,MAAM,WAAW;AAAA,EAOtB,YAAmB,OAAqB;AANxC;AAMmB,SAAA,QAAA;AACjB,SAAK,QAAQ;AACb,UAAM,KAAK,iBAAiB,SAAS,CAAA,UAAS,KAAK,WAAW,KAAK,GAAG,KAAK;AAAA,EAC7E;AAAA,EAPA,OAAO,WAAW;AAChB,UAAM,SAAS,gBAAgBA,KAAAA,MAAM,IAAI;AAAA,EAC3C;AAAA,EAOA,WAAW,OAAmB;AAC5B,UAAM,SAAS,MAAM;AACrB,UAAM,UAAU,OAAO,QAAQ,gBAAgB;AAC/C,UAAMC,YAAU,OAAO,QAAQ,cAAc;AAE7C,QAAI,SAAS;AACX,YAAM,eAAA;AAEN,UAAI,CAAC,KAAK,MAAM,aAAa;AAC3B;AAAA,MACF;AACA,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ,QAAA;AAAA,MACf;AACA,WAAK,UAAU,IAAIC,QAAAA,QAAQ,KAAK,OAAO,OAAO;AAAA,IAChD,WACS,KAAK,WAAW,CAACD,WAAS;AACjC,YAAM,eAAA;AACN,WAAK,QAAQ,QAAA;AACb,WAAK,UAAU;AAAA,IACjB;AAAA,EACF;AACF;;"}
1
+ {"version":3,"file":"file-module.cjs.js","sources":["../../../../../src/modules/file/modules/file-module.ts"],"sourcesContent":["import type FluentEditor from '../../../core/fluent-editor'\nimport Quill from 'quill'\nimport { File } from '../formats/file'\nimport { FileBar } from './file-bar'\n\nexport class FileModule {\n fileBar: FileBar\n\n static register() {\n Quill.register('formats/file', File, true)\n }\n\n constructor(public quill: FluentEditor) {\n this.quill = quill\n quill.root.addEventListener('click', event => this.clickEvent(event), false)\n }\n\n clickEvent(event: MouseEvent) {\n const target = event.target as HTMLElement\n const fileDom = target.closest('a.ql-file-item')\n const fileBar = target.closest('.ql-file-bar')\n\n if (fileDom) {\n event.preventDefault()\n // 在只读模式下直接下载文件\n if (!this.quill.isEnabled()) {\n this.downloadFile(fileDom)\n return\n }\n if (this.fileBar) {\n this.fileBar.destroy()\n }\n this.fileBar = new FileBar(this.quill, fileDom)\n }\n else if (this.fileBar && !fileBar) {\n event.preventDefault()\n this.fileBar.destroy()\n this.fileBar = null\n }\n }\n\n downloadFile(fileDom: HTMLElement) {\n const fileName = fileDom.dataset.title || ''\n const fileDownloadUrl = fileDom.getAttribute('href') || ''\n if (fileDownloadUrl) {\n const a = document.createElement('a')\n a.href = fileDownloadUrl\n a.target = '_blank'\n a.id = 'exppub'\n a.download = fileName\n document.body.appendChild(a)\n const alink = document.getElementById('exppub')\n alink?.click()\n alink?.parentNode?.removeChild(a)\n }\n }\n}\n"],"names":["File","fileBar","FileBar"],"mappings":";;;;;;;;AAKO,MAAM,WAAW;AAAA,EAOtB,YAAmB,OAAqB;AANxC;AAMmB,SAAA,QAAA;AACjB,SAAK,QAAQ;AACb,UAAM,KAAK,iBAAiB,SAAS,CAAA,UAAS,KAAK,WAAW,KAAK,GAAG,KAAK;AAAA,EAC7E;AAAA,EAPA,OAAO,WAAW;AAChB,UAAM,SAAS,gBAAgBA,KAAAA,MAAM,IAAI;AAAA,EAC3C;AAAA,EAOA,WAAW,OAAmB;AAC5B,UAAM,SAAS,MAAM;AACrB,UAAM,UAAU,OAAO,QAAQ,gBAAgB;AAC/C,UAAMC,YAAU,OAAO,QAAQ,cAAc;AAE7C,QAAI,SAAS;AACX,YAAM,eAAA;AAEN,UAAI,CAAC,KAAK,MAAM,aAAa;AAC3B,aAAK,aAAa,OAAO;AACzB;AAAA,MACF;AACA,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ,QAAA;AAAA,MACf;AACA,WAAK,UAAU,IAAIC,QAAAA,QAAQ,KAAK,OAAO,OAAO;AAAA,IAChD,WACS,KAAK,WAAW,CAACD,WAAS;AACjC,YAAM,eAAA;AACN,WAAK,QAAQ,QAAA;AACb,WAAK,UAAU;AAAA,IACjB;AAAA,EACF;AAAA,EAEA,aAAa,SAAsB;;AACjC,UAAM,WAAW,QAAQ,QAAQ,SAAS;AAC1C,UAAM,kBAAkB,QAAQ,aAAa,MAAM,KAAK;AACxD,QAAI,iBAAiB;AACnB,YAAM,IAAI,SAAS,cAAc,GAAG;AACpC,QAAE,OAAO;AACT,QAAE,SAAS;AACX,QAAE,KAAK;AACP,QAAE,WAAW;AACb,eAAS,KAAK,YAAY,CAAC;AAC3B,YAAM,QAAQ,SAAS,eAAe,QAAQ;AAC9C,qCAAO;AACP,2CAAO,eAAP,mBAAmB,YAAY;AAAA,IACjC;AAAA,EACF;AACF;;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@opentiny/fluent-editor",
3
3
  "type": "module",
4
- "version": "4.1.0-alpha.1",
4
+ "version": "4.1.0-alpha.2",
5
5
  "description": "A rich text editor based on Quill 2.0, which extends rich modules and formats on the basis of Quill. It's powerful and out-of-the-box.",
6
6
  "author": "OpenTiny Team",
7
7
  "license": "MIT",
@@ -6,4 +6,5 @@ export declare class FileModule {
6
6
  static register(): void;
7
7
  constructor(quill: FluentEditor);
8
8
  clickEvent(event: MouseEvent): void;
9
+ downloadFile(fileDom: HTMLElement): void;
9
10
  }