@lingxiteam/lcdp-ueditor-react 1.0.0-alpha.2 → 1.0.0-alpha.21

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.
Files changed (132) hide show
  1. package/es/LcdpUeditor.d.ts +4 -0
  2. package/es/LcdpUeditor.js +76 -51
  3. package/es/const.js +4 -4
  4. package/es/defaultConfig.json +76 -76
  5. package/es/tools/UeditorResourceLoader.js +6 -6
  6. package/es/tools/filterHtmlNode.d.ts +5 -0
  7. package/es/tools/filterHtmlNode.js +41 -0
  8. package/es/tools/loadScript.js +3 -3
  9. package/es/type.d.ts +7 -1
  10. package/lib/LcdpUeditor.d.ts +80 -0
  11. package/lib/LcdpUeditor.js +268 -0
  12. package/lib/const.d.ts +12 -0
  13. package/lib/const.js +39 -0
  14. package/lib/defaultConfig.json +77 -0
  15. package/lib/index.d.ts +4 -0
  16. package/lib/index.js +41 -0
  17. package/lib/tools/UeditorResourceLoader.d.ts +21 -0
  18. package/lib/tools/UeditorResourceLoader.js +90 -0
  19. package/lib/tools/filterHtmlNode.d.ts +5 -0
  20. package/lib/tools/filterHtmlNode.js +61 -0
  21. package/lib/tools/loadScript.d.ts +5 -0
  22. package/lib/tools/loadScript.js +39 -0
  23. package/lib/type.d.ts +148 -0
  24. package/lib/type.js +17 -0
  25. package/package.json +32 -32
  26. package/ueditor-resource/dialogs/anchor/anchor.html +62 -62
  27. package/ueditor-resource/dialogs/attachment/attachment.css +716 -716
  28. package/ueditor-resource/dialogs/attachment/attachment.html +61 -61
  29. package/ueditor-resource/dialogs/attachment/attachment.js +803 -803
  30. package/ueditor-resource/dialogs/audio/audio.css +879 -879
  31. package/ueditor-resource/dialogs/audio/audio.html +93 -93
  32. package/ueditor-resource/dialogs/audio/audio.js +815 -815
  33. package/ueditor-resource/dialogs/background/background.css +193 -193
  34. package/ueditor-resource/dialogs/background/background.html +59 -59
  35. package/ueditor-resource/dialogs/background/background.js +370 -370
  36. package/ueditor-resource/dialogs/contentimport/contentimport.html +176 -176
  37. package/ueditor-resource/dialogs/contentimport/contentimport.js +91 -91
  38. package/ueditor-resource/dialogs/emotion/emotion.css +129 -129
  39. package/ueditor-resource/dialogs/emotion/emotion.html +70 -70
  40. package/ueditor-resource/dialogs/emotion/emotion.js +186 -186
  41. package/ueditor-resource/dialogs/formula/formula.html +98 -98
  42. package/ueditor-resource/dialogs/formula/formula.js +147 -147
  43. package/ueditor-resource/dialogs/help/help.css +37 -37
  44. package/ueditor-resource/dialogs/help/help.html +82 -82
  45. package/ueditor-resource/dialogs/help/help.js +57 -57
  46. package/ueditor-resource/dialogs/image/image.css +768 -768
  47. package/ueditor-resource/dialogs/image/image.html +144 -144
  48. package/ueditor-resource/dialogs/image/image.js +1060 -1060
  49. package/ueditor-resource/dialogs/insertframe/insertframe.html +135 -135
  50. package/ueditor-resource/dialogs/internal.js +81 -81
  51. package/ueditor-resource/dialogs/link/link.html +148 -148
  52. package/ueditor-resource/dialogs/preview/preview.html +45 -45
  53. package/ueditor-resource/dialogs/scrawl/scrawl.css +324 -324
  54. package/ueditor-resource/dialogs/scrawl/scrawl.html +95 -95
  55. package/ueditor-resource/dialogs/scrawl/scrawl.js +682 -682
  56. package/ueditor-resource/dialogs/searchreplace/searchreplace.html +144 -144
  57. package/ueditor-resource/dialogs/searchreplace/searchreplace.js +174 -174
  58. package/ueditor-resource/dialogs/spechars/spechars.html +42 -42
  59. package/ueditor-resource/dialogs/spechars/spechars.js +86 -86
  60. package/ueditor-resource/dialogs/table/edittable.css +85 -85
  61. package/ueditor-resource/dialogs/table/edittable.html +69 -69
  62. package/ueditor-resource/dialogs/table/edittable.js +241 -241
  63. package/ueditor-resource/dialogs/table/edittd.html +62 -62
  64. package/ueditor-resource/dialogs/table/edittip.html +33 -33
  65. package/ueditor-resource/dialogs/template/config.js +42 -42
  66. package/ueditor-resource/dialogs/template/template.css +99 -99
  67. package/ueditor-resource/dialogs/template/template.html +26 -26
  68. package/ueditor-resource/dialogs/template/template.js +53 -53
  69. package/ueditor-resource/dialogs/video/video.css +909 -909
  70. package/ueditor-resource/dialogs/video/video.html +114 -114
  71. package/ueditor-resource/dialogs/video/video.js +867 -867
  72. package/ueditor-resource/dialogs/wordimage/wordimage.html +221 -221
  73. package/ueditor-resource/dialogs/wordimage/wordimage.js +93 -93
  74. package/ueditor-resource/lang/en/en.js +686 -686
  75. package/ueditor-resource/lang/zh-cn/zh-cn.js +748 -748
  76. package/ueditor-resource/lang/zh-tw/images/copy.png +0 -0
  77. package/ueditor-resource/lang/zh-tw/images/localimage.png +0 -0
  78. package/ueditor-resource/lang/zh-tw/images/music.png +0 -0
  79. package/ueditor-resource/lang/zh-tw/images/upload.png +0 -0
  80. package/ueditor-resource/lang/zh-tw/zh-tw.js +748 -0
  81. package/ueditor-resource/plugins/demo/demo.js +3 -3
  82. package/ueditor-resource/themes/default/css/ueditor.css +2148 -2148
  83. package/ueditor-resource/themes/default/dialog.css +17 -17
  84. package/ueditor-resource/themes/default/dialogbase.css +132 -132
  85. package/ueditor-resource/themes/default/exts/ai.svg +12 -12
  86. package/ueditor-resource/themes/default/exts/apk.svg +12 -12
  87. package/ueditor-resource/themes/default/exts/chm.svg +12 -12
  88. package/ueditor-resource/themes/default/exts/css.svg +12 -12
  89. package/ueditor-resource/themes/default/exts/doc.svg +22 -22
  90. package/ueditor-resource/themes/default/exts/docx.svg +22 -22
  91. package/ueditor-resource/themes/default/exts/dwg.svg +16 -16
  92. package/ueditor-resource/themes/default/exts/folder.svg +3 -3
  93. package/ueditor-resource/themes/default/exts/gif.svg +14 -14
  94. package/ueditor-resource/themes/default/exts/html.svg +12 -12
  95. package/ueditor-resource/themes/default/exts/jpeg.svg +14 -14
  96. package/ueditor-resource/themes/default/exts/jpg.svg +14 -14
  97. package/ueditor-resource/themes/default/exts/log.svg +12 -12
  98. package/ueditor-resource/themes/default/exts/mp3.svg +14 -14
  99. package/ueditor-resource/themes/default/exts/mp4.svg +12 -12
  100. package/ueditor-resource/themes/default/exts/pdf.svg +14 -14
  101. package/ueditor-resource/themes/default/exts/png.svg +14 -14
  102. package/ueditor-resource/themes/default/exts/ppt.svg +24 -24
  103. package/ueditor-resource/themes/default/exts/pptx.svg +24 -24
  104. package/ueditor-resource/themes/default/exts/psd.svg +12 -12
  105. package/ueditor-resource/themes/default/exts/rar.svg +12 -12
  106. package/ueditor-resource/themes/default/exts/svg.svg +12 -12
  107. package/ueditor-resource/themes/default/exts/torrent.svg +14 -14
  108. package/ueditor-resource/themes/default/exts/txt.svg +14 -14
  109. package/ueditor-resource/themes/default/exts/unknown.svg +12 -12
  110. package/ueditor-resource/themes/default/exts/xls.svg +25 -25
  111. package/ueditor-resource/themes/default/exts/xlsx.svg +25 -25
  112. package/ueditor-resource/themes/default/exts/zip.svg +12 -12
  113. package/ueditor-resource/themes/iframe.css +63 -63
  114. package/ueditor-resource/third-party/SyntaxHighlighter/shCore.js +3655 -3655
  115. package/ueditor-resource/third-party/clipboard/clipboard.js +752 -752
  116. package/ueditor-resource/third-party/codemirror/codemirror.css +106 -106
  117. package/ueditor-resource/third-party/codemirror/codemirror.js +3581 -3581
  118. package/ueditor-resource/third-party/jquery-3.5.1.js +1 -1
  119. package/ueditor-resource/third-party/jquery-3.5.1_1.js +4314 -4314
  120. package/ueditor-resource/third-party/webuploader/webuploader.css +88 -88
  121. package/ueditor-resource/third-party/webuploader/webuploader.js +3 -3
  122. package/ueditor-resource/third-party/zeroclipboard/ZeroClipboard.js +1255 -1255
  123. package/ueditor-resource/ueditor.all.js +5271 -5270
  124. package/ueditor-resource/ueditor.config.js +655 -656
  125. package/ueditor-resource/ueditor.parse.js +13 -13
  126. package/es/LcdpUeditor.d.ts.map +0 -1
  127. package/es/const.d.ts.map +0 -1
  128. package/es/index.d.ts.map +0 -1
  129. package/es/tools/UeditorResourceLoader.d.ts.map +0 -1
  130. package/es/tools/loadScript.d.ts.map +0 -1
  131. package/es/type.d.ts.map +0 -1
  132. package/ueditor-resource/index.html +0 -146
