//tinymce import Vue from "vue"; import tinymce from "tinymce/tinymce"; import "tinymce/themes/modern"; Vue.use(tinymce); // skin css import "tinymce/skins/lightgray/skin.min.css"; import "tinymce/skins/lightgray/content.min.css"; //plugins import "tinymce/plugins/advlist"; import "tinymce/plugins/autolink"; import "tinymce/plugins/lists"; import "tinymce/plugins/paste"; import "tinymce/plugins/link"; import "tinymce/plugins/preview"; import "tinymce/plugins/anchor"; import "tinymce/plugins/charmap"; import "tinymce/plugins/print"; import "tinymce/plugins/image"; import "tinymce/plugins/searchreplace"; import "tinymce/plugins/directionality"; import "tinymce/plugins/wordcount"; // import "tinymce/plugins/help"; import "tinymce/plugins/table"; import "tinymce/plugins/media"; import "tinymce/plugins/insertdatetime"; import "tinymce/plugins/fullscreen"; import "tinymce/plugins/code"; import "tinymce/plugins/visualblocks"; import "@Global/plugins/tinymce/langs/fa_IR"; import "@Global/scss/plugins/tinymce.css"; import axios from 'axios'; export const initTiny = (batch_id) => ({ skin: false, height: 500, menubar: false, directionality : 'rtl', language: 'fa_IR', plugins: [ "advlist autolink lists link image charmap print preview anchor", "searchreplace visualblocks code fullscreen", "insertdatetime media table paste code wordcount directionality link" ], toolbar: "undo redo | fontsizeselect formatselect | bold italic backcolor | \ alignleft aligncenter alignright alignjustify | \ bullist numlist outdent indent | removeformat | image | ltr rtl | link", // 'fontselect' // font_formats : "IranYekan=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;AkrutiKndPadmini=Akpdmi-n", fontsize_formats: '10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt 60pt 72pt', images_upload_url: "/api/v1/files", relative_urls : false, remove_script_host : false, document_base_url: window.location.origin, images_upload_credentials: true, automatic_uploads: false, file_picker_types: "file image media", content_style: 'body { font-family: "iranyekan", "Montserrat" !important; }', images_upload_handler: async function(blobInfo, success, failure) { let formData = new FormData(); formData.append("file", blobInfo.blob(), blobInfo.filename()); formData.append("batch_id", batch_id); let response = await axios.post('/api/v1/file', formData); if (response && response.status == 200) { return success(response.data.data.url); } else { return failure("HTTP Error: " + response.status); } } });