@mlikiowa/nanaeo
Version:
Volantis nanaeo
3 lines (2 loc) • 16.6 kB
JavaScript
;function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _regenerator(){var e,t,o="function"==typeof Symbol?Symbol:{},n=o.iterator||"@@iterator",r=o.toStringTag||"@@toStringTag";function l(o,n,r,l){var c=n&&n.prototype instanceof a?n:a,u=Object.create(c.prototype);return _regeneratorDefine2(u,"_invoke",function(o,n,r){var l,a,c,u=0,s=r||[],d=!1,m={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,o){return l=t,a=0,c=e,m.n=o,i}};function p(o,n){for(a=o,c=n,t=0;!d&&u&&!r&&t<s.length;t++){var r,l=s[t],p=m.p,f=l[2];o>3?(r=f===n)&&(c=l[(a=l[4])?5:(a=3,3)],l[4]=l[5]=e):l[0]<=p&&((r=o<2&&p<l[1])?(a=0,m.v=n,m.n=l[1]):p<f&&(r=o<3||l[0]>n||n>f)&&(l[4]=o,l[5]=n,m.n=f,a=0))}if(r||o>1)return i;throw d=!0,n}return function(r,s,f){if(u>1)throw TypeError("Generator is already running");for(d&&1===s&&p(s,f),a=s,c=f;(t=a<2?e:c)||!d;){l||(a?a<3?(a>1&&(m.n=-1),p(a,c)):m.n=c:m.v=c);try{if(u=2,l){if(a||(r="next"),t=l[r]){if(!(t=t.call(l,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,a<2&&(a=0)}else 1===a&&(t=l["return"])&&t.call(l),a<2&&(c=TypeError("The iterator does not provide a '"+r+"' method"),a=1);l=e}else if((t=(d=m.n<0)?c:o.call(n,m))!==i)break}catch(t){l=e,a=1,c=t}finally{u=1}}return{value:t,done:d}}}(o,r,l),!0),u}var i={};function a(){}function c(){}function u(){}t=Object.getPrototypeOf;var s=[][n]?t(t([][n]())):(_regeneratorDefine2(t={},n,function(){return this}),t),d=u.prototype=a.prototype=Object.create(s);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,_regeneratorDefine2(e,r,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=u,_regeneratorDefine2(d,"constructor",u),_regeneratorDefine2(u,"constructor",c),c.displayName="GeneratorFunction",_regeneratorDefine2(u,r,"GeneratorFunction"),_regeneratorDefine2(d),_regeneratorDefine2(d,r,"Generator"),_regeneratorDefine2(d,n,function(){return this}),_regeneratorDefine2(d,"toString",function(){return"[object Generator]"}),(_regenerator=function(){return{w:l,m}})()}function _regeneratorDefine2(e,t,o,n){var r=Object.defineProperty;try{r({},"",{})}catch(e){r=0}_regeneratorDefine2=function(e,t,o,n){function l(t,o){_regeneratorDefine2(e,t,function(e){return this._invoke(t,o,e)})}t?r?r(e,t,{value:o,enumerable:!n,configurable:!n,writable:!n}):e[t]=o:(l("next",0),l("throw",1),l("return",2))},_regeneratorDefine2(e,t,o,n)}function _defineProperty(e,t,o){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"==_typeof(t)?t:t+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var n=o.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function asyncGeneratorStep(e,t,o,n,r,l,i){try{var a=e[l](i),c=a.value}catch(e){return void o(e)}a.done?t(c):Promise.resolve(c).then(n,r)}function _asyncToGenerator(e){return function(){var t=this,o=arguments;return new Promise(function(n,r){var l=e.apply(t,o);function i(e){asyncGeneratorStep(l,n,r,i,a,"next",e)}function a(e){asyncGeneratorStep(l,n,r,i,a,"throw",e)}i(void 0)})}}var RightMenu=function(){var e=volantis.GLOBAL_CONFIG.plugins.rightmenu,t=volantis.GLOBAL_CONFIG.plugins.message.enable&&volantis.GLOBAL_CONFIG.plugins.message.rightmenu.enable,o={},n=document.getElementById("rightmenu-wrapper"),r=document.getElementById("rightmenu-content"),l=document.getElementById("printHtml"),i=document.getElementById("menuMusic"),a=document.getElementById("readingModel"),c=document.getElementById("read_bkg"),u=document.querySelectorAll(".menuLoad-Content"),s=document.querySelector(".menu-Option"),d=document.querySelector('.menu-Option[data-fn-type="searchWord"]'),m=document.querySelector('.menu-Option[data-fn-type="copyText"]'),p=document.querySelector('.menu-Option[data-fn-type="copyPaste"]'),f=document.querySelector('.menu-Option[data-fn-type="copySelect"]'),g=document.querySelector('.menu-Option[data-fn-type="copyCut"]'),y=document.querySelector('.menu-Option[data-fn-type="copyHref"]'),v=document.querySelector('.menu-Option[data-fn-type="copySrc"]'),b=document.querySelector('.menu-Option[data-fn-type="copyImg"]'),M=document.querySelector('.menu-Option[data-fn-type="openTab"]'),C=document.querySelector("#menuMusic .backward"),h=document.querySelector("#menuMusic .toggle"),O=document.querySelector("#menuMusic .forward"),D=/^((https|http)?:\/\/)+[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;return o.init=function(){DOMController.visible(i,!1),DOMController.visible(s,!1),c&&c.parentNode.removeChild(c);var e=document.createElement("div");e.className="common_read_bkg common_read_hide",e.id="read_bkg",window.document.body.appendChild(e)},o.initEvent=function(){window.document.oncontextmenu=function(e){return e.ctrlKey||document.body.offsetWidth<=500?(o.hideMenu(),!0):o.popMenu(e)},n.oncontextmenu=function(e){return e.stopPropagation(),e.preventDefault(),!1},window.removeEventListener("blur",o.hideMenu),window.addEventListener("blur",o.hideMenu),document.body.removeEventListener("click",o.hideMenu),document.body.addEventListener("click",o.hideMenu),O&&h&&O&&(C.onclick=function(e){e.preventDefault(),e.stopPropagation(),RightMenuAplayer.aplayerBackward()},h.onclick=function(e){e.preventDefault(),e.stopPropagation(),RightMenuAplayer.aplayerToggle()},O.onclick=function(e){e.preventDefault(),e.stopPropagation(),RightMenuAplayer.aplayerForward()})},o.popMenu=function(e){var t=e.clientX,l=e.clientY,i=document.documentElement.clientWidth||document.body.clientWidth,a=document.documentElement.clientHeight||document.body.clientHeight;try{o.setMenuItem(e),DOMController.visible(n),n.focus(),n.style.zIndex="-2147483648";var c=r.offsetWidth,u=r.offsetHeight,s=t+c>i?t-c+10:t,d=l+u>a?l-u+10:l;d=l+u>a&&d<u&&l<u?d+(a-u-d-10):d,n.style.left=s+"px",n.style.top=d+"px",n.style.zIndex="2147483648",volantis.GLOBAL_CONFIG.plugins.message.rightmenu.notice&&o.showMessage()}catch(m){return n.blur(),console.error(m),!0}return!1},o.showMessage=function(){var o="true"===localStorage.getItem("NoticeRightMenu");t&&!o&&VolantisApp.message("右键菜单","唤醒原系统菜单请使用:<kbd>Ctrl</kbd> + <kbd>右键</kbd>",{icon:e.faicon+" fa-exclamation-square red",time:9e3},function(){localStorage.setItem("NoticeRightMenu","true")})},o.setMenuItem=function(n){var r=!1,c=n.target,s=window.getSelection().toString();if(DOMController.visible(M,!1),"input"===c.tagName.toLowerCase()||"textarea"===c.tagName.toLowerCase()){var C=c.value;C.length>0?(DOMController.visible(f),f.onclick=function(){n.preventDefault(),c.select()}):DOMController.visible(f,!1),s?(DOMController.visible(g),g.onclick=function(){var e=c.selectionStart,t=c.selectionEnd;o.copyString(s),c.value=C.substring(0,e)+C.substring(t,C.length),c.selectionStart=e,c.selectionEnd=e,c.focus()}):DOMController.visible(g,!1),o.readClipboard().then(function(e){e?(DOMController.visible(p),p.onclick=function(){o.insertAtCaret(c,e)}):DOMController.visible(p,!1)})["catch"](function(e){console.error(e),DOMController.visible(p,!1)})}else DOMController.visible(f,!1),DOMController.visible(p,!1),DOMController.visible(g,!1);var h=c.href;h&&D.test(h)?(r=!0,DOMController.visible(y),DOMController.visible(M),y&&(y.onclick=function(){o.copyString(h)}),M.onclick=function(){window.open(h)}):DOMController.visible(y,!1);var O=c.currentSrc;O&&D.test(O)?(r=!0,DOMController.visible(v),DOMController.visible(M),v.onclick=function(){o.copyString(O)},M.onclick=function(){window.open(O)}):DOMController.visible(v,!1),O&&D.test(O)&&O.trimEnd().endsWith(".png")?(r=!0,DOMController.visible(b),b.onclick=function(){o.writeClipImg(n,function(o){o&&t&&VolantisApp.message("系统提示","图片复制成功!",{icon:e.faicon+" fa-images"})},function(o){t&&VolantisApp.message("系统提示","复制失败:"+o,{icon:e.faicon+" fa-exclamation-square red"})})}):DOMController.visible(b,!1),s?(r=!0,DOMController.visible(m),DOMController.visible(d),m.onclick=function(){o.copyString(s)},d&&(d.onclick=function(){OpenSearch(s)})):(DOMController.visible(m,!1),DOMController.visible(d,!1));var S=document.querySelector("#post.article")||null,_=window.location.pathname;S?(DOMController.visible(l),DOMController.visible(a),l&&(l.onclick=function(){if(window.location.pathname===_){t&&VolantisApp.question("",'是否打印当前页面?<br><em style="font-size: 80%">建议打印时勾选背景图形</em><br>',{},function(){o.printHtml()})}else o.hideMenu()}),a&&(a.onclick=function(){window.location.pathname,o.readingModel()})):(DOMController.visible(l,!1),DOMController.visible(a,!1)),volantis.GLOBAL_CONFIG.plugins.aplayer.enable&&"undefined"!=typeof RightMenuAplayer&&RightMenuAplayer.APlayer.player!==undefined?e.music_alwaysShow?DOMController.visible(i):"play"===RightMenuAplayer.APlayer.status||"undefined"===RightMenuAplayer.APlayer.status?(r=!0,DOMController.visible(i)):DOMController.visible(i,!1):DOMController.visible(i,!1),u.forEach(function(e){DOMController.visible(e,!r)}),volantis.GLOBAL_CONFIG.plugins.aplayer.enable&&e.layout.includes("music")&&RightMenuAplayer.checkAPlayer()},o.hideMenu=function(){DOMController.visible(n,!1)},o.copyString=function(o){VolantisApp.utilWriteClipText(o).then(function(){t&&VolantisApp.messageCopyright()})["catch"](function(o){t&&VolantisApp.message("系统提示",o,{icon:e.faicon+" fa-exclamation-square red"})})},o.writeClipText=function(e){try{return navigator.clipboard.writeText(e).then(function(){return Promise.resolve()})["catch"](function(e){return Promise.reject(e)})}catch(n){var t=document.createElement("input");t.setAttribute("readonly","readonly"),document.body.appendChild(t),t.setAttribute("value",e),t.select();try{var o=document.execCommand("copy");return document.body.removeChild(t),o&&"unsuccessful"!==o?Promise.resolve():Promise.reject("复制文本失败!")}catch(n){return document.body.removeChild(t),Promise.reject("当前浏览器不支持复制功能,请检查更新或更换其他浏览器操作!")}}},o.writeClipImg=function(){var t=_asyncToGenerator(_regenerator().m(function o(t,n,r){var l,i,a,c,u,s,d,m;return _regenerator().w(function(o){for(;;)switch(o.p=o.n){case 0:return l=e.customPicUrl.enable?t.target.currentSrc.replace(e.customPicUrl.old,e.customPicUrl["new"]):t.target.currentSrc,i=t.target.parentElement,o.p=1,o.n=2,fetch(l);case 2:return a=o.v,o.n=3,a.blob();case 3:return c=o.v,o.n=4,navigator.clipboard.write([new ClipboardItem(_defineProperty({},c.type,c))]).then(function(){n(!0)},function(e){console.error("图片复制失败:",e),r(e)});case 4:o.n=6;break;case 5:o.p=5,o.v,u=document;try{u.body.createTextRange?((s=document.body.createTextRange()).moveToElementText(i),s.select()):window.getSelection&&(d=window.getSelection(),(m=document.createRange()).selectNodeContents(i),d.removeAllRanges(),d.addRange(m)),document.execCommand("copy"),window.getSelection().removeAllRanges(),n(!1)}catch(p){console.error(p),r("不支持复制当前图片!")}case 6:return o.a(2)}},o,null,[[1,5]])}));return function(e,o,n){return t.apply(this,arguments)}}(),o.readClipboard=_asyncToGenerator(_regenerator().m(function S(){var e;return _regenerator().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,navigator.permissions.query({name:"clipboard-read"});case 1:if("granted"!==(e=t.v).state&&"prompt"!==e.state){t.n=2;break}return t.a(2,navigator.clipboard.readText().then(function(e){return e})["catch"](function(e){return Promise.reject(e)}));case 2:return t.a(2,Promise.reject(e))}},S)})),o.insertAtCaret=function(e,t){var o=e.selectionStart,n=e.selectionEnd;if(document.selection)e.focus(),document.selection.createRange().text=t,e.focus();else if(o||"0"==o){var r=e.scrollTop;e.value=e.value.substring(0,o)+t+e.value.substring(n,e.value.length),e.focus(),e.selectionStart=o+t.length,e.selectionEnd=o+t.length,e.scrollTop=r}else e.value+=t,e.focus()},o.printHtml=function(){volantis.isReadModel&&o.readingModel(),DOMController.setAttribute("details","open","true"),DOMController.remove(".cus-article-bkg"),DOMController.remove(".iziToast-overlay"),DOMController.remove(".iziToast-wrapper"),DOMController.remove(".prev-next"),DOMController.remove("footer"),DOMController.remove("#l_header"),DOMController.remove("#l_cover"),DOMController.remove("#l_side"),DOMController.remove("#comments"),DOMController.remove("#s-top"),DOMController.remove("#BKG"),DOMController.remove("#rightmenu-wrapper"),DOMController.remove(".nav-tabs"),DOMController.remove(".parallax-mirror"),DOMController.remove(".new-meta-item.share"),DOMController.remove("div.footer"),DOMController.setStyle("body","backgroundColor","unset"),DOMController.setStyle("#l_main","width","100%"),DOMController.setStyle("#post","boxShadow","none"),DOMController.setStyle("#post","background","none"),DOMController.setStyle("#post","padding","0"),DOMController.setStyle("h1","textAlign","center"),DOMController.setStyle("h1","fontWeight","600"),DOMController.setStyle("h1","fontSize","2rem"),DOMController.setStyle("h1","marginBottom","20px"),DOMController.setStyle(".tab-pane","display","block"),DOMController.setStyle(".tab-content","borderTop","none"),DOMController.setStyle(".highlight>table pre","whiteSpace","pre-wrap"),DOMController.setStyle(".highlight>table pre","wordBreak","break-all"),DOMController.setStyle(".fancybox img","height","auto"),DOMController.setStyle(".fancybox img","weight","auto"),setTimeout(function(){window.print(),document.body.innerHTML="",window.location.reload()},50)},o.readingModel=function(){if("function"==typeof ScrollReveal&&ScrollReveal().clean("#comments"),DOMController.fadeToggle(document.querySelector("#l_header")),DOMController.fadeToggle(document.querySelector("footer")),DOMController.fadeToggle(document.querySelector("#s-top")),DOMController.fadeToggle(document.querySelector(".article-meta#bottom")),DOMController.fadeToggle(document.querySelector(".prev-next")),DOMController.fadeToggle(document.querySelector("#l_side")),DOMController.fadeToggle(document.querySelector("#comments")),DOMController.toggleClass(document.querySelector("#l_main"),"common_read"),DOMController.toggleClass(document.querySelector("#l_main"),"common_read_main"),DOMController.toggleClass(document.querySelector("#l_body"),"common_read"),DOMController.toggleClass(document.querySelector("#safearea"),"common_read"),DOMController.toggleClass(document.querySelector("#pjax-container"),"common_read"),DOMController.toggleClass(document.querySelector("#read_bkg"),"common_read_hide"),DOMController.toggleClass(document.querySelector("h1"),"common_read_h1"),DOMController.toggleClass(document.querySelector("#post"),"post_read"),DOMController.toggleClass(document.querySelector("#l_cover"),"read_cover"),DOMController.toggleClass(document.querySelector(".widget.toc-wrapper"),"post_read"),volantis.isReadModel=volantis.isReadModel===undefined||!volantis.isReadModel,volantis.isReadModel){var n={backgroundColor:"var(--color-read-post)",icon:e.faicon+" fa-book-reader",time:5e3};t&&VolantisApp.message("系统提示","阅读模式已开启,您可以点击屏幕空白处退出。",n),document.querySelector("#l_body").removeEventListener("click",o.readingModel),document.querySelector("#l_body").addEventListener("click",function(e){DOMController.hasClass(e.target,"common_read")&&o.readingModel()})}else document.querySelector("#l_body").removeEventListener("click",o.readingModel),document.querySelector("#post").removeEventListener("click",o.readingModel)},{init:function(){var e=arguments.length>0&&arguments[0]!==undefined&&arguments[0];o.init(),o.initEvent(),e&&t&&VolantisApp.message("系统提示","自定义右键注册成功。")},destroy:function(){var e=arguments.length>0&&arguments[0]!==undefined&&arguments[0];o.hideMenu(),window.document.oncontextmenu=function(){return!0},e&&t&&VolantisApp.message("系统提示","自定义右键注销成功。")},hideMenu:o.hideMenu,readingModel:o.readingModel}}();Object.freeze(RightMenu),volantis.requestAnimationFrame(function(){"loading"!==document.readyState?(RightMenu.init(),volantis.pjax.send(function(){RightMenu.hideMenu()})):document.addEventListener("DOMContentLoaded",function(){RightMenu.init(),volantis.pjax.send(function(){RightMenu.hideMenu()})})});
//# sourceMappingURL=../../maps/js/plugins/rightMenu.js.map