@lingxiteam/lcdp-ueditor-react 1.0.0-alpha.19 → 1.0.0-alpha.20

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 (104) hide show
  1. package/es/LcdpUeditor.js +34 -34
  2. package/es/const.js +4 -4
  3. package/es/defaultConfig.json +76 -76
  4. package/es/tools/UeditorResourceLoader.js +6 -6
  5. package/es/tools/loadScript.js +3 -3
  6. package/lib/defaultConfig.json +76 -76
  7. package/package.json +34 -34
  8. package/ueditor-resource/dialogs/anchor/anchor.html +62 -62
  9. package/ueditor-resource/dialogs/attachment/attachment.css +716 -716
  10. package/ueditor-resource/dialogs/attachment/attachment.html +61 -61
  11. package/ueditor-resource/dialogs/attachment/attachment.js +803 -803
  12. package/ueditor-resource/dialogs/audio/audio.css +879 -879
  13. package/ueditor-resource/dialogs/audio/audio.html +93 -93
  14. package/ueditor-resource/dialogs/audio/audio.js +815 -815
  15. package/ueditor-resource/dialogs/background/background.css +193 -193
  16. package/ueditor-resource/dialogs/background/background.html +59 -59
  17. package/ueditor-resource/dialogs/background/background.js +370 -370
  18. package/ueditor-resource/dialogs/contentimport/contentimport.html +176 -176
  19. package/ueditor-resource/dialogs/contentimport/contentimport.js +91 -91
  20. package/ueditor-resource/dialogs/emotion/emotion.css +129 -129
  21. package/ueditor-resource/dialogs/emotion/emotion.html +70 -70
  22. package/ueditor-resource/dialogs/emotion/emotion.js +186 -186
  23. package/ueditor-resource/dialogs/formula/formula.html +98 -98
  24. package/ueditor-resource/dialogs/formula/formula.js +147 -147
  25. package/ueditor-resource/dialogs/help/help.css +37 -37
  26. package/ueditor-resource/dialogs/help/help.html +82 -82
  27. package/ueditor-resource/dialogs/help/help.js +57 -57
  28. package/ueditor-resource/dialogs/image/image.css +768 -768
  29. package/ueditor-resource/dialogs/image/image.html +144 -144
  30. package/ueditor-resource/dialogs/image/image.js +1060 -1060
  31. package/ueditor-resource/dialogs/insertframe/insertframe.html +135 -135
  32. package/ueditor-resource/dialogs/internal.js +81 -81
  33. package/ueditor-resource/dialogs/link/link.html +148 -148
  34. package/ueditor-resource/dialogs/preview/preview.html +45 -45
  35. package/ueditor-resource/dialogs/scrawl/scrawl.css +324 -324
  36. package/ueditor-resource/dialogs/scrawl/scrawl.html +95 -95
  37. package/ueditor-resource/dialogs/scrawl/scrawl.js +682 -682
  38. package/ueditor-resource/dialogs/searchreplace/searchreplace.html +144 -144
  39. package/ueditor-resource/dialogs/searchreplace/searchreplace.js +174 -174
  40. package/ueditor-resource/dialogs/spechars/spechars.html +42 -42
  41. package/ueditor-resource/dialogs/spechars/spechars.js +86 -86
  42. package/ueditor-resource/dialogs/table/edittable.css +85 -85
  43. package/ueditor-resource/dialogs/table/edittable.html +69 -69
  44. package/ueditor-resource/dialogs/table/edittable.js +241 -241
  45. package/ueditor-resource/dialogs/table/edittd.html +62 -62
  46. package/ueditor-resource/dialogs/table/edittip.html +33 -33
  47. package/ueditor-resource/dialogs/template/config.js +42 -42
  48. package/ueditor-resource/dialogs/template/template.css +99 -99
  49. package/ueditor-resource/dialogs/template/template.html +26 -26
  50. package/ueditor-resource/dialogs/template/template.js +53 -53
  51. package/ueditor-resource/dialogs/video/video.css +909 -909
  52. package/ueditor-resource/dialogs/video/video.html +114 -114
  53. package/ueditor-resource/dialogs/video/video.js +867 -867
  54. package/ueditor-resource/dialogs/wordimage/wordimage.html +221 -221
  55. package/ueditor-resource/dialogs/wordimage/wordimage.js +93 -93
  56. package/ueditor-resource/lang/en/en.js +686 -686
  57. package/ueditor-resource/lang/zh-cn/zh-cn.js +748 -748
  58. package/ueditor-resource/lang/zh-tw/zh-tw.js +748 -748
  59. package/ueditor-resource/plugins/demo/demo.js +3 -3
  60. package/ueditor-resource/themes/default/css/ueditor.css +2148 -2148
  61. package/ueditor-resource/themes/default/dialog.css +17 -17
  62. package/ueditor-resource/themes/default/dialogbase.css +132 -132
  63. package/ueditor-resource/themes/default/exts/ai.svg +12 -12
  64. package/ueditor-resource/themes/default/exts/apk.svg +12 -12
  65. package/ueditor-resource/themes/default/exts/chm.svg +12 -12
  66. package/ueditor-resource/themes/default/exts/css.svg +12 -12
  67. package/ueditor-resource/themes/default/exts/doc.svg +22 -22
  68. package/ueditor-resource/themes/default/exts/docx.svg +22 -22
  69. package/ueditor-resource/themes/default/exts/dwg.svg +16 -16
  70. package/ueditor-resource/themes/default/exts/folder.svg +3 -3
  71. package/ueditor-resource/themes/default/exts/gif.svg +14 -14
  72. package/ueditor-resource/themes/default/exts/html.svg +12 -12
  73. package/ueditor-resource/themes/default/exts/jpeg.svg +14 -14
  74. package/ueditor-resource/themes/default/exts/jpg.svg +14 -14
  75. package/ueditor-resource/themes/default/exts/log.svg +12 -12
  76. package/ueditor-resource/themes/default/exts/mp3.svg +14 -14
  77. package/ueditor-resource/themes/default/exts/mp4.svg +12 -12
  78. package/ueditor-resource/themes/default/exts/pdf.svg +14 -14
  79. package/ueditor-resource/themes/default/exts/png.svg +14 -14
  80. package/ueditor-resource/themes/default/exts/ppt.svg +24 -24
  81. package/ueditor-resource/themes/default/exts/pptx.svg +24 -24
  82. package/ueditor-resource/themes/default/exts/psd.svg +12 -12
  83. package/ueditor-resource/themes/default/exts/rar.svg +12 -12
  84. package/ueditor-resource/themes/default/exts/svg.svg +12 -12
  85. package/ueditor-resource/themes/default/exts/torrent.svg +14 -14
  86. package/ueditor-resource/themes/default/exts/txt.svg +14 -14
  87. package/ueditor-resource/themes/default/exts/unknown.svg +12 -12
  88. package/ueditor-resource/themes/default/exts/xls.svg +25 -25
  89. package/ueditor-resource/themes/default/exts/xlsx.svg +25 -25
  90. package/ueditor-resource/themes/default/exts/zip.svg +12 -12
  91. package/ueditor-resource/themes/iframe.css +63 -63
  92. package/ueditor-resource/third-party/SyntaxHighlighter/shCore.js +3655 -3655
  93. package/ueditor-resource/third-party/clipboard/clipboard.js +752 -752
  94. package/ueditor-resource/third-party/codemirror/codemirror.css +106 -106
  95. package/ueditor-resource/third-party/codemirror/codemirror.js +3581 -3581
  96. package/ueditor-resource/third-party/jquery-3.5.1.js +1 -1
  97. package/ueditor-resource/third-party/jquery-3.5.1_1.js +4314 -4314
  98. package/ueditor-resource/third-party/webuploader/webuploader.css +88 -88
  99. package/ueditor-resource/third-party/webuploader/webuploader.js +3 -3
  100. package/ueditor-resource/third-party/zeroclipboard/ZeroClipboard.js +1255 -1255
  101. package/ueditor-resource/ueditor.all.js +5269 -5269
  102. package/ueditor-resource/ueditor.config.js +655 -655
  103. package/ueditor-resource/ueditor.parse.js +13 -13
  104. 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
+ }