4f9b8bb27a59f2ce051b0c6e64535b1d.json 19 KB

1
  1. {"remainingRequest":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\component\\Tinymce\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\component\\Tinymce\\index.vue","mtime":1655374732000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\babel.config.js","mtime":1655374732000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js","mtime":1655715099000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCi8qKgogKiBkb2NzOgogKiBodHRwczovL3BhbmppYWNoZW4uZ2l0aHViLmlvL3Z1ZS1lbGVtZW50LWFkbWluLXNpdGUvZmVhdHVyZS9jb21wb25lbnQvcmljaC1lZGl0b3IuaHRtbCN0aW55bWNlCiAqLwppbXBvcnQgZWRpdG9ySW1hZ2UgZnJvbSAiLi9jb21wb25lbnRzL0VkaXRvckltYWdlIjsKaW1wb3J0IHBsdWdpbnMgZnJvbSAiLi9wbHVnaW5zIjsKaW1wb3J0IHRvb2xiYXIgZnJvbSAiLi90b29sYmFyIjsKaW1wb3J0IGxvYWQgZnJvbSAiLi9keW5hbWljTG9hZFNjcmlwdCI7IC8vIHdoeSB1c2UgdGhpcyBjZG4sIGRldGFpbCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL1BhbkppYUNoZW4vdGlueW1jZS1hbGwtaW4tb25lCgpjb25zdCB0aW55bWNlQ0ROID0gImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vdGlueW1jZS1hbGwtaW4tb25lQDQuOS4zL3RpbnltY2UubWluLmpzIjsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICJUaW55bWNlIiwKICBjb21wb25lbnRzOiB7CiAgICBlZGl0b3JJbWFnZQogIH0sCiAgcHJvcHM6IHsKICAgIGlkOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiAidnVlLXRpbnltY2UtIiArICtuZXcgRGF0ZSgpICsgKChNYXRoLnJhbmRvbSgpICogMTAwMCkudG9GaXhlZCgwKSArICIiKTsKICAgICAgfQogICAgfSwKICAgIHZhbHVlOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogIiIKICAgIH0sCiAgICB0b29sYmFyOiB7CiAgICAgIHR5cGU6IEFycmF5LAogICAgICByZXF1aXJlZDogZmFsc2UsCgogICAgICBkZWZhdWx0KCkgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfQoKICAgIH0sCiAgICBtZW51YmFyOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogIuaWh+S7tue8lui+keaPkuWFpeinhuWbvuagvOW8j+ihqCIKICAgIH0sCiAgICBoZWlnaHQ6IHsKICAgICAgdHlwZTogW051bWJlciwgU3RyaW5nXSwKICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICBkZWZhdWx0OiAzNjAKICAgIH0sCiAgICB3aWR0aDogewogICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLAogICAgICByZXF1aXJlZDogZmFsc2UsCiAgICAgIGRlZmF1bHQ6ICJhdXRvIgogICAgfQogIH0sCgogIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBoYXNDaGFuZ2U6IGZhbHNlLAogICAgICBoYXNJbml0OiBmYWxzZSwKICAgICAgdGlueW1jZUlkOiB0aGlzLmlkLAogICAgICBmdWxsc2NyZWVuOiBmYWxzZSwKICAgICAgbGFuZ3VhZ2VUeXBlTGlzdDogewogICAgICAgIGVuOiAiZW4iLAogICAgICAgIHpoOiAiemhfQ04iLAogICAgICAgIGVzOiAiZXNfTVgiLAogICAgICAgIGphOiAiamEiCiAgICAgIH0KICAgIH07CiAgfSwKCiAgY29tcHV0ZWQ6IHsKICAgIGNvbnRhaW5lcldpZHRoKCkgewogICAgICBjb25zdCB3aWR0aCA9IHRoaXMud2lkdGg7CgogICAgICBpZiAoL15bXGRdKyhcLltcZF0rKT8kLy50ZXN0KHdpZHRoKSkgewogICAgICAgIC8vIG1hdGNoZXMgYDEwMGAsIGAnMTAwJ2AKICAgICAgICByZXR1cm4gYCR7d2lkdGh9cHhgOwogICAgICB9CgogICAgICByZXR1cm4gd2lkdGg7CiAgICB9CgogIH0sCiAgd2F0Y2g6IHsKICAgIHZhbHVlKHZhbCkgewogICAgICBpZiAoIXRoaXMuaGFzQ2hhbmdlICYmIHRoaXMuaGFzSW5pdCkgewogICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHdpbmRvdy50aW55bWNlLmdldCh0aGlzLnRpbnltY2VJZCkuc2V0Q29udGVudCh2YWwgfHwgIiIpKTsKICAgICAgfQogICAgfQoKICB9LAoKICBtb3VudGVkKCkgewogICAgdGhpcy5pbml0KCk7CiAgfSwKCiAgYWN0aXZhdGVkKCkgewogICAgaWYgKHdpbmRvdy50aW55bWNlKSB7CiAgICAgIHRoaXMuaW5pdFRpbnltY2UoKTsKICAgIH0KICB9LAoKICBkZWFjdGl2YXRlZCgpIHsKICAgIHRoaXMuZGVzdHJveVRpbnltY2UoKTsKICB9LAoKICBkZXN0cm95ZWQoKSB7CiAgICB0aGlzLmRlc3Ryb3lUaW55bWNlKCk7CiAgfSwKCiAgbWV0aG9kczogewogICAgaW5pdCgpIHsKICAgICAgLy8gZHluYW1pYyBsb2FkIHRpbnltY2UgZnJvbSBjZG4KICAgICAgbG9hZCh0aW55bWNlQ0ROLCBlcnIgPT4gewogICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoZXJyLm1lc3NhZ2UpOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5pbml0VGlueW1jZSgpOwogICAgICB9KTsKICAgIH0sCgogICAgaW5pdFRpbnltY2UoKSB7CiAgICAgIGNvbnN0IF90aGlzID0gdGhpczsKCiAgICAgIHdpbmRvdy50aW55bWNlLmluaXQoewogICAgICAgIHNlbGVjdG9yOiBgIyR7dGhpcy50aW55bWNlSWR9YCwKICAgICAgICBsYW5ndWFnZTogdGhpcy5sYW5ndWFnZVR5cGVMaXN0WyJ6aCJdLAogICAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQsCiAgICAgICAgYm9keV9jbGFzczogInBhbmVsLWJvZHkgIiwKICAgICAgICBvYmplY3RfcmVzaXppbmc6IGZhbHNlLAogICAgICAgIHRvb2xiYXI6IHRoaXMudG9vbGJhci5sZW5ndGggPiAwID8gdGhpcy50b29sYmFyIDogdG9vbGJhciwKICAgICAgICBtZW51YmFyOiB0aGlzLm1lbnViYXIsCiAgICAgICAgcGx1Z2luczogcGx1Z2lucywKICAgICAgICBlbmRfY29udGFpbmVyX29uX2VtcHR5X2Jsb2NrOiB0cnVlLAogICAgICAgIHBvd2VycGFzdGVfd29yZF9pbXBvcnQ6ICJjbGVhbiIsCiAgICAgICAgY29kZV9kaWFsb2dfaGVpZ2h0OiA0NTAsCiAgICAgICAgY29kZV9kaWFsb2dfd2lkdGg6IDEwMDAsCiAgICAgICAgYWR2bGlzdF9idWxsZXRfc3R5bGVzOiAic3F1YXJlIiwKICAgICAgICBhZHZsaXN0X251bWJlcl9zdHlsZXM6ICJkZWZhdWx0IiwKICAgICAgICBpbWFnZXRvb2xzX2NvcnNfaG9zdHM6IFsid3d3LnRpbnltY2UuY29tIiwgImNvZGVwZW4uaW8iXSwKICAgICAgICBkZWZhdWx0X2xpbmtfdGFyZ2V0OiAiX2JsYW5rIiwKICAgICAgICBsaW5rX3RpdGxlOiBmYWxzZSwKICAgICAgICBub25icmVha2luZ19mb3JjZV90YWI6IHRydWUsCiAgICAgICAgLy8gaW5zZXJ0aW5nIG5vbmJyZWFraW5nIHNwYWNlICZuYnNwOyBuZWVkIE5vbmJyZWFraW5nIFNwYWNlIFBsdWdpbgogICAgICAgIGluaXRfaW5zdGFuY2VfY2FsbGJhY2s6IGVkaXRvciA9PiB7CiAgICAgICAgICBpZiAoX3RoaXMudmFsdWUpIHsKICAgICAgICAgICAgZWRpdG9yLnNldENvbnRlbnQoX3RoaXMudmFsdWUpOwogICAgICAgICAgfQoKICAgICAgICAgIF90aGlzLmhhc0luaXQgPSB0cnVlOwogICAgICAgICAgZWRpdG9yLm9uKCJOb2RlQ2hhbmdlIENoYW5nZSBLZXlVcCBTZXRDb250ZW50IiwgKCkgPT4gewogICAgICAgICAgICB0aGlzLmhhc0NoYW5nZSA9IHRydWU7CiAgICAgICAgICAgIHRoaXMuJGVtaXQoImlucHV0IiwgZWRpdG9yLmdldENvbnRlbnQoKSk7CiAgICAgICAgICB9KTsKICAgICAgICB9LAoKICAgICAgICBzZXR1cChlZGl0b3IpIHsKICAgICAgICAgIGVkaXRvci5vbigiRnVsbHNjcmVlblN0YXRlQ2hhbmdlZCIsIGUgPT4gewogICAgICAgICAgICBfdGhpcy5mdWxsc2NyZWVuID0gZS5zdGF0ZTsKICAgICAgICAgIH0pOwogICAgICAgIH0gLy8g5pW05ZCI5LiD54mb5LiK5LygCiAgICAgICAgLy8gaW1hZ2VzX2RhdGFpbWdfZmlsdGVyKGltZykgewogICAgICAgIC8vICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgLy8gICAgIGNvbnN0ICRpbWFnZSA9ICQoaW1nKTsKICAgICAgICAvLyAgICAgJGltYWdlLnJlbW92ZUF0dHIoJ3dpZHRoJyk7CiAgICAgICAgLy8gICAgICRpbWFnZS5yZW1vdmVBdHRyKCdoZWlnaHQnKTsKICAgICAgICAvLyAgICAgaWYgKCRpbWFnZVswXS5oZWlnaHQgJiYgJGltYWdlWzBdLndpZHRoKSB7CiAgICAgICAgLy8gICAgICAgJGltYWdlLmF0dHIoJ2RhdGEtd3NjbnR5cGUnLCAnaW1hZ2UnKTsKICAgICAgICAvLyAgICAgICAkaW1hZ2UuYXR0cignZGF0YS13c2NuaCcsICRpbWFnZVswXS5oZWlnaHQpOwogICAgICAgIC8vICAgICAgICRpbWFnZS5hdHRyKCdkYXRhLXdzY253JywgJGltYWdlWzBdLndpZHRoKTsKICAgICAgICAvLyAgICAgICAkaW1hZ2UuYWRkQ2xhc3MoJ3dzY25waCcpOwogICAgICAgIC8vICAgICB9CiAgICAgICAgLy8gICB9LCAwKTsKICAgICAgICAvLyAgIHJldHVybiBpbWcKICAgICAgICAvLyB9LAogICAgICAgIC8vIGltYWdlc191cGxvYWRfaGFuZGxlcihibG9iSW5mbywgc3VjY2VzcywgZmFpbHVyZSwgcHJvZ3Jlc3MpIHsKICAgICAgICAvLyAgIHByb2dyZXNzKDApOwogICAgICAgIC8vICAgY29uc3QgdG9rZW4gPSBfdGhpcy4kc3RvcmUuZ2V0dGVycy50b2tlbjsKICAgICAgICAvLyAgIGdldFRva2VuKHRva2VuKS50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICAvLyAgICAgY29uc3QgdXJsID0gcmVzcG9uc2UuZGF0YS5xaW5pdV91cmw7CiAgICAgICAgLy8gICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7CiAgICAgICAgLy8gICAgIGZvcm1EYXRhLmFwcGVuZCgndG9rZW4nLCByZXNwb25zZS5kYXRhLnFpbml1X3Rva2VuKTsKICAgICAgICAvLyAgICAgZm9ybURhdGEuYXBwZW5kKCdrZXknLCByZXNwb25zZS5kYXRhLnFpbml1X2tleSk7CiAgICAgICAgLy8gICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGJsb2JJbmZvLmJsb2IoKSwgdXJsKTsKICAgICAgICAvLyAgICAgdXBsb2FkKGZvcm1EYXRhKS50aGVuKCgpID0+IHsKICAgICAgICAvLyAgICAgICBzdWNjZXNzKHVybCk7CiAgICAgICAgLy8gICAgICAgcHJvZ3Jlc3MoMTAwKTsKICAgICAgICAvLyAgICAgfSkKICAgICAgICAvLyAgIH0pLmNhdGNoKGVyciA9PiB7CiAgICAgICAgLy8gICAgIGZhaWx1cmUoJ+WHuueOsOacquefpemXrumimO+8jOWIt+aWsOmhtemdou+8jOaIluiAheiBlOezu+eoi+W6j+WRmCcpCiAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgLy8gICB9KTsKICAgICAgICAvLyB9LAoKCiAgICAgIH0pOwogICAgfSwKCiAgICBkZXN0cm95VGlueW1jZSgpIHsKICAgICAgY29uc3QgdGlueW1jZSA9IHdpbmRvdy50aW55bWNlLmdldCh0aGlzLnRpbnltY2VJZCk7CgogICAgICBpZiAodGhpcy5mdWxsc2NyZWVuKSB7CiAgICAgICAgdGlueW1jZS5leGVjQ29tbWFuZCgibWNlRnVsbFNjcmVlbiIpOwogICAgICB9CgogICAgICBpZiAodGlueW1jZSkgewogICAgICAgIHRpbnltY2UuZGVzdHJveSgpOwogICAgICB9CiAgICB9LAoKICAgIHNldENvbnRlbnQodmFsdWUpIHsKICAgICAgd2luZG93LnRpbnltY2UuZ2V0KHRoaXMudGlueW1jZUlkKS5zZXRDb250ZW50KHZhbHVlKTsKICAgIH0sCgogICAgZ2V0Q29udGVudCgpIHsKICAgICAgd2luZG93LnRpbnltY2UuZ2V0KHRoaXMudGlueW1jZUlkKS5nZXRDb250ZW50KCk7CiAgICB9LAoKICAgIGltYWdlU3VjY2Vzc0NCSyhhcnIpIHsKICAgICAgY29uc3QgX3RoaXMgPSB0aGlzOwoKICAgICAgYXJyLmZvckVhY2godiA9PiB7CiAgICAgICAgd2luZG93LnRpbnltY2UuZ2V0KF90aGlzLnRpbnltY2VJZCkuaW5zZXJ0Q29udGVudChgPGltZyBjbGFzcz0id3NjbnBoIiB3aWR0aD0iMTAwJSIgc3JjPSIke3YudXJsfSIgPmApOwogICAgICB9KTsKICAgIH0KCiAgfQp9Ow=="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uC,CAEA;;AACA,mBACA,sEADA;AAGA;EACAA,eADA;EAEAC;IAAAC;EAAA,CAFA;EAGAC;IACAC;MACAC,YADA;MAEAC;QACA,OACA,iBACA,WADA,IAEA,sCAFA,CADA;MAKA;IARA,CADA;IAWAC;MACAF,YADA;MAEAC;IAFA,CAXA;IAeAE;MACAH,WADA;MAEAI,eAFA;;MAGAH;QACA;MACA;;IALA,CAfA;IAsBAI;MACAL,YADA;MAEAC;IAFA,CAtBA;IA0BAK;MACAN,sBADA;MAEAI,eAFA;MAGAH;IAHA,CA1BA;IA+BAM;MACAP,sBADA;MAEAI,eAFA;MAGAH;IAHA;EA/BA,CAHA;;EAwCAO;IACA;MACAC,gBADA;MAEAC,cAFA;MAGAC,kBAHA;MAIAC,iBAJA;MAKAC;QACAC,QADA;QAEAC,WAFA;QAGAC,WAHA;QAIAC;MAJA;IALA;EAYA,CArDA;;EAsDAC;IACAC;MACA;;MACA;QACA;QACA;MACA;;MACA;IACA;;EARA,CAtDA;EAgEAC;IACAlB;MACA;QACA,qBACAmB,wDADA;MAGA;IACA;;EAPA,CAhEA;;EAyEAC;IACA;EACA,CA3EA;;EA4EAC;IACA;MACA;IACA;EACA,CAhFA;;EAiFAC;IACA;EACA,CAnFA;;EAoFAC;IACA;EACA,CAtFA;;EAuFAC;IACAC;MACA;MACAC;QACA;UACA;UACA;QACA;;QACA;MACA,CANA;IAOA,CAVA;;IAWAC;MACA;;MACAR;QACAS,8BADA;QAEAC,qCAFA;QAGAzB,mBAHA;QAIA0B,yBAJA;QAKAC,sBALA;QAMA9B,yDANA;QAOAE,qBAPA;QAQA6B,gBARA;QASAC,kCATA;QAUAC,+BAVA;QAWAC,uBAXA;QAYAC,uBAZA;QAaAC,+BAbA;QAcAC,gCAdA;QAeAC,wDAfA;QAgBAC,6BAhBA;QAiBAC,iBAjBA;QAkBAC,2BAlBA;QAkBA;QACAC;UACA;YACAC;UACA;;UACAC;UACAD;YACA;YACA;UACA,CAHA;QAIA,CA5BA;;QA6BAE;UACAF;YACAC;UACA,CAFA;QAGA,CAjCA,CAkCA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;;MAlEA;IAoEA,CAjFA;;IAkFAE;MACA;;MACA;QACAC;MACA;;MAEA;QACAA;MACA;IACA,CA3FA;;IA4FAC;MACA9B;IACA,CA9FA;;IA+FA+B;MACA/B;IACA,CAjGA;;IAkGAgC;MACA;;MACAC;QACAjC,eACAkC,GADA,CACAR,eADA,EAEAS,aAFA,CAEA,mDAFA;MAGA,CAJA;IAKA;;EAzGA;AAvFA","names":["name","components","editorImage","props","id","type","default","value","toolbar","required","menubar","height","width","data","hasChange","hasInit","tinymceId","fullscreen","languageTypeList","en","zh","es","ja","computed","containerWidth","watch","window","mounted","activated","deactivated","destroyed","methods","init","load","initTinymce","selector","language","body_class","object_resizing","plugins","end_container_on_empty_block","powerpaste_word_import","code_dialog_height","code_dialog_width","advlist_bullet_styles","advlist_number_styles","imagetools_cors_hosts","default_link_target","link_title","nonbreaking_force_tab","init_instance_callback","editor","_this","setup","destroyTinymce","tinymce","setContent","getContent","imageSuccessCBK","arr","get","insertContent"],"sourceRoot":"src/component/Tinymce","sources":["index.vue"],"sourcesContent":["<template>\n <div\n :class=\"{ fullscreen: fullscreen }\"\n class=\"tinymce-container\"\n :style=\"{ width: containerWidth }\"\n >\n <textarea :id=\"tinymceId\" class=\"tinymce-textarea\" />\n <div class=\"editor-custom-btn-container\">\n <editorImage\n color=\"#1890ff\"\n class=\"editor-upload-btn\"\n @successCBK=\"imageSuccessCBK\"\n />\n </div>\n </div>\n</template>\n\n<script>\n /**\n * docs:\n * https://panjiachen.github.io/vue-element-admin-site/feature/component/rich-editor.html#tinymce\n */\n import editorImage from \"./components/EditorImage\";\n import plugins from \"./plugins\";\n import toolbar from \"./toolbar\";\n import load from \"./dynamicLoadScript\";\n\n // why use this cdn, detail see https://github.com/PanJiaChen/tinymce-all-in-one\n const tinymceCDN =\n \"https://cdn.jsdelivr.net/npm/tinymce-all-in-one@4.9.3/tinymce.min.js\";\n\n export default {\n name: \"Tinymce\",\n components: { editorImage },\n props: {\n id: {\n type: String,\n default: function () {\n return (\n \"vue-tinymce-\" +\n +new Date() +\n ((Math.random() * 1000).toFixed(0) + \"\")\n );\n },\n },\n value: {\n type: String,\n default: \"\",\n },\n toolbar: {\n type: Array,\n required: false,\n default() {\n return [];\n },\n },\n menubar: {\n type: String,\n default: \"文件编辑插入视图格式表\",\n },\n height: {\n type: [Number, String],\n required: false,\n default: 360,\n },\n width: {\n type: [Number, String],\n required: false,\n default: \"auto\",\n },\n },\n data() {\n return {\n hasChange: false,\n hasInit: false,\n tinymceId: this.id,\n fullscreen: false,\n languageTypeList: {\n en: \"en\",\n zh: \"zh_CN\",\n es: \"es_MX\",\n ja: \"ja\",\n },\n };\n },\n computed: {\n containerWidth() {\n const width = this.width;\n if (/^[\\d]+(\\.[\\d]+)?$/.test(width)) {\n // matches `100`, `'100'`\n return `${width}px`;\n }\n return width;\n },\n },\n watch: {\n value(val) {\n if (!this.hasChange && this.hasInit) {\n this.$nextTick(() =>\n window.tinymce.get(this.tinymceId).setContent(val || \"\")\n );\n }\n },\n },\n mounted() {\n this.init();\n },\n activated() {\n if (window.tinymce) {\n this.initTinymce();\n }\n },\n deactivated() {\n this.destroyTinymce();\n },\n destroyed() {\n this.destroyTinymce();\n },\n methods: {\n init() {\n // dynamic load tinymce from cdn\n load(tinymceCDN, (err) => {\n if (err) {\n this.$message.error(err.message);\n return;\n }\n this.initTinymce();\n });\n },\n initTinymce() {\n const _this = this;\n window.tinymce.init({\n selector: `#${this.tinymceId}`,\n language: this.languageTypeList[\"zh\"],\n height: this.height,\n body_class: \"panel-body \",\n object_resizing: false,\n toolbar: this.toolbar.length > 0 ? this.toolbar : toolbar,\n menubar: this.menubar,\n plugins: plugins,\n end_container_on_empty_block: true,\n powerpaste_word_import: \"clean\",\n code_dialog_height: 450,\n code_dialog_width: 1000,\n advlist_bullet_styles: \"square\",\n advlist_number_styles: \"default\",\n imagetools_cors_hosts: [\"www.tinymce.com\", \"codepen.io\"],\n default_link_target: \"_blank\",\n link_title: false,\n nonbreaking_force_tab: true, // inserting nonbreaking space &nbsp; need Nonbreaking Space Plugin\n init_instance_callback: (editor) => {\n if (_this.value) {\n editor.setContent(_this.value);\n }\n _this.hasInit = true;\n editor.on(\"NodeChange Change KeyUp SetContent\", () => {\n this.hasChange = true;\n this.$emit(\"input\", editor.getContent());\n });\n },\n setup(editor) {\n editor.on(\"FullscreenStateChanged\", (e) => {\n _this.fullscreen = e.state;\n });\n },\n // 整合七牛上传\n // images_dataimg_filter(img) {\n // setTimeout(() => {\n // const $image = $(img);\n // $image.removeAttr('width');\n // $image.removeAttr('height');\n // if ($image[0].height && $image[0].width) {\n // $image.attr('data-wscntype', 'image');\n // $image.attr('data-wscnh', $image[0].height);\n // $image.attr('data-wscnw', $image[0].width);\n // $image.addClass('wscnph');\n // }\n // }, 0);\n // return img\n // },\n // images_upload_handler(blobInfo, success, failure, progress) {\n // progress(0);\n // const token = _this.$store.getters.token;\n // getToken(token).then(response => {\n // const url = response.data.qiniu_url;\n // const formData = new FormData();\n // formData.append('token', response.data.qiniu_token);\n // formData.append('key', response.data.qiniu_key);\n // formData.append('file', blobInfo.blob(), url);\n // upload(formData).then(() => {\n // success(url);\n // progress(100);\n // })\n // }).catch(err => {\n // failure('出现未知问题,刷新页面,或者联系程序员')\n // console.log(err);\n // });\n // },\n });\n },\n destroyTinymce() {\n const tinymce = window.tinymce.get(this.tinymceId);\n if (this.fullscreen) {\n tinymce.execCommand(\"mceFullScreen\");\n }\n\n if (tinymce) {\n tinymce.destroy();\n }\n },\n setContent(value) {\n window.tinymce.get(this.tinymceId).setContent(value);\n },\n getContent() {\n window.tinymce.get(this.tinymceId).getContent();\n },\n imageSuccessCBK(arr) {\n const _this = this;\n arr.forEach((v) => {\n window.tinymce\n .get(_this.tinymceId)\n .insertContent(`<img class=\"wscnph\" width=\"100%\" src=\"${v.url}\" >`);\n });\n },\n },\n };\n</script>\n\n<style scoped>\n .tinymce-container {\n position: relative;\n line-height: normal;\n }\n .tinymce-container >>> .mce-fullscreen {\n z-index: 10000;\n }\n .tinymce-textarea {\n visibility: hidden;\n z-index: -1;\n }\n .editor-custom-btn-container {\n position: absolute;\n right: 4px;\n top: 4px;\n /*z-index: 2005;*/\n }\n .fullscreen .editor-custom-btn-container {\n z-index: 10000;\n position: fixed;\n }\n .editor-upload-btn {\n display: inline-block;\n }\n</style>\n<style>\n /*解决不知道什么原因该元素会自动display:none*/\n .mce-panel {\n display: block !important;\n }\n</style>\n"]}]}