antui-admin
Version:
admin ui for antd
53 lines (46 loc) • 2.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _quillDelta = require('quill-delta');
var _quillDelta2 = _interopRequireDefault(_quillDelta);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function (quill, container) {
return {
modules: {
toolbar: {
container: [[{ 'size': ['10px', '12px', '18px', '32px'] }], ['bold', 'italic', 'underline', 'strike', 'blockquote'], [{ 'list': 'ordered' }, { 'list': 'bullet' }, { 'indent': '-1' }, { 'indent': '+1' }, { 'align': [] }], ['link', 'image', 'video']],
handlers: {
video: function video() {
this.quill.theme.tooltip.edit('video');
},
image: function image() {
var _this = this;
var fileInput = container.querySelector('input.ql-image[type=file]');
if (fileInput == null) {
fileInput = document.createElement('input');
fileInput.setAttribute('type', 'file');
// fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon, image/svg+xml');
fileInput.classList.add('ql-image');
fileInput.addEventListener('change', function () {
if (fileInput.files != null && fileInput.files[0] != null) {
var reader = new FileReader();
reader.onload = function (e) {
var range = _this.quill.getSelection(true);
_this.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), 'user');
fileInput.value = "";
};
reader.readAsDataURL(fileInput.files[0]);
}
});
container.appendChild(fileInput);
}
fileInput.click();
}
}
}
},
formats: ['header', 'font', 'size', 'bold', 'italic', 'underline', 'strike', 'blockquote', 'list', 'bullet', 'indent', 'align', 'link', 'image', 'video']
};
};
module.exports = exports['default'];