baidu_ueditor_rails5 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/app/assets/javascripts/baidu_ueditor.js +1 -1
- data/app/assets/javascripts/ueditor/dialogs/anchor/anchor.html +40 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/attachment.css +681 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/attachment.html +60 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/attachment.js +754 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_default.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_jpg.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/images/alignicon.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/images/alignicon.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/images/bg.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/images/file-icons.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/images/file-icons.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/images/icons.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/images/icons.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/images/image.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/images/progress.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/images/success.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/attachment/images/success.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/background/background.css +94 -0
- data/app/assets/javascripts/ueditor/dialogs/background/background.html +56 -0
- data/app/assets/javascripts/ueditor/dialogs/background/background.js +376 -0
- data/app/assets/javascripts/ueditor/dialogs/background/images/bg.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/background/images/success.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/charts/chart.config.js +65 -0
- data/app/assets/javascripts/ueditor/dialogs/charts/charts.css +165 -0
- data/app/assets/javascripts/ueditor/dialogs/charts/charts.html +89 -0
- data/app/assets/javascripts/ueditor/dialogs/charts/charts.js +519 -0
- data/app/assets/javascripts/ueditor/dialogs/charts/images/charts0.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/charts/images/charts1.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/charts/images/charts2.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/charts/images/charts3.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/charts/images/charts4.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/charts/images/charts5.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/emotion/emotion.css +43 -0
- data/app/assets/javascripts/ueditor/dialogs/emotion/emotion.html +54 -0
- data/app/assets/javascripts/ueditor/dialogs/emotion/emotion.js +186 -0
- data/app/assets/javascripts/ueditor/dialogs/emotion/images/0.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/emotion/images/bface.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/emotion/images/cface.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/emotion/images/fface.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/emotion/images/jxface2.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/emotion/images/neweditor-tab-bg.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/emotion/images/tface.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/emotion/images/wface.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/emotion/images/yface.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/gmap/gmap.html +89 -0
- data/app/assets/javascripts/ueditor/dialogs/help/help.css +7 -0
- data/app/assets/javascripts/ueditor/dialogs/help/help.html +82 -0
- data/app/assets/javascripts/ueditor/dialogs/help/help.js +56 -0
- data/app/assets/javascripts/ueditor/dialogs/image/image.css +894 -0
- data/app/assets/javascripts/ueditor/dialogs/image/image.html +120 -0
- data/app/assets/javascripts/ueditor/dialogs/image/image.js +1142 -0
- data/app/assets/javascripts/ueditor/dialogs/image/images/alignicon.jpg +0 -0
- data/app/assets/javascripts/ueditor/dialogs/image/images/bg.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/image/images/icons.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/image/images/icons.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/image/images/image.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/image/images/progress.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/image/images/success.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/image/images/success.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/insertframe/insertframe.html +98 -0
- data/app/assets/javascripts/ueditor/dialogs/internal.js +81 -0
- data/app/assets/javascripts/ueditor/dialogs/link/link.html +126 -0
- data/app/assets/javascripts/ueditor/dialogs/map/map.html +135 -0
- data/app/assets/javascripts/ueditor/dialogs/map/show.html +118 -0
- data/app/assets/javascripts/ueditor/dialogs/music/music.css +30 -0
- data/app/assets/javascripts/ueditor/dialogs/music/music.html +32 -0
- data/app/assets/javascripts/ueditor/dialogs/music/music.js +192 -0
- data/app/assets/javascripts/ueditor/dialogs/preview/preview.html +40 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/addimg.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/brush.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/delimg.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/delimgH.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/empty.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/emptyH.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/eraser.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/redo.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/redoH.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/scale.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/scaleH.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/size.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/undo.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/images/undoH.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/scrawl.css +72 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/scrawl.html +95 -0
- data/app/assets/javascripts/ueditor/dialogs/scrawl/scrawl.js +671 -0
- data/app/assets/javascripts/ueditor/dialogs/searchreplace/searchreplace.html +102 -0
- data/app/assets/javascripts/ueditor/dialogs/searchreplace/searchreplace.js +164 -0
- data/app/assets/javascripts/ueditor/dialogs/snapscreen/snapscreen.html +58 -0
- data/app/assets/javascripts/ueditor/dialogs/spechars/spechars.html +21 -0
- data/app/assets/javascripts/ueditor/dialogs/spechars/spechars.js +57 -0
- data/app/assets/javascripts/ueditor/dialogs/table/dragicon.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/table/edittable.css +84 -0
- data/app/assets/javascripts/ueditor/dialogs/table/edittable.html +64 -0
- data/app/assets/javascripts/ueditor/dialogs/table/edittable.js +237 -0
- data/app/assets/javascripts/ueditor/dialogs/table/edittd.html +61 -0
- data/app/assets/javascripts/ueditor/dialogs/table/edittip.html +33 -0
- data/app/assets/javascripts/ueditor/dialogs/template/config.js +42 -0
- data/app/assets/javascripts/ueditor/dialogs/template/images/bg.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/template/images/pre0.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/template/images/pre1.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/template/images/pre2.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/template/images/pre3.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/template/images/pre4.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/template/template.css +18 -0
- data/app/assets/javascripts/ueditor/dialogs/template/template.html +26 -0
- data/app/assets/javascripts/ueditor/dialogs/template/template.js +53 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/bg.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/center_focus.jpg +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/file-icons.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/file-icons.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/icons.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/icons.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/image.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/left_focus.jpg +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/none_focus.jpg +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/progress.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/right_focus.jpg +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/success.gif +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/images/success.png +0 -0
- data/app/assets/javascripts/ueditor/dialogs/video/video.css +635 -0
- data/app/assets/javascripts/ueditor/dialogs/video/video.html +86 -0
- data/app/assets/javascripts/ueditor/dialogs/video/video.js +791 -0
- data/app/assets/javascripts/ueditor/dialogs/webapp/webapp.html +53 -0
- data/app/assets/javascripts/ueditor/dialogs/wordimage/fClipboard_ueditor.swf +0 -0
- data/app/assets/javascripts/ueditor/dialogs/wordimage/imageUploader.swf +0 -0
- data/app/assets/javascripts/ueditor/dialogs/wordimage/tangram.js +1495 -0
- data/app/assets/javascripts/ueditor/dialogs/wordimage/wordimage.html +111 -0
- data/app/assets/javascripts/ueditor/dialogs/wordimage/wordimage.js +157 -0
- data/app/assets/javascripts/ueditor/index.html +175 -0
- data/app/assets/javascripts/ueditor/lang/en/en.js +684 -0
- data/app/assets/javascripts/ueditor/lang/en/images/addimage.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/alldeletebtnhoverskin.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/alldeletebtnupskin.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/background.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/button.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/copy.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/deletedisable.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/deleteenable.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/listbackground.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/localimage.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/music.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/rotateleftdisable.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/rotateleftenable.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/rotaterightdisable.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/rotaterightenable.png +0 -0
- data/app/assets/javascripts/ueditor/lang/en/images/upload.png +0 -0
- data/app/assets/javascripts/ueditor/lang/zh-cn/images/copy.png +0 -0
- data/app/assets/javascripts/ueditor/lang/zh-cn/images/localimage.png +0 -0
- data/app/assets/javascripts/ueditor/lang/zh-cn/images/music.png +0 -0
- data/app/assets/javascripts/ueditor/lang/zh-cn/images/upload.png +0 -0
- data/app/assets/javascripts/ueditor/lang/zh-cn/zh-cn.js +669 -0
- data/app/assets/javascripts/ueditor/themes/default/css/ueditor.css +1903 -0
- data/app/assets/javascripts/ueditor/themes/default/css/ueditor.min.css +8 -0
- data/app/assets/javascripts/ueditor/themes/default/dialogbase.css +100 -0
- data/app/assets/javascripts/ueditor/themes/default/images/anchor.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/arrow.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/arrow_down.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/arrow_up.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/button-bg.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/cancelbutton.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/charts.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/cursor_h.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/cursor_h.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/cursor_v.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/cursor_v.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/dialog-title-bg.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/filescan.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/highlighted.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/icons-all.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/icons.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/icons.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/loaderror.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/loading.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/lock.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/neweditor-tab-bg.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/pagebreak.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/scale.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/sortable.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/spacer.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/sparator_v.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/table-cell-align.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/tangram-colorpicker.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/toolbar_bg.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/unhighlighted.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/upload.png +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/videologo.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/word.gif +0 -0
- data/app/assets/javascripts/ueditor/themes/default/images/wordpaste.png +0 -0
- data/app/assets/javascripts/ueditor/themes/iframe.css +1 -0
- data/app/assets/javascripts/ueditor/third-party/SyntaxHighlighter/shCore.js +3655 -0
- data/app/assets/javascripts/ueditor/third-party/SyntaxHighlighter/shCoreDefault.css +1 -0
- data/app/assets/javascripts/ueditor/third-party/codemirror/codemirror.css +104 -0
- data/app/assets/javascripts/ueditor/third-party/codemirror/codemirror.js +3581 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/adapters/mootools-adapter.js +13 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/adapters/mootools-adapter.src.js +313 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/adapters/prototype-adapter.js +15 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/adapters/prototype-adapter.src.js +316 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/adapters/standalone-framework.js +17 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/adapters/standalone-framework.src.js +583 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/highcharts-more.js +50 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/highcharts-more.src.js +2430 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/highcharts.js +283 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/highcharts.src.js +16974 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/annotations.js +7 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/annotations.src.js +401 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/canvas-tools.js +133 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/canvas-tools.src.js +3113 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/data.js +17 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/data.src.js +582 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/drilldown.js +11 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/drilldown.src.js +447 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/exporting.js +22 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/exporting.src.js +709 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/funnel.js +12 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/funnel.src.js +289 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/heatmap.js +1 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/heatmap.src.js +53 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/map.js +27 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/map.src.js +1002 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/no-data-to-display.js +12 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/modules/no-data-to-display.src.js +128 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/themes/dark-blue.js +254 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/themes/dark-green.js +255 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/themes/gray.js +257 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/themes/grid.js +103 -0
- data/app/assets/javascripts/ueditor/third-party/highcharts/themes/skies.js +89 -0
- data/app/assets/javascripts/ueditor/third-party/jquery-1.10.2.js +9789 -0
- data/app/assets/javascripts/ueditor/third-party/jquery-1.10.2.min.js +6 -0
- data/app/assets/javascripts/ueditor/third-party/jquery-1.10.2.min.map +1 -0
- data/app/assets/javascripts/ueditor/third-party/snapscreen/UEditorSnapscreen.exe +0 -0
- data/app/assets/javascripts/ueditor/third-party/video-js/font/vjs.eot +0 -0
- data/app/assets/javascripts/ueditor/third-party/video-js/font/vjs.svg +65 -0
- data/app/assets/javascripts/ueditor/third-party/video-js/font/vjs.ttf +0 -0
- data/app/assets/javascripts/ueditor/third-party/video-js/font/vjs.woff +0 -0
- data/app/assets/javascripts/ueditor/third-party/video-js/video-js.css +766 -0
- data/app/assets/javascripts/ueditor/third-party/video-js/video-js.min.css +5 -0
- data/app/assets/javascripts/ueditor/third-party/video-js/video-js.swf +0 -0
- data/app/assets/javascripts/ueditor/third-party/video-js/video.dev.js +7108 -0
- data/app/assets/javascripts/ueditor/third-party/video-js/video.js +129 -0
- data/app/assets/javascripts/ueditor/third-party/webuploader/Uploader.swf +0 -0
- data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.css +28 -0
- data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.custom.js +5670 -0
- data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.custom.min.js +2 -0
- data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.flashonly.js +4176 -0
- data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.flashonly.min.js +2 -0
- data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.html5only.js +5559 -0
- data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.html5only.min.js +2 -0
- data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.js +6733 -0
- data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.min.js +2 -0
- data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.withoutimage.js +4593 -0
- data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.withoutimage.min.js +2 -0
- data/app/assets/javascripts/ueditor/third-party/xss.min.js +1 -0
- data/app/assets/javascripts/ueditor/third-party/zeroclipboard/ZeroClipboard.js +1256 -0
- data/app/assets/javascripts/ueditor/third-party/zeroclipboard/ZeroClipboard.min.js +9 -0
- data/app/assets/javascripts/ueditor/third-party/zeroclipboard/ZeroClipboard.swf +0 -0
- data/app/assets/javascripts/ueditor/ueditor.all.js +29568 -0
- data/app/assets/javascripts/ueditor/ueditor.all.min.js +18 -0
- data/app/assets/javascripts/ueditor/ueditor.config.js +497 -0
- data/app/assets/javascripts/ueditor/ueditor.parse.js +1022 -0
- data/app/assets/javascripts/ueditor/ueditor.parse.min.js +7 -0
- data/app/assets/javascripts/{ueditor → ueditor_custom}/preinit.js.erb +0 -0
- data/lib/baidu_ueditor_rails/version.rb +1 -1
- metadata +292 -21
@@ -0,0 +1,2 @@
|
|
1
|
+
/* WebUploader 0.1.2 */!function(a,b){var c,d={},e=function(a,b){var c,d,e;if("string"==typeof a)return h(a);for(c=[],d=a.length,e=0;d>e;e++)c.push(h(a[e]));return b.apply(null,c)},f=function(a,b,c){2===arguments.length&&(c=b,b=null),e(b||[],function(){g(a,c,arguments)})},g=function(a,b,c){var f,g={exports:b};"function"==typeof b&&(c.length||(c=[e,g.exports,g]),f=b.apply(null,c),void 0!==f&&(g.exports=f)),d[a]=g.exports},h=function(b){var c=d[b]||a[b];if(!c)throw new Error("`"+b+"` is undefined");return c},i=function(a){var b,c,e,f,g,h;h=function(a){return a&&a.charAt(0).toUpperCase()+a.substr(1)};for(b in d)if(c=a,d.hasOwnProperty(b)){for(e=b.split("/"),g=h(e.pop());f=h(e.shift());)c[f]=c[f]||{},c=c[f];c[g]=d[b]}},j=b(a,f,e);i(j),"object"==typeof module&&"object"==typeof module.exports?module.exports=j:"function"==typeof define&&define.amd?define([],j):(c=a.WebUploader,a.WebUploader=j,a.WebUploader.noConflict=function(){a.WebUploader=c})}(this,function(a,b,c){return b("dollar-third",[],function(){return a.jQuery||a.Zepto}),b("dollar",["dollar-third"],function(a){return a}),b("promise-third",["dollar"],function(a){return{Deferred:a.Deferred,when:a.when,isPromise:function(a){return a&&"function"==typeof a.then}}}),b("promise",["promise-third"],function(a){return a}),b("base",["dollar","promise"],function(b,c){function d(a){return function(){return h.apply(a,arguments)}}function e(a,b){return function(){return a.apply(b,arguments)}}function f(a){var b;return Object.create?Object.create(a):(b=function(){},b.prototype=a,new b)}var g=function(){},h=Function.call;return{version:"0.1.2",$:b,Deferred:c.Deferred,isPromise:c.isPromise,when:c.when,browser:function(a){var b={},c=a.match(/WebKit\/([\d.]+)/),d=a.match(/Chrome\/([\d.]+)/)||a.match(/CriOS\/([\d.]+)/),e=a.match(/MSIE\s([\d\.]+)/)||a.match(/(?:trident)(?:.*rv:([\w.]+))?/i),f=a.match(/Firefox\/([\d.]+)/),g=a.match(/Safari\/([\d.]+)/),h=a.match(/OPR\/([\d.]+)/);return c&&(b.webkit=parseFloat(c[1])),d&&(b.chrome=parseFloat(d[1])),e&&(b.ie=parseFloat(e[1])),f&&(b.firefox=parseFloat(f[1])),g&&(b.safari=parseFloat(g[1])),h&&(b.opera=parseFloat(h[1])),b}(navigator.userAgent),os:function(a){var b={},c=a.match(/(?:Android);?[\s\/]+([\d.]+)?/),d=a.match(/(?:iPad|iPod|iPhone).*OS\s([\d_]+)/);return c&&(b.android=parseFloat(c[1])),d&&(b.ios=parseFloat(d[1].replace(/_/g,"."))),b}(navigator.userAgent),inherits:function(a,c,d){var e;return"function"==typeof c?(e=c,c=null):e=c&&c.hasOwnProperty("constructor")?c.constructor:function(){return a.apply(this,arguments)},b.extend(!0,e,a,d||{}),e.__super__=a.prototype,e.prototype=f(a.prototype),c&&b.extend(!0,e.prototype,c),e},noop:g,bindFn:e,log:function(){return a.console?e(console.log,console):g}(),nextTick:function(){return function(a){setTimeout(a,1)}}(),slice:d([].slice),guid:function(){var a=0;return function(b){for(var c=(+new Date).toString(32),d=0;5>d;d++)c+=Math.floor(65535*Math.random()).toString(32);return(b||"wu_")+c+(a++).toString(32)}}(),formatSize:function(a,b,c){var d;for(c=c||["B","K","M","G","TB"];(d=c.shift())&&a>1024;)a/=1024;return("B"===d?a:a.toFixed(b||2))+d}}}),b("mediator",["base"],function(a){function b(a,b,c,d){return f.grep(a,function(a){return!(!a||b&&a.e!==b||c&&a.cb!==c&&a.cb._cb!==c||d&&a.ctx!==d)})}function c(a,b,c){f.each((a||"").split(h),function(a,d){c(d,b)})}function d(a,b){for(var c,d=!1,e=-1,f=a.length;++e<f;)if(c=a[e],c.cb.apply(c.ctx2,b)===!1){d=!0;break}return!d}var e,f=a.$,g=[].slice,h=/\s+/;return e={on:function(a,b,d){var e,f=this;return b?(e=this._events||(this._events=[]),c(a,b,function(a,b){var c={e:a};c.cb=b,c.ctx=d,c.ctx2=d||f,c.id=e.length,e.push(c)}),this):this},once:function(a,b,d){var e=this;return b?(c(a,b,function(a,b){var c=function(){return e.off(a,c),b.apply(d||e,arguments)};c._cb=b,e.on(a,c,d)}),e):e},off:function(a,d,e){var g=this._events;return g?a||d||e?(c(a,d,function(a,c){f.each(b(g,a,c,e),function(){delete g[this.id]})}),this):(this._events=[],this):this},trigger:function(a){var c,e,f;return this._events&&a?(c=g.call(arguments,1),e=b(this._events,a),f=b(this._events,"all"),d(e,c)&&d(f,arguments)):this}},f.extend({installTo:function(a){return f.extend(a,e)}},e)}),b("uploader",["base","mediator"],function(a,b){function c(a){this.options=d.extend(!0,{},c.options,a),this._init(this.options)}var d=a.$;return c.options={},b.installTo(c.prototype),d.each({upload:"start-upload",stop:"stop-upload",getFile:"get-file",getFiles:"get-files",addFile:"add-file",addFiles:"add-file",sort:"sort-files",removeFile:"remove-file",skipFile:"skip-file",retry:"retry",isInProgress:"is-in-progress",makeThumb:"make-thumb",getDimension:"get-dimension",addButton:"add-btn",getRuntimeType:"get-runtime-type",refresh:"refresh",disable:"disable",enable:"enable",reset:"reset"},function(a,b){c.prototype[a]=function(){return this.request(b,arguments)}}),d.extend(c.prototype,{state:"pending",_init:function(a){var b=this;b.request("init",a,function(){b.state="ready",b.trigger("ready")})},option:function(a,b){var c=this.options;return arguments.length>1?void(d.isPlainObject(b)&&d.isPlainObject(c[a])?d.extend(c[a],b):c[a]=b):a?c[a]:c},getStats:function(){var a=this.request("get-stats");return{successNum:a.numOfSuccess,cancelNum:a.numOfCancel,invalidNum:a.numOfInvalid,uploadFailNum:a.numOfUploadFailed,queueNum:a.numOfQueue}},trigger:function(a){var c=[].slice.call(arguments,1),e=this.options,f="on"+a.substring(0,1).toUpperCase()+a.substring(1);return b.trigger.apply(this,arguments)===!1||d.isFunction(e[f])&&e[f].apply(this,c)===!1||d.isFunction(this[f])&&this[f].apply(this,c)===!1||b.trigger.apply(b,[this,a].concat(c))===!1?!1:!0},request:a.noop}),a.create=c.create=function(a){return new c(a)},a.Uploader=c,c}),b("runtime/runtime",["base","mediator"],function(a,b){function c(b){this.options=d.extend({container:document.body},b),this.uid=a.guid("rt_")}var d=a.$,e={},f=function(a){for(var b in a)if(a.hasOwnProperty(b))return b;return null};return d.extend(c.prototype,{getContainer:function(){var a,b,c=this.options;return this._container?this._container:(a=d(c.container||document.body),b=d(document.createElement("div")),b.attr("id","rt_"+this.uid),b.css({position:"absolute",top:"0px",left:"0px",width:"1px",height:"1px",overflow:"hidden"}),a.append(b),a.addClass("webuploader-container"),this._container=b,b)},init:a.noop,exec:a.noop,destroy:function(){this._container&&this._container.parentNode.removeChild(this.__container),this.off()}}),c.orders="html5,flash",c.addRuntime=function(a,b){e[a]=b},c.hasRuntime=function(a){return!!(a?e[a]:f(e))},c.create=function(a,b){var g,h;if(b=b||c.orders,d.each(b.split(/\s*,\s*/g),function(){return e[this]?(g=this,!1):void 0}),g=g||f(e),!g)throw new Error("Runtime Error");return h=new e[g](a)},b.installTo(c.prototype),c}),b("runtime/client",["base","mediator","runtime/runtime"],function(a,b,c){function d(b,d){var f,g=a.Deferred();this.uid=a.guid("client_"),this.runtimeReady=function(a){return g.done(a)},this.connectRuntime=function(b,h){if(f)throw new Error("already connected!");return g.done(h),"string"==typeof b&&e.get(b)&&(f=e.get(b)),f=f||e.get(null,d),f?(a.$.extend(f.options,b),f.__promise.then(g.resolve),f.__client++):(f=c.create(b,b.runtimeOrder),f.__promise=g.promise(),f.once("ready",g.resolve),f.init(),e.add(f),f.__client=1),d&&(f.__standalone=d),f},this.getRuntime=function(){return f},this.disconnectRuntime=function(){f&&(f.__client--,f.__client<=0&&(e.remove(f),delete f.__promise,f.destroy()),f=null)},this.exec=function(){if(f){var c=a.slice(arguments);return b&&c.unshift(b),f.exec.apply(this,c)}},this.getRuid=function(){return f&&f.uid},this.destroy=function(a){return function(){a&&a.apply(this,arguments),this.trigger("destroy"),this.off(),this.exec("destroy"),this.disconnectRuntime()}}(this.destroy)}var e;return e=function(){var a={};return{add:function(b){a[b.uid]=b},get:function(b,c){var d;if(b)return a[b];for(d in a)if(!c||!a[d].__standalone)return a[d];return null},remove:function(b){delete a[b.uid]}}}(),b.installTo(d.prototype),d}),b("lib/dnd",["base","mediator","runtime/client"],function(a,b,c){function d(a){a=this.options=e.extend({},d.options,a),a.container=e(a.container),a.container.length&&c.call(this,"DragAndDrop")}var e=a.$;return d.options={accept:null,disableGlobalDnd:!1},a.inherits(c,{constructor:d,init:function(){var a=this;a.connectRuntime(a.options,function(){a.exec("init"),a.trigger("ready")})},destroy:function(){this.disconnectRuntime()}}),b.installTo(d.prototype),d}),b("widgets/widget",["base","uploader"],function(a,b){function c(a){if(!a)return!1;var b=a.length,c=e.type(a);return 1===a.nodeType&&b?!0:"array"===c||"function"!==c&&"string"!==c&&(0===b||"number"==typeof b&&b>0&&b-1 in a)}function d(a){this.owner=a,this.options=a.options}var e=a.$,f=b.prototype._init,g={},h=[];return e.extend(d.prototype,{init:a.noop,invoke:function(a,b){var c=this.responseMap;return c&&a in c&&c[a]in this&&e.isFunction(this[c[a]])?this[c[a]].apply(this,b):g},request:function(){return this.owner.request.apply(this.owner,arguments)}}),e.extend(b.prototype,{_init:function(){var a=this,b=a._widgets=[];return e.each(h,function(c,d){b.push(new d(a))}),f.apply(a,arguments)},request:function(b,d,e){var f,h,i,j,k=0,l=this._widgets,m=l.length,n=[],o=[];for(d=c(d)?d:[d];m>k;k++)f=l[k],h=f.invoke(b,d),h!==g&&(a.isPromise(h)?o.push(h):n.push(h));return e||o.length?(i=a.when.apply(a,o),j=i.pipe?"pipe":"then",i[j](function(){var b=a.Deferred(),c=arguments;return setTimeout(function(){b.resolve.apply(b,c)},1),b.promise()})[j](e||a.noop)):n[0]}}),b.register=d.register=function(b,c){var f,g={init:"init"};return 1===arguments.length?(c=b,c.responseMap=g):c.responseMap=e.extend(g,b),f=a.inherits(d,c),h.push(f),f},d}),b("widgets/filednd",["base","uploader","lib/dnd","widgets/widget"],function(a,b,c){var d=a.$;return b.options.dnd="",b.register({init:function(b){if(b.dnd&&"html5"===this.request("predict-runtime-type")){var e,f=this,g=a.Deferred(),h=d.extend({},{disableGlobalDnd:b.disableGlobalDnd,container:b.dnd,accept:b.accept});return e=new c(h),e.once("ready",g.resolve),e.on("drop",function(a){f.request("add-file",[a])}),e.on("accept",function(a){return f.owner.trigger("dndAccept",a)}),e.init(),g.promise()}}})}),b("lib/filepaste",["base","mediator","runtime/client"],function(a,b,c){function d(a){a=this.options=e.extend({},a),a.container=e(a.container||document.body),c.call(this,"FilePaste")}var e=a.$;return a.inherits(c,{constructor:d,init:function(){var a=this;a.connectRuntime(a.options,function(){a.exec("init"),a.trigger("ready")})},destroy:function(){this.exec("destroy"),this.disconnectRuntime(),this.off()}}),b.installTo(d.prototype),d}),b("widgets/filepaste",["base","uploader","lib/filepaste","widgets/widget"],function(a,b,c){var d=a.$;return b.register({init:function(b){if(b.paste&&"html5"===this.request("predict-runtime-type")){var e,f=this,g=a.Deferred(),h=d.extend({},{container:b.paste,accept:b.accept});return e=new c(h),e.once("ready",g.resolve),e.on("paste",function(a){f.owner.request("add-file",[a])}),e.init(),g.promise()}}})}),b("lib/blob",["base","runtime/client"],function(a,b){function c(a,c){var d=this;d.source=c,d.ruid=a,b.call(d,"Blob"),this.uid=c.uid||this.uid,this.type=c.type||"",this.size=c.size||0,a&&d.connectRuntime(a)}return a.inherits(b,{constructor:c,slice:function(a,b){return this.exec("slice",a,b)},getSource:function(){return this.source}}),c}),b("lib/file",["base","lib/blob"],function(a,b){function c(a,c){var f;b.apply(this,arguments),this.name=c.name||"untitled"+d++,f=e.exec(c.name)?RegExp.$1.toLowerCase():"",!f&&this.type&&(f=/\/(jpg|jpeg|png|gif|bmp)$/i.exec(this.type)?RegExp.$1.toLowerCase():"",this.name+="."+f),!this.type&&~"jpg,jpeg,png,gif,bmp".indexOf(f)&&(this.type="image/"+("jpg"===f?"jpeg":f)),this.ext=f,this.lastModifiedDate=c.lastModifiedDate||(new Date).toLocaleString()}var d=1,e=/\.([^.]+)$/;return a.inherits(b,c)}),b("lib/filepicker",["base","runtime/client","lib/file"],function(b,c,d){function e(a){if(a=this.options=f.extend({},e.options,a),a.container=f(a.id),!a.container.length)throw new Error("按钮指定错误");a.innerHTML=a.innerHTML||a.label||a.container.html()||"",a.button=f(a.button||document.createElement("div")),a.button.html(a.innerHTML),a.container.html(a.button),c.call(this,"FilePicker",!0)}var f=b.$;return e.options={button:null,container:null,label:null,innerHTML:null,multiple:!0,accept:null,name:"file"},b.inherits(c,{constructor:e,init:function(){var b=this,c=b.options,e=c.button;e.addClass("webuploader-pick"),b.on("all",function(a){var g;switch(a){case"mouseenter":e.addClass("webuploader-pick-hover");break;case"mouseleave":e.removeClass("webuploader-pick-hover");break;case"change":g=b.exec("getFiles"),b.trigger("select",f.map(g,function(a){return a=new d(b.getRuid(),a),a._refer=c.container,a}),c.container)}}),b.connectRuntime(c,function(){b.refresh(),b.exec("init",c),b.trigger("ready")}),f(a).on("resize",function(){b.refresh()})},refresh:function(){var a=this.getRuntime().getContainer(),b=this.options.button,c=b.outerWidth?b.outerWidth():b.width(),d=b.outerHeight?b.outerHeight():b.height(),e=b.offset();c&&d&&a.css({bottom:"auto",right:"auto",width:c+"px",height:d+"px"}).offset(e)},enable:function(){var a=this.options.button;a.removeClass("webuploader-pick-disable"),this.refresh()},disable:function(){var a=this.options.button;this.getRuntime().getContainer().css({top:"-99999px"}),a.addClass("webuploader-pick-disable")},destroy:function(){this.runtime&&(this.exec("destroy"),this.disconnectRuntime())}}),e}),b("widgets/filepicker",["base","uploader","lib/filepicker","widgets/widget"],function(a,b,c){var d=a.$;return d.extend(b.options,{pick:null,accept:null}),b.register({"add-btn":"addButton",refresh:"refresh",disable:"disable",enable:"enable"},{init:function(a){return this.pickers=[],a.pick&&this.addButton(a.pick)},refresh:function(){d.each(this.pickers,function(){this.refresh()})},addButton:function(b){var e,f,g,h=this,i=h.options,j=i.accept;if(b)return g=a.Deferred(),d.isPlainObject(b)||(b={id:b}),e=d.extend({},b,{accept:d.isPlainObject(j)?[j]:j,swf:i.swf,runtimeOrder:i.runtimeOrder}),f=new c(e),f.once("ready",g.resolve),f.on("select",function(a){h.owner.request("add-file",[a])}),f.init(),this.pickers.push(f),g.promise()},disable:function(){d.each(this.pickers,function(){this.disable()})},enable:function(){d.each(this.pickers,function(){this.enable()})}})}),b("file",["base","mediator"],function(a,b){function c(){return f+g++}function d(a){this.name=a.name||"Untitled",this.size=a.size||0,this.type=a.type||"application",this.lastModifiedDate=a.lastModifiedDate||1*new Date,this.id=c(),this.ext=h.exec(this.name)?RegExp.$1:"",this.statusText="",i[this.id]=d.Status.INITED,this.source=a,this.loaded=0,this.on("error",function(a){this.setStatus(d.Status.ERROR,a)})}var e=a.$,f="WU_FILE_",g=0,h=/\.([^.]+)$/,i={};return e.extend(d.prototype,{setStatus:function(a,b){var c=i[this.id];"undefined"!=typeof b&&(this.statusText=b),a!==c&&(i[this.id]=a,this.trigger("statuschange",a,c))},getStatus:function(){return i[this.id]},getSource:function(){return this.source},destory:function(){delete i[this.id]}}),b.installTo(d.prototype),d.Status={INITED:"inited",QUEUED:"queued",PROGRESS:"progress",ERROR:"error",COMPLETE:"complete",CANCELLED:"cancelled",INTERRUPT:"interrupt",INVALID:"invalid"},d}),b("queue",["base","mediator","file"],function(a,b,c){function d(){this.stats={numOfQueue:0,numOfSuccess:0,numOfCancel:0,numOfProgress:0,numOfUploadFailed:0,numOfInvalid:0},this._queue=[],this._map={}}var e=a.$,f=c.Status;return e.extend(d.prototype,{append:function(a){return this._queue.push(a),this._fileAdded(a),this},prepend:function(a){return this._queue.unshift(a),this._fileAdded(a),this},getFile:function(a){return"string"!=typeof a?a:this._map[a]},fetch:function(a){var b,c,d=this._queue.length;for(a=a||f.QUEUED,b=0;d>b;b++)if(c=this._queue[b],a===c.getStatus())return c;return null},sort:function(a){"function"==typeof a&&this._queue.sort(a)},getFiles:function(){for(var a,b=[].slice.call(arguments,0),c=[],d=0,f=this._queue.length;f>d;d++)a=this._queue[d],(!b.length||~e.inArray(a.getStatus(),b))&&c.push(a);return c},_fileAdded:function(a){var b=this,c=this._map[a.id];c||(this._map[a.id]=a,a.on("statuschange",function(a,c){b._onFileStatusChange(a,c)})),a.setStatus(f.QUEUED)},_onFileStatusChange:function(a,b){var c=this.stats;switch(b){case f.PROGRESS:c.numOfProgress--;break;case f.QUEUED:c.numOfQueue--;break;case f.ERROR:c.numOfUploadFailed--;break;case f.INVALID:c.numOfInvalid--}switch(a){case f.QUEUED:c.numOfQueue++;break;case f.PROGRESS:c.numOfProgress++;break;case f.ERROR:c.numOfUploadFailed++;break;case f.COMPLETE:c.numOfSuccess++;break;case f.CANCELLED:c.numOfCancel++;break;case f.INVALID:c.numOfInvalid++}}}),b.installTo(d.prototype),d}),b("widgets/queue",["base","uploader","queue","file","lib/file","runtime/client","widgets/widget"],function(a,b,c,d,e,f){var g=a.$,h=/\.\w+$/,i=d.Status;return b.register({"sort-files":"sortFiles","add-file":"addFiles","get-file":"getFile","fetch-file":"fetchFile","get-stats":"getStats","get-files":"getFiles","remove-file":"removeFile",retry:"retry",reset:"reset","accept-file":"acceptFile"},{init:function(b){var d,e,h,i,j,k,l,m=this;if(g.isPlainObject(b.accept)&&(b.accept=[b.accept]),b.accept){for(j=[],h=0,e=b.accept.length;e>h;h++)i=b.accept[h].extensions,i&&j.push(i);j.length&&(k="\\."+j.join(",").replace(/,/g,"$|\\.").replace(/\*/g,".*")+"$"),m.accept=new RegExp(k,"i")}return m.queue=new c,m.stats=m.queue.stats,"html5"===this.request("predict-runtime-type")?(d=a.Deferred(),l=new f("Placeholder"),l.connectRuntime({runtimeOrder:"html5"},function(){m._ruid=l.getRuid(),d.resolve()}),d.promise()):void 0},_wrapFile:function(a){if(!(a instanceof d)){if(!(a instanceof e)){if(!this._ruid)throw new Error("Can't add external files.");a=new e(this._ruid,a)}a=new d(a)}return a},acceptFile:function(a){var b=!a||a.size<6||this.accept&&h.exec(a.name)&&!this.accept.test(a.name);return!b},_addFile:function(a){var b=this;return a=b._wrapFile(a),b.owner.trigger("beforeFileQueued",a)?b.acceptFile(a)?(b.queue.append(a),b.owner.trigger("fileQueued",a),a):void b.owner.trigger("error","Q_TYPE_DENIED",a):void 0},getFile:function(a){return this.queue.getFile(a)},addFiles:function(a){var b=this;a.length||(a=[a]),a=g.map(a,function(a){return b._addFile(a)}),b.owner.trigger("filesQueued",a),b.options.auto&&b.request("start-upload")},getStats:function(){return this.stats},removeFile:function(a){var b=this;a=a.id?a:b.queue.getFile(a),a.setStatus(i.CANCELLED),b.owner.trigger("fileDequeued",a)},getFiles:function(){return this.queue.getFiles.apply(this.queue,arguments)},fetchFile:function(){return this.queue.fetch.apply(this.queue,arguments)},retry:function(a,b){var c,d,e,f=this;if(a)return a=a.id?a:f.queue.getFile(a),a.setStatus(i.QUEUED),void(b||f.request("start-upload"));for(c=f.queue.getFiles(i.ERROR),d=0,e=c.length;e>d;d++)a=c[d],a.setStatus(i.QUEUED);f.request("start-upload")},sortFiles:function(){return this.queue.sort.apply(this.queue,arguments)},reset:function(){this.queue=new c,this.stats=this.queue.stats}})}),b("widgets/runtime",["uploader","runtime/runtime","widgets/widget"],function(a,b){return a.support=function(){return b.hasRuntime.apply(b,arguments)},a.register({"predict-runtime-type":"predictRuntmeType"},{init:function(){if(!this.predictRuntmeType())throw Error("Runtime Error")},predictRuntmeType:function(){var a,c,d=this.options.runtimeOrder||b.orders,e=this.type;if(!e)for(d=d.split(/\s*,\s*/g),a=0,c=d.length;c>a;a++)if(b.hasRuntime(d[a])){this.type=e=d[a];break}return e}})}),b("lib/transport",["base","runtime/client","mediator"],function(a,b,c){function d(a){var c=this;a=c.options=e.extend(!0,{},d.options,a||{}),b.call(this,"Transport"),this._blob=null,this._formData=a.formData||{},this._headers=a.headers||{},this.on("progress",this._timeout),this.on("load error",function(){c.trigger("progress",1),clearTimeout(c._timer)})}var e=a.$;return d.options={server:"",method:"POST",withCredentials:!1,fileVal:"file",timeout:12e4,formData:{},headers:{},sendAsBinary:!1},e.extend(d.prototype,{appendBlob:function(a,b,c){var d=this,e=d.options;d.getRuid()&&d.disconnectRuntime(),d.connectRuntime(b.ruid,function(){d.exec("init")}),d._blob=b,e.fileVal=a||e.fileVal,e.filename=c||e.filename},append:function(a,b){"object"==typeof a?e.extend(this._formData,a):this._formData[a]=b},setRequestHeader:function(a,b){"object"==typeof a?e.extend(this._headers,a):this._headers[a]=b},send:function(a){this.exec("send",a),this._timeout()},abort:function(){return clearTimeout(this._timer),this.exec("abort")},destroy:function(){this.trigger("destroy"),this.off(),this.exec("destroy"),this.disconnectRuntime()},getResponse:function(){return this.exec("getResponse")},getResponseAsJson:function(){return this.exec("getResponseAsJson")},getStatus:function(){return this.exec("getStatus")},_timeout:function(){var a=this,b=a.options.timeout;b&&(clearTimeout(a._timer),a._timer=setTimeout(function(){a.abort(),a.trigger("error","timeout")},b))}}),c.installTo(d.prototype),d}),b("widgets/upload",["base","uploader","file","lib/transport","widgets/widget"],function(a,b,c,d){function e(a,b){for(var c,d=[],e=a.source,f=e.size,g=b?Math.ceil(f/b):1,h=0,i=0;g>i;)c=Math.min(b,f-h),d.push({file:a,start:h,end:b?h+c:f,total:f,chunks:g,chunk:i++}),h+=c;return a.blocks=d.concat(),a.remaning=d.length,{file:a,has:function(){return!!d.length},fetch:function(){return d.shift()}}}var f=a.$,g=a.isPromise,h=c.Status;f.extend(b.options,{prepareNextFile:!1,chunked:!1,chunkSize:5242880,chunkRetry:2,threads:3,formData:null}),b.register({"start-upload":"start","stop-upload":"stop","skip-file":"skipFile","is-in-progress":"isInProgress"},{init:function(){var b=this.owner;this.runing=!1,this.pool=[],this.pending=[],this.remaning=0,this.__tick=a.bindFn(this._tick,this),b.on("uploadComplete",function(a){a.blocks&&f.each(a.blocks,function(a,b){b.transport&&(b.transport.abort(),b.transport.destroy()),delete b.transport}),delete a.blocks,delete a.remaning})},start:function(){var b=this;f.each(b.request("get-files",h.INVALID),function(){b.request("remove-file",this)}),b.runing||(b.runing=!0,f.each(b.pool,function(a,c){var d=c.file;d.getStatus()===h.INTERRUPT&&(d.setStatus(h.PROGRESS),b._trigged=!1,c.transport&&c.transport.send())}),b._trigged=!1,b.owner.trigger("startUpload"),a.nextTick(b.__tick))},stop:function(a){var b=this;b.runing!==!1&&(b.runing=!1,a&&f.each(b.pool,function(a,b){b.transport&&b.transport.abort(),b.file.setStatus(h.INTERRUPT)}),b.owner.trigger("stopUpload"))},isInProgress:function(){return!!this.runing},getStats:function(){return this.request("get-stats")},skipFile:function(a,b){a=this.request("get-file",a),a.setStatus(b||h.COMPLETE),a.skipped=!0,a.blocks&&f.each(a.blocks,function(a,b){var c=b.transport;c&&(c.abort(),c.destroy(),delete b.transport)}),this.owner.trigger("uploadSkip",a)},_tick:function(){var b,c,d=this,e=d.options;return d._promise?d._promise.always(d.__tick):void(d.pool.length<e.threads&&(c=d._nextBlock())?(d._trigged=!1,b=function(b){d._promise=null,b&&b.file&&d._startSend(b),a.nextTick(d.__tick)},d._promise=g(c)?c.always(b):b(c)):d.remaning||d.getStats().numOfQueue||(d.runing=!1,d._trigged||a.nextTick(function(){d.owner.trigger("uploadFinished")}),d._trigged=!0))},_nextBlock:function(){var a,b,c=this,d=c._act,f=c.options;return d&&d.has()&&d.file.getStatus()===h.PROGRESS?(f.prepareNextFile&&!c.pending.length&&c._prepareNextFile(),d.fetch()):c.runing?(!c.pending.length&&c.getStats().numOfQueue&&c._prepareNextFile(),a=c.pending.shift(),b=function(a){return a?(d=e(a,f.chunked?f.chunkSize:0),c._act=d,d.fetch()):null},g(a)?a[a.pipe?"pipe":"then"](b):b(a)):void 0},_prepareNextFile:function(){var a,b=this,c=b.request("fetch-file"),d=b.pending;c&&(a=b.request("before-send-file",c,function(){return c.getStatus()===h.QUEUED?(b.owner.trigger("uploadStart",c),c.setStatus(h.PROGRESS),c):b._finishFile(c)}),a.done(function(){var b=f.inArray(a,d);~b&&d.splice(b,1,c)}),a.fail(function(a){c.setStatus(h.ERROR,a),b.owner.trigger("uploadError",c,a),b.owner.trigger("uploadComplete",c)}),d.push(a))},_popBlock:function(a){var b=f.inArray(a,this.pool);this.pool.splice(b,1),a.file.remaning--,this.remaning--},_startSend:function(b){var c,d=this,e=b.file;d.pool.push(b),d.remaning++,b.blob=1===b.chunks?e.source:e.source.slice(b.start,b.end),c=d.request("before-send",b,function(){e.getStatus()===h.PROGRESS?d._doSend(b):(d._popBlock(b),a.nextTick(d.__tick))}),c.fail(function(){1===e.remaning?d._finishFile(e).always(function(){b.percentage=1,d._popBlock(b),d.owner.trigger("uploadComplete",e),a.nextTick(d.__tick)}):(b.percentage=1,d._popBlock(b),a.nextTick(d.__tick))})},_doSend:function(b){var c,e,g=this,i=g.owner,j=g.options,k=b.file,l=new d(j),m=f.extend({},j.formData),n=f.extend({},j.headers);b.transport=l,l.on("destroy",function(){delete b.transport,g._popBlock(b),a.nextTick(g.__tick)}),l.on("progress",function(a){var c=0,d=0;c=b.percentage=a,b.chunks>1&&(f.each(k.blocks,function(a,b){d+=(b.percentage||0)*(b.end-b.start)}),c=d/k.size),i.trigger("uploadProgress",k,c||0)}),c=function(a){var c;return e=l.getResponseAsJson()||{},e._raw=l.getResponse(),c=function(b){a=b},i.trigger("uploadAccept",b,e,c)||(a=a||"server"),a},l.on("error",function(a,d){b.retried=b.retried||0,b.chunks>1&&~"http,abort".indexOf(a)&&b.retried<j.chunkRetry?(b.retried++,l.send()):(d||"server"!==a||(a=c(a)),k.setStatus(h.ERROR,a),i.trigger("uploadError",k,a),i.trigger("uploadComplete",k))}),l.on("load",function(){var a;return(a=c())?void l.trigger("error",a,!0):void(1===k.remaning?g._finishFile(k,e):l.destroy())}),m=f.extend(m,{id:k.id,name:k.name,type:k.type,lastModifiedDate:k.lastModifiedDate,size:k.size}),b.chunks>1&&f.extend(m,{chunks:b.chunks,chunk:b.chunk}),i.trigger("uploadBeforeSend",b,m,n),l.appendBlob(j.fileVal,b.blob,k.name),l.append(m),l.setRequestHeader(n),l.send()},_finishFile:function(a,b,c){var d=this.owner;return d.request("after-send-file",arguments,function(){a.setStatus(h.COMPLETE),d.trigger("uploadSuccess",a,b,c)}).fail(function(b){a.getStatus()===h.PROGRESS&&a.setStatus(h.ERROR,b),d.trigger("uploadError",a,b)}).always(function(){d.trigger("uploadComplete",a)})}})}),b("widgets/validator",["base","uploader","file","widgets/widget"],function(a,b,c){var d,e=a.$,f={};return d={addValidator:function(a,b){f[a]=b},removeValidator:function(a){delete f[a]}},b.register({init:function(){var a=this;e.each(f,function(){this.call(a.owner)})}}),d.addValidator("fileNumLimit",function(){var a=this,b=a.options,c=0,d=b.fileNumLimit>>0,e=!0;d&&(a.on("beforeFileQueued",function(a){return c>=d&&e&&(e=!1,this.trigger("error","Q_EXCEED_NUM_LIMIT",d,a),setTimeout(function(){e=!0},1)),c>=d?!1:!0}),a.on("fileQueued",function(){c++}),a.on("fileDequeued",function(){c--}),a.on("uploadFinished",function(){c=0}))}),d.addValidator("fileSizeLimit",function(){var a=this,b=a.options,c=0,d=b.fileSizeLimit>>0,e=!0;d&&(a.on("beforeFileQueued",function(a){var b=c+a.size>d;return b&&e&&(e=!1,this.trigger("error","Q_EXCEED_SIZE_LIMIT",d,a),setTimeout(function(){e=!0},1)),b?!1:!0}),a.on("fileQueued",function(a){c+=a.size}),a.on("fileDequeued",function(a){c-=a.size}),a.on("uploadFinished",function(){c=0}))}),d.addValidator("fileSingleSizeLimit",function(){var a=this,b=a.options,d=b.fileSingleSizeLimit;d&&a.on("beforeFileQueued",function(a){return a.size>d?(a.setStatus(c.Status.INVALID,"exceed_size"),this.trigger("error","F_EXCEED_SIZE",a),!1):void 0})}),d.addValidator("duplicate",function(){function a(a){for(var b,c=0,d=0,e=a.length;e>d;d++)b=a.charCodeAt(d),c=b+(c<<6)+(c<<16)-c;return c}var b=this,c=b.options,d={};c.duplicate||(b.on("beforeFileQueued",function(b){var c=b.__hash||(b.__hash=a(b.name+b.size+b.lastModifiedDate));return d[c]?(this.trigger("error","F_DUPLICATE",b),!1):void 0}),b.on("fileQueued",function(a){var b=a.__hash;b&&(d[b]=!0)}),b.on("fileDequeued",function(a){var b=a.__hash;b&&delete d[b]}))}),d}),b("runtime/compbase",[],function(){function a(a,b){this.owner=a,this.options=a.options,this.getRuntime=function(){return b},this.getRuid=function(){return b.uid},this.trigger=function(){return a.trigger.apply(a,arguments)}}return a}),b("runtime/html5/runtime",["base","runtime/runtime","runtime/compbase"],function(b,c,d){function e(){var a={},d=this,e=this.destory;c.apply(d,arguments),d.type=f,d.exec=function(c,e){var f,h=this,i=h.uid,j=b.slice(arguments,2);return g[c]&&(f=a[i]=a[i]||new g[c](h,d),f[e])?f[e].apply(f,j):void 0},d.destory=function(){return e&&e.apply(this,arguments)}}var f="html5",g={};return b.inherits(c,{constructor:e,init:function(){var a=this;setTimeout(function(){a.trigger("ready")},1)}}),e.register=function(a,c){var e=g[a]=b.inherits(d,c);return e},a.Blob&&a.FileReader&&a.DataView&&c.addRuntime(f,e),e}),b("runtime/html5/blob",["runtime/html5/runtime","lib/blob"],function(a,b){return a.register("Blob",{slice:function(a,c){var d=this.owner.source,e=d.slice||d.webkitSlice||d.mozSlice;return d=e.call(d,a,c),new b(this.getRuid(),d)}})}),b("runtime/html5/dnd",["base","runtime/html5/runtime","lib/file"],function(a,b,c){var d=a.$,e="webuploader-dnd-";return b.register("DragAndDrop",{init:function(){var b=this.elem=this.options.container;this.dragEnterHandler=a.bindFn(this._dragEnterHandler,this),this.dragOverHandler=a.bindFn(this._dragOverHandler,this),this.dragLeaveHandler=a.bindFn(this._dragLeaveHandler,this),this.dropHandler=a.bindFn(this._dropHandler,this),this.dndOver=!1,b.on("dragenter",this.dragEnterHandler),b.on("dragover",this.dragOverHandler),b.on("dragleave",this.dragLeaveHandler),b.on("drop",this.dropHandler),this.options.disableGlobalDnd&&(d(document).on("dragover",this.dragOverHandler),d(document).on("drop",this.dropHandler))},_dragEnterHandler:function(a){var b,c=this,d=c._denied||!1;return a=a.originalEvent||a,c.dndOver||(c.dndOver=!0,b=a.dataTransfer.items,b&&b.length&&(c._denied=d=!c.trigger("accept",b)),c.elem.addClass(e+"over"),c.elem[d?"addClass":"removeClass"](e+"denied")),a.dataTransfer.dropEffect=d?"none":"copy",!1},_dragOverHandler:function(a){var b=this.elem.parent().get(0);return b&&!d.contains(b,a.currentTarget)?!1:(clearTimeout(this._leaveTimer),this._dragEnterHandler.call(this,a),!1)},_dragLeaveHandler:function(){var a,b=this;return a=function(){b.dndOver=!1,b.elem.removeClass(e+"over "+e+"denied")},clearTimeout(b._leaveTimer),b._leaveTimer=setTimeout(a,100),!1},_dropHandler:function(a){var b=this,f=b.getRuid(),g=b.elem.parent().get(0);return g&&!d.contains(g,a.currentTarget)?!1:(b._getTansferFiles(a,function(a){b.trigger("drop",d.map(a,function(a){return new c(f,a)}))}),b.dndOver=!1,b.elem.removeClass(e+"over"),!1)},_getTansferFiles:function(b,c){var d,e,f,g,h,i,j,k,l=[],m=[];for(b=b.originalEvent||b,f=b.dataTransfer,d=f.items,e=f.files,k=!(!d||!d[0].webkitGetAsEntry),i=0,j=e.length;j>i;i++)g=e[i],h=d&&d[i],k&&h.webkitGetAsEntry().isDirectory?m.push(this._traverseDirectoryTree(h.webkitGetAsEntry(),l)):l.push(g);a.when.apply(a,m).done(function(){l.length&&c(l)})},_traverseDirectoryTree:function(b,c){var d=a.Deferred(),e=this;return b.isFile?b.file(function(a){c.push(a),d.resolve()}):b.isDirectory&&b.createReader().readEntries(function(b){var f,g=b.length,h=[],i=[];for(f=0;g>f;f++)h.push(e._traverseDirectoryTree(b[f],i));a.when.apply(a,h).then(function(){c.push.apply(c,i),d.resolve()},d.reject)}),d.promise()},destroy:function(){var a=this.elem;a.off("dragenter",this.dragEnterHandler),a.off("dragover",this.dragEnterHandler),a.off("dragleave",this.dragLeaveHandler),a.off("drop",this.dropHandler),this.options.disableGlobalDnd&&(d(document).off("dragover",this.dragOverHandler),d(document).off("drop",this.dropHandler))}})}),b("runtime/html5/filepaste",["base","runtime/html5/runtime","lib/file"],function(a,b,c){return b.register("FilePaste",{init:function(){var b,c,d,e,f=this.options,g=this.elem=f.container,h=".*";if(f.accept){for(b=[],c=0,d=f.accept.length;d>c;c++)e=f.accept[c].mimeTypes,e&&b.push(e);b.length&&(h=b.join(","),h=h.replace(/,/g,"|").replace(/\*/g,".*"))
|
2
|
+
}this.accept=h=new RegExp(h,"i"),this.hander=a.bindFn(this._pasteHander,this),g.on("paste",this.hander)},_pasteHander:function(a){var b,d,e,f,g,h=[],i=this.getRuid();for(a=a.originalEvent||a,b=a.clipboardData.items,f=0,g=b.length;g>f;f++)d=b[f],"file"===d.kind&&(e=d.getAsFile())&&h.push(new c(i,e));h.length&&(a.preventDefault(),a.stopPropagation(),this.trigger("paste",h))},destroy:function(){this.elem.off("paste",this.hander)}})}),b("runtime/html5/filepicker",["base","runtime/html5/runtime"],function(a,b){var c=a.$;return b.register("FilePicker",{init:function(){var a,b,d,e,f=this.getRuntime().getContainer(),g=this,h=g.owner,i=g.options,j=c(document.createElement("label")),k=c(document.createElement("input"));if(k.attr("type","file"),k.attr("name",i.name),k.addClass("webuploader-element-invisible"),j.on("click",function(){k.trigger("click")}),j.css({opacity:0,width:"100%",height:"100%",display:"block",cursor:"pointer",background:"#ffffff"}),i.multiple&&k.attr("multiple","multiple"),i.accept&&i.accept.length>0){for(a=[],b=0,d=i.accept.length;d>b;b++)a.push(i.accept[b].mimeTypes);k.attr("accept",a.join(","))}f.append(k),f.append(j),e=function(a){h.trigger(a.type)},k.on("change",function(a){var b,d=arguments.callee;g.files=a.target.files,b=this.cloneNode(!0),this.parentNode.replaceChild(b,this),k.off(),k=c(b).on("change",d).on("mouseenter mouseleave",e),h.trigger("change")}),j.on("mouseenter mouseleave",e)},getFiles:function(){return this.files},destroy:function(){}})}),b("runtime/html5/transport",["base","runtime/html5/runtime"],function(a,b){var c=a.noop,d=a.$;return b.register("Transport",{init:function(){this._status=0,this._response=null},send:function(){var b,c,e,f=this.owner,g=this.options,h=this._initAjax(),i=f._blob,j=g.server;g.sendAsBinary?(j+=(/\?/.test(j)?"&":"?")+d.param(f._formData),c=i.getSource()):(b=new FormData,d.each(f._formData,function(a,c){b.append(a,c)}),b.append(g.fileVal,i.getSource(),g.filename||f._formData.name||"")),g.withCredentials&&"withCredentials"in h?(h.open(g.method,j,!0),h.withCredentials=!0):h.open(g.method,j),this._setRequestHeader(h,g.headers),c?(h.overrideMimeType("application/octet-stream"),a.os.android?(e=new FileReader,e.onload=function(){h.send(this.result),e=e.onload=null},e.readAsArrayBuffer(c)):h.send(c)):h.send(b)},getResponse:function(){return this._response},getResponseAsJson:function(){return this._parseJson(this._response)},getStatus:function(){return this._status},abort:function(){var a=this._xhr;a&&(a.upload.onprogress=c,a.onreadystatechange=c,a.abort(),this._xhr=a=null)},destroy:function(){this.abort()},_initAjax:function(){var a=this,b=new XMLHttpRequest,d=this.options;return!d.withCredentials||"withCredentials"in b||"undefined"==typeof XDomainRequest||(b=new XDomainRequest),b.upload.onprogress=function(b){var c=0;return b.lengthComputable&&(c=b.loaded/b.total),a.trigger("progress",c)},b.onreadystatechange=function(){return 4===b.readyState?(b.upload.onprogress=c,b.onreadystatechange=c,a._xhr=null,a._status=b.status,b.status>=200&&b.status<300?(a._response=b.responseText,a.trigger("load")):b.status>=500&&b.status<600?(a._response=b.responseText,a.trigger("error","server")):a.trigger("error",a._status?"http":"abort")):void 0},a._xhr=b,b},_setRequestHeader:function(a,b){d.each(b,function(b,c){a.setRequestHeader(b,c)})},_parseJson:function(a){var b;try{b=JSON.parse(a)}catch(c){b={}}return b}})}),b("runtime/flash/runtime",["base","runtime/runtime","runtime/compbase"],function(b,c,d){function e(){var a;try{a=navigator.plugins["Shockwave Flash"],a=a.description}catch(b){try{a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")}catch(c){a="0.0"}}return a=a.match(/\d+/g),parseFloat(a[0]+"."+a[1],10)}function f(){function d(a,b){var c,d,e=a.type||a;c=e.split("::"),d=c[0],e=c[1],"Ready"===e&&d===j.uid?j.trigger("ready"):f[d]&&f[d].trigger(e.toLowerCase(),a,b)}var e={},f={},g=this.destory,j=this,k=b.guid("webuploader_");c.apply(j,arguments),j.type=h,j.exec=function(a,c){var d,g=this,h=g.uid,k=b.slice(arguments,2);return f[h]=g,i[a]&&(e[h]||(e[h]=new i[a](g,j)),d=e[h],d[c])?d[c].apply(d,k):j.flashExec.apply(g,arguments)},a[k]=function(){var a=arguments;setTimeout(function(){d.apply(null,a)},1)},this.jsreciver=k,this.destory=function(){return g&&g.apply(this,arguments)},this.flashExec=function(a,c){var d=j.getFlash(),e=b.slice(arguments,2);return d.exec(this.uid,a,c,e)}}var g=b.$,h="flash",i={};return b.inherits(c,{constructor:f,init:function(){var a,c=this.getContainer(),d=this.options;c.css({position:"absolute",top:"-8px",left:"-8px",width:"9px",height:"9px",overflow:"hidden"}),a='<object id="'+this.uid+'" type="application/x-shockwave-flash" data="'+d.swf+'" ',b.browser.ie&&(a+='classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '),a+='width="100%" height="100%" style="outline:0"><param name="movie" value="'+d.swf+'" /><param name="flashvars" value="uid='+this.uid+"&jsreciver="+this.jsreciver+'" /><param name="wmode" value="transparent" /><param name="allowscriptaccess" value="always" /></object>',c.html(a)},getFlash:function(){return this._flash?this._flash:(this._flash=g("#"+this.uid).get(0),this._flash)}}),f.register=function(a,c){return c=i[a]=b.inherits(d,g.extend({flashExec:function(){var a=this.owner,b=this.getRuntime();return b.flashExec.apply(a,arguments)}},c))},e()>=11.4&&c.addRuntime(h,f),f}),b("runtime/flash/filepicker",["base","runtime/flash/runtime"],function(a,b){var c=a.$;return b.register("FilePicker",{init:function(a){var b,d,e=c.extend({},a);for(b=e.accept&&e.accept.length,d=0;b>d;d++)e.accept[d].title||(e.accept[d].title="Files");delete e.button,delete e.container,this.flashExec("FilePicker","init",e)},destroy:function(){}})}),b("runtime/flash/transport",["base","runtime/flash/runtime","runtime/client"],function(a,b,c){var d=a.$;return b.register("Transport",{init:function(){this._status=0,this._response=null,this._responseJson=null},send:function(){var a,b=this.owner,c=this.options,e=this._initAjax(),f=b._blob,g=c.server;e.connectRuntime(f.ruid),c.sendAsBinary?(g+=(/\?/.test(g)?"&":"?")+d.param(b._formData),a=f.uid):(d.each(b._formData,function(a,b){e.exec("append",a,b)}),e.exec("appendBlob",c.fileVal,f.uid,c.filename||b._formData.name||"")),this._setRequestHeader(e,c.headers),e.exec("send",{method:c.method,url:g},a)},getStatus:function(){return this._status},getResponse:function(){return this._response},getResponseAsJson:function(){return this._responseJson},abort:function(){var a=this._xhr;a&&(a.exec("abort"),a.destroy(),this._xhr=a=null)},destroy:function(){this.abort()},_initAjax:function(){var a=this,b=new c("XMLHttpRequest");return b.on("uploadprogress progress",function(b){return a.trigger("progress",b.loaded/b.total)}),b.on("load",function(){var c=b.exec("getStatus"),d="";return b.off(),a._xhr=null,c>=200&&300>c?(a._response=b.exec("getResponse"),a._responseJson=b.exec("getResponseAsJson")):c>=500&&600>c?(a._response=b.exec("getResponse"),a._responseJson=b.exec("getResponseAsJson"),d="server"):d="http",b.destroy(),b=null,d?a.trigger("error",d):a.trigger("load")}),b.on("error",function(){b.off(),a._xhr=null,a.trigger("error","http")}),a._xhr=b,b},_setRequestHeader:function(a,b){d.each(b,function(b,c){a.exec("setRequestHeader",b,c)})}})}),b("preset/withoutimage",["base","widgets/filednd","widgets/filepaste","widgets/filepicker","widgets/queue","widgets/runtime","widgets/upload","widgets/validator","runtime/html5/blob","runtime/html5/dnd","runtime/html5/filepaste","runtime/html5/filepicker","runtime/html5/transport","runtime/flash/filepicker","runtime/flash/transport"],function(a){return a}),b("webuploader",["preset/withoutimage"],function(a){return a}),c("webuploader")});
|
@@ -0,0 +1 @@
|
|
1
|
+
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){var FilterCSS=require("cssfilter").FilterCSS;var _=require("./util");function getDefaultWhiteList(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var defaultCSSFilter=new FilterCSS;function onTag(tag,html,options){}function onIgnoreTag(tag,html,options){}function onTagAttr(tag,name,value){}function onIgnoreTagAttr(tag,name,value){}function escapeHtml(html){return html.replace(REGEXP_LT,"<").replace(REGEXP_GT,">")}function safeAttrValue(tag,name,value,cssFilter){cssFilter=cssFilter||defaultCSSFilter;value=friendlyAttrValue(value);if(name==="href"||name==="src"){value=_.trim(value);if(value==="#")return"#";if(!(value.substr(0,7)==="http://"||value.substr(0,8)==="https://"||value.substr(0,7)==="mailto:"||value[0]==="#"||value[0]==="/")){return""}}else if(name==="background"){REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex=0;if(REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)){return""}}else if(name==="style"){REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex=0;if(REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)){return""}REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex=0;if(REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)){REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex=0;if(REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)){return""}}value=cssFilter.process(value)}value=escapeAttrValue(value);return value}var REGEXP_LT=/</g;var REGEXP_GT=/>/g;var REGEXP_QUOTE=/"/g;var REGEXP_QUOTE_2=/"/g;var REGEXP_ATTR_VALUE_1=/&#([a-zA-Z0-9]*);?/gim;var REGEXP_ATTR_VALUE_COLON=/:?/gim;var REGEXP_ATTR_VALUE_NEWLINE=/&newline;?/gim;var REGEXP_DEFAULT_ON_TAG_ATTR_3=/\/\*|\*\//gm;var REGEXP_DEFAULT_ON_TAG_ATTR_4=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi;var REGEXP_DEFAULT_ON_TAG_ATTR_5=/^[\s"'`]*(d\s*a\s*t\s*a\s*)\:/gi;var REGEXP_DEFAULT_ON_TAG_ATTR_6=/^[\s"'`]*(d\s*a\s*t\s*a\s*)\:\s*image\//gi;var REGEXP_DEFAULT_ON_TAG_ATTR_7=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi;var REGEXP_DEFAULT_ON_TAG_ATTR_8=/u\s*r\s*l\s*\(.*/gi;function escapeQuote(str){return str.replace(REGEXP_QUOTE,""")}function unescapeQuote(str){return str.replace(REGEXP_QUOTE_2,'"')}function escapeHtmlEntities(str){return str.replace(REGEXP_ATTR_VALUE_1,function replaceUnicode(str,code){return code[0]==="x"||code[0]==="X"?String.fromCharCode(parseInt(code.substr(1),16)):String.fromCharCode(parseInt(code,10))})}function escapeDangerHtml5Entities(str){return str.replace(REGEXP_ATTR_VALUE_COLON,":").replace(REGEXP_ATTR_VALUE_NEWLINE," ")}function clearNonPrintableCharacter(str){var str2="";for(var i=0,len=str.length;i<len;i++){str2+=str.charCodeAt(i)<32?" ":str.charAt(i)}return _.trim(str2)}function friendlyAttrValue(str){str=unescapeQuote(str);str=escapeHtmlEntities(str);str=escapeDangerHtml5Entities(str);str=clearNonPrintableCharacter(str);return str}function escapeAttrValue(str){str=escapeQuote(str);str=escapeHtml(str);return str}function onIgnoreTagStripAll(){return""}function StripTagBody(tags,next){if(typeof next!=="function"){next=function(){}}var isRemoveAllTag=!Array.isArray(tags);function isRemoveTag(tag){if(isRemoveAllTag)return true;return _.indexOf(tags,tag)!==-1}var removeList=[];var posStart=false;return{onIgnoreTag:function(tag,html,options){if(isRemoveTag(tag)){if(options.isClosing){var ret="[/removed]";var end=options.position+ret.length;removeList.push([posStart!==false?posStart:options.position,end]);posStart=false;return ret}else{if(!posStart){posStart=options.position}return"[removed]"}}else{return next(tag,html,options)}},remove:function(html){var rethtml="";var lastPos=0;_.forEach(removeList,function(pos){rethtml+=html.slice(lastPos,pos[0]);lastPos=pos[1]});rethtml+=html.slice(lastPos);return rethtml}}}function stripCommentTag(html){return html.replace(STRIP_COMMENT_TAG_REGEXP,"")}var STRIP_COMMENT_TAG_REGEXP=/<!--[\s\S]*?-->/g;function stripBlankChar(html){var chars=html.split("");chars=chars.filter(function(char){var c=char.charCodeAt(0);if(c===127)return false;if(c<=31){if(c===10||c===13)return true;return false}return true});return chars.join("")}exports.whiteList=getDefaultWhiteList();exports.getDefaultWhiteList=getDefaultWhiteList;exports.onTag=onTag;exports.onIgnoreTag=onIgnoreTag;exports.onTagAttr=onTagAttr;exports.onIgnoreTagAttr=onIgnoreTagAttr;exports.safeAttrValue=safeAttrValue;exports.escapeHtml=escapeHtml;exports.escapeQuote=escapeQuote;exports.unescapeQuote=unescapeQuote;exports.escapeHtmlEntities=escapeHtmlEntities;exports.escapeDangerHtml5Entities=escapeDangerHtml5Entities;exports.clearNonPrintableCharacter=clearNonPrintableCharacter;exports.friendlyAttrValue=friendlyAttrValue;exports.escapeAttrValue=escapeAttrValue;exports.onIgnoreTagStripAll=onIgnoreTagStripAll;exports.StripTagBody=StripTagBody;exports.stripCommentTag=stripCommentTag;exports.stripBlankChar=stripBlankChar;exports.cssFilter=defaultCSSFilter},{"./util":4,cssfilter:8}],2:[function(require,module,exports){var DEFAULT=require("./default");var parser=require("./parser");var FilterXSS=require("./xss");function filterXSS(html,options){var xss=new FilterXSS(options);return xss.process(html)}exports=module.exports=filterXSS;exports.FilterXSS=FilterXSS;for(var i in DEFAULT)exports[i]=DEFAULT[i];for(var i in parser)exports[i]=parser[i];if(typeof window!=="undefined"){window.filterXSS=module.exports}},{"./default":1,"./parser":3,"./xss":5}],3:[function(require,module,exports){var _=require("./util");function getTagName(html){var i=html.indexOf(" ");if(i===-1){var tagName=html.slice(1,-1)}else{var tagName=html.slice(1,i+1)}tagName=_.trim(tagName).toLowerCase();if(tagName.slice(0,1)==="/")tagName=tagName.slice(1);if(tagName.slice(-1)==="/")tagName=tagName.slice(0,-1);return tagName}function isClosing(html){return html.slice(0,2)==="</"}function parseTag(html,onTag,escapeHtml){"user strict";var rethtml="";var lastPos=0;var tagStart=false;var quoteStart=false;var currentPos=0;var len=html.length;var currentHtml="";var currentTagName="";for(currentPos=0;currentPos<len;currentPos++){var c=html.charAt(currentPos);if(tagStart===false){if(c==="<"){tagStart=currentPos;continue}}else{if(quoteStart===false){if(c==="<"){rethtml+=escapeHtml(html.slice(lastPos,currentPos));tagStart=currentPos;lastPos=currentPos;continue}if(c===">"){rethtml+=escapeHtml(html.slice(lastPos,tagStart));currentHtml=html.slice(tagStart,currentPos+1);currentTagName=getTagName(currentHtml);rethtml+=onTag(tagStart,rethtml.length,currentTagName,currentHtml,isClosing(currentHtml));lastPos=currentPos+1;tagStart=false;continue}if((c==='"'||c==="'")&&html.charAt(currentPos-1)==="="){quoteStart=c;continue}}else{if(c===quoteStart){quoteStart=false;continue}}}}if(lastPos<html.length){rethtml+=escapeHtml(html.substr(lastPos))}return rethtml}var REGEXP_ATTR_NAME=/[^a-zA-Z0-9_:\.\-]/gim;function parseAttr(html,onAttr){"user strict";var lastPos=0;var retAttrs=[];var tmpName=false;var len=html.length;function addAttr(name,value){name=_.trim(name);name=name.replace(REGEXP_ATTR_NAME,"").toLowerCase();if(name.length<1)return;var ret=onAttr(name,value||"");if(ret)retAttrs.push(ret)}for(var i=0;i<len;i++){var c=html.charAt(i);var v,j;if(tmpName===false&&c==="="){tmpName=html.slice(lastPos,i);lastPos=i+1;continue}if(tmpName!==false){if(i===lastPos&&(c==='"'||c==="'")&&html.charAt(i-1)==="="){j=html.indexOf(c,i+1);if(j===-1){break}else{v=_.trim(html.slice(lastPos+1,j));addAttr(tmpName,v);tmpName=false;i=j;lastPos=i+1;continue}}}if(c===" "){if(tmpName===false){j=findNextEqual(html,i);if(j===-1){v=_.trim(html.slice(lastPos,i));addAttr(v);tmpName=false;lastPos=i+1;continue}else{i=j-1;continue}}else{j=findBeforeEqual(html,i-1);if(j===-1){v=_.trim(html.slice(lastPos,i));v=stripQuoteWrap(v);addAttr(tmpName,v);tmpName=false;lastPos=i+1;continue}else{continue}}}}if(lastPos<html.length){if(tmpName===false){addAttr(html.slice(lastPos))}else{addAttr(tmpName,stripQuoteWrap(_.trim(html.slice(lastPos))))}}return _.trim(retAttrs.join(" "))}function findNextEqual(str,i){for(;i<str.length;i++){var c=str[i];if(c===" ")continue;if(c==="=")return i;return-1}}function findBeforeEqual(str,i){for(;i>0;i--){var c=str[i];if(c===" ")continue;if(c==="=")return i;return-1}}function isQuoteWrapString(text){if(text[0]==='"'&&text[text.length-1]==='"'||text[0]==="'"&&text[text.length-1]==="'"){return true}else{return false}}function stripQuoteWrap(text){if(isQuoteWrapString(text)){return text.substr(1,text.length-2)}else{return text}}exports.parseTag=parseTag;exports.parseAttr=parseAttr},{"./util":4}],4:[function(require,module,exports){module.exports={indexOf:function(arr,item){var i,j;if(Array.prototype.indexOf){return arr.indexOf(item)}for(i=0,j=arr.length;i<j;i++){if(arr[i]===item){return i}}return-1},forEach:function(arr,fn,scope){var i,j;if(Array.prototype.forEach){return arr.forEach(fn,scope)}for(i=0,j=arr.length;i<j;i++){fn.call(scope,arr[i],i,arr)}},trim:function(str){if(String.prototype.trim){return str.trim()}return str.replace(/(^\s*)|(\s*$)/g,"")}}},{}],5:[function(require,module,exports){var FilterCSS=require("cssfilter").FilterCSS;var DEFAULT=require("./default");var parser=require("./parser");var parseTag=parser.parseTag;var parseAttr=parser.parseAttr;var _=require("./util");function isNull(obj){return obj===undefined||obj===null}function getAttrs(html){var i=html.indexOf(" ");if(i===-1){return{html:"",closing:html[html.length-2]==="/"}}html=_.trim(html.slice(i+1,-1));var isClosing=html[html.length-1]==="/";if(isClosing)html=_.trim(html.slice(0,-1));return{html:html,closing:isClosing}}function FilterXSS(options){options=options||{};if(options.stripIgnoreTag){if(options.onIgnoreTag){console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time')}options.onIgnoreTag=DEFAULT.onIgnoreTagStripAll}options.whiteList=options.whiteList||DEFAULT.whiteList;options.onTag=options.onTag||DEFAULT.onTag;options.onTagAttr=options.onTagAttr||DEFAULT.onTagAttr;options.onIgnoreTag=options.onIgnoreTag||DEFAULT.onIgnoreTag;options.onIgnoreTagAttr=options.onIgnoreTagAttr||DEFAULT.onIgnoreTagAttr;options.safeAttrValue=options.safeAttrValue||DEFAULT.safeAttrValue;options.escapeHtml=options.escapeHtml||DEFAULT.escapeHtml;options.css=options.css||{};this.options=options;this.cssFilter=new FilterCSS(options.css)}FilterXSS.prototype.process=function(html){html=html||"";html=html.toString();if(!html)return"";var me=this;var options=me.options;var whiteList=options.whiteList;var onTag=options.onTag;var onIgnoreTag=options.onIgnoreTag;var onTagAttr=options.onTagAttr;var onIgnoreTagAttr=options.onIgnoreTagAttr;var safeAttrValue=options.safeAttrValue;var escapeHtml=options.escapeHtml;var cssFilter=me.cssFilter;if(options.stripBlankChar){html=DEFAULT.stripBlankChar(html)}if(!options.allowCommentTag){html=DEFAULT.stripCommentTag(html)}var stripIgnoreTagBody=false;if(options.stripIgnoreTagBody){var stripIgnoreTagBody=DEFAULT.StripTagBody(options.stripIgnoreTagBody,onIgnoreTag);onIgnoreTag=stripIgnoreTagBody.onIgnoreTag}var retHtml=parseTag(html,function(sourcePosition,position,tag,html,isClosing){var info={sourcePosition:sourcePosition,position:position,isClosing:isClosing,isWhite:tag in whiteList};var ret=onTag(tag,html,info);if(!isNull(ret))return ret;if(info.isWhite){if(info.isClosing){return"</"+tag+">"}var attrs=getAttrs(html);var whiteAttrList=whiteList[tag];var attrsHtml=parseAttr(attrs.html,function(name,value){var isWhiteAttr=_.indexOf(whiteAttrList,name)!==-1;var ret=onTagAttr(tag,name,value,isWhiteAttr);if(!isNull(ret))return ret;if(isWhiteAttr){value=safeAttrValue(tag,name,value,cssFilter);if(value){return name+'="'+value+'"'}else{return name}}else{var ret=onIgnoreTagAttr(tag,name,value,isWhiteAttr);if(!isNull(ret))return ret;return}});var html="<"+tag;if(attrsHtml)html+=" "+attrsHtml;if(attrs.closing)html+=" /";html+=">";return html}else{var ret=onIgnoreTag(tag,html,info);if(!isNull(ret))return ret;return escapeHtml(html)}},escapeHtml);if(stripIgnoreTagBody){retHtml=stripIgnoreTagBody.remove(retHtml)}return retHtml};module.exports=FilterXSS},{"./default":1,"./parser":3,"./util":4,cssfilter:8}],6:[function(require,module,exports){var DEFAULT=require("./default");var parseStyle=require("./parser");var _=require("./util");function isNull(obj){return obj===undefined||obj===null}function FilterCSS(options){options=options||{};options.whiteList=options.whiteList||DEFAULT.whiteList;options.onAttr=options.onAttr||DEFAULT.onAttr;options.onIgnoreAttr=options.onIgnoreAttr||DEFAULT.onIgnoreAttr;this.options=options}FilterCSS.prototype.process=function(css){css=css||"";css=css.toString();if(!css)return"";var me=this;var options=me.options;var whiteList=options.whiteList;var onAttr=options.onAttr;var onIgnoreAttr=options.onIgnoreAttr;var retCSS=parseStyle(css,function(sourcePosition,position,name,value,source){var check=whiteList[name];var isWhite=false;if(check===true)isWhite=check;else if(typeof check==="function")isWhite=check(value);else if(check instanceof RegExp)isWhite=check.test(value);if(isWhite!==true)isWhite=false;var opts={position:position,sourcePosition:sourcePosition,source:source,isWhite:isWhite};if(isWhite){var ret=onAttr(name,value,opts);if(isNull(ret)){return name+":"+value}else{return ret}}else{var ret=onIgnoreAttr(name,value,opts);if(!isNull(ret)){return ret}}});return retCSS};module.exports=FilterCSS},{"./default":7,"./parser":9,"./util":10}],7:[function(require,module,exports){function getDefaultWhiteList(){var whiteList={};whiteList["align-content"]=false;whiteList["align-items"]=false;whiteList["align-self"]=false;whiteList["alignment-adjust"]=false;whiteList["alignment-baseline"]=false;whiteList["all"]=false;whiteList["anchor-point"]=false;whiteList["animation"]=false;whiteList["animation-delay"]=false;whiteList["animation-direction"]=false;whiteList["animation-duration"]=false;whiteList["animation-fill-mode"]=false;whiteList["animation-iteration-count"]=false;whiteList["animation-name"]=false;whiteList["animation-play-state"]=false;whiteList["animation-timing-function"]=false;whiteList["azimuth"]=false;whiteList["backface-visibility"]=false;whiteList["background"]=true;whiteList["background-attachment"]=true;whiteList["background-clip"]=true;whiteList["background-color"]=true;whiteList["background-image"]=true;whiteList["background-origin"]=true;whiteList["background-position"]=true;whiteList["background-repeat"]=true;whiteList["background-size"]=true;whiteList["baseline-shift"]=false;whiteList["binding"]=false;whiteList["bleed"]=false;whiteList["bookmark-label"]=false;whiteList["bookmark-level"]=false;whiteList["bookmark-state"]=false;whiteList["border"]=true;whiteList["border-bottom"]=true;whiteList["border-bottom-color"]=true;whiteList["border-bottom-left-radius"]=true;whiteList["border-bottom-right-radius"]=true;whiteList["border-bottom-style"]=true;whiteList["border-bottom-width"]=true;whiteList["border-collapse"]=true;whiteList["border-color"]=true;whiteList["border-image"]=true;whiteList["border-image-outset"]=true;whiteList["border-image-repeat"]=true;whiteList["border-image-slice"]=true;whiteList["border-image-source"]=true;whiteList["border-image-width"]=true;whiteList["border-left"]=true;whiteList["border-left-color"]=true;whiteList["border-left-style"]=true;whiteList["border-left-width"]=true;whiteList["border-radius"]=true;whiteList["border-right"]=true;whiteList["border-right-color"]=true;whiteList["border-right-style"]=true;whiteList["border-right-width"]=true;whiteList["border-spacing"]=true;whiteList["border-style"]=true;whiteList["border-top"]=true;whiteList["border-top-color"]=true;whiteList["border-top-left-radius"]=true;whiteList["border-top-right-radius"]=true;whiteList["border-top-style"]=true;whiteList["border-top-width"]=true;whiteList["border-width"]=true;whiteList["bottom"]=false;whiteList["box-decoration-break"]=true;whiteList["box-shadow"]=true;whiteList["box-sizing"]=true;whiteList["box-snap"]=true;whiteList["box-suppress"]=true;whiteList["break-after"]=true;whiteList["break-before"]=true;whiteList["break-inside"]=true;whiteList["caption-side"]=false;whiteList["chains"]=false;whiteList["clear"]=true;whiteList["clip"]=false;whiteList["clip-path"]=false;whiteList["clip-rule"]=false;whiteList["color"]=true;whiteList["color-interpolation-filters"]=true;whiteList["column-count"]=false;whiteList["column-fill"]=false;whiteList["column-gap"]=false;whiteList["column-rule"]=false;whiteList["column-rule-color"]=false;whiteList["column-rule-style"]=false;whiteList["column-rule-width"]=false;whiteList["column-span"]=false;whiteList["column-width"]=false;whiteList["columns"]=false;whiteList["contain"]=false;whiteList["content"]=false;whiteList["counter-increment"]=false;whiteList["counter-reset"]=false;whiteList["counter-set"]=false;whiteList["crop"]=false;whiteList["cue"]=false;whiteList["cue-after"]=false;whiteList["cue-before"]=false;whiteList["cursor"]=false;whiteList["direction"]=false;whiteList["display"]=true;whiteList["display-inside"]=true;whiteList["display-list"]=true;whiteList["display-outside"]=true;whiteList["dominant-baseline"]=false;whiteList["elevation"]=false;whiteList["empty-cells"]=false;whiteList["filter"]=false;whiteList["flex"]=false;whiteList["flex-basis"]=false;whiteList["flex-direction"]=false;whiteList["flex-flow"]=false;whiteList["flex-grow"]=false;whiteList["flex-shrink"]=false;whiteList["flex-wrap"]=false;whiteList["float"]=false;whiteList["float-offset"]=false;whiteList["flood-color"]=false;whiteList["flood-opacity"]=false;whiteList["flow-from"]=false;whiteList["flow-into"]=false;whiteList["font"]=true;whiteList["font-family"]=true;whiteList["font-feature-settings"]=true;whiteList["font-kerning"]=true;whiteList["font-language-override"]=true;whiteList["font-size"]=true;whiteList["font-size-adjust"]=true;whiteList["font-stretch"]=true;whiteList["font-style"]=true;whiteList["font-synthesis"]=true;whiteList["font-variant"]=true;whiteList["font-variant-alternates"]=true;whiteList["font-variant-caps"]=true;whiteList["font-variant-east-asian"]=true;whiteList["font-variant-ligatures"]=true;whiteList["font-variant-numeric"]=true;whiteList["font-variant-position"]=true;whiteList["font-weight"]=true;whiteList["grid"]=false;whiteList["grid-area"]=false;whiteList["grid-auto-columns"]=false;whiteList["grid-auto-flow"]=false;whiteList["grid-auto-rows"]=false;whiteList["grid-column"]=false;whiteList["grid-column-end"]=false;whiteList["grid-column-start"]=false;whiteList["grid-row"]=false;whiteList["grid-row-end"]=false;whiteList["grid-row-start"]=false;whiteList["grid-template"]=false;whiteList["grid-template-areas"]=false;whiteList["grid-template-columns"]=false;whiteList["grid-template-rows"]=false;whiteList["hanging-punctuation"]=false;whiteList["height"]=true;whiteList["hyphens"]=false;whiteList["icon"]=false;whiteList["image-orientation"]=false;whiteList["image-resolution"]=false;whiteList["ime-mode"]=false;whiteList["initial-letters"]=false;whiteList["inline-box-align"]=false;whiteList["justify-content"]=false;whiteList["justify-items"]=false;whiteList["justify-self"]=false;whiteList["left"]=false;whiteList["letter-spacing"]=true;whiteList["lighting-color"]=true;whiteList["line-box-contain"]=false;whiteList["line-break"]=false;whiteList["line-grid"]=false;whiteList["line-height"]=false;whiteList["line-snap"]=false;whiteList["line-stacking"]=false;whiteList["line-stacking-ruby"]=false;whiteList["line-stacking-shift"]=false;whiteList["line-stacking-strategy"]=false;whiteList["list-style"]=true;whiteList["list-style-image"]=true;whiteList["list-style-position"]=true;whiteList["list-style-type"]=true;whiteList["margin"]=true;whiteList["margin-bottom"]=true;whiteList["margin-left"]=true;whiteList["margin-right"]=true;whiteList["margin-top"]=true;whiteList["marker-offset"]=false;whiteList["marker-side"]=false;whiteList["marks"]=false;whiteList["mask"]=false;whiteList["mask-box"]=false;whiteList["mask-box-outset"]=false;whiteList["mask-box-repeat"]=false;whiteList["mask-box-slice"]=false;whiteList["mask-box-source"]=false;whiteList["mask-box-width"]=false;whiteList["mask-clip"]=false;whiteList["mask-image"]=false;whiteList["mask-origin"]=false;whiteList["mask-position"]=false;whiteList["mask-repeat"]=false;whiteList["mask-size"]=false;whiteList["mask-source-type"]=false;whiteList["mask-type"]=false;whiteList["max-height"]=true;whiteList["max-lines"]=false;whiteList["max-width"]=true;whiteList["min-height"]=true;whiteList["min-width"]=true;whiteList["move-to"]=false;whiteList["nav-down"]=false;whiteList["nav-index"]=false;whiteList["nav-left"]=false;whiteList["nav-right"]=false;whiteList["nav-up"]=false;whiteList["object-fit"]=false;whiteList["object-position"]=false;whiteList["opacity"]=false;whiteList["order"]=false;whiteList["orphans"]=false;whiteList["outline"]=false;whiteList["outline-color"]=false;whiteList["outline-offset"]=false;whiteList["outline-style"]=false;whiteList["outline-width"]=false;whiteList["overflow"]=false;whiteList["overflow-wrap"]=false;whiteList["overflow-x"]=false;whiteList["overflow-y"]=false;whiteList["padding"]=true;whiteList["padding-bottom"]=true;whiteList["padding-left"]=true;whiteList["padding-right"]=true;whiteList["padding-top"]=true;whiteList["page"]=false;whiteList["page-break-after"]=false;whiteList["page-break-before"]=false;whiteList["page-break-inside"]=false;whiteList["page-policy"]=false;whiteList["pause"]=false;whiteList["pause-after"]=false;whiteList["pause-before"]=false;whiteList["perspective"]=false;whiteList["perspective-origin"]=false;whiteList["pitch"]=false;whiteList["pitch-range"]=false;whiteList["play-during"]=false;whiteList["position"]=false;whiteList["presentation-level"]=false;whiteList["quotes"]=false;whiteList["region-fragment"]=false;whiteList["resize"]=false;whiteList["rest"]=false;whiteList["rest-after"]=false;whiteList["rest-before"]=false;whiteList["richness"]=false;whiteList["right"]=false;whiteList["rotation"]=false;whiteList["rotation-point"]=false;whiteList["ruby-align"]=false;whiteList["ruby-merge"]=false;whiteList["ruby-position"]=false;whiteList["shape-image-threshold"]=false;whiteList["shape-outside"]=false;whiteList["shape-margin"]=false;whiteList["size"]=false;whiteList["speak"]=false;whiteList["speak-as"]=false;whiteList["speak-header"]=false;whiteList["speak-numeral"]=false;whiteList["speak-punctuation"]=false;whiteList["speech-rate"]=false;whiteList["stress"]=false;whiteList["string-set"]=false;whiteList["tab-size"]=false;whiteList["table-layout"]=false;whiteList["text-align"]=true;whiteList["text-align-last"]=true;whiteList["text-combine-upright"]=true;whiteList["text-decoration"]=true;whiteList["text-decoration-color"]=true;whiteList["text-decoration-line"]=true;whiteList["text-decoration-skip"]=true;whiteList["text-decoration-style"]=true;whiteList["text-emphasis"]=true;whiteList["text-emphasis-color"]=true;whiteList["text-emphasis-position"]=true;whiteList["text-emphasis-style"]=true;whiteList["text-height"]=true;whiteList["text-indent"]=true;whiteList["text-justify"]=true;whiteList["text-orientation"]=true;whiteList["text-overflow"]=true;whiteList["text-shadow"]=true;whiteList["text-space-collapse"]=true;whiteList["text-transform"]=true;whiteList["text-underline-position"]=true;whiteList["text-wrap"]=true;whiteList["top"]=false;whiteList["transform"]=false;whiteList["transform-origin"]=false;whiteList["transform-style"]=false;whiteList["transition"]=false;whiteList["transition-delay"]=false;whiteList["transition-duration"]=false;whiteList["transition-property"]=false;whiteList["transition-timing-function"]=false;whiteList["unicode-bidi"]=false;whiteList["vertical-align"]=false;whiteList["visibility"]=false;whiteList["voice-balance"]=false;whiteList["voice-duration"]=false;whiteList["voice-family"]=false;whiteList["voice-pitch"]=false;whiteList["voice-range"]=false;whiteList["voice-rate"]=false;whiteList["voice-stress"]=false;whiteList["voice-volume"]=false;whiteList["volume"]=false;whiteList["white-space"]=false;whiteList["widows"]=false;whiteList["width"]=true;whiteList["will-change"]=false;whiteList["word-break"]=true;whiteList["word-spacing"]=true;whiteList["word-wrap"]=true;whiteList["wrap-flow"]=false;whiteList["wrap-through"]=false;whiteList["writing-mode"]=false;whiteList["z-index"]=false;return whiteList}function onAttr(name,value,options){}function onIgnoreAttr(name,value,options){}exports.whiteList=getDefaultWhiteList();exports.getDefaultWhiteList=getDefaultWhiteList;exports.onAttr=onAttr;exports.onIgnoreAttr=onIgnoreAttr},{}],8:[function(require,module,exports){var DEFAULT=require("./default");var FilterCSS=require("./css");function filterCSS(html,options){var xss=new FilterCSS(options);return xss.process(html)}exports=module.exports=filterCSS;exports.FilterCSS=FilterCSS;for(var i in DEFAULT)exports[i]=DEFAULT[i];if(typeof window!=="undefined"){window.filterCSS=module.exports}},{"./css":6,"./default":7}],9:[function(require,module,exports){var _=require("./util");function parseStyle(css,onAttr){css=_.trimRight(css);if(css[css.length-1]!==";")css+=";";var cssLength=css.length;var isParenthesisOpen=false;var lastPos=0;var i=0;var retCSS="";function addNewAttr(){if(!isParenthesisOpen){var source=_.trim(css.slice(lastPos,i));var j=source.indexOf(":");if(j!==-1){var name=_.trim(source.slice(0,j));var value=_.trim(source.slice(j+1));if(name){var ret=onAttr(lastPos,retCSS.length,name,value,source);if(ret)retCSS+=ret+"; "}}}lastPos=i+1}for(;i<cssLength;i++){var c=css[i];if(c==="/"&&css[i+1]==="*"){var j=css.indexOf("*/",i+2);if(j===-1)break;i=j+1;lastPos=i+1;isParenthesisOpen=false}else if(c==="("){isParenthesisOpen=true}else if(c===")"){isParenthesisOpen=false}else if(c===";"){if(isParenthesisOpen){}else{addNewAttr()}}else if(c==="\n"){addNewAttr()}}return _.trim(retCSS)}module.exports=parseStyle},{"./util":10}],10:[function(require,module,exports){module.exports={indexOf:function(arr,item){var i,j;if(Array.prototype.indexOf){return arr.indexOf(item)}for(i=0,j=arr.length;i<j;i++){if(arr[i]===item){return i}}return-1},forEach:function(arr,fn,scope){var i,j;if(Array.prototype.forEach){return arr.forEach(fn,scope)}for(i=0,j=arr.length;i<j;i++){fn.call(scope,arr[i],i,arr)}},trim:function(str){if(String.prototype.trim){return str.trim()}return str.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(str){if(String.prototype.trimRight){return str.trimRight()}return str.replace(/(\s*$)/g,"")}}},{}]},{},[2]);
|
@@ -0,0 +1,1256 @@
|
|
1
|
+
/*!
|
2
|
+
* ZeroClipboard
|
3
|
+
* The ZeroClipboard library provides an easy way to copy text to the clipboard using an invisible Adobe Flash movie and a JavaScript interface.
|
4
|
+
* Copyright (c) 2014 Jon Rohan, James M. Greene
|
5
|
+
* Licensed MIT
|
6
|
+
* http://zeroclipboard.org/
|
7
|
+
* v2.0.0-beta.5
|
8
|
+
*/
|
9
|
+
(function(window) {
|
10
|
+
"use strict";
|
11
|
+
var _currentElement;
|
12
|
+
var _flashState = {
|
13
|
+
bridge: null,
|
14
|
+
version: "0.0.0",
|
15
|
+
pluginType: "unknown",
|
16
|
+
disabled: null,
|
17
|
+
outdated: null,
|
18
|
+
unavailable: null,
|
19
|
+
deactivated: null,
|
20
|
+
overdue: null,
|
21
|
+
ready: null
|
22
|
+
};
|
23
|
+
var _clipData = {};
|
24
|
+
var _clipDataFormatMap = null;
|
25
|
+
var _clientIdCounter = 0;
|
26
|
+
var _clientMeta = {};
|
27
|
+
var _elementIdCounter = 0;
|
28
|
+
var _elementMeta = {};
|
29
|
+
var _swfPath = function() {
|
30
|
+
var i, jsDir, tmpJsPath, jsPath, swfPath = "ZeroClipboard.swf";
|
31
|
+
if (!(document.currentScript && (jsPath = document.currentScript.src))) {
|
32
|
+
var scripts = document.getElementsByTagName("script");
|
33
|
+
if ("readyState" in scripts[0]) {
|
34
|
+
for (i = scripts.length; i--; ) {
|
35
|
+
if (scripts[i].readyState === "interactive" && (jsPath = scripts[i].src)) {
|
36
|
+
break;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
} else if (document.readyState === "loading") {
|
40
|
+
jsPath = scripts[scripts.length - 1].src;
|
41
|
+
} else {
|
42
|
+
for (i = scripts.length; i--; ) {
|
43
|
+
tmpJsPath = scripts[i].src;
|
44
|
+
if (!tmpJsPath) {
|
45
|
+
jsDir = null;
|
46
|
+
break;
|
47
|
+
}
|
48
|
+
tmpJsPath = tmpJsPath.split("#")[0].split("?")[0];
|
49
|
+
tmpJsPath = tmpJsPath.slice(0, tmpJsPath.lastIndexOf("/") + 1);
|
50
|
+
if (jsDir == null) {
|
51
|
+
jsDir = tmpJsPath;
|
52
|
+
} else if (jsDir !== tmpJsPath) {
|
53
|
+
jsDir = null;
|
54
|
+
break;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
if (jsDir !== null) {
|
58
|
+
jsPath = jsDir;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
}
|
62
|
+
if (jsPath) {
|
63
|
+
jsPath = jsPath.split("#")[0].split("?")[0];
|
64
|
+
swfPath = jsPath.slice(0, jsPath.lastIndexOf("/") + 1) + swfPath;
|
65
|
+
}
|
66
|
+
return swfPath;
|
67
|
+
}();
|
68
|
+
var _camelizeCssPropName = function() {
|
69
|
+
var matcherRegex = /\-([a-z])/g, replacerFn = function(match, group) {
|
70
|
+
return group.toUpperCase();
|
71
|
+
};
|
72
|
+
return function(prop) {
|
73
|
+
return prop.replace(matcherRegex, replacerFn);
|
74
|
+
};
|
75
|
+
}();
|
76
|
+
var _getStyle = function(el, prop) {
|
77
|
+
var value, camelProp, tagName;
|
78
|
+
if (window.getComputedStyle) {
|
79
|
+
value = window.getComputedStyle(el, null).getPropertyValue(prop);
|
80
|
+
} else {
|
81
|
+
camelProp = _camelizeCssPropName(prop);
|
82
|
+
if (el.currentStyle) {
|
83
|
+
value = el.currentStyle[camelProp];
|
84
|
+
} else {
|
85
|
+
value = el.style[camelProp];
|
86
|
+
}
|
87
|
+
}
|
88
|
+
if (prop === "cursor") {
|
89
|
+
if (!value || value === "auto") {
|
90
|
+
tagName = el.tagName.toLowerCase();
|
91
|
+
if (tagName === "a") {
|
92
|
+
return "pointer";
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
return value;
|
97
|
+
};
|
98
|
+
var _elementMouseOver = function(event) {
|
99
|
+
if (!event) {
|
100
|
+
event = window.event;
|
101
|
+
}
|
102
|
+
var target;
|
103
|
+
if (this !== window) {
|
104
|
+
target = this;
|
105
|
+
} else if (event.target) {
|
106
|
+
target = event.target;
|
107
|
+
} else if (event.srcElement) {
|
108
|
+
target = event.srcElement;
|
109
|
+
}
|
110
|
+
ZeroClipboard.activate(target);
|
111
|
+
};
|
112
|
+
var _addEventHandler = function(element, method, func) {
|
113
|
+
if (!element || element.nodeType !== 1) {
|
114
|
+
return;
|
115
|
+
}
|
116
|
+
if (element.addEventListener) {
|
117
|
+
element.addEventListener(method, func, false);
|
118
|
+
} else if (element.attachEvent) {
|
119
|
+
element.attachEvent("on" + method, func);
|
120
|
+
}
|
121
|
+
};
|
122
|
+
var _removeEventHandler = function(element, method, func) {
|
123
|
+
if (!element || element.nodeType !== 1) {
|
124
|
+
return;
|
125
|
+
}
|
126
|
+
if (element.removeEventListener) {
|
127
|
+
element.removeEventListener(method, func, false);
|
128
|
+
} else if (element.detachEvent) {
|
129
|
+
element.detachEvent("on" + method, func);
|
130
|
+
}
|
131
|
+
};
|
132
|
+
var _addClass = function(element, value) {
|
133
|
+
if (!element || element.nodeType !== 1) {
|
134
|
+
return element;
|
135
|
+
}
|
136
|
+
if (element.classList) {
|
137
|
+
if (!element.classList.contains(value)) {
|
138
|
+
element.classList.add(value);
|
139
|
+
}
|
140
|
+
return element;
|
141
|
+
}
|
142
|
+
if (value && typeof value === "string") {
|
143
|
+
var classNames = (value || "").split(/\s+/);
|
144
|
+
if (element.nodeType === 1) {
|
145
|
+
if (!element.className) {
|
146
|
+
element.className = value;
|
147
|
+
} else {
|
148
|
+
var className = " " + element.className + " ", setClass = element.className;
|
149
|
+
for (var c = 0, cl = classNames.length; c < cl; c++) {
|
150
|
+
if (className.indexOf(" " + classNames[c] + " ") < 0) {
|
151
|
+
setClass += " " + classNames[c];
|
152
|
+
}
|
153
|
+
}
|
154
|
+
element.className = setClass.replace(/^\s+|\s+$/g, "");
|
155
|
+
}
|
156
|
+
}
|
157
|
+
}
|
158
|
+
return element;
|
159
|
+
};
|
160
|
+
var _removeClass = function(element, value) {
|
161
|
+
if (!element || element.nodeType !== 1) {
|
162
|
+
return element;
|
163
|
+
}
|
164
|
+
if (element.classList) {
|
165
|
+
if (element.classList.contains(value)) {
|
166
|
+
element.classList.remove(value);
|
167
|
+
}
|
168
|
+
return element;
|
169
|
+
}
|
170
|
+
if (value && typeof value === "string" || value === undefined) {
|
171
|
+
var classNames = (value || "").split(/\s+/);
|
172
|
+
if (element.nodeType === 1 && element.className) {
|
173
|
+
if (value) {
|
174
|
+
var className = (" " + element.className + " ").replace(/[\n\t]/g, " ");
|
175
|
+
for (var c = 0, cl = classNames.length; c < cl; c++) {
|
176
|
+
className = className.replace(" " + classNames[c] + " ", " ");
|
177
|
+
}
|
178
|
+
element.className = className.replace(/^\s+|\s+$/g, "");
|
179
|
+
} else {
|
180
|
+
element.className = "";
|
181
|
+
}
|
182
|
+
}
|
183
|
+
}
|
184
|
+
return element;
|
185
|
+
};
|
186
|
+
var _getZoomFactor = function() {
|
187
|
+
var rect, physicalWidth, logicalWidth, zoomFactor = 1;
|
188
|
+
if (typeof document.body.getBoundingClientRect === "function") {
|
189
|
+
rect = document.body.getBoundingClientRect();
|
190
|
+
physicalWidth = rect.right - rect.left;
|
191
|
+
logicalWidth = document.body.offsetWidth;
|
192
|
+
zoomFactor = Math.round(physicalWidth / logicalWidth * 100) / 100;
|
193
|
+
}
|
194
|
+
return zoomFactor;
|
195
|
+
};
|
196
|
+
var _getDOMObjectPosition = function(obj, defaultZIndex) {
|
197
|
+
var info = {
|
198
|
+
left: 0,
|
199
|
+
top: 0,
|
200
|
+
width: 0,
|
201
|
+
height: 0,
|
202
|
+
zIndex: _getSafeZIndex(defaultZIndex) - 1
|
203
|
+
};
|
204
|
+
if (obj.getBoundingClientRect) {
|
205
|
+
var rect = obj.getBoundingClientRect();
|
206
|
+
var pageXOffset, pageYOffset, zoomFactor;
|
207
|
+
if ("pageXOffset" in window && "pageYOffset" in window) {
|
208
|
+
pageXOffset = window.pageXOffset;
|
209
|
+
pageYOffset = window.pageYOffset;
|
210
|
+
} else {
|
211
|
+
zoomFactor = _getZoomFactor();
|
212
|
+
pageXOffset = Math.round(document.documentElement.scrollLeft / zoomFactor);
|
213
|
+
pageYOffset = Math.round(document.documentElement.scrollTop / zoomFactor);
|
214
|
+
}
|
215
|
+
var leftBorderWidth = document.documentElement.clientLeft || 0;
|
216
|
+
var topBorderWidth = document.documentElement.clientTop || 0;
|
217
|
+
info.left = rect.left + pageXOffset - leftBorderWidth;
|
218
|
+
info.top = rect.top + pageYOffset - topBorderWidth;
|
219
|
+
info.width = "width" in rect ? rect.width : rect.right - rect.left;
|
220
|
+
info.height = "height" in rect ? rect.height : rect.bottom - rect.top;
|
221
|
+
}
|
222
|
+
return info;
|
223
|
+
};
|
224
|
+
var _cacheBust = function(path, options) {
|
225
|
+
var cacheBust = options == null || options && options.cacheBust === true;
|
226
|
+
if (cacheBust) {
|
227
|
+
return (path.indexOf("?") === -1 ? "?" : "&") + "noCache=" + new Date().getTime();
|
228
|
+
} else {
|
229
|
+
return "";
|
230
|
+
}
|
231
|
+
};
|
232
|
+
var _vars = function(options) {
|
233
|
+
var i, len, domain, domains, str = "", trustedOriginsExpanded = [];
|
234
|
+
if (options.trustedDomains) {
|
235
|
+
if (typeof options.trustedDomains === "string") {
|
236
|
+
domains = [ options.trustedDomains ];
|
237
|
+
} else if (typeof options.trustedDomains === "object" && "length" in options.trustedDomains) {
|
238
|
+
domains = options.trustedDomains;
|
239
|
+
}
|
240
|
+
}
|
241
|
+
if (domains && domains.length) {
|
242
|
+
for (i = 0, len = domains.length; i < len; i++) {
|
243
|
+
if (domains.hasOwnProperty(i) && domains[i] && typeof domains[i] === "string") {
|
244
|
+
domain = _extractDomain(domains[i]);
|
245
|
+
if (!domain) {
|
246
|
+
continue;
|
247
|
+
}
|
248
|
+
if (domain === "*") {
|
249
|
+
trustedOriginsExpanded = [ domain ];
|
250
|
+
break;
|
251
|
+
}
|
252
|
+
trustedOriginsExpanded.push.apply(trustedOriginsExpanded, [ domain, "//" + domain, window.location.protocol + "//" + domain ]);
|
253
|
+
}
|
254
|
+
}
|
255
|
+
}
|
256
|
+
if (trustedOriginsExpanded.length) {
|
257
|
+
str += "trustedOrigins=" + encodeURIComponent(trustedOriginsExpanded.join(","));
|
258
|
+
}
|
259
|
+
if (options.forceEnhancedClipboard === true) {
|
260
|
+
str += (str ? "&" : "") + "forceEnhancedClipboard=true";
|
261
|
+
}
|
262
|
+
return str;
|
263
|
+
};
|
264
|
+
var _inArray = function(elem, array, fromIndex) {
|
265
|
+
if (typeof array.indexOf === "function") {
|
266
|
+
return array.indexOf(elem, fromIndex);
|
267
|
+
}
|
268
|
+
var i, len = array.length;
|
269
|
+
if (typeof fromIndex === "undefined") {
|
270
|
+
fromIndex = 0;
|
271
|
+
} else if (fromIndex < 0) {
|
272
|
+
fromIndex = len + fromIndex;
|
273
|
+
}
|
274
|
+
for (i = fromIndex; i < len; i++) {
|
275
|
+
if (array.hasOwnProperty(i) && array[i] === elem) {
|
276
|
+
return i;
|
277
|
+
}
|
278
|
+
}
|
279
|
+
return -1;
|
280
|
+
};
|
281
|
+
var _prepClip = function(elements) {
|
282
|
+
if (typeof elements === "string") {
|
283
|
+
throw new TypeError("ZeroClipboard doesn't accept query strings.");
|
284
|
+
}
|
285
|
+
return typeof elements.length !== "number" ? [ elements ] : elements;
|
286
|
+
};
|
287
|
+
var _dispatchCallback = function(func, context, args, async) {
|
288
|
+
if (async) {
|
289
|
+
window.setTimeout(function() {
|
290
|
+
func.apply(context, args);
|
291
|
+
}, 0);
|
292
|
+
} else {
|
293
|
+
func.apply(context, args);
|
294
|
+
}
|
295
|
+
};
|
296
|
+
var _getSafeZIndex = function(val) {
|
297
|
+
var zIndex, tmp;
|
298
|
+
if (val) {
|
299
|
+
if (typeof val === "number" && val > 0) {
|
300
|
+
zIndex = val;
|
301
|
+
} else if (typeof val === "string" && (tmp = parseInt(val, 10)) && !isNaN(tmp) && tmp > 0) {
|
302
|
+
zIndex = tmp;
|
303
|
+
}
|
304
|
+
}
|
305
|
+
if (!zIndex) {
|
306
|
+
if (typeof _globalConfig.zIndex === "number" && _globalConfig.zIndex > 0) {
|
307
|
+
zIndex = _globalConfig.zIndex;
|
308
|
+
} else if (typeof _globalConfig.zIndex === "string" && (tmp = parseInt(_globalConfig.zIndex, 10)) && !isNaN(tmp) && tmp > 0) {
|
309
|
+
zIndex = tmp;
|
310
|
+
}
|
311
|
+
}
|
312
|
+
return zIndex || 0;
|
313
|
+
};
|
314
|
+
var _extend = function() {
|
315
|
+
var i, len, arg, prop, src, copy, target = arguments[0] || {};
|
316
|
+
for (i = 1, len = arguments.length; i < len; i++) {
|
317
|
+
if ((arg = arguments[i]) != null) {
|
318
|
+
for (prop in arg) {
|
319
|
+
if (arg.hasOwnProperty(prop)) {
|
320
|
+
src = target[prop];
|
321
|
+
copy = arg[prop];
|
322
|
+
if (target === copy) {
|
323
|
+
continue;
|
324
|
+
}
|
325
|
+
if (copy !== undefined) {
|
326
|
+
target[prop] = copy;
|
327
|
+
}
|
328
|
+
}
|
329
|
+
}
|
330
|
+
}
|
331
|
+
}
|
332
|
+
return target;
|
333
|
+
};
|
334
|
+
var _extractDomain = function(originOrUrl) {
|
335
|
+
if (originOrUrl == null || originOrUrl === "") {
|
336
|
+
return null;
|
337
|
+
}
|
338
|
+
originOrUrl = originOrUrl.replace(/^\s+|\s+$/g, "");
|
339
|
+
if (originOrUrl === "") {
|
340
|
+
return null;
|
341
|
+
}
|
342
|
+
var protocolIndex = originOrUrl.indexOf("//");
|
343
|
+
originOrUrl = protocolIndex === -1 ? originOrUrl : originOrUrl.slice(protocolIndex + 2);
|
344
|
+
var pathIndex = originOrUrl.indexOf("/");
|
345
|
+
originOrUrl = pathIndex === -1 ? originOrUrl : protocolIndex === -1 || pathIndex === 0 ? null : originOrUrl.slice(0, pathIndex);
|
346
|
+
if (originOrUrl && originOrUrl.slice(-4).toLowerCase() === ".swf") {
|
347
|
+
return null;
|
348
|
+
}
|
349
|
+
return originOrUrl || null;
|
350
|
+
};
|
351
|
+
var _determineScriptAccess = function() {
|
352
|
+
var _extractAllDomains = function(origins, resultsArray) {
|
353
|
+
var i, len, tmp;
|
354
|
+
if (origins == null || resultsArray[0] === "*") {
|
355
|
+
return;
|
356
|
+
}
|
357
|
+
if (typeof origins === "string") {
|
358
|
+
origins = [ origins ];
|
359
|
+
}
|
360
|
+
if (!(typeof origins === "object" && typeof origins.length === "number")) {
|
361
|
+
return;
|
362
|
+
}
|
363
|
+
for (i = 0, len = origins.length; i < len; i++) {
|
364
|
+
if (origins.hasOwnProperty(i) && (tmp = _extractDomain(origins[i]))) {
|
365
|
+
if (tmp === "*") {
|
366
|
+
resultsArray.length = 0;
|
367
|
+
resultsArray.push("*");
|
368
|
+
break;
|
369
|
+
}
|
370
|
+
if (_inArray(tmp, resultsArray) === -1) {
|
371
|
+
resultsArray.push(tmp);
|
372
|
+
}
|
373
|
+
}
|
374
|
+
}
|
375
|
+
};
|
376
|
+
return function(currentDomain, configOptions) {
|
377
|
+
var swfDomain = _extractDomain(configOptions.swfPath);
|
378
|
+
if (swfDomain === null) {
|
379
|
+
swfDomain = currentDomain;
|
380
|
+
}
|
381
|
+
var trustedDomains = [];
|
382
|
+
_extractAllDomains(configOptions.trustedOrigins, trustedDomains);
|
383
|
+
_extractAllDomains(configOptions.trustedDomains, trustedDomains);
|
384
|
+
var len = trustedDomains.length;
|
385
|
+
if (len > 0) {
|
386
|
+
if (len === 1 && trustedDomains[0] === "*") {
|
387
|
+
return "always";
|
388
|
+
}
|
389
|
+
if (_inArray(currentDomain, trustedDomains) !== -1) {
|
390
|
+
if (len === 1 && currentDomain === swfDomain) {
|
391
|
+
return "sameDomain";
|
392
|
+
}
|
393
|
+
return "always";
|
394
|
+
}
|
395
|
+
}
|
396
|
+
return "never";
|
397
|
+
};
|
398
|
+
}();
|
399
|
+
var _objectKeys = function(obj) {
|
400
|
+
if (obj == null) {
|
401
|
+
return [];
|
402
|
+
}
|
403
|
+
if (Object.keys) {
|
404
|
+
return Object.keys(obj);
|
405
|
+
}
|
406
|
+
var keys = [];
|
407
|
+
for (var prop in obj) {
|
408
|
+
if (obj.hasOwnProperty(prop)) {
|
409
|
+
keys.push(prop);
|
410
|
+
}
|
411
|
+
}
|
412
|
+
return keys;
|
413
|
+
};
|
414
|
+
var _deleteOwnProperties = function(obj) {
|
415
|
+
if (obj) {
|
416
|
+
for (var prop in obj) {
|
417
|
+
if (obj.hasOwnProperty(prop)) {
|
418
|
+
delete obj[prop];
|
419
|
+
}
|
420
|
+
}
|
421
|
+
}
|
422
|
+
return obj;
|
423
|
+
};
|
424
|
+
var _safeActiveElement = function() {
|
425
|
+
try {
|
426
|
+
return document.activeElement;
|
427
|
+
} catch (err) {}
|
428
|
+
return null;
|
429
|
+
};
|
430
|
+
var _pick = function(obj, keys) {
|
431
|
+
var newObj = {};
|
432
|
+
for (var i = 0, len = keys.length; i < len; i++) {
|
433
|
+
if (keys[i] in obj) {
|
434
|
+
newObj[keys[i]] = obj[keys[i]];
|
435
|
+
}
|
436
|
+
}
|
437
|
+
return newObj;
|
438
|
+
};
|
439
|
+
var _omit = function(obj, keys) {
|
440
|
+
var newObj = {};
|
441
|
+
for (var prop in obj) {
|
442
|
+
if (_inArray(prop, keys) === -1) {
|
443
|
+
newObj[prop] = obj[prop];
|
444
|
+
}
|
445
|
+
}
|
446
|
+
return newObj;
|
447
|
+
};
|
448
|
+
var _mapClipDataToFlash = function(clipData) {
|
449
|
+
var newClipData = {}, formatMap = {};
|
450
|
+
if (!(typeof clipData === "object" && clipData)) {
|
451
|
+
return;
|
452
|
+
}
|
453
|
+
for (var dataFormat in clipData) {
|
454
|
+
if (dataFormat && clipData.hasOwnProperty(dataFormat) && typeof clipData[dataFormat] === "string" && clipData[dataFormat]) {
|
455
|
+
switch (dataFormat.toLowerCase()) {
|
456
|
+
case "text/plain":
|
457
|
+
case "text":
|
458
|
+
case "air:text":
|
459
|
+
case "flash:text":
|
460
|
+
newClipData.text = clipData[dataFormat];
|
461
|
+
formatMap.text = dataFormat;
|
462
|
+
break;
|
463
|
+
|
464
|
+
case "text/html":
|
465
|
+
case "html":
|
466
|
+
case "air:html":
|
467
|
+
case "flash:html":
|
468
|
+
newClipData.html = clipData[dataFormat];
|
469
|
+
formatMap.html = dataFormat;
|
470
|
+
break;
|
471
|
+
|
472
|
+
case "application/rtf":
|
473
|
+
case "text/rtf":
|
474
|
+
case "rtf":
|
475
|
+
case "richtext":
|
476
|
+
case "air:rtf":
|
477
|
+
case "flash:rtf":
|
478
|
+
newClipData.rtf = clipData[dataFormat];
|
479
|
+
formatMap.rtf = dataFormat;
|
480
|
+
break;
|
481
|
+
|
482
|
+
default:
|
483
|
+
break;
|
484
|
+
}
|
485
|
+
}
|
486
|
+
}
|
487
|
+
return {
|
488
|
+
data: newClipData,
|
489
|
+
formatMap: formatMap
|
490
|
+
};
|
491
|
+
};
|
492
|
+
var _mapClipResultsFromFlash = function(clipResults, formatMap) {
|
493
|
+
if (!(typeof clipResults === "object" && clipResults && typeof formatMap === "object" && formatMap)) {
|
494
|
+
return clipResults;
|
495
|
+
}
|
496
|
+
var newResults = {};
|
497
|
+
for (var prop in clipResults) {
|
498
|
+
if (clipResults.hasOwnProperty(prop)) {
|
499
|
+
if (prop !== "success" && prop !== "data") {
|
500
|
+
newResults[prop] = clipResults[prop];
|
501
|
+
continue;
|
502
|
+
}
|
503
|
+
newResults[prop] = {};
|
504
|
+
var tmpHash = clipResults[prop];
|
505
|
+
for (var dataFormat in tmpHash) {
|
506
|
+
if (dataFormat && tmpHash.hasOwnProperty(dataFormat) && formatMap.hasOwnProperty(dataFormat)) {
|
507
|
+
newResults[prop][formatMap[dataFormat]] = tmpHash[dataFormat];
|
508
|
+
}
|
509
|
+
}
|
510
|
+
}
|
511
|
+
}
|
512
|
+
return newResults;
|
513
|
+
};
|
514
|
+
var _args = function(arraySlice) {
|
515
|
+
return function(args) {
|
516
|
+
return arraySlice.call(args, 0);
|
517
|
+
};
|
518
|
+
}(window.Array.prototype.slice);
|
519
|
+
var _detectFlashSupport = function() {
|
520
|
+
var plugin, ax, mimeType, hasFlash = false, isActiveX = false, isPPAPI = false, flashVersion = "";
|
521
|
+
function parseFlashVersion(desc) {
|
522
|
+
var matches = desc.match(/[\d]+/g);
|
523
|
+
matches.length = 3;
|
524
|
+
return matches.join(".");
|
525
|
+
}
|
526
|
+
function isPepperFlash(flashPlayerFileName) {
|
527
|
+
return !!flashPlayerFileName && (flashPlayerFileName = flashPlayerFileName.toLowerCase()) && (/^(pepflashplayer\.dll|libpepflashplayer\.so|pepperflashplayer\.plugin)$/.test(flashPlayerFileName) || flashPlayerFileName.slice(-13) === "chrome.plugin");
|
528
|
+
}
|
529
|
+
function inspectPlugin(plugin) {
|
530
|
+
if (plugin) {
|
531
|
+
hasFlash = true;
|
532
|
+
if (plugin.version) {
|
533
|
+
flashVersion = parseFlashVersion(plugin.version);
|
534
|
+
}
|
535
|
+
if (!flashVersion && plugin.description) {
|
536
|
+
flashVersion = parseFlashVersion(plugin.description);
|
537
|
+
}
|
538
|
+
if (plugin.filename) {
|
539
|
+
isPPAPI = isPepperFlash(plugin.filename);
|
540
|
+
}
|
541
|
+
}
|
542
|
+
}
|
543
|
+
if (navigator.plugins && navigator.plugins.length) {
|
544
|
+
plugin = navigator.plugins["Shockwave Flash"];
|
545
|
+
inspectPlugin(plugin);
|
546
|
+
if (navigator.plugins["Shockwave Flash 2.0"]) {
|
547
|
+
hasFlash = true;
|
548
|
+
flashVersion = "2.0.0.11";
|
549
|
+
}
|
550
|
+
} else if (navigator.mimeTypes && navigator.mimeTypes.length) {
|
551
|
+
mimeType = navigator.mimeTypes["application/x-shockwave-flash"];
|
552
|
+
plugin = mimeType && mimeType.enabledPlugin;
|
553
|
+
inspectPlugin(plugin);
|
554
|
+
} else if (typeof ActiveXObject !== "undefined") {
|
555
|
+
isActiveX = true;
|
556
|
+
try {
|
557
|
+
ax = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
|
558
|
+
hasFlash = true;
|
559
|
+
flashVersion = parseFlashVersion(ax.GetVariable("$version"));
|
560
|
+
} catch (e1) {
|
561
|
+
try {
|
562
|
+
ax = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
|
563
|
+
hasFlash = true;
|
564
|
+
flashVersion = "6.0.21";
|
565
|
+
} catch (e2) {
|
566
|
+
try {
|
567
|
+
ax = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
|
568
|
+
hasFlash = true;
|
569
|
+
flashVersion = parseFlashVersion(ax.GetVariable("$version"));
|
570
|
+
} catch (e3) {
|
571
|
+
isActiveX = false;
|
572
|
+
}
|
573
|
+
}
|
574
|
+
}
|
575
|
+
}
|
576
|
+
_flashState.disabled = hasFlash !== true;
|
577
|
+
_flashState.outdated = flashVersion && parseFloat(flashVersion) < 11;
|
578
|
+
_flashState.version = flashVersion || "0.0.0";
|
579
|
+
_flashState.pluginType = isPPAPI ? "pepper" : isActiveX ? "activex" : hasFlash ? "netscape" : "unknown";
|
580
|
+
};
|
581
|
+
_detectFlashSupport();
|
582
|
+
var ZeroClipboard = function(elements) {
|
583
|
+
if (!(this instanceof ZeroClipboard)) {
|
584
|
+
return new ZeroClipboard(elements);
|
585
|
+
}
|
586
|
+
this.id = "" + _clientIdCounter++;
|
587
|
+
_clientMeta[this.id] = {
|
588
|
+
instance: this,
|
589
|
+
elements: [],
|
590
|
+
handlers: {}
|
591
|
+
};
|
592
|
+
if (elements) {
|
593
|
+
this.clip(elements);
|
594
|
+
}
|
595
|
+
if (typeof _flashState.ready !== "boolean") {
|
596
|
+
_flashState.ready = false;
|
597
|
+
}
|
598
|
+
if (!ZeroClipboard.isFlashUnusable() && _flashState.bridge === null) {
|
599
|
+
var _client = this;
|
600
|
+
var maxWait = _globalConfig.flashLoadTimeout;
|
601
|
+
if (typeof maxWait === "number" && maxWait >= 0) {
|
602
|
+
setTimeout(function() {
|
603
|
+
if (typeof _flashState.deactivated !== "boolean") {
|
604
|
+
_flashState.deactivated = true;
|
605
|
+
}
|
606
|
+
if (_flashState.deactivated === true) {
|
607
|
+
ZeroClipboard.emit({
|
608
|
+
type: "error",
|
609
|
+
name: "flash-deactivated",
|
610
|
+
client: _client
|
611
|
+
});
|
612
|
+
}
|
613
|
+
}, maxWait);
|
614
|
+
}
|
615
|
+
_flashState.overdue = false;
|
616
|
+
_bridge();
|
617
|
+
}
|
618
|
+
};
|
619
|
+
ZeroClipboard.prototype.setText = function(text) {
|
620
|
+
ZeroClipboard.setData("text/plain", text);
|
621
|
+
return this;
|
622
|
+
};
|
623
|
+
ZeroClipboard.prototype.setHtml = function(html) {
|
624
|
+
ZeroClipboard.setData("text/html", html);
|
625
|
+
return this;
|
626
|
+
};
|
627
|
+
ZeroClipboard.prototype.setRichText = function(richText) {
|
628
|
+
ZeroClipboard.setData("application/rtf", richText);
|
629
|
+
return this;
|
630
|
+
};
|
631
|
+
ZeroClipboard.prototype.setData = function() {
|
632
|
+
ZeroClipboard.setData.apply(ZeroClipboard, _args(arguments));
|
633
|
+
return this;
|
634
|
+
};
|
635
|
+
ZeroClipboard.prototype.clearData = function() {
|
636
|
+
ZeroClipboard.clearData.apply(ZeroClipboard, _args(arguments));
|
637
|
+
return this;
|
638
|
+
};
|
639
|
+
ZeroClipboard.prototype.setSize = function(width, height) {
|
640
|
+
_setSize(width, height);
|
641
|
+
return this;
|
642
|
+
};
|
643
|
+
var _setHandCursor = function(enabled) {
|
644
|
+
if (_flashState.ready === true && _flashState.bridge && typeof _flashState.bridge.setHandCursor === "function") {
|
645
|
+
_flashState.bridge.setHandCursor(enabled);
|
646
|
+
} else {
|
647
|
+
_flashState.ready = false;
|
648
|
+
}
|
649
|
+
};
|
650
|
+
ZeroClipboard.prototype.destroy = function() {
|
651
|
+
this.unclip();
|
652
|
+
this.off();
|
653
|
+
delete _clientMeta[this.id];
|
654
|
+
};
|
655
|
+
var _getAllClients = function() {
|
656
|
+
var i, len, client, clients = [], clientIds = _objectKeys(_clientMeta);
|
657
|
+
for (i = 0, len = clientIds.length; i < len; i++) {
|
658
|
+
client = _clientMeta[clientIds[i]].instance;
|
659
|
+
if (client && client instanceof ZeroClipboard) {
|
660
|
+
clients.push(client);
|
661
|
+
}
|
662
|
+
}
|
663
|
+
return clients;
|
664
|
+
};
|
665
|
+
ZeroClipboard.version = "2.0.0-beta.5";
|
666
|
+
var _globalConfig = {
|
667
|
+
swfPath: _swfPath,
|
668
|
+
trustedDomains: window.location.host ? [ window.location.host ] : [],
|
669
|
+
cacheBust: true,
|
670
|
+
forceHandCursor: false,
|
671
|
+
forceEnhancedClipboard: false,
|
672
|
+
zIndex: 999999999,
|
673
|
+
debug: false,
|
674
|
+
title: null,
|
675
|
+
autoActivate: true,
|
676
|
+
flashLoadTimeout: 3e4
|
677
|
+
};
|
678
|
+
ZeroClipboard.isFlashUnusable = function() {
|
679
|
+
return !!(_flashState.disabled || _flashState.outdated || _flashState.unavailable || _flashState.deactivated);
|
680
|
+
};
|
681
|
+
ZeroClipboard.config = function(options) {
|
682
|
+
if (typeof options === "object" && options !== null) {
|
683
|
+
_extend(_globalConfig, options);
|
684
|
+
}
|
685
|
+
if (typeof options === "string" && options) {
|
686
|
+
if (_globalConfig.hasOwnProperty(options)) {
|
687
|
+
return _globalConfig[options];
|
688
|
+
}
|
689
|
+
return;
|
690
|
+
}
|
691
|
+
var copy = {};
|
692
|
+
for (var prop in _globalConfig) {
|
693
|
+
if (_globalConfig.hasOwnProperty(prop)) {
|
694
|
+
if (typeof _globalConfig[prop] === "object" && _globalConfig[prop] !== null) {
|
695
|
+
if ("length" in _globalConfig[prop]) {
|
696
|
+
copy[prop] = _globalConfig[prop].slice(0);
|
697
|
+
} else {
|
698
|
+
copy[prop] = _extend({}, _globalConfig[prop]);
|
699
|
+
}
|
700
|
+
} else {
|
701
|
+
copy[prop] = _globalConfig[prop];
|
702
|
+
}
|
703
|
+
}
|
704
|
+
}
|
705
|
+
return copy;
|
706
|
+
};
|
707
|
+
ZeroClipboard.destroy = function() {
|
708
|
+
ZeroClipboard.deactivate();
|
709
|
+
for (var clientId in _clientMeta) {
|
710
|
+
if (_clientMeta.hasOwnProperty(clientId) && _clientMeta[clientId]) {
|
711
|
+
var client = _clientMeta[clientId].instance;
|
712
|
+
if (client && typeof client.destroy === "function") {
|
713
|
+
client.destroy();
|
714
|
+
}
|
715
|
+
}
|
716
|
+
}
|
717
|
+
var flashBridge = _flashState.bridge;
|
718
|
+
if (flashBridge) {
|
719
|
+
var htmlBridge = _getHtmlBridge(flashBridge);
|
720
|
+
if (htmlBridge) {
|
721
|
+
if (_flashState.pluginType === "activex" && "readyState" in flashBridge) {
|
722
|
+
flashBridge.style.display = "none";
|
723
|
+
(function removeSwfFromIE() {
|
724
|
+
if (flashBridge.readyState === 4) {
|
725
|
+
for (var prop in flashBridge) {
|
726
|
+
if (typeof flashBridge[prop] === "function") {
|
727
|
+
flashBridge[prop] = null;
|
728
|
+
}
|
729
|
+
}
|
730
|
+
flashBridge.parentNode.removeChild(flashBridge);
|
731
|
+
if (htmlBridge.parentNode) {
|
732
|
+
htmlBridge.parentNode.removeChild(htmlBridge);
|
733
|
+
}
|
734
|
+
} else {
|
735
|
+
setTimeout(removeSwfFromIE, 10);
|
736
|
+
}
|
737
|
+
})();
|
738
|
+
} else {
|
739
|
+
flashBridge.parentNode.removeChild(flashBridge);
|
740
|
+
if (htmlBridge.parentNode) {
|
741
|
+
htmlBridge.parentNode.removeChild(htmlBridge);
|
742
|
+
}
|
743
|
+
}
|
744
|
+
}
|
745
|
+
_flashState.ready = null;
|
746
|
+
_flashState.bridge = null;
|
747
|
+
_flashState.deactivated = null;
|
748
|
+
}
|
749
|
+
ZeroClipboard.clearData();
|
750
|
+
};
|
751
|
+
ZeroClipboard.activate = function(element) {
|
752
|
+
if (_currentElement) {
|
753
|
+
_removeClass(_currentElement, _globalConfig.hoverClass);
|
754
|
+
_removeClass(_currentElement, _globalConfig.activeClass);
|
755
|
+
}
|
756
|
+
_currentElement = element;
|
757
|
+
_addClass(element, _globalConfig.hoverClass);
|
758
|
+
_reposition();
|
759
|
+
var newTitle = _globalConfig.title || element.getAttribute("title");
|
760
|
+
if (newTitle) {
|
761
|
+
var htmlBridge = _getHtmlBridge(_flashState.bridge);
|
762
|
+
if (htmlBridge) {
|
763
|
+
htmlBridge.setAttribute("title", newTitle);
|
764
|
+
}
|
765
|
+
}
|
766
|
+
var useHandCursor = _globalConfig.forceHandCursor === true || _getStyle(element, "cursor") === "pointer";
|
767
|
+
_setHandCursor(useHandCursor);
|
768
|
+
};
|
769
|
+
ZeroClipboard.deactivate = function() {
|
770
|
+
var htmlBridge = _getHtmlBridge(_flashState.bridge);
|
771
|
+
if (htmlBridge) {
|
772
|
+
htmlBridge.removeAttribute("title");
|
773
|
+
htmlBridge.style.left = "0px";
|
774
|
+
htmlBridge.style.top = "-9999px";
|
775
|
+
_setSize(1, 1);
|
776
|
+
}
|
777
|
+
if (_currentElement) {
|
778
|
+
_removeClass(_currentElement, _globalConfig.hoverClass);
|
779
|
+
_removeClass(_currentElement, _globalConfig.activeClass);
|
780
|
+
_currentElement = null;
|
781
|
+
}
|
782
|
+
};
|
783
|
+
ZeroClipboard.state = function() {
|
784
|
+
return {
|
785
|
+
browser: _pick(window.navigator, [ "userAgent", "platform", "appName" ]),
|
786
|
+
flash: _omit(_flashState, [ "bridge" ]),
|
787
|
+
zeroclipboard: {
|
788
|
+
version: ZeroClipboard.version,
|
789
|
+
config: ZeroClipboard.config()
|
790
|
+
}
|
791
|
+
};
|
792
|
+
};
|
793
|
+
ZeroClipboard.setData = function(format, data) {
|
794
|
+
var dataObj;
|
795
|
+
if (typeof format === "object" && format && typeof data === "undefined") {
|
796
|
+
dataObj = format;
|
797
|
+
ZeroClipboard.clearData();
|
798
|
+
} else if (typeof format === "string" && format) {
|
799
|
+
dataObj = {};
|
800
|
+
dataObj[format] = data;
|
801
|
+
} else {
|
802
|
+
return;
|
803
|
+
}
|
804
|
+
for (var dataFormat in dataObj) {
|
805
|
+
if (dataFormat && dataObj.hasOwnProperty(dataFormat) && typeof dataObj[dataFormat] === "string" && dataObj[dataFormat]) {
|
806
|
+
_clipData[dataFormat] = dataObj[dataFormat];
|
807
|
+
}
|
808
|
+
}
|
809
|
+
};
|
810
|
+
ZeroClipboard.clearData = function(format) {
|
811
|
+
if (typeof format === "undefined") {
|
812
|
+
_deleteOwnProperties(_clipData);
|
813
|
+
_clipDataFormatMap = null;
|
814
|
+
} else if (typeof format === "string" && _clipData.hasOwnProperty(format)) {
|
815
|
+
delete _clipData[format];
|
816
|
+
}
|
817
|
+
};
|
818
|
+
var _bridge = function() {
|
819
|
+
var flashBridge, len;
|
820
|
+
var container = document.getElementById("global-zeroclipboard-html-bridge");
|
821
|
+
if (!container) {
|
822
|
+
var allowScriptAccess = _determineScriptAccess(window.location.host, _globalConfig);
|
823
|
+
var allowNetworking = allowScriptAccess === "never" ? "none" : "all";
|
824
|
+
var flashvars = _vars(_globalConfig);
|
825
|
+
var swfUrl = _globalConfig.swfPath + _cacheBust(_globalConfig.swfPath, _globalConfig);
|
826
|
+
container = _createHtmlBridge();
|
827
|
+
var divToBeReplaced = document.createElement("div");
|
828
|
+
container.appendChild(divToBeReplaced);
|
829
|
+
document.body.appendChild(container);
|
830
|
+
var tmpDiv = document.createElement("div");
|
831
|
+
var oldIE = _flashState.pluginType === "activex";
|
832
|
+
tmpDiv.innerHTML = '<object id="global-zeroclipboard-flash-bridge" name="global-zeroclipboard-flash-bridge" ' + 'width="100%" height="100%" ' + (oldIE ? 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' : 'type="application/x-shockwave-flash" data="' + swfUrl + '"') + ">" + (oldIE ? '<param name="movie" value="' + swfUrl + '"/>' : "") + '<param name="allowScriptAccess" value="' + allowScriptAccess + '"/>' + '<param name="allowNetworking" value="' + allowNetworking + '"/>' + '<param name="menu" value="false"/>' + '<param name="wmode" value="transparent"/>' + '<param name="flashvars" value="' + flashvars + '"/>' + "</object>";
|
833
|
+
flashBridge = tmpDiv.firstChild;
|
834
|
+
tmpDiv = null;
|
835
|
+
flashBridge.ZeroClipboard = ZeroClipboard;
|
836
|
+
container.replaceChild(flashBridge, divToBeReplaced);
|
837
|
+
}
|
838
|
+
if (!flashBridge) {
|
839
|
+
flashBridge = document["global-zeroclipboard-flash-bridge"];
|
840
|
+
if (flashBridge && (len = flashBridge.length)) {
|
841
|
+
flashBridge = flashBridge[len - 1];
|
842
|
+
}
|
843
|
+
if (!flashBridge) {
|
844
|
+
flashBridge = container.firstChild;
|
845
|
+
}
|
846
|
+
}
|
847
|
+
_flashState.bridge = flashBridge || null;
|
848
|
+
};
|
849
|
+
var _createHtmlBridge = function() {
|
850
|
+
var container = document.createElement("div");
|
851
|
+
container.id = "global-zeroclipboard-html-bridge";
|
852
|
+
container.className = "global-zeroclipboard-container";
|
853
|
+
container.style.position = "absolute";
|
854
|
+
container.style.left = "0px";
|
855
|
+
container.style.top = "-9999px";
|
856
|
+
container.style.width = "1px";
|
857
|
+
container.style.height = "1px";
|
858
|
+
container.style.zIndex = "" + _getSafeZIndex(_globalConfig.zIndex);
|
859
|
+
return container;
|
860
|
+
};
|
861
|
+
var _getHtmlBridge = function(flashBridge) {
|
862
|
+
var htmlBridge = flashBridge && flashBridge.parentNode;
|
863
|
+
while (htmlBridge && htmlBridge.nodeName === "OBJECT" && htmlBridge.parentNode) {
|
864
|
+
htmlBridge = htmlBridge.parentNode;
|
865
|
+
}
|
866
|
+
return htmlBridge || null;
|
867
|
+
};
|
868
|
+
var _reposition = function() {
|
869
|
+
if (_currentElement) {
|
870
|
+
var pos = _getDOMObjectPosition(_currentElement, _globalConfig.zIndex);
|
871
|
+
var htmlBridge = _getHtmlBridge(_flashState.bridge);
|
872
|
+
if (htmlBridge) {
|
873
|
+
htmlBridge.style.top = pos.top + "px";
|
874
|
+
htmlBridge.style.left = pos.left + "px";
|
875
|
+
htmlBridge.style.width = pos.width + "px";
|
876
|
+
htmlBridge.style.height = pos.height + "px";
|
877
|
+
htmlBridge.style.zIndex = pos.zIndex + 1;
|
878
|
+
}
|
879
|
+
_setSize(pos.width, pos.height);
|
880
|
+
}
|
881
|
+
};
|
882
|
+
var _setSize = function(width, height) {
|
883
|
+
var htmlBridge = _getHtmlBridge(_flashState.bridge);
|
884
|
+
if (htmlBridge) {
|
885
|
+
htmlBridge.style.width = width + "px";
|
886
|
+
htmlBridge.style.height = height + "px";
|
887
|
+
}
|
888
|
+
};
|
889
|
+
ZeroClipboard.emit = function(event) {
|
890
|
+
var eventType, eventObj, performCallbackAsync, clients, i, len, eventCopy, returnVal, tmp;
|
891
|
+
if (typeof event === "string" && event) {
|
892
|
+
eventType = event;
|
893
|
+
}
|
894
|
+
if (typeof event === "object" && event && typeof event.type === "string" && event.type) {
|
895
|
+
eventType = event.type;
|
896
|
+
eventObj = event;
|
897
|
+
}
|
898
|
+
if (!eventType) {
|
899
|
+
return;
|
900
|
+
}
|
901
|
+
event = _createEvent(eventType, eventObj);
|
902
|
+
_preprocessEvent(event);
|
903
|
+
if (event.type === "ready" && _flashState.overdue === true) {
|
904
|
+
return ZeroClipboard.emit({
|
905
|
+
type: "error",
|
906
|
+
name: "flash-overdue"
|
907
|
+
});
|
908
|
+
}
|
909
|
+
performCallbackAsync = !/^(before)?copy$/.test(event.type);
|
910
|
+
if (event.client) {
|
911
|
+
_dispatchClientCallbacks.call(event.client, event, performCallbackAsync);
|
912
|
+
} else {
|
913
|
+
clients = event.target && event.target !== window && _globalConfig.autoActivate === true ? _getAllClientsClippedToElement(event.target) : _getAllClients();
|
914
|
+
for (i = 0, len = clients.length; i < len; i++) {
|
915
|
+
eventCopy = _extend({}, event, {
|
916
|
+
client: clients[i]
|
917
|
+
});
|
918
|
+
_dispatchClientCallbacks.call(clients[i], eventCopy, performCallbackAsync);
|
919
|
+
}
|
920
|
+
}
|
921
|
+
if (event.type === "copy") {
|
922
|
+
tmp = _mapClipDataToFlash(_clipData);
|
923
|
+
returnVal = tmp.data;
|
924
|
+
_clipDataFormatMap = tmp.formatMap;
|
925
|
+
}
|
926
|
+
return returnVal;
|
927
|
+
};
|
928
|
+
var _dispatchClientCallbacks = function(event, async) {
|
929
|
+
var handlers = _clientMeta[this.id] && _clientMeta[this.id].handlers[event.type];
|
930
|
+
if (handlers && handlers.length) {
|
931
|
+
var i, len, func, context, originalContext = this;
|
932
|
+
for (i = 0, len = handlers.length; i < len; i++) {
|
933
|
+
func = handlers[i];
|
934
|
+
context = originalContext;
|
935
|
+
if (typeof func === "string" && typeof window[func] === "function") {
|
936
|
+
func = window[func];
|
937
|
+
}
|
938
|
+
if (typeof func === "object" && func && typeof func.handleEvent === "function") {
|
939
|
+
context = func;
|
940
|
+
func = func.handleEvent;
|
941
|
+
}
|
942
|
+
if (typeof func === "function") {
|
943
|
+
_dispatchCallback(func, context, [ event ], async);
|
944
|
+
}
|
945
|
+
}
|
946
|
+
}
|
947
|
+
return this;
|
948
|
+
};
|
949
|
+
var _eventMessages = {
|
950
|
+
ready: "Flash communication is established",
|
951
|
+
error: {
|
952
|
+
"flash-disabled": "Flash is disabled or not installed",
|
953
|
+
"flash-outdated": "Flash is too outdated to support ZeroClipboard",
|
954
|
+
"flash-unavailable": "Flash is unable to communicate bidirectionally with JavaScript",
|
955
|
+
"flash-deactivated": "Flash is too outdated for your browser and/or is configured as click-to-activate",
|
956
|
+
"flash-overdue": "Flash communication was established but NOT within the acceptable time limit"
|
957
|
+
}
|
958
|
+
};
|
959
|
+
var _createEvent = function(eventType, event) {
|
960
|
+
if (!(eventType || event && event.type)) {
|
961
|
+
return;
|
962
|
+
}
|
963
|
+
event = event || {};
|
964
|
+
eventType = (eventType || event.type).toLowerCase();
|
965
|
+
_extend(event, {
|
966
|
+
type: eventType,
|
967
|
+
target: event.target || _currentElement || null,
|
968
|
+
relatedTarget: event.relatedTarget || null,
|
969
|
+
currentTarget: _flashState && _flashState.bridge || null
|
970
|
+
});
|
971
|
+
var msg = _eventMessages[event.type];
|
972
|
+
if (event.type === "error" && event.name && msg) {
|
973
|
+
msg = msg[event.name];
|
974
|
+
}
|
975
|
+
if (msg) {
|
976
|
+
event.message = msg;
|
977
|
+
}
|
978
|
+
if (event.type === "ready") {
|
979
|
+
_extend(event, {
|
980
|
+
target: null,
|
981
|
+
version: _flashState.version
|
982
|
+
});
|
983
|
+
}
|
984
|
+
if (event.type === "error") {
|
985
|
+
event.target = null;
|
986
|
+
if (/^flash-(outdated|unavailable|deactivated|overdue)$/.test(event.name)) {
|
987
|
+
_extend(event, {
|
988
|
+
version: _flashState.version,
|
989
|
+
minimumVersion: "11.0.0"
|
990
|
+
});
|
991
|
+
}
|
992
|
+
}
|
993
|
+
if (event.type === "copy") {
|
994
|
+
event.clipboardData = {
|
995
|
+
setData: ZeroClipboard.setData,
|
996
|
+
clearData: ZeroClipboard.clearData
|
997
|
+
};
|
998
|
+
}
|
999
|
+
if (event.type === "aftercopy") {
|
1000
|
+
event = _mapClipResultsFromFlash(event, _clipDataFormatMap);
|
1001
|
+
}
|
1002
|
+
if (event.target && !event.relatedTarget) {
|
1003
|
+
event.relatedTarget = _getRelatedTarget(event.target);
|
1004
|
+
}
|
1005
|
+
return event;
|
1006
|
+
};
|
1007
|
+
var _getRelatedTarget = function(targetEl) {
|
1008
|
+
var relatedTargetId = targetEl && targetEl.getAttribute && targetEl.getAttribute("data-clipboard-target");
|
1009
|
+
return relatedTargetId ? document.getElementById(relatedTargetId) : null;
|
1010
|
+
};
|
1011
|
+
var _preprocessEvent = function(event) {
|
1012
|
+
var element = event.target || _currentElement;
|
1013
|
+
switch (event.type) {
|
1014
|
+
case "error":
|
1015
|
+
if (_inArray(event.name, [ "flash-disabled", "flash-outdated", "flash-deactivated", "flash-overdue" ])) {
|
1016
|
+
_extend(_flashState, {
|
1017
|
+
disabled: event.name === "flash-disabled",
|
1018
|
+
outdated: event.name === "flash-outdated",
|
1019
|
+
unavailable: event.name === "flash-unavailable",
|
1020
|
+
deactivated: event.name === "flash-deactivated",
|
1021
|
+
overdue: event.name === "flash-overdue",
|
1022
|
+
ready: false
|
1023
|
+
});
|
1024
|
+
}
|
1025
|
+
break;
|
1026
|
+
|
1027
|
+
case "ready":
|
1028
|
+
var wasDeactivated = _flashState.deactivated === true;
|
1029
|
+
_extend(_flashState, {
|
1030
|
+
disabled: false,
|
1031
|
+
outdated: false,
|
1032
|
+
unavailable: false,
|
1033
|
+
deactivated: false,
|
1034
|
+
overdue: wasDeactivated,
|
1035
|
+
ready: !wasDeactivated
|
1036
|
+
});
|
1037
|
+
break;
|
1038
|
+
|
1039
|
+
case "copy":
|
1040
|
+
var textContent, htmlContent, targetEl = event.relatedTarget;
|
1041
|
+
if (!(_clipData["text/html"] || _clipData["text/plain"]) && targetEl && (htmlContent = targetEl.value || targetEl.outerHTML || targetEl.innerHTML) && (textContent = targetEl.value || targetEl.textContent || targetEl.innerText)) {
|
1042
|
+
event.clipboardData.clearData();
|
1043
|
+
event.clipboardData.setData("text/plain", textContent);
|
1044
|
+
if (htmlContent !== textContent) {
|
1045
|
+
event.clipboardData.setData("text/html", htmlContent);
|
1046
|
+
}
|
1047
|
+
} else if (!_clipData["text/plain"] && event.target && (textContent = event.target.getAttribute("data-clipboard-text"))) {
|
1048
|
+
event.clipboardData.clearData();
|
1049
|
+
event.clipboardData.setData("text/plain", textContent);
|
1050
|
+
}
|
1051
|
+
break;
|
1052
|
+
|
1053
|
+
case "aftercopy":
|
1054
|
+
ZeroClipboard.clearData();
|
1055
|
+
if (element && element !== _safeActiveElement() && element.focus) {
|
1056
|
+
element.focus();
|
1057
|
+
}
|
1058
|
+
break;
|
1059
|
+
|
1060
|
+
case "mouseover":
|
1061
|
+
_addClass(element, _globalConfig.hoverClass);
|
1062
|
+
break;
|
1063
|
+
|
1064
|
+
case "mouseout":
|
1065
|
+
if (_globalConfig.autoActivate === true) {
|
1066
|
+
ZeroClipboard.deactivate();
|
1067
|
+
}
|
1068
|
+
break;
|
1069
|
+
|
1070
|
+
case "mousedown":
|
1071
|
+
_addClass(element, _globalConfig.activeClass);
|
1072
|
+
break;
|
1073
|
+
|
1074
|
+
case "mouseup":
|
1075
|
+
_removeClass(element, _globalConfig.activeClass);
|
1076
|
+
break;
|
1077
|
+
}
|
1078
|
+
};
|
1079
|
+
ZeroClipboard.prototype.on = function(eventName, func) {
|
1080
|
+
var i, len, events, added = {}, handlers = _clientMeta[this.id] && _clientMeta[this.id].handlers;
|
1081
|
+
if (typeof eventName === "string" && eventName) {
|
1082
|
+
events = eventName.toLowerCase().split(/\s+/);
|
1083
|
+
} else if (typeof eventName === "object" && eventName && typeof func === "undefined") {
|
1084
|
+
for (i in eventName) {
|
1085
|
+
if (eventName.hasOwnProperty(i) && typeof i === "string" && i && typeof eventName[i] === "function") {
|
1086
|
+
this.on(i, eventName[i]);
|
1087
|
+
}
|
1088
|
+
}
|
1089
|
+
}
|
1090
|
+
if (events && events.length) {
|
1091
|
+
for (i = 0, len = events.length; i < len; i++) {
|
1092
|
+
eventName = events[i].replace(/^on/, "");
|
1093
|
+
added[eventName] = true;
|
1094
|
+
if (!handlers[eventName]) {
|
1095
|
+
handlers[eventName] = [];
|
1096
|
+
}
|
1097
|
+
handlers[eventName].push(func);
|
1098
|
+
}
|
1099
|
+
if (added.ready && _flashState.ready) {
|
1100
|
+
ZeroClipboard.emit({
|
1101
|
+
type: "ready",
|
1102
|
+
client: this
|
1103
|
+
});
|
1104
|
+
}
|
1105
|
+
if (added.error) {
|
1106
|
+
var errorTypes = [ "disabled", "outdated", "unavailable", "deactivated", "overdue" ];
|
1107
|
+
for (i = 0, len = errorTypes.length; i < len; i++) {
|
1108
|
+
if (_flashState[errorTypes[i]]) {
|
1109
|
+
ZeroClipboard.emit({
|
1110
|
+
type: "error",
|
1111
|
+
name: "flash-" + errorTypes[i],
|
1112
|
+
client: this
|
1113
|
+
});
|
1114
|
+
break;
|
1115
|
+
}
|
1116
|
+
}
|
1117
|
+
}
|
1118
|
+
}
|
1119
|
+
return this;
|
1120
|
+
};
|
1121
|
+
ZeroClipboard.prototype.off = function(eventName, func) {
|
1122
|
+
var i, len, foundIndex, events, perEventHandlers, handlers = _clientMeta[this.id] && _clientMeta[this.id].handlers;
|
1123
|
+
if (arguments.length === 0) {
|
1124
|
+
events = _objectKeys(handlers);
|
1125
|
+
} else if (typeof eventName === "string" && eventName) {
|
1126
|
+
events = eventName.split(/\s+/);
|
1127
|
+
} else if (typeof eventName === "object" && eventName && typeof func === "undefined") {
|
1128
|
+
for (i in eventName) {
|
1129
|
+
if (eventName.hasOwnProperty(i) && typeof i === "string" && i && typeof eventName[i] === "function") {
|
1130
|
+
this.off(i, eventName[i]);
|
1131
|
+
}
|
1132
|
+
}
|
1133
|
+
}
|
1134
|
+
if (events && events.length) {
|
1135
|
+
for (i = 0, len = events.length; i < len; i++) {
|
1136
|
+
eventName = events[i].toLowerCase().replace(/^on/, "");
|
1137
|
+
perEventHandlers = handlers[eventName];
|
1138
|
+
if (perEventHandlers && perEventHandlers.length) {
|
1139
|
+
if (func) {
|
1140
|
+
foundIndex = _inArray(func, perEventHandlers);
|
1141
|
+
while (foundIndex !== -1) {
|
1142
|
+
perEventHandlers.splice(foundIndex, 1);
|
1143
|
+
foundIndex = _inArray(func, perEventHandlers, foundIndex);
|
1144
|
+
}
|
1145
|
+
} else {
|
1146
|
+
handlers[eventName].length = 0;
|
1147
|
+
}
|
1148
|
+
}
|
1149
|
+
}
|
1150
|
+
}
|
1151
|
+
return this;
|
1152
|
+
};
|
1153
|
+
ZeroClipboard.prototype.handlers = function(eventName) {
|
1154
|
+
var prop, copy = null, handlers = _clientMeta[this.id] && _clientMeta[this.id].handlers;
|
1155
|
+
if (handlers) {
|
1156
|
+
if (typeof eventName === "string" && eventName) {
|
1157
|
+
return handlers[eventName] ? handlers[eventName].slice(0) : null;
|
1158
|
+
}
|
1159
|
+
copy = {};
|
1160
|
+
for (prop in handlers) {
|
1161
|
+
if (handlers.hasOwnProperty(prop) && handlers[prop]) {
|
1162
|
+
copy[prop] = handlers[prop].slice(0);
|
1163
|
+
}
|
1164
|
+
}
|
1165
|
+
}
|
1166
|
+
return copy;
|
1167
|
+
};
|
1168
|
+
ZeroClipboard.prototype.clip = function(elements) {
|
1169
|
+
elements = _prepClip(elements);
|
1170
|
+
for (var i = 0; i < elements.length; i++) {
|
1171
|
+
if (elements.hasOwnProperty(i) && elements[i] && elements[i].nodeType === 1) {
|
1172
|
+
if (!elements[i].zcClippingId) {
|
1173
|
+
elements[i].zcClippingId = "zcClippingId_" + _elementIdCounter++;
|
1174
|
+
_elementMeta[elements[i].zcClippingId] = [ this.id ];
|
1175
|
+
if (_globalConfig.autoActivate === true) {
|
1176
|
+
_addEventHandler(elements[i], "mouseover", _elementMouseOver);
|
1177
|
+
}
|
1178
|
+
} else if (_inArray(this.id, _elementMeta[elements[i].zcClippingId]) === -1) {
|
1179
|
+
_elementMeta[elements[i].zcClippingId].push(this.id);
|
1180
|
+
}
|
1181
|
+
var clippedElements = _clientMeta[this.id].elements;
|
1182
|
+
if (_inArray(elements[i], clippedElements) === -1) {
|
1183
|
+
clippedElements.push(elements[i]);
|
1184
|
+
}
|
1185
|
+
}
|
1186
|
+
}
|
1187
|
+
return this;
|
1188
|
+
};
|
1189
|
+
ZeroClipboard.prototype.unclip = function(elements) {
|
1190
|
+
var meta = _clientMeta[this.id];
|
1191
|
+
if (!meta) {
|
1192
|
+
return this;
|
1193
|
+
}
|
1194
|
+
var clippedElements = meta.elements;
|
1195
|
+
var arrayIndex;
|
1196
|
+
if (typeof elements === "undefined") {
|
1197
|
+
elements = clippedElements.slice(0);
|
1198
|
+
} else {
|
1199
|
+
elements = _prepClip(elements);
|
1200
|
+
}
|
1201
|
+
for (var i = elements.length; i--; ) {
|
1202
|
+
if (elements.hasOwnProperty(i) && elements[i] && elements[i].nodeType === 1) {
|
1203
|
+
arrayIndex = 0;
|
1204
|
+
while ((arrayIndex = _inArray(elements[i], clippedElements, arrayIndex)) !== -1) {
|
1205
|
+
clippedElements.splice(arrayIndex, 1);
|
1206
|
+
}
|
1207
|
+
var clientIds = _elementMeta[elements[i].zcClippingId];
|
1208
|
+
if (clientIds) {
|
1209
|
+
arrayIndex = 0;
|
1210
|
+
while ((arrayIndex = _inArray(this.id, clientIds, arrayIndex)) !== -1) {
|
1211
|
+
clientIds.splice(arrayIndex, 1);
|
1212
|
+
}
|
1213
|
+
if (clientIds.length === 0) {
|
1214
|
+
if (_globalConfig.autoActivate === true) {
|
1215
|
+
_removeEventHandler(elements[i], "mouseover", _elementMouseOver);
|
1216
|
+
}
|
1217
|
+
delete elements[i].zcClippingId;
|
1218
|
+
}
|
1219
|
+
}
|
1220
|
+
}
|
1221
|
+
}
|
1222
|
+
return this;
|
1223
|
+
};
|
1224
|
+
ZeroClipboard.prototype.elements = function() {
|
1225
|
+
var meta = _clientMeta[this.id];
|
1226
|
+
return meta && meta.elements ? meta.elements.slice(0) : [];
|
1227
|
+
};
|
1228
|
+
var _getAllClientsClippedToElement = function(element) {
|
1229
|
+
var elementMetaId, clientIds, i, len, client, clients = [];
|
1230
|
+
if (element && element.nodeType === 1 && (elementMetaId = element.zcClippingId) && _elementMeta.hasOwnProperty(elementMetaId)) {
|
1231
|
+
clientIds = _elementMeta[elementMetaId];
|
1232
|
+
if (clientIds && clientIds.length) {
|
1233
|
+
for (i = 0, len = clientIds.length; i < len; i++) {
|
1234
|
+
client = _clientMeta[clientIds[i]].instance;
|
1235
|
+
if (client && client instanceof ZeroClipboard) {
|
1236
|
+
clients.push(client);
|
1237
|
+
}
|
1238
|
+
}
|
1239
|
+
}
|
1240
|
+
}
|
1241
|
+
return clients;
|
1242
|
+
};
|
1243
|
+
_globalConfig.hoverClass = "zeroclipboard-is-hover";
|
1244
|
+
_globalConfig.activeClass = "zeroclipboard-is-active";
|
1245
|
+
if (typeof define === "function" && define.amd) {
|
1246
|
+
define(function() {
|
1247
|
+
return ZeroClipboard;
|
1248
|
+
});
|
1249
|
+
} else if (typeof module === "object" && module && typeof module.exports === "object" && module.exports) {
|
1250
|
+
module.exports = ZeroClipboard;
|
1251
|
+
} else {
|
1252
|
+
window.ZeroClipboard = ZeroClipboard;
|
1253
|
+
}
|
1254
|
+
})(function() {
|
1255
|
+
return this;
|
1256
|
+
}());
|