You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
willaengine/resources/js/Global/plugins/tinymce/tinymce.js

72 lines
2.7 KiB

//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);
}
}
});