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.
70 lines
2.6 KiB
70 lines
2.6 KiB
5 years ago
|
//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";
|
||
5 years ago
|
import "@Global/plugins/tinymce/langs/fa_IR";
|
||
5 years ago
|
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"
|
||
|
],
|
||
|
toolbar:
|
||
|
"undo redo | fontsizeselect formatselect | bold italic backcolor | \
|
||
|
alignleft aligncenter alignright alignjustify | \
|
||
|
bullist numlist outdent indent | removeformat | image | ltr rtl",
|
||
|
// '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/files",
|
||
|
images_upload_base_path: "/api/files",
|
||
|
images_upload_credentials: true,
|
||
|
automatic_uploads: false,
|
||
|
file_picker_types: "file image media",
|
||
|
content_style: 'body { font-family: "iranyekan", "Montserrat" !important; }',
|
||
5 years ago
|
images_upload_handler: async function(blobInfo, success, failure) {
|
||
5 years ago
|
let formData = new FormData();
|
||
|
formData.append("file", blobInfo.blob(), blobInfo.filename());
|
||
|
formData.append("batch_id", batch_id);
|
||
|
let response = await axios.post('/api/file', formData);
|
||
|
|
||
|
if (response && response.status == 200) {
|
||
|
return success(response.path);
|
||
|
} else {
|
||
|
return failure("HTTP Error: " + response.status);
|
||
|
}
|
||
|
}
|
||
|
});
|