From 7be7f98586626131764f30dac6cdeeac7a23b769 Mon Sep 17 00:00:00 2001 From: liyang <1711467488@qq.com> Date: Sat, 17 Nov 2018 18:07:48 +0800 Subject: [PATCH] feat: ueditor Former-commit-id: 89fa8e42f2e153e6c9b676d668779718714ac333 [formerly 89fa8e42f2e153e6c9b676d668779718714ac333 [formerly 89fa8e42f2e153e6c9b676d668779718714ac333 [formerly 89fa8e42f2e153e6c9b676d668779718714ac333 [formerly 955c03c4e108cbd8aa597fc947a9454e749d904f [formerly 5d8b1d73e78953d5f8e7fe4302764addfc2af0e8]]]]] Former-commit-id: 002ba25940eac6b1db5af8aa03a75ab43c3eccf3 Former-commit-id: 43f3ff50fc9a0d54bf21479e87da9b72b7fe20c3 Former-commit-id: 32ed9ae714fec2fdd3ba08fb40187e81e837edcb [formerly f34f58804fd798c1e271250f06f245b83f5e7c3e] Former-commit-id: 17640172e9d4f7b75dc2410e2faa6a93a90e09ac Former-commit-id: 521e6c1695e24e315d368d27db8f8232fbe30999 Former-commit-id: 3dd3d0a15ab7c64f29148a25fc8c4a0a5eb77497 Former-commit-id: 0753ae560b4ec27771a5b052f73a0a94436f9e0f Former-commit-id: 9a6f11a43fab5a79df9ab9527453c0f66ad7888d --- package-lock.json.REMOVED.git-id | 1 - package.json | 3 +- public/lib/UEditor/dialogs/anchor/anchor.html | 40 ++ .../attachment/attachment.css.REMOVED.git-id | 1 + .../dialogs/attachment/attachment.html | 60 +++ .../attachment/attachment.js.REMOVED.git-id | 1 + .../images/file-icons.gif.REMOVED.git-id | 1 + .../images/file-icons.png.REMOVED.git-id | 1 + .../UEditor/dialogs/background/background.css | 94 ++++ .../dialogs/background/background.html | 56 +++ .../background/background.js.REMOVED.git-id | 1 + .../UEditor/dialogs/charts/chart.config.js | 65 +++ public/lib/UEditor/dialogs/charts/charts.css | 165 +++++++ public/lib/UEditor/dialogs/charts/charts.html | 89 ++++ .../dialogs/charts/charts.js.REMOVED.git-id | 1 + .../charts/images/charts0.png.REMOVED.git-id | 1 + .../charts/images/charts1.png.REMOVED.git-id | 1 + .../charts/images/charts2.png.REMOVED.git-id | 1 + .../charts/images/charts5.png.REMOVED.git-id | 1 + .../lib/UEditor/dialogs/emotion/emotion.css | 43 ++ .../lib/UEditor/dialogs/emotion/emotion.html | 54 +++ public/lib/UEditor/dialogs/emotion/emotion.js | 186 ++++++++ .../emotion/images/bface.gif.REMOVED.git-id | 1 + .../emotion/images/fface.gif.REMOVED.git-id | 1 + .../emotion/images/jxface2.gif.REMOVED.git-id | 1 + .../emotion/images/tface.gif.REMOVED.git-id | 1 + .../emotion/images/wface.gif.REMOVED.git-id | 1 + .../emotion/images/yface.gif.REMOVED.git-id | 1 + public/lib/UEditor/dialogs/gmap/gmap.html | 89 ++++ public/lib/UEditor/dialogs/help/help.css | 7 + public/lib/UEditor/dialogs/help/help.html | 82 ++++ public/lib/UEditor/dialogs/help/help.js | 56 +++ .../dialogs/image/image.css.REMOVED.git-id | 1 + public/lib/UEditor/dialogs/image/image.html | 120 ++++++ .../dialogs/image/image.js.REMOVED.git-id | 1 + .../image/images/alignicon.jpg.REMOVED.git-id | 1 + .../dialogs/insertframe/insertframe.html | 98 +++++ public/lib/UEditor/dialogs/internal.js | 81 ++++ public/lib/UEditor/dialogs/link/link.html | 126 ++++++ public/lib/UEditor/dialogs/map/map.html | 135 ++++++ public/lib/UEditor/dialogs/map/show.html | 118 ++++++ public/lib/UEditor/dialogs/music/music.css | 30 ++ public/lib/UEditor/dialogs/music/music.html | 32 ++ public/lib/UEditor/dialogs/music/music.js | 192 +++++++++ .../lib/UEditor/dialogs/preview/preview.html | 40 ++ .../scrawl/images/eraser.png.REMOVED.git-id | 1 + public/lib/UEditor/dialogs/scrawl/scrawl.css | 72 ++++ public/lib/UEditor/dialogs/scrawl/scrawl.html | 95 +++++ .../dialogs/scrawl/scrawl.js.REMOVED.git-id | 1 + .../dialogs/searchreplace/searchreplace.html | 102 +++++ .../dialogs/searchreplace/searchreplace.js | 164 +++++++ .../dialogs/snapscreen/snapscreen.html | 58 +++ .../UEditor/dialogs/spechars/spechars.html | 21 + .../lib/UEditor/dialogs/spechars/spechars.js | 57 +++ .../lib/UEditor/dialogs/table/edittable.css | 84 ++++ .../lib/UEditor/dialogs/table/edittable.html | 64 +++ public/lib/UEditor/dialogs/table/edittable.js | 237 +++++++++++ public/lib/UEditor/dialogs/table/edittd.html | 61 +++ public/lib/UEditor/dialogs/table/edittip.html | 33 ++ .../dialogs/template/config.js.REMOVED.git-id | 1 + .../lib/UEditor/dialogs/template/template.css | 18 + .../UEditor/dialogs/template/template.html | 26 ++ .../lib/UEditor/dialogs/template/template.js | 53 +++ .../images/center_focus.jpg.REMOVED.git-id | 1 + .../images/file-icons.gif.REMOVED.git-id | 1 + .../images/file-icons.png.REMOVED.git-id | 1 + .../images/left_focus.jpg.REMOVED.git-id | 1 + .../images/none_focus.jpg.REMOVED.git-id | 1 + .../images/right_focus.jpg.REMOVED.git-id | 1 + .../dialogs/video/video.css.REMOVED.git-id | 1 + public/lib/UEditor/dialogs/video/video.html | 86 ++++ .../dialogs/video/video.js.REMOVED.git-id | 1 + public/lib/UEditor/dialogs/webapp/webapp.html | 53 +++ .../wordimage/tangram.js.REMOVED.git-id | 1 + .../UEditor/dialogs/wordimage/wordimage.html | 111 +++++ .../UEditor/dialogs/wordimage/wordimage.js | 157 +++++++ public/lib/UEditor/index.html | 175 ++++++++ public/lib/UEditor/jsp/config.json | 94 ++++ public/lib/UEditor/jsp/controller.jsp | 14 + .../lib/UEditor/lang/en/en.js.REMOVED.git-id | 1 + .../lang/en/images/music.png.REMOVED.git-id | 1 + .../zh-cn/images/music.png.REMOVED.git-id | 1 + .../lang/zh-cn/zh-cn.js.REMOVED.git-id | 1 + .../default/css/ueditor.css.REMOVED.git-id | 1 + .../css/ueditor.min.css.REMOVED.git-id | 1 + .../lib/UEditor/themes/default/dialogbase.css | 100 +++++ .../default/images/icons.gif.REMOVED.git-id | 1 + .../default/images/icons.png.REMOVED.git-id | 1 + .../tangram-colorpicker.png.REMOVED.git-id | 1 + public/lib/UEditor/themes/iframe.css | 1 + .../shCore.js.REMOVED.git-id | 1 + .../SyntaxHighlighter/shCoreDefault.css | 1 + .../third-party/codemirror/codemirror.css | 104 +++++ .../codemirror/codemirror.js.REMOVED.git-id | 1 + .../highcharts/adapters/mootools-adapter.js | 13 + .../adapters/mootools-adapter.src.js | 313 ++++++++++++++ .../highcharts/adapters/prototype-adapter.js | 15 + .../adapters/prototype-adapter.src.js | 316 ++++++++++++++ .../adapters/standalone-framework.js | 17 + ...standalone-framework.src.js.REMOVED.git-id | 1 + .../highcharts-more.js.REMOVED.git-id | 1 + .../highcharts-more.src.js.REMOVED.git-id | 1 + .../highcharts/highcharts.js.REMOVED.git-id | 1 + .../highcharts.src.js.REMOVED.git-id | 1 + .../highcharts/modules/annotations.js | 7 + .../highcharts/modules/annotations.src.js | 401 ++++++++++++++++++ .../modules/canvas-tools.js.REMOVED.git-id | 1 + .../canvas-tools.src.js.REMOVED.git-id | 1 + .../third-party/highcharts/modules/data.js | 17 + .../modules/data.src.js.REMOVED.git-id | 1 + .../highcharts/modules/drilldown.js | 11 + .../modules/drilldown.src.js.REMOVED.git-id | 1 + .../highcharts/modules/exporting.js | 22 + .../modules/exporting.src.js.REMOVED.git-id | 1 + .../third-party/highcharts/modules/funnel.js | 12 + .../highcharts/modules/funnel.src.js | 289 +++++++++++++ .../third-party/highcharts/modules/heatmap.js | 1 + .../highcharts/modules/heatmap.src.js | 53 +++ .../third-party/highcharts/modules/map.js | 27 ++ .../modules/map.src.js.REMOVED.git-id | 1 + .../highcharts/modules/no-data-to-display.js | 12 + .../modules/no-data-to-display.src.js | 128 ++++++ .../highcharts/themes/dark-blue.js | 254 +++++++++++ .../highcharts/themes/dark-green.js | 255 +++++++++++ .../third-party/highcharts/themes/gray.js | 257 +++++++++++ .../third-party/highcharts/themes/grid.js | 103 +++++ .../third-party/highcharts/themes/skies.js | 89 ++++ .../jquery-1.10.2.js.REMOVED.git-id | 1 + .../jquery-1.10.2.min.js.REMOVED.git-id | 1 + .../UEditor/third-party/video-js/font/vjs.eot | Bin 0 -> 3536 bytes .../UEditor/third-party/video-js/font/vjs.svg | 65 +++ .../UEditor/third-party/video-js/font/vjs.ttf | Bin 0 -> 3372 bytes .../third-party/video-js/font/vjs.woff | Bin 0 -> 4228 bytes .../video-js/video-js.css.REMOVED.git-id | 1 + .../video-js/video-js.min.css.REMOVED.git-id | 1 + .../video-js/video.dev.js.REMOVED.git-id | 1 + .../video-js/video.js.REMOVED.git-id | 1 + .../third-party/webuploader/webuploader.css | 28 ++ .../webuploader.custom.js.REMOVED.git-id | 1 + .../webuploader.custom.min.js.REMOVED.git-id | 1 + .../webuploader.flashonly.js.REMOVED.git-id | 1 + ...ebuploader.flashonly.min.js.REMOVED.git-id | 1 + .../webuploader.html5only.js.REMOVED.git-id | 1 + ...ebuploader.html5only.min.js.REMOVED.git-id | 1 + .../webuploader/webuploader.js.REMOVED.git-id | 1 + .../webuploader.min.js.REMOVED.git-id | 1 + ...webuploader.withoutimage.js.REMOVED.git-id | 1 + ...ploader.withoutimage.min.js.REMOVED.git-id | 1 + .../third-party/xss.min.js.REMOVED.git-id | 1 + .../ZeroClipboard.js.REMOVED.git-id | 1 + .../ZeroClipboard.min.js.REMOVED.git-id | 1 + .../lib/UEditor/ueditor.all.js.REMOVED.git-id | 1 + .../UEditor/ueditor.all.min.js.REMOVED.git-id | 1 + .../UEditor/ueditor.config.js.REMOVED.git-id | 1 + .../UEditor/ueditor.parse.js.REMOVED.git-id | 1 + .../ueditor.parse.min.js.REMOVED.git-id | 1 + .../d2-container/components/d2-source.vue | 3 +- src/components/d2-ueditor/button/d2admin.js | 8 + src/components/d2-ueditor/index.vue | 50 +++ src/components/d2-ueditor/ueditor.config.js | 11 + src/components/index.js | 1 + src/main.js | 3 + src/menu/modules/demo-components.js | 12 +- .../demo/components/editor-ueditor/index.vue | 34 ++ src/router/modules/components.js | 1 + 165 files changed, 7003 insertions(+), 5 deletions(-) delete mode 100644 package-lock.json.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/anchor/anchor.html create mode 100644 public/lib/UEditor/dialogs/attachment/attachment.css.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/attachment/attachment.html create mode 100644 public/lib/UEditor/dialogs/attachment/attachment.js.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/attachment/images/file-icons.gif.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/attachment/images/file-icons.png.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/background/background.css create mode 100644 public/lib/UEditor/dialogs/background/background.html create mode 100644 public/lib/UEditor/dialogs/background/background.js.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/charts/chart.config.js create mode 100644 public/lib/UEditor/dialogs/charts/charts.css create mode 100644 public/lib/UEditor/dialogs/charts/charts.html create mode 100644 public/lib/UEditor/dialogs/charts/charts.js.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/charts/images/charts0.png.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/charts/images/charts1.png.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/charts/images/charts2.png.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/charts/images/charts5.png.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/emotion/emotion.css create mode 100644 public/lib/UEditor/dialogs/emotion/emotion.html create mode 100644 public/lib/UEditor/dialogs/emotion/emotion.js create mode 100644 public/lib/UEditor/dialogs/emotion/images/bface.gif.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/emotion/images/fface.gif.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/emotion/images/jxface2.gif.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/emotion/images/tface.gif.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/emotion/images/wface.gif.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/emotion/images/yface.gif.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/gmap/gmap.html create mode 100644 public/lib/UEditor/dialogs/help/help.css create mode 100644 public/lib/UEditor/dialogs/help/help.html create mode 100644 public/lib/UEditor/dialogs/help/help.js create mode 100644 public/lib/UEditor/dialogs/image/image.css.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/image/image.html create mode 100644 public/lib/UEditor/dialogs/image/image.js.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/image/images/alignicon.jpg.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/insertframe/insertframe.html create mode 100644 public/lib/UEditor/dialogs/internal.js create mode 100644 public/lib/UEditor/dialogs/link/link.html create mode 100644 public/lib/UEditor/dialogs/map/map.html create mode 100644 public/lib/UEditor/dialogs/map/show.html create mode 100644 public/lib/UEditor/dialogs/music/music.css create mode 100644 public/lib/UEditor/dialogs/music/music.html create mode 100644 public/lib/UEditor/dialogs/music/music.js create mode 100644 public/lib/UEditor/dialogs/preview/preview.html create mode 100644 public/lib/UEditor/dialogs/scrawl/images/eraser.png.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/scrawl/scrawl.css create mode 100644 public/lib/UEditor/dialogs/scrawl/scrawl.html create mode 100644 public/lib/UEditor/dialogs/scrawl/scrawl.js.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/searchreplace/searchreplace.html create mode 100644 public/lib/UEditor/dialogs/searchreplace/searchreplace.js create mode 100644 public/lib/UEditor/dialogs/snapscreen/snapscreen.html create mode 100644 public/lib/UEditor/dialogs/spechars/spechars.html create mode 100644 public/lib/UEditor/dialogs/spechars/spechars.js create mode 100644 public/lib/UEditor/dialogs/table/edittable.css create mode 100644 public/lib/UEditor/dialogs/table/edittable.html create mode 100644 public/lib/UEditor/dialogs/table/edittable.js create mode 100644 public/lib/UEditor/dialogs/table/edittd.html create mode 100644 public/lib/UEditor/dialogs/table/edittip.html create mode 100644 public/lib/UEditor/dialogs/template/config.js.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/template/template.css create mode 100644 public/lib/UEditor/dialogs/template/template.html create mode 100644 public/lib/UEditor/dialogs/template/template.js create mode 100644 public/lib/UEditor/dialogs/video/images/center_focus.jpg.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/video/images/file-icons.gif.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/video/images/file-icons.png.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/video/images/left_focus.jpg.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/video/images/none_focus.jpg.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/video/images/right_focus.jpg.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/video/video.css.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/video/video.html create mode 100644 public/lib/UEditor/dialogs/video/video.js.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/webapp/webapp.html create mode 100644 public/lib/UEditor/dialogs/wordimage/tangram.js.REMOVED.git-id create mode 100644 public/lib/UEditor/dialogs/wordimage/wordimage.html create mode 100644 public/lib/UEditor/dialogs/wordimage/wordimage.js create mode 100644 public/lib/UEditor/index.html create mode 100644 public/lib/UEditor/jsp/config.json create mode 100644 public/lib/UEditor/jsp/controller.jsp create mode 100644 public/lib/UEditor/lang/en/en.js.REMOVED.git-id create mode 100644 public/lib/UEditor/lang/en/images/music.png.REMOVED.git-id create mode 100644 public/lib/UEditor/lang/zh-cn/images/music.png.REMOVED.git-id create mode 100644 public/lib/UEditor/lang/zh-cn/zh-cn.js.REMOVED.git-id create mode 100644 public/lib/UEditor/themes/default/css/ueditor.css.REMOVED.git-id create mode 100644 public/lib/UEditor/themes/default/css/ueditor.min.css.REMOVED.git-id create mode 100644 public/lib/UEditor/themes/default/dialogbase.css create mode 100644 public/lib/UEditor/themes/default/images/icons.gif.REMOVED.git-id create mode 100644 public/lib/UEditor/themes/default/images/icons.png.REMOVED.git-id create mode 100644 public/lib/UEditor/themes/default/images/tangram-colorpicker.png.REMOVED.git-id create mode 100644 public/lib/UEditor/themes/iframe.css create mode 100644 public/lib/UEditor/third-party/SyntaxHighlighter/shCore.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/SyntaxHighlighter/shCoreDefault.css create mode 100644 public/lib/UEditor/third-party/codemirror/codemirror.css create mode 100644 public/lib/UEditor/third-party/codemirror/codemirror.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/highcharts/adapters/mootools-adapter.js create mode 100644 public/lib/UEditor/third-party/highcharts/adapters/mootools-adapter.src.js create mode 100644 public/lib/UEditor/third-party/highcharts/adapters/prototype-adapter.js create mode 100644 public/lib/UEditor/third-party/highcharts/adapters/prototype-adapter.src.js create mode 100644 public/lib/UEditor/third-party/highcharts/adapters/standalone-framework.js create mode 100644 public/lib/UEditor/third-party/highcharts/adapters/standalone-framework.src.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/highcharts/highcharts-more.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/highcharts/highcharts-more.src.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/highcharts/highcharts.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/highcharts/highcharts.src.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/highcharts/modules/annotations.js create mode 100644 public/lib/UEditor/third-party/highcharts/modules/annotations.src.js create mode 100644 public/lib/UEditor/third-party/highcharts/modules/canvas-tools.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/highcharts/modules/canvas-tools.src.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/highcharts/modules/data.js create mode 100644 public/lib/UEditor/third-party/highcharts/modules/data.src.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/highcharts/modules/drilldown.js create mode 100644 public/lib/UEditor/third-party/highcharts/modules/drilldown.src.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/highcharts/modules/exporting.js create mode 100644 public/lib/UEditor/third-party/highcharts/modules/exporting.src.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/highcharts/modules/funnel.js create mode 100644 public/lib/UEditor/third-party/highcharts/modules/funnel.src.js create mode 100644 public/lib/UEditor/third-party/highcharts/modules/heatmap.js create mode 100644 public/lib/UEditor/third-party/highcharts/modules/heatmap.src.js create mode 100644 public/lib/UEditor/third-party/highcharts/modules/map.js create mode 100644 public/lib/UEditor/third-party/highcharts/modules/map.src.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/highcharts/modules/no-data-to-display.js create mode 100644 public/lib/UEditor/third-party/highcharts/modules/no-data-to-display.src.js create mode 100644 public/lib/UEditor/third-party/highcharts/themes/dark-blue.js create mode 100644 public/lib/UEditor/third-party/highcharts/themes/dark-green.js create mode 100644 public/lib/UEditor/third-party/highcharts/themes/gray.js create mode 100644 public/lib/UEditor/third-party/highcharts/themes/grid.js create mode 100644 public/lib/UEditor/third-party/highcharts/themes/skies.js create mode 100644 public/lib/UEditor/third-party/jquery-1.10.2.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/jquery-1.10.2.min.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/video-js/font/vjs.eot create mode 100644 public/lib/UEditor/third-party/video-js/font/vjs.svg create mode 100644 public/lib/UEditor/third-party/video-js/font/vjs.ttf create mode 100644 public/lib/UEditor/third-party/video-js/font/vjs.woff create mode 100644 public/lib/UEditor/third-party/video-js/video-js.css.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/video-js/video-js.min.css.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/video-js/video.dev.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/video-js/video.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/webuploader/webuploader.css create mode 100644 public/lib/UEditor/third-party/webuploader/webuploader.custom.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/webuploader/webuploader.custom.min.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/webuploader/webuploader.flashonly.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/webuploader/webuploader.flashonly.min.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/webuploader/webuploader.html5only.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/webuploader/webuploader.html5only.min.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/webuploader/webuploader.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/webuploader/webuploader.min.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/webuploader/webuploader.withoutimage.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/webuploader/webuploader.withoutimage.min.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/xss.min.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/zeroclipboard/ZeroClipboard.js.REMOVED.git-id create mode 100644 public/lib/UEditor/third-party/zeroclipboard/ZeroClipboard.min.js.REMOVED.git-id create mode 100644 public/lib/UEditor/ueditor.all.js.REMOVED.git-id create mode 100644 public/lib/UEditor/ueditor.all.min.js.REMOVED.git-id create mode 100644 public/lib/UEditor/ueditor.config.js.REMOVED.git-id create mode 100644 public/lib/UEditor/ueditor.parse.js.REMOVED.git-id create mode 100644 public/lib/UEditor/ueditor.parse.min.js.REMOVED.git-id create mode 100644 src/components/d2-ueditor/button/d2admin.js create mode 100644 src/components/d2-ueditor/index.vue create mode 100644 src/components/d2-ueditor/ueditor.config.js create mode 100644 src/pages/demo/components/editor-ueditor/index.vue diff --git a/package-lock.json.REMOVED.git-id b/package-lock.json.REMOVED.git-id deleted file mode 100644 index 30c36699..00000000 --- a/package-lock.json.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -e6ea0a41cb4fd47248aa8ea156fc3de00668d3e6 \ No newline at end of file diff --git a/package.json b/package.json index 3078728f..255d4643 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "d2-admin", - "version": "1.6.4", + "version": "1.6.5", "private": true, "scripts": { "serve": "vue-cli-service serve --open", @@ -48,6 +48,7 @@ "vue-json-tree-view": "^2.1.4", "vue-router": "^3.0.1", "vue-splitpane": "^1.0.2", + "vue-ueditor-wrap": "^1.5.0", "vuex": "^3.0.1", "xlsx": "^0.12.0" }, diff --git a/public/lib/UEditor/dialogs/anchor/anchor.html b/public/lib/UEditor/dialogs/anchor/anchor.html new file mode 100644 index 00000000..a6c40665 --- /dev/null +++ b/public/lib/UEditor/dialogs/anchor/anchor.html @@ -0,0 +1,40 @@ + + + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/attachment/attachment.css.REMOVED.git-id b/public/lib/UEditor/dialogs/attachment/attachment.css.REMOVED.git-id new file mode 100644 index 00000000..5b83a2ec --- /dev/null +++ b/public/lib/UEditor/dialogs/attachment/attachment.css.REMOVED.git-id @@ -0,0 +1 @@ +e9d11af25d8be46c6174b6de4eca2b2e290544c5 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/attachment/attachment.html b/public/lib/UEditor/dialogs/attachment/attachment.html new file mode 100644 index 00000000..1a52bb93 --- /dev/null +++ b/public/lib/UEditor/dialogs/attachment/attachment.html @@ -0,0 +1,60 @@ + + + + + ueditor图片对话框 + + + + + + + + + + + + + + +
+
+ + +
+
+ +
+
+
+
+ 0% + +
+
+
+
+
+
+
+
+
+
+
+
    +
  • +
