mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
MINOR Removed custom TinyMCE image resizer logic, presumably added due to lack of support for retaining aspect ratio in earlier versions of the editor
This commit is contained in:
parent
a96429cba6
commit
e59976bb64
93
javascript/tiny_mce_improvements.js
vendored
93
javascript/tiny_mce_improvements.js
vendored
@ -336,99 +336,6 @@ FlashForm.applyTo('#Form_EditorToolbarFlashForm');
|
|||||||
FlashThumbnail.applyTo('#Form_EditorToolbarFlashForm div.thumbnailstrip a');
|
FlashThumbnail.applyTo('#Form_EditorToolbarFlashForm div.thumbnailstrip a');
|
||||||
SideFormAction.applyTo('#Form_EditorToolbarFlashForm .Actions input');
|
SideFormAction.applyTo('#Form_EditorToolbarFlashForm .Actions input');
|
||||||
|
|
||||||
/**
|
|
||||||
* Image resizing
|
|
||||||
*/
|
|
||||||
MCEImageResizer = Class.create();
|
|
||||||
MCEImageResizer.prototype = {
|
|
||||||
initialize: function() {
|
|
||||||
//TinyMCE.prototype.addEvent(this, 'click', this._onclick);
|
|
||||||
},
|
|
||||||
_onclick: function() {
|
|
||||||
var form = $('Form_EditorToolbarMediaForm');
|
|
||||||
if(form) {
|
|
||||||
form.elements.AltText.value = this.alt;
|
|
||||||
form.elements.ImageTitle.value = this.title;
|
|
||||||
form.elements.CSSClass.value = this.className;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onresizestart: function() {
|
|
||||||
this.prepareForResize();
|
|
||||||
this.heightDiff = 0;
|
|
||||||
},
|
|
||||||
onresizeend: function() {
|
|
||||||
this.resizeTo(this.style.width, this.style.height);
|
|
||||||
},
|
|
||||||
onmouseup: function() {
|
|
||||||
if(this.parentNode.parentNode.className.match(/(^|\b)specialImage($|\b)/)) {
|
|
||||||
this.ownerDoc().setActive();
|
|
||||||
this.parentNode.parentNode.setActive();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
prepareForResize: function() {
|
|
||||||
if(this.aspectRatio == null) {
|
|
||||||
this.aspectRatio = this.height / this.width;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.originalWidth = this.width;
|
|
||||||
this.originalHeight = this.height;
|
|
||||||
},
|
|
||||||
|
|
||||||
ownerDoc: function() {
|
|
||||||
var f =this.parentNode;
|
|
||||||
while(f && f.tagName.toLowerCase() != 'body') f = f.parentNode;
|
|
||||||
return f;
|
|
||||||
},
|
|
||||||
|
|
||||||
resizeTo: function(width, height) {
|
|
||||||
var newWidth = parseInt(height);
|
|
||||||
var newHeight = parseInt(height) - this.heightDiff;
|
|
||||||
if(isNaN(newWidth)) newWidth = this.width;
|
|
||||||
if(isNaN(newHeight)) newHeight = this.height;
|
|
||||||
|
|
||||||
// Constrain to width of the window
|
|
||||||
if((this.offsetLeft + this.offsetWidth + 20) > this.ownerDoc().offsetWidth)
|
|
||||||
newWidth += (this.ownerDoc().offsetWidth - this.offsetLeft - this.offsetWidth - 20);
|
|
||||||
|
|
||||||
if(this.aspectRatio) {
|
|
||||||
// Figure out which dimension we have altered more
|
|
||||||
var heightChange = this.originalHeight / this.height;
|
|
||||||
if(heightChange < 1) heightChange = 1/heightChange;
|
|
||||||
|
|
||||||
var widthChange = this.originalWidth / this.width;
|
|
||||||
if(widthChange < 1) widthChange = 1/widthChange;
|
|
||||||
|
|
||||||
// Scale by the more constant dimension (so if you edit the height, change width to suit)
|
|
||||||
if(widthChange > heightChange)
|
|
||||||
newHeight = newWidth * this.aspectRatio;
|
|
||||||
else
|
|
||||||
newWidth = newHeight / this.aspectRatio;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.style.width = newWidth + 'px';
|
|
||||||
this.style.height = newHeight + 'px';
|
|
||||||
this.width = newWidth;
|
|
||||||
this.height = newHeight;
|
|
||||||
|
|
||||||
// Auto-size special image holders
|
|
||||||
if(this.parentNode.parentNode.className.match(/(^|\b)specialImage($|\b)/)) {
|
|
||||||
this.parentNode.parentNode.style.width = newWidth + 'px';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MCEDLResizer = Class.extend('MCEImageResize');
|
|
||||||
MCEDLResizer.prototype = {
|
|
||||||
onresizestart: function() {
|
|
||||||
var img = this.getElementsByTagName('img')[0];
|
|
||||||
img.prepareForResize();
|
|
||||||
img.heightDiff = this.offsetHeight - img.height;
|
|
||||||
},
|
|
||||||
onresizeend: function() {
|
|
||||||
this.getElementsByTagName('img')[0].resizeTo(this.style.width, this.style.height);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* These callback hook it into tinymce. They need to be referenced in the TinyMCE config.
|
* These callback hook it into tinymce. They need to be referenced in the TinyMCE config.
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user