File modules/editor/trumbowyg/plugins/base64/trumbowyg.base64.js

Last commit: Tue Aug 28 00:33:27 2018 +0200	Jan Dankert	Editoren für Markdown (SimpleMDE) und HTML (Trumbowyg) installiert.
1 /* =========================================================== 2 * trumbowyg.base64.js v1.0 3 * Base64 plugin for Trumbowyg 4 * http://alex-d.github.com/Trumbowyg 5 * =========================================================== 6 * Author : Cyril Biencourt (lizardK) 7 */ 8 9 (function ($) { 10 'use strict'; 11 12 var isSupported = function () { 13 return typeof FileReader !== 'undefined'; 14 }; 15 16 var isValidImage = function (type) { 17 return /^data:image\/[a-z]?/i.test(type); 18 }; 19 20 $.extend(true, $.trumbowyg, { 21 langs: { 22 // jshint camelcase:false 23 en: { 24 base64: 'Image as base64', 25 file: 'File', 26 errFileReaderNotSupported: 'FileReader is not supported by your browser.', 27 errInvalidImage: 'Invalid image file.' 28 }, 29 fr: { 30 base64: 'Image en base64', 31 file: 'Fichier' 32 }, 33 cs: { 34 base64: 'Vložit obrázek', 35 file: 'Soubor' 36 }, 37 zh_cn: { 38 base64: '图片(Base64编码)', 39 file: '文件' 40 }, 41 nl: { 42 base64: 'Afbeelding inline', 43 file: 'Bestand', 44 errFileReaderNotSupported: 'Uw browser ondersteunt deze functionaliteit niet.', 45 errInvalidImage: 'De gekozen afbeelding is ongeldig.' 46 }, 47 ru: { 48 base64: 'Изображение как код в base64', 49 file: 'Файл', 50 errFileReaderNotSupported: 'FileReader не поддерживается вашим браузером.', 51 errInvalidImage: 'Недопустимый файл изображения.' 52 }, 53 ja: { 54 base64: '画像 (Base64形式)', 55 file: 'ファイル', 56 errFileReaderNotSupported: 'あなたのブラウザーはFileReaderをサポートしていません', 57 errInvalidImage: '画像形式が正しくありません' 58 }, 59 tr: { 60 base64: 'Base64 olarak resim', 61 file: 'Dosya', 62 errFileReaderNotSupported: 'FileReader tarayıcınız tarafından desteklenmiyor.', 63 errInvalidImage: 'Geçersiz resim dosyası.' 64 } 65 }, 66 // jshint camelcase:true 67 68 plugins: { 69 base64: { 70 shouldInit: isSupported, 71 init: function (trumbowyg) { 72 var btnDef = { 73 isSupported: isSupported, 74 fn: function () { 75 trumbowyg.saveRange(); 76 77 var file; 78 var $modal = trumbowyg.openModalInsert( 79 // Title 80 trumbowyg.lang.base64, 81 82 // Fields 83 { 84 file: { 85 type: 'file', 86 required: true, 87 attributes: { 88 accept: 'image/*' 89 } 90 }, 91 alt: { 92 label: 'description', 93 value: trumbowyg.getRangeText() 94 } 95 }, 96 97 // Callback 98 function (values) { 99 var fReader = new FileReader(); 100 101 fReader.onloadend = function (e) { 102 if (isValidImage(e.target.result)) { 103 trumbowyg.execCmd('insertImage', fReader.result); 104 $(['img[src="', fReader.result, '"]:not([alt])'].join(''), trumbowyg.$box).attr('alt', values.alt); 105 trumbowyg.closeModal(); 106 } else { 107 trumbowyg.addErrorOnModalField( 108 $('input[type=file]', $modal), 109 trumbowyg.lang.errInvalidImage 110 ); 111 } 112 }; 113 114 fReader.readAsDataURL(file); 115 } 116 ); 117 118 $('input[type=file]').on('change', function (e) { 119 file = e.target.files[0]; 120 }); 121 } 122 }; 123 124 trumbowyg.addBtnDef('base64', btnDef); 125 } 126 } 127 } 128 }); 129 })(jQuery);
Download modules/editor/trumbowyg/plugins/base64/trumbowyg.base64.js
History Tue, 28 Aug 2018 00:33:27 +0200 Jan Dankert Editoren für Markdown (SimpleMDE) und HTML (Trumbowyg) installiert.