fhrons-pc-next 25.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/README.md +803 -0
  2. package/dist/assets/css/app~e2e93592.0614dcf9.css +1 -0
  3. package/dist/assets/css/app~e2e93592.0614dcf9.css.gz +0 -0
  4. package/dist/assets/css/chunk-2270175d.e0a049f6.css +1 -0
  5. package/dist/assets/css/chunk-383dbbbe.6b0d07dc.css +1 -0
  6. package/dist/assets/css/chunk-383dbbbe.6b0d07dc.css.gz +0 -0
  7. package/dist/assets/css/chunk-4498a787.03dd36cb.css +1 -0
  8. package/dist/assets/css/chunk-4498a787.03dd36cb.css.gz +0 -0
  9. package/dist/assets/css/chunk-libs~203e0718.9b00eb86.css +1 -0
  10. package/dist/assets/img/PDFView.1579d70c.png +0 -0
  11. package/dist/assets/img/app_router_i18n.68b2d569.jpg +0 -0
  12. package/dist/assets/img/changeVantLang.d31e8ca2.jpg +0 -0
  13. package/dist/assets/img/dataLang.4de8009a.jpg +0 -0
  14. package/dist/assets/img/i18n-lang.0c1ab834.jpg +0 -0
  15. package/dist/assets/img/i18n.b1e44d7c.jpg +0 -0
  16. package/dist/assets/img/noSettle.7822c351.png +0 -0
  17. package/dist/assets/img/storageLang.9e797011.jpg +0 -0
  18. package/dist/assets/img/sz_qyy.7e65edd7.jpg +0 -0
  19. package/dist/assets/js/app~e2e93592.9548d7e1.js +1 -0
  20. package/dist/assets/js/app~e2e93592.9548d7e1.js.gz +0 -0
  21. package/dist/assets/js/chunk-2270175d.22113494.js +9 -0
  22. package/dist/assets/js/chunk-2270175d.22113494.js.gz +0 -0
  23. package/dist/assets/js/chunk-2d0d6351.fbede520.js +1 -0
  24. package/dist/assets/js/chunk-383dbbbe.8a9f98f1.js +1 -0
  25. package/dist/assets/js/chunk-383dbbbe.8a9f98f1.js.gz +0 -0
  26. package/dist/assets/js/chunk-4498a787.ff39f59f.js +1 -0
  27. package/dist/assets/js/chunk-4498a787.ff39f59f.js.gz +0 -0
  28. package/dist/assets/js/chunk-libs~203e0718.3bbae965.js +13 -0
  29. package/dist/assets/js/chunk-libs~203e0718.3bbae965.js.gz +0 -0
  30. package/dist/assets/js/chunk-libs~253ae210.1cb0711c.js +34 -0
  31. package/dist/assets/js/chunk-libs~253ae210.1cb0711c.js.gz +0 -0
  32. package/dist/favicon.ico +0 -0
  33. package/dist/icon.css +1100 -0
  34. package/dist/icon.css.gz +0 -0
  35. package/dist/index.html +198 -0
  36. package/dist/index.html.gz +0 -0
  37. package/dist/loading-spin.svg +6 -0
  38. package/dist/logo.svg +10 -0
  39. package/dist/logo.svg.gz +0 -0
  40. package/dist/static/backup/axios.js +2 -0
  41. package/dist/static/backup/axios.js.gz +0 -0
  42. package/dist/static/backup/echarts.min.js +22 -0
  43. package/dist/static/backup/echarts.min.js.gz +0 -0
  44. package/dist/static/backup/lodash.min.js +140 -0
  45. package/dist/static/backup/lodash.min.js.gz +0 -0
  46. package/dist/static/backup/pdf.min.js +22 -0
  47. package/dist/static/backup/pdf.min.js.gz +0 -0
  48. package/dist/static/backup/sensorsdata.min.js +5 -0
  49. package/dist/static/backup/sensorsdata.min.js.gz +0 -0
  50. package/dist/static/backup/tinymce/icons/default/icons.min.js +1 -0
  51. package/dist/static/backup/tinymce/icons/default/icons.min.js.gz +0 -0
  52. package/dist/static/backup/tinymce/jquery.tinymce.min.js +91 -0
  53. package/dist/static/backup/tinymce/langs/README.md +3 -0
  54. package/dist/static/backup/tinymce/langs/zh-Hans.js +1 -0
  55. package/dist/static/backup/tinymce/langs/zh-Hans.js.gz +0 -0
  56. package/dist/static/backup/tinymce/license.txt +504 -0
  57. package/dist/static/backup/tinymce/plugins/advlist/plugin.min.js +9 -0
  58. package/dist/static/backup/tinymce/plugins/anchor/plugin.min.js +9 -0
  59. package/dist/static/backup/tinymce/plugins/autolink/plugin.min.js +9 -0
  60. package/dist/static/backup/tinymce/plugins/autoresize/plugin.min.js +9 -0
  61. package/dist/static/backup/tinymce/plugins/autosave/plugin.min.js +9 -0
  62. package/dist/static/backup/tinymce/plugins/bbcode/plugin.min.js +9 -0
  63. package/dist/static/backup/tinymce/plugins/charmap/plugin.min.js +9 -0
  64. package/dist/static/backup/tinymce/plugins/charmap/plugin.min.js.gz +0 -0
  65. package/dist/static/backup/tinymce/plugins/code/plugin.min.js +9 -0
  66. package/dist/static/backup/tinymce/plugins/codesample/plugin.min.js +9 -0
  67. package/dist/static/backup/tinymce/plugins/codesample/plugin.min.js.gz +0 -0
  68. package/dist/static/backup/tinymce/plugins/colorpicker/plugin.min.js +9 -0
  69. package/dist/static/backup/tinymce/plugins/contextmenu/plugin.min.js +9 -0
  70. package/dist/static/backup/tinymce/plugins/directionality/plugin.min.js +9 -0
  71. package/dist/static/backup/tinymce/plugins/emoticons/js/emojiimages.js +9424 -0
  72. package/dist/static/backup/tinymce/plugins/emoticons/js/emojiimages.js.gz +0 -0
  73. package/dist/static/backup/tinymce/plugins/emoticons/js/emojiimages.min.js +3 -0
  74. package/dist/static/backup/tinymce/plugins/emoticons/js/emojiimages.min.js.gz +0 -0
  75. package/dist/static/backup/tinymce/plugins/emoticons/js/emojis.js +9423 -0
  76. package/dist/static/backup/tinymce/plugins/emoticons/js/emojis.js.gz +0 -0
  77. package/dist/static/backup/tinymce/plugins/emoticons/js/emojis.min.js +2 -0
  78. package/dist/static/backup/tinymce/plugins/emoticons/js/emojis.min.js.gz +0 -0
  79. package/dist/static/backup/tinymce/plugins/emoticons/plugin.min.js +9 -0
  80. package/dist/static/backup/tinymce/plugins/formatpainter/plugin.js +156 -0
  81. package/dist/static/backup/tinymce/plugins/formatpainter/plugin.min.js +971 -0
  82. package/dist/static/backup/tinymce/plugins/formatpainter/plugin.min.js.gz +0 -0
  83. package/dist/static/backup/tinymce/plugins/fullpage/plugin.min.js +9 -0
  84. package/dist/static/backup/tinymce/plugins/fullscreen/plugin.min.js +9 -0
  85. package/dist/static/backup/tinymce/plugins/fullscreen/plugin.min.js.gz +0 -0
  86. package/dist/static/backup/tinymce/plugins/help/plugin.min.js +9 -0
  87. package/dist/static/backup/tinymce/plugins/help/plugin.min.js.gz +0 -0
  88. package/dist/static/backup/tinymce/plugins/hr/plugin.min.js +9 -0
  89. package/dist/static/backup/tinymce/plugins/image/plugin.min.js +9 -0
  90. package/dist/static/backup/tinymce/plugins/image/plugin.min.js.gz +0 -0
  91. package/dist/static/backup/tinymce/plugins/imagetools/plugin.min.js +9 -0
  92. package/dist/static/backup/tinymce/plugins/imagetools/plugin.min.js.gz +0 -0
  93. package/dist/static/backup/tinymce/plugins/importcss/plugin.min.js +9 -0
  94. package/dist/static/backup/tinymce/plugins/insertdatetime/plugin.min.js +9 -0
  95. package/dist/static/backup/tinymce/plugins/legacyoutput/plugin.min.js +9 -0
  96. package/dist/static/backup/tinymce/plugins/link/plugin.min.js +9 -0
  97. package/dist/static/backup/tinymce/plugins/link/plugin.min.js.gz +0 -0
  98. package/dist/static/backup/tinymce/plugins/lists/plugin.min.js +9 -0
  99. package/dist/static/backup/tinymce/plugins/lists/plugin.min.js.gz +0 -0
  100. package/dist/static/backup/tinymce/plugins/media/plugin.min.js +9 -0
  101. package/dist/static/backup/tinymce/plugins/media/plugin.min.js.gz +0 -0
  102. package/dist/static/backup/tinymce/plugins/nonbreaking/plugin.min.js +9 -0
  103. package/dist/static/backup/tinymce/plugins/noneditable/plugin.min.js +9 -0
  104. package/dist/static/backup/tinymce/plugins/pagebreak/plugin.min.js +9 -0
  105. package/dist/static/backup/tinymce/plugins/paste/plugin.min.js +9 -0
  106. package/dist/static/backup/tinymce/plugins/paste/plugin.min.js.gz +0 -0
  107. package/dist/static/backup/tinymce/plugins/powerpaste/img/spinner_96.gif +0 -0
  108. package/dist/static/backup/tinymce/plugins/powerpaste/js/wordimport.js +9098 -0
  109. package/dist/static/backup/tinymce/plugins/powerpaste/js/wordimport.js.gz +0 -0
  110. package/dist/static/backup/tinymce/plugins/powerpaste/langs/zh_CN.js +18 -0
  111. package/dist/static/backup/tinymce/plugins/powerpaste/plugin.min.js +7 -0
  112. package/dist/static/backup/tinymce/plugins/powerpaste/plugin.min.js.gz +0 -0
  113. package/dist/static/backup/tinymce/plugins/preview/plugin.min.js +9 -0
  114. package/dist/static/backup/tinymce/plugins/print/plugin.min.js +9 -0
  115. package/dist/static/backup/tinymce/plugins/quickbars/plugin.min.js +9 -0
  116. package/dist/static/backup/tinymce/plugins/save/plugin.min.js +9 -0
  117. package/dist/static/backup/tinymce/plugins/searchreplace/plugin.min.js +9 -0
  118. package/dist/static/backup/tinymce/plugins/searchreplace/plugin.min.js.gz +0 -0
  119. package/dist/static/backup/tinymce/plugins/spellchecker/plugin.min.js +9 -0
  120. package/dist/static/backup/tinymce/plugins/tabfocus/plugin.min.js +9 -0
  121. package/dist/static/backup/tinymce/plugins/table/plugin.min.js +9 -0
  122. package/dist/static/backup/tinymce/plugins/table/plugin.min.js.gz +0 -0
  123. package/dist/static/backup/tinymce/plugins/template/plugin.min.js +9 -0
  124. package/dist/static/backup/tinymce/plugins/textcolor/plugin.min.js +9 -0
  125. package/dist/static/backup/tinymce/plugins/textpattern/plugin.min.js +9 -0
  126. package/dist/static/backup/tinymce/plugins/textpattern/plugin.min.js.gz +0 -0
  127. package/dist/static/backup/tinymce/plugins/toc/plugin.min.js +9 -0
  128. package/dist/static/backup/tinymce/plugins/visualblocks/plugin.min.js +9 -0
  129. package/dist/static/backup/tinymce/plugins/visualchars/plugin.min.js +9 -0
  130. package/dist/static/backup/tinymce/plugins/wordcount/plugin.min.js +9 -0
  131. package/dist/static/backup/tinymce/plugins/wordcount/plugin.min.js.gz +0 -0
  132. package/dist/static/backup/tinymce/skins/content/dark/content.min.css +7 -0
  133. package/dist/static/backup/tinymce/skins/content/default/content.min.css +7 -0
  134. package/dist/static/backup/tinymce/skins/content/document/content.min.css +7 -0
  135. package/dist/static/backup/tinymce/skins/content/writer/content.min.css +7 -0
  136. package/dist/static/backup/tinymce/skins/ui/oxide/content.inline.min.css +7 -0
  137. package/dist/static/backup/tinymce/skins/ui/oxide/content.inline.min.css.gz +0 -0
  138. package/dist/static/backup/tinymce/skins/ui/oxide/content.min.css +7 -0
  139. package/dist/static/backup/tinymce/skins/ui/oxide/content.min.css.gz +0 -0
  140. package/dist/static/backup/tinymce/skins/ui/oxide/content.mobile.min.css +7 -0
  141. package/dist/static/backup/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff +0 -0
  142. package/dist/static/backup/tinymce/skins/ui/oxide/skin.min.css +7 -0
  143. package/dist/static/backup/tinymce/skins/ui/oxide/skin.min.css.gz +0 -0
  144. package/dist/static/backup/tinymce/skins/ui/oxide/skin.mobile.min.css +7 -0
  145. package/dist/static/backup/tinymce/skins/ui/oxide/skin.mobile.min.css.gz +0 -0
  146. package/dist/static/backup/tinymce/skins/ui/oxide/skin.shadowdom.min.css +7 -0
  147. package/dist/static/backup/tinymce/skins/ui/oxide-dark/content.inline.min.css +7 -0
  148. package/dist/static/backup/tinymce/skins/ui/oxide-dark/content.inline.min.css.gz +0 -0
  149. package/dist/static/backup/tinymce/skins/ui/oxide-dark/content.min.css +7 -0
  150. package/dist/static/backup/tinymce/skins/ui/oxide-dark/content.min.css.gz +0 -0
  151. package/dist/static/backup/tinymce/skins/ui/oxide-dark/content.mobile.min.css +7 -0
  152. package/dist/static/backup/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff +0 -0
  153. package/dist/static/backup/tinymce/skins/ui/oxide-dark/skin.min.css +7 -0
  154. package/dist/static/backup/tinymce/skins/ui/oxide-dark/skin.min.css.gz +0 -0
  155. package/dist/static/backup/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +7 -0
  156. package/dist/static/backup/tinymce/skins/ui/oxide-dark/skin.mobile.min.css.gz +0 -0
  157. package/dist/static/backup/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +7 -0
  158. package/dist/static/backup/tinymce/themes/mobile/theme.min.js +9 -0
  159. package/dist/static/backup/tinymce/themes/mobile/theme.min.js.gz +0 -0
  160. package/dist/static/backup/tinymce/themes/silver/theme.min.js +9 -0
  161. package/dist/static/backup/tinymce/themes/silver/theme.min.js.gz +0 -0
  162. package/dist/static/backup/tinymce/tinymce.d.ts +3036 -0
  163. package/dist/static/backup/tinymce/tinymce.min.js +9 -0
  164. package/dist/static/backup/tinymce/tinymce.min.js.gz +0 -0
  165. package/dist/static/backup/vue-router.min.js +11 -0
  166. package/dist/static/backup/vue-router.min.js.gz +0 -0
  167. package/dist/static/backup/vue.js +12014 -0
  168. package/dist/static/backup/vue.js.gz +0 -0
  169. package/dist/static/backup/vue.min.js +6 -0
  170. package/dist/static/backup/vue.min.js.gz +0 -0
  171. package/dist/static/backup/vuex.min.js +6 -0
  172. package/dist/static/backup/vuex.min.js.gz +0 -0
  173. package/dist/static/css/font-family.css +110 -0
  174. package/dist/static/ttf/Times New Roman.ttf +0 -0
  175. package/dist/static/ttf/Times%20New%20Roman.ttf.gz +0 -0
  176. package/dist/static/ttf/heiTi/FZZHJW.TTF +0 -0
  177. package/dist/static/ttf/songti/STSongti-SC-Black-01.ttf +0 -0
  178. package/dist/static/ttf/songti/STSongti-SC-Black-01.ttf.gz +0 -0
  179. package/dist/static/ttf//344/273/277/345/256/213.ttf +0 -0
  180. package/dist/static/ttf//344/273/277/345/256/213.ttf.gz +0 -0
  181. package/dist/static/ttf//346/245/267/344/275/223.ttf +0 -0
  182. package/dist/static/ttf//346/245/267/344/275/223.ttf.gz +0 -0
  183. package/package.json +77 -0
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3
+ * Licensed under the LGPL or a commercial license.
4
+ * For LGPL see License.txt in the project root for license information.
5
+ * For commercial licenses see https://www.tiny.cloud/
6
+ *
7
+ * Version: 5.10.0 (2021-10-11)
8
+ */
9
+ !function(){"use strict";function r(){}function i(t){return function(){return t}}function t(t){return t}function n(){return c}var m,e=tinymce.util.Tools.resolve("tinymce.PluginManager"),l=i(!1),a=i(!(m=null)),c={fold:function(t,n){return t()},isSome:l,isNone:a,getOr:t,getOrThunk:o,getOrDie:function(t){throw new Error(t||"error: getOrDie called on none.")},getOrNull:i(null),getOrUndefined:i(void 0),or:t,orThunk:o,map:n,each:r,bind:n,exists:l,forall:a,filter:function(){return c},toArray:function(){return[]},toString:i("none()")};function o(t){return t()}function g(t){var n=t;return{get:function(){return n},set:function(t){n=t}}}function d(t,n){for(var e=k(t),o=0,r=e.length;o<r;o++){var i=e[o];n(t[i],i)}}function h(t,n){return j.call(t,n)}function s(){var t,n,e=(t=r,n=g(O.none()),{clear:function(){o(),n.set(O.none())},isSet:function(){return n.get().isSome()},get:function(){return n.get()},set:function(t){o(),n.set(O.some(t))}});function o(){return n.get().each(t)}return C(C({},e),{on:function(t){return e.get().each(t)}})}function f(t,n){return-1!==t.indexOf(n)}function v(i,r,t){var a=s(),c=s(),f=i.getParam("emoticons_images_url","https://twemoji.maxcdn.com/v/13.0.1/72x72/","string");i.on("init",function(){_.load(t,r).then(function(t){var n,e,o,l,s,r=(n=i.getParam("emoticons_append",{},"object"),e=function(t){return C({keywords:[],category:"user"},t)},A(n,function(t,n){return{k:n,v:e(t)}}));o=w(t,r),l={},s=[],d(o,function(t,n){var e,o,r,i,a,c={title:n,keywords:t.keywords,char:(i=(r=t).char).length>=(a="<img").length&&i.substr(0,0+a.length)===a?r.char.replace(/src="([^"]+)"/,function(t,n){return'src="'+f+n+'"'}):r.char,category:h(e=D,o=t.category)?e[o]:o},u=void 0!==l[c.category]?l[c.category]:[];l[c.category]=u.concat([c]),s.push(c)}),a.set(l),c.set(s)},function(t){console.log("Failed to load emoticons: "+t),a.set({}),c.set([])})});function e(){return c.get().getOr([])}function u(){return a.isSet()&&c.isSet()}return{listCategories:function(){return[P].concat(k(a.get().getOr({})))},hasLoaded:u,waitForLoad:function(){return u()?x.resolve(!0):new x(function(t,n){var e=15,o=T.setInterval(function(){u()?(T.clearInterval(o),t(!0)):--e<0&&(console.log("Could not load emojis from url: "+r),T.clearInterval(o),n(!1))},100)})},listAll:e,listCategory:function(n){return n===P?e():a.get().bind(function(t){return O.from(t[n])}).getOr([])}}}function y(t,n,e){for(var o,r,i=[],a=n.toLowerCase(),c=e.fold(function(){return l},function(n){return function(t){return n<=t}}),u=0;u<t.length&&(0!==n.length&&(o=t[u],r=a,!f(o.title.toLowerCase(),r)&&!function(t){for(var n=0,e=t.length;n<e;n++)if(f(t[n].toLowerCase(),r))return 1}(o.keywords))||(i.push({value:t[u].char,text:t[u].title,icon:t[u].char}),!c(i.length)));u++);return i}function p(o,i){var e,r,t={pattern:"",results:y(i.listAll(),"",O.some(300))},a=g(P),c=(e=function(t){var n,e=(n=t).getData(),o=a.get(),r=y(i.listCategory(o),e[S],o===P?O.some(300):O.none());n.setData({results:r})},r=null,{cancel:u,throttle:function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];u(),r=setTimeout(function(){r=null,e.apply(null,t)},200)}});function u(){m===r||(clearTimeout(r),r=null)}function n(){return{title:"Emoticons",size:"normal",body:{type:"tabpanel",tabs:function(t){for(var n=t.length,e=new Array(n),o=0;o<n;o++){var r=t[o];e[o]={title:r,name:r,items:[l,s]}}return e}(i.listCategories())},initialData:t,onTabChange:function(t,n){a.set(n.newTabName),c.throttle(t)},onChange:c.throttle,onAction:function(t,n){var e;"results"===n.name&&(e=n.value,o.insertContent(e),t.close())},buttons:[{type:"cancel",text:"Close",primary:!0}]}}var l={label:"Search",type:"input",name:S},s={type:"collection",name:"results"},f=o.windowManager.open(n());f.focus(S),i.hasLoaded()||(f.block("Loading emoticons..."),i.waitForLoad().then(function(){f.redial(n()),c.throttle(f),f.focus(S),f.unblock()}).catch(function(t){f.redial({title:"Emoticons",body:{type:"panel",items:[{type:"alertbanner",level:"error",icon:"warning",text:"<p>Could not load emoticons</p>"}]},buttons:[{type:"cancel",text:"Close",primary:!0}],initialData:{pattern:"",results:[]}}),f.focus(S),f.unblock()}))}function b(t){t.on("PreInit",function(){t.parser.addAttributeFilter("data-emoticon",function(t){!function(t){for(var n,e=0,o=t.length;e<o;e++)(n=t[e]).attr("data-mce-resize","false"),n.attr("data-mce-placeholder","1")}(t)})})}function w(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];if(0===t.length)throw new Error("Can't merge zero objects");for(var e={},o=0;o<t.length;o++){var r,i=t[o];for(r in i)h(i,r)&&(e[r]=(e[r],i[r]))}return e}var u=function(e){function t(){return r}function n(t){return t(e)}var o=i(e),r={fold:function(t,n){return n(e)},isSome:a,isNone:l,getOr:o,getOrThunk:o,getOrDie:o,getOrNull:o,getOrUndefined:o,or:t,orThunk:t,map:function(t){return u(t(e))},each:function(t){t(e)},bind:n,exists:n,forall:n,filter:function(t){return t(e)?r:c},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return r},O={some:u,none:n,from:function(t){return null==t?c:u(t)}},C=function(){return(C=Object.assign||function(t){for(var n,e=1,o=arguments.length;e<o;e++)for(var r in n=arguments[e])Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t}).apply(this,arguments)},k=Object.keys,j=Object.hasOwnProperty,A=function(t,o){var r={};return d(t,function(t,n){var e=o(t,n);r[e.k]=e.v}),r},_=tinymce.util.Tools.resolve("tinymce.Resource"),T=tinymce.util.Tools.resolve("tinymce.util.Delay"),x=tinymce.util.Tools.resolve("tinymce.util.Promise"),P="All",D={symbols:"Symbols",people:"People",animals_and_nature:"Animals and Nature",food_and_drink:"Food and Drink",activity:"Activity",travel_and_places:"Travel and Places",objects:"Objects",flags:"Flags",user:"User Defined"},S="pattern";e.add("emoticons",function(t,n){var e,o,r,i,a,c,u,l,s=(o=n,r=(e=t).getParam("emoticons_database","emojis","string"),e.getParam("emoticons_database_url",o+"/js/"+r+e.suffix+".js","string")),f=t.getParam("emoticons_database_id","tinymce.plugins.emoticons","string"),m=v(t,s,f);function g(){return c.execCommand("mceEmoticons")}a=m,(i=t).addCommand("mceEmoticons",function(){return p(i,a)}),(c=t).ui.registry.addButton("emoticons",{tooltip:"Emoticons",icon:"emoji",onAction:g}),c.ui.registry.addMenuItem("emoticons",{text:"Emoticons...",icon:"emoji",onAction:g}),l=m,(u=t).ui.registry.addAutocompleter("emoticons",{ch:":",columns:"auto",minChars:2,fetch:function(t,n){return l.waitForLoad().then(function(){return y(l.listAll(),t,O.some(n))})},onAction:function(t,n,e){u.selection.setRng(n),u.insertContent(e),t.hide()}}),b(t)})}();
@@ -0,0 +1,156 @@
1
+ /**
2
+ * A free formatpainter plugin for tinymce
3
+ * @author:sk-wang
4
+ * @page:https://github.com/sk-wang
5
+ * @email:skvdhsh@gmail.com
6
+ */
7
+ tinymce.PluginManager.add("formatpainter", function (editor, url) {
8
+ var pluginName='格式刷(Beta)';
9
+ var currentBlockStyle = "";
10
+ var currentNodeStyle = "";
11
+ var currentStrong = false;
12
+ var currentEm = false;
13
+ var toggleState = false;
14
+ var strip_tags = function (string) {
15
+ return string.replace(/(<([^>]+)>)/gi, "");
16
+ }
17
+ editor.ui.registry.addIcon('brushes', '<svg t="1614665382680" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1129" width="19" height="19"><path d="M960 448H512v192h32v320a64 64 0 1 1-128 0V640h32v-192a64 64 0 0 1 64-64h448V192h-64V128h64a64 64 0 0 1 64 64v192a64 64 0 0 1-64 64zM64 192H32a32 32 0 1 1 0-64h32V0h832v320H64V192z m64 64h704V64H128v192z" p-id="1130"></path></svg>');
18
+ function _onAction() {
19
+ var dom = editor.dom;
20
+ //这里主要为了获取样式
21
+ if(toggleState === false) {
22
+ var currentContainer = editor.selection.getRng().startContainer;
23
+ currentBlockStyle = "";
24
+ currentNodeStyle = "";
25
+ currentStrong = false;
26
+ currentEm = false;
27
+ while(true) {
28
+ currentContainer = currentContainer.parentNode
29
+ if ("P" === currentContainer.nodeName) {
30
+ currentBlockStyle = dom.getAttrib(currentContainer, 'style');
31
+ break;
32
+ }
33
+ if ("SPAN" === currentContainer.nodeName) {
34
+ currentNodeStyle = dom.getAttrib(currentContainer, 'style');
35
+ }
36
+ if ("EM" === currentContainer.nodeName) {
37
+ currentEm = true;
38
+ }
39
+ if ("STRONG" === currentContainer.nodeName) {
40
+ currentStrong = true;
41
+ }
42
+ }
43
+ }
44
+ toggleState = !toggleState;
45
+ }
46
+ // Define the Toolbar button
47
+ editor.ui.registry.addButton('formatpainter', {
48
+ icon: 'brushes',
49
+ onAction: _onAction
50
+ });
51
+ editor.ui.registry.addToggleButton('formatpainter', {
52
+ icon: 'brushes',
53
+ tooltip: pluginName,
54
+ onAction: _onAction,
55
+ onSetup: function (api) {
56
+ var selectionchange = function () {
57
+ console.log(currentBlockStyle,currentNodeStyle,currentEm,currentStrong)
58
+ console.log(editor.selection.getRng());
59
+ var range = editor.selection.getRng();
60
+ var setStyle = function (text) {
61
+ //粗体
62
+ if (currentStrong) {
63
+ text = "<strong>" + text + "</stong>"
64
+ }
65
+ //斜体
66
+ if (currentEm) {
67
+ text = "<em>" + text + "</em>"
68
+ }
69
+ if (currentNodeStyle) {
70
+ text = "<span style='" + currentNodeStyle + "'>" + text + "</span>"
71
+ }
72
+ return text
73
+ }
74
+ if(toggleState === true) {
75
+ //应用样式到选中的range中
76
+ var blocks = editor.selection.getSelectedBlocks()
77
+ for (var i = 0 ; i < blocks.length ; i++) {
78
+ //先应用段落的样式
79
+ editor.dom.setAttrib(blocks[i], "style", currentBlockStyle);
80
+ //如果是第一个
81
+ if(0 === i) {
82
+ //如果同一个container
83
+ if(range.startContainer === range.endContainer) {
84
+ var text = editor.selection.getContent({format:"text"})
85
+ editor.selection.setContent(setStyle(text));
86
+ } else {
87
+ //否则构造一个select让其选中当前block的最后一个
88
+ var currentRange = range.cloneRange();
89
+ var lastNode = range.startContainer;
90
+ while (true) {
91
+ var nextNode = editor.dom.getNext(lastNode,function (node) { return true });
92
+ console.log(nextNode)
93
+ if(editor.dom.isChildOf(nextNode,blocks[i])) {
94
+ lastNode = nextNode;
95
+ } else {
96
+ break;
97
+ }
98
+ }
99
+ currentRange.setEnd(lastNode,lastNode.length);
100
+ console.log(currentRange);
101
+ editor.selection.setRng(currentRange)
102
+ var text = editor.selection.getContent({format:"text"})
103
+ editor.selection.setContent(setStyle(text));
104
+ //把范围设置回去
105
+ editor.selection.setRng(range)
106
+ }
107
+ } else if (blocks.length - 1 === i && blocks.length > 1) {
108
+ //否则构造一个select让其选中当前block的最开始那个
109
+ var currentRange = range.cloneRange();
110
+ var startNode = range.endContainer;
111
+ while (true) {
112
+ var prevNode = editor.dom.getPrev(startNode,function (node) { return true });
113
+ if(editor.dom.isChildOf(prevNode,blocks[i])) {
114
+ startNode = prevNode;
115
+ } else {
116
+ break;
117
+ }
118
+ }
119
+ currentRange.setStart(startNode,0);
120
+ editor.selection.setRng(currentRange)
121
+ var text = editor.selection.getContent({format:"text"})
122
+ editor.selection.setContent(setStyle(text));
123
+ //把范围设置回去
124
+ editor.selection.setRng(range)
125
+ } else {
126
+ //如果是夹在中间的则所有文字应用样式
127
+ var text = strip_tags(blocks[i].innerHTML);
128
+ blocks[i].innerHTML = setStyle(text);
129
+ //如果已经有span标签了
130
+ //如果是最后一个,且不是只选中了一个
131
+ }
132
+ }
133
+ toggleState = false;
134
+ currentBlockStyle = "";
135
+ currentNodeStyle = "";
136
+ currentStrong = false;
137
+ currentEm = false;
138
+ }
139
+ };
140
+ api.setActive(toggleState);
141
+ editor.on("mouseup",selectionchange);
142
+ return function() {
143
+ editor.off("mouseup",selectionchange);
144
+ };
145
+ }
146
+ });
147
+ // Return details to be displayed in TinyMCE's "Help" plugin, if you use it
148
+ // This is optional.
149
+ return {
150
+ getMetadata: function () {
151
+ return {
152
+ name: "formatpainter",
153
+ };
154
+ }
155
+ };
156
+ });