[UPD] website: update of summernote lib
This commit is contained in:
@@ -296,13 +296,45 @@ define([
|
||||
*/
|
||||
var hPasteClipboardImage = function (event) {
|
||||
var clipboardData = event.originalEvent.clipboardData;
|
||||
var layoutInfo = makeLayoutInfo(event.currentTarget || event.target);
|
||||
var $editable = layoutInfo.editable();
|
||||
|
||||
if (!clipboardData || !clipboardData.items || !clipboardData.items.length) {
|
||||
var callbacks = $editable.data('callbacks');
|
||||
// only can run if it has onImageUpload method
|
||||
if (!callbacks.onImageUpload) {
|
||||
return;
|
||||
}
|
||||
|
||||
// save cursor
|
||||
editor.saveNode($editable);
|
||||
editor.saveRange($editable);
|
||||
|
||||
$editable.html('');
|
||||
|
||||
setTimeout(function () {
|
||||
var $img = $editable.find('img');
|
||||
var datauri = $img[0].src;
|
||||
|
||||
var data = atob(datauri.split(',')[1]);
|
||||
var array = new Uint8Array(data.length);
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
array[i] = data.charCodeAt(i);
|
||||
}
|
||||
|
||||
var blob = new Blob([array], { type : 'image/png'});
|
||||
blob.name = 'clipboard.png';
|
||||
|
||||
editor.restoreNode($editable);
|
||||
editor.restoreRange($editable);
|
||||
insertImages(layoutInfo, [blob]);
|
||||
|
||||
editor.afterCommand($editable);
|
||||
}, 0);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var layoutInfo = makeLayoutInfo(event.currentTarget || event.target),
|
||||
$editable = layoutInfo.editable();
|
||||
|
||||
var item = list.head(clipboardData.items);
|
||||
var isClipboardImage = item.kind === 'file' && item.type.indexOf('image/') !== -1;
|
||||
|
||||
@@ -541,10 +573,13 @@ define([
|
||||
event.preventDefault();
|
||||
|
||||
var dataTransfer = event.originalEvent.dataTransfer;
|
||||
if (dataTransfer && dataTransfer.files) {
|
||||
var layoutInfo = makeLayoutInfo(event.currentTarget || event.target);
|
||||
layoutInfo.editable().focus();
|
||||
var text = dataTransfer.getData('text/plain');
|
||||
var layoutInfo = makeLayoutInfo(event.currentTarget || event.target);
|
||||
layoutInfo.editable().focus();
|
||||
if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {
|
||||
insertImages(layoutInfo, dataTransfer.files);
|
||||
} else if (text) {
|
||||
editor.insertText(layoutInfo.editable(), text);
|
||||
}
|
||||
}).on('dragover', false); // prevent default dragover event
|
||||
};
|
||||
|
||||
@@ -460,10 +460,12 @@ define([
|
||||
var body = [];
|
||||
|
||||
for (var i in keys) {
|
||||
body.push(
|
||||
'<div class="' + keyClass + 'key">' + keys[i].kbd + '</div>' +
|
||||
'<div class="' + keyClass + 'name">' + keys[i].text + '</div>'
|
||||
);
|
||||
if (keys.hasOwnProperty(i)) {
|
||||
body.push(
|
||||
'<div class="' + keyClass + 'key">' + keys[i].kbd + '</div>' +
|
||||
'<div class="' + keyClass + 'name">' + keys[i].text + '</div>'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return '<div class="note-shortcut-row row"><div class="' + keyClass + 'title col-xs-offset-6">' + title + '</div></div>' +
|
||||
|
||||
@@ -48,6 +48,15 @@ define([
|
||||
}
|
||||
};
|
||||
|
||||
this.saveNode = function ($editable) {
|
||||
// copy child node reference
|
||||
var copy = [];
|
||||
for (var key = 0, len = $editable[0].childNodes.length; key < len; key++) {
|
||||
copy.push($editable[0].childNodes[key]);
|
||||
}
|
||||
$editable.data('childNodes', copy);
|
||||
};
|
||||
|
||||
/**
|
||||
* restore lately range
|
||||
*
|
||||
@@ -61,6 +70,13 @@ define([
|
||||
}
|
||||
};
|
||||
|
||||
this.restoreNode = function ($editable) {
|
||||
$editable.html('');
|
||||
var child = $editable.data('childNodes');
|
||||
for (var index = 0, len = child.length; index < len; index++) {
|
||||
$editable[0].appendChild(child[index]);
|
||||
}
|
||||
};
|
||||
/**
|
||||
* current style
|
||||
*/
|
||||
|
||||
@@ -222,8 +222,8 @@ define('summernote/settings', function () {
|
||||
shapeCircle: 'Shape: Circle',
|
||||
shapeThumbnail: 'Shape: Thumbnail',
|
||||
shapeNone: 'Shape: None',
|
||||
dragImageHere: 'Drag image here',
|
||||
dropImage: 'Drop image',
|
||||
dragImageHere: 'Drag image or text here',
|
||||
dropImage: 'Drop image or Text',
|
||||
selectFromFiles: 'Select from files',
|
||||
maximumFileSize: 'Maximum file size',
|
||||
maximumFileSizeError: 'Maximum file size exceeded.',
|
||||
|
||||
@@ -297,6 +297,10 @@
|
||||
&>div {
|
||||
display: none; /* BS2's hide pacth. */
|
||||
}
|
||||
.form-group { /* overwrite BS's form-horizontal minus margins */
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
.note-modal-form {
|
||||
margin: 0; /* overwrite BS2's form margin bottom */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user