@@ -1,221 +1,221 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2
- "http://www.w3.org/TR/html4/loose.dtd">
3
- <html>
4
- <head>
5
- <title></title>
6
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
7
- <script type="text/javascript" src="../internal.js?32939b8e"></script>
8
- <style type="text/css">
9
- .wrapper {
10
- width: 600px;
11
- padding: 10px;
12
- height: 352px;
13
- overflow: hidden;
14
- position: relative;
15
- border-bottom: 1px solid #d7d7d7
16
- }
17
-
18
- .wrapper .image-info {
19
- display: flex;
20
- align-items: center;
21
- }
22
-
23
- .wrapper .image-info .input {
24
- flex-grow: 1;
25
- display: flex;
26
- }
27
-
28
- .wrapper .image-info .input input {
29
- display: block;
30
- border: 1px solid #CCC;
31
- height: 23px;
32
- border-radius: 3px;
33
- flex-grow: 1;
34
- outline: none;
35
- }
36
-
37
- .wrapper .image-info .copy {
38
- width: 60px;
39
- cursor: pointer;
40
- margin: 0 5px;
41
- }
42
-
43
- .wrapper .image-info .copy div {
44
- height: 30px;
45
- font-size: 12px;
46
- line-height: 28px;
47
- cursor: pointer;
48
- border-radius: 4px;
49
- text-align: center;
50
- background-color: #F8F8F8;
51
- border: 1px solid #EEE;
52
- }
53
-
54
- .wrapper .image-info .action {
55
- width: 100px;
56
- cursor: pointer;
57
- }
58
-
59
- .wrapper .image-info .action .save-from-local {
60
- position: relative;
61
- height: 30px;
62
- font-size: 12px;
63
- line-height: 28px;
64
- cursor: pointer;
65
- border-radius: 4px;
66
- text-align: center;
67
- background-color: #F8F8F8;
68
- border: 1px solid #EEE;
69
- }
70
-
71
- .wrapper .image-info .action .save-from-local input {
72
- position: absolute;
73
- left: 0;
74
- top: 0;
75
- opacity: 0;
76
- cursor: pointer;
77
- }
78
-
79
- .wrapper .image-manual {
80
- background: #EEE;
81
- padding: 10px;
82
- border-radius: 5px;
83
- margin-top: 10px;
84
- line-height: 2;
85
- }
86
-
87
- .wrapper .image-manual .title {
88
- font-weight: bold;
89
- font-size: 120%;
90
- }
91
-
92
- .wrapper .image-manual .body {
93
- }
94
- </style>
95
- </head>
96
- <body>
97
- <div class="wrapper">
98
- <div class="image-info">
99
- <div class="input">
100
- <input type="text" id="fileUrl"/>
101
- </div>
102
- <div class="copy">
103
- <div id="copyButton">复制路径</div>
104
- </div>
105
- <div class="action">
106
- <div class="save-from-local">
107
- <div>本地选择保存</div>
108
- <input type="file" id="saveFile" multiple=true/>
109
- </div>
110
- </div>
111
- </div>
112
- <div class="image-tip"></div>
113
- <div class="image-manual">
114
- <div class="title">
115
- Windows使用教程
116
- </div>
117
- <div class="body">
118
- <p>1、点击复制地址按钮</p>
119
- <p>2、点击本地选择文件,粘贴剪切板的路径到文件选择路径</p>
120
- <p>3、点击确定</p>
121
- </div>
122
- <div class="title">
123
- Mac使用教程
124
- </div>
125
- <div class="body">
126
- <p>1、点击复制地址按钮</p>
127
- <p>2、点击本地选择文件,按快捷 Command+Shift+G ,粘贴剪切板的路径到文件选择路径</p>
128
- <p>3、点击确定</p>
129
- </div>
130
- </div>
131
- </div>
132
- <script src="../../third-party/jquery-3.5.1.js?89c36344"></script>
133
- <script src="../../third-party/webuploader/webuploader.js?f37088cc"></script>
134
- <script type="text/javascript" src="../../third-party/clipboard/clipboard.js?7af7cd91"></script>
135
- <script type="text/javascript" src="wordimage.js?61427c9d"></script>
136
- <script type="text/javascript">
137
- editor.setOpt({
138
- wordImageFieldName: "upfile",
139
- compressSide: 0,
140
- maxImageSideLength: 900
141
- });
142
- //全局变量
143
- var imageUrls = [], //用于保存从服务器返回的图片信息数组
144
- selectedImageCount = 0, //当前已选择的但未上传的图片数量
145
- optImageUrl = editor.getActionUrl(editor.getOpt('imageActionName')),
146
- optImageFieldName = editor.getOpt('imageFieldName'),
147
- optImageCompressBorder = editor.getOpt('imageCompressEnable') ? editor.getOpt('imageCompressBorder') : null,
148
- maxSize = editor.getOpt('imageMaxSize') / 1024 / 1024,
149
- extension = editor.getOpt('imageAllowFiles').join(';').replace(/\./g, '*.');
150
-
151
- /* 添加额外的GET参数 */
152
- var params = utils.serializeParam(editor.queryCommandValue('serverparam')) || '',
153
- urlWidthParams = optImageUrl + (optImageUrl.indexOf('?') == -1 ? '?' : '&') + params;
154
-
155
- var uploader,
156
- actionUrl = editor.getActionUrl(editor.getOpt('imageActionName')),
157
- acceptExtensions = (editor.getOpt('imageAllowFiles') || []).join('').replace(/\./g, ',').replace(/^[,]/, ''),
158
- imageMaxSize = editor.getOpt('imageMaxSize'),
159
- imageCompressBorder = editor.getOpt('imageCompressBorder');
160
- uploader = WebUploader.create({
161
- accept: {
162
- title: 'Images',
163
- extensions: acceptExtensions,
164
- mimeTypes: 'image/*'
165
- },
166
- swf: '../../third-party/webuploader/Uploader.swf',
167
- server: actionUrl,
168
- fileVal: editor.getOpt('imageFieldName'),
169
- duplicate: true,
170
- fileSingleSizeLimit: imageMaxSize, // 默认 2 M
171
- threads: 1,
172
- compress: editor.getOpt('imageCompressEnable') ? {
173
- width: imageCompressBorder,
174
- height: imageCompressBorder,
175
- // 图片质量,只有type为`image/jpeg`的时候才有效。
176
- quality: 90,
177
- // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false.
178
- allowMagnify: false,
179
- // 是否允许裁剪。
180
- crop: false,
181
- // 是否保留头部meta信息。
182
- preserveHeaders: true
183
- } : false
184
- });
185
- uploader.on('uploadSuccess', function (file, res) {
186
- if ('state' in res) {
187
- if (res.state === 'SUCCESS') {
188
- if (res.url) {
189
- imageUrls.push({
190
- name: file.name,
191
- url: res.url,
192
- title: '',
193
- });
194
- $('.image-tip').html('<span style="color:#139213;">图片' + imageUrls.length + '(' + file.name + ')' + '转存成功</span>');
195
- } else {
196
- $('.image-tip').html('上传失败:' + JSON.stringify(res))
197
- }
198
- // 触发上传附件事件
199
- editor.fireEvent("uploadsuccess", {
200
- res: res,
201
- type: 'image'
202
- });
203
- } else {
204
- $('.image-tip').html('上传失败:' + JSON.stringify(res))
205
- }
206
- } else {
207
- $('.image-tip').html('上传失败:' + JSON.stringify(res))
208
- }
209
- });
210
- uploader.on('uploadFinished', function () {
211
- $('.image-tip').html('<span style="color:#139213;">转存成功,请提交确认</span>');
212
- });
213
- utils.domReady(function () {
214
- var options = {};
215
- var callbacks = {};
216
- wordImage.init(options, callbacks);
217
- });
218
- </script>
219
-
220
- </body>
221
- </html>
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2
+ "http://www.w3.org/TR/html4/loose.dtd">
3
+ <html>
4
+ <head>
5
+ <title></title>
6
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
7
+ <script type="text/javascript" src="../internal.js?aea0c61c"></script>
8
+ <style type="text/css">
9
+ .wrapper {
10
+ width: 600px;
11
+ padding: 10px;
12
+ height: 352px;
13
+ overflow: hidden;
14
+ position: relative;
15
+ border-bottom: 1px solid #d7d7d7
16
+ }
17
+
18
+ .wrapper .image-info {
19
+ display: flex;
20
+ align-items: center;
21
+ }
22
+
23
+ .wrapper .image-info .input {
24
+ flex-grow: 1;
25
+ display: flex;
26
+ }
27
+
28
+ .wrapper .image-info .input input {
29
+ display: block;
30
+ border: 1px solid #CCC;
31
+ height: 23px;
32
+ border-radius: 3px;
33
+ flex-grow: 1;
34
+ outline: none;
35
+ }
36
+
37
+ .wrapper .image-info .copy {
38
+ width: 60px;
39
+ cursor: pointer;
40
+ margin: 0 5px;
41
+ }
42
+
43
+ .wrapper .image-info .copy div {
44
+ height: 30px;
45
+ font-size: 12px;
46
+ line-height: 28px;
47
+ cursor: pointer;
48
+ border-radius: 4px;
49
+ text-align: center;
50
+ background-color: #F8F8F8;
51
+ border: 1px solid #EEE;
52
+ }
53
+
54
+ .wrapper .image-info .action {
55
+ width: 100px;
56
+ cursor: pointer;
57
+ }
58
+
59
+ .wrapper .image-info .action .save-from-local {
60
+ position: relative;
61
+ height: 30px;
62
+ font-size: 12px;
63
+ line-height: 28px;
64
+ cursor: pointer;
65
+ border-radius: 4px;
66
+ text-align: center;
67
+ background-color: #F8F8F8;
68
+ border: 1px solid #EEE;
69
+ }
70
+
71
+ .wrapper .image-info .action .save-from-local input {
72
+ position: absolute;
73
+ left: 0;
74
+ top: 0;
75
+ opacity: 0;
76
+ cursor: pointer;
77
+ }
78
+
79
+ .wrapper .image-manual {
80
+ background: #EEE;
81
+ padding: 10px;
82
+ border-radius: 5px;
83
+ margin-top: 10px;
84
+ line-height: 2;
85
+ }
86
+
87
+ .wrapper .image-manual .title {
88
+ font-weight: bold;
89
+ font-size: 120%;
90
+ }
91
+
92
+ .wrapper .image-manual .body {
93
+ }
94
+ </style>
95
+ </head>
96
+ <body>
97
+ <div class="wrapper">
98
+ <div class="image-info">
99
+ <div class="input">
100
+ <input type="text" id="fileUrl"/>
101
+ </div>
102
+ <div class="copy">
103
+ <div id="copyButton">复制路径</div>
104
+ </div>
105
+ <div class="action">
106
+ <div class="save-from-local">
107
+ <div>本地选择保存</div>
108
+ <input type="file" id="saveFile" multiple=true/>
109
+ </div>
110
+ </div>
111
+ </div>
112
+ <div class="image-tip"></div>
113
+ <div class="image-manual">
114
+ <div class="title">
115
+ Windows使用教程
116
+ </div>
117
+ <div class="body">
118
+ <p>1、点击复制地址按钮</p>
119
+ <p>2、点击本地选择文件,粘贴剪切板的路径到文件选择路径</p>
120
+ <p>3、点击确定</p>
121
+ </div>
122
+ <div class="title">
123
+ Mac使用教程
124
+ </div>
125
+ <div class="body">
126
+ <p>1、点击复制地址按钮</p>
127
+ <p>2、点击本地选择文件,按快捷 Command+Shift+G ,粘贴剪切板的路径到文件选择路径</p>
128
+ <p>3、点击确定</p>
129
+ </div>
130
+ </div>
131
+ </div>
132
+ <script src="../../third-party/jquery-3.5.1.js?064a9f9e"></script>
133
+ <script src="../../third-party/webuploader/webuploader.js?6da2823d"></script>
134
+ <script type="text/javascript" src="../../third-party/clipboard/clipboard.js?555edf0a"></script>
135
+ <script type="text/javascript" src="wordimage.js?f4efe813"></script>
136
+ <script type="text/javascript">
137
+ editor.setOpt({
138
+ wordImageFieldName: "upfile",
139
+ compressSide: 0,
140
+ maxImageSideLength: 900
141
+ });
142
+ //全局变量
143
+ var imageUrls = [], //用于保存从服务器返回的图片信息数组
144
+ selectedImageCount = 0, //当前已选择的但未上传的图片数量
145
+ optImageUrl = editor.getActionUrl(editor.getOpt('imageActionName')),
146
+ optImageFieldName = editor.getOpt('imageFieldName'),
147
+ optImageCompressBorder = editor.getOpt('imageCompressEnable') ? editor.getOpt('imageCompressBorder') : null,
148
+ maxSize = editor.getOpt('imageMaxSize') / 1024 / 1024,
149
+ extension = editor.getOpt('imageAllowFiles').join(';').replace(/\./g, '*.');
150
+
151
+ /* 添加额外的GET参数 */
152
+ var params = utils.serializeParam(editor.queryCommandValue('serverparam')) || '',
153
+ urlWidthParams = optImageUrl + (optImageUrl.indexOf('?') == -1 ? '?' : '&') + params;
154
+
155
+ var uploader,
156
+ actionUrl = editor.getActionUrl(editor.getOpt('imageActionName')),
157
+ acceptExtensions = (editor.getOpt('imageAllowFiles') || []).join('').replace(/\./g, ',').replace(/^[,]/, ''),
158
+ imageMaxSize = editor.getOpt('imageMaxSize'),
159
+ imageCompressBorder = editor.getOpt('imageCompressBorder');
160
+ uploader = WebUploader.create({
161
+ accept: {
162
+ title: 'Images',
163
+ extensions: acceptExtensions,
164
+ mimeTypes: 'image/*'
165
+ },
166
+ swf: '../../third-party/webuploader/Uploader.swf',
167
+ server: actionUrl,
168
+ fileVal: editor.getOpt('imageFieldName'),
169
+ duplicate: true,
170
+ fileSingleSizeLimit: imageMaxSize, // 默认 2 M
171
+ threads: 1,
172
+ compress: editor.getOpt('imageCompressEnable') ? {
173
+ width: imageCompressBorder,
174
+ height: imageCompressBorder,
175
+ // 图片质量,只有type为`image/jpeg`的时候才有效。
176
+ quality: 90,
177
+ // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false.
178
+ allowMagnify: false,
179
+ // 是否允许裁剪。
180
+ crop: false,
181
+ // 是否保留头部meta信息。
182
+ preserveHeaders: true
183
+ } : false
184
+ });
185
+ uploader.on('uploadSuccess', function (file, res) {
186
+ if ('state' in res) {
187
+ if (res.state === 'SUCCESS') {
188
+ if (res.url) {
189
+ imageUrls.push({
190
+ name: file.name,
191
+ url: res.url,
192
+ title: '',
193
+ });
194
+ $('.image-tip').html('<span style="color:#139213;">图片' + imageUrls.length + '(' + file.name + ')' + '转存成功</span>');
195
+ } else {
196
+ $('.image-tip').html('上传失败:' + JSON.stringify(res))
197
+ }
198
+ // 触发上传附件事件
199
+ editor.fireEvent("uploadsuccess", {
200
+ res: res,
201
+ type: 'image'
202
+ });
203
+ } else {
204
+ $('.image-tip').html('上传失败:' + JSON.stringify(res))
205
+ }
206
+ } else {
207
+ $('.image-tip').html('上传失败:' + JSON.stringify(res))
208
+ }
209
+ });
210
+ uploader.on('uploadFinished', function () {
211
+ $('.image-tip').html('<span style="color:#139213;">转存成功,请提交确认</span>');
212
+ });
213
+ utils.domReady(function () {
214
+ var options = {};
215
+ var callbacks = {};
216
+ wordImage.init(options, callbacks);
217
+ });
218
+ </script>
219
+
220
+ </body>
221
+ </html>
@@ -1,93 +1,93 @@
1
- /**
2
- * Created by JetBrains PhpStorm.
3
- * User: taoqili
4
- * Date: 12-1-30
5
- * Time: 下午12:50
6
- * To change this template use File | Settings | File Templates.
7
- */
8
- var wordImage = {};
9
- var g = $G, flashObj, flashContainer;
10
-
11
- wordImage.init = function (opt, callbacks) {
12
- showLocalPath("fileUrl");
13
- createCopyButton("copyButton", "fileUrl");
14
- addUploadButtonListener();
15
- addOkListener();
16
- };
17
-
18
- function addUploadButtonListener() {
19
- g('saveFile').addEventListener('change', function () {
20
- $('.image-tip').html('正在转存,请稍后...');
21
- uploader.addFile(this.files);
22
- uploader.upload();
23
- });
24
- }
25
-
26
-
27
- function addOkListener() {
28
- dialog.onok = function () {
29
- //console.log('imageUrls',imageUrls);
30
- if (!imageUrls.length) return;
31
- var urlPrefix = editor.getOpt('imageUrlPrefix'),
32
- images = domUtils.getElementsByTagName(editor.document, "img");
33
- editor.fireEvent('saveScene');
34
- // console.log('images',images,imageUrls);
35
- for (var i = 0, img; img = images[i++];) {
36
- var src = img.getAttribute("data-word-image");
37
- if (!src) continue;
38
- for (var j = 0, url; url = imageUrls[j++];) {
39
- // console.log('url',src, url);
40
- if (src.indexOf(url.name.replace(" ", "")) != -1) {
41
- img.src = urlPrefix + url.url;
42
- img.setAttribute("_src", urlPrefix + url.url); //同时修改"_src"属性
43
- img.setAttribute("title", url.title);
44
- domUtils.removeAttributes(img, ["data-word-image", "style", "width", "height"]);
45
- editor.fireEvent("selectionchange");
46
- break;
47
- }
48
- }
49
- }
50
- editor.fireEvent('saveScene');
51
- // hideFlash();
52
- };
53
- dialog.oncancel = function () {
54
- //hideFlash();
55
- };
56
- }
57
-
58
- function showLocalPath(id) {
59
- //单张编辑
60
- var img = editor.selection.getRange().getClosedNode();
61
- var images = editor.execCommand('wordimage');
62
- if (images.length == 1 || img && img.tagName == 'IMG') {
63
- g(id).value = images[0];
64
- return;
65
- }
66
- var path = images[0];
67
- var leftSlashIndex = path.lastIndexOf("/") || 0, //不同版本的doc和浏览器都可能影响到这个符号,故直接判断两种
68
- rightSlashIndex = path.lastIndexOf("\\") || 0,
69
- separater = leftSlashIndex > rightSlashIndex ? "/" : "\\";
70
-
71
- path = path.substring(0, path.lastIndexOf(separater) + 1);
72
- g(id).value = path;
73
- //增提醒用户选择哪些文件
74
- var names = [];
75
- for (var i = 0, len = images.length; i < len; i++) {
76
- var img = images[i];
77
- names.push(img.substring(img.lastIndexOf(separater) + 1, img.length));
78
- }
79
- $('.image-tip').html('<span style="color:#ff0000;">请选择:' + names.join("、") + "共" + images.length + '个文件</span>');
80
- }
81
-
82
- function createCopyButton(id, dataFrom) {
83
- var url = g(dataFrom).value;
84
- if (url.startsWith("file:////")) {
85
- url = url.substring(8);
86
- }
87
- url = decodeURI(url);
88
- g(id).setAttribute("data-clipboard-text", url);
89
- var clipboard = new Clipboard('[data-clipboard-text]')
90
- clipboard.on('success', function (e) {
91
- g('copyButton').innerHTML = '复制成功';
92
- });
93
- }
1
+ /**
2
+ * Created by JetBrains PhpStorm.
3
+ * User: taoqili
4
+ * Date: 12-1-30
5
+ * Time: 下午12:50
6
+ * To change this template use File | Settings | File Templates.
7
+ */
8
+ var wordImage = {};
9
+ var g = $G, flashObj, flashContainer;
10
+
11
+ wordImage.init = function (opt, callbacks) {
12
+ showLocalPath("fileUrl");
13
+ createCopyButton("copyButton", "fileUrl");
14
+ addUploadButtonListener();
15
+ addOkListener();
16
+ };
17
+
18
+ function addUploadButtonListener() {
19
+ g('saveFile').addEventListener('change', function () {
20
+ $('.image-tip').html('正在转存,请稍后...');
21
+ uploader.addFile(this.files);
22
+ uploader.upload();
23
+ });
24
+ }
25
+
26
+
27
+ function addOkListener() {
28
+ dialog.onok = function () {
29
+ //console.log('imageUrls',imageUrls);
30
+ if (!imageUrls.length) return;
31
+ var urlPrefix = editor.getOpt('imageUrlPrefix'),
32
+ images = domUtils.getElementsByTagName(editor.document, "img");
33
+ editor.fireEvent('saveScene');
34
+ // console.log('images',images,imageUrls);
35
+ for (var i = 0, img; img = images[i++];) {
36
+ var src = img.getAttribute("data-word-image");
37
+ if (!src) continue;
38
+ for (var j = 0, url; url = imageUrls[j++];) {
39
+ // console.log('url',src, url);
40
+ if (src.indexOf(url.name.replace(" ", "")) != -1) {
41
+ img.src = urlPrefix + url.url;
42
+ img.setAttribute("_src", urlPrefix + url.url); //同时修改"_src"属性
43
+ img.setAttribute("title", url.title);
44
+ domUtils.removeAttributes(img, ["data-word-image", "style", "width", "height"]);
45
+ editor.fireEvent("selectionchange");
46
+ break;
47
+ }
48
+ }
49
+ }
50
+ editor.fireEvent('saveScene');
51
+ // hideFlash();
52
+ };
53
+ dialog.oncancel = function () {
54
+ //hideFlash();
55
+ };
56
+ }
57
+
58
+ function showLocalPath(id) {
59
+ //单张编辑
60
+ var img = editor.selection.getRange().getClosedNode();
61
+ var images = editor.execCommand('wordimage');
62
+ if (images.length == 1 || img && img.tagName == 'IMG') {
63
+ g(id).value = images[0];
64
+ return;
65
+ }
66
+ var path = images[0];
67
+ var leftSlashIndex = path.lastIndexOf("/") || 0, //不同版本的doc和浏览器都可能影响到这个符号,故直接判断两种
68
+ rightSlashIndex = path.lastIndexOf("\\") || 0,
69
+ separater = leftSlashIndex > rightSlashIndex ? "/" : "\\";
70
+
71
+ path = path.substring(0, path.lastIndexOf(separater) + 1);
72
+ g(id).value = path;
73
+ //增提醒用户选择哪些文件
74
+ var names = [];
75
+ for (var i = 0, len = images.length; i < len; i++) {
76
+ var img = images[i];
77
+ names.push(img.substring(img.lastIndexOf(separater) + 1, img.length));
78
+ }
79
+ $('.image-tip').html('<span style="color:#ff0000;">请选择:' + names.join("、") + "共" + images.length + '个文件</span>');
80
+ }
81
+
82
+ function createCopyButton(id, dataFrom) {
83
+ var url = g(dataFrom).value;
84
+ if (url.startsWith("file:////")) {
85
+ url = url.substring(8);
86
+ }
87
+ url = decodeURI(url);
88
+ g(id).setAttribute("data-clipboard-text", url);
89
+ var clipboard = new Clipboard('[data-clipboard-text]')
90
+ clipboard.on('success', function (e) {
91
+ g('copyButton').innerHTML = '复制成功';
92
+ });
93
+ }