387e2f07458323e41c699c0b8a2a9278.json 19 KB

1
  1. {"remainingRequest":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\thread-loader\\dist\\cjs.js!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":1673493272786},{"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\\thread-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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCi8qKgogKiBkb2NzOgogKiBodHRwczovL3BhbmppYWNoZW4uZ2l0aHViLmlvL3Z1ZS1lbGVtZW50LWFkbWluLXNpdGUvZmVhdHVyZS9jb21wb25lbnQvcmljaC1lZGl0b3IuaHRtbCN0aW55bWNlCiAqLwppbXBvcnQgZWRpdG9ySW1hZ2UgZnJvbSAiLi9jb21wb25lbnRzL0VkaXRvckltYWdlIjsKaW1wb3J0IHBsdWdpbnMgZnJvbSAiLi9wbHVnaW5zIjsKaW1wb3J0IHRvb2xiYXIgZnJvbSAiLi90b29sYmFyIjsKaW1wb3J0IGxvYWQgZnJvbSAiLi9keW5hbWljTG9hZFNjcmlwdCI7IC8vIHdoeSB1c2UgdGhpcyBjZG4sIGRldGFpbCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL1BhbkppYUNoZW4vdGlueW1jZS1hbGwtaW4tb25lCgpjb25zdCB0aW55bWNlQ0ROID0gImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vdGlueW1jZS1hbGwtaW4tb25lQDQuOS4zL3RpbnltY2UubWluLmpzIjsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICJUaW55bWNlIiwKICBjb21wb25lbnRzOiB7CiAgICBlZGl0b3JJbWFnZQogIH0sCiAgcHJvcHM6IHsKICAgIGlkOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiAidnVlLXRpbnltY2UtIiArICtuZXcgRGF0ZSgpICsgKChNYXRoLnJhbmRvbSgpICogMTAwMCkudG9GaXhlZCgwKSArICIiKTsKICAgICAgfQogICAgfSwKICAgIHZhbHVlOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogIiIKICAgIH0sCiAgICB0b29sYmFyOiB7CiAgICAgIHR5cGU6IEFycmF5LAogICAgICByZXF1aXJlZDogZmFsc2UsCgogICAgICBkZWZhdWx0KCkgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfQoKICAgIH0sCiAgICBtZW51YmFyOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogIuaWh+S7tue8lui+keaPkuWFpeinhuWbvuagvOW8j+ihqCIKICAgIH0sCiAgICBoZWlnaHQ6IHsKICAgICAgdHlwZTogW051bWJlciwgU3RyaW5nXSwKICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICBkZWZhdWx0OiAzNjAKICAgIH0sCiAgICB3aWR0aDogewogICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLAogICAgICByZXF1aXJlZDogZmFsc2UsCiAgICAgIGRlZmF1bHQ6ICJhdXRvIgogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IHRydWUKICAgIH0KICB9LAoKICBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgaGFzQ2hhbmdlOiBmYWxzZSwKICAgICAgaGFzSW5pdDogZmFsc2UsCiAgICAgIHRpbnltY2VJZDogdGhpcy5pZCwKICAgICAgZnVsbHNjcmVlbjogZmFsc2UsCiAgICAgIGxhbmd1YWdlVHlwZUxpc3Q6IHsKICAgICAgICBlbjogImVuIiwKICAgICAgICB6aDogInpoX0NOIiwKICAgICAgICBlczogImVzX01YIiwKICAgICAgICBqYTogImphIgogICAgICB9CiAgICB9OwogIH0sCgogIGNvbXB1dGVkOiB7CiAgICBjb250YWluZXJXaWR0aCgpIHsKICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLndpZHRoOwoKICAgICAgaWYgKC9eW1xkXSsoXC5bXGRdKyk/JC8udGVzdCh3aWR0aCkpIHsKICAgICAgICAvLyBtYXRjaGVzIGAxMDBgLCBgJzEwMCdgCiAgICAgICAgcmV0dXJuIGAke3dpZHRofXB4YDsKICAgICAgfQoKICAgICAgcmV0dXJuIHdpZHRoOwogICAgfQoKICB9LAogIHdhdGNoOiB7CiAgICB2YWx1ZSh2YWwpIHsKICAgICAgaWYgKCF0aGlzLmhhc0NoYW5nZSAmJiB0aGlzLmhhc0luaXQpIHsKICAgICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB3aW5kb3cudGlueW1jZS5nZXQodGhpcy50aW55bWNlSWQpLnNldENvbnRlbnQodmFsIHx8ICIiKSk7CiAgICAgIH0KICAgIH0KCiAgfSwKCiAgbW91bnRlZCgpIHsKICAgIHRoaXMuaW5pdCgpOwogIH0sCgogIGFjdGl2YXRlZCgpIHsKICAgIGlmICh3aW5kb3cudGlueW1jZSkgewogICAgICB0aGlzLmluaXRUaW55bWNlKCk7CiAgICB9CiAgfSwKCiAgZGVhY3RpdmF0ZWQoKSB7CiAgICB0aGlzLmRlc3Ryb3lUaW55bWNlKCk7CiAgfSwKCiAgZGVzdHJveWVkKCkgewogICAgdGhpcy5kZXN0cm95VGlueW1jZSgpOwogIH0sCgogIG1ldGhvZHM6IHsKICAgIGluaXQoKSB7CiAgICAgIC8vIGR5bmFtaWMgbG9hZCB0aW55bWNlIGZyb20gY2RuCiAgICAgIGxvYWQodGlueW1jZUNETiwgZXJyID0+IHsKICAgICAgICBpZiAoZXJyKSB7CiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKGVyci5tZXNzYWdlKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHRoaXMuaW5pdFRpbnltY2UoKTsKICAgICAgfSk7CiAgICB9LAoKICAgIGluaXRUaW55bWNlKCkgewogICAgICBjb25zdCBfdGhpcyA9IHRoaXM7CgogICAgICB3aW5kb3cudGlueW1jZS5pbml0KHsKICAgICAgICBzZWxlY3RvcjogYCMke3RoaXMudGlueW1jZUlkfWAsCiAgICAgICAgbGFuZ3VhZ2U6IHRoaXMubGFuZ3VhZ2VUeXBlTGlzdFsiemgiXSwKICAgICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0LAogICAgICAgIGJvZHlfY2xhc3M6ICJwYW5lbC1ib2R5ICIsCiAgICAgICAgb2JqZWN0X3Jlc2l6aW5nOiBmYWxzZSwKICAgICAgICB0b29sYmFyOiB0aGlzLnRvb2xiYXIubGVuZ3RoID4gMCA/IHRoaXMudG9vbGJhciA6IHRvb2xiYXIsCiAgICAgICAgbWVudWJhcjogdGhpcy5tZW51YmFyLAogICAgICAgIHBsdWdpbnM6IHBsdWdpbnMsCiAgICAgICAgZW5kX2NvbnRhaW5lcl9vbl9lbXB0eV9ibG9jazogdHJ1ZSwKICAgICAgICBwb3dlcnBhc3RlX3dvcmRfaW1wb3J0OiAiY2xlYW4iLAogICAgICAgIGNvZGVfZGlhbG9nX2hlaWdodDogNDUwLAogICAgICAgIGNvZGVfZGlhbG9nX3dpZHRoOiAxMDAwLAogICAgICAgIGFkdmxpc3RfYnVsbGV0X3N0eWxlczogInNxdWFyZSIsCiAgICAgICAgYWR2bGlzdF9udW1iZXJfc3R5bGVzOiAiZGVmYXVsdCIsCiAgICAgICAgaW1hZ2V0b29sc19jb3JzX2hvc3RzOiBbInd3dy50aW55bWNlLmNvbSIsICJjb2RlcGVuLmlvIl0sCiAgICAgICAgZGVmYXVsdF9saW5rX3RhcmdldDogIl9ibGFuayIsCiAgICAgICAgbGlua190aXRsZTogZmFsc2UsCiAgICAgICAgbm9uYnJlYWtpbmdfZm9yY2VfdGFiOiB0cnVlLAogICAgICAgIC8vIGluc2VydGluZyBub25icmVha2luZyBzcGFjZSAmbmJzcDsgbmVlZCBOb25icmVha2luZyBTcGFjZSBQbHVnaW4KICAgICAgICBpbml0X2luc3RhbmNlX2NhbGxiYWNrOiBlZGl0b3IgPT4gewogICAgICAgICAgaWYgKF90aGlzLnZhbHVlKSB7CiAgICAgICAgICAgIGVkaXRvci5zZXRDb250ZW50KF90aGlzLnZhbHVlKTsKICAgICAgICAgIH0KCiAgICAgICAgICBfdGhpcy5oYXNJbml0ID0gdHJ1ZTsKICAgICAgICAgIGVkaXRvci5vbigiTm9kZUNoYW5nZSBDaGFuZ2UgS2V5VXAgU2V0Q29udGVudCIsICgpID0+IHsKICAgICAgICAgICAgdGhpcy5oYXNDaGFuZ2UgPSB0cnVlOwogICAgICAgICAgICB0aGlzLiRlbWl0KCJpbnB1dCIsIGVkaXRvci5nZXRDb250ZW50KCkpOwogICAgICAgICAgfSk7CiAgICAgICAgfSwKCiAgICAgICAgc2V0dXAoZWRpdG9yKSB7CiAgICAgICAgICBlZGl0b3Iub24oIkZ1bGxzY3JlZW5TdGF0ZUNoYW5nZWQiLCBlID0+IHsKICAgICAgICAgICAgX3RoaXMuZnVsbHNjcmVlbiA9IGUuc3RhdGU7CiAgICAgICAgICB9KTsKICAgICAgICB9IC8vIOaVtOWQiOS4g+eJm+S4iuS8oAogICAgICAgIC8vIGltYWdlc19kYXRhaW1nX2ZpbHRlcihpbWcpIHsKICAgICAgICAvLyAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgIC8vICAgICBjb25zdCAkaW1hZ2UgPSAkKGltZyk7CiAgICAgICAgLy8gICAgICRpbWFnZS5yZW1vdmVBdHRyKCd3aWR0aCcpOwogICAgICAgIC8vICAgICAkaW1hZ2UucmVtb3ZlQXR0cignaGVpZ2h0Jyk7CiAgICAgICAgLy8gICAgIGlmICgkaW1hZ2VbMF0uaGVpZ2h0ICYmICRpbWFnZVswXS53aWR0aCkgewogICAgICAgIC8vICAgICAgICRpbWFnZS5hdHRyKCdkYXRhLXdzY250eXBlJywgJ2ltYWdlJyk7CiAgICAgICAgLy8gICAgICAgJGltYWdlLmF0dHIoJ2RhdGEtd3NjbmgnLCAkaW1hZ2VbMF0uaGVpZ2h0KTsKICAgICAgICAvLyAgICAgICAkaW1hZ2UuYXR0cignZGF0YS13c2NudycsICRpbWFnZVswXS53aWR0aCk7CiAgICAgICAgLy8gICAgICAgJGltYWdlLmFkZENsYXNzKCd3c2NucGgnKTsKICAgICAgICAvLyAgICAgfQogICAgICAgIC8vICAgfSwgMCk7CiAgICAgICAgLy8gICByZXR1cm4gaW1nCiAgICAgICAgLy8gfSwKICAgICAgICAvLyBpbWFnZXNfdXBsb2FkX2hhbmRsZXIoYmxvYkluZm8sIHN1Y2Nlc3MsIGZhaWx1cmUsIHByb2dyZXNzKSB7CiAgICAgICAgLy8gICBwcm9ncmVzcygwKTsKICAgICAgICAvLyAgIGNvbnN0IHRva2VuID0gX3RoaXMuJHN0b3JlLmdldHRlcnMudG9rZW47CiAgICAgICAgLy8gICBnZXRUb2tlbih0b2tlbikudGhlbihyZXNwb25zZSA9PiB7CiAgICAgICAgLy8gICAgIGNvbnN0IHVybCA9IHJlc3BvbnNlLmRhdGEucWluaXVfdXJsOwogICAgICAgIC8vICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpOwogICAgICAgIC8vICAgICBmb3JtRGF0YS5hcHBlbmQoJ3Rva2VuJywgcmVzcG9uc2UuZGF0YS5xaW5pdV90b2tlbik7CiAgICAgICAgLy8gICAgIGZvcm1EYXRhLmFwcGVuZCgna2V5JywgcmVzcG9uc2UuZGF0YS5xaW5pdV9rZXkpOwogICAgICAgIC8vICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBibG9iSW5mby5ibG9iKCksIHVybCk7CiAgICAgICAgLy8gICAgIHVwbG9hZChmb3JtRGF0YSkudGhlbigoKSA9PiB7CiAgICAgICAgLy8gICAgICAgc3VjY2Vzcyh1cmwpOwogICAgICAgIC8vICAgICAgIHByb2dyZXNzKDEwMCk7CiAgICAgICAgLy8gICAgIH0pCiAgICAgICAgLy8gICB9KS5jYXRjaChlcnIgPT4gewogICAgICAgIC8vICAgICBmYWlsdXJlKCflh7rnjrDmnKrnn6Xpl67popjvvIzliLfmlrDpobXpnaLvvIzmiJbogIXogZTns7vnqIvluo/lkZgnKQogICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgIC8vICAgfSk7CiAgICAgICAgLy8gfSwKCgogICAgICB9KTsKICAgIH0sCgogICAgZGVzdHJveVRpbnltY2UoKSB7CiAgICAgIGNvbnN0IHRpbnltY2UgPSB3aW5kb3cudGlueW1jZS5nZXQodGhpcy50aW55bWNlSWQpOwoKICAgICAgaWYgKHRoaXMuZnVsbHNjcmVlbikgewogICAgICAgIHRpbnltY2UuZXhlY0NvbW1hbmQoIm1jZUZ1bGxTY3JlZW4iKTsKICAgICAgfQoKICAgICAgaWYgKHRpbnltY2UpIHsKICAgICAgICB0aW55bWNlLmRlc3Ryb3koKTsKICAgICAgfQogICAgfSwKCiAgICBzZXRDb250ZW50KHZhbHVlKSB7CiAgICAgIHdpbmRvdy50aW55bWNlLmdldCh0aGlzLnRpbnltY2VJZCkuc2V0Q29udGVudCh2YWx1ZSk7CiAgICB9LAoKICAgIGdldENvbnRlbnQoKSB7CiAgICAgIHdpbmRvdy50aW55bWNlLmdldCh0aGlzLnRpbnltY2VJZCkuZ2V0Q29udGVudCgpOwogICAgfSwKCiAgICBpbWFnZVN1Y2Nlc3NDQksoYXJyKSB7CiAgICAgIGNvbnN0IF90aGlzID0gdGhpczsKCiAgICAgIGFyci5mb3JFYWNoKHYgPT4gewogICAgICAgIHdpbmRvdy50aW55bWNlLmdldChfdGhpcy50aW55bWNlSWQpLmluc2VydENvbnRlbnQoYDxpbWcgY2xhc3M9IndzY25waCIgd2lkdGg9IjEwMCUiIHNyYz0iJHt2LnVybH0iID5gKTsKICAgICAgfSk7CiAgICB9CgogIH0KfTs="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;AAmBA;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,CA/BA;IAoCAO;MACAR,aADA;MAEAC;IAFA;EApCA,CAHA;;EA4CAQ;IACA;MACAC,gBADA;MAEAC,cAFA;MAGAC,kBAHA;MAIAC,iBAJA;MAKAC;QACAC,QADA;QAEAC,WAFA;QAGAC,WAHA;QAIAC;MAJA;IALA;EAYA,CAzDA;;EA0DAC;IACAC;MACA;;MACA;QACA;QACA;MACA;;MACA;IACA;;EARA,CA1DA;EAoEAC;IACAnB;MACA;QACA,qBACAoB,wDADA;MAGA;IACA;;EAPA,CApEA;;EA6EAC;IACA;EACA,CA/EA;;EAgFAC;IACA;MACA;IACA;EACA,CApFA;;EAqFAC;IACA;EACA,CAvFA;;EAwFAC;IACA;EACA,CA1FA;;EA2FAC;IACAC;MACA;MACAC;QACA;UACA;UACA;QACA;;QACA;MACA,CANA;IAOA,CAVA;;IAWAC;MACA;;MACAR;QACAS,8BADA;QAEAC,qCAFA;QAGA1B,mBAHA;QAIA2B,yBAJA;QAKAC,sBALA;QAMA/B,yDANA;QAOAE,qBAPA;QAQA8B,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;AA3FA","names":["name","components","editorImage","props","id","type","default","value","toolbar","required","menubar","height","width","model","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 :model='model'\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 model:{\n type: Boolean,\n default: true,\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"]}]}