+
+
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/attachment/attachment.js.REMOVED.git-id b/public/lib/UEditor/dialogs/attachment/attachment.js.REMOVED.git-id new file mode 100644 index 00000000..89ea5f22 --- /dev/null +++ b/public/lib/UEditor/dialogs/attachment/attachment.js.REMOVED.git-id @@ -0,0 +1 @@ +bb2557f4e0f695e9530072855e984242b3c0f64b \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/attachment/images/file-icons.gif.REMOVED.git-id b/public/lib/UEditor/dialogs/attachment/images/file-icons.gif.REMOVED.git-id new file mode 100644 index 00000000..48e34176 --- /dev/null +++ b/public/lib/UEditor/dialogs/attachment/images/file-icons.gif.REMOVED.git-id @@ -0,0 +1 @@ +d8c02c27e242f0584fc6b214f35b4f6d8caec332 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/attachment/images/file-icons.png.REMOVED.git-id b/public/lib/UEditor/dialogs/attachment/images/file-icons.png.REMOVED.git-id new file mode 100644 index 00000000..8251d2cf --- /dev/null +++ b/public/lib/UEditor/dialogs/attachment/images/file-icons.png.REMOVED.git-id @@ -0,0 +1 @@ +3ff82c8c488f53a7aff67fbe39742e3321183eca \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/background/background.css b/public/lib/UEditor/dialogs/background/background.css new file mode 100644 index 00000000..43200aa9 --- /dev/null +++ b/public/lib/UEditor/dialogs/background/background.css @@ -0,0 +1,94 @@ +.wrapper{ width: 424px;margin: 10px auto; zoom:1;position: relative} +.tabbody{height:225px;} +.tabbody .panel { position: absolute;width:100%; height:100%;background: #fff; display: none;} +.tabbody .focus { display: block;} + +body{font-size: 12px;color: #888;overflow: hidden;} +input,label{vertical-align:middle} +.clear{clear: both;} +.pl{padding-left: 18px;padding-left: 23px\9;} + +#imageList {width: 420px;height: 215px;margin-top: 10px;overflow: hidden;overflow-y: auto;} +#imageList div {float: left;width: 100px;height: 95px;margin: 5px 10px;} +#imageList img {cursor: pointer;border: 2px solid white;} + +.bgarea{margin: 10px;padding: 5px;height: 84%;border: 1px solid #A8A297;} +.content div{margin: 10px 0 10px 5px;} +.content .iptradio{margin: 0px 5px 5px 0px;} +.txt{width:280px;} + +.wrapcolor{height: 19px;} +div.color{float: left;margin: 0;} +#colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;margin: 0;float: left;} +div.alignment,#custom{margin-left: 23px;margin-left: 28px\9;} +#custom input{height: 15px;min-height: 15px;width:20px;} +#repeatType{width:100px;} + + +/* 图片管理样式 */ +#imgManager { + width: 100%; + height: 225px; +} +#imgManager #imageList{ + width: 100%; + overflow-x: hidden; + overflow-y: auto; +} +#imgManager ul { + display: block; + list-style: none; + margin: 0; + padding: 0; +} +#imgManager li { + float: left; + display: block; + list-style: none; + padding: 0; + width: 113px; + height: 113px; + margin: 9px 0 0 19px; + background-color: #eee; + overflow: hidden; + cursor: pointer; + position: relative; +} +#imgManager li.clearFloat { + float: none; + clear: both; + display: block; + width:0; + height:0; + margin: 0; + padding: 0; +} +#imgManager li img { + cursor: pointer; +} +#imgManager li .icon { + cursor: pointer; + width: 113px; + height: 113px; + position: absolute; + top: 0; + left: 0; + z-index: 2; + border: 0; + background-repeat: no-repeat; +} +#imgManager li .icon:hover { + width: 107px; + height: 107px; + border: 3px solid #1094fa; +} +#imgManager li.selected .icon { + background-image: url(images/success.png); + background-position: 75px 75px; +} +#imgManager li.selected .icon:hover { + width: 107px; + height: 107px; + border: 3px solid #1094fa; + background-position: 72px 72px; +} \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/background/background.html b/public/lib/UEditor/dialogs/background/background.html new file mode 100644 index 00000000..8def8a73 --- /dev/null +++ b/public/lib/UEditor/dialogs/background/background.html @@ -0,0 +1,56 @@ + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + +
+
+
+ : +
+
+
+
+
+ +
+
+ : +
+
+ :x:px  y:px +
+
+
+ +
+
+
+
+
+
+ + + diff --git a/public/lib/UEditor/dialogs/background/background.js.REMOVED.git-id b/public/lib/UEditor/dialogs/background/background.js.REMOVED.git-id new file mode 100644 index 00000000..ed82ba64 --- /dev/null +++ b/public/lib/UEditor/dialogs/background/background.js.REMOVED.git-id @@ -0,0 +1 @@ +9d63bade902432190590c06c7a66115b2619bcf0 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/charts/chart.config.js b/public/lib/UEditor/dialogs/charts/chart.config.js new file mode 100644 index 00000000..678b00de --- /dev/null +++ b/public/lib/UEditor/dialogs/charts/chart.config.js @@ -0,0 +1,65 @@ +/* + * 图表配置文件 + * */ + + +//不同类型的配置 +var typeConfig = [ + { + chart: { + type: 'line' + }, + plotOptions: { + line: { + dataLabels: { + enabled: false + }, + enableMouseTracking: true + } + } + }, { + chart: { + type: 'line' + }, + plotOptions: { + line: { + dataLabels: { + enabled: true + }, + enableMouseTracking: false + } + } + }, { + chart: { + type: 'area' + } + }, { + chart: { + type: 'bar' + } + }, { + chart: { + type: 'column' + } + }, { + chart: { + plotBackgroundColor: null, + plotBorderWidth: null, + plotShadow: false + }, + plotOptions: { + pie: { + allowPointSelect: true, + cursor: 'pointer', + dataLabels: { + enabled: true, + color: '#000000', + connectorColor: '#000000', + formatter: function() { + return ''+ this.point.name +': '+ ( Math.round( this.point.percentage*100 ) / 100 ) +' %'; + } + } + } + } + } +]; diff --git a/public/lib/UEditor/dialogs/charts/charts.css b/public/lib/UEditor/dialogs/charts/charts.css new file mode 100644 index 00000000..ac3c7645 --- /dev/null +++ b/public/lib/UEditor/dialogs/charts/charts.css @@ -0,0 +1,165 @@ +html, body { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + overflow-x: hidden; +} + +.main { + width: 100%; + overflow: hidden; +} + +.table-view { + height: 100%; + float: left; + margin: 20px; + width: 40%; +} + +.table-view .table-container { + width: 100%; + margin-bottom: 50px; + overflow: scroll; +} + +.table-view th { + padding: 5px 10px; + background-color: #F7F7F7; +} + +.table-view td { + width: 50px; + text-align: center; + padding:0; +} + +.table-container input { + width: 40px; + padding: 5px; + border: none; + outline: none; +} + +.table-view caption { + font-size: 18px; + text-align: left; +} + +.charts-view { + /*margin-left: 49%!important;*/ + width: 50%; + margin-left: 49%; + height: 400px; +} + +.charts-container { + border-left: 1px solid #c3c3c3; +} + +.charts-format fieldset { + padding-left: 20px; + margin-bottom: 50px; +} + +.charts-format legend { + padding-left: 10px; + padding-right: 10px; +} + +.format-item-container { + padding: 20px; +} + +.format-item-container label { + display: block; + margin: 10px 0; +} + +.charts-format .data-item { + border: 1px solid black; + outline: none; + padding: 2px 3px; +} + +/* 图表类型 */ + +.charts-type { + margin-top: 50px; + height: 300px; +} + +.scroll-view { + border: 1px solid #c3c3c3; + border-left: none; + border-right: none; + overflow: hidden; +} + +.scroll-container { + margin: 20px; + width: 100%; + overflow: hidden; +} + +.scroll-bed { + width: 10000px; + _margin-top: 20px; + -webkit-transition: margin-left .5s ease; + -moz-transition: margin-left .5s ease; + transition: margin-left .5s ease; +} + +.view-box { + display: inline-block; + *display: inline; + *zoom: 1; + margin-right: 20px; + border: 2px solid white; + line-height: 0; + overflow: hidden; + cursor: pointer; +} + +.view-box img { + border: 1px solid #cecece; +} + +.view-box.selected { + border-color: #7274A7; +} + +.button-container { + margin-bottom: 20px; + text-align: center; +} + +.button-container a { + display: inline-block; + width: 100px; + height: 25px; + line-height: 25px; + border: 1px solid #c2ccd1; + margin-right: 30px; + text-decoration: none; + color: black; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; +} + +.button-container a:HOVER { + background: #fcfcfc; +} + +.button-container a:ACTIVE { + border-top-color: #c2ccd1; + box-shadow:inset 0 5px 4px -4px rgba(49, 49, 64, 0.1); +} + +.edui-charts-not-data { + height: 100px; + line-height: 100px; + text-align: center; +} \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/charts/charts.html b/public/lib/UEditor/dialogs/charts/charts.html new file mode 100644 index 00000000..735274fd --- /dev/null +++ b/public/lib/UEditor/dialogs/charts/charts.html @@ -0,0 +1,89 @@ + + + + chart + + + + + +
+
+

+
+

+
+
+
+ +
+ + +
+
+
+
+ +
+ + + + +
+
+
+ +
+ +

+
+
+
+ +
+ +

+
+
+
+
+
+
+
+
+

+
+
+
+
+
+ + +
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/charts/charts.js.REMOVED.git-id b/public/lib/UEditor/dialogs/charts/charts.js.REMOVED.git-id new file mode 100644 index 00000000..e2853290 --- /dev/null +++ b/public/lib/UEditor/dialogs/charts/charts.js.REMOVED.git-id @@ -0,0 +1 @@ +37344fd129db521348dfefd4b97e278e26144fab \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/charts/images/charts0.png.REMOVED.git-id b/public/lib/UEditor/dialogs/charts/images/charts0.png.REMOVED.git-id new file mode 100644 index 00000000..495319b3 --- /dev/null +++ b/public/lib/UEditor/dialogs/charts/images/charts0.png.REMOVED.git-id @@ -0,0 +1 @@ +9485e5ed8f83888e782eafae6f7505c79671a985 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/charts/images/charts1.png.REMOVED.git-id b/public/lib/UEditor/dialogs/charts/images/charts1.png.REMOVED.git-id new file mode 100644 index 00000000..0c6effe8 --- /dev/null +++ b/public/lib/UEditor/dialogs/charts/images/charts1.png.REMOVED.git-id @@ -0,0 +1 @@ +b5a00392866946feb7cf81da39f6c6ec6e0b50b7 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/charts/images/charts2.png.REMOVED.git-id b/public/lib/UEditor/dialogs/charts/images/charts2.png.REMOVED.git-id new file mode 100644 index 00000000..4c6837cd --- /dev/null +++ b/public/lib/UEditor/dialogs/charts/images/charts2.png.REMOVED.git-id @@ -0,0 +1 @@ +7c91a39ffac43e0867bec1df89b73e10e0b28c43 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/charts/images/charts5.png.REMOVED.git-id b/public/lib/UEditor/dialogs/charts/images/charts5.png.REMOVED.git-id new file mode 100644 index 00000000..b0abe1e7 --- /dev/null +++ b/public/lib/UEditor/dialogs/charts/images/charts5.png.REMOVED.git-id @@ -0,0 +1 @@ +c49a29609d8e8f9bdf101e91021d40c1cb3d4175 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/emotion/emotion.css b/public/lib/UEditor/dialogs/emotion/emotion.css new file mode 100644 index 00000000..e0a56ddd --- /dev/null +++ b/public/lib/UEditor/dialogs/emotion/emotion.css @@ -0,0 +1,43 @@ +.jd img{ + background:transparent url(images/jxface2.gif?v=1.1) no-repeat scroll left top; + cursor:pointer;width:35px;height:35px;display:block; +} +.pp img{ + background:transparent url(images/fface.gif?v=1.1) no-repeat scroll left top; + cursor:pointer;width:25px;height:25px;display:block; +} +.ldw img{ + background:transparent url(images/wface.gif?v=1.1) no-repeat scroll left top; + cursor:pointer;width:35px;height:35px;display:block; +} +.tsj img{ + background:transparent url(images/tface.gif?v=1.1) no-repeat scroll left top; + cursor:pointer;width:35px;height:35px;display:block; +} +.cat img{ + background:transparent url(images/cface.gif?v=1.1) no-repeat scroll left top; + cursor:pointer;width:35px;height:35px;display:block; +} +.bb img{ + background:transparent url(images/bface.gif?v=1.1) no-repeat scroll left top; + cursor:pointer;width:35px;height:35px;display:block; +} +.youa img{ + background:transparent url(images/yface.gif?v=1.1) no-repeat scroll left top; + cursor:pointer;width:35px;height:35px;display:block; +} + +.smileytable td {height: 37px;} +#tabPanel{margin-left:5px;overflow: hidden;} +#tabContent {float:left;background:#FFFFFF;} +#tabContent div{display: none;width:480px;overflow:hidden;} +#tabIconReview.show{left:17px;display:block;} +.menuFocus{background:#ACCD3C;} +.menuDefault{background:#FFFFFF;} +#tabIconReview{position:absolute;left:406px;left:398px \9;top:41px;z-index:65533;width:90px;height:76px;} +img.review{width:90px;height:76px;border:2px solid #9cb945;background:#FFFFFF;background-position:center;background-repeat:no-repeat;} + +.wrapper .tabbody{position:relative;float:left;clear:both;padding:10px;width: 95%;} +.tabbody table{width: 100%;} +.tabbody td{border:1px solid #BAC498;} +.tabbody td span{display: block;zoom:1;padding:0 4px;} \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/emotion/emotion.html b/public/lib/UEditor/dialogs/emotion/emotion.html new file mode 100644 index 00000000..363d64c6 --- /dev/null +++ b/public/lib/UEditor/dialogs/emotion/emotion.html @@ -0,0 +1,54 @@ + + + + + + + + + + +
+
+ + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/emotion/emotion.js b/public/lib/UEditor/dialogs/emotion/emotion.js new file mode 100644 index 00000000..aa013808 --- /dev/null +++ b/public/lib/UEditor/dialogs/emotion/emotion.js @@ -0,0 +1,186 @@ +window.onload = function () { + editor.setOpt({ + emotionLocalization:false + }); + + emotion.SmileyPath = editor.options.emotionLocalization === true ? 'images/' : "http://img.baidu.com/hi/"; + emotion.SmileyBox = createTabList( emotion.tabNum ); + emotion.tabExist = createArr( emotion.tabNum ); + + initImgName(); + initEvtHandler( "tabHeads" ); +}; + +function initImgName() { + for ( var pro in emotion.SmilmgName ) { + var tempName = emotion.SmilmgName[pro], + tempBox = emotion.SmileyBox[pro], + tempStr = ""; + + if ( tempBox.length ) return; + for ( var i = 1; i <= tempName[1]; i++ ) { + tempStr = tempName[0]; + if ( i < 10 ) tempStr = tempStr + '0'; + tempStr = tempStr + i + '.gif'; + tempBox.push( tempStr ); + } + } +} + +function initEvtHandler( conId ) { + var tabHeads = $G( conId ); + for ( var i = 0, j = 0; i < tabHeads.childNodes.length; i++ ) { + var tabObj = tabHeads.childNodes[i]; + if ( tabObj.nodeType == 1 ) { + domUtils.on( tabObj, "click", (function ( index ) { + return function () { + switchTab( index ); + }; + })( j ) ); + j++; + } + } + switchTab( 0 ); + $G( "tabIconReview" ).style.display = 'none'; +} + +function InsertSmiley( url, evt ) { + var obj = { + src:editor.options.emotionLocalization ? editor.options.UEDITOR_HOME_URL + "dialogs/emotion/" + url : url + }; + obj._src = obj.src; + editor.execCommand( 'insertimage', obj ); + if ( !evt.ctrlKey ) { + dialog.popup.hide(); + } +} + +function switchTab( index ) { + + autoHeight( index ); + if ( emotion.tabExist[index] == 0 ) { + emotion.tabExist[index] = 1; + createTab( 'tab' + index ); + } + //获取呈现元素句柄数组 + var tabHeads = $G( "tabHeads" ).getElementsByTagName( "span" ), + tabBodys = $G( "tabBodys" ).getElementsByTagName( "div" ), + i = 0, L = tabHeads.length; + //隐藏所有呈现元素 + for ( ; i < L; i++ ) { + tabHeads[i].className = ""; + tabBodys[i].style.display = "none"; + } + //显示对应呈现元素 + tabHeads[index].className = "focus"; + tabBodys[index].style.display = "block"; +} + +function autoHeight( index ) { + var iframe = dialog.getDom( "iframe" ), + parent = iframe.parentNode.parentNode; + switch ( index ) { + case 0: + iframe.style.height = "380px"; + parent.style.height = "392px"; + break; + case 1: + iframe.style.height = "220px"; + parent.style.height = "232px"; + break; + case 2: + iframe.style.height = "260px"; + parent.style.height = "272px"; + break; + case 3: + iframe.style.height = "300px"; + parent.style.height = "312px"; + break; + case 4: + iframe.style.height = "140px"; + parent.style.height = "152px"; + break; + case 5: + iframe.style.height = "260px"; + parent.style.height = "272px"; + break; + case 6: + iframe.style.height = "230px"; + parent.style.height = "242px"; + break; + default: + + } +} + + +function createTab( tabName ) { + var faceVersion = "?v=1.1", //版本号 + tab = $G( tabName ), //获取将要生成的Div句柄 + imagePath = emotion.SmileyPath + emotion.imageFolders[tabName], //获取显示表情和预览表情的路径 + positionLine = 11 / 2, //中间数 + iWidth = iHeight = 35, //图片长宽 + iColWidth = 3, //表格剩余空间的显示比例 + tableCss = emotion.imageCss[tabName], + cssOffset = emotion.imageCssOffset[tabName], + textHTML = [''], + i = 0, imgNum = emotion.SmileyBox[tabName].length, imgColNum = 11, faceImage, + sUrl, realUrl, posflag, offset, infor; + + for ( ; i < imgNum; ) { + textHTML.push( '' ); + for ( var j = 0; j < imgColNum; j++, i++ ) { + faceImage = emotion.SmileyBox[tabName][i]; + if ( faceImage ) { + sUrl = imagePath + faceImage + faceVersion; + realUrl = imagePath + faceImage; + posflag = j < positionLine ? 0 : 1; + offset = cssOffset * i * (-1) - 1; + infor = emotion.SmileyInfor[tabName][i]; + + textHTML.push( '' ); + } + textHTML.push( '' ); + } + textHTML.push( '
' ); + textHTML.push( '' ); + textHTML.push( '' ); + textHTML.push( '' ); + } else { + textHTML.push( '' ); + } + textHTML.push( '
' ); + textHTML = textHTML.join( "" ); + tab.innerHTML = textHTML; +} + +function over( td, srcPath, posFlag ) { + td.style.backgroundColor = "#ACCD3C"; + $G( 'faceReview' ).style.backgroundImage = "url(" + srcPath + ")"; + if ( posFlag == 1 ) $G( "tabIconReview" ).className = "show"; + $G( "tabIconReview" ).style.display = 'block'; +} + +function out( td ) { + td.style.backgroundColor = "transparent"; + var tabIconRevew = $G( "tabIconReview" ); + tabIconRevew.className = ""; + tabIconRevew.style.display = 'none'; +} + +function createTabList( tabNum ) { + var obj = {}; + for ( var i = 0; i < tabNum; i++ ) { + obj["tab" + i] = []; + } + return obj; +} + +function createArr( tabNum ) { + var arr = []; + for ( var i = 0; i < tabNum; i++ ) { + arr[i] = 0; + } + return arr; +} + diff --git a/public/lib/UEditor/dialogs/emotion/images/bface.gif.REMOVED.git-id b/public/lib/UEditor/dialogs/emotion/images/bface.gif.REMOVED.git-id new file mode 100644 index 00000000..7e357ca4 --- /dev/null +++ b/public/lib/UEditor/dialogs/emotion/images/bface.gif.REMOVED.git-id @@ -0,0 +1 @@ +14fe618ab58a9d46fee90074386b5581d47b92c9 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/emotion/images/fface.gif.REMOVED.git-id b/public/lib/UEditor/dialogs/emotion/images/fface.gif.REMOVED.git-id new file mode 100644 index 00000000..30356780 --- /dev/null +++ b/public/lib/UEditor/dialogs/emotion/images/fface.gif.REMOVED.git-id @@ -0,0 +1 @@ +0d8a6afeb1cb2cc40c5d76f90630d8a9c1323ffe \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/emotion/images/jxface2.gif.REMOVED.git-id b/public/lib/UEditor/dialogs/emotion/images/jxface2.gif.REMOVED.git-id new file mode 100644 index 00000000..d9a6627a --- /dev/null +++ b/public/lib/UEditor/dialogs/emotion/images/jxface2.gif.REMOVED.git-id @@ -0,0 +1 @@ +a959c90f7eb17adc455982b040244fd583eed888 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/emotion/images/tface.gif.REMOVED.git-id b/public/lib/UEditor/dialogs/emotion/images/tface.gif.REMOVED.git-id new file mode 100644 index 00000000..cfa03ea3 --- /dev/null +++ b/public/lib/UEditor/dialogs/emotion/images/tface.gif.REMOVED.git-id @@ -0,0 +1 @@ +1354f54b961211fb0253ccbd27a81da5dab5a639 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/emotion/images/wface.gif.REMOVED.git-id b/public/lib/UEditor/dialogs/emotion/images/wface.gif.REMOVED.git-id new file mode 100644 index 00000000..c1a4d64f --- /dev/null +++ b/public/lib/UEditor/dialogs/emotion/images/wface.gif.REMOVED.git-id @@ -0,0 +1 @@ +5667160d8b6228d301fccb56a8c1441b4c4e4b58 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/emotion/images/yface.gif.REMOVED.git-id b/public/lib/UEditor/dialogs/emotion/images/yface.gif.REMOVED.git-id new file mode 100644 index 00000000..209e59a7 --- /dev/null +++ b/public/lib/UEditor/dialogs/emotion/images/yface.gif.REMOVED.git-id @@ -0,0 +1 @@ +51608be0e74434388bcfe1f55da5c3c019f0a708 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/gmap/gmap.html b/public/lib/UEditor/dialogs/gmap/gmap.html new file mode 100644 index 00000000..4319a6fa --- /dev/null +++ b/public/lib/UEditor/dialogs/gmap/gmap.html @@ -0,0 +1,89 @@ + + + + + + + + + + +
+ + + + + + +
+
+
+ + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/help/help.css b/public/lib/UEditor/dialogs/help/help.css new file mode 100644 index 00000000..39ade49e --- /dev/null +++ b/public/lib/UEditor/dialogs/help/help.css @@ -0,0 +1,7 @@ +.wrapper{width: 370px;margin: 10px auto;zoom: 1;} +.tabbody{height: 360px;} +.tabbody .panel{width:100%;height: 360px;position: absolute;background: #fff;} +.tabbody .panel h1{font-size:26px;margin: 5px 0 0 5px;} +.tabbody .panel p{font-size:12px;margin: 5px 0 0 5px;} +.tabbody table{width:90%;line-height: 20px;margin: 5px 0 0 5px;;} +.tabbody table thead{font-weight: bold;line-height: 25px;} \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/help/help.html b/public/lib/UEditor/dialogs/help/help.html new file mode 100644 index 00000000..0d6f9efc --- /dev/null +++ b/public/lib/UEditor/dialogs/help/help.html @@ -0,0 +1,82 @@ + + + + 帮助 + + + + + +
+
+ + +
+
+
+

UEditor

+

+

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ctrl+b
ctrl+c
ctrl+x
ctrl+v
ctrl+y
ctrl+z
ctrl+i
ctrl+u
ctrl+a
shift+enter
alt+z
+
+
+
+ + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/help/help.js b/public/lib/UEditor/dialogs/help/help.js new file mode 100644 index 00000000..4ad9e761 --- /dev/null +++ b/public/lib/UEditor/dialogs/help/help.js @@ -0,0 +1,56 @@ +/** + * Created with JetBrains PhpStorm. + * User: xuheng + * Date: 12-9-26 + * Time: 下午1:06 + * To change this template use File | Settings | File Templates. + */ +/** + * tab点击处理事件 + * @param tabHeads + * @param tabBodys + * @param obj + */ +function clickHandler( tabHeads,tabBodys,obj ) { + //head样式更改 + for ( var k = 0, len = tabHeads.length; k < len; k++ ) { + tabHeads[k].className = ""; + } + obj.className = "focus"; + //body显隐 + var tabSrc = obj.getAttribute( "tabSrc" ); + for ( var j = 0, length = tabBodys.length; j < length; j++ ) { + var body = tabBodys[j], + id = body.getAttribute( "id" ); + body.onclick = function(){ + this.style.zoom = 1; + }; + if ( id != tabSrc ) { + body.style.zIndex = 1; + } else { + body.style.zIndex = 200; + } + } + +} + +/** + * TAB切换 + * @param tabParentId tab的父节点ID或者对象本身 + */ +function switchTab( tabParentId ) { + var tabElements = $G( tabParentId ).children, + tabHeads = tabElements[0].children, + tabBodys = tabElements[1].children; + + for ( var i = 0, length = tabHeads.length; i < length; i++ ) { + var head = tabHeads[i]; + if ( head.className === "focus" )clickHandler(tabHeads,tabBodys, head ); + head.onclick = function () { + clickHandler(tabHeads,tabBodys,this); + } + } +} +switchTab("helptab"); + +document.getElementById('version').innerHTML = parent.UE.version; \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/image/image.css.REMOVED.git-id b/public/lib/UEditor/dialogs/image/image.css.REMOVED.git-id new file mode 100644 index 00000000..61206e0f --- /dev/null +++ b/public/lib/UEditor/dialogs/image/image.css.REMOVED.git-id @@ -0,0 +1 @@ +33310ac8b04aff3e3ef562b1aaaaae76ed2b3b6e \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/image/image.html b/public/lib/UEditor/dialogs/image/image.html new file mode 100644 index 00000000..81f45ad6 --- /dev/null +++ b/public/lib/UEditor/dialogs/image/image.html @@ -0,0 +1,120 @@ + + + + + ueditor图片对话框 + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + + + + + +
+
+ + +
+
+
+ + +
+
+
+
+ +   px +   px + +
+
+ + px +
+
+ + px +
+
+ + +
+
+
+
+ + +
+
+
+
+ 0% + +
+
+
+
+
+
+
+
+
+
+
+
    +
  • +
+
+
+ + +
+
+
+ + + + +
+
+ + + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/image/image.js.REMOVED.git-id b/public/lib/UEditor/dialogs/image/image.js.REMOVED.git-id new file mode 100644 index 00000000..fb8e6ba2 --- /dev/null +++ b/public/lib/UEditor/dialogs/image/image.js.REMOVED.git-id @@ -0,0 +1 @@ +b078d6a27cc853d8e601a7b28155e4ee199c146a \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/image/images/alignicon.jpg.REMOVED.git-id b/public/lib/UEditor/dialogs/image/images/alignicon.jpg.REMOVED.git-id new file mode 100644 index 00000000..1b290d42 --- /dev/null +++ b/public/lib/UEditor/dialogs/image/images/alignicon.jpg.REMOVED.git-id @@ -0,0 +1 @@ +754755b1b6e2b37d6090f68b80e91867fdcf1042 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/insertframe/insertframe.html b/public/lib/UEditor/dialogs/insertframe/insertframe.html new file mode 100644 index 00000000..8271f0b1 --- /dev/null +++ b/public/lib/UEditor/dialogs/insertframe/insertframe.html @@ -0,0 +1,98 @@ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + +
px
px
+ +
+
+ + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/internal.js b/public/lib/UEditor/dialogs/internal.js new file mode 100644 index 00000000..1f6413b3 --- /dev/null +++ b/public/lib/UEditor/dialogs/internal.js @@ -0,0 +1,81 @@ +(function () { + var parent = window.parent; + //dialog对象 + dialog = parent.$EDITORUI[window.frameElement.id.replace( /_iframe$/, '' )]; + //当前打开dialog的编辑器实例 + editor = dialog.editor; + + UE = parent.UE; + + domUtils = UE.dom.domUtils; + + utils = UE.utils; + + browser = UE.browser; + + ajax = UE.ajax; + + $G = function ( id ) { + return document.getElementById( id ) + }; + //focus元素 + $focus = function ( node ) { + setTimeout( function () { + if ( browser.ie ) { + var r = node.createTextRange(); + r.collapse( false ); + r.select(); + } else { + node.focus() + } + }, 0 ) + }; + utils.loadFile(document,{ + href:editor.options.themePath + editor.options.theme + "/dialogbase.css?cache="+Math.random(), + tag:"link", + type:"text/css", + rel:"stylesheet" + }); + lang = editor.getLang(dialog.className.split( "-" )[2]); + if(lang){ + domUtils.on(window,'load',function () { + + var langImgPath = editor.options.langPath + editor.options.lang + "/images/"; + //针对静态资源 + for ( var i in lang["static"] ) { + var dom = $G( i ); + if(!dom) continue; + var tagName = dom.tagName, + content = lang["static"][i]; + if(content.src){ + //clone + content = utils.extend({},content,false); + content.src = langImgPath + content.src; + } + if(content.style){ + content = utils.extend({},content,false); + content.style = content.style.replace(/url\s*\(/g,"url(" + langImgPath) + } + switch ( tagName.toLowerCase() ) { + case "var": + dom.parentNode.replaceChild( document.createTextNode( content ), dom ); + break; + case "select": + var ops = dom.options; + for ( var j = 0, oj; oj = ops[j]; ) { + oj.innerHTML = content.options[j++]; + } + for ( var p in content ) { + p != "options" && dom.setAttribute( p, content[p] ); + } + break; + default : + domUtils.setAttributes( dom, content); + } + } + } ); + } + + +})(); + diff --git a/public/lib/UEditor/dialogs/link/link.html b/public/lib/UEditor/dialogs/link/link.html new file mode 100644 index 00000000..317a6507 --- /dev/null +++ b/public/lib/UEditor/dialogs/link/link.html @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + diff --git a/public/lib/UEditor/dialogs/map/map.html b/public/lib/UEditor/dialogs/map/map.html new file mode 100644 index 00000000..9857f2f6 --- /dev/null +++ b/public/lib/UEditor/dialogs/map/map.html @@ -0,0 +1,135 @@ + + + + + + + + + + +
+ + + + + + + + + +
::
+
+ +
+ + + + + diff --git a/public/lib/UEditor/dialogs/map/show.html b/public/lib/UEditor/dialogs/map/show.html new file mode 100644 index 00000000..329cfebf --- /dev/null +++ b/public/lib/UEditor/dialogs/map/show.html @@ -0,0 +1,118 @@ + + + + + + + 百度地图API自定义地图 + + + + + + + +
+ + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/music/music.css b/public/lib/UEditor/dialogs/music/music.css new file mode 100644 index 00000000..82d6118b --- /dev/null +++ b/public/lib/UEditor/dialogs/music/music.css @@ -0,0 +1,30 @@ +.wrapper{margin: 5px 10px;} + +.searchBar{height:30px;padding:7px 0 3px;text-align:center;} +.searchBtn{font-size:13px;height:24px;} + +.resultBar{width:460px;margin:5px auto;border: 1px solid #CCC;border-radius: 5px;box-shadow: 2px 2px 5px #D3D6DA;overflow: hidden;} + +.listPanel{overflow: hidden;} +.panelon{display:block;} +.paneloff{display:none} + +.page{width:220px;margin:20px auto;overflow: hidden;} +.pageon{float:right;width:24px;line-height:24px;height:24px;margin-right: 5px;background: none;border: none;color: #000;font-weight: bold;text-align:center} +.pageoff{float:right;width:24px;line-height:24px;height:24px;cursor:pointer;background-color: #fff; + border: 1px solid #E7ECF0;color: #2D64B3;margin-right: 5px;text-decoration: none;text-align:center;} + +.m-box{width:460px;} +.m-m{float: left;line-height: 20px;height: 20px;} +.m-h{height:24px;line-height:24px;padding-left: 46px;background-color:#FAFAFA;border-bottom: 1px solid #DAD8D8;font-weight: bold;font-size: 12px;color: #333;} +.m-l{float:left;width:40px; } +.m-t{float:left;width:140px;} +.m-s{float:left;width:110px;} +.m-z{float:left;width:100px;} +.m-try-t{float: left;width: 60px;;} + +.m-try{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/try_music.gif') no-repeat ;} +.m-trying{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/stop_music.gif') no-repeat ;} + +.loading{width:95px;height:7px;font-size:7px;margin:60px auto;background:url(http://static.tieba.baidu.com/tb/editor/images/loading.gif) no-repeat} +.empty{width:300px;height:40px;padding:2px;margin:50px auto;line-height:40px; color:#006699;text-align:center;} \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/music/music.html b/public/lib/UEditor/dialogs/music/music.html new file mode 100644 index 00000000..7dad7a7c --- /dev/null +++ b/public/lib/UEditor/dialogs/music/music.html @@ -0,0 +1,32 @@ + + + + + 插入音乐 + + + + +
+ +
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/music/music.js b/public/lib/UEditor/dialogs/music/music.js new file mode 100644 index 00000000..e43ea54b --- /dev/null +++ b/public/lib/UEditor/dialogs/music/music.js @@ -0,0 +1,192 @@ +function Music() { + this.init(); +} +(function () { + var pages = [], + panels = [], + selectedItem = null; + Music.prototype = { + total:70, + pageSize:10, + dataUrl:"http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.search.common", + playerUrl:"http://box.baidu.com/widget/flash/bdspacesong.swf", + + init:function () { + var me = this; + domUtils.on($G("J_searchName"), "keyup", function (event) { + var e = window.event || event; + if (e.keyCode == 13) { + me.dosearch(); + } + }); + domUtils.on($G("J_searchBtn"), "click", function () { + me.dosearch(); + }); + }, + callback:function (data) { + var me = this; + me.data = data.song_list; + setTimeout(function () { + $G('J_resultBar').innerHTML = me._renderTemplate(data.song_list); + }, 300); + }, + dosearch:function () { + var me = this; + selectedItem = null; + var key = $G('J_searchName').value; + if (utils.trim(key) == "")return false; + key = encodeURIComponent(key); + me._sent(key); + }, + doselect:function (i) { + var me = this; + if (typeof i == 'object') { + selectedItem = i; + } else if (typeof i == 'number') { + selectedItem = me.data[i]; + } + }, + onpageclick:function (id) { + var me = this; + for (var i = 0; i < pages.length; i++) { + $G(pages[i]).className = 'pageoff'; + $G(panels[i]).className = 'paneloff'; + } + $G('page' + id).className = 'pageon'; + $G('panel' + id).className = 'panelon'; + }, + listenTest:function (elem) { + var me = this, + view = $G('J_preview'), + is_play_action = (elem.className == 'm-try'), + old_trying = me._getTryingElem(); + + if (old_trying) { + old_trying.className = 'm-try'; + view.innerHTML = ''; + } + if (is_play_action) { + elem.className = 'm-trying'; + view.innerHTML = me._buildMusicHtml(me._getUrl(true)); + } + }, + _sent:function (param) { + var me = this; + $G('J_resultBar').innerHTML = '
'; + + utils.loadFile(document, { + src:me.dataUrl + '&query=' + param + '&page_size=' + me.total + '&callback=music.callback&.r=' + Math.random(), + tag:"script", + type:"text/javascript", + defer:"defer" + }); + }, + _removeHtml:function (str) { + var reg = /<\s*\/?\s*[^>]*\s*>/gi; + return str.replace(reg, ""); + }, + _getUrl:function (isTryListen) { + var me = this; + var param = 'from=tiebasongwidget&url=&name=' + encodeURIComponent(me._removeHtml(selectedItem.title)) + '&artist=' + + encodeURIComponent(me._removeHtml(selectedItem.author)) + '&extra=' + + encodeURIComponent(me._removeHtml(selectedItem.album_title)) + + '&autoPlay='+isTryListen+'' + '&loop=true'; + return me.playerUrl + "?" + param; + }, + _getTryingElem:function () { + var s = $G('J_listPanel').getElementsByTagName('span'); + + for (var i = 0; i < s.length; i++) { + if (s[i].className == 'm-trying') + return s[i]; + } + return null; + }, + _buildMusicHtml:function (playerUrl) { + var html = ' 12) + return s.substring(0, 5) + '...'; + if (!s) s = " "; + return s; + }, + _rebuildData:function (data) { + var me = this, + newData = [], + d = me.pageSize, + itembox; + for (var i = 0; i < data.length; i++) { + if ((i + d) % d == 0) { + itembox = []; + newData.push(itembox) + } + itembox.push(data[i]); + } + return newData; + }, + _renderTemplate:function (data) { + var me = this; + if (data.length == 0)return '
' + lang.emptyTxt + '
'; + data = me._rebuildData(data); + var s = [], p = [], t = []; + s.push('
'); + p.push('
'); + for (var i = 0, tmpList; tmpList = data[i++];) { + panels.push('panel' + i); + pages.push('page' + i); + if (i == 1) { + s.push('
'); + if (data.length != 1) { + t.push('
' + (i ) + '
'); + } + } else { + s.push('
'); + t.push('
' + (i ) + '
'); + } + s.push('
'); + s.push('
' + lang.chapter + '' + lang.singer + + '' + lang.special + '' + lang.listenTest + '
'); + for (var j = 0, tmpObj; tmpObj = tmpList[j++];) { + s.push(''); + } + s.push('
'); + s.push('
'); + } + t.reverse(); + p.push(t.join('')); + s.push('
'); + p.push('
'); + return s.join('') + p.join(''); + }, + exec:function () { + var me = this; + if (selectedItem == null) return; + $G('J_preview').innerHTML = ""; + editor.execCommand('music', { + url:me._getUrl(false), + width:400, + height:95 + }); + } + }; +})(); + + + diff --git a/public/lib/UEditor/dialogs/preview/preview.html b/public/lib/UEditor/dialogs/preview/preview.html new file mode 100644 index 00000000..f6b433bc --- /dev/null +++ b/public/lib/UEditor/dialogs/preview/preview.html @@ -0,0 +1,40 @@ + + + + + + + + + + +
+ +
+ + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/scrawl/images/eraser.png.REMOVED.git-id b/public/lib/UEditor/dialogs/scrawl/images/eraser.png.REMOVED.git-id new file mode 100644 index 00000000..53c71031 --- /dev/null +++ b/public/lib/UEditor/dialogs/scrawl/images/eraser.png.REMOVED.git-id @@ -0,0 +1 @@ +63e87cecb90ed3ac0e4acbc257c6dddae5311e09 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/scrawl/scrawl.css b/public/lib/UEditor/dialogs/scrawl/scrawl.css new file mode 100644 index 00000000..4ea30c6e --- /dev/null +++ b/public/lib/UEditor/dialogs/scrawl/scrawl.css @@ -0,0 +1,72 @@ +/*common +*/ +body{margin: 0;} +table{width:100%;} +table td{padding:2px 4px;vertical-align: middle;} +a{text-decoration: none;} +em{font-style: normal;} +.border_style1{border: 1px solid #ccc;border-radius: 5px;box-shadow:2px 2px 5px #d3d6da;} +/*module +*/ +.main{margin: 8px;overflow: hidden;} + +.hot{float:left;height:335px;} +.drawBoard{position: relative; cursor: crosshair;} +.brushBorad{position: absolute;left:0;top:0;z-index: 998;} +.picBoard{border: none;text-align: center;line-height: 300px;cursor: default;} +.operateBar{margin-top:10px;font-size:12px;text-align: center;} +.operateBar span{margin-left: 10px;} + +.drawToolbar{float:right;width:110px;height:300px;overflow: hidden;} +.colorBar{margin-top:10px;font-size: 12px;text-align: center;} +.colorBar a{display:block;width: 10px;height: 10px;border:1px solid #1006F1;border-radius: 3px; box-shadow:2px 2px 5px #d3d6da;opacity: 0.3} +.sectionBar{margin-top:15px;font-size: 12px;text-align: center;} +.sectionBar a{display:inline-block;width:10px;height:12px;color: #888;text-indent: -999px;opacity: 0.3} +.size1{background: url('images/size.png') 1px center no-repeat ;} +.size2{background: url('images/size.png') -10px center no-repeat;} +.size3{background: url('images/size.png') -22px center no-repeat;} +.size4{background: url('images/size.png') -35px center no-repeat;} + +.addImgH{position: relative;} +.addImgH_form{position: absolute;left: 18px;top: -1px;width: 75px;height: 21px;opacity: 0;cursor: pointer;} +.addImgH_form input{width: 100%;} +/*scrawl遮罩层 +*/ +.maskLayerNull{display: none;} +.maskLayer{position: absolute;top:0;left:0;width: 100%; height: 100%;opacity: 0.7; + background-color: #fff;text-align:center;font-weight:bold;line-height:300px;z-index: 1000;} +/*btn state +*/ +.previousStepH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/undoH.png');cursor: pointer;} +.previousStepH .text{color:#888;cursor:pointer;} +.previousStep .icon{display: inline-block;width:16px;height:16px;background-image: url('images/undo.png');cursor:default;} +.previousStep .text{color:#ccc;cursor:default;} + +.nextStepH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/redoH.png');cursor: pointer;} +.nextStepH .text{color:#888;cursor:pointer;} +.nextStep .icon{display: inline-block;width:16px;height:16px;background-image: url('images/redo.png');cursor:default;} +.nextStep .text{color:#ccc;cursor:default;} + +.clearBoardH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/emptyH.png');cursor: pointer;} +.clearBoardH .text{color:#888;cursor:pointer;} +.clearBoard .icon{display: inline-block;width:16px;height:16px;background-image: url('images/empty.png');cursor:default;} +.clearBoard .text{color:#ccc;cursor:default;} + +.scaleBoardH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/scaleH.png');cursor: pointer;} +.scaleBoardH .text{color:#888;cursor:pointer;} +.scaleBoard .icon{display: inline-block;width:16px;height:16px;background-image: url('images/scale.png');cursor:default;} +.scaleBoard .text{color:#ccc;cursor:default;} + +.removeImgH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/delimgH.png');cursor: pointer;} +.removeImgH .text{color:#888;cursor:pointer;} +.removeImg .icon{display: inline-block;width:16px;height:16px;background-image: url('images/delimg.png');cursor:default;} +.removeImg .text{color:#ccc;cursor:default;} + +.addImgH .icon{vertical-align:top;display: inline-block;width:16px;height:16px;background-image: url('images/addimg.png')} +.addImgH .text{color:#888;cursor:pointer;} +/*icon +*/ +.brushIcon{display: inline-block;width:16px;height:16px;background-image: url('images/brush.png')} +.eraserIcon{display: inline-block;width:16px;height:16px;background-image: url('images/eraser.png')} + + diff --git a/public/lib/UEditor/dialogs/scrawl/scrawl.html b/public/lib/UEditor/dialogs/scrawl/scrawl.html new file mode 100644 index 00000000..13f6ab13 --- /dev/null +++ b/public/lib/UEditor/dialogs/scrawl/scrawl.html @@ -0,0 +1,95 @@ + + + + + + + + + + +
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + +
+
+
+
+
+ + 1 + 3 + 5 + 7 +
+
+ + 1 + 3 + 5 + 7 +
+
+
+ + +
+ +
+ +
+
+
+ + + + +
+
+
+
+ + + + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/scrawl/scrawl.js.REMOVED.git-id b/public/lib/UEditor/dialogs/scrawl/scrawl.js.REMOVED.git-id new file mode 100644 index 00000000..ad45f3d4 --- /dev/null +++ b/public/lib/UEditor/dialogs/scrawl/scrawl.js.REMOVED.git-id @@ -0,0 +1 @@ +cadb0cb2fe5a7c08299f3a9fb3ddcc230a71ca74 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/searchreplace/searchreplace.html b/public/lib/UEditor/dialogs/searchreplace/searchreplace.html new file mode 100644 index 00000000..b3eaaa5c --- /dev/null +++ b/public/lib/UEditor/dialogs/searchreplace/searchreplace.html @@ -0,0 +1,102 @@ + + + + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + +
:
+ +
+ + +
+   +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
+ +
+ + + + +
+   +
+ +
+
+
+
+ + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/searchreplace/searchreplace.js b/public/lib/UEditor/dialogs/searchreplace/searchreplace.js new file mode 100644 index 00000000..b55bb7ae --- /dev/null +++ b/public/lib/UEditor/dialogs/searchreplace/searchreplace.js @@ -0,0 +1,164 @@ +/** + * Created with JetBrains PhpStorm. + * User: xuheng + * Date: 12-9-26 + * Time: 下午12:29 + * To change this template use File | Settings | File Templates. + */ + +//清空上次查选的痕迹 +editor.firstForSR = 0; +editor.currentRangeForSR = null; +//给tab注册切换事件 +/** + * tab点击处理事件 + * @param tabHeads + * @param tabBodys + * @param obj + */ +function clickHandler( tabHeads,tabBodys,obj ) { + //head样式更改 + for ( var k = 0, len = tabHeads.length; k < len; k++ ) { + tabHeads[k].className = ""; + } + obj.className = "focus"; + //body显隐 + var tabSrc = obj.getAttribute( "tabSrc" ); + for ( var j = 0, length = tabBodys.length; j < length; j++ ) { + var body = tabBodys[j], + id = body.getAttribute( "id" ); + if ( id != tabSrc ) { + body.style.zIndex = 1; + } else { + body.style.zIndex = 200; + } + } + +} + +/** + * TAB切换 + * @param tabParentId tab的父节点ID或者对象本身 + */ +function switchTab( tabParentId ) { + var tabElements = $G( tabParentId ).children, + tabHeads = tabElements[0].children, + tabBodys = tabElements[1].children; + + for ( var i = 0, length = tabHeads.length; i < length; i++ ) { + var head = tabHeads[i]; + if ( head.className === "focus" )clickHandler(tabHeads,tabBodys, head ); + head.onclick = function () { + clickHandler(tabHeads,tabBodys,this); + } + } +} +$G('searchtab').onmousedown = function(){ + $G('search-msg').innerHTML = ''; + $G('replace-msg').innerHTML = '' +} +//是否区分大小写 +function getMatchCase(id) { + return $G(id).checked ? true : false; +} +//查找 +$G("nextFindBtn").onclick = function (txt, dir, mcase) { + var findtxt = $G("findtxt").value, obj; + if (!findtxt) { + return false; + } + obj = { + searchStr:findtxt, + dir:1, + casesensitive:getMatchCase("matchCase") + }; + if (!frCommond(obj)) { + var bk = editor.selection.getRange().createBookmark(); + $G('search-msg').innerHTML = lang.getEnd; + editor.selection.getRange().moveToBookmark(bk).select(); + + + } +}; +$G("nextReplaceBtn").onclick = function (txt, dir, mcase) { + var findtxt = $G("findtxt1").value, obj; + if (!findtxt) { + return false; + } + obj = { + searchStr:findtxt, + dir:1, + casesensitive:getMatchCase("matchCase1") + }; + frCommond(obj); +}; +$G("preFindBtn").onclick = function (txt, dir, mcase) { + var findtxt = $G("findtxt").value, obj; + if (!findtxt) { + return false; + } + obj = { + searchStr:findtxt, + dir:-1, + casesensitive:getMatchCase("matchCase") + }; + if (!frCommond(obj)) { + $G('search-msg').innerHTML = lang.getStart; + } +}; +$G("preReplaceBtn").onclick = function (txt, dir, mcase) { + var findtxt = $G("findtxt1").value, obj; + if (!findtxt) { + return false; + } + obj = { + searchStr:findtxt, + dir:-1, + casesensitive:getMatchCase("matchCase1") + }; + frCommond(obj); +}; +//替换 +$G("repalceBtn").onclick = function () { + var findtxt = $G("findtxt1").value.replace(/^\s|\s$/g, ""), obj, + replacetxt = $G("replacetxt").value.replace(/^\s|\s$/g, ""); + if (!findtxt) { + return false; + } + if (findtxt == replacetxt || (!getMatchCase("matchCase1") && findtxt.toLowerCase() == replacetxt.toLowerCase())) { + return false; + } + obj = { + searchStr:findtxt, + dir:1, + casesensitive:getMatchCase("matchCase1"), + replaceStr:replacetxt + }; + frCommond(obj); +}; +//全部替换 +$G("repalceAllBtn").onclick = function () { + var findtxt = $G("findtxt1").value.replace(/^\s|\s$/g, ""), obj, + replacetxt = $G("replacetxt").value.replace(/^\s|\s$/g, ""); + if (!findtxt) { + return false; + } + if (findtxt == replacetxt || (!getMatchCase("matchCase1") && findtxt.toLowerCase() == replacetxt.toLowerCase())) { + return false; + } + obj = { + searchStr:findtxt, + casesensitive:getMatchCase("matchCase1"), + replaceStr:replacetxt, + all:true + }; + var num = frCommond(obj); + if (num) { + $G('replace-msg').innerHTML = lang.countMsg.replace("{#count}", num); + } +}; +//执行 +var frCommond = function (obj) { + return editor.execCommand("searchreplace", obj); +}; +switchTab("searchtab"); \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/snapscreen/snapscreen.html b/public/lib/UEditor/dialogs/snapscreen/snapscreen.html new file mode 100644 index 00000000..f3593268 --- /dev/null +++ b/public/lib/UEditor/dialogs/snapscreen/snapscreen.html @@ -0,0 +1,58 @@ + + + + + + + + + +
+

+
+
+
+
+
+
+ + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/spechars/spechars.html b/public/lib/UEditor/dialogs/spechars/spechars.html new file mode 100644 index 00000000..d92f5150 --- /dev/null +++ b/public/lib/UEditor/dialogs/spechars/spechars.html @@ -0,0 +1,21 @@ + + + + + + + + + +
+
+
+ + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/spechars/spechars.js b/public/lib/UEditor/dialogs/spechars/spechars.js new file mode 100644 index 00000000..bd3b36d3 --- /dev/null +++ b/public/lib/UEditor/dialogs/spechars/spechars.js @@ -0,0 +1,57 @@ +/** + * Created with JetBrains PhpStorm. + * User: xuheng + * Date: 12-9-26 + * Time: 下午1:09 + * To change this template use File | Settings | File Templates. + */ +var charsContent = [ + { name:"tsfh", title:lang.tsfh, content:toArray("、,。,·,ˉ,ˇ,¨,〃,々,—,~,‖,…,‘,’,“,”,〔,〕,〈,〉,《,》,「,」,『,』,〖,〗,【,】,±,×,÷,∶,∧,∨,∑,∏,∪,∩,∈,∷,√,⊥,∥,∠,⌒,⊙,∫,∮,≡,≌,≈,∽,∝,≠,≮,≯,≤,≥,∞,∵,∴,♂,♀,°,′,″,℃,$,¤,¢,£,‰,§,№,☆,★,○,●,◎,◇,◆,□,■,△,▲,※,→,←,↑,↓,〓,〡,〢,〣,〤,〥,〦,〧,〨,〩,㊣,㎎,㎏,㎜,㎝,㎞,㎡,㏄,㏎,㏑,㏒,㏕,︰,¬,¦,℡,ˊ,ˋ,˙,–,―,‥,‵,℅,℉,↖,↗,↘,↙,∕,∟,∣,≒,≦,≧,⊿,═,║,╒,╓,╔,╕,╖,╗,╘,╙,╚,╛,╜,╝,╞,╟,╠,╡,╢,╣,╤,╥,╦,╧,╨,╩,╪,╫,╬,╭,╮,╯,╰,╱,╲,╳,▁,▂,▃,▄,▅,▆,▇,�,█,▉,▊,▋,▌,▍,▎,▏,▓,▔,▕,▼,▽,◢,◣,◤,◥,☉,⊕,〒,〝,〞")}, + { name:"lmsz", title:lang.lmsz, content:toArray("ⅰ,ⅱ,ⅲ,ⅳ,ⅴ,ⅵ,ⅶ,ⅷ,ⅸ,ⅹ,Ⅰ,Ⅱ,Ⅲ,Ⅳ,Ⅴ,Ⅵ,Ⅶ,Ⅷ,Ⅸ,Ⅹ,Ⅺ,Ⅻ")}, + { name:"szfh", title:lang.szfh, content:toArray("⒈,⒉,⒊,⒋,⒌,⒍,⒎,⒏,⒐,⒑,⒒,⒓,⒔,⒕,⒖,⒗,⒘,⒙,⒚,⒛,⑴,⑵,⑶,⑷,⑸,⑹,⑺,⑻,⑼,⑽,⑾,⑿,⒀,⒁,⒂,⒃,⒄,⒅,⒆,⒇,①,②,③,④,⑤,⑥,⑦,⑧,⑨,⑩,㈠,㈡,㈢,㈣,㈤,㈥,㈦,㈧,㈨,㈩")}, + { name:"rwfh", title:lang.rwfh, content:toArray("ぁ,あ,ぃ,い,ぅ,う,ぇ,え,ぉ,お,か,が,き,ぎ,く,ぐ,け,げ,こ,ご,さ,ざ,し,じ,す,ず,せ,ぜ,そ,ぞ,た,だ,ち,ぢ,っ,つ,づ,て,で,と,ど,な,に,ぬ,ね,の,は,ば,ぱ,ひ,び,ぴ,ふ,ぶ,ぷ,へ,べ,ぺ,ほ,ぼ,ぽ,ま,み,む,め,も,ゃ,や,ゅ,ゆ,ょ,よ,ら,り,る,れ,ろ,ゎ,わ,ゐ,ゑ,を,ん,ァ,ア,ィ,イ,ゥ,ウ,ェ,エ,ォ,オ,カ,ガ,キ,ギ,ク,グ,ケ,ゲ,コ,ゴ,サ,ザ,シ,ジ,ス,ズ,セ,ゼ,ソ,ゾ,タ,ダ,チ,ヂ,ッ,ツ,ヅ,テ,デ,ト,ド,ナ,ニ,ヌ,ネ,ノ,ハ,バ,パ,ヒ,ビ,ピ,フ,ブ,プ,ヘ,ベ,ペ,ホ,ボ,ポ,マ,ミ,ム,メ,モ,ャ,ヤ,ュ,ユ,ョ,ヨ,ラ,リ,ル,レ,ロ,ヮ,ワ,ヰ,ヱ,ヲ,ン,ヴ,ヵ,ヶ")}, + { name:"xlzm", title:lang.xlzm, content:toArray("Α,Β,Γ,Δ,Ε,Ζ,Η,Θ,Ι,Κ,Λ,Μ,Ν,Ξ,Ο,Π,Ρ,Σ,Τ,Υ,Φ,Χ,Ψ,Ω,α,β,γ,δ,ε,ζ,η,θ,ι,κ,λ,μ,ν,ξ,ο,π,ρ,σ,τ,υ,φ,χ,ψ,ω")}, + { name:"ewzm", title:lang.ewzm, content:toArray("А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Э,Ю,Я,а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я")}, + { name:"pyzm", title:lang.pyzm, content:toArray("ā,á,ǎ,à,ē,é,ě,è,ī,í,ǐ,ì,ō,ó,ǒ,ò,ū,ú,ǔ,ù,ǖ,ǘ,ǚ,ǜ,ü")}, + { name:"yyyb", title:lang.yyyb, content:toArray("i:,i,e,æ,ʌ,ə:,ə,u:,u,ɔ:,ɔ,a:,ei,ai,ɔi,əu,au,iə,εə,uə,p,t,k,b,d,g,f,s,ʃ,θ,h,v,z,ʒ,ð,tʃ,tr,ts,dʒ,dr,dz,m,n,ŋ,l,r,w,j,")}, + { name:"zyzf", title:lang.zyzf, content:toArray("ㄅ,ㄆ,ㄇ,ㄈ,ㄉ,ㄊ,ㄋ,ㄌ,ㄍ,ㄎ,ㄏ,ㄐ,ㄑ,ㄒ,ㄓ,ㄔ,ㄕ,ㄖ,ㄗ,ㄘ,ㄙ,ㄚ,ㄛ,ㄜ,ㄝ,ㄞ,ㄟ,ㄠ,ㄡ,ㄢ,ㄣ,ㄤ,ㄥ,ㄦ,ㄧ,ㄨ")} +]; +(function createTab(content) { + for (var i = 0, ci; ci = content[i++];) { + var span = document.createElement("span"); + span.setAttribute("tabSrc", ci.name); + span.innerHTML = ci.title; + if (i == 1)span.className = "focus"; + domUtils.on(span, "click", function () { + var tmps = $G("tabHeads").children; + for (var k = 0, sk; sk = tmps[k++];) { + sk.className = ""; + } + tmps = $G("tabBodys").children; + for (var k = 0, sk; sk = tmps[k++];) { + sk.style.display = "none"; + } + this.className = "focus"; + $G(this.getAttribute("tabSrc")).style.display = ""; + }); + $G("tabHeads").appendChild(span); + domUtils.insertAfter(span, document.createTextNode("\n")); + var div = document.createElement("div"); + div.id = ci.name; + div.style.display = (i == 1) ? "" : "none"; + var cons = ci.content; + for (var j = 0, con; con = cons[j++];) { + var charSpan = document.createElement("span"); + charSpan.innerHTML = con; + domUtils.on(charSpan, "click", function () { + editor.execCommand("insertHTML", this.innerHTML); + dialog.close(); + }); + div.appendChild(charSpan); + } + $G("tabBodys").appendChild(div); + } +})(charsContent); +function toArray(str) { + return str.split(","); +} diff --git a/public/lib/UEditor/dialogs/table/edittable.css b/public/lib/UEditor/dialogs/table/edittable.css new file mode 100644 index 00000000..c6f9396c --- /dev/null +++ b/public/lib/UEditor/dialogs/table/edittable.css @@ -0,0 +1,84 @@ +body{ + overflow: hidden; + width: 540px; +} +.wrapper { + margin: 10px auto 0; + font-size: 12px; + overflow: hidden; + width: 520px; + height: 315px; +} + +.clear { + clear: both; +} + +.wrapper .left { + float: left; + margin-left: 10px;; +} + +.wrapper .right { + float: right; + border-left: 2px dotted #EDEDED; + padding-left: 15px; +} + +.section { + margin-bottom: 15px; + width: 240px; + overflow: hidden; +} + +.section h3 { + font-weight: bold; + padding: 5px 0; + margin-bottom: 10px; + border-bottom: 1px solid #EDEDED; + font-size: 12px; +} + +.section ul { + list-style: none; + overflow: hidden; + clear: both; + +} + +.section li { + float: left; + width: 120px;; +} + +.section .tone { + width: 80px;; +} + +.section .preview { + width: 220px; +} + +.section .preview table { + text-align: center; + vertical-align: middle; + color: #666; +} + +.section .preview caption { + font-weight: bold; +} + +.section .preview td { + border-width: 1px; + border-style: solid; + height: 22px; +} + +.section .preview th { + border-style: solid; + border-color: #DDD; + border-width: 2px 1px 1px 1px; + height: 22px; + background-color: #F7F7F7; +} \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/table/edittable.html b/public/lib/UEditor/dialogs/table/edittable.html new file mode 100644 index 00000000..3c412fb8 --- /dev/null +++ b/public/lib/UEditor/dialogs/table/edittable.html @@ -0,0 +1,64 @@ + + + + + + + + +
+
+
+

+
    +
  • + +
  • +
  • + +
  • +
+
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

+
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

+
    +
  • + + +
  • +
+
+
+
+
+
+

+
+
+
+
+
+ + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/table/edittable.js b/public/lib/UEditor/dialogs/table/edittable.js new file mode 100644 index 00000000..11dbee7c --- /dev/null +++ b/public/lib/UEditor/dialogs/table/edittable.js @@ -0,0 +1,237 @@ +/** + * Created with JetBrains PhpStorm. + * User: xuheng + * Date: 12-12-19 + * Time: 下午4:55 + * To change this template use File | Settings | File Templates. + */ +(function () { + var title = $G("J_title"), + titleCol = $G("J_titleCol"), + caption = $G("J_caption"), + sorttable = $G("J_sorttable"), + autoSizeContent = $G("J_autoSizeContent"), + autoSizePage = $G("J_autoSizePage"), + tone = $G("J_tone"), + me, + preview = $G("J_preview"); + + var editTable = function () { + me = this; + me.init(); + }; + editTable.prototype = { + init:function () { + var colorPiker = new UE.ui.ColorPicker({ + editor:editor + }), + colorPop = new UE.ui.Popup({ + editor:editor, + content:colorPiker + }); + + title.checked = editor.queryCommandState("inserttitle") == -1; + titleCol.checked = editor.queryCommandState("inserttitlecol") == -1; + caption.checked = editor.queryCommandState("insertcaption") == -1; + sorttable.checked = editor.queryCommandState("enablesort") == 1; + + var enablesortState = editor.queryCommandState("enablesort"), + disablesortState = editor.queryCommandState("disablesort"); + + sorttable.checked = !!(enablesortState < 0 && disablesortState >=0); + sorttable.disabled = !!(enablesortState < 0 && disablesortState < 0); + sorttable.title = enablesortState < 0 && disablesortState < 0 ? lang.errorMsg:''; + + me.createTable(title.checked, titleCol.checked, caption.checked); + me.setAutoSize(); + me.setColor(me.getColor()); + + domUtils.on(title, "click", me.titleHanler); + domUtils.on(titleCol, "click", me.titleColHanler); + domUtils.on(caption, "click", me.captionHanler); + domUtils.on(sorttable, "click", me.sorttableHanler); + domUtils.on(autoSizeContent, "click", me.autoSizeContentHanler); + domUtils.on(autoSizePage, "click", me.autoSizePageHanler); + + domUtils.on(tone, "click", function () { + colorPop.showAnchor(tone); + }); + domUtils.on(document, 'mousedown', function () { + colorPop.hide(); + }); + colorPiker.addListener("pickcolor", function () { + me.setColor(arguments[1]); + colorPop.hide(); + }); + colorPiker.addListener("picknocolor", function () { + me.setColor(""); + colorPop.hide(); + }); + }, + + createTable:function (hasTitle, hasTitleCol, hasCaption) { + var arr = [], + sortSpan = '^'; + arr.push(""); + if (hasCaption) { + arr.push("") + } + if (hasTitle) { + arr.push(""); + if(hasTitleCol) { arr.push(""); } + for (var j = 0; j < 5; j++) { + arr.push(""); + } + arr.push(""); + } + for (var i = 0; i < 6; i++) { + arr.push(""); + if(hasTitleCol) { arr.push("") } + for (var k = 0; k < 5; k++) { + arr.push("") + } + arr.push(""); + } + arr.push("
" + lang.captionName + "
" + lang.titleName + "" + lang.titleName + "
" + lang.titleName + "" + lang.cellsName + "
"); + preview.innerHTML = arr.join(""); + this.updateSortSpan(); + }, + titleHanler:function () { + var example = $G("J_example"), + frg=document.createDocumentFragment(), + color = domUtils.getComputedStyle(domUtils.getElementsByTagName(example, "td")[0], "border-color"), + colCount = example.rows[0].children.length; + + if (title.checked) { + example.insertRow(0); + for (var i = 0, node; i < colCount; i++) { + node = document.createElement("th"); + node.innerHTML = lang.titleName; + frg.appendChild(node); + } + example.rows[0].appendChild(frg); + + } else { + domUtils.remove(example.rows[0]); + } + me.setColor(color); + me.updateSortSpan(); + }, + titleColHanler:function () { + var example = $G("J_example"), + color = domUtils.getComputedStyle(domUtils.getElementsByTagName(example, "td")[0], "border-color"), + colArr = example.rows, + colCount = colArr.length; + + if (titleCol.checked) { + for (var i = 0, node; i < colCount; i++) { + node = document.createElement("th"); + node.innerHTML = lang.titleName; + colArr[i].insertBefore(node, colArr[i].children[0]); + } + } else { + for (var i = 0; i < colCount; i++) { + domUtils.remove(colArr[i].children[0]); + } + } + me.setColor(color); + me.updateSortSpan(); + }, + captionHanler:function () { + var example = $G("J_example"); + if (caption.checked) { + var row = document.createElement('caption'); + row.innerHTML = lang.captionName; + example.insertBefore(row, example.firstChild); + } else { + domUtils.remove(domUtils.getElementsByTagName(example, 'caption')[0]); + } + }, + sorttableHanler:function(){ + me.updateSortSpan(); + }, + autoSizeContentHanler:function () { + var example = $G("J_example"); + example.removeAttribute("width"); + }, + autoSizePageHanler:function () { + var example = $G("J_example"); + var tds = example.getElementsByTagName(example, "td"); + utils.each(tds, function (td) { + td.removeAttribute("width"); + }); + example.setAttribute('width', '100%'); + }, + updateSortSpan: function(){ + var example = $G("J_example"), + row = example.rows[0]; + + var spans = domUtils.getElementsByTagName(example,"span"); + utils.each(spans,function(span){ + span.parentNode.removeChild(span); + }); + if (sorttable.checked) { + utils.each(row.cells, function(cell, i){ + var span = document.createElement("span"); + span.innerHTML = "^"; + cell.appendChild(span); + }); + } + }, + getColor:function () { + var start = editor.selection.getStart(), color, + cell = domUtils.findParentByTagName(start, ["td", "th", "caption"], true); + color = cell && domUtils.getComputedStyle(cell, "border-color"); + if (!color) color = "#DDDDDD"; + return color; + }, + setColor:function (color) { + var example = $G("J_example"), + arr = domUtils.getElementsByTagName(example, "td").concat( + domUtils.getElementsByTagName(example, "th"), + domUtils.getElementsByTagName(example, "caption") + ); + + tone.value = color; + utils.each(arr, function (node) { + node.style.borderColor = color; + }); + + }, + setAutoSize:function () { + var me = this; + autoSizePage.checked = true; + me.autoSizePageHanler(); + } + }; + + new editTable; + + dialog.onok = function () { + editor.__hasEnterExecCommand = true; + + var checks = { + title:"inserttitle deletetitle", + titleCol:"inserttitlecol deletetitlecol", + caption:"insertcaption deletecaption", + sorttable:"enablesort disablesort" + }; + editor.fireEvent('saveScene'); + for(var i in checks){ + var cmds = checks[i].split(" "), + input = $G("J_" + i); + if(input["checked"]){ + editor.queryCommandState(cmds[0])!=-1 &&editor.execCommand(cmds[0]); + }else{ + editor.queryCommandState(cmds[1])!=-1 &&editor.execCommand(cmds[1]); + } + } + + editor.execCommand("edittable", tone.value); + autoSizeContent.checked ?editor.execCommand('adaptbytext') : ""; + autoSizePage.checked ? editor.execCommand("adaptbywindow") : ""; + editor.fireEvent('saveScene'); + + editor.__hasEnterExecCommand = false; + }; +})(); \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/table/edittd.html b/public/lib/UEditor/dialogs/table/edittd.html new file mode 100644 index 00000000..49a52f71 --- /dev/null +++ b/public/lib/UEditor/dialogs/table/edittd.html @@ -0,0 +1,61 @@ + + + + + + + + +
+ + +
+ + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/table/edittip.html b/public/lib/UEditor/dialogs/table/edittip.html new file mode 100644 index 00000000..954f7bb6 --- /dev/null +++ b/public/lib/UEditor/dialogs/table/edittip.html @@ -0,0 +1,33 @@ + + + + 表格删除提示 + + + + +
+
+ +
+
+ +
+
+ + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/template/config.js.REMOVED.git-id b/public/lib/UEditor/dialogs/template/config.js.REMOVED.git-id new file mode 100644 index 00000000..7a3a0e77 --- /dev/null +++ b/public/lib/UEditor/dialogs/template/config.js.REMOVED.git-id @@ -0,0 +1 @@ +42e474b47019b886cdecf3b1e05a8b05e5b12b26 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/template/template.css b/public/lib/UEditor/dialogs/template/template.css new file mode 100644 index 00000000..2658bd2f --- /dev/null +++ b/public/lib/UEditor/dialogs/template/template.css @@ -0,0 +1,18 @@ +.wrap{ padding: 5px;font-size: 14px;} +.left{width:425px;float: left;} +.right{width:160px;border: 1px solid #ccc;float: right;padding: 5px;margin-right: 5px;} +.right .pre{height: 332px;overflow-y: auto;} +.right .preitem{border: white 1px solid;margin: 5px 0;padding: 2px 0;} +.right .preitem:hover{background-color: lemonChiffon;cursor: pointer;border: #ccc 1px solid;} +.right .preitem img{display: block;margin: 0 auto;width:100px;} +.clear{clear: both;} +.top{height:26px;line-height: 26px;padding: 5px;} +.bottom{height:320px;width:100%;margin: 0 auto;} +.transparent{ background: url("images/bg.gif") repeat;} +.bottom table tr td{border:1px dashed #ccc;} +#colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;} +.border_style1{padding:2px;border: 1px solid #ccc;border-radius: 5px;box-shadow:2px 2px 5px #d3d6da;} +p{margin: 5px 0} +table{clear:both;margin-bottom:10px;border-collapse:collapse;word-break:break-all;} +li{clear:both} +ol{padding-left:40px; } \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/template/template.html b/public/lib/UEditor/dialogs/template/template.html new file mode 100644 index 00000000..9d71eced --- /dev/null +++ b/public/lib/UEditor/dialogs/template/template.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
+
+ +
+
+
+
+ +
+
+
+
+ + + + diff --git a/public/lib/UEditor/dialogs/template/template.js b/public/lib/UEditor/dialogs/template/template.js new file mode 100644 index 00000000..0f1cdad5 --- /dev/null +++ b/public/lib/UEditor/dialogs/template/template.js @@ -0,0 +1,53 @@ +/** + * Created with JetBrains PhpStorm. + * User: xuheng + * Date: 12-8-8 + * Time: 下午2:09 + * To change this template use File | Settings | File Templates. + */ +(function () { + var me = editor, + preview = $G( "preview" ), + preitem = $G( "preitem" ), + tmps = templates, + currentTmp; + var initPre = function () { + var str = ""; + for ( var i = 0, tmp; tmp = tmps[i++]; ) { + str += '
'; + } + preitem.innerHTML = str; + }; + var pre = function ( n ) { + var tmp = tmps[n - 1]; + currentTmp = tmp; + clearItem(); + domUtils.setStyles( preitem.childNodes[n - 1], { + "background-color":"lemonChiffon", + "border":"#ccc 1px solid" + } ); + preview.innerHTML = tmp.preHtml ? tmp.preHtml : ""; + }; + var clearItem = function () { + var items = preitem.children; + for ( var i = 0, item; item = items[i++]; ) { + domUtils.setStyles( item, { + "background-color":"", + "border":"white 1px solid" + } ); + } + }; + dialog.onok = function () { + if ( !$G( "issave" ).checked ){ + me.execCommand( "cleardoc" ); + } + var obj = { + html:currentTmp && currentTmp.html + }; + me.execCommand( "template", obj ); + }; + initPre(); + window.pre = pre; + pre(2) + +})(); \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/video/images/center_focus.jpg.REMOVED.git-id b/public/lib/UEditor/dialogs/video/images/center_focus.jpg.REMOVED.git-id new file mode 100644 index 00000000..e69396b0 --- /dev/null +++ b/public/lib/UEditor/dialogs/video/images/center_focus.jpg.REMOVED.git-id @@ -0,0 +1 @@ +262b02916c51c01ab71f942b7ea9d02382b0df07 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/video/images/file-icons.gif.REMOVED.git-id b/public/lib/UEditor/dialogs/video/images/file-icons.gif.REMOVED.git-id new file mode 100644 index 00000000..48e34176 --- /dev/null +++ b/public/lib/UEditor/dialogs/video/images/file-icons.gif.REMOVED.git-id @@ -0,0 +1 @@ +d8c02c27e242f0584fc6b214f35b4f6d8caec332 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/video/images/file-icons.png.REMOVED.git-id b/public/lib/UEditor/dialogs/video/images/file-icons.png.REMOVED.git-id new file mode 100644 index 00000000..8251d2cf --- /dev/null +++ b/public/lib/UEditor/dialogs/video/images/file-icons.png.REMOVED.git-id @@ -0,0 +1 @@ +3ff82c8c488f53a7aff67fbe39742e3321183eca \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/video/images/left_focus.jpg.REMOVED.git-id b/public/lib/UEditor/dialogs/video/images/left_focus.jpg.REMOVED.git-id new file mode 100644 index 00000000..bfe2fe75 --- /dev/null +++ b/public/lib/UEditor/dialogs/video/images/left_focus.jpg.REMOVED.git-id @@ -0,0 +1 @@ +7886d276dda2e0aecdae22393eac534ed507babf \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/video/images/none_focus.jpg.REMOVED.git-id b/public/lib/UEditor/dialogs/video/images/none_focus.jpg.REMOVED.git-id new file mode 100644 index 00000000..2979e282 --- /dev/null +++ b/public/lib/UEditor/dialogs/video/images/none_focus.jpg.REMOVED.git-id @@ -0,0 +1 @@ +7c768dcb47aaa289135afd2bd0e8eb0b6ecb7536 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/video/images/right_focus.jpg.REMOVED.git-id b/public/lib/UEditor/dialogs/video/images/right_focus.jpg.REMOVED.git-id new file mode 100644 index 00000000..744a982c --- /dev/null +++ b/public/lib/UEditor/dialogs/video/images/right_focus.jpg.REMOVED.git-id @@ -0,0 +1 @@ +173e10d2d91026c7283566993afb2f3a0267ea40 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/video/video.css.REMOVED.git-id b/public/lib/UEditor/dialogs/video/video.css.REMOVED.git-id new file mode 100644 index 00000000..6a644db6 --- /dev/null +++ b/public/lib/UEditor/dialogs/video/video.css.REMOVED.git-id @@ -0,0 +1 @@ +8a17284e19a12bf628991b9a3b9305b8988992e5 \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/video/video.html b/public/lib/UEditor/dialogs/video/video.html new file mode 100644 index 00000000..14f10f45 --- /dev/null +++ b/public/lib/UEditor/dialogs/video/video.html @@ -0,0 +1,86 @@ + + + + + + + + + +
+
+
+ + +
+
+
+
+
+
+
+ + + + +
+
+
+ +
+
+
+
+
+
+
+
+
+ 0% + +
+
+
+
+
+
+
+
+
+
+
+
    +
  • +
+
+
+
+
+ + + + +
+
+
+ +
+
+
+
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/video/video.js.REMOVED.git-id b/public/lib/UEditor/dialogs/video/video.js.REMOVED.git-id new file mode 100644 index 00000000..a6ec04bd --- /dev/null +++ b/public/lib/UEditor/dialogs/video/video.js.REMOVED.git-id @@ -0,0 +1 @@ +7b9378bd5ac8328f7facb97b9d038e66f6e9347d \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/webapp/webapp.html b/public/lib/UEditor/dialogs/webapp/webapp.html new file mode 100644 index 00000000..73f8dc23 --- /dev/null +++ b/public/lib/UEditor/dialogs/webapp/webapp.html @@ -0,0 +1,53 @@ + + + + + + + + + +
+
+
+ + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/wordimage/tangram.js.REMOVED.git-id b/public/lib/UEditor/dialogs/wordimage/tangram.js.REMOVED.git-id new file mode 100644 index 00000000..a2e0220b --- /dev/null +++ b/public/lib/UEditor/dialogs/wordimage/tangram.js.REMOVED.git-id @@ -0,0 +1 @@ +2ebd8fd3dc82629ecd4bbece4d5c83da6a86bf0f \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/wordimage/wordimage.html b/public/lib/UEditor/dialogs/wordimage/wordimage.html new file mode 100644 index 00000000..f8c09052 --- /dev/null +++ b/public/lib/UEditor/dialogs/wordimage/wordimage.html @@ -0,0 +1,111 @@ + + + + + + + + + +
+
+ +
+
+
+
+
+ +
+ : +
+
+
+ + + + + + \ No newline at end of file diff --git a/public/lib/UEditor/dialogs/wordimage/wordimage.js b/public/lib/UEditor/dialogs/wordimage/wordimage.js new file mode 100644 index 00000000..e3602639 --- /dev/null +++ b/public/lib/UEditor/dialogs/wordimage/wordimage.js @@ -0,0 +1,157 @@ +/** + * Created by JetBrains PhpStorm. + * User: taoqili + * Date: 12-1-30 + * Time: 下午12:50 + * To change this template use File | Settings | File Templates. + */ + + + +var wordImage = {}; +//(function(){ +var g = baidu.g, + flashObj,flashContainer; + +wordImage.init = function(opt, callbacks) { + showLocalPath("localPath"); + //createCopyButton("clipboard","localPath"); + createFlashUploader(opt, callbacks); + addUploadListener(); + addOkListener(); +}; + +function hideFlash(){ + flashObj = null; + flashContainer.innerHTML = ""; +} +function addOkListener() { + dialog.onok = function() { + if (!imageUrls.length) return; + var urlPrefix = editor.getOpt('imageUrlPrefix'), + images = domUtils.getElementsByTagName(editor.document,"img"); + editor.fireEvent('saveScene'); + for (var i = 0,img; img = images[i++];) { + var src = img.getAttribute("word_img"); + if (!src) continue; + for (var j = 0,url; url = imageUrls[j++];) { + if (src.indexOf(url.original.replace(" ","")) != -1) { + img.src = urlPrefix + url.url; + img.setAttribute("_src", urlPrefix + url.url); //同时修改"_src"属性 + img.setAttribute("title",url.title); + domUtils.removeAttributes(img, ["word_img","style","width","height"]); + editor.fireEvent("selectionchange"); + break; + } + } + } + editor.fireEvent('saveScene'); + hideFlash(); + }; + dialog.oncancel = function(){ + hideFlash(); + } +} + +/** + * 绑定开始上传事件 + */ +function addUploadListener() { + g("upload").onclick = function () { + flashObj.upload(); + this.style.display = "none"; + }; +} + +function showLocalPath(id) { + //单张编辑 + var img = editor.selection.getRange().getClosedNode(); + var images = editor.execCommand('wordimage'); + if(images.length==1 || img && img.tagName == 'IMG'){ + g(id).value = images[0]; + return; + } + var path = images[0]; + var leftSlashIndex = path.lastIndexOf("/")||0, //不同版本的doc和浏览器都可能影响到这个符号,故直接判断两种 + rightSlashIndex = path.lastIndexOf("\\")||0, + separater = leftSlashIndex > rightSlashIndex ? "/":"\\" ; + + path = path.substring(0, path.lastIndexOf(separater)+1); + g(id).value = path; +} + +function createFlashUploader(opt, callbacks) { + //由于lang.flashI18n是静态属性,不可以直接进行修改,否则会影响到后续内容 + var i18n = utils.extend({},lang.flashI18n); + //处理图片资源地址的编码,补全等问题 + for(var i in i18n){ + if(!(i in {"lang":1,"uploadingTF":1,"imageTF":1,"textEncoding":1}) && i18n[i]){ + i18n[i] = encodeURIComponent(editor.options.langPath + editor.options.lang + "/images/" + i18n[i]); + } + } + opt = utils.extend(opt,i18n,false); + var option = { + createOptions:{ + id:'flash', + url:opt.flashUrl, + width:opt.width, + height:opt.height, + errorMessage:lang.flashError, + wmode:browser.safari ? 'transparent' : 'window', + ver:'10.0.0', + vars:opt, + container:opt.container + } + }; + + option = extendProperty(callbacks, option); + flashObj = new baidu.flash.imageUploader(option); + flashContainer = $G(opt.container); +} + +function extendProperty(fromObj, toObj) { + for (var i in fromObj) { + if (!toObj[i]) { + toObj[i] = fromObj[i]; + } + } + return toObj; +} + +//})(); + +function getPasteData(id) { + baidu.g("msg").innerHTML = lang.copySuccess + "
"; + setTimeout(function() { + baidu.g("msg").innerHTML = ""; + }, 5000); + return baidu.g(id).value; +} + +function createCopyButton(id, dataFrom) { + baidu.swf.create({ + id:"copyFlash", + url:"fClipboard_ueditor.swf", + width:"58", + height:"25", + errorMessage:"", + bgColor:"#CBCBCB", + wmode:"transparent", + ver:"10.0.0", + vars:{ + tid:dataFrom + } + }, id + ); + + var clipboard = baidu.swf.getMovie("copyFlash"); + var clipinterval = setInterval(function() { + if (clipboard && clipboard.flashInit) { + clearInterval(clipinterval); + clipboard.setHandCursor(true); + clipboard.setContentFuncName("getPasteData"); + //clipboard.setMEFuncName("mouseEventHandler"); + } + }, 500); +} +createCopyButton("clipboard", "localPath"); \ No newline at end of file diff --git a/public/lib/UEditor/index.html b/public/lib/UEditor/index.html new file mode 100644 index 00000000..f02b43c9 --- /dev/null +++ b/public/lib/UEditor/index.html @@ -0,0 +1,175 @@ + + + + 完整demo + + + + + + + + + + +
+

完整demo

+ +
+
+
+ + + + + + + + + + + +
+
+ + + + + + + +
+ +
+ + +
+ +
+
+ + +
+ + + + \ No newline at end of file diff --git a/public/lib/UEditor/jsp/config.json b/public/lib/UEditor/jsp/config.json new file mode 100644 index 00000000..53b6c977 --- /dev/null +++ b/public/lib/UEditor/jsp/config.json @@ -0,0 +1,94 @@ +/* 前后端通信相关的配置,注释只允许使用多行方式 */ +{ + /* 上传图片配置项 */ + "imageActionName": "uploadimage", /* 执行上传图片的action名称 */ + "imageFieldName": "upfile", /* 提交的图片表单名称 */ + "imageMaxSize": 2048000, /* 上传大小限制,单位B */ + "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */ + "imageCompressEnable": true, /* 是否压缩图片,默认是true */ + "imageCompressBorder": 1600, /* 图片压缩最长边限制 */ + "imageInsertAlign": "none", /* 插入的图片浮动方式 */ + "imageUrlPrefix": "", /* 图片访问路径前缀 */ + "imagePathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + /* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */ + /* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */ + /* {time} 会替换成时间戳 */ + /* {yyyy} 会替换成四位年份 */ + /* {yy} 会替换成两位年份 */ + /* {mm} 会替换成两位月份 */ + /* {dd} 会替换成两位日期 */ + /* {hh} 会替换成两位小时 */ + /* {ii} 会替换成两位分钟 */ + /* {ss} 会替换成两位秒 */ + /* 非法字符 \ : * ? " < > | */ + /* 具请体看线上文档: fex.baidu.com/ueditor/#use-format_upload_filename */ + + /* 涂鸦图片上传配置项 */ + "scrawlActionName": "uploadscrawl", /* 执行上传涂鸦的action名称 */ + "scrawlFieldName": "upfile", /* 提交的图片表单名称 */ + "scrawlPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "scrawlMaxSize": 2048000, /* 上传大小限制,单位B */ + "scrawlUrlPrefix": "", /* 图片访问路径前缀 */ + "scrawlInsertAlign": "none", + + /* 截图工具上传 */ + "snapscreenActionName": "uploadimage", /* 执行上传截图的action名称 */ + "snapscreenPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "snapscreenUrlPrefix": "", /* 图片访问路径前缀 */ + "snapscreenInsertAlign": "none", /* 插入的图片浮动方式 */ + + /* 抓取远程图片配置 */ + "catcherLocalDomain": ["127.0.0.1", "localhost", "img.baidu.com"], + "catcherActionName": "catchimage", /* 执行抓取远程图片的action名称 */ + "catcherFieldName": "source", /* 提交的图片列表表单名称 */ + "catcherPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "catcherUrlPrefix": "", /* 图片访问路径前缀 */ + "catcherMaxSize": 2048000, /* 上传大小限制,单位B */ + "catcherAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 抓取图片格式显示 */ + + /* 上传视频配置 */ + "videoActionName": "uploadvideo", /* 执行上传视频的action名称 */ + "videoFieldName": "upfile", /* 提交的视频表单名称 */ + "videoPathFormat": "/ueditor/jsp/upload/video/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "videoUrlPrefix": "", /* 视频访问路径前缀 */ + "videoMaxSize": 102400000, /* 上传大小限制,单位B,默认100MB */ + "videoAllowFiles": [ + ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", + ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid"], /* 上传视频格式显示 */ + + /* 上传文件配置 */ + "fileActionName": "uploadfile", /* controller里,执行上传视频的action名称 */ + "fileFieldName": "upfile", /* 提交的文件表单名称 */ + "filePathFormat": "/ueditor/jsp/upload/file/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "fileUrlPrefix": "", /* 文件访问路径前缀 */ + "fileMaxSize": 51200000, /* 上传大小限制,单位B,默认50MB */ + "fileAllowFiles": [ + ".png", ".jpg", ".jpeg", ".gif", ".bmp", + ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", + ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid", + ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso", + ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml" + ], /* 上传文件格式显示 */ + + /* 列出指定目录下的图片 */ + "imageManagerActionName": "listimage", /* 执行图片管理的action名称 */ + "imageManagerListPath": "/ueditor/jsp/upload/image/", /* 指定要列出图片的目录 */ + "imageManagerListSize": 20, /* 每次列出文件数量 */ + "imageManagerUrlPrefix": "", /* 图片访问路径前缀 */ + "imageManagerInsertAlign": "none", /* 插入的图片浮动方式 */ + "imageManagerAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 列出的文件类型 */ + + /* 列出指定目录下的文件 */ + "fileManagerActionName": "listfile", /* 执行文件管理的action名称 */ + "fileManagerListPath": "/ueditor/jsp/upload/file/", /* 指定要列出文件的目录 */ + "fileManagerUrlPrefix": "", /* 文件访问路径前缀 */ + "fileManagerListSize": 20, /* 每次列出文件数量 */ + "fileManagerAllowFiles": [ + ".png", ".jpg", ".jpeg", ".gif", ".bmp", + ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", + ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid", + ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso", + ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml" + ] /* 列出的文件类型 */ + +} \ No newline at end of file diff --git a/public/lib/UEditor/jsp/controller.jsp b/public/lib/UEditor/jsp/controller.jsp new file mode 100644 index 00000000..6a3ef2f1 --- /dev/null +++ b/public/lib/UEditor/jsp/controller.jsp @@ -0,0 +1,14 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + import="com.baidu.ueditor.ActionEnter" + pageEncoding="UTF-8"%> +<%@ page trimDirectiveWhitespaces="true" %> +<% + + request.setCharacterEncoding( "utf-8" ); + response.setHeader("Content-Type" , "text/html"); + + String rootPath = application.getRealPath( "/" ); + + out.write( new ActionEnter( request, rootPath ).exec() ); + +%> \ No newline at end of file diff --git a/public/lib/UEditor/lang/en/en.js.REMOVED.git-id b/public/lib/UEditor/lang/en/en.js.REMOVED.git-id new file mode 100644 index 00000000..3c9ae48b --- /dev/null +++ b/public/lib/UEditor/lang/en/en.js.REMOVED.git-id @@ -0,0 +1 @@ +c2bdbbbc963eb5b0cc5cfe81bc5a1da521ec0458 \ No newline at end of file diff --git a/public/lib/UEditor/lang/en/images/music.png.REMOVED.git-id b/public/lib/UEditor/lang/en/images/music.png.REMOVED.git-id new file mode 100644 index 00000000..640cc64b --- /dev/null +++ b/public/lib/UEditor/lang/en/images/music.png.REMOVED.git-id @@ -0,0 +1 @@ +2f495fe92ffecdce42b74fd57dca2687414711fb \ No newline at end of file diff --git a/public/lib/UEditor/lang/zh-cn/images/music.png.REMOVED.git-id b/public/lib/UEditor/lang/zh-cn/images/music.png.REMOVED.git-id new file mode 100644 index 00000000..9dee21c0 --- /dev/null +++ b/public/lib/UEditor/lang/zh-cn/images/music.png.REMOVED.git-id @@ -0,0 +1 @@ +354edebc341b43e56a5e809686e17c279125b026 \ No newline at end of file diff --git a/public/lib/UEditor/lang/zh-cn/zh-cn.js.REMOVED.git-id b/public/lib/UEditor/lang/zh-cn/zh-cn.js.REMOVED.git-id new file mode 100644 index 00000000..de52a78e --- /dev/null +++ b/public/lib/UEditor/lang/zh-cn/zh-cn.js.REMOVED.git-id @@ -0,0 +1 @@ +10ff1516281b7f5a0f34e2dcc0b93f289a627331 \ No newline at end of file diff --git a/public/lib/UEditor/themes/default/css/ueditor.css.REMOVED.git-id b/public/lib/UEditor/themes/default/css/ueditor.css.REMOVED.git-id new file mode 100644 index 00000000..74d32c28 --- /dev/null +++ b/public/lib/UEditor/themes/default/css/ueditor.css.REMOVED.git-id @@ -0,0 +1 @@ +37b7edf443bf18e1a2f235b81d6a1b1bb540c503 \ No newline at end of file diff --git a/public/lib/UEditor/themes/default/css/ueditor.min.css.REMOVED.git-id b/public/lib/UEditor/themes/default/css/ueditor.min.css.REMOVED.git-id new file mode 100644 index 00000000..6fa4570d --- /dev/null +++ b/public/lib/UEditor/themes/default/css/ueditor.min.css.REMOVED.git-id @@ -0,0 +1 @@ +72810719dfbc50cd209ddd5349a3c50376c227fa \ No newline at end of file diff --git a/public/lib/UEditor/themes/default/dialogbase.css b/public/lib/UEditor/themes/default/dialogbase.css new file mode 100644 index 00000000..ea712666 --- /dev/null +++ b/public/lib/UEditor/themes/default/dialogbase.css @@ -0,0 +1,100 @@ +/*弹出对话框页面样式组件 +*/ + +/*reset +*/ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + outline: 0; + font-size: 100%; +} + +body { + line-height: 1; +} + +ol, ul { + list-style: none; +} + +blockquote, q { + quotes: none; +} + +ins { + text-decoration: none; +} + +del { + text-decoration: line-through; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +/*module +*/ +body { + background-color: #fff; + font: 12px/1.5 sans-serif, "宋体", "Arial Narrow", HELVETICA; + color: #646464; +} + +/*tab*/ +.tabhead { + position: relative; + z-index: 10; +} + +.tabhead span { + display: inline-block; + padding: 0 5px; + height: 30px; + border: 1px solid #ccc; + background: url("images/dialog-title-bg.png") repeat-x; + text-align: center; + line-height: 30px; + cursor: pointer; + *margin-right: 5px; +} + +.tabhead span.focus { + height: 31px; + border-bottom: none; + background: #fff; +} + +.tabbody { + position: relative; + top: -1px; + margin: 0 auto; + border: 1px solid #ccc; +} + +/*button*/ +a.button { + display: block; + text-align: center; + line-height: 24px; + text-decoration: none; + height: 24px; + width: 95px; + border: 0; + color: #838383; + background: url(../../themes/default/images/icons-all.gif) no-repeat; +} + +a.button:hover { + background-position: 0 -30px; +} \ No newline at end of file diff --git a/public/lib/UEditor/themes/default/images/icons.gif.REMOVED.git-id b/public/lib/UEditor/themes/default/images/icons.gif.REMOVED.git-id new file mode 100644 index 00000000..2ed424b4 --- /dev/null +++ b/public/lib/UEditor/themes/default/images/icons.gif.REMOVED.git-id @@ -0,0 +1 @@ +7abd30a1c6516cda6376f335902e3cadbae64c89 \ No newline at end of file diff --git a/public/lib/UEditor/themes/default/images/icons.png.REMOVED.git-id b/public/lib/UEditor/themes/default/images/icons.png.REMOVED.git-id new file mode 100644 index 00000000..cb048390 --- /dev/null +++ b/public/lib/UEditor/themes/default/images/icons.png.REMOVED.git-id @@ -0,0 +1 @@ +c015e3aac9a84ebad11b932e84722124772d9641 \ No newline at end of file diff --git a/public/lib/UEditor/themes/default/images/tangram-colorpicker.png.REMOVED.git-id b/public/lib/UEditor/themes/default/images/tangram-colorpicker.png.REMOVED.git-id new file mode 100644 index 00000000..736ff41d --- /dev/null +++ b/public/lib/UEditor/themes/default/images/tangram-colorpicker.png.REMOVED.git-id @@ -0,0 +1 @@ +738e500cfcf2c746f977189b05a7fe43544e80f0 \ No newline at end of file diff --git a/public/lib/UEditor/themes/iframe.css b/public/lib/UEditor/themes/iframe.css new file mode 100644 index 00000000..32e72222 --- /dev/null +++ b/public/lib/UEditor/themes/iframe.css @@ -0,0 +1 @@ +/*可以在这里添加你自己的css*/ diff --git a/public/lib/UEditor/third-party/SyntaxHighlighter/shCore.js.REMOVED.git-id b/public/lib/UEditor/third-party/SyntaxHighlighter/shCore.js.REMOVED.git-id new file mode 100644 index 00000000..4feeb131 --- /dev/null +++ b/public/lib/UEditor/third-party/SyntaxHighlighter/shCore.js.REMOVED.git-id @@ -0,0 +1 @@ +32491842526a32527bb92877f312b7dd2e94e5ee \ No newline at end of file diff --git a/public/lib/UEditor/third-party/SyntaxHighlighter/shCoreDefault.css b/public/lib/UEditor/third-party/SyntaxHighlighter/shCoreDefault.css new file mode 100644 index 00000000..e156a6f4 --- /dev/null +++ b/public/lib/UEditor/third-party/SyntaxHighlighter/shCoreDefault.css @@ -0,0 +1 @@ +.syntaxhighlighter a,.syntaxhighlighter div,.syntaxhighlighter code,.syntaxhighlighter,.syntaxhighlighter td,.syntaxhighlighter tr,.syntaxhighlighter tbody,.syntaxhighlighter thead,.syntaxhighlighter caption,.syntaxhighlighter textarea{-moz-border-radius:0 0 0 0!important;-webkit-border-radius:0 0 0 0!important;background:none!important;border:0!important;bottom:auto!important;float:none!important;left:auto!important;line-height:1.1em!important;margin:0!important;outline:0!important;overflow:visible!important;padding:0!important;position:static!important;right:auto!important;text-align:left!important;top:auto!important;vertical-align:baseline!important;width:auto!important;box-sizing:content-box!important;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-weight:normal!important;font-style:normal!important;min-height:inherit!important;min-height:auto!important;font-size:13px!important}.syntaxhighlighter{width:100%!important;margin:.3em 0 .3em 0!important;position:relative!important;overflow:auto!important;background-color:#f5f5f5!important;border:1px solid #ccc!important;border-radius:4px!important;border-collapse:separate!important}.syntaxhighlighter.source{overflow:hidden!important}.syntaxhighlighter .bold{font-weight:bold!important}.syntaxhighlighter .italic{font-style:italic!important}.syntaxhighlighter .gutter div{white-space:pre!important;word-wrap:normal}.syntaxhighlighter caption{text-align:left!important;padding:.5em 0 .5em 1em!important}.syntaxhighlighter td.code{width:100%!important}.syntaxhighlighter td.code .container{position:relative!important}.syntaxhighlighter td.code .container textarea{box-sizing:border-box!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;border:none!important;background:white!important;padding-left:1em!important;overflow:hidden!important;white-space:pre!important}.syntaxhighlighter td.gutter .line{text-align:right!important;padding:0 .5em 0 1em!important}.syntaxhighlighter td.code .line{padding:0 1em!important}.syntaxhighlighter.nogutter td.code .container textarea,.syntaxhighlighter.nogutter td.code .line{padding-left:0!important}.syntaxhighlighter.show{display:block!important}.syntaxhighlighter.collapsed table{display:none!important}.syntaxhighlighter.collapsed .toolbar{padding:.1em .8em 0 .8em!important;font-size:1em!important;position:static!important;width:auto!important}.syntaxhighlighter.collapsed .toolbar span{display:inline!important;margin-right:1em!important}.syntaxhighlighter.collapsed .toolbar span a{padding:0!important;display:none!important}.syntaxhighlighter.collapsed .toolbar span a.expandSource{display:inline!important}.syntaxhighlighter .toolbar{position:absolute!important;right:1px!important;top:1px!important;width:11px!important;height:11px!important;font-size:10px!important;z-index:10!important}.syntaxhighlighter .toolbar span.title{display:inline!important}.syntaxhighlighter .toolbar a{display:block!important;text-align:center!important;text-decoration:none!important;padding-top:1px!important}.syntaxhighlighter .toolbar a.expandSource{display:none!important}.syntaxhighlighter.ie{font-size:.9em!important;padding:1px 0 1px 0!important}.syntaxhighlighter.ie .toolbar{line-height:8px!important}.syntaxhighlighter.ie .toolbar a{padding-top:0!important}.syntaxhighlighter.printing .line.alt1 .content,.syntaxhighlighter.printing .line.alt2 .content,.syntaxhighlighter.printing .line.highlighted .number,.syntaxhighlighter.printing .line.highlighted.alt1 .content,.syntaxhighlighter.printing .line.highlighted.alt2 .content{background:none!important}.syntaxhighlighter.printing .line .number{color:#bbb!important}.syntaxhighlighter.printing .line .content{color:black!important}.syntaxhighlighter.printing .toolbar{display:none!important}.syntaxhighlighter.printing a{text-decoration:none!important}.syntaxhighlighter.printing .plain,.syntaxhighlighter.printing .plain a{color:black!important}.syntaxhighlighter.printing .comments,.syntaxhighlighter.printing .comments a{color:#008200!important}.syntaxhighlighter.printing .string,.syntaxhighlighter.printing .string a{color:blue!important}.syntaxhighlighter.printing .keyword{color:#ff7800!important;font-weight:bold!important}.syntaxhighlighter.printing .preprocessor{color:gray!important}.syntaxhighlighter.printing .variable{color:#a70!important}.syntaxhighlighter.printing .value{color:#090!important}.syntaxhighlighter.printing .functions{color:#ff1493!important}.syntaxhighlighter.printing .constants{color:#06c!important}.syntaxhighlighter.printing .script{font-weight:bold!important}.syntaxhighlighter.printing .color1,.syntaxhighlighter.printing .color1 a{color:gray!important}.syntaxhighlighter.printing .color2,.syntaxhighlighter.printing .color2 a{color:#ff1493!important}.syntaxhighlighter.printing .color3,.syntaxhighlighter.printing .color3 a{color:red!important}.syntaxhighlighter.printing .break,.syntaxhighlighter.printing .break a{color:black!important}.syntaxhighlighter{background-color:#f5f5f5!important}.syntaxhighlighter .line.highlighted.number{color:black!important}.syntaxhighlighter caption{color:black!important}.syntaxhighlighter .gutter{color:#afafaf!important;background-color:#f7f7f9!important;border-right:1px solid #e1e1e8!important;padding:9.5px 0 9.5px 9.5px!important;border-top-left-radius:4px!important;border-bottom-left-radius:4px!important;user-select:none!important;-moz-user-select:none!important;-webkit-user-select:none!important}.syntaxhighlighter .gutter .line.highlighted{background-color:#6ce26c!important;color:white!important}.syntaxhighlighter.printing .line .content{border:none!important}.syntaxhighlighter.collapsed{overflow:visible!important}.syntaxhighlighter.collapsed .toolbar{color:blue!important;background:white!important;border:1px solid #6ce26c!important}.syntaxhighlighter.collapsed .toolbar a{color:blue!important}.syntaxhighlighter.collapsed .toolbar a:hover{color:red!important}.syntaxhighlighter .toolbar{color:white!important;background:#6ce26c!important;border:none!important}.syntaxhighlighter .toolbar a{color:white!important}.syntaxhighlighter .toolbar a:hover{color:black!important}.syntaxhighlighter .plain,.syntaxhighlighter .plain a{color:black!important}.syntaxhighlighter .comments,.syntaxhighlighter .comments a{color:#008200!important}.syntaxhighlighter .string,.syntaxhighlighter .string a{color:blue!important}.syntaxhighlighter .keyword{color:#ff7800!important}.syntaxhighlighter .preprocessor{color:gray!important}.syntaxhighlighter .variable{color:#a70!important}.syntaxhighlighter .value{color:#090!important}.syntaxhighlighter .functions{color:#ff1493!important}.syntaxhighlighter .constants{color:#06c!important}.syntaxhighlighter .script{font-weight:bold!important;color:#ff7800!important;background-color:none!important}.syntaxhighlighter .color1,.syntaxhighlighter .color1 a{color:gray!important}.syntaxhighlighter .color2,.syntaxhighlighter .color2 a{color:#ff1493!important}.syntaxhighlighter .color3,.syntaxhighlighter .color3 a{color:red!important}.syntaxhighlighter .keyword{font-weight:bold!important} \ No newline at end of file diff --git a/public/lib/UEditor/third-party/codemirror/codemirror.css b/public/lib/UEditor/third-party/codemirror/codemirror.css new file mode 100644 index 00000000..461ae195 --- /dev/null +++ b/public/lib/UEditor/third-party/codemirror/codemirror.css @@ -0,0 +1,104 @@ +.CodeMirror { + line-height: 1em; + font-family: monospace; +} + +.CodeMirror-scroll { + overflow: auto; + height: 300px; + /* This is needed to prevent an IE[67] bug where the scrolled content + is visible outside of the scrolling box. */ + position: relative; +} + +.CodeMirror-gutter { + position: absolute; left: 0; top: 0; + z-index: 10; + background-color: #f7f7f7; + border-right: 1px solid #eee; + min-width: 2em; + height: 100%; +} +.CodeMirror-gutter-text { + color: #aaa; + text-align: right; + padding: .4em .2em .4em .4em; + white-space: pre !important; +} +.CodeMirror-lines { + padding: .4em; +} + +.CodeMirror pre { + -moz-border-radius: 0; + -webkit-border-radius: 0; + -o-border-radius: 0; + border-radius: 0; + border-width: 0; margin: 0; padding: 0; background: transparent; + font-family: inherit; + font-size: inherit; + padding: 0; margin: 0; + white-space: pre; + word-wrap: normal; +} + +.CodeMirror-wrap pre { + word-wrap: break-word; + white-space: pre-wrap; +} +.CodeMirror-wrap .CodeMirror-scroll { + overflow-x: hidden; +} + +.CodeMirror textarea { + outline: none !important; +} + +.CodeMirror pre.CodeMirror-cursor { + z-index: 10; + position: absolute; + visibility: hidden; + border-left: 1px solid black; +} +.CodeMirror-focused pre.CodeMirror-cursor { + visibility: visible; +} + +span.CodeMirror-selected { background: #d9d9d9; } +.CodeMirror-focused span.CodeMirror-selected { background: #d2dcf8; } + +.CodeMirror-searching {background: #ffa;} + +/* Default theme */ + +.cm-s-default span.cm-keyword {color: #708;} +.cm-s-default span.cm-atom {color: #219;} +.cm-s-default span.cm-number {color: #164;} +.cm-s-default span.cm-def {color: #00f;} +.cm-s-default span.cm-variable {color: black;} +.cm-s-default span.cm-variable-2 {color: #05a;} +.cm-s-default span.cm-variable-3 {color: #085;} +.cm-s-default span.cm-property {color: black;} +.cm-s-default span.cm-operator {color: black;} +.cm-s-default span.cm-comment {color: #a50;} +.cm-s-default span.cm-string {color: #a11;} +.cm-s-default span.cm-string-2 {color: #f50;} +.cm-s-default span.cm-meta {color: #555;} +.cm-s-default span.cm-error {color: #f00;} +.cm-s-default span.cm-qualifier {color: #555;} +.cm-s-default span.cm-builtin {color: #30a;} +.cm-s-default span.cm-bracket {color: #cc7;} +.cm-s-default span.cm-tag {color: #170;} +.cm-s-default span.cm-attribute {color: #00c;} +.cm-s-default span.cm-header {color: #a0a;} +.cm-s-default span.cm-quote {color: #090;} +.cm-s-default span.cm-hr {color: #999;} +.cm-s-default span.cm-link {color: #00c;} + +span.cm-header, span.cm-strong {font-weight: bold;} +span.cm-em {font-style: italic;} +span.cm-emstrong {font-style: italic; font-weight: bold;} +span.cm-link {text-decoration: underline;} + +div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} diff --git a/public/lib/UEditor/third-party/codemirror/codemirror.js.REMOVED.git-id b/public/lib/UEditor/third-party/codemirror/codemirror.js.REMOVED.git-id new file mode 100644 index 00000000..86506203 --- /dev/null +++ b/public/lib/UEditor/third-party/codemirror/codemirror.js.REMOVED.git-id @@ -0,0 +1 @@ +083f2421b25d8339c6201fc922866d6302ec6fbd \ No newline at end of file diff --git a/public/lib/UEditor/third-party/highcharts/adapters/mootools-adapter.js b/public/lib/UEditor/third-party/highcharts/adapters/mootools-adapter.js new file mode 100644 index 00000000..50fb0f42 --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/adapters/mootools-adapter.js @@ -0,0 +1,13 @@ +/* + Highcharts JS v3.0.6 (2013-10-04) + MooTools adapter + + (c) 2010-2013 Torstein Hønsi + + License: www.highcharts.com/license +*/ +(function(){var e=window,h=document,f=e.MooTools.version.substring(0,3),i=f==="1.2"||f==="1.1",j=i||f==="1.3",g=e.$extend||function(){return Object.append.apply(Object,arguments)};e.HighchartsAdapter={init:function(a){var b=Fx.prototype,c=b.start,d=Fx.Morph.prototype,e=d.compute;b.start=function(b,d){var e=this.element;if(b.d)this.paths=a.init(e,e.d,this.toD);c.apply(this,arguments);return this};d.compute=function(b,c,d){var f=this.paths;if(f)this.element.attr("d",a.step(f[0],f[1],d,this.toD));else return e.apply(this, +arguments)}},adapterRun:function(a,b){if(b==="width"||b==="height")return parseInt($(a).getStyle(b),10)},getScript:function(a,b){var c=h.getElementsByTagName("head")[0],d=h.createElement("script");d.type="text/javascript";d.src=a;d.onload=b;c.appendChild(d)},animate:function(a,b,c){var d=a.attr,f=c&&c.complete;if(d&&!a.setStyle)a.getStyle=a.attr,a.setStyle=function(){var a=arguments;this.attr.call(this,a[0],a[1][0])},a.$family=function(){return!0};e.HighchartsAdapter.stop(a);c=new Fx.Morph(d?a:$(a), +g({transition:Fx.Transitions.Quad.easeInOut},c));if(d)c.element=a;if(b.d)c.toD=b.d;f&&c.addEvent("complete",f);c.start(b);a.fx=c},each:function(a,b){return i?$each(a,b):Array.each(a,b)},map:function(a,b){return a.map(b)},grep:function(a,b){return a.filter(b)},inArray:function(a,b,c){return b?b.indexOf(a,c):-1},offset:function(a){a=a.getPosition();return{left:a.x,top:a.y}},extendWithEvents:function(a){a.addEvent||(a.nodeName?$(a):g(a,new Events))},addEvent:function(a,b,c){typeof b==="string"&&(b=== +"unload"&&(b="beforeunload"),e.HighchartsAdapter.extendWithEvents(a),a.addEvent(b,c))},removeEvent:function(a,b,c){typeof a!=="string"&&a.addEvent&&(b?(b==="unload"&&(b="beforeunload"),c?a.removeEvent(b,c):a.removeEvents&&a.removeEvents(b)):a.removeEvents())},fireEvent:function(a,b,c,d){b={type:b,target:a};b=j?new Event(b):new DOMEvent(b);b=g(b,c);if(!b.target&&b.event)b.target=b.event.target;b.preventDefault=function(){d=null};a.fireEvent&&a.fireEvent(b.type,b);d&&d(b)},washMouseEvent:function(a){if(a.page)a.pageX= +a.page.x,a.pageY=a.page.y;return a},stop:function(a){a.fx&&a.fx.cancel()}}})(); diff --git a/public/lib/UEditor/third-party/highcharts/adapters/mootools-adapter.src.js b/public/lib/UEditor/third-party/highcharts/adapters/mootools-adapter.src.js new file mode 100644 index 00000000..a310f0b7 --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/adapters/mootools-adapter.src.js @@ -0,0 +1,313 @@ +/** + * @license Highcharts JS v3.0.6 (2013-10-04) + * MooTools adapter + * + * (c) 2010-2013 Torstein Hønsi + * + * License: www.highcharts.com/license + */ + +// JSLint options: +/*global Fx, $, $extend, $each, $merge, Events, Event, DOMEvent */ + +(function () { + +var win = window, + doc = document, + mooVersion = win.MooTools.version.substring(0, 3), // Get the first three characters of the version number + legacy = mooVersion === '1.2' || mooVersion === '1.1', // 1.1 && 1.2 considered legacy, 1.3 is not. + legacyEvent = legacy || mooVersion === '1.3', // In versions 1.1 - 1.3 the event class is named Event, in newer versions it is named DOMEvent. + $extend = win.$extend || function () { + return Object.append.apply(Object, arguments); + }; + +win.HighchartsAdapter = { + /** + * Initialize the adapter. This is run once as Highcharts is first run. + * @param {Object} pathAnim The helper object to do animations across adapters. + */ + init: function (pathAnim) { + var fxProto = Fx.prototype, + fxStart = fxProto.start, + morphProto = Fx.Morph.prototype, + morphCompute = morphProto.compute; + + // override Fx.start to allow animation of SVG element wrappers + /*jslint unparam: true*//* allow unused parameters in fx functions */ + fxProto.start = function (from, to) { + var fx = this, + elem = fx.element; + + // special for animating paths + if (from.d) { + //this.fromD = this.element.d.split(' '); + fx.paths = pathAnim.init( + elem, + elem.d, + fx.toD + ); + } + fxStart.apply(fx, arguments); + + return this; // chainable + }; + + // override Fx.step to allow animation of SVG element wrappers + morphProto.compute = function (from, to, delta) { + var fx = this, + paths = fx.paths; + + if (paths) { + fx.element.attr( + 'd', + pathAnim.step(paths[0], paths[1], delta, fx.toD) + ); + } else { + return morphCompute.apply(fx, arguments); + } + }; + /*jslint unparam: false*/ + }, + + /** + * Run a general method on the framework, following jQuery syntax + * @param {Object} el The HTML element + * @param {String} method Which method to run on the wrapped element + */ + adapterRun: function (el, method) { + + // This currently works for getting inner width and height. If adding + // more methods later, we need a conditional implementation for each. + if (method === 'width' || method === 'height') { + return parseInt($(el).getStyle(method), 10); + } + }, + + /** + * Downloads a script and executes a callback when done. + * @param {String} scriptLocation + * @param {Function} callback + */ + getScript: function (scriptLocation, callback) { + // We cannot assume that Assets class from mootools-more is available so instead insert a script tag to download script. + var head = doc.getElementsByTagName('head')[0]; + var script = doc.createElement('script'); + + script.type = 'text/javascript'; + script.src = scriptLocation; + script.onload = callback; + + head.appendChild(script); + }, + + /** + * Animate a HTML element or SVG element wrapper + * @param {Object} el + * @param {Object} params + * @param {Object} options jQuery-like animation options: duration, easing, callback + */ + animate: function (el, params, options) { + var isSVGElement = el.attr, + effect, + complete = options && options.complete; + + if (isSVGElement && !el.setStyle) { + // add setStyle and getStyle methods for internal use in Moo + el.getStyle = el.attr; + el.setStyle = function () { // property value is given as array in Moo - break it down + var args = arguments; + this.attr.call(this, args[0], args[1][0]); + }; + // dirty hack to trick Moo into handling el as an element wrapper + el.$family = function () { return true; }; + } + + // stop running animations + win.HighchartsAdapter.stop(el); + + // define and run the effect + effect = new Fx.Morph( + isSVGElement ? el : $(el), + $extend({ + transition: Fx.Transitions.Quad.easeInOut + }, options) + ); + + // Make sure that the element reference is set when animating svg elements + if (isSVGElement) { + effect.element = el; + } + + // special treatment for paths + if (params.d) { + effect.toD = params.d; + } + + // jQuery-like events + if (complete) { + effect.addEvent('complete', complete); + } + + // run + effect.start(params); + + // record for use in stop method + el.fx = effect; + }, + + /** + * MooTool's each function + * + */ + each: function (arr, fn) { + return legacy ? + $each(arr, fn) : + Array.each(arr, fn); + }, + + /** + * Map an array + * @param {Array} arr + * @param {Function} fn + */ + map: function (arr, fn) { + return arr.map(fn); + }, + + /** + * Grep or filter an array + * @param {Array} arr + * @param {Function} fn + */ + grep: function (arr, fn) { + return arr.filter(fn); + }, + + /** + * Return the index of an item in an array, or -1 if not matched + */ + inArray: function (item, arr, from) { + return arr ? arr.indexOf(item, from) : -1; + }, + + /** + * Get the offset of an element relative to the top left corner of the web page + */ + offset: function (el) { + var offsets = el.getPosition(); // #1496 + return { + left: offsets.x, + top: offsets.y + }; + }, + + /** + * Extends an object with Events, if its not done + */ + extendWithEvents: function (el) { + // if the addEvent method is not defined, el is a custom Highcharts object + // like series or point + if (!el.addEvent) { + if (el.nodeName) { + el = $(el); // a dynamically generated node + } else { + $extend(el, new Events()); // a custom object + } + } + }, + + /** + * Add an event listener + * @param {Object} el HTML element or custom object + * @param {String} type Event type + * @param {Function} fn Event handler + */ + addEvent: function (el, type, fn) { + if (typeof type === 'string') { // chart broke due to el being string, type function + + if (type === 'unload') { // Moo self destructs before custom unload events + type = 'beforeunload'; + } + + win.HighchartsAdapter.extendWithEvents(el); + + el.addEvent(type, fn); + } + }, + + removeEvent: function (el, type, fn) { + if (typeof el === 'string') { + // el.removeEvents below apperantly calls this method again. Do not quite understand why, so for now just bail out. + return; + } + + if (el.addEvent) { // If el doesn't have an addEvent method, there are no events to remove + if (type) { + if (type === 'unload') { // Moo self destructs before custom unload events + type = 'beforeunload'; + } + + if (fn) { + el.removeEvent(type, fn); + } else if (el.removeEvents) { // #958 + el.removeEvents(type); + } + } else { + el.removeEvents(); + } + } + }, + + fireEvent: function (el, event, eventArguments, defaultFunction) { + var eventArgs = { + type: event, + target: el + }; + // create an event object that keeps all functions + event = legacyEvent ? new Event(eventArgs) : new DOMEvent(eventArgs); + event = $extend(event, eventArguments); + + // When running an event on the Chart.prototype, MooTools nests the target in event.event + if (!event.target && event.event) { + event.target = event.event.target; + } + + // override the preventDefault function to be able to use + // this for custom events + event.preventDefault = function () { + defaultFunction = null; + }; + // if fireEvent is not available on the object, there hasn't been added + // any events to it above + if (el.fireEvent) { + el.fireEvent(event.type, event); + } + + // fire the default if it is passed and it is not prevented above + if (defaultFunction) { + defaultFunction(event); + } + }, + + /** + * Set back e.pageX and e.pageY that MooTools has abstracted away. #1165, #1346. + */ + washMouseEvent: function (e) { + if (e.page) { + e.pageX = e.page.x; + e.pageY = e.page.y; + } + return e; + }, + + /** + * Stop running animations on the object + */ + stop: function (el) { + if (el.fx) { + el.fx.cancel(); + } + } +}; + +}()); diff --git a/public/lib/UEditor/third-party/highcharts/adapters/prototype-adapter.js b/public/lib/UEditor/third-party/highcharts/adapters/prototype-adapter.js new file mode 100644 index 00000000..8a57ccae --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/adapters/prototype-adapter.js @@ -0,0 +1,15 @@ +/* + Highcharts JS v3.0.6 (2013-10-04) + Prototype adapter + + @author Michael Nelson, Torstein Hønsi. + + Feel free to use and modify this script. + Highcharts license: www.highcharts.com/license. +*/ +var HighchartsAdapter=function(){var f=typeof Effect!=="undefined";return{init:function(a){if(f)Effect.HighchartsTransition=Class.create(Effect.Base,{initialize:function(b,c,d,g){var e;this.element=b;this.key=c;e=b.attr?b.attr(c):$(b).getStyle(c);if(c==="d")this.paths=a.init(b,b.d,d),this.toD=d,e=0,d=1;this.start(Object.extend(g||{},{from:e,to:d,attribute:c}))},setup:function(){HighchartsAdapter._extend(this.element);if(!this.element._highchart_animation)this.element._highchart_animation={};this.element._highchart_animation[this.key]= +this},update:function(b){var c=this.paths,d=this.element;c&&(b=a.step(c[0],c[1],b,this.toD));d.attr?d.element&&d.attr(this.options.attribute,b):(c={},c[this.options.attribute]=b,$(d).setStyle(c))},finish:function(){this.element&&this.element._highchart_animation&&delete this.element._highchart_animation[this.key]}})},adapterRun:function(a,b){return parseInt($(a).getStyle(b),10)},getScript:function(a,b){var c=$$("head")[0];c&&c.appendChild((new Element("script",{type:"text/javascript",src:a})).observe("load", +b))},addNS:function(a){var b=/^(?:click|mouse(?:down|up|over|move|out))$/;return/^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/.test(a)||b.test(a)?a:"h:"+a},addEvent:function(a,b,c){a.addEventListener||a.attachEvent?Event.observe($(a),HighchartsAdapter.addNS(b),c):(HighchartsAdapter._extend(a),a._highcharts_observe(b,c))},animate:function(a,b,c){var d,c=c||{};c.delay=0;c.duration=(c.duration||500)/1E3;c.afterFinish=c.complete;if(f)for(d in b)new Effect.HighchartsTransition($(a), +d,b[d],c);else{if(a.attr)for(d in b)a.attr(d,b[d]);c.complete&&c.complete()}a.attr||$(a).setStyle(b)},stop:function(a){var b;if(a._highcharts_extended&&a._highchart_animation)for(b in a._highchart_animation)a._highchart_animation[b].cancel()},each:function(a,b){$A(a).each(b)},inArray:function(a,b,c){return b?b.indexOf(a,c):-1},offset:function(a){return $(a).cumulativeOffset()},fireEvent:function(a,b,c,d){a.fire?a.fire(HighchartsAdapter.addNS(b),c):a._highcharts_extended&&(c=c||{},a._highcharts_fire(b, +c));c&&c.defaultPrevented&&(d=null);d&&d(c)},removeEvent:function(a,b,c){$(a).stopObserving&&(b&&(b=HighchartsAdapter.addNS(b)),$(a).stopObserving(b,c));window===a?Event.stopObserving(a,b,c):(HighchartsAdapter._extend(a),a._highcharts_stop_observing(b,c))},washMouseEvent:function(a){return a},grep:function(a,b){return a.findAll(b)},map:function(a,b){return a.map(b)},_extend:function(a){a._highcharts_extended||Object.extend(a,{_highchart_events:{},_highchart_animation:null,_highcharts_extended:!0, +_highcharts_observe:function(b,a){this._highchart_events[b]=[this._highchart_events[b],a].compact().flatten()},_highcharts_stop_observing:function(b,a){b?a?this._highchart_events[b]=[this._highchart_events[b]].compact().flatten().without(a):delete this._highchart_events[b]:this._highchart_events={}},_highcharts_fire:function(a,c){var d=this;(this._highchart_events[a]||[]).each(function(a){if(!c.stopped)c.preventDefault=function(){c.defaultPrevented=!0},c.target=d,a.bind(this)(c)===!1&&c.preventDefault()}.bind(this))}})}}}(); diff --git a/public/lib/UEditor/third-party/highcharts/adapters/prototype-adapter.src.js b/public/lib/UEditor/third-party/highcharts/adapters/prototype-adapter.src.js new file mode 100644 index 00000000..9c8529e4 --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/adapters/prototype-adapter.src.js @@ -0,0 +1,316 @@ +/** + * @license Highcharts JS v3.0.6 (2013-10-04) + * Prototype adapter + * + * @author Michael Nelson, Torstein Hønsi. + * + * Feel free to use and modify this script. + * Highcharts license: www.highcharts.com/license. + */ + +// JSLint options: +/*global Effect, Class, Event, Element, $, $$, $A */ + +// Adapter interface between prototype and the Highcharts charting library +var HighchartsAdapter = (function () { + +var hasEffect = typeof Effect !== 'undefined'; + +return { + + /** + * Initialize the adapter. This is run once as Highcharts is first run. + * @param {Object} pathAnim The helper object to do animations across adapters. + */ + init: function (pathAnim) { + if (hasEffect) { + /** + * Animation for Highcharts SVG element wrappers only + * @param {Object} element + * @param {Object} attribute + * @param {Object} to + * @param {Object} options + */ + Effect.HighchartsTransition = Class.create(Effect.Base, { + initialize: function (element, attr, to, options) { + var from, + opts; + + this.element = element; + this.key = attr; + from = element.attr ? element.attr(attr) : $(element).getStyle(attr); + + // special treatment for paths + if (attr === 'd') { + this.paths = pathAnim.init( + element, + element.d, + to + ); + this.toD = to; + + + // fake values in order to read relative position as a float in update + from = 0; + to = 1; + } + + opts = Object.extend((options || {}), { + from: from, + to: to, + attribute: attr + }); + this.start(opts); + }, + setup: function () { + HighchartsAdapter._extend(this.element); + // If this is the first animation on this object, create the _highcharts_animation helper that + // contain pointers to the animation objects. + if (!this.element._highchart_animation) { + this.element._highchart_animation = {}; + } + + // Store a reference to this animation instance. + this.element._highchart_animation[this.key] = this; + }, + update: function (position) { + var paths = this.paths, + element = this.element, + obj; + + if (paths) { + position = pathAnim.step(paths[0], paths[1], position, this.toD); + } + + if (element.attr) { // SVGElement + + if (element.element) { // If not, it has been destroyed (#1405) + element.attr(this.options.attribute, position); + } + + } else { // HTML, #409 + obj = {}; + obj[this.options.attribute] = position; + $(element).setStyle(obj); + } + + }, + finish: function () { + // Delete the property that holds this animation now that it is finished. + // Both canceled animations and complete ones gets a 'finish' call. + if (this.element && this.element._highchart_animation) { // #1405 + delete this.element._highchart_animation[this.key]; + } + } + }); + } + }, + + /** + * Run a general method on the framework, following jQuery syntax + * @param {Object} el The HTML element + * @param {String} method Which method to run on the wrapped element + */ + adapterRun: function (el, method) { + + // This currently works for getting inner width and height. If adding + // more methods later, we need a conditional implementation for each. + return parseInt($(el).getStyle(method), 10); + + }, + + /** + * Downloads a script and executes a callback when done. + * @param {String} scriptLocation + * @param {Function} callback + */ + getScript: function (scriptLocation, callback) { + var head = $$('head')[0]; // Returns an array, so pick the first element. + if (head) { + // Append a new 'script' element, set its type and src attributes, add a 'load' handler that calls the callback + head.appendChild(new Element('script', { type: 'text/javascript', src: scriptLocation}).observe('load', callback)); + } + }, + + /** + * Custom events in prototype needs to be namespaced. This method adds a namespace 'h:' in front of + * events that are not recognized as native. + */ + addNS: function (eventName) { + var HTMLEvents = /^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/, + MouseEvents = /^(?:click|mouse(?:down|up|over|move|out))$/; + return (HTMLEvents.test(eventName) || MouseEvents.test(eventName)) ? + eventName : + 'h:' + eventName; + }, + + // el needs an event to be attached. el is not necessarily a dom element + addEvent: function (el, event, fn) { + if (el.addEventListener || el.attachEvent) { + Event.observe($(el), HighchartsAdapter.addNS(event), fn); + + } else { + HighchartsAdapter._extend(el); + el._highcharts_observe(event, fn); + } + }, + + // motion makes things pretty. use it if effects is loaded, if not... still get to the end result. + animate: function (el, params, options) { + var key, + fx; + + // default options + options = options || {}; + options.delay = 0; + options.duration = (options.duration || 500) / 1000; + options.afterFinish = options.complete; + + // animate wrappers and DOM elements + if (hasEffect) { + for (key in params) { + // The fx variable is seemingly thrown away here, but the Effect.setup will add itself to the _highcharts_animation object + // on the element itself so its not really lost. + fx = new Effect.HighchartsTransition($(el), key, params[key], options); + } + } else { + if (el.attr) { // #409 without effects + for (key in params) { + el.attr(key, params[key]); + } + } + if (options.complete) { + options.complete(); + } + } + + if (!el.attr) { // HTML element, #409 + $(el).setStyle(params); + } + }, + + // this only occurs in higcharts 2.0+ + stop: function (el) { + var key; + if (el._highcharts_extended && el._highchart_animation) { + for (key in el._highchart_animation) { + // Cancel the animation + // The 'finish' function in the Effect object will remove the reference + el._highchart_animation[key].cancel(); + } + } + }, + + // um.. each + each: function (arr, fn) { + $A(arr).each(fn); + }, + + inArray: function (item, arr, from) { + return arr ? arr.indexOf(item, from) : -1; + }, + + /** + * Get the cumulative offset relative to the top left of the page. This method, unlike its + * jQuery and MooTools counterpart, still suffers from issue #208 regarding the position + * of a chart within a fixed container. + */ + offset: function (el) { + return $(el).cumulativeOffset(); + }, + + // fire an event based on an event name (event) and an object (el). + // again, el may not be a dom element + fireEvent: function (el, event, eventArguments, defaultFunction) { + if (el.fire) { + el.fire(HighchartsAdapter.addNS(event), eventArguments); + } else if (el._highcharts_extended) { + eventArguments = eventArguments || {}; + el._highcharts_fire(event, eventArguments); + } + + if (eventArguments && eventArguments.defaultPrevented) { + defaultFunction = null; + } + + if (defaultFunction) { + defaultFunction(eventArguments); + } + }, + + removeEvent: function (el, event, handler) { + if ($(el).stopObserving) { + if (event) { + event = HighchartsAdapter.addNS(event); + } + $(el).stopObserving(event, handler); + } if (window === el) { + Event.stopObserving(el, event, handler); + } else { + HighchartsAdapter._extend(el); + el._highcharts_stop_observing(event, handler); + } + }, + + washMouseEvent: function (e) { + return e; + }, + + // um, grep + grep: function (arr, fn) { + return arr.findAll(fn); + }, + + // um, map + map: function (arr, fn) { + return arr.map(fn); + }, + + // extend an object to handle highchart events (highchart objects, not svg elements). + // this is a very simple way of handling events but whatever, it works (i think) + _extend: function (object) { + if (!object._highcharts_extended) { + Object.extend(object, { + _highchart_events: {}, + _highchart_animation: null, + _highcharts_extended: true, + _highcharts_observe: function (name, fn) { + this._highchart_events[name] = [this._highchart_events[name], fn].compact().flatten(); + }, + _highcharts_stop_observing: function (name, fn) { + if (name) { + if (fn) { + this._highchart_events[name] = [this._highchart_events[name]].compact().flatten().without(fn); + } else { + delete this._highchart_events[name]; + } + } else { + this._highchart_events = {}; + } + }, + _highcharts_fire: function (name, args) { + var target = this; + (this._highchart_events[name] || []).each(function (fn) { + // args is never null here + if (args.stopped) { + return; // "throw $break" wasn't working. i think because of the scope of 'this'. + } + + // Attach a simple preventDefault function to skip default handler if called + args.preventDefault = function () { + args.defaultPrevented = true; + }; + args.target = target; + + // If the event handler return false, prevent the default handler from executing + if (fn.bind(this)(args) === false) { + args.preventDefault(); + } + } +.bind(this)); + } + }); + } + } +}; +}()); diff --git a/public/lib/UEditor/third-party/highcharts/adapters/standalone-framework.js b/public/lib/UEditor/third-party/highcharts/adapters/standalone-framework.js new file mode 100644 index 00000000..70a92db8 --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/adapters/standalone-framework.js @@ -0,0 +1,17 @@ +/* + Highcharts JS v3.0.6 (2013-10-04) + + Standalone Highcharts Framework + + License: MIT License +*/ +var HighchartsAdapter=function(){function o(c){function a(a,b,d){a.removeEventListener(b,d,!1)}function d(a,b,d){d=a.HCProxiedMethods[d.toString()];a.detachEvent("on"+b,d)}function b(b,c){var f=b.HCEvents,i,g,k,j;if(b.removeEventListener)i=a;else if(b.attachEvent)i=d;else return;c?(g={},g[c]=!0):g=f;for(j in g)if(f[j])for(k=f[j].length;k--;)i(b,j,f[j][k])}c.HCExtended||Highcharts.extend(c,{HCExtended:!0,HCEvents:{},bind:function(b,a){var d=this,c=this.HCEvents,g;if(d.addEventListener)d.addEventListener(b, +a,!1);else if(d.attachEvent){g=function(b){a.call(d,b)};if(!d.HCProxiedMethods)d.HCProxiedMethods={};d.HCProxiedMethods[a.toString()]=g;d.attachEvent("on"+b,g)}c[b]===r&&(c[b]=[]);c[b].push(a)},unbind:function(c,h){var f,i;c?(f=this.HCEvents[c]||[],h?(i=HighchartsAdapter.inArray(h,f),i>-1&&(f.splice(i,1),this.HCEvents[c]=f),this.removeEventListener?a(this,c,h):this.attachEvent&&d(this,c,h)):(b(this,c),this.HCEvents[c]=[])):(b(this),this.HCEvents={})},trigger:function(b,a){var d=this.HCEvents[b]|| +[],c=d.length,g,k,j;k=function(){a.defaultPrevented=!0};for(g=0;g=b.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();a=this.options.curAnim[this.prop]= +!0;for(e in b.curAnim)b.curAnim[e]!==!0&&(a=!1);a&&b.complete&&b.complete.call(this.elem);b=!1}else e=c-this.startTime,this.state=e/b.duration,this.pos=b.easing(e,0,1,b.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update(),b=!0;return b}};this.animate=function(a,d,b){var e,h="",f,i,g;a.stopAnimation=!1;if(typeof b!=="object"||b===null)e=arguments,b={duration:e[2],easing:e[3],complete:e[4]};if(typeof b.duration!=="number")b.duration=400;b.easing=Math[b.easing]||Math.easeInOutSine; +b.curAnim=Highcharts.extend({},d);for(g in d)i=new n(a,b,g),f=null,g==="d"?(i.paths=c.init(a,a.d,d.d),i.toD=d.d,e=0,f=1):a.attr?e=a.attr(g):(e=parseFloat(HighchartsAdapter._getStyle(a,g))||0,g!=="opacity"&&(h="px")),f||(f=parseFloat(d[g])),i.custom(e,f,h)}},_getStyle:function(c,a){return window.getComputedStyle(c).getPropertyValue(a)},getScript:function(c,a){var d=l.getElementsByTagName("head")[0],b=l.createElement("script");b.type="text/javascript";b.src=c;b.onload=a;d.appendChild(b)},inArray:function(c, +a){return a.indexOf?a.indexOf(c):p.indexOf.call(a,c)},adapterRun:function(c,a){return parseInt(HighchartsAdapter._getStyle(c,a),10)},grep:function(c,a){return p.filter.call(c,a)},map:function(c,a){for(var d=[],b=0,e=c.length;b-1?b[g]=h.translate(b[g]):u(g,["height","y"])>-1&&(b[g]=v.translate(b[g]));b.width&&(b.width-=h.toPixels(0)-h.left);b.x&&(b.x+=h.minPixelPadding);if(a.shape.type==="path"){g=b.d;o=e;for(var r=j,s=g.length,k=0;k-1&&d.splice(c,1);z(["title","shape","group"],function(b){a[b]&&(a[b].destroy(),a[b]=null)});a.group=a.title=a.shape=a.chart=a.options=null},update:function(a,d){t(this.options,a);this.linkObjects();this.render(d)}, +linkObjects:function(){var a=this.chart,d=this.linkedObject,c=d&&(d.id||d.options.id),b=this.options.linkedTo;if(n(b)){if(!n(d)||b!==c)this.linkedObject=a.get(b)}else this.linkedObject=null}};t(s.prototype,{annotations:{add:function(a,d){var c=this.allItems,b=this.chart,f,e;Object.prototype.toString.call(a)==="[object Array]"||(a=[a]);for(e=a.length;e--;)f=new B(b,a[e]),c.push(f),f.render(d)},redraw:function(){z(this.allItems,function(a){a.redraw()})}}});s.prototype.callbacks.push(function(a){var d= +a.options.annotations,c;c=a.renderer.g("annotations");c.attr({zIndex:7});c.add();a.annotations.allItems=[];a.annotations.chart=a;a.annotations.group=c;Object.prototype.toString.call(d)==="[object Array]"&&d.length>0&&a.annotations.add(a.options.annotations);i.addEvent(a,"redraw",function(){a.annotations.redraw()})})})(Highcharts,HighchartsAdapter); diff --git a/public/lib/UEditor/third-party/highcharts/modules/annotations.src.js b/public/lib/UEditor/third-party/highcharts/modules/annotations.src.js new file mode 100644 index 00000000..40ce8df3 --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/annotations.src.js @@ -0,0 +1,401 @@ +(function (Highcharts, HighchartsAdapter) { + +var UNDEFINED, + ALIGN_FACTOR, + ALLOWED_SHAPES, + Chart = Highcharts.Chart, + extend = Highcharts.extend, + each = Highcharts.each; + +ALLOWED_SHAPES = ["path", "rect", "circle"]; + +ALIGN_FACTOR = { + top: 0, + left: 0, + center: 0.5, + middle: 0.5, + bottom: 1, + right: 1 +}; + + +// Highcharts helper methods +var inArray = HighchartsAdapter.inArray, + merge = Highcharts.merge; + +function defaultOptions(shapeType) { + var shapeOptions, + options; + + options = { + xAxis: 0, + yAxis: 0, + title: { + style: {}, + text: "", + x: 0, + y: 0 + }, + shape: { + params: { + stroke: "#000000", + fill: "transparent", + strokeWidth: 2 + } + } + }; + + shapeOptions = { + circle: { + params: { + x: 0, + y: 0 + } + } + }; + + if (shapeOptions[shapeType]) { + options.shape = merge(options.shape, shapeOptions[shapeType]); + } + + return options; +} + +function isArray(obj) { + return Object.prototype.toString.call(obj) === '[object Array]'; +} + +function isNumber(n) { + return typeof n === 'number'; +} + +function defined(obj) { + return obj !== UNDEFINED && obj !== null; +} + +function translatePath(d, xAxis, yAxis, xOffset, yOffset) { + var len = d.length, + i = 0; + + while (i < len) { + if (typeof d[i] === 'number' && typeof d[i + 1] === 'number') { + d[i] = xAxis.toPixels(d[i]) - xOffset; + d[i + 1] = yAxis.toPixels(d[i + 1]) - yOffset; + i += 2; + } else { + i += 1; + } + } + + return d; +} + + +// Define annotation prototype +var Annotation = function () { + this.init.apply(this, arguments); +}; +Annotation.prototype = { + /* + * Initialize the annotation + */ + init: function (chart, options) { + var shapeType = options.shape && options.shape.type; + + this.chart = chart; + this.options = merge({}, defaultOptions(shapeType), options); + }, + + /* + * Render the annotation + */ + render: function (redraw) { + var annotation = this, + chart = this.chart, + renderer = annotation.chart.renderer, + group = annotation.group, + title = annotation.title, + shape = annotation.shape, + options = annotation.options, + titleOptions = options.title, + shapeOptions = options.shape; + + if (!group) { + group = annotation.group = renderer.g(); + } + + + if (!shape && shapeOptions && inArray(shapeOptions.type, ALLOWED_SHAPES) !== -1) { + shape = annotation.shape = renderer[options.shape.type](shapeOptions.params); + shape.add(group); + } + + if (!title && titleOptions) { + title = annotation.title = renderer.label(titleOptions); + title.add(group); + } + + group.add(chart.annotations.group); + + // link annotations to point or series + annotation.linkObjects(); + + if (redraw !== false) { + annotation.redraw(); + } + }, + + /* + * Redraw the annotation title or shape after options update + */ + redraw: function () { + var options = this.options, + chart = this.chart, + group = this.group, + title = this.title, + shape = this.shape, + linkedTo = this.linkedObject, + xAxis = chart.xAxis[options.xAxis], + yAxis = chart.yAxis[options.yAxis], + width = options.width, + height = options.height, + anchorY = ALIGN_FACTOR[options.anchorY], + anchorX = ALIGN_FACTOR[options.anchorX], + resetBBox = false, + shapeParams, + linkType, + series, + param, + bbox, + x, + y; + + if (linkedTo) { + linkType = (linkedTo instanceof Highcharts.Point) ? 'point' : + (linkedTo instanceof Highcharts.Series) ? 'series' : null; + + if (linkType === 'point') { + options.xValue = linkedTo.x; + options.yValue = linkedTo.y; + series = linkedTo.series; + } else if (linkType === 'series') { + series = linkedTo; + } + + if (group.visibility !== series.group.visibility) { + group.attr({ + visibility: series.group.visibility + }); + } + } + + + // Based on given options find annotation pixel position + x = (defined(options.xValue) ? xAxis.toPixels(options.xValue + xAxis.minPointOffset) - xAxis.minPixelPadding : options.x); + y = defined(options.yValue) ? yAxis.toPixels(options.yValue) : options.y; + + if (isNaN(x) || isNaN(y) || !isNumber(x) || !isNumber(y)) { + return; + } + + + if (title) { + title.attr(options.title); + title.css(options.title.style); + resetBBox = true; + } + + if (shape) { + shapeParams = extend({}, options.shape.params); + + if (options.units === 'values') { + for (param in shapeParams) { + if (inArray(param, ['width', 'x']) > -1) { + shapeParams[param] = xAxis.translate(shapeParams[param]); + } else if (inArray(param, ['height', 'y']) > -1) { + shapeParams[param] = yAxis.translate(shapeParams[param]); + } + } + + if (shapeParams.width) { + shapeParams.width -= xAxis.toPixels(0) - xAxis.left; + } + + if (shapeParams.x) { + shapeParams.x += xAxis.minPixelPadding; + } + + if (options.shape.type === 'path') { + translatePath(shapeParams.d, xAxis, yAxis, x, y); + } + } + + // move the center of the circle to shape x/y + if (options.shape.type === 'circle') { + shapeParams.x += shapeParams.r; + shapeParams.y += shapeParams.r; + } + + resetBBox = true; + shape.attr(shapeParams); + } + + group.bBox = null; + + // If annotation width or height is not defined in options use bounding box size + if (!isNumber(width)) { + bbox = group.getBBox(); + width = bbox.width; + } + + if (!isNumber(height)) { + // get bbox only if it wasn't set before + if (!bbox) { + bbox = group.getBBox(); + } + + height = bbox.height; + } + + // Calculate anchor point + if (!isNumber(anchorX)) { + anchorX = ALIGN_FACTOR.center; + } + + if (!isNumber(anchorY)) { + anchorY = ALIGN_FACTOR.center; + } + + // Translate group according to its dimension and anchor point + x = x - width * anchorX; + y = y - height * anchorY; + + if (chart.animation && defined(group.translateX) && defined(group.translateY)) { + group.animate({ + translateX: x, + translateY: y + }); + } else { + group.translate(x, y); + } + }, + + /* + * Destroy the annotation + */ + destroy: function () { + var annotation = this, + chart = this.chart, + allItems = chart.annotations.allItems, + index = allItems.indexOf(annotation); + + if (index > -1) { + allItems.splice(index, 1); + } + + each(['title', 'shape', 'group'], function (element) { + if (annotation[element]) { + annotation[element].destroy(); + annotation[element] = null; + } + }); + + annotation.group = annotation.title = annotation.shape = annotation.chart = annotation.options = null; + }, + + /* + * Update the annotation with a given options + */ + update: function (options, redraw) { + extend(this.options, options); + + // update link to point or series + this.linkObjects(); + + this.render(redraw); + }, + + linkObjects: function () { + var annotation = this, + chart = annotation.chart, + linkedTo = annotation.linkedObject, + linkedId = linkedTo && (linkedTo.id || linkedTo.options.id), + options = annotation.options, + id = options.linkedTo; + + if (!defined(id)) { + annotation.linkedObject = null; + } else if (!defined(linkedTo) || id !== linkedId) { + annotation.linkedObject = chart.get(id); + } + } +}; + + +// Add annotations methods to chart prototype +extend(Chart.prototype, { + annotations: { + /* + * Unified method for adding annotations to the chart + */ + add: function (options, redraw) { + var annotations = this.allItems, + chart = this.chart, + item, + len; + + if (!isArray(options)) { + options = [options]; + } + + len = options.length; + + while (len--) { + item = new Annotation(chart, options[len]); + annotations.push(item); + item.render(redraw); + } + }, + + /** + * Redraw all annotations, method used in chart events + */ + redraw: function () { + each(this.allItems, function (annotation) { + annotation.redraw(); + }); + } + } +}); + + +// Initialize on chart load +Chart.prototype.callbacks.push(function (chart) { + var options = chart.options.annotations, + group; + + group = chart.renderer.g("annotations"); + group.attr({ + zIndex: 7 + }); + group.add(); + + // initialize empty array for annotations + chart.annotations.allItems = []; + + // link chart object to annotations + chart.annotations.chart = chart; + + // link annotations group element to the chart + chart.annotations.group = group; + + if (isArray(options) && options.length > 0) { + chart.annotations.add(chart.options.annotations); + } + + // update annotations after chart redraw + Highcharts.addEvent(chart, 'redraw', function () { + chart.annotations.redraw(); + }); +}); +}(Highcharts, HighchartsAdapter)); diff --git a/public/lib/UEditor/third-party/highcharts/modules/canvas-tools.js.REMOVED.git-id b/public/lib/UEditor/third-party/highcharts/modules/canvas-tools.js.REMOVED.git-id new file mode 100644 index 00000000..0e64064f --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/canvas-tools.js.REMOVED.git-id @@ -0,0 +1 @@ +0ddf77ac656182a3129978e26e9dfed9d75beb08 \ No newline at end of file diff --git a/public/lib/UEditor/third-party/highcharts/modules/canvas-tools.src.js.REMOVED.git-id b/public/lib/UEditor/third-party/highcharts/modules/canvas-tools.src.js.REMOVED.git-id new file mode 100644 index 00000000..2c4941e3 --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/canvas-tools.src.js.REMOVED.git-id @@ -0,0 +1 @@ +3ebbdcf784f5914039cae384c36ff79614baddea \ No newline at end of file diff --git a/public/lib/UEditor/third-party/highcharts/modules/data.js b/public/lib/UEditor/third-party/highcharts/modules/data.js new file mode 100644 index 00000000..e309b39b --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/data.js @@ -0,0 +1,17 @@ +/* + Data plugin for Highcharts + + (c) 2012-2013 Torstein Hønsi + Last revision 2013-06-07 + + License: www.highcharts.com/license +*/ +(function(h){var k=h.each,m=function(b,a){this.init(b,a)};h.extend(m.prototype,{init:function(b,a){this.options=b;this.chartOptions=a;this.columns=b.columns||this.rowsToColumns(b.rows)||[];this.columns.length?this.dataFound():(this.parseCSV(),this.parseTable(),this.parseGoogleSpreadsheet())},getColumnDistribution:function(){var b=this.chartOptions,a=b&&b.chart&&b.chart.type,c=[];k(b&&b.series||[],function(b){c.push((h.seriesTypes[b.type||a||"line"].prototype.pointArrayMap||[0]).length)});this.valueCount= +{global:(h.seriesTypes[a||"line"].prototype.pointArrayMap||[0]).length,individual:c}},dataFound:function(){this.parseTypes();this.findHeaderRow();this.parsed();this.complete()},parseCSV:function(){var b=this,a=this.options,c=a.csv,d=this.columns,f=a.startRow||0,i=a.endRow||Number.MAX_VALUE,j=a.startColumn||0,e=a.endColumn||Number.MAX_VALUE,g=0;c&&(c=c.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(a.lineDelimiter||"\n"),k(c,function(c,h){var n=b.trim(c),p=n.indexOf("#")===0;h>=f&&h<=i&&!p&&n!==""&& +(n=c.split(a.itemDelimiter||","),k(n,function(b,a){a>=j&&a<=e&&(d[a-j]||(d[a-j]=[]),d[a-j][g]=b)}),g+=1)}),this.dataFound())},parseTable:function(){var b=this.options,a=b.table,c=this.columns,d=b.startRow||0,f=b.endRow||Number.MAX_VALUE,i=b.startColumn||0,j=b.endColumn||Number.MAX_VALUE,e;a&&(typeof a==="string"&&(a=document.getElementById(a)),k(a.getElementsByTagName("tr"),function(a,b){e=0;b>=d&&b<=f&&k(a.childNodes,function(a){if((a.tagName==="TD"||a.tagName==="TH")&&e>=i&&e<=j)c[e]||(c[e]=[]), +c[e][b-d]=a.innerHTML,e+=1})}),this.dataFound())},parseGoogleSpreadsheet:function(){var b=this,a=this.options,c=a.googleSpreadsheetKey,d=this.columns,f=a.startRow||0,i=a.endRow||Number.MAX_VALUE,j=a.startColumn||0,e=a.endColumn||Number.MAX_VALUE,g,h;c&&jQuery.getJSON("https://spreadsheets.google.com/feeds/cells/"+c+"/"+(a.googleSpreadsheetWorksheet||"od6")+"/public/values?alt=json-in-script&callback=?",function(a){var a=a.feed.entry,c,k=a.length,m=0,o=0,l;for(l=0;l=j&&l<=e)d[l-j]=[],d[l-j].length=Math.min(o,i-f);for(l=0;l=j&&h<=e&&g>=f&&g<=i)d[h-j][g-f]=c.content.$t;b.dataFound()})},findHeaderRow:function(){k(this.columns,function(){});this.headerRow=0},trim:function(b){return typeof b==="string"?b.replace(/^\s+|\s+$/g,""):b},parseTypes:function(){for(var b=this.columns,a=b.length,c,d,f,i;a--;)for(c=b[a].length;c--;)d=b[a][c],f=parseFloat(d),i=this.trim(d), +i==f?(b[a][c]=f,f>31536E6?b[a].isDatetime=!0:b[a].isNumeric=!0):(d=this.parseDate(d),a===0&&typeof d==="number"&&!isNaN(d)?(b[a][c]=d,b[a].isDatetime=!0):b[a][c]=i===""?null:i)},dateFormats:{"YYYY-mm-dd":{regex:"^([0-9]{4})-([0-9]{2})-([0-9]{2})$",parser:function(b){return Date.UTC(+b[1],b[2]-1,+b[3])}}},parseDate:function(b){var a=this.options.parseDate,c,d,f;a&&(c=a(b));if(typeof b==="string")for(d in this.dateFormats)a=this.dateFormats[d],(f=b.match(a.regex))&&(c=a.parser(f));return c},rowsToColumns:function(b){var a, +c,d,f,i;if(b){i=[];c=b.length;for(a=0;a1&&(a=b.shift(),this.headerRow===0&&a.shift(),a.isDatetime?c="datetime":a.isNumeric||(c="category"));for(e=0;e1&&j[g].push(b[e+1][g]!==void 0?b[e+1][g]:null),f>2&&j[g].push(b[e+2][g]!==void 0?b[e+2][g]:null),f>3&&j[g].push(b[e+3][g]!==void 0?b[e+3][g]:null),f>4&&j[g].push(b[e+4][g]!==void 0?b[e+4][g]:null);i[k]={name:b[e].name,data:j};e+=f}d.complete({xAxis:{type:c},series:i})}}});h.Data=m;h.data=function(b,a){return new m(b,a)};h.wrap(h.Chart.prototype, +"init",function(b,a,c){var d=this;a&&a.data?h.data(h.extend(a.data,{complete:function(f){a.series&&k(a.series,function(b,c){a.series[c]=h.merge(b,f.series[c])});a=h.merge(f,a);b.call(d,a,c)}}),a):b.call(d,a,c)})})(Highcharts); diff --git a/public/lib/UEditor/third-party/highcharts/modules/data.src.js.REMOVED.git-id b/public/lib/UEditor/third-party/highcharts/modules/data.src.js.REMOVED.git-id new file mode 100644 index 00000000..03c1c6f3 --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/data.src.js.REMOVED.git-id @@ -0,0 +1 @@ +d344799f07a6d8a4e1922ab40a77b440bfbeb0f6 \ No newline at end of file diff --git a/public/lib/UEditor/third-party/highcharts/modules/drilldown.js b/public/lib/UEditor/third-party/highcharts/modules/drilldown.js new file mode 100644 index 00000000..1df1acce --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/drilldown.js @@ -0,0 +1,11 @@ +(function(e){function q(b,a,c){return"rgba("+[Math.round(b[0]+(a[0]-b[0])*c),Math.round(b[1]+(a[1]-b[1])*c),Math.round(b[2]+(a[2]-b[2])*c),b[3]+(a[3]-b[3])*c].join(",")+")"}var m=function(){},j=e.getOptions(),g=e.each,n=e.extend,o=e.wrap,h=e.Chart,i=e.seriesTypes,k=i.pie,l=i.column,r=HighchartsAdapter.fireEvent;n(j.lang,{drillUpText:"◁ Back to {series.name}"});j.drilldown={activeAxisLabelStyle:{cursor:"pointer",color:"#039",fontWeight:"bold",textDecoration:"underline"},activeDataLabelStyle:{cursor:"pointer", +color:"#039",fontWeight:"bold",textDecoration:"underline"},animation:{duration:500},drillUpButton:{position:{align:"right",x:-10,y:10}}};e.SVGRenderer.prototype.Element.prototype.fadeIn=function(){this.attr({opacity:0.1,visibility:"visible"}).animate({opacity:1},{duration:250})};h.prototype.drilldownLevels=[];h.prototype.addSeriesAsDrilldown=function(b,a){var c=b.series,d=c.xAxis,f=c.yAxis,e;e=b.color||c.color;var g,a=n({color:e},a);g=HighchartsAdapter.inArray(this,c.points);this.drilldownLevels.push({seriesOptions:c.userOptions, +shapeArgs:b.shapeArgs,bBox:b.graphic.getBBox(),color:e,newSeries:a,pointOptions:c.options.data[g],pointIndex:g,oldExtremes:{xMin:d&&d.userMin,xMax:d&&d.userMax,yMin:f&&f.userMin,yMax:f&&f.userMax}});e=this.addSeries(a,!1);if(d)d.oldPos=d.pos,d.userMin=d.userMax=null,f.userMin=f.userMax=null;if(c.type===e.type)e.animate=e.animateDrilldown||m,e.options.animation=!0;c.remove(!1);this.redraw();this.showDrillUpButton()};h.prototype.getDrilldownBackText=function(){return this.options.lang.drillUpText.replace("{series.name}", +this.drilldownLevels[this.drilldownLevels.length-1].seriesOptions.name)};h.prototype.showDrillUpButton=function(){var b=this,a=this.getDrilldownBackText(),c=b.options.drilldown.drillUpButton;this.drillUpButton?this.drillUpButton.attr({text:a}).align():this.drillUpButton=this.renderer.button(a,null,null,function(){b.drillUp()}).attr(n({align:c.position.align,zIndex:9},c.theme)).add().align(c.position,!1,c.relativeTo||"plotBox")};h.prototype.drillUp=function(){var b=this.drilldownLevels.pop(),a=this.series[0], +c=b.oldExtremes,d=this.addSeries(b.seriesOptions,!1);r(this,"drillup",{seriesOptions:b.seriesOptions});if(d.type===a.type)d.drilldownLevel=b,d.animate=d.animateDrillupTo||m,d.options.animation=!0,a.animateDrillupFrom&&a.animateDrillupFrom(b);a.remove(!1);d.xAxis&&(d.xAxis.setExtremes(c.xMin,c.xMax,!1),d.yAxis.setExtremes(c.yMin,c.yMax,!1));this.redraw();this.drilldownLevels.length===0?this.drillUpButton=this.drillUpButton.destroy():this.drillUpButton.attr({text:this.getDrilldownBackText()}).align()}; +k.prototype.animateDrilldown=function(b){var a=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],c=this.chart.options.drilldown.animation,d=a.shapeArgs,f=d.start,s=(d.end-f)/this.points.length,h=e.Color(a.color).rgba;b||g(this.points,function(a,b){var g=e.Color(a.color).rgba;a.graphic.attr(e.merge(d,{start:f+b*s,end:f+(b+1)*s})).animate(a.shapeArgs,e.merge(c,{step:function(a,d){d.prop==="start"&&this.attr({fill:q(h,g,d.pos)})}}))})};k.prototype.animateDrillupTo=l.prototype.animateDrillupTo= +function(b){if(!b){var a=this,c=a.drilldownLevel;g(this.points,function(a){a.graphic.hide();a.dataLabel&&a.dataLabel.hide();a.connector&&a.connector.hide()});setTimeout(function(){g(a.points,function(a,b){var e=b===c.pointIndex?"show":"fadeIn";a.graphic[e]();if(a.dataLabel)a.dataLabel[e]();if(a.connector)a.connector[e]()})},Math.max(this.chart.options.drilldown.animation.duration-50,0));this.animate=m}};l.prototype.animateDrilldown=function(b){var a=this.chart.drilldownLevels[this.chart.drilldownLevels.length- +1].shapeArgs,c=this.chart.options.drilldown.animation;b||(a.x+=this.xAxis.oldPos-this.xAxis.pos,g(this.points,function(b){b.graphic.attr(a).animate(b.shapeArgs,c)}))};l.prototype.animateDrillupFrom=k.prototype.animateDrillupFrom=function(b){var a=this.chart.options.drilldown.animation,c=this.group;delete this.group;g(this.points,function(d){var f=d.graphic,g=e.Color(d.color).rgba;delete d.graphic;f.animate(b.shapeArgs,e.merge(a,{step:function(a,c){c.prop==="start"&&this.attr({fill:q(g,e.Color(b.color).rgba, +c.pos)})},complete:function(){f.destroy();c&&(c=c.destroy())}}))})};e.Point.prototype.doDrilldown=function(){for(var b=this.series.chart,a=b.options.drilldown,c=a.series.length,d;c--&&!d;)a.series[c].id===this.drilldown&&(d=a.series[c]);r(b,"drilldown",{point:this,seriesOptions:d});d&&b.addSeriesAsDrilldown(this,d)};o(e.Point.prototype,"init",function(b,a,c,d){var f=b.call(this,a,c,d),b=a.chart,a=(a=a.xAxis&&a.xAxis.ticks[d])&&a.label;if(f.drilldown){if(e.addEvent(f,"click",function(){f.doDrilldown()}), +a){if(!a._basicStyle)a._basicStyle=a.element.getAttribute("style");a.addClass("highcharts-drilldown-axis-label").css(b.options.drilldown.activeAxisLabelStyle).on("click",function(){f.doDrilldown&&f.doDrilldown()})}}else a&&a._basicStyle&&a.element.setAttribute("style",a._basicStyle);return f});o(e.Series.prototype,"drawDataLabels",function(b){var a=this.chart.options.drilldown.activeDataLabelStyle;b.call(this);g(this.points,function(b){if(b.drilldown&&b.dataLabel)b.dataLabel.attr({"class":"highcharts-drilldown-data-label"}).css(a).on("click", +function(){b.doDrilldown()})})});l.prototype.supportsDrilldown=!0;k.prototype.supportsDrilldown=!0;var p,j=function(b){b.call(this);g(this.points,function(a){a.drilldown&&a.graphic&&a.graphic.attr({"class":"highcharts-drilldown-point"}).css({cursor:"pointer"})})};for(p in i)i[p].prototype.supportsDrilldown&&o(i[p].prototype,"drawTracker",j)})(Highcharts); diff --git a/public/lib/UEditor/third-party/highcharts/modules/drilldown.src.js.REMOVED.git-id b/public/lib/UEditor/third-party/highcharts/modules/drilldown.src.js.REMOVED.git-id new file mode 100644 index 00000000..8beedf9e --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/drilldown.src.js.REMOVED.git-id @@ -0,0 +1 @@ +558aed4df47d00419d337aed6477ed0b2eb72663 \ No newline at end of file diff --git a/public/lib/UEditor/third-party/highcharts/modules/exporting.js b/public/lib/UEditor/third-party/highcharts/modules/exporting.js new file mode 100644 index 00000000..8ec202c4 --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/exporting.js @@ -0,0 +1,22 @@ +/* + Highcharts JS v3.0.6 (2013-10-04) + Exporting module + + (c) 2010-2013 Torstein Hønsi + + License: www.highcharts.com/license +*/ +(function(f){var A=f.Chart,t=f.addEvent,C=f.removeEvent,k=f.createElement,n=f.discardElement,u=f.css,o=f.merge,r=f.each,p=f.extend,D=Math.max,j=document,B=window,E=f.isTouchDevice,F=f.Renderer.prototype.symbols,x=f.getOptions(),y;p(x.lang,{printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"});x.navigation={menuStyle:{border:"1px solid #A0A0A0", +background:"#FFFFFF",padding:"5px 0"},menuItemStyle:{padding:"0 10px",background:"none",color:"#303030",fontSize:E?"14px":"11px"},menuItemHoverStyle:{background:"#4572A5",color:"#FFFFFF"},buttonOptions:{symbolFill:"#E0E0E0",symbolSize:14,symbolStroke:"#666",symbolStrokeWidth:3,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,theme:{fill:"white",stroke:"none"},verticalAlign:"top",width:24}};x.exporting={type:"image/png",url:"http://export.highcharts.com/",buttons:{contextButton:{menuClassName:"highcharts-contextmenu", +symbol:"menu",_titleKey:"contextButtonTitle",menuItems:[{textKey:"printChart",onclick:function(){this.print()}},{separator:!0},{textKey:"downloadPNG",onclick:function(){this.exportChart()}},{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}]}}};f.post=function(c,a){var d,b;b=k("form",{method:"post", +action:c,enctype:"multipart/form-data"},{display:"none"},j.body);for(d in a)k("input",{type:"hidden",name:d,value:a[d]},null,b);b.submit();n(b)};p(A.prototype,{getSVG:function(c){var a=this,d,b,z,h,g=o(a.options,c);if(!j.createElementNS)j.createElementNS=function(a,b){return j.createElement(b)};c=k("div",null,{position:"absolute",top:"-9999em",width:a.chartWidth+"px",height:a.chartHeight+"px"},j.body);b=a.renderTo.style.width;h=a.renderTo.style.height;b=g.exporting.sourceWidth||g.chart.width||/px$/.test(b)&& +parseInt(b,10)||600;h=g.exporting.sourceHeight||g.chart.height||/px$/.test(h)&&parseInt(h,10)||400;p(g.chart,{animation:!1,renderTo:c,forExport:!0,width:b,height:h});g.exporting.enabled=!1;g.series=[];r(a.series,function(a){z=o(a.options,{animation:!1,showCheckbox:!1,visible:a.visible});z.isInternal||g.series.push(z)});d=new f.Chart(g,a.callback);r(["xAxis","yAxis"],function(b){r(a[b],function(a,c){var g=d[b][c],f=a.getExtremes(),h=f.userMin,f=f.userMax;g&&(h!==void 0||f!==void 0)&&g.setExtremes(h, +f,!0,!1)})});b=d.container.innerHTML;g=null;d.destroy();n(c);b=b.replace(/zIndex="[^"]+"/g,"").replace(/isShadow="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\([^#]+#/g,"url(#").replace(/.*?$/,"").replace(/ /g," ").replace(/­/g,"­").replace(//g,'xlink:href="$1"/>').replace(/id=([^" >]+)/g,'id="$1"').replace(/class=([^" >]+)/g,'class="$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(a){return a.toLowerCase()});return b=b.replace(/(url\(#highcharts-[0-9]+)"/g,"$1").replace(/"/g,"'")},exportChart:function(c,a){var c=c||{},d=this.options.exporting,d=this.getSVG(o({chart:{borderRadius:0}},d.chartOptions,a,{exporting:{sourceWidth:c.sourceWidth|| +d.sourceWidth,sourceHeight:c.sourceHeight||d.sourceHeight}})),c=o(this.options.exporting,c);f.post(c.url,{filename:c.filename||"chart",type:c.type,width:c.width||0,scale:c.scale||2,svg:d})},print:function(){var c=this,a=c.container,d=[],b=a.parentNode,f=j.body,h=f.childNodes;if(!c.isPrinting)c.isPrinting=!0,r(h,function(a,b){if(a.nodeType===1)d[b]=a.style.display,a.style.display="none"}),f.appendChild(a),B.focus(),B.print(),setTimeout(function(){b.appendChild(a);r(h,function(a,b){if(a.nodeType=== +1)a.style.display=d[b]});c.isPrinting=!1},1E3)},contextMenu:function(c,a,d,b,f,h,g){var e=this,j=e.options.navigation,q=j.menuItemStyle,l=e.chartWidth,m=e.chartHeight,o="cache-"+c,i=e[o],s=D(f,h),v,w,n;if(!i)e[o]=i=k("div",{className:c},{position:"absolute",zIndex:1E3,padding:s+"px"},e.container),v=k("div",null,p({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},j.menuStyle),i),w=function(){u(i,{display:"none"});g&&g.setState(0);e.openMenu=!1},t(i, +"mouseleave",function(){n=setTimeout(w,500)}),t(i,"mouseenter",function(){clearTimeout(n)}),t(document,"mousedown",function(a){e.pointer.inClass(a.target,c)||w()}),r(a,function(a){if(a){var b=a.separator?k("hr",null,null,v):k("div",{onmouseover:function(){u(this,j.menuItemHoverStyle)},onmouseout:function(){u(this,q)},onclick:function(){w();a.onclick.apply(e,arguments)},innerHTML:a.text||e.options.lang[a.textKey]},p({cursor:"pointer"},q),v);e.exportDivElements.push(b)}}),e.exportDivElements.push(v, +i),e.exportMenuWidth=i.offsetWidth,e.exportMenuHeight=i.offsetHeight;a={display:"block"};d+e.exportMenuWidth>l?a.right=l-d-f-s+"px":a.left=d-s+"px";b+h+e.exportMenuHeight>m&&g.alignOptions.verticalAlign!=="top"?a.bottom=m-b-s+"px":a.top=b+h-s+"px";u(i,a);e.openMenu=!0},addButton:function(c){var a=this,d=a.renderer,b=o(a.options.navigation.buttonOptions,c),j=b.onclick,h=b.menuItems,g,e,k={stroke:b.symbolStroke,fill:b.symbolFill},q=b.symbolSize||12;if(!a.btnCount)a.btnCount=0;if(!a.exportDivElements)a.exportDivElements= +[],a.exportSVGElements=[];if(b.enabled!==!1){var l=b.theme,m=l.states,n=m&&m.hover,m=m&&m.select,i;delete l.states;j?i=function(){j.apply(a,arguments)}:h&&(i=function(){a.contextMenu(e.menuClassName,h,e.translateX,e.translateY,e.width,e.height,e);e.setState(2)});b.text&&b.symbol?l.paddingLeft=f.pick(l.paddingLeft,25):b.text||p(l,{width:b.width,height:b.height,padding:0});e=d.button(b.text,0,0,i,l,n,m).attr({title:a.options.lang[b._titleKey],"stroke-linecap":"round"});e.menuClassName=c.menuClassName|| +"highcharts-menu-"+a.btnCount++;b.symbol&&(g=d.symbol(b.symbol,b.symbolX-q/2,b.symbolY-q/2,q,q).attr(p(k,{"stroke-width":b.symbolStrokeWidth||1,zIndex:1})).add(e));e.add().align(p(b,{width:e.width,x:f.pick(b.x,y)}),!0,"spacingBox");y+=(e.width+b.buttonSpacing)*(b.align==="right"?-1:1);a.exportSVGElements.push(e,g)}},destroyExport:function(c){var c=c.target,a,d;for(a=0;aj-s||j===s?r:r+(p-r)*((j-s-k)/(j-s))};this.getX=function(k,a){return b+(a?-1:1)*(q(k)/2+c.dataLabels.distance)};this.center=[b,d,j];this.centerX=b;A(a,function(a){g+=a.y});A(a,function(a){o=null;x=g?a.y/g:0;m=d-j/2+h*j;l=m+x*j;i=q(m);y=b-i/2;B=y+ +i;i=q(l);n=b-i/2;t=n+i;m>v?(y=n=b-r/2,B=t=b+r/2):l>v&&(o=l,i=q(v),n=b-i/2,t=n+i,l=v);w=["M",y,m,"L",B,m,t,l];o&&w.push(t,o,n,o);w.push(n,l,"Z");a.shapeType="path";a.shapeArgs={d:w};a.percentage=x*100;a.plotX=b;a.plotY=(m+(o||l))/2;a.tooltipPos=[b,a.plotY];a.slice=z;a.half=u;h+=x});this.setTooltipPoints()},drawPoints:function(){var a=this,g=a.options,e=a.chart.renderer;A(a.data,function(f){var h=f.graphic,c=f.shapeArgs;h?h.animate(c):f.graphic=e.path(c).attr({fill:f.color,stroke:g.borderColor,"stroke-width":g.borderWidth}).add(a.group)})}, +sortByAngle:z,drawDataLabels:function(){var a=this.data,g=this.options.dataLabels.distance,e,f,h,c=a.length,d,b;for(this.center[2]-=2*g;c--;)h=a[c],f=(e=h.half)?1:-1,b=h.plotY,d=this.getX(b,e),h.labelPos=[0,b,d+(g-5)*f,b,d+g*f,b,e?"right":"left",0];p.pie.prototype.drawDataLabels.call(this)}})})(Highcharts); diff --git a/public/lib/UEditor/third-party/highcharts/modules/funnel.src.js b/public/lib/UEditor/third-party/highcharts/modules/funnel.src.js new file mode 100644 index 00000000..f9f5c080 --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/funnel.src.js @@ -0,0 +1,289 @@ +/** + * @license + * Highcharts funnel module, Beta + * + * (c) 2010-2012 Torstein Hønsi + * + * License: www.highcharts.com/license + */ + +/*global Highcharts */ +(function (Highcharts) { + +'use strict'; + +// create shortcuts +var defaultOptions = Highcharts.getOptions(), + defaultPlotOptions = defaultOptions.plotOptions, + seriesTypes = Highcharts.seriesTypes, + merge = Highcharts.merge, + noop = function () {}, + each = Highcharts.each; + +// set default options +defaultPlotOptions.funnel = merge(defaultPlotOptions.pie, { + center: ['50%', '50%'], + width: '90%', + neckWidth: '30%', + height: '100%', + neckHeight: '25%', + + dataLabels: { + //position: 'right', + connectorWidth: 1, + connectorColor: '#606060' + }, + size: true, // to avoid adapting to data label size in Pie.drawDataLabels + states: { + select: { + color: '#C0C0C0', + borderColor: '#000000', + shadow: false + } + } +}); + + +seriesTypes.funnel = Highcharts.extendClass(seriesTypes.pie, { + + type: 'funnel', + animate: noop, + + /** + * Overrides the pie translate method + */ + translate: function () { + + var + // Get positions - either an integer or a percentage string must be given + getLength = function (length, relativeTo) { + return (/%$/).test(length) ? + relativeTo * parseInt(length, 10) / 100 : + parseInt(length, 10); + }, + + sum = 0, + series = this, + chart = series.chart, + plotWidth = chart.plotWidth, + plotHeight = chart.plotHeight, + cumulative = 0, // start at top + options = series.options, + center = options.center, + centerX = getLength(center[0], plotWidth), + centerY = getLength(center[0], plotHeight), + width = getLength(options.width, plotWidth), + tempWidth, + getWidthAt, + height = getLength(options.height, plotHeight), + neckWidth = getLength(options.neckWidth, plotWidth), + neckHeight = getLength(options.neckHeight, plotHeight), + neckY = height - neckHeight, + data = series.data, + path, + fraction, + half = options.dataLabels.position === 'left' ? 1 : 0, + + x1, + y1, + x2, + x3, + y3, + x4, + y5; + + // Return the width at a specific y coordinate + series.getWidthAt = getWidthAt = function (y) { + return y > height - neckHeight || height === neckHeight ? + neckWidth : + neckWidth + (width - neckWidth) * ((height - neckHeight - y) / (height - neckHeight)); + }; + series.getX = function (y, half) { + return centerX + (half ? -1 : 1) * ((getWidthAt(y) / 2) + options.dataLabels.distance); + }; + + // Expose + series.center = [centerX, centerY, height]; + series.centerX = centerX; + + /* + * Individual point coordinate naming: + * + * x1,y1 _________________ x2,y1 + * \ / + * \ / + * \ / + * \ / + * \ / + * x3,y3 _________ x4,y3 + * + * Additional for the base of the neck: + * + * | | + * | | + * | | + * x3,y5 _________ x4,y5 + */ + + + + + // get the total sum + each(data, function (point) { + sum += point.y; + }); + + each(data, function (point) { + // set start and end positions + y5 = null; + fraction = sum ? point.y / sum : 0; + y1 = centerY - height / 2 + cumulative * height; + y3 = y1 + fraction * height; + //tempWidth = neckWidth + (width - neckWidth) * ((height - neckHeight - y1) / (height - neckHeight)); + tempWidth = getWidthAt(y1); + x1 = centerX - tempWidth / 2; + x2 = x1 + tempWidth; + tempWidth = getWidthAt(y3); + x3 = centerX - tempWidth / 2; + x4 = x3 + tempWidth; + + // the entire point is within the neck + if (y1 > neckY) { + x1 = x3 = centerX - neckWidth / 2; + x2 = x4 = centerX + neckWidth / 2; + + // the base of the neck + } else if (y3 > neckY) { + y5 = y3; + + tempWidth = getWidthAt(neckY); + x3 = centerX - tempWidth / 2; + x4 = x3 + tempWidth; + + y3 = neckY; + } + + // save the path + path = [ + 'M', + x1, y1, + 'L', + x2, y1, + x4, y3 + ]; + if (y5) { + path.push(x4, y5, x3, y5); + } + path.push(x3, y3, 'Z'); + + // prepare for using shared dr + point.shapeType = 'path'; + point.shapeArgs = { d: path }; + + + // for tooltips and data labels + point.percentage = fraction * 100; + point.plotX = centerX; + point.plotY = (y1 + (y5 || y3)) / 2; + + // Placement of tooltips and data labels + point.tooltipPos = [ + centerX, + point.plotY + ]; + + // Slice is a noop on funnel points + point.slice = noop; + + // Mimicking pie data label placement logic + point.half = half; + + cumulative += fraction; + }); + + + series.setTooltipPoints(); + }, + /** + * Draw a single point (wedge) + * @param {Object} point The point object + * @param {Object} color The color of the point + * @param {Number} brightness The brightness relative to the color + */ + drawPoints: function () { + var series = this, + options = series.options, + chart = series.chart, + renderer = chart.renderer; + + each(series.data, function (point) { + + var graphic = point.graphic, + shapeArgs = point.shapeArgs; + + if (!graphic) { // Create the shapes + point.graphic = renderer.path(shapeArgs). + attr({ + fill: point.color, + stroke: options.borderColor, + 'stroke-width': options.borderWidth + }). + add(series.group); + + } else { // Update the shapes + graphic.animate(shapeArgs); + } + }); + }, + + /** + * Funnel items don't have angles (#2289) + */ + sortByAngle: noop, + + /** + * Extend the pie data label method + */ + drawDataLabels: function () { + var data = this.data, + labelDistance = this.options.dataLabels.distance, + leftSide, + sign, + point, + i = data.length, + x, + y; + + // In the original pie label anticollision logic, the slots are distributed + // from one labelDistance above to one labelDistance below the pie. In funnels + // we don't want this. + this.center[2] -= 2 * labelDistance; + + // Set the label position array for each point. + while (i--) { + point = data[i]; + leftSide = point.half; + sign = leftSide ? 1 : -1; + y = point.plotY; + x = this.getX(y, leftSide); + + // set the anchor point for data labels + point.labelPos = [ + 0, // first break of connector + y, // a/a + x + (labelDistance - 5) * sign, // second break, right outside point shape + y, // a/a + x + labelDistance * sign, // landing point for connector + y, // a/a + leftSide ? 'right' : 'left', // alignment + 0 // center angle + ]; + } + + seriesTypes.pie.prototype.drawDataLabels.call(this); + } + +}); + + +}(Highcharts)); diff --git a/public/lib/UEditor/third-party/highcharts/modules/heatmap.js b/public/lib/UEditor/third-party/highcharts/modules/heatmap.js new file mode 100644 index 00000000..32f9a3f3 --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/heatmap.js @@ -0,0 +1 @@ +(function(b){var k=b.seriesTypes,l=b.each;k.heatmap=b.extendClass(k.map,{colorKey:"z",useMapGeometry:!1,pointArrayMap:["y","z"],translate:function(){var c=this,b=c.options,i=Number.MAX_VALUE,j=Number.MIN_VALUE;c.generatePoints();l(c.data,function(a){var e=a.x,f=a.y,d=a.z,g=(b.colsize||1)/2,h=(b.rowsize||1)/2;a.path=["M",e-g,f-h,"L",e+g,f-h,"L",e+g,f+h,"L",e-g,f+h,"Z"];a.shapeType="path";a.shapeArgs={d:c.translatePath(a.path)};typeof d==="number"&&(d>j?j=d:d dataMax) { + dataMax = value; + } else if (value < dataMin) { + dataMin = value; + } + } + }); + + series.translateColors(dataMin, dataMax); + }, + + getBox: function () {} + + }); + +}(Highcharts)); diff --git a/public/lib/UEditor/third-party/highcharts/modules/map.js b/public/lib/UEditor/third-party/highcharts/modules/map.js new file mode 100644 index 00000000..9b8a632d --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/map.js @@ -0,0 +1,27 @@ +/* + Map plugin v0.1 for Highcharts + + (c) 2011-2013 Torstein Hønsi + + License: www.highcharts.com/license +*/ +(function(g){function x(a,b,c){for(var d=4,e=[];d--;)e[d]=Math.round(b.rgba[d]+(a.rgba[d]-b.rgba[d])*(1-c));return"rgba("+e.join(",")+")"}var r=g.Axis,y=g.Chart,s=g.Point,z=g.Pointer,l=g.each,v=g.extend,p=g.merge,n=g.pick,A=g.numberFormat,B=g.getOptions(),k=g.seriesTypes,q=B.plotOptions,t=g.wrap,u=g.Color,w=function(){};B.mapNavigation={buttonOptions:{align:"right",verticalAlign:"bottom",x:0,width:18,height:18,style:{fontSize:"15px",fontWeight:"bold",textAlign:"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(0.5)}, +text:"+",y:-32},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:0}}};g.splitPath=function(a){var b,a=a.replace(/([A-Za-z])/g," $1 "),a=a.replace(/^\s*/,"").replace(/\s*$/,""),a=a.split(/[ ,]+/);for(b=0;bc?this:e,c=(e.max-e.min)*e.transA,e.minPixelPadding= +(e.len-c)/2});t(y.prototype,"render",function(a){var b=this,c=b.options.mapNavigation;a.call(b);b.renderMapNavigation();c.zoomOnDoubleClick&&g.addEvent(b.container,"dblclick",function(a){b.pointer.onContainerDblClick(a)});c.zoomOnMouseWheel&&g.addEvent(b.container,document.onmousewheel===void 0?"DOMMouseScroll":"mousewheel",function(a){b.pointer.onContainerMouseWheel(a)})});v(z.prototype,{onContainerDblClick:function(a){var b=this.chart,a=this.normalize(a);b.isInsidePlot(a.chartX-b.plotLeft,a.chartY- +b.plotTop)&&b.mapZoom(0.5,b.xAxis[0].toValue(a.chartX),b.yAxis[0].toValue(a.chartY))},onContainerMouseWheel:function(a){var b=this.chart,c,a=this.normalize(a);c=a.detail||-(a.wheelDelta/120);b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)&&b.mapZoom(c>0?2:0.5,b.xAxis[0].toValue(a.chartX),b.yAxis[0].toValue(a.chartY))}});t(z.prototype,"init",function(a,b,c){a.call(this,b,c);if(c.mapNavigation.enableTouchZoom)this.pinchX=this.pinchHor=this.pinchY=this.pinchVert=!0});v(y.prototype,{renderMapNavigation:function(){var a= +this,b=this.options.mapNavigation,c=b.buttons,d,e,f,i=function(){this.handler.call(a)};if(b.enableButtons)for(d in c)if(c.hasOwnProperty(d))f=p(b.buttonOptions,c[d]),e=a.renderer.button(f.text,0,0,i).attr({width:f.width,height:f.height}).css(f.style).add(),e.handler=f.onclick,e.align(v(f,{width:e.width,height:e.height}),null,"spacingBox")},fitToBox:function(a,b){l([["x","width"],["y","height"]],function(c){var d=c[0],c=c[1];a[d]+a[c]>b[d]+b[c]&&(a[c]>b[c]?(a[c]=b[c],a[d]=b[d]):a[d]=b[d]+b[c]-a[c]); +a[c]>b[c]&&(a[c]=b[c]);a[d]"},states:{normal:{animation:!0}}});r=g.extendClass(s,{applyOptions:function(a,b){var c=s.prototype.applyOptions.call(this,a,b);if(c.path&&typeof c.path==="string")c.path=c.options.path=g.splitPath(c.path);return c},onMouseOver:function(){clearTimeout(this.colorInterval); +s.prototype.onMouseOver.call(this)},onMouseOut:function(){var a=this,b=+new Date,c=u(a.options.color),d=u(a.pointAttr.hover.fill),e=a.series.options.states.normal.animation,f=e&&(e.duration||500);if(f&&c.rgba.length===4&&d.rgba.length===4)delete a.pointAttr[""].fill,clearTimeout(a.colorInterval),a.colorInterval=setInterval(function(){var e=(new Date-b)/f,h=a.graphic;e>1&&(e=1);h&&h.attr("fill",x(d,c,e));e>=1&&clearTimeout(a.colorInterval)},13);s.prototype.onMouseOut.call(a)}});k.map=g.extendClass(k.scatter, +{type:"map",pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},colorKey:"y",pointClass:r,trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:w,supportsDrilldown:!0,getExtremesFromAll:!0,useMapGeometry:!0,init:function(a){var b=this,c=a.options.legend.valueDecimals,d=[],e,f,i,h,j,o,m;o=a.options.legend.layout==="horizontal";g.Series.prototype.init.apply(this,arguments);j=b.options.colorRange;if(h=b.options.valueRanges)l(h,function(a){f=a.from;i=a.to;e= +"";f===void 0?e="< ":i===void 0&&(e="> ");f!==void 0&&(e+=A(f,c));f!==void 0&&i!==void 0&&(e+=" - ");i!==void 0&&(e+=A(i,c));d.push(g.extend({chart:b.chart,name:e,options:{},drawLegendSymbol:k.area.prototype.drawLegendSymbol,visible:!0,setState:function(){},setVisible:function(){}},a))}),b.legendItems=d;else if(j)f=j.from,i=j.to,h=j.fromLabel,j=j.toLabel,m=o?[0,0,1,0]:[0,1,0,0],o||(o=h,h=j,j=o),o={linearGradient:{x1:m[0],y1:m[1],x2:m[2],y2:m[3]},stops:[[0,f],[1,i]]},d=[{chart:b.chart,options:{},fromLabel:h, +toLabel:j,color:o,drawLegendSymbol:this.drawLegendSymbolGradient,visible:!0,setState:function(){},setVisible:function(){}}],b.legendItems=d},drawLegendSymbol:k.area.prototype.drawLegendSymbol,drawLegendSymbolGradient:function(a,b){var c=a.options.symbolPadding,d=n(a.options.padding,8),e,f,i=this.chart.renderer.fontMetrics(a.options.itemStyle.fontSize).h,h=a.options.layout==="horizontal",j;j=n(a.options.rectangleLength,200);h?(e=-(c/2),f=0):(e=-j+a.baseline-c/2,f=d+i);b.fromText=this.chart.renderer.text(b.fromLabel, +f,e).attr({zIndex:2}).add(b.legendGroup);f=b.fromText.getBBox();b.legendSymbol=this.chart.renderer.rect(h?f.x+f.width+c:f.x-i-c,f.y,h?j:i,h?i:j,2).attr({zIndex:1}).add(b.legendGroup);j=b.legendSymbol.getBBox();b.toText=this.chart.renderer.text(b.toLabel,j.x+j.width+c,h?e:j.y+j.height-c).attr({zIndex:2}).add(b.legendGroup);e=b.toText.getBBox();h?(a.offsetWidth=f.width+j.width+e.width+c*2+d,a.itemY=i+d):(a.offsetWidth=Math.max(f.width,e.width)+c+j.width+d,a.itemY=j.height+d,a.itemX=c)},getBox:function(a){var b= +Number.MIN_VALUE,c=Number.MAX_VALUE,d=Number.MIN_VALUE,e=Number.MAX_VALUE;l(a||this.options.data,function(a){for(var i=a.path,h=i.length,j=!1,g=Number.MIN_VALUE,m=Number.MAX_VALUE,k=Number.MIN_VALUE,l=Number.MAX_VALUE;h--;)typeof i[h]==="number"&&!isNaN(i[h])&&(j?(g=Math.max(g,i[h]),m=Math.min(m,i[h])):(k=Math.max(k,i[h]),l=Math.min(l,i[h])),j=!j);a._maxX=g;a._minX=m;a._maxY=k;a._minY=l;b=Math.max(b,g);c=Math.min(c,m);d=Math.max(d,k);e=Math.min(e,l)});this.minY=e;this.maxY=d;this.minX=c;this.maxX= +b},translatePath:function(a){var b=!1,c=this.xAxis,d=this.yAxis,e,a=[].concat(a);for(e=a.length;e--;)typeof a[e]==="number"&&(a[e]=b?Math.round(c.translate(a[e])):Math.round(d.len-d.translate(a[e])),b=!b);return a},setData:function(){g.Series.prototype.setData.apply(this,arguments);this.getBox()},translate:function(){var a=this,b=Number.MAX_VALUE,c=Number.MIN_VALUE;a.generatePoints();l(a.data,function(d){d.shapeType="path";d.shapeArgs={d:a.translatePath(d.path)};if(typeof d.y==="number")if(d.y>c)c= +d.y;else if(d.y=i)&&(h===void 0||k<=h)){l=m.color;break}}else e&&k!==void 0&&(m=1-(b-k)/(b-a),l=k===null?c.nullColor:x(i,h,m));if(l)g.color=null,g.options.color=l})},drawGraph:w,drawDataLabels:w,drawPoints:function(){var a=this.xAxis, +b=this.yAxis,c=this.colorKey;l(this.data,function(a){a.plotY=1;if(a[c]===null)a[c]=0,a.isNull=!0});k.column.prototype.drawPoints.apply(this);l(this.data,function(d){var e=d.dataLabels,f=a.toPixels(d._minX,!0),g=a.toPixels(d._maxX,!0),h=b.toPixels(d._minY,!0),j=b.toPixels(d._maxY,!0);d.plotX=Math.round(f+(g-f)*n(e&&e.anchorX,0.5));d.plotY=Math.round(h+(j-h)*n(e&&e.anchorY,0.5));d.isNull&&(d[c]=null)});g.Series.prototype.drawDataLabels.call(this)},animateDrilldown:function(a){var b=this.chart.plotBox, +c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],d=c.bBox,e=this.chart.options.drilldown.animation;if(!a)a=Math.min(d.width/b.width,d.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:d.x,translateY:d.y},l(this.points,function(a){a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},e)}),delete this.animate},animateDrillupFrom:function(a){k.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){k.column.prototype.animateDrillupTo.call(this, +a)}});q.mapline=p(q.map,{lineWidth:1,backgroundColor:"none"});k.mapline=g.extendClass(k.map,{type:"mapline",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth",fill:"backgroundColor"},drawLegendSymbol:k.line.prototype.drawLegendSymbol});q.mappoint=p(q.scatter,{dataLabels:{enabled:!0,format:"{point.name}",color:"black",style:{textShadow:"0 0 5px white"}}});k.mappoint=g.extendClass(k.scatter,{type:"mappoint"});g.Map=function(a,b){var c={endOnTick:!1,gridLineWidth:0,labels:{enabled:!1},lineWidth:0, +minPadding:0,maxPadding:0,startOnTick:!1,tickWidth:0,title:null},d;d=a.series;a.series=null;a=p({chart:{type:"map",panning:"xy"},xAxis:c,yAxis:p(c,{reversed:!0})},a,{chart:{inverted:!1}});a.series=d;return new g.Chart(a,b)}})(Highcharts); diff --git a/public/lib/UEditor/third-party/highcharts/modules/map.src.js.REMOVED.git-id b/public/lib/UEditor/third-party/highcharts/modules/map.src.js.REMOVED.git-id new file mode 100644 index 00000000..5157cfce --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/map.src.js.REMOVED.git-id @@ -0,0 +1 @@ +6af8e21e63914533678be7a86bb7455d5b9f1445 \ No newline at end of file diff --git a/public/lib/UEditor/third-party/highcharts/modules/no-data-to-display.js b/public/lib/UEditor/third-party/highcharts/modules/no-data-to-display.js new file mode 100644 index 00000000..c9ff9cac --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/no-data-to-display.js @@ -0,0 +1,12 @@ +/* + Highcharts JS v3.0.6 (2013-10-04) + Plugin for displaying a message when there is no data visible in chart. + + (c) 2010-2013 Highsoft AS + Author: Øystein Moseng + + License: www.highcharts.com/license +*/ +(function(c){function f(){return!!this.points.length}function g(){this.hasData()?this.hideNoData():this.showNoData()}var d=c.seriesTypes,e=c.Chart.prototype,h=c.getOptions(),i=c.extend;i(h.lang,{noData:"No data to display"});h.noData={position:{x:0,y:0,align:"center",verticalAlign:"middle"},attr:{},style:{fontWeight:"bold",fontSize:"12px",color:"#60606a"}};d.pie.prototype.hasData=f;if(d.gauge)d.gauge.prototype.hasData=f;if(d.waterfall)d.waterfall.prototype.hasData=f;c.Series.prototype.hasData=function(){return this.dataMax!== +void 0&&this.dataMin!==void 0};e.showNoData=function(a){var b=this.options,a=a||b.lang.noData,b=b.noData;if(!this.noDataLabel)this.noDataLabel=this.renderer.label(a,0,0,null,null,null,null,null,"no-data").attr(b.attr).css(b.style).add(),this.noDataLabel.align(i(this.noDataLabel.getBBox(),b.position),!1,"plotBox")};e.hideNoData=function(){if(this.noDataLabel)this.noDataLabel=this.noDataLabel.destroy()};e.hasData=function(){for(var a=this.series,b=a.length;b--;)if(a[b].hasData()&&!a[b].options.isInternal)return!0; +return!1};e.callbacks.push(function(a){c.addEvent(a,"load",g);c.addEvent(a,"redraw",g)})})(Highcharts); diff --git a/public/lib/UEditor/third-party/highcharts/modules/no-data-to-display.src.js b/public/lib/UEditor/third-party/highcharts/modules/no-data-to-display.src.js new file mode 100644 index 00000000..bc278a8d --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/modules/no-data-to-display.src.js @@ -0,0 +1,128 @@ +/** + * @license Highcharts JS v3.0.6 (2013-10-04) + * Plugin for displaying a message when there is no data visible in chart. + * + * (c) 2010-2013 Highsoft AS + * Author: Øystein Moseng + * + * License: www.highcharts.com/license + */ + +(function (H) { // docs + + var seriesTypes = H.seriesTypes, + chartPrototype = H.Chart.prototype, + defaultOptions = H.getOptions(), + extend = H.extend; + + // Add language option + extend(defaultOptions.lang, { + noData: 'No data to display' + }); + + // Add default display options for message + defaultOptions.noData = { + position: { + x: 0, + y: 0, + align: 'center', + verticalAlign: 'middle' + }, + attr: { + }, + style: { + fontWeight: 'bold', + fontSize: '12px', + color: '#60606a' + } + }; + + /** + * Define hasData functions for series. These return true if there are data points on this series within the plot area + */ + function hasDataPie() { + return !!this.points.length; /* != 0 */ + } + + seriesTypes.pie.prototype.hasData = hasDataPie; + + if (seriesTypes.gauge) { + seriesTypes.gauge.prototype.hasData = hasDataPie; + } + + if (seriesTypes.waterfall) { + seriesTypes.waterfall.prototype.hasData = hasDataPie; + } + + H.Series.prototype.hasData = function () { + return this.dataMax !== undefined && this.dataMin !== undefined; + }; + + /** + * Display a no-data message. + * + * @param {String} str An optional message to show in place of the default one + */ + chartPrototype.showNoData = function (str) { + var chart = this, + options = chart.options, + text = str || options.lang.noData, + noDataOptions = options.noData; + + if (!chart.noDataLabel) { + chart.noDataLabel = chart.renderer.label(text, 0, 0, null, null, null, null, null, 'no-data') + .attr(noDataOptions.attr) + .css(noDataOptions.style) + .add(); + chart.noDataLabel.align(extend(chart.noDataLabel.getBBox(), noDataOptions.position), false, 'plotBox'); + } + }; + + /** + * Hide no-data message + */ + chartPrototype.hideNoData = function () { + var chart = this; + if (chart.noDataLabel) { + chart.noDataLabel = chart.noDataLabel.destroy(); + } + }; + + /** + * Returns true if there are data points within the plot area now + */ + chartPrototype.hasData = function () { + var chart = this, + series = chart.series, + i = series.length; + + while (i--) { + if (series[i].hasData() && !series[i].options.isInternal) { + return true; + } + } + + return false; + }; + + /** + * Show no-data message if there is no data in sight. Otherwise, hide it. + */ + function handleNoData() { + var chart = this; + if (chart.hasData()) { + chart.hideNoData(); + } else { + chart.showNoData(); + } + } + + /** + * Add event listener to handle automatic display of no-data message + */ + chartPrototype.callbacks.push(function (chart) { + H.addEvent(chart, 'load', handleNoData); + H.addEvent(chart, 'redraw', handleNoData); + }); + +}(Highcharts)); diff --git a/public/lib/UEditor/third-party/highcharts/themes/dark-blue.js b/public/lib/UEditor/third-party/highcharts/themes/dark-blue.js new file mode 100644 index 00000000..47e53e0d --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/themes/dark-blue.js @@ -0,0 +1,254 @@ +/** + * Dark blue theme for Highcharts JS + * @author Torstein Hønsi + */ + +Highcharts.theme = { + colors: ["#DDDF0D", "#55BF3B", "#DF5353", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee", + "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"], + chart: { + backgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 1, y2: 1 }, + stops: [ + [0, 'rgb(48, 48, 96)'], + [1, 'rgb(0, 0, 0)'] + ] + }, + borderColor: '#000000', + borderWidth: 2, + className: 'dark-container', + plotBackgroundColor: 'rgba(255, 255, 255, .1)', + plotBorderColor: '#CCCCCC', + plotBorderWidth: 1 + }, + title: { + style: { + color: '#C0C0C0', + font: 'bold 16px "Trebuchet MS", Verdana, sans-serif' + } + }, + subtitle: { + style: { + color: '#666666', + font: 'bold 12px "Trebuchet MS", Verdana, sans-serif' + } + }, + xAxis: { + gridLineColor: '#333333', + gridLineWidth: 1, + labels: { + style: { + color: '#A0A0A0' + } + }, + lineColor: '#A0A0A0', + tickColor: '#A0A0A0', + title: { + style: { + color: '#CCC', + fontWeight: 'bold', + fontSize: '12px', + fontFamily: 'Trebuchet MS, Verdana, sans-serif' + + } + } + }, + yAxis: { + gridLineColor: '#333333', + labels: { + style: { + color: '#A0A0A0' + } + }, + lineColor: '#A0A0A0', + minorTickInterval: null, + tickColor: '#A0A0A0', + tickWidth: 1, + title: { + style: { + color: '#CCC', + fontWeight: 'bold', + fontSize: '12px', + fontFamily: 'Trebuchet MS, Verdana, sans-serif' + } + } + }, + tooltip: { + backgroundColor: 'rgba(0, 0, 0, 0.75)', + style: { + color: '#F0F0F0' + } + }, + toolbar: { + itemStyle: { + color: 'silver' + } + }, + plotOptions: { + line: { + dataLabels: { + color: '#CCC' + }, + marker: { + lineColor: '#333' + } + }, + spline: { + marker: { + lineColor: '#333' + } + }, + scatter: { + marker: { + lineColor: '#333' + } + }, + candlestick: { + lineColor: 'white' + } + }, + legend: { + itemStyle: { + font: '9pt Trebuchet MS, Verdana, sans-serif', + color: '#A0A0A0' + }, + itemHoverStyle: { + color: '#FFF' + }, + itemHiddenStyle: { + color: '#444' + } + }, + credits: { + style: { + color: '#666' + } + }, + labels: { + style: { + color: '#CCC' + } + }, + + navigation: { + buttonOptions: { + symbolStroke: '#DDDDDD', + hoverSymbolStroke: '#FFFFFF', + theme: { + fill: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#606060'], + [0.6, '#333333'] + ] + }, + stroke: '#000000' + } + } + }, + + // scroll charts + rangeSelector: { + buttonTheme: { + fill: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + stroke: '#000000', + style: { + color: '#CCC', + fontWeight: 'bold' + }, + states: { + hover: { + fill: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#BBB'], + [0.6, '#888'] + ] + }, + stroke: '#000000', + style: { + color: 'white' + } + }, + select: { + fill: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.1, '#000'], + [0.3, '#333'] + ] + }, + stroke: '#000000', + style: { + color: 'yellow' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: 'silver' + } + }, + + navigator: { + handles: { + backgroundColor: '#666', + borderColor: '#AAA' + }, + outlineColor: '#CCC', + maskFill: 'rgba(16, 16, 16, 0.5)', + series: { + color: '#7798BF', + lineColor: '#A6C7ED' + } + }, + + scrollbar: { + barBackgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + barBorderColor: '#CCC', + buttonArrowColor: '#CCC', + buttonBackgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + buttonBorderColor: '#CCC', + rifleColor: '#FFF', + trackBackgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0, '#000'], + [1, '#333'] + ] + }, + trackBorderColor: '#666' + }, + + // special colors for some of the + legendBackgroundColor: 'rgba(0, 0, 0, 0.5)', + legendBackgroundColorSolid: 'rgb(35, 35, 70)', + dataLabelsColor: '#444', + textColor: '#C0C0C0', + maskColor: 'rgba(255,255,255,0.3)' +}; + +// Apply the theme +var highchartsOptions = Highcharts.setOptions(Highcharts.theme); diff --git a/public/lib/UEditor/third-party/highcharts/themes/dark-green.js b/public/lib/UEditor/third-party/highcharts/themes/dark-green.js new file mode 100644 index 00000000..5edddf9a --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/themes/dark-green.js @@ -0,0 +1,255 @@ +/** + * Dark blue theme for Highcharts JS + * @author Torstein Hønsi + */ + +Highcharts.theme = { + colors: ["#DDDF0D", "#55BF3B", "#DF5353", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee", + "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"], + chart: { + backgroundColor: { + linearGradient: [0, 0, 250, 500], + stops: [ + [0, 'rgb(48, 96, 48)'], + [1, 'rgb(0, 0, 0)'] + ] + }, + borderColor: '#000000', + borderWidth: 2, + className: 'dark-container', + plotBackgroundColor: 'rgba(255, 255, 255, .1)', + plotBorderColor: '#CCCCCC', + plotBorderWidth: 1 + }, + title: { + style: { + color: '#C0C0C0', + font: 'bold 16px "Trebuchet MS", Verdana, sans-serif' + } + }, + subtitle: { + style: { + color: '#666666', + font: 'bold 12px "Trebuchet MS", Verdana, sans-serif' + } + }, + xAxis: { + gridLineColor: '#333333', + gridLineWidth: 1, + labels: { + style: { + color: '#A0A0A0' + } + }, + lineColor: '#A0A0A0', + tickColor: '#A0A0A0', + title: { + style: { + color: '#CCC', + fontWeight: 'bold', + fontSize: '12px', + fontFamily: 'Trebuchet MS, Verdana, sans-serif' + + } + } + }, + yAxis: { + gridLineColor: '#333333', + labels: { + style: { + color: '#A0A0A0' + } + }, + lineColor: '#A0A0A0', + minorTickInterval: null, + tickColor: '#A0A0A0', + tickWidth: 1, + title: { + style: { + color: '#CCC', + fontWeight: 'bold', + fontSize: '12px', + fontFamily: 'Trebuchet MS, Verdana, sans-serif' + } + } + }, + tooltip: { + backgroundColor: 'rgba(0, 0, 0, 0.75)', + style: { + color: '#F0F0F0' + } + }, + toolbar: { + itemStyle: { + color: 'silver' + } + }, + plotOptions: { + line: { + dataLabels: { + color: '#CCC' + }, + marker: { + lineColor: '#333' + } + }, + spline: { + marker: { + lineColor: '#333' + } + }, + scatter: { + marker: { + lineColor: '#333' + } + }, + candlestick: { + lineColor: 'white' + } + }, + legend: { + itemStyle: { + font: '9pt Trebuchet MS, Verdana, sans-serif', + color: '#A0A0A0' + }, + itemHoverStyle: { + color: '#FFF' + }, + itemHiddenStyle: { + color: '#444' + } + }, + credits: { + style: { + color: '#666' + } + }, + labels: { + style: { + color: '#CCC' + } + }, + + + navigation: { + buttonOptions: { + symbolStroke: '#DDDDDD', + hoverSymbolStroke: '#FFFFFF', + theme: { + fill: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#606060'], + [0.6, '#333333'] + ] + }, + stroke: '#000000' + } + } + }, + + // scroll charts + rangeSelector: { + buttonTheme: { + fill: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + stroke: '#000000', + style: { + color: '#CCC', + fontWeight: 'bold' + }, + states: { + hover: { + fill: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#BBB'], + [0.6, '#888'] + ] + }, + stroke: '#000000', + style: { + color: 'white' + } + }, + select: { + fill: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.1, '#000'], + [0.3, '#333'] + ] + }, + stroke: '#000000', + style: { + color: 'yellow' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: 'silver' + } + }, + + navigator: { + handles: { + backgroundColor: '#666', + borderColor: '#AAA' + }, + outlineColor: '#CCC', + maskFill: 'rgba(16, 16, 16, 0.5)', + series: { + color: '#7798BF', + lineColor: '#A6C7ED' + } + }, + + scrollbar: { + barBackgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + barBorderColor: '#CCC', + buttonArrowColor: '#CCC', + buttonBackgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + buttonBorderColor: '#CCC', + rifleColor: '#FFF', + trackBackgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0, '#000'], + [1, '#333'] + ] + }, + trackBorderColor: '#666' + }, + + // special colors for some of the + legendBackgroundColor: 'rgba(0, 0, 0, 0.5)', + legendBackgroundColorSolid: 'rgb(35, 35, 70)', + dataLabelsColor: '#444', + textColor: '#C0C0C0', + maskColor: 'rgba(255,255,255,0.3)' +}; + +// Apply the theme +var highchartsOptions = Highcharts.setOptions(Highcharts.theme); diff --git a/public/lib/UEditor/third-party/highcharts/themes/gray.js b/public/lib/UEditor/third-party/highcharts/themes/gray.js new file mode 100644 index 00000000..4e8f82a1 --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/themes/gray.js @@ -0,0 +1,257 @@ +/** + * Gray theme for Highcharts JS + * @author Torstein Hønsi + */ + +Highcharts.theme = { + colors: ["#DDDF0D", "#7798BF", "#55BF3B", "#DF5353", "#aaeeee", "#ff0066", "#eeaaee", + "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"], + chart: { + backgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0, 'rgb(96, 96, 96)'], + [1, 'rgb(16, 16, 16)'] + ] + }, + borderWidth: 0, + borderRadius: 15, + plotBackgroundColor: null, + plotShadow: false, + plotBorderWidth: 0 + }, + title: { + style: { + color: '#FFF', + font: '16px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + }, + subtitle: { + style: { + color: '#DDD', + font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + }, + xAxis: { + gridLineWidth: 0, + lineColor: '#999', + tickColor: '#999', + labels: { + style: { + color: '#999', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#AAA', + font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + yAxis: { + alternateGridColor: null, + minorTickInterval: null, + gridLineColor: 'rgba(255, 255, 255, .1)', + minorGridLineColor: 'rgba(255,255,255,0.07)', + lineWidth: 0, + tickWidth: 0, + labels: { + style: { + color: '#999', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#AAA', + font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + legend: { + itemStyle: { + color: '#CCC' + }, + itemHoverStyle: { + color: '#FFF' + }, + itemHiddenStyle: { + color: '#333' + } + }, + labels: { + style: { + color: '#CCC' + } + }, + tooltip: { + backgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0, 'rgba(96, 96, 96, .8)'], + [1, 'rgba(16, 16, 16, .8)'] + ] + }, + borderWidth: 0, + style: { + color: '#FFF' + } + }, + + + plotOptions: { + series: { + shadow: true + }, + line: { + dataLabels: { + color: '#CCC' + }, + marker: { + lineColor: '#333' + } + }, + spline: { + marker: { + lineColor: '#333' + } + }, + scatter: { + marker: { + lineColor: '#333' + } + }, + candlestick: { + lineColor: 'white' + } + }, + + toolbar: { + itemStyle: { + color: '#CCC' + } + }, + + navigation: { + buttonOptions: { + symbolStroke: '#DDDDDD', + hoverSymbolStroke: '#FFFFFF', + theme: { + fill: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#606060'], + [0.6, '#333333'] + ] + }, + stroke: '#000000' + } + } + }, + + // scroll charts + rangeSelector: { + buttonTheme: { + fill: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + stroke: '#000000', + style: { + color: '#CCC', + fontWeight: 'bold' + }, + states: { + hover: { + fill: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#BBB'], + [0.6, '#888'] + ] + }, + stroke: '#000000', + style: { + color: 'white' + } + }, + select: { + fill: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.1, '#000'], + [0.3, '#333'] + ] + }, + stroke: '#000000', + style: { + color: 'yellow' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: 'silver' + } + }, + + navigator: { + handles: { + backgroundColor: '#666', + borderColor: '#AAA' + }, + outlineColor: '#CCC', + maskFill: 'rgba(16, 16, 16, 0.5)', + series: { + color: '#7798BF', + lineColor: '#A6C7ED' + } + }, + + scrollbar: { + barBackgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + barBorderColor: '#CCC', + buttonArrowColor: '#CCC', + buttonBackgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + buttonBorderColor: '#CCC', + rifleColor: '#FFF', + trackBackgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, + stops: [ + [0, '#000'], + [1, '#333'] + ] + }, + trackBorderColor: '#666' + }, + + // special colors for some of the demo examples + legendBackgroundColor: 'rgba(48, 48, 48, 0.8)', + legendBackgroundColorSolid: 'rgb(70, 70, 70)', + dataLabelsColor: '#444', + textColor: '#E0E0E0', + maskColor: 'rgba(255,255,255,0.3)' +}; + +// Apply the theme +var highchartsOptions = Highcharts.setOptions(Highcharts.theme); diff --git a/public/lib/UEditor/third-party/highcharts/themes/grid.js b/public/lib/UEditor/third-party/highcharts/themes/grid.js new file mode 100644 index 00000000..cee0657d --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/themes/grid.js @@ -0,0 +1,103 @@ +/** + * Grid theme for Highcharts JS + * @author Torstein Hønsi + */ + +Highcharts.theme = { + colors: ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'], + chart: { + backgroundColor: { + linearGradient: { x1: 0, y1: 0, x2: 1, y2: 1 }, + stops: [ + [0, 'rgb(255, 255, 255)'], + [1, 'rgb(240, 240, 255)'] + ] + }, + borderWidth: 2, + plotBackgroundColor: 'rgba(255, 255, 255, .9)', + plotShadow: true, + plotBorderWidth: 1 + }, + title: { + style: { + color: '#000', + font: 'bold 16px "Trebuchet MS", Verdana, sans-serif' + } + }, + subtitle: { + style: { + color: '#666666', + font: 'bold 12px "Trebuchet MS", Verdana, sans-serif' + } + }, + xAxis: { + gridLineWidth: 1, + lineColor: '#000', + tickColor: '#000', + labels: { + style: { + color: '#000', + font: '11px Trebuchet MS, Verdana, sans-serif' + } + }, + title: { + style: { + color: '#333', + fontWeight: 'bold', + fontSize: '12px', + fontFamily: 'Trebuchet MS, Verdana, sans-serif' + + } + } + }, + yAxis: { + minorTickInterval: 'auto', + lineColor: '#000', + lineWidth: 1, + tickWidth: 1, + tickColor: '#000', + labels: { + style: { + color: '#000', + font: '11px Trebuchet MS, Verdana, sans-serif' + } + }, + title: { + style: { + color: '#333', + fontWeight: 'bold', + fontSize: '12px', + fontFamily: 'Trebuchet MS, Verdana, sans-serif' + } + } + }, + legend: { + itemStyle: { + font: '9pt Trebuchet MS, Verdana, sans-serif', + color: 'black' + + }, + itemHoverStyle: { + color: '#039' + }, + itemHiddenStyle: { + color: 'gray' + } + }, + labels: { + style: { + color: '#99b' + } + }, + + navigation: { + buttonOptions: { + theme: { + stroke: '#CCCCCC' + } + } + } +}; + +// Apply the theme +var highchartsOptions = Highcharts.setOptions(Highcharts.theme); diff --git a/public/lib/UEditor/third-party/highcharts/themes/skies.js b/public/lib/UEditor/third-party/highcharts/themes/skies.js new file mode 100644 index 00000000..e942648e --- /dev/null +++ b/public/lib/UEditor/third-party/highcharts/themes/skies.js @@ -0,0 +1,89 @@ +/** + * Skies theme for Highcharts JS + * @author Torstein Hønsi + */ + +Highcharts.theme = { + colors: ["#514F78", "#42A07B", "#9B5E4A", "#72727F", "#1F949A", "#82914E", "#86777F", "#42A07B"], + chart: { + className: 'skies', + borderWidth: 0, + plotShadow: true, + plotBackgroundImage: 'http://www.highcharts.com/demo/gfx/skies.jpg', + plotBackgroundColor: { + linearGradient: [0, 0, 250, 500], + stops: [ + [0, 'rgba(255, 255, 255, 1)'], + [1, 'rgba(255, 255, 255, 0)'] + ] + }, + plotBorderWidth: 1 + }, + title: { + style: { + color: '#3E576F', + font: '16px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + }, + subtitle: { + style: { + color: '#6D869F', + font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + }, + xAxis: { + gridLineWidth: 0, + lineColor: '#C0D0E0', + tickColor: '#C0D0E0', + labels: { + style: { + color: '#666', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#666', + font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + yAxis: { + alternateGridColor: 'rgba(255, 255, 255, .5)', + lineColor: '#C0D0E0', + tickColor: '#C0D0E0', + tickWidth: 1, + labels: { + style: { + color: '#666', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#666', + font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + legend: { + itemStyle: { + font: '9pt Trebuchet MS, Verdana, sans-serif', + color: '#3E576F' + }, + itemHoverStyle: { + color: 'black' + }, + itemHiddenStyle: { + color: 'silver' + } + }, + labels: { + style: { + color: '#3E576F' + } + } +}; + +// Apply the theme +var highchartsOptions = Highcharts.setOptions(Highcharts.theme); diff --git a/public/lib/UEditor/third-party/jquery-1.10.2.js.REMOVED.git-id b/public/lib/UEditor/third-party/jquery-1.10.2.js.REMOVED.git-id new file mode 100644 index 00000000..45cb1191 --- /dev/null +++ b/public/lib/UEditor/third-party/jquery-1.10.2.js.REMOVED.git-id @@ -0,0 +1 @@ +c5c648255c1574dcc95c506b82c25044f0972dfd \ No newline at end of file diff --git a/public/lib/UEditor/third-party/jquery-1.10.2.min.js.REMOVED.git-id b/public/lib/UEditor/third-party/jquery-1.10.2.min.js.REMOVED.git-id new file mode 100644 index 00000000..0521730f --- /dev/null +++ b/public/lib/UEditor/third-party/jquery-1.10.2.min.js.REMOVED.git-id @@ -0,0 +1 @@ +da4170647dd102aa92a57cb4936ff6dfa58d78c2 \ No newline at end of file diff --git a/public/lib/UEditor/third-party/video-js/font/vjs.eot b/public/lib/UEditor/third-party/video-js/font/vjs.eot new file mode 100644 index 0000000000000000000000000000000000000000..a075c19f0b5d7d01c0edf7741d1b733c8b123b72 GIT binary patch literal 3536 zcmds4O>7&-6@G7*4%9TWN`70-_Maz<`Mv22Hu8^ilEh&~IEBY~H z8MR%YQqbg(z$tUP(b^h&N&O#yL37;An9iw6L5VhQc9DVxPbT<9_-98L@4)WAX%QF}M_}X8#A%Bi~ zWq#(;#d;l{sO2vD8|Ig;o*(?N5hIe{A@bZ^n439Q`|L;mMBgrIaRCa~9|(P{LGE5y zUcci11(zZ3KptLNeQ8F0!)Idr66F5nnJX9REIot%LCDdSndP~YpTGNaqNYvgUcb0{ zX?-P>{Rif6LI19`HmvVX=PPfX^?v&cYPR$6(W^HwCy`C-yV4Gu5F4B{!4>|^`YxrU zn?yB|b}Ua~$X;o&Gyyt|QKAUPZ0X8EL}96g-y%0P@RNKV@+pUYL5Jwo{a6sjV!QWB z<^1S5Dw}jq#9&eiv2|}+F$oKM1z_G6k|mdg?m>-O{IrN1x-x}@6^cE@w8djXK}8Ka zD_etvRYP_GKG;xeH{ifj&B#4MR#8kcyY~3VzkT)yd;LTj`7zcFv?v(c2oKHF0%WP= zrFMi56p0B$;k{sO(QfxT_v`*&d6nYy7%k8T?BO84!SC>wk|qsGE7IR&pFA#4$?IaX z>ZSw?h%~lwOac(utXW$kA+J%c@;0)j5czX$2~o@2+vfH*Z`U??v$hFKdrwWSA{XQ@ z1_N!HC(VgM?!!h^ZM<5k@NXL3YHe0^H(ss6UgU+i0(&oY;y}jre5sgE>iJ?e6x0-X zp9c>6Ri&#-QT@um!1Io~Wv^d}OhpvGx1s+h{XDYYxj-B7uPxsZ!X0wZyZ)%z)-+Wy z3`NzHp`jPQX67<_jO&I1v+}L7{)jkSA`U6$#F3`Qzd4deM)oI6IWi(5o1A>%8=~~X zYNR?MqMW=tssGP0Gfme`-Ub%1i!66C(>4-q)~Rmg7;AEFF_|J%q^E$GSX+!!oYa$g zBCdE8m6a|I1@Tub6-&ptC&h`lC!hs$*+#Q1kl_~m9zlC);oKYX_E_|qp&p8ifDJyGch{Fh+CXCLm#j}?{$ z&;{Vd?H#Vy*~A_xKyL{9kfbz~Xo#p?3ucRXJsvzjJ&wFbbw`#C=&O2O*YmSI1zj)X z{D=Mi!xL6}V_%yH_lCp0wwGXbzdZ(ne_8(G|t}_{N;R|Fr_l?-U2sCkfU%G`) zoK2T#N+DaBECqQHes6Ep{=7Ibu{gocZQR-ziW{@nXN~v}n_|-2L3B(k{%m98Ryl55 zpPjvK#LIAuwfgE`;%@s4_uvQ-uqbdUFzQh}AseT_D1cflWdYDaUUVoPEJqkRU5=rm z0mUH?-1YW!r&3wt`FO0ojaiS!`})$UGm)sTNoH>K=h`FDqrH87r;i-*dYNNgNA#ZF z-to@Es>;4rx0!n(k!WvcP9_oq1DVWJEZPP)J+au)L!JIs=}d2=%j;u~MG`d29wMk7bPcrt!_e*F~(--^$Zmu2p%v zTD9`IhaC&MY-3lpu`7`U*NTN*Hf`|Mb}UgW1h0fGu^JS{+4VWR1ishdW$LDD4)22g zro+4OUHjPK#k=EQKry=-p;6(@<|XhQ4lmO<9>TWX1^v4Y@5ZC~R}Sxi{?5T?_SA)Q zbE{9_y?x-ZJvldjd1(f(?lJ4By>8JpJjdrKN?GgK9mSVEdcdEpGjLN6;BlTon?-9- z4vtn=*2h-Y=I5f>R3`dZ)R`HaQ5-Nb1KErLs{`-&2jM;B + + + +This is a custom SVG font generated by IcoMoon. + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/lib/UEditor/third-party/video-js/font/vjs.ttf b/public/lib/UEditor/third-party/video-js/font/vjs.ttf new file mode 100644 index 0000000000000000000000000000000000000000..eb2463791823ded2c3f9b1321e9fa3a331e8a5eb GIT binary patch literal 3372 zcmds4O>7&-6@G7*fn;iIyc-9T2d@aR`g@Y zGHSa(rJ~6pfm;+g2my>Dyd*%202X}dA5gI9p$G~jZDAlmqZWH~(ThDih#6;9iJ0w$ia`Noc7v6k#0SX_qq0{3NlQc#iqPBaGBhNgS z%A|g~KS0FKL!NzkZT`~lU;A?f@~3#NF3n%QRIkGmwcW*d)6(j-3&Y?td=}=fLLOY3zj}$z z(X$vIh8$U+Ut2u&>DxagYT1GA^-CLZG?v=< zC*-Ck{sv!weA=O((Ghx8OmHJl2Ti2=pp`F7oTrjS_XsgqltgU3J9bRM;vhu&xsYtR zByjniKNvi$`+wzCiqR9a zOz*LW1N;WR#h**MG%T%4f0cdmlsqeMiDcC+2^bJ%?BJ*bAhK1nQzD_R5w3CtRa1zx zY)4!?rAo!BRJc;x;howJEE_qsxQbekRtWezbWe)o`Rx16s@i<5T;^XjyVcr)>TbSP zg}tZ?aT)er>c)YL8M$I1moRdLOfaA;@*xi#(p06VM^QCpXy^sU-I`ZZ!n0vT^EM5B ze~`xyJGar!zqEaa33tfD-i^ntwyCR%X)3C&jE=ta1uK^@V%{(nn3ZmqjK{>`5_^=Q zP8=zE^2;N6Y-E4HlH=ndvYD9|za&ZxR^!!i5#`L?8RLJBnQ5+WaRpdF7Fq6QrV0ve z)v0dR7<+PVF`2?tpr?VDXh)QjoG=nbJf?UQm6aY22JkBs3&j!cOL9Es@#}$XrcjJ~ z;<0=#n+XJ?U#ymH-G5fv;1;js4Sn#JkXQCLGdFuB-_biCcKg`dQu~{0IFlL~DGUy~ zC)|<2;~l!hS=R|OH9A@tIN_djIXdh9eRiE5)1_9wzeUzhPJR8PCb#O6q_@i2*tz_Z z&zwAU=4<)Xbh*p_UxE$IL%1gmJ1hyH3&4xpJ5;Z;g&ZkBZxDG%P>PB)O4O+bGKHKG z3p_+Uj(k83N0uJaSB;!uXx}wB6r4)W<{pp-}&nzsK+I;a>}T<2(62 zO!dXXm)G~o;=SMi7OC-_l-r3z<(RJfnCqlhEnC0sA_pZxEx1_cY z9#NE@vuSbR3uHO>jmTdZnph(*y}~EXrb~3iU_+TG26zR2@9ft8xH3JxGR@C#-`*aL znF}`-%-ASfV$nMR3{0>5czgSHDQ4bSSh!)vN^p$5`s$zKZu=Pb;5ZSmC~zt;>QOww z22O!d0JTue0HFDt7*IUejxcnF979D1ih~}w>+kDLCNt&>v1n%pvk{9845X50!x3ML z%-pVJJHwIV{R0DMjve!QnWH_&jK2QGW(g(g8Pp z(dh9b-CDbJwm;nC^)bi7;e_#(vMPse80oX)JxYL-Ua_MyXz?~Z>0#q4T^MuoQqFM;oJc$uas z?eH$>-*$L61?U$J?}7dkd;?vi^R!4C^b|dZPu+{>7dM^)GXvccU7=N)r%i~9OIKFs z!A!z(owjVc35!LFP==CNErK_Fk%k4jpsoDTj_Xs5#-#Nk{L(9wlQ?3ht^9liK2XzX8D O(EG1%n1UYuukdfbdl*On literal 0 HcmV?d00001 diff --git a/public/lib/UEditor/third-party/video-js/font/vjs.woff b/public/lib/UEditor/third-party/video-js/font/vjs.woff new file mode 100644 index 0000000000000000000000000000000000000000..c3f0f1d80718ac2a16e2daeaf82ce59ed76a3f06 GIT binary patch literal 4228 zcmZWtXHb({wEX~Sp$kZnDn)8c0!R-vSO`U$AORDkBTYcMQlv>hI-vLM=>8ENpBn0D$`uzy{Dl7zfb( zyZ-+$GBJ?=06G=`;E)9X{z!Mml_C=p8#4glgwV2uX%KPGs&ctvj4+{TNE#QVK?2YR z&RAGqg3+|QG;T@*`qKOtQli!F3onI2xwd%FVF0U}E15!F`{T~Ek>G% z4sYH&VI~@=H(cn-ZWk35ml749>)DAu0KJ?XDIGHGF^2Q$|9HWJuu}B4C|P&dL_~XW zlMKo|MP#f&AFGad`>@+${QL=3jy5)mBrk&cSOg_!?$uaPYs7@P|Lm5T2WjKEy3-F? zbDvxHCyI8D%jQzOYt(PtCx{O6%6koptQxt!e6B#rIU1yQd)9RI=&D0qR9%IlX-?(f z#X%Te=9rivpjIXq5i5&^OaycX%n=4xyxJG2B^FNea-C6~7xZdF-Cn8C&K3`ev?h6^=P87k8IMjI#^iDNq1 zJ`A_c^%&Raf5V3;Gdk83_9}f2X+Eh;8=N3q%RBINY&ZLpUwxjmw}@-QAFwojc+GQd z+iF?<-W_V-cN5%hY8ac+v_^b*+GIZQ9xHUs-4-J7kb{S93B5GPqDc9>s)!@#84lrv zN1u29VCwx6SVFA0%pO{6CQR|za|wL6DmFyv6qYi+$>8`oIc1o`-I?jREBnl2QSnEx zBa!1IZYR#P<;|Fbm#|{=Y6SOJ2T)oPS6_R~-Kuu&sklmvjCGjD&2P+(w=u%N7EFG` z57=zy{Bt)2x4Sgp3iiI}=ojOC^I=1WIC({uSIxvv057%8`)wd!vfD@F7f;#s_e4Et z+FmKwykKced^IMO+~RWKDhYg(Hz<;BEkeXoGGf^xD&EY`RGy&FHwzd?QZnj zVT;1T_cRY3GHN#_Y$iOO8kLq<*lk(YZDcQwuKi_6f=lwZ!}m^8;Fv!m$Gvs@(d>$d z(v`3z_>5aS{HLJ1n(4a2lPgIz81XT0(g5eHmqFNi`sJvugOaa(Sj}G-?o~<-fA1m@ z?``~!&BjIkxG+g4s$`SK7tm_b_LswswGndTo`?ZQ=R;dq_%D^|*r|~8@4jf1f_+W% z9~^XTj@yi3)TAvhR^g)W@*U65s%NL;|E&B}x0miqr!O_?q56MMK)7Xh_FagpajF(R zXJ6!PBP?$F?O_0{4a3{=UVlE@{C;&sq~WAp%_O^R+G8(}B0T7enqQ*n!Z~TGN5QT) z^Q}*s@86Nz0@`Z>niIUfXt_wJeTLiWC_8T9XBBM4a|w78MzPH1&>A@+yKG$ulquip zWt{)?gN^sIvDoisLkIr2(JnKj#`~W$U1rgZt?IJ99Xd5SbK|3=lSrR8m6>_L(oe9b zca;pO4Tz!ION-PIu5!!%+!kL(a52yKyQjNi$Q`!&CF&_+@5lLtt}gg zldYpQF>9mwCM!lUmZiX}4Bjm;yJRoSL1!Sq)Jik#V`%u+3N)8MaAH%)u+ z9Z!TNynO6KK0(iUtMsI`{?JNoXpu+hKMD@|0rj5WDux?;Raa|d5SoY$VmIC9oxaa0 z={qyb@*seu7zaX}Y=ePwAY3r})Vd{;zh@`0fNa(&DLvwqFqS@+Tt*ob;#vGL{8jh6S733)o83z#@2@sZaQu)^)7c z(~pn+Bw2UM#~rG{@rOEZn4eJR1u>HP$;`po3jQXlFY}*Wn zE%~c}yX4=rWaFDni!H47RxoZ&Vi;Bk=lWr33@mq!| zwN{{uw;$#z+rS~$p&b7dP5ssQ02wm;8Yr)D>X)LV)1RNDv!DHpK033BAI*Ca94_Ha z7=5PuNM`sFUsiUY*7d~E9U=59pan@%l^@Y@|4E1M)_IVfUM{zl_DF>LjhMq+v~Yty zA8QK7$Ez0D&x|1}sYry^R*i1i2?~nF7^I>(@zH|NS8^~;4ARiN3;hUL zPuJDpq+sA#ua24g(44xXHka^YBz{65`MCgmu-8C@gZW*()2GGfL`ka*f52P+js~9Z z_5<%4C-nZ;vgN50mB8HAY3y8)}$!yy^og8*Cn1tyXd1mglM~}XJ0`e$i z9*CY@Q<)E2<@8n{64dn{e-V(FMft?=LYI1p`xjpr+%_N>rhI&5@IJ4+uBnS9O83D< zd)ZEUq<31Rh6flQulPV)hAkZP!*DuuOf8w}Xd+Oyk$q!r(KI;~hFR^Per%}MvzsTR z+&Vp$SfTu}S`;{zIrhM4nrT;G0quyW27*vM&Si~T?s=t1_nfo@+Cnom9 z%dr{DCXRd^Ef;tSuD|SJ^G;Z1s9o7SJ6*9ukBi|1Np75@aMh>t(ed=~w>JG7gG*mt-*NaiifzrxBUT+8Hb`!DM*;V8&kDc4I?# zAzU=wb6A&gdsC?RHB7*CvuyluS`+j+Z>@l;5YA^Vnl#as1R)!4q_;2#NwK-hv+%0A znTG17S}g^A{$VrtrVO-L+<6#tT%g_WP^u3mk@3Mo@3j)*>zc{VBdMi^(gV5u8p|l1#X*J-`>eYEoG*O~4&|B7 zHqCzq)=H$5;=;tbUmC17c}_}ytH6R4;`~uWArr4z5n|mUYenP9H~Z2c`s&i4H*&4`^fe@b48@gn_P)~wTdVZ5ujP*&W<1pzZRgs0u=^xJtIyDQb_Rd-Ntj*Geq_7J z$}-e(f>&H?W5o5^!L1}$FJ5uUqq9vrmokpMmLZ~sRV`^PH_-JLVrRkbUgIMH+rR9Z z6E+RTnv((wr6VlfJLE2GT_LFEmnu9_zu?ndbiV!b+t&q^Q_WRH1Y%zJ)7`EW+f?iU z>JYzFn@-RIjD zm&NX9rsQ0ie_;n|Td$i!rh5~Xt%naPNyd?+TU!BrHx5Jws6FR%bD$2K1ZjqoBkf%0 znaW=8+!E6eH;;%zwN20Tpb2VcSlU5@3_cv1nW@c`m$ULtP?u>p8H*jT_Dxw$@kTx! zTh_zSQwsj|Nq5j_v?~yoU2>Etag6$~Ed&t;O#GRs|GVdkMlUe9urhI@UC?I?B_-VH zD1rbZH-MlSt$%CXmoUX-@*ufuy$AQ6OkUuu?1Wu~y@Eg>&<2)Ei2mWq-|y* z4BEV)FEn@a^c}<71NPK^?@5~jaG6}55M4U*eG3avfyR)Dc{3{9ho>FLEg^A$D8i2R z0(5V)9sb|kQTwOhc(I8Hro@Nr`e)_h=-YtQT1NZ-_FZBCStcfCSr(2i5LzqNOV>Ev zfC--=j+BMatn=lo^fVJq3rhgt{Wm`(9qP>hup$yy`ehE>YOi5pO)M-_3hDg9t0f3=itYthmimV7e0$>t zUe!~vXj{~#*idg4Ai|Y{Lh;vi&g!{}QLrCTgAZMw28`VNR&&Cotm~)~t5!ey(@}gX zPJoy$rG44hDLV9v?-@lmP7!kto5a3R%i1DL&EM0`<{+gPd<2*B^|0|P7>zo^?KfWD zK6$dC=ZJ{ayOZ|Sb*9TL_cBS&6B;!L;n=CZXmO@x@5siVT&PL)tN* { + editor.execCommand('inserthtml', `

https://github.com/d2-projects/d2-admin

`) + } +} diff --git a/src/components/d2-ueditor/index.vue b/src/components/d2-ueditor/index.vue new file mode 100644 index 00000000..b636145b --- /dev/null +++ b/src/components/d2-ueditor/index.vue @@ -0,0 +1,50 @@ + + + diff --git a/src/components/d2-ueditor/ueditor.config.js b/src/components/d2-ueditor/ueditor.config.js new file mode 100644 index 00000000..984a0f9a --- /dev/null +++ b/src/components/d2-ueditor/ueditor.config.js @@ -0,0 +1,11 @@ +export default { + UEDITOR_HOME_URL: './lib/UEditor/', + // 编辑器不自动被内容撑高 + autoHeightEnabled: false, + // 初始容器高度 + initialFrameHeight: 240, + // 初始容器宽度 + initialFrameWidth: '100%', + // 关闭自动保存 + enableAutoSave: false +} diff --git a/src/components/index.js b/src/components/index.js index 271269c2..e6b4aba2 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -17,3 +17,4 @@ Vue.component('d2-icon-svg', () => import('./d2-icon-svg/index.vue')) Vue.component('d2-markdown', () => import('./d2-markdown')) Vue.component('d2-mde', () => import('./d2-mde')) Vue.component('d2-quill', () => import('./d2-quill')) +Vue.component('d2-ueditor', () => import('./d2-ueditor')) diff --git a/src/main.js b/src/main.js index b11a2976..2b8fc81a 100644 --- a/src/main.js +++ b/src/main.js @@ -23,6 +23,8 @@ import vueJsonTreeView from 'vue-json-tree-view' import { GridLayout, GridItem } from 'vue-grid-layout' // [ 可选插件组件 ] 区域划分组件 import SplitPane from 'vue-splitpane' +// [ 可选插件组件 ] UEditor +import VueUeditorWrap from 'vue-ueditor-wrap' // 菜单和路由设置 import router from './router' @@ -40,6 +42,7 @@ Vue.use(vueJsonTreeView) Vue.component('d2-grid-layout', GridLayout) Vue.component('d2-grid-item', GridItem) Vue.component('SplitPane', SplitPane) +Vue.component('VueUeditorWrap', VueUeditorWrap) new Vue({ router, diff --git a/src/menu/modules/demo-components.js b/src/menu/modules/demo-components.js index fc2235e2..62b00eef 100644 --- a/src/menu/modules/demo-components.js +++ b/src/menu/modules/demo-components.js @@ -51,6 +51,16 @@ export default { { path: `${pre}layout/splitpane`, title: '区域划分' } ] }, + { + path: `${pre}editor`, + title: '编辑器', + icon: 'pencil-square-o', + children: [ + { path: `${pre}editor-ueditor`, title: 'UEditor', icon: '' }, + { path: `${pre}editor-quill`, title: 'Quill', icon: '' }, + { path: `${pre}editor-simpleMDE`, title: 'simpleMDE', icon: '' } + ] + }, { path: `${pre}icon`, title: '图标', @@ -85,8 +95,6 @@ export default { ] }, { path: `${pre}countup`, title: '数字动画', icon: 'motorcycle' }, - { path: `${pre}editor-quill`, title: '富文本编辑器', icon: 'pencil-square-o (edit, edit)' }, - { path: `${pre}editor-simpleMDE`, title: 'markdown编辑器', icon: 'font' }, { path: `${pre}highlight`, title: '代码高亮显示', icon: 'code' }, { path: `${pre}json-tree`, title: 'JSON 展示', icon: 'sitemap' } ])('/demo/components/') diff --git a/src/pages/demo/components/editor-ueditor/index.vue b/src/pages/demo/components/editor-ueditor/index.vue new file mode 100644 index 00000000..ae78c67f --- /dev/null +++ b/src/pages/demo/components/editor-ueditor/index.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/router/modules/components.js b/src/router/modules/components.js index 3944410f..720659d1 100644 --- a/src/router/modules/components.js +++ b/src/router/modules/components.js @@ -26,6 +26,7 @@ export default { { path: 'contextmenu/disabled', name: `${pre}contextmenu-disabled`, component: () => import('@/pages/demo/components/contextmenu/disabled.vue'), meta: { ...meta, title: '右键菜单 禁用' } }, { path: 'contextmenu/custom-trigger', name: `${pre}contextmenu-custom-trigger`, component: () => import('@/pages/demo/components/contextmenu/custom-trigger.vue'), meta: { ...meta, title: '右键菜单 自定义触发' } }, { path: 'countup', name: `${pre}countup`, component: () => import('@/pages/demo/components/countup'), meta: { ...meta, title: '数字动画' } }, + { path: 'editor-ueditor', name: `${pre}editor-ueditor`, component: () => import('@/pages/demo/components/editor-ueditor'), meta: { ...meta, title: 'UEditor' } }, { path: 'editor-quill', name: `${pre}editor-quill`, component: () => import('@/pages/demo/components/editor-quill'), meta: { ...meta, title: '富文本编辑器' } }, { path: 'editor-simpleMDE', name: `${pre}editor-simpleMDE`, component: () => import('@/pages/demo/components/editor-simpleMDE'), meta: { ...meta, title: 'markdown编辑器' } }, { path: 'highlight', name: `${pre}highlight`, component: () => import('@/pages/demo/components/highlight'), meta: { ...meta, title: '代码高亮组件' } },