eliminate Cropper conflicts with jQuery
This commit is contained in:
parent
032cb5f6a3
commit
127b7a589e
72 changed files with 1659 additions and 1817 deletions
|
|
@ -40,17 +40,17 @@ JavaScript:
|
|||
1.
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
2.
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
3.
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
4.
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
5.
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
6.
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
7.
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
8.
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,554 +13,556 @@
|
|||
* http://www.opensource.org/licenses/bsd-license.php
|
||||
*
|
||||
* See scriptaculous.js for full scriptaculous licence
|
||||
*
|
||||
* Modified 2013/06/01 Zach P to change $() to $PR() for eliminating conflicts with jQuery
|
||||
*/
|
||||
|
||||
var CropDraggable=Class.create();
|
||||
Object.extend(Object.extend(CropDraggable.prototype,Draggable.prototype),{initialize:function(_1){
|
||||
this.options=Object.extend({drawMethod:function(){
|
||||
}},arguments[1]||{});
|
||||
this.element=$(_1);
|
||||
this.handle=this.element;
|
||||
this.delta=this.currentDelta();
|
||||
this.dragging=false;
|
||||
this.eventMouseDown=this.initDrag.bindAsEventListener(this);
|
||||
Event.observe(this.handle,"mousedown",this.eventMouseDown);
|
||||
Draggables.register(this);
|
||||
},draw:function(_2){
|
||||
var _3=Position.cumulativeOffset(this.element);
|
||||
var d=this.currentDelta();
|
||||
_3[0]-=d[0];
|
||||
_3[1]-=d[1];
|
||||
var p=[0,1].map(function(i){
|
||||
return (_2[i]-_3[i]-this.offset[i]);
|
||||
}.bind(this));
|
||||
this.options.drawMethod(p);
|
||||
}});
|
||||
var Cropper={};
|
||||
Cropper.Img=Class.create();
|
||||
Cropper.Img.prototype={initialize:function(_7,_8){
|
||||
this.options=Object.extend({ratioDim:{x:0,y:0},minWidth:0,minHeight:0,displayOnInit:false,onEndCrop:Prototype.emptyFunction,captureKeys:true,onloadCoords:null,maxWidth:0,maxHeight:0},_8||{});
|
||||
this.img=$(_7);
|
||||
this.clickCoords={x:0,y:0};
|
||||
this.dragging=false;
|
||||
this.resizing=false;
|
||||
this.isWebKit=/Konqueror|Safari|KHTML/.test(navigator.userAgent);
|
||||
this.isIE=/MSIE/.test(navigator.userAgent);
|
||||
this.isOpera8=/Opera\s[1-8]/.test(navigator.userAgent);
|
||||
this.ratioX=0;
|
||||
this.ratioY=0;
|
||||
this.attached=false;
|
||||
this.fixedWidth=(this.options.maxWidth>0&&(this.options.minWidth>=this.options.maxWidth));
|
||||
this.fixedHeight=(this.options.maxHeight>0&&(this.options.minHeight>=this.options.maxHeight));
|
||||
if(typeof this.img=="undefined"){
|
||||
return;
|
||||
}
|
||||
$A(document.getElementsByTagName("script")).each(function(s){
|
||||
if(s.src.match(/cropper\.js/)){
|
||||
var _a=s.src.replace(/cropper\.js(.*)?/,"");
|
||||
var _b=document.createElement("link");
|
||||
_b.rel="stylesheet";
|
||||
_b.type="text/css";
|
||||
_b.href=_a+"cropper.css";
|
||||
_b.media="screen";
|
||||
document.getElementsByTagName("head")[0].appendChild(_b);
|
||||
}
|
||||
});
|
||||
if(this.options.ratioDim.x>0&&this.options.ratioDim.y>0){
|
||||
var _c=this.getGCD(this.options.ratioDim.x,this.options.ratioDim.y);
|
||||
this.ratioX=this.options.ratioDim.x/_c;
|
||||
this.ratioY=this.options.ratioDim.y/_c;
|
||||
}
|
||||
this.subInitialize();
|
||||
if(this.img.complete||this.isWebKit){
|
||||
this.onLoad();
|
||||
}else{
|
||||
Event.observe(this.img,"load",this.onLoad.bindAsEventListener(this));
|
||||
}
|
||||
},getGCD:function(a,b){
|
||||
if(b==0){
|
||||
return a;
|
||||
}
|
||||
return this.getGCD(b,a%b);
|
||||
},onLoad:function(){
|
||||
var _f="imgCrop_";
|
||||
var _10=this.img.parentNode;
|
||||
var _11="";
|
||||
if(this.isOpera8){
|
||||
_11=" opera8";
|
||||
}
|
||||
this.imgWrap=Builder.node("div",{"class":_f+"wrap"+_11});
|
||||
this.north=Builder.node("div",{"class":_f+"overlay "+_f+"north"},[Builder.node("span")]);
|
||||
this.east=Builder.node("div",{"class":_f+"overlay "+_f+"east"},[Builder.node("span")]);
|
||||
this.south=Builder.node("div",{"class":_f+"overlay "+_f+"south"},[Builder.node("span")]);
|
||||
this.west=Builder.node("div",{"class":_f+"overlay "+_f+"west"},[Builder.node("span")]);
|
||||
var _12=[this.north,this.east,this.south,this.west];
|
||||
this.dragArea=Builder.node("div",{"class":_f+"dragArea"},_12);
|
||||
this.handleN=Builder.node("div",{"class":_f+"handle "+_f+"handleN"});
|
||||
this.handleNE=Builder.node("div",{"class":_f+"handle "+_f+"handleNE"});
|
||||
this.handleE=Builder.node("div",{"class":_f+"handle "+_f+"handleE"});
|
||||
this.handleSE=Builder.node("div",{"class":_f+"handle "+_f+"handleSE"});
|
||||
this.handleS=Builder.node("div",{"class":_f+"handle "+_f+"handleS"});
|
||||
this.handleSW=Builder.node("div",{"class":_f+"handle "+_f+"handleSW"});
|
||||
this.handleW=Builder.node("div",{"class":_f+"handle "+_f+"handleW"});
|
||||
this.handleNW=Builder.node("div",{"class":_f+"handle "+_f+"handleNW"});
|
||||
this.selArea=Builder.node("div",{"class":_f+"selArea"},[Builder.node("div",{"class":_f+"marqueeHoriz "+_f+"marqueeNorth"},[Builder.node("span")]),Builder.node("div",{"class":_f+"marqueeVert "+_f+"marqueeEast"},[Builder.node("span")]),Builder.node("div",{"class":_f+"marqueeHoriz "+_f+"marqueeSouth"},[Builder.node("span")]),Builder.node("div",{"class":_f+"marqueeVert "+_f+"marqueeWest"},[Builder.node("span")]),this.handleN,this.handleNE,this.handleE,this.handleSE,this.handleS,this.handleSW,this.handleW,this.handleNW,Builder.node("div",{"class":_f+"clickArea"})]);
|
||||
this.imgWrap.appendChild(this.img);
|
||||
this.imgWrap.appendChild(this.dragArea);
|
||||
this.dragArea.appendChild(this.selArea);
|
||||
this.dragArea.appendChild(Builder.node("div",{"class":_f+"clickArea"}));
|
||||
_10.appendChild(this.imgWrap);
|
||||
this.startDragBind=this.startDrag.bindAsEventListener(this);
|
||||
Event.observe(this.dragArea,"mousedown",this.startDragBind);
|
||||
this.onDragBind=this.onDrag.bindAsEventListener(this);
|
||||
Event.observe(document,"mousemove",this.onDragBind);
|
||||
this.endCropBind=this.endCrop.bindAsEventListener(this);
|
||||
Event.observe(document,"mouseup",this.endCropBind);
|
||||
this.resizeBind=this.startResize.bindAsEventListener(this);
|
||||
this.handles=[this.handleN,this.handleNE,this.handleE,this.handleSE,this.handleS,this.handleSW,this.handleW,this.handleNW];
|
||||
this.registerHandles(true);
|
||||
if(this.options.captureKeys){
|
||||
this.keysBind=this.handleKeys.bindAsEventListener(this);
|
||||
Event.observe(document,"keypress",this.keysBind);
|
||||
}
|
||||
new CropDraggable(this.selArea,{drawMethod:this.moveArea.bindAsEventListener(this)});
|
||||
this.setParams();
|
||||
},registerHandles:function(_13){
|
||||
for(var i=0;i<this.handles.length;i++){
|
||||
var _15=$(this.handles[i]);
|
||||
if(_13){
|
||||
var _16=false;
|
||||
if(this.fixedWidth&&this.fixedHeight){
|
||||
_16=true;
|
||||
}else{
|
||||
if(this.fixedWidth||this.fixedHeight){
|
||||
var _17=_15.className.match(/([S|N][E|W])$/);
|
||||
var _18=_15.className.match(/(E|W)$/);
|
||||
var _19=_15.className.match(/(N|S)$/);
|
||||
if(_17){
|
||||
_16=true;
|
||||
}else{
|
||||
if(this.fixedWidth&&_18){
|
||||
_16=true;
|
||||
}else{
|
||||
if(this.fixedHeight&&_19){
|
||||
_16=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(_16){
|
||||
_15.hide();
|
||||
}else{
|
||||
Event.observe(_15,"mousedown",this.resizeBind);
|
||||
}
|
||||
}else{
|
||||
_15.show();
|
||||
Event.stopObserving(_15,"mousedown",this.resizeBind);
|
||||
}
|
||||
}
|
||||
},setParams:function(){
|
||||
this.imgW=this.img.width;
|
||||
this.imgH=this.img.height;
|
||||
$(this.north).setStyle({height:0});
|
||||
$(this.east).setStyle({width:0,height:0});
|
||||
$(this.south).setStyle({height:0});
|
||||
$(this.west).setStyle({width:0,height:0});
|
||||
$(this.imgWrap).setStyle({"width":this.imgW+"px","height":this.imgH+"px"});
|
||||
$(this.selArea).hide();
|
||||
var _1a={x1:0,y1:0,x2:0,y2:0};
|
||||
var _1b=false;
|
||||
if(this.options.onloadCoords!=null){
|
||||
_1a=this.cloneCoords(this.options.onloadCoords);
|
||||
_1b=true;
|
||||
}else{
|
||||
if(this.options.ratioDim.x>0&&this.options.ratioDim.y>0){
|
||||
_1a.x1=Math.ceil((this.imgW-this.options.ratioDim.x)/2);
|
||||
_1a.y1=Math.ceil((this.imgH-this.options.ratioDim.y)/2);
|
||||
_1a.x2=_1a.x1+this.options.ratioDim.x;
|
||||
_1a.y2=_1a.y1+this.options.ratioDim.y;
|
||||
_1b=true;
|
||||
}
|
||||
}
|
||||
this.setAreaCoords(_1a,false,false,1);
|
||||
if(this.options.displayOnInit&&_1b){
|
||||
this.selArea.show();
|
||||
this.drawArea();
|
||||
this.endCrop();
|
||||
}
|
||||
this.attached=true;
|
||||
},remove:function(){
|
||||
if(this.attached){
|
||||
this.attached=false;
|
||||
this.imgWrap.parentNode.insertBefore(this.img,this.imgWrap);
|
||||
this.imgWrap.parentNode.removeChild(this.imgWrap);
|
||||
Event.stopObserving(this.dragArea,"mousedown",this.startDragBind);
|
||||
Event.stopObserving(document,"mousemove",this.onDragBind);
|
||||
Event.stopObserving(document,"mouseup",this.endCropBind);
|
||||
this.registerHandles(false);
|
||||
if(this.options.captureKeys){
|
||||
Event.stopObserving(document,"keypress",this.keysBind);
|
||||
}
|
||||
}
|
||||
},reset:function(){
|
||||
if(!this.attached){
|
||||
this.onLoad();
|
||||
}else{
|
||||
this.setParams();
|
||||
}
|
||||
this.endCrop();
|
||||
},handleKeys:function(e){
|
||||
var dir={x:0,y:0};
|
||||
if(!this.dragging){
|
||||
switch(e.keyCode){
|
||||
case (37):
|
||||
dir.x=-1;
|
||||
break;
|
||||
case (38):
|
||||
dir.y=-1;
|
||||
break;
|
||||
case (39):
|
||||
dir.x=1;
|
||||
break;
|
||||
case (40):
|
||||
dir.y=1;
|
||||
break;
|
||||
}
|
||||
if(dir.x!=0||dir.y!=0){
|
||||
if(e.shiftKey){
|
||||
dir.x*=10;
|
||||
dir.y*=10;
|
||||
}
|
||||
this.moveArea([this.areaCoords.x1+dir.x,this.areaCoords.y1+dir.y]);
|
||||
Event.stop(e);
|
||||
}
|
||||
}
|
||||
},calcW:function(){
|
||||
return (this.areaCoords.x2-this.areaCoords.x1);
|
||||
},calcH:function(){
|
||||
return (this.areaCoords.y2-this.areaCoords.y1);
|
||||
},moveArea:function(_1e){
|
||||
this.setAreaCoords({x1:_1e[0],y1:_1e[1],x2:_1e[0]+this.calcW(),y2:_1e[1]+this.calcH()},true,false);
|
||||
this.drawArea();
|
||||
},cloneCoords:function(_1f){
|
||||
return {x1:_1f.x1,y1:_1f.y1,x2:_1f.x2,y2:_1f.y2};
|
||||
},setAreaCoords:function(_20,_21,_22,_23,_24){
|
||||
if(_21){
|
||||
var _25=_20.x2-_20.x1;
|
||||
var _26=_20.y2-_20.y1;
|
||||
if(_20.x1<0){
|
||||
_20.x1=0;
|
||||
_20.x2=_25;
|
||||
}
|
||||
if(_20.y1<0){
|
||||
_20.y1=0;
|
||||
_20.y2=_26;
|
||||
}
|
||||
if(_20.x2>this.imgW){
|
||||
_20.x2=this.imgW;
|
||||
_20.x1=this.imgW-_25;
|
||||
}
|
||||
if(_20.y2>this.imgH){
|
||||
_20.y2=this.imgH;
|
||||
_20.y1=this.imgH-_26;
|
||||
}
|
||||
}else{
|
||||
if(_20.x1<0){
|
||||
_20.x1=0;
|
||||
}
|
||||
if(_20.y1<0){
|
||||
_20.y1=0;
|
||||
}
|
||||
if(_20.x2>this.imgW){
|
||||
_20.x2=this.imgW;
|
||||
}
|
||||
if(_20.y2>this.imgH){
|
||||
_20.y2=this.imgH;
|
||||
}
|
||||
if(_23!=null){
|
||||
if(this.ratioX>0){
|
||||
this.applyRatio(_20,{x:this.ratioX,y:this.ratioY},_23,_24);
|
||||
}else{
|
||||
if(_22){
|
||||
this.applyRatio(_20,{x:1,y:1},_23,_24);
|
||||
}
|
||||
}
|
||||
var _27=[this.options.minWidth,this.options.minHeight];
|
||||
var _28=[this.options.maxWidth,this.options.maxHeight];
|
||||
if(_27[0]>0||_27[1]>0||_28[0]>0||_28[1]>0){
|
||||
var _29={a1:_20.x1,a2:_20.x2};
|
||||
var _2a={a1:_20.y1,a2:_20.y2};
|
||||
var _2b={min:0,max:this.imgW};
|
||||
var _2c={min:0,max:this.imgH};
|
||||
if((_27[0]!=0||_27[1]!=0)&&_22){
|
||||
if(_27[0]>0){
|
||||
_27[1]=_27[0];
|
||||
}else{
|
||||
if(_27[1]>0){
|
||||
_27[0]=_27[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
if((_28[0]!=0||_28[0]!=0)&&_22){
|
||||
if(_28[0]>0&&_28[0]<=_28[1]){
|
||||
_28[1]=_28[0];
|
||||
}else{
|
||||
if(_28[1]>0&&_28[1]<=_28[0]){
|
||||
_28[0]=_28[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
if(_27[0]>0){
|
||||
this.applyDimRestriction(_29,_27[0],_23.x,_2b,"min");
|
||||
}
|
||||
if(_27[1]>1){
|
||||
this.applyDimRestriction(_2a,_27[1],_23.y,_2c,"min");
|
||||
}
|
||||
if(_28[0]>0){
|
||||
this.applyDimRestriction(_29,_28[0],_23.x,_2b,"max");
|
||||
}
|
||||
if(_28[1]>1){
|
||||
this.applyDimRestriction(_2a,_28[1],_23.y,_2c,"max");
|
||||
}
|
||||
_20={x1:_29.a1,y1:_2a.a1,x2:_29.a2,y2:_2a.a2};
|
||||
}
|
||||
}
|
||||
}
|
||||
this.areaCoords=_20;
|
||||
},applyDimRestriction:function(_2d,val,_2f,_30,_31){
|
||||
var _32;
|
||||
if(_31=="min"){
|
||||
_32=((_2d.a2-_2d.a1)<val);
|
||||
}else{
|
||||
_32=((_2d.a2-_2d.a1)>val);
|
||||
}
|
||||
if(_32){
|
||||
if(_2f==1){
|
||||
_2d.a2=_2d.a1+val;
|
||||
}else{
|
||||
_2d.a1=_2d.a2-val;
|
||||
}
|
||||
if(_2d.a1<_30.min){
|
||||
_2d.a1=_30.min;
|
||||
_2d.a2=val;
|
||||
}else{
|
||||
if(_2d.a2>_30.max){
|
||||
_2d.a1=_30.max-val;
|
||||
_2d.a2=_30.max;
|
||||
}
|
||||
}
|
||||
}
|
||||
},applyRatio:function(_33,_34,_35,_36){
|
||||
var _37;
|
||||
if(_36=="N"||_36=="S"){
|
||||
_37=this.applyRatioToAxis({a1:_33.y1,b1:_33.x1,a2:_33.y2,b2:_33.x2},{a:_34.y,b:_34.x},{a:_35.y,b:_35.x},{min:0,max:this.imgW});
|
||||
_33.x1=_37.b1;
|
||||
_33.y1=_37.a1;
|
||||
_33.x2=_37.b2;
|
||||
_33.y2=_37.a2;
|
||||
}else{
|
||||
_37=this.applyRatioToAxis({a1:_33.x1,b1:_33.y1,a2:_33.x2,b2:_33.y2},{a:_34.x,b:_34.y},{a:_35.x,b:_35.y},{min:0,max:this.imgH});
|
||||
_33.x1=_37.a1;
|
||||
_33.y1=_37.b1;
|
||||
_33.x2=_37.a2;
|
||||
_33.y2=_37.b2;
|
||||
}
|
||||
},applyRatioToAxis:function(_38,_39,_3a,_3b){
|
||||
var _3c=Object.extend(_38,{});
|
||||
var _3d=_3c.a2-_3c.a1;
|
||||
var _3e=Math.floor(_3d*_39.b/_39.a);
|
||||
var _3f;
|
||||
var _40;
|
||||
var _41=null;
|
||||
if(_3a.b==1){
|
||||
_3f=_3c.b1+_3e;
|
||||
if(_3f>_3b.max){
|
||||
_3f=_3b.max;
|
||||
_41=_3f-_3c.b1;
|
||||
}
|
||||
_3c.b2=_3f;
|
||||
}else{
|
||||
_3f=_3c.b2-_3e;
|
||||
if(_3f<_3b.min){
|
||||
_3f=_3b.min;
|
||||
_41=_3f+_3c.b2;
|
||||
}
|
||||
_3c.b1=_3f;
|
||||
}
|
||||
if(_41!=null){
|
||||
_40=Math.floor(_41*_39.a/_39.b);
|
||||
if(_3a.a==1){
|
||||
_3c.a2=_3c.a1+_40;
|
||||
}else{
|
||||
_3c.a1=_3c.a1=_3c.a2-_40;
|
||||
}
|
||||
}
|
||||
return _3c;
|
||||
},drawArea:function(){
|
||||
var _42=this.calcW();
|
||||
var _43=this.calcH();
|
||||
var px="px";
|
||||
var _45=[this.areaCoords.x1+px,this.areaCoords.y1+px,_42+px,_43+px,this.areaCoords.x2+px,this.areaCoords.y2+px,(this.img.width-this.areaCoords.x2)+px,(this.img.height-this.areaCoords.y2)+px];
|
||||
var _46=this.selArea.style;
|
||||
_46.left=_45[0];
|
||||
_46.top=_45[1];
|
||||
_46.width=_45[2];
|
||||
_46.height=_45[3];
|
||||
var _47=Math.ceil((_42-6)/2)+px;
|
||||
var _48=Math.ceil((_43-6)/2)+px;
|
||||
this.handleN.style.left=_47;
|
||||
this.handleE.style.top=_48;
|
||||
this.handleS.style.left=_47;
|
||||
this.handleW.style.top=_48;
|
||||
this.north.style.height=_45[1];
|
||||
var _49=this.east.style;
|
||||
_49.top=_45[1];
|
||||
_49.height=_45[3];
|
||||
_49.left=_45[4];
|
||||
_49.width=_45[6];
|
||||
var _4a=this.south.style;
|
||||
_4a.top=_45[5];
|
||||
_4a.height=_45[7];
|
||||
var _4b=this.west.style;
|
||||
_4b.top=_45[1];
|
||||
_4b.height=_45[3];
|
||||
_4b.width=_45[0];
|
||||
this.subDrawArea();
|
||||
this.forceReRender();
|
||||
},forceReRender:function(){
|
||||
if(this.isIE||this.isWebKit){
|
||||
var n=document.createTextNode(" ");
|
||||
var d,el,fixEL,i;
|
||||
if(this.isIE){
|
||||
fixEl=this.selArea;
|
||||
}else{
|
||||
if(this.isWebKit){
|
||||
fixEl=document.getElementsByClassName("imgCrop_marqueeSouth",this.imgWrap)[0];
|
||||
d=Builder.node("div","");
|
||||
d.style.visibility="hidden";
|
||||
var _4e=["SE","S","SW"];
|
||||
for(i=0;i<_4e.length;i++){
|
||||
el=document.getElementsByClassName("imgCrop_handle"+_4e[i],this.selArea)[0];
|
||||
if(el.childNodes.length){
|
||||
el.removeChild(el.childNodes[0]);
|
||||
}
|
||||
el.appendChild(d);
|
||||
}
|
||||
}
|
||||
}
|
||||
fixEl.appendChild(n);
|
||||
fixEl.removeChild(n);
|
||||
}
|
||||
},startResize:function(e){
|
||||
this.startCoords=this.cloneCoords(this.areaCoords);
|
||||
this.resizing=true;
|
||||
this.resizeHandle=Event.element(e).classNames().toString().replace(/([^N|NE|E|SE|S|SW|W|NW])+/,"");
|
||||
Event.stop(e);
|
||||
},startDrag:function(e){
|
||||
this.selArea.show();
|
||||
this.clickCoords=this.getCurPos(e);
|
||||
this.setAreaCoords({x1:this.clickCoords.x,y1:this.clickCoords.y,x2:this.clickCoords.x,y2:this.clickCoords.y},false,false,null);
|
||||
this.dragging=true;
|
||||
this.onDrag(e);
|
||||
Event.stop(e);
|
||||
},getCurPos:function(e){
|
||||
var el=this.imgWrap,wrapOffsets=Position.cumulativeOffset(el);
|
||||
while(el.nodeName!="BODY"){
|
||||
wrapOffsets[1]-=el.scrollTop||0;
|
||||
wrapOffsets[0]-=el.scrollLeft||0;
|
||||
el=el.parentNode;
|
||||
}
|
||||
return curPos={x:Event.pointerX(e)-wrapOffsets[0],y:Event.pointerY(e)-wrapOffsets[1]};
|
||||
},onDrag:function(e){
|
||||
if(this.dragging||this.resizing){
|
||||
var _54=null;
|
||||
var _55=this.getCurPos(e);
|
||||
var _56=this.cloneCoords(this.areaCoords);
|
||||
var _57={x:1,y:1};
|
||||
if(this.dragging){
|
||||
if(_55.x<this.clickCoords.x){
|
||||
_57.x=-1;
|
||||
}
|
||||
if(_55.y<this.clickCoords.y){
|
||||
_57.y=-1;
|
||||
}
|
||||
this.transformCoords(_55.x,this.clickCoords.x,_56,"x");
|
||||
this.transformCoords(_55.y,this.clickCoords.y,_56,"y");
|
||||
}else{
|
||||
if(this.resizing){
|
||||
_54=this.resizeHandle;
|
||||
if(_54.match(/E/)){
|
||||
this.transformCoords(_55.x,this.startCoords.x1,_56,"x");
|
||||
if(_55.x<this.startCoords.x1){
|
||||
_57.x=-1;
|
||||
}
|
||||
}else{
|
||||
if(_54.match(/W/)){
|
||||
this.transformCoords(_55.x,this.startCoords.x2,_56,"x");
|
||||
if(_55.x<this.startCoords.x2){
|
||||
_57.x=-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(_54.match(/N/)){
|
||||
this.transformCoords(_55.y,this.startCoords.y2,_56,"y");
|
||||
if(_55.y<this.startCoords.y2){
|
||||
_57.y=-1;
|
||||
}
|
||||
}else{
|
||||
if(_54.match(/S/)){
|
||||
this.transformCoords(_55.y,this.startCoords.y1,_56,"y");
|
||||
if(_55.y<this.startCoords.y1){
|
||||
_57.y=-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
this.setAreaCoords(_56,false,e.shiftKey,_57,_54);
|
||||
this.drawArea();
|
||||
Event.stop(e);
|
||||
}
|
||||
},transformCoords:function(_58,_59,_5a,_5b){
|
||||
var _5c=[_58,_59];
|
||||
if(_58>_59){
|
||||
_5c.reverse();
|
||||
}
|
||||
_5a[_5b+"1"]=_5c[0];
|
||||
_5a[_5b+"2"]=_5c[1];
|
||||
},endCrop:function(){
|
||||
this.dragging=false;
|
||||
this.resizing=false;
|
||||
this.options.onEndCrop(this.areaCoords,{width:this.calcW(),height:this.calcH()});
|
||||
},subInitialize:function(){
|
||||
},subDrawArea:function(){
|
||||
}};
|
||||
Cropper.ImgWithPreview=Class.create();
|
||||
Object.extend(Object.extend(Cropper.ImgWithPreview.prototype,Cropper.Img.prototype),{subInitialize:function(){
|
||||
this.hasPreviewImg=false;
|
||||
if(typeof (this.options.previewWrap)!="undefined"&&this.options.minWidth>0&&this.options.minHeight>0){
|
||||
this.previewWrap=$(this.options.previewWrap);
|
||||
this.previewImg=this.img.cloneNode(false);
|
||||
this.previewImg.id="imgCrop_"+this.previewImg.id;
|
||||
this.options.displayOnInit=true;
|
||||
this.hasPreviewImg=true;
|
||||
this.previewWrap.addClassName("imgCrop_previewWrap");
|
||||
this.previewWrap.setStyle({width:this.options.minWidth+"px",height:this.options.minHeight+"px"});
|
||||
this.previewWrap.appendChild(this.previewImg);
|
||||
}
|
||||
},subDrawArea:function(){
|
||||
if(this.hasPreviewImg){
|
||||
var _5d=this.calcW();
|
||||
var _5e=this.calcH();
|
||||
var _5f={x:this.imgW/_5d,y:this.imgH/_5e};
|
||||
var _60={x:_5d/this.options.minWidth,y:_5e/this.options.minHeight};
|
||||
var _61={w:Math.ceil(this.options.minWidth*_5f.x)+"px",h:Math.ceil(this.options.minHeight*_5f.y)+"px",x:"-"+Math.ceil(this.areaCoords.x1/_60.x)+"px",y:"-"+Math.ceil(this.areaCoords.y1/_60.y)+"px"};
|
||||
var _62=this.previewImg.style;
|
||||
_62.width=_61.w;
|
||||
_62.height=_61.h;
|
||||
_62.left=_61.x;
|
||||
_62.top=_61.y;
|
||||
}
|
||||
}});
|
||||
var CropDraggable=Class.create();
|
||||
Object.extend(Object.extend(CropDraggable.prototype,Draggable.prototype),{initialize:function(_1){
|
||||
this.options=Object.extend({drawMethod:function(){
|
||||
}},arguments[1]||{});
|
||||
this.element=$PR(_1);
|
||||
this.handle=this.element;
|
||||
this.delta=this.currentDelta();
|
||||
this.dragging=false;
|
||||
this.eventMouseDown=this.initDrag.bindAsEventListener(this);
|
||||
Event.observe(this.handle,"mousedown",this.eventMouseDown);
|
||||
Draggables.register(this);
|
||||
},draw:function(_2){
|
||||
var _3=Position.cumulativeOffset(this.element);
|
||||
var d=this.currentDelta();
|
||||
_3[0]-=d[0];
|
||||
_3[1]-=d[1];
|
||||
var p=[0,1].map(function(i){
|
||||
return (_2[i]-_3[i]-this.offset[i]);
|
||||
}.bind(this));
|
||||
this.options.drawMethod(p);
|
||||
}});
|
||||
var Cropper={};
|
||||
Cropper.Img=Class.create();
|
||||
Cropper.Img.prototype={initialize:function(_7,_8){
|
||||
this.options=Object.extend({ratioDim:{x:0,y:0},minWidth:0,minHeight:0,displayOnInit:false,onEndCrop:Prototype.emptyFunction,captureKeys:true,onloadCoords:null,maxWidth:0,maxHeight:0},_8||{});
|
||||
this.img=$PR(_7);
|
||||
this.clickCoords={x:0,y:0};
|
||||
this.dragging=false;
|
||||
this.resizing=false;
|
||||
this.isWebKit=/Konqueror|Safari|KHTML/.test(navigator.userAgent);
|
||||
this.isIE=/MSIE/.test(navigator.userAgent);
|
||||
this.isOpera8=/Opera\s[1-8]/.test(navigator.userAgent);
|
||||
this.ratioX=0;
|
||||
this.ratioY=0;
|
||||
this.attached=false;
|
||||
this.fixedWidth=(this.options.maxWidth>0&&(this.options.minWidth>=this.options.maxWidth));
|
||||
this.fixedHeight=(this.options.maxHeight>0&&(this.options.minHeight>=this.options.maxHeight));
|
||||
if(typeof this.img=="undefined"){
|
||||
return;
|
||||
}
|
||||
$A(document.getElementsByTagName("script")).each(function(s){
|
||||
if(s.src.match(/cropper\.js/)){
|
||||
var _a=s.src.replace(/cropper\.js(.*)?/,"");
|
||||
var _b=document.createElement("link");
|
||||
_b.rel="stylesheet";
|
||||
_b.type="text/css";
|
||||
_b.href=_a+"cropper.css";
|
||||
_b.media="screen";
|
||||
document.getElementsByTagName("head")[0].appendChild(_b);
|
||||
}
|
||||
});
|
||||
if(this.options.ratioDim.x>0&&this.options.ratioDim.y>0){
|
||||
var _c=this.getGCD(this.options.ratioDim.x,this.options.ratioDim.y);
|
||||
this.ratioX=this.options.ratioDim.x/_c;
|
||||
this.ratioY=this.options.ratioDim.y/_c;
|
||||
}
|
||||
this.subInitialize();
|
||||
if(this.img.complete||this.isWebKit){
|
||||
this.onLoad();
|
||||
}else{
|
||||
Event.observe(this.img,"load",this.onLoad.bindAsEventListener(this));
|
||||
}
|
||||
},getGCD:function(a,b){
|
||||
if(b==0){
|
||||
return a;
|
||||
}
|
||||
return this.getGCD(b,a%b);
|
||||
},onLoad:function(){
|
||||
var _f="imgCrop_";
|
||||
var _10=this.img.parentNode;
|
||||
var _11="";
|
||||
if(this.isOpera8){
|
||||
_11=" opera8";
|
||||
}
|
||||
this.imgWrap=Builder.node("div",{"class":_f+"wrap"+_11});
|
||||
this.north=Builder.node("div",{"class":_f+"overlay "+_f+"north"},[Builder.node("span")]);
|
||||
this.east=Builder.node("div",{"class":_f+"overlay "+_f+"east"},[Builder.node("span")]);
|
||||
this.south=Builder.node("div",{"class":_f+"overlay "+_f+"south"},[Builder.node("span")]);
|
||||
this.west=Builder.node("div",{"class":_f+"overlay "+_f+"west"},[Builder.node("span")]);
|
||||
var _12=[this.north,this.east,this.south,this.west];
|
||||
this.dragArea=Builder.node("div",{"class":_f+"dragArea"},_12);
|
||||
this.handleN=Builder.node("div",{"class":_f+"handle "+_f+"handleN"});
|
||||
this.handleNE=Builder.node("div",{"class":_f+"handle "+_f+"handleNE"});
|
||||
this.handleE=Builder.node("div",{"class":_f+"handle "+_f+"handleE"});
|
||||
this.handleSE=Builder.node("div",{"class":_f+"handle "+_f+"handleSE"});
|
||||
this.handleS=Builder.node("div",{"class":_f+"handle "+_f+"handleS"});
|
||||
this.handleSW=Builder.node("div",{"class":_f+"handle "+_f+"handleSW"});
|
||||
this.handleW=Builder.node("div",{"class":_f+"handle "+_f+"handleW"});
|
||||
this.handleNW=Builder.node("div",{"class":_f+"handle "+_f+"handleNW"});
|
||||
this.selArea=Builder.node("div",{"class":_f+"selArea"},[Builder.node("div",{"class":_f+"marqueeHoriz "+_f+"marqueeNorth"},[Builder.node("span")]),Builder.node("div",{"class":_f+"marqueeVert "+_f+"marqueeEast"},[Builder.node("span")]),Builder.node("div",{"class":_f+"marqueeHoriz "+_f+"marqueeSouth"},[Builder.node("span")]),Builder.node("div",{"class":_f+"marqueeVert "+_f+"marqueeWest"},[Builder.node("span")]),this.handleN,this.handleNE,this.handleE,this.handleSE,this.handleS,this.handleSW,this.handleW,this.handleNW,Builder.node("div",{"class":_f+"clickArea"})]);
|
||||
this.imgWrap.appendChild(this.img);
|
||||
this.imgWrap.appendChild(this.dragArea);
|
||||
this.dragArea.appendChild(this.selArea);
|
||||
this.dragArea.appendChild(Builder.node("div",{"class":_f+"clickArea"}));
|
||||
_10.appendChild(this.imgWrap);
|
||||
this.startDragBind=this.startDrag.bindAsEventListener(this);
|
||||
Event.observe(this.dragArea,"mousedown",this.startDragBind);
|
||||
this.onDragBind=this.onDrag.bindAsEventListener(this);
|
||||
Event.observe(document,"mousemove",this.onDragBind);
|
||||
this.endCropBind=this.endCrop.bindAsEventListener(this);
|
||||
Event.observe(document,"mouseup",this.endCropBind);
|
||||
this.resizeBind=this.startResize.bindAsEventListener(this);
|
||||
this.handles=[this.handleN,this.handleNE,this.handleE,this.handleSE,this.handleS,this.handleSW,this.handleW,this.handleNW];
|
||||
this.registerHandles(true);
|
||||
if(this.options.captureKeys){
|
||||
this.keysBind=this.handleKeys.bindAsEventListener(this);
|
||||
Event.observe(document,"keypress",this.keysBind);
|
||||
}
|
||||
new CropDraggable(this.selArea,{drawMethod:this.moveArea.bindAsEventListener(this)});
|
||||
this.setParams();
|
||||
},registerHandles:function(_13){
|
||||
for(var i=0;i<this.handles.length;i++){
|
||||
var _15=$PR(this.handles[i]);
|
||||
if(_13){
|
||||
var _16=false;
|
||||
if(this.fixedWidth&&this.fixedHeight){
|
||||
_16=true;
|
||||
}else{
|
||||
if(this.fixedWidth||this.fixedHeight){
|
||||
var _17=_15.className.match(/([S|N][E|W])$/);
|
||||
var _18=_15.className.match(/(E|W)$/);
|
||||
var _19=_15.className.match(/(N|S)$/);
|
||||
if(_17){
|
||||
_16=true;
|
||||
}else{
|
||||
if(this.fixedWidth&&_18){
|
||||
_16=true;
|
||||
}else{
|
||||
if(this.fixedHeight&&_19){
|
||||
_16=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(_16){
|
||||
_15.hide();
|
||||
}else{
|
||||
Event.observe(_15,"mousedown",this.resizeBind);
|
||||
}
|
||||
}else{
|
||||
_15.show();
|
||||
Event.stopObserving(_15,"mousedown",this.resizeBind);
|
||||
}
|
||||
}
|
||||
},setParams:function(){
|
||||
this.imgW=this.img.width;
|
||||
this.imgH=this.img.height;
|
||||
$PR(this.north).setStyle({height:0});
|
||||
$PR(this.east).setStyle({width:0,height:0});
|
||||
$PR(this.south).setStyle({height:0});
|
||||
$PR(this.west).setStyle({width:0,height:0});
|
||||
$PR(this.imgWrap).setStyle({"width":this.imgW+"px","height":this.imgH+"px"});
|
||||
$PR(this.selArea).hide();
|
||||
var _1a={x1:0,y1:0,x2:0,y2:0};
|
||||
var _1b=false;
|
||||
if(this.options.onloadCoords!=null){
|
||||
_1a=this.cloneCoords(this.options.onloadCoords);
|
||||
_1b=true;
|
||||
}else{
|
||||
if(this.options.ratioDim.x>0&&this.options.ratioDim.y>0){
|
||||
_1a.x1=Math.ceil((this.imgW-this.options.ratioDim.x)/2);
|
||||
_1a.y1=Math.ceil((this.imgH-this.options.ratioDim.y)/2);
|
||||
_1a.x2=_1a.x1+this.options.ratioDim.x;
|
||||
_1a.y2=_1a.y1+this.options.ratioDim.y;
|
||||
_1b=true;
|
||||
}
|
||||
}
|
||||
this.setAreaCoords(_1a,false,false,1);
|
||||
if(this.options.displayOnInit&&_1b){
|
||||
this.selArea.show();
|
||||
this.drawArea();
|
||||
this.endCrop();
|
||||
}
|
||||
this.attached=true;
|
||||
},remove:function(){
|
||||
if(this.attached){
|
||||
this.attached=false;
|
||||
this.imgWrap.parentNode.insertBefore(this.img,this.imgWrap);
|
||||
this.imgWrap.parentNode.removeChild(this.imgWrap);
|
||||
Event.stopObserving(this.dragArea,"mousedown",this.startDragBind);
|
||||
Event.stopObserving(document,"mousemove",this.onDragBind);
|
||||
Event.stopObserving(document,"mouseup",this.endCropBind);
|
||||
this.registerHandles(false);
|
||||
if(this.options.captureKeys){
|
||||
Event.stopObserving(document,"keypress",this.keysBind);
|
||||
}
|
||||
}
|
||||
},reset:function(){
|
||||
if(!this.attached){
|
||||
this.onLoad();
|
||||
}else{
|
||||
this.setParams();
|
||||
}
|
||||
this.endCrop();
|
||||
},handleKeys:function(e){
|
||||
var dir={x:0,y:0};
|
||||
if(!this.dragging){
|
||||
switch(e.keyCode){
|
||||
case (37):
|
||||
dir.x=-1;
|
||||
break;
|
||||
case (38):
|
||||
dir.y=-1;
|
||||
break;
|
||||
case (39):
|
||||
dir.x=1;
|
||||
break;
|
||||
case (40):
|
||||
dir.y=1;
|
||||
break;
|
||||
}
|
||||
if(dir.x!=0||dir.y!=0){
|
||||
if(e.shiftKey){
|
||||
dir.x*=10;
|
||||
dir.y*=10;
|
||||
}
|
||||
this.moveArea([this.areaCoords.x1+dir.x,this.areaCoords.y1+dir.y]);
|
||||
Event.stop(e);
|
||||
}
|
||||
}
|
||||
},calcW:function(){
|
||||
return (this.areaCoords.x2-this.areaCoords.x1);
|
||||
},calcH:function(){
|
||||
return (this.areaCoords.y2-this.areaCoords.y1);
|
||||
},moveArea:function(_1e){
|
||||
this.setAreaCoords({x1:_1e[0],y1:_1e[1],x2:_1e[0]+this.calcW(),y2:_1e[1]+this.calcH()},true,false);
|
||||
this.drawArea();
|
||||
},cloneCoords:function(_1f){
|
||||
return {x1:_1f.x1,y1:_1f.y1,x2:_1f.x2,y2:_1f.y2};
|
||||
},setAreaCoords:function(_20,_21,_22,_23,_24){
|
||||
if(_21){
|
||||
var _25=_20.x2-_20.x1;
|
||||
var _26=_20.y2-_20.y1;
|
||||
if(_20.x1<0){
|
||||
_20.x1=0;
|
||||
_20.x2=_25;
|
||||
}
|
||||
if(_20.y1<0){
|
||||
_20.y1=0;
|
||||
_20.y2=_26;
|
||||
}
|
||||
if(_20.x2>this.imgW){
|
||||
_20.x2=this.imgW;
|
||||
_20.x1=this.imgW-_25;
|
||||
}
|
||||
if(_20.y2>this.imgH){
|
||||
_20.y2=this.imgH;
|
||||
_20.y1=this.imgH-_26;
|
||||
}
|
||||
}else{
|
||||
if(_20.x1<0){
|
||||
_20.x1=0;
|
||||
}
|
||||
if(_20.y1<0){
|
||||
_20.y1=0;
|
||||
}
|
||||
if(_20.x2>this.imgW){
|
||||
_20.x2=this.imgW;
|
||||
}
|
||||
if(_20.y2>this.imgH){
|
||||
_20.y2=this.imgH;
|
||||
}
|
||||
if(_23!=null){
|
||||
if(this.ratioX>0){
|
||||
this.applyRatio(_20,{x:this.ratioX,y:this.ratioY},_23,_24);
|
||||
}else{
|
||||
if(_22){
|
||||
this.applyRatio(_20,{x:1,y:1},_23,_24);
|
||||
}
|
||||
}
|
||||
var _27=[this.options.minWidth,this.options.minHeight];
|
||||
var _28=[this.options.maxWidth,this.options.maxHeight];
|
||||
if(_27[0]>0||_27[1]>0||_28[0]>0||_28[1]>0){
|
||||
var _29={a1:_20.x1,a2:_20.x2};
|
||||
var _2a={a1:_20.y1,a2:_20.y2};
|
||||
var _2b={min:0,max:this.imgW};
|
||||
var _2c={min:0,max:this.imgH};
|
||||
if((_27[0]!=0||_27[1]!=0)&&_22){
|
||||
if(_27[0]>0){
|
||||
_27[1]=_27[0];
|
||||
}else{
|
||||
if(_27[1]>0){
|
||||
_27[0]=_27[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
if((_28[0]!=0||_28[0]!=0)&&_22){
|
||||
if(_28[0]>0&&_28[0]<=_28[1]){
|
||||
_28[1]=_28[0];
|
||||
}else{
|
||||
if(_28[1]>0&&_28[1]<=_28[0]){
|
||||
_28[0]=_28[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
if(_27[0]>0){
|
||||
this.applyDimRestriction(_29,_27[0],_23.x,_2b,"min");
|
||||
}
|
||||
if(_27[1]>1){
|
||||
this.applyDimRestriction(_2a,_27[1],_23.y,_2c,"min");
|
||||
}
|
||||
if(_28[0]>0){
|
||||
this.applyDimRestriction(_29,_28[0],_23.x,_2b,"max");
|
||||
}
|
||||
if(_28[1]>1){
|
||||
this.applyDimRestriction(_2a,_28[1],_23.y,_2c,"max");
|
||||
}
|
||||
_20={x1:_29.a1,y1:_2a.a1,x2:_29.a2,y2:_2a.a2};
|
||||
}
|
||||
}
|
||||
}
|
||||
this.areaCoords=_20;
|
||||
},applyDimRestriction:function(_2d,val,_2f,_30,_31){
|
||||
var _32;
|
||||
if(_31=="min"){
|
||||
_32=((_2d.a2-_2d.a1)<val);
|
||||
}else{
|
||||
_32=((_2d.a2-_2d.a1)>val);
|
||||
}
|
||||
if(_32){
|
||||
if(_2f==1){
|
||||
_2d.a2=_2d.a1+val;
|
||||
}else{
|
||||
_2d.a1=_2d.a2-val;
|
||||
}
|
||||
if(_2d.a1<_30.min){
|
||||
_2d.a1=_30.min;
|
||||
_2d.a2=val;
|
||||
}else{
|
||||
if(_2d.a2>_30.max){
|
||||
_2d.a1=_30.max-val;
|
||||
_2d.a2=_30.max;
|
||||
}
|
||||
}
|
||||
}
|
||||
},applyRatio:function(_33,_34,_35,_36){
|
||||
var _37;
|
||||
if(_36=="N"||_36=="S"){
|
||||
_37=this.applyRatioToAxis({a1:_33.y1,b1:_33.x1,a2:_33.y2,b2:_33.x2},{a:_34.y,b:_34.x},{a:_35.y,b:_35.x},{min:0,max:this.imgW});
|
||||
_33.x1=_37.b1;
|
||||
_33.y1=_37.a1;
|
||||
_33.x2=_37.b2;
|
||||
_33.y2=_37.a2;
|
||||
}else{
|
||||
_37=this.applyRatioToAxis({a1:_33.x1,b1:_33.y1,a2:_33.x2,b2:_33.y2},{a:_34.x,b:_34.y},{a:_35.x,b:_35.y},{min:0,max:this.imgH});
|
||||
_33.x1=_37.a1;
|
||||
_33.y1=_37.b1;
|
||||
_33.x2=_37.a2;
|
||||
_33.y2=_37.b2;
|
||||
}
|
||||
},applyRatioToAxis:function(_38,_39,_3a,_3b){
|
||||
var _3c=Object.extend(_38,{});
|
||||
var _3d=_3c.a2-_3c.a1;
|
||||
var _3e=Math.floor(_3d*_39.b/_39.a);
|
||||
var _3f;
|
||||
var _40;
|
||||
var _41=null;
|
||||
if(_3a.b==1){
|
||||
_3f=_3c.b1+_3e;
|
||||
if(_3f>_3b.max){
|
||||
_3f=_3b.max;
|
||||
_41=_3f-_3c.b1;
|
||||
}
|
||||
_3c.b2=_3f;
|
||||
}else{
|
||||
_3f=_3c.b2-_3e;
|
||||
if(_3f<_3b.min){
|
||||
_3f=_3b.min;
|
||||
_41=_3f+_3c.b2;
|
||||
}
|
||||
_3c.b1=_3f;
|
||||
}
|
||||
if(_41!=null){
|
||||
_40=Math.floor(_41*_39.a/_39.b);
|
||||
if(_3a.a==1){
|
||||
_3c.a2=_3c.a1+_40;
|
||||
}else{
|
||||
_3c.a1=_3c.a1=_3c.a2-_40;
|
||||
}
|
||||
}
|
||||
return _3c;
|
||||
},drawArea:function(){
|
||||
var _42=this.calcW();
|
||||
var _43=this.calcH();
|
||||
var px="px";
|
||||
var _45=[this.areaCoords.x1+px,this.areaCoords.y1+px,_42+px,_43+px,this.areaCoords.x2+px,this.areaCoords.y2+px,(this.img.width-this.areaCoords.x2)+px,(this.img.height-this.areaCoords.y2)+px];
|
||||
var _46=this.selArea.style;
|
||||
_46.left=_45[0];
|
||||
_46.top=_45[1];
|
||||
_46.width=_45[2];
|
||||
_46.height=_45[3];
|
||||
var _47=Math.ceil((_42-6)/2)+px;
|
||||
var _48=Math.ceil((_43-6)/2)+px;
|
||||
this.handleN.style.left=_47;
|
||||
this.handleE.style.top=_48;
|
||||
this.handleS.style.left=_47;
|
||||
this.handleW.style.top=_48;
|
||||
this.north.style.height=_45[1];
|
||||
var _49=this.east.style;
|
||||
_49.top=_45[1];
|
||||
_49.height=_45[3];
|
||||
_49.left=_45[4];
|
||||
_49.width=_45[6];
|
||||
var _4a=this.south.style;
|
||||
_4a.top=_45[5];
|
||||
_4a.height=_45[7];
|
||||
var _4b=this.west.style;
|
||||
_4b.top=_45[1];
|
||||
_4b.height=_45[3];
|
||||
_4b.width=_45[0];
|
||||
this.subDrawArea();
|
||||
this.forceReRender();
|
||||
},forceReRender:function(){
|
||||
if(this.isIE||this.isWebKit){
|
||||
var n=document.createTextNode(" ");
|
||||
var d,el,fixEL,i;
|
||||
if(this.isIE){
|
||||
fixEl=this.selArea;
|
||||
}else{
|
||||
if(this.isWebKit){
|
||||
fixEl=document.getElementsByClassName("imgCrop_marqueeSouth",this.imgWrap)[0];
|
||||
d=Builder.node("div","");
|
||||
d.style.visibility="hidden";
|
||||
var _4e=["SE","S","SW"];
|
||||
for(i=0;i<_4e.length;i++){
|
||||
el=document.getElementsByClassName("imgCrop_handle"+_4e[i],this.selArea)[0];
|
||||
if(el.childNodes.length){
|
||||
el.removeChild(el.childNodes[0]);
|
||||
}
|
||||
el.appendChild(d);
|
||||
}
|
||||
}
|
||||
}
|
||||
fixEl.appendChild(n);
|
||||
fixEl.removeChild(n);
|
||||
}
|
||||
},startResize:function(e){
|
||||
this.startCoords=this.cloneCoords(this.areaCoords);
|
||||
this.resizing=true;
|
||||
this.resizeHandle=Event.element(e).classNames().toString().replace(/([^N|NE|E|SE|S|SW|W|NW])+/,"");
|
||||
Event.stop(e);
|
||||
},startDrag:function(e){
|
||||
this.selArea.show();
|
||||
this.clickCoords=this.getCurPos(e);
|
||||
this.setAreaCoords({x1:this.clickCoords.x,y1:this.clickCoords.y,x2:this.clickCoords.x,y2:this.clickCoords.y},false,false,null);
|
||||
this.dragging=true;
|
||||
this.onDrag(e);
|
||||
Event.stop(e);
|
||||
},getCurPos:function(e){
|
||||
var el=this.imgWrap,wrapOffsets=Position.cumulativeOffset(el);
|
||||
while(el.nodeName!="BODY"){
|
||||
wrapOffsets[1]-=el.scrollTop||0;
|
||||
wrapOffsets[0]-=el.scrollLeft||0;
|
||||
el=el.parentNode;
|
||||
}
|
||||
return curPos={x:Event.pointerX(e)-wrapOffsets[0],y:Event.pointerY(e)-wrapOffsets[1]};
|
||||
},onDrag:function(e){
|
||||
if(this.dragging||this.resizing){
|
||||
var _54=null;
|
||||
var _55=this.getCurPos(e);
|
||||
var _56=this.cloneCoords(this.areaCoords);
|
||||
var _57={x:1,y:1};
|
||||
if(this.dragging){
|
||||
if(_55.x<this.clickCoords.x){
|
||||
_57.x=-1;
|
||||
}
|
||||
if(_55.y<this.clickCoords.y){
|
||||
_57.y=-1;
|
||||
}
|
||||
this.transformCoords(_55.x,this.clickCoords.x,_56,"x");
|
||||
this.transformCoords(_55.y,this.clickCoords.y,_56,"y");
|
||||
}else{
|
||||
if(this.resizing){
|
||||
_54=this.resizeHandle;
|
||||
if(_54.match(/E/)){
|
||||
this.transformCoords(_55.x,this.startCoords.x1,_56,"x");
|
||||
if(_55.x<this.startCoords.x1){
|
||||
_57.x=-1;
|
||||
}
|
||||
}else{
|
||||
if(_54.match(/W/)){
|
||||
this.transformCoords(_55.x,this.startCoords.x2,_56,"x");
|
||||
if(_55.x<this.startCoords.x2){
|
||||
_57.x=-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(_54.match(/N/)){
|
||||
this.transformCoords(_55.y,this.startCoords.y2,_56,"y");
|
||||
if(_55.y<this.startCoords.y2){
|
||||
_57.y=-1;
|
||||
}
|
||||
}else{
|
||||
if(_54.match(/S/)){
|
||||
this.transformCoords(_55.y,this.startCoords.y1,_56,"y");
|
||||
if(_55.y<this.startCoords.y1){
|
||||
_57.y=-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
this.setAreaCoords(_56,false,e.shiftKey,_57,_54);
|
||||
this.drawArea();
|
||||
Event.stop(e);
|
||||
}
|
||||
},transformCoords:function(_58,_59,_5a,_5b){
|
||||
var _5c=[_58,_59];
|
||||
if(_58>_59){
|
||||
_5c.reverse();
|
||||
}
|
||||
_5a[_5b+"1"]=_5c[0];
|
||||
_5a[_5b+"2"]=_5c[1];
|
||||
},endCrop:function(){
|
||||
this.dragging=false;
|
||||
this.resizing=false;
|
||||
this.options.onEndCrop(this.areaCoords,{width:this.calcW(),height:this.calcH()});
|
||||
},subInitialize:function(){
|
||||
},subDrawArea:function(){
|
||||
}};
|
||||
Cropper.ImgWithPreview=Class.create();
|
||||
Object.extend(Object.extend(Cropper.ImgWithPreview.prototype,Cropper.Img.prototype),{subInitialize:function(){
|
||||
this.hasPreviewImg=false;
|
||||
if(typeof (this.options.previewWrap)!="undefined"&&this.options.minWidth>0&&this.options.minHeight>0){
|
||||
this.previewWrap=$PR(this.options.previewWrap);
|
||||
this.previewImg=this.img.cloneNode(false);
|
||||
this.previewImg.id="imgCrop_"+this.previewImg.id;
|
||||
this.options.displayOnInit=true;
|
||||
this.hasPreviewImg=true;
|
||||
this.previewWrap.addClassName("imgCrop_previewWrap");
|
||||
this.previewWrap.setStyle({width:this.options.minWidth+"px",height:this.options.minHeight+"px"});
|
||||
this.previewWrap.appendChild(this.previewImg);
|
||||
}
|
||||
},subDrawArea:function(){
|
||||
if(this.hasPreviewImg){
|
||||
var _5d=this.calcW();
|
||||
var _5e=this.calcH();
|
||||
var _5f={x:this.imgW/_5d,y:this.imgH/_5e};
|
||||
var _60={x:_5d/this.options.minWidth,y:_5e/this.options.minHeight};
|
||||
var _61={w:Math.ceil(this.options.minWidth*_5f.x)+"px",h:Math.ceil(this.options.minHeight*_5f.y)+"px",x:"-"+Math.ceil(this.areaCoords.x1/_60.x)+"px",y:"-"+Math.ceil(this.areaCoords.y1/_60.y)+"px"};
|
||||
var _62=this.previewImg.style;
|
||||
_62.width=_61.w;
|
||||
_62.height=_61.h;
|
||||
_62.left=_61.x;
|
||||
_62.top=_61.y;
|
||||
}
|
||||
}});
|
||||
|
||||
|
|
|
|||
|
|
@ -113,6 +113,8 @@
|
|||
* http://www.opensource.org/licenses/bsd-license.php
|
||||
*
|
||||
* See scriptaculous.js for full scriptaculous licence
|
||||
*
|
||||
* Modified 2013/06/01 Zach P to change $() to $PR() for eliminating conflicts with jQuery
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
@ -134,7 +136,7 @@ Object.extend( Object.extend( CropDraggable.prototype, Draggable.prototype), {
|
|||
arguments[1] || {}
|
||||
);
|
||||
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
|
||||
this.handle = this.element;
|
||||
|
||||
|
|
@ -212,12 +214,12 @@ Object.extend( Object.extend( CropDraggable.prototype, Draggable.prototype), {
|
|||
*
|
||||
* Example:
|
||||
* function onEndCrop( coords, dimensions ) {
|
||||
* $( 'x1' ).value = coords.x1;
|
||||
* $( 'y1' ).value = coords.y1;
|
||||
* $( 'x2' ).value = coords.x2;
|
||||
* $( 'y2' ).value = coords.y2;
|
||||
* $( 'width' ).value = dimensions.width;
|
||||
* $( 'height' ).value = dimensions.height;
|
||||
* $PR( 'x1' ).value = coords.x1;
|
||||
* $PR( 'y1' ).value = coords.y1;
|
||||
* $PR( 'x2' ).value = coords.x2;
|
||||
* $PR( 'y2' ).value = coords.y2;
|
||||
* $PR( 'width' ).value = dimensions.width;
|
||||
* $PR( 'height' ).value = dimensions.height;
|
||||
* }
|
||||
*
|
||||
*/
|
||||
|
|
@ -288,7 +290,7 @@ Cropper.Img.prototype = {
|
|||
* @var obj
|
||||
* The img node to attach to
|
||||
*/
|
||||
this.img = $( element );
|
||||
this.img = $PR( element );
|
||||
/**
|
||||
* @var obj
|
||||
* The x & y coordinates of the click point
|
||||
|
|
@ -524,7 +526,7 @@ Cropper.Img.prototype = {
|
|||
*/
|
||||
registerHandles: function( registration ) {
|
||||
for( var i = 0; i < this.handles.length; i++ ) {
|
||||
var handle = $( this.handles[i] );
|
||||
var handle = $PR( this.handles[i] );
|
||||
|
||||
if( registration ) {
|
||||
var hideHandle = false; // whether to hide the handle
|
||||
|
|
@ -569,16 +571,16 @@ Cropper.Img.prototype = {
|
|||
*/
|
||||
this.imgH = this.img.height;
|
||||
|
||||
$( this.north ).setStyle( { height: 0 } );
|
||||
$( this.east ).setStyle( { width: 0, height: 0 } );
|
||||
$( this.south ).setStyle( { height: 0 } );
|
||||
$( this.west ).setStyle( { width: 0, height: 0 } );
|
||||
$PR( this.north ).setStyle( { height: 0 } );
|
||||
$PR( this.east ).setStyle( { width: 0, height: 0 } );
|
||||
$PR( this.south ).setStyle( { height: 0 } );
|
||||
$PR( this.west ).setStyle( { width: 0, height: 0 } );
|
||||
|
||||
// resize the container to fit the image
|
||||
$( this.imgWrap ).setStyle( { 'width': this.imgW + 'px', 'height': this.imgH + 'px' } );
|
||||
$PR( this.imgWrap ).setStyle( { 'width': this.imgW + 'px', 'height': this.imgH + 'px' } );
|
||||
|
||||
// hide the select area
|
||||
$( this.selArea ).hide();
|
||||
$PR( this.selArea ).hide();
|
||||
|
||||
// setup the starting position of the select area
|
||||
var startCoords = { x1: 0, y1: 0, x2: 0, y2: 0 };
|
||||
|
|
@ -1263,7 +1265,7 @@ Object.extend( Object.extend( Cropper.ImgWithPreview.prototype, Cropper.Img.prot
|
|||
* The preview image wrapper element
|
||||
* @var obj HTML element
|
||||
*/
|
||||
this.previewWrap = $( this.options.previewWrap );
|
||||
this.previewWrap = $PR( this.options.previewWrap );
|
||||
/**
|
||||
* The preview image element
|
||||
* @var obj HTML IMG element
|
||||
|
|
|
|||
14
library/cropper/lib/controls.js
vendored
14
library/cropper/lib/controls.js
vendored
|
|
@ -37,8 +37,8 @@ var Autocompleter = {}
|
|||
Autocompleter.Base = function() {};
|
||||
Autocompleter.Base.prototype = {
|
||||
baseInitialize: function(element, update, options) {
|
||||
this.element = $(element);
|
||||
this.update = $(update);
|
||||
this.element = $PR(element);
|
||||
this.update = $PR(update);
|
||||
this.hasFocus = false;
|
||||
this.changed = false;
|
||||
this.active = false;
|
||||
|
|
@ -88,7 +88,7 @@ Autocompleter.Base.prototype = {
|
|||
'<iframe id="' + this.update.id + '_iefix" '+
|
||||
'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" ' +
|
||||
'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');
|
||||
this.iefix = $(this.update.id+'_iefix');
|
||||
this.iefix = $PR(this.update.id+'_iefix');
|
||||
}
|
||||
if(this.iefix) setTimeout(this.fixIEOverlapping.bind(this), 50);
|
||||
},
|
||||
|
|
@ -456,7 +456,7 @@ Ajax.InPlaceEditor.defaultHighlightColor = "#FFFF99";
|
|||
Ajax.InPlaceEditor.prototype = {
|
||||
initialize: function(element, url, options) {
|
||||
this.url = url;
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
|
||||
this.options = Object.extend({
|
||||
okButton: true,
|
||||
|
|
@ -491,14 +491,14 @@ Ajax.InPlaceEditor.prototype = {
|
|||
|
||||
if(!this.options.formId && this.element.id) {
|
||||
this.options.formId = this.element.id + "-inplaceeditor";
|
||||
if ($(this.options.formId)) {
|
||||
if ($PR(this.options.formId)) {
|
||||
// there's already a form with that name, don't specify an id
|
||||
this.options.formId = null;
|
||||
}
|
||||
}
|
||||
|
||||
if (this.options.externalControl) {
|
||||
this.options.externalControl = $(this.options.externalControl);
|
||||
this.options.externalControl = $PR(this.options.externalControl);
|
||||
}
|
||||
|
||||
this.originalBackground = Element.getStyle(this.element, 'background-color');
|
||||
|
|
@ -796,7 +796,7 @@ Form.Element.DelayedObserver = Class.create();
|
|||
Form.Element.DelayedObserver.prototype = {
|
||||
initialize: function(element, delay, callback) {
|
||||
this.delay = delay || 0.5;
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
this.callback = callback;
|
||||
this.timer = null;
|
||||
this.lastValue = $F(this.element);
|
||||
|
|
|
|||
34
library/cropper/lib/dragdrop.js
vendored
34
library/cropper/lib/dragdrop.js
vendored
|
|
@ -9,11 +9,11 @@ var Droppables = {
|
|||
drops: [],
|
||||
|
||||
remove: function(element) {
|
||||
this.drops = this.drops.reject(function(d) { return d.element==$(element) });
|
||||
this.drops = this.drops.reject(function(d) { return d.element==$PR(element) });
|
||||
},
|
||||
|
||||
add: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var options = Object.extend({
|
||||
greedy: true,
|
||||
hoverclass: null,
|
||||
|
|
@ -26,9 +26,9 @@ var Droppables = {
|
|||
var containment = options.containment;
|
||||
if((typeof containment == 'object') &&
|
||||
(containment.constructor == Array)) {
|
||||
containment.each( function(c) { options._containers.push($(c)) });
|
||||
containment.each( function(c) { options._containers.push($PR(c)) });
|
||||
} else {
|
||||
options._containers.push($(containment));
|
||||
options._containers.push($PR(containment));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -228,17 +228,17 @@ Draggable.prototype = {
|
|||
snap: false // false, or xy or [x,y] or function(x,y){ return [x,y] }
|
||||
}, arguments[1] || {});
|
||||
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
|
||||
if(options.handle && (typeof options.handle == 'string')) {
|
||||
var h = Element.childrenWithClassName(this.element, options.handle, true);
|
||||
if(h.length>0) this.handle = h[0];
|
||||
}
|
||||
if(!this.handle) this.handle = $(options.handle);
|
||||
if(!this.handle) this.handle = $PR(options.handle);
|
||||
if(!this.handle) this.handle = this.element;
|
||||
|
||||
if(options.scroll && !options.scroll.scrollTo && !options.scroll.outerHTML)
|
||||
options.scroll = $(options.scroll);
|
||||
options.scroll = $PR(options.scroll);
|
||||
|
||||
Element.makePositioned(this.element); // fix IE
|
||||
|
||||
|
|
@ -508,7 +508,7 @@ Draggable.prototype = {
|
|||
var SortableObserver = Class.create();
|
||||
SortableObserver.prototype = {
|
||||
initialize: function(element, observer) {
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
this.observer = observer;
|
||||
this.lastValue = Sortable.serialize(this.element);
|
||||
},
|
||||
|
|
@ -535,7 +535,7 @@ var Sortable = {
|
|||
},
|
||||
|
||||
options: function(element) {
|
||||
element = Sortable._findRootElement($(element));
|
||||
element = Sortable._findRootElement($PR(element));
|
||||
if(!element) return;
|
||||
return Sortable.sortables[element.id];
|
||||
},
|
||||
|
|
@ -553,7 +553,7 @@ var Sortable = {
|
|||
},
|
||||
|
||||
create: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var options = Object.extend({
|
||||
element: element,
|
||||
tag: 'li', // assumes li children, override with tag: 'tagname'
|
||||
|
|
@ -744,7 +744,7 @@ var Sortable = {
|
|||
if(sortable && !sortable.ghosting) return;
|
||||
|
||||
if(!Sortable._marker) {
|
||||
Sortable._marker = $('dropmarker') || document.createElement('DIV');
|
||||
Sortable._marker = $PR('dropmarker') || document.createElement('DIV');
|
||||
Element.hide(Sortable._marker);
|
||||
Element.addClassName(Sortable._marker, 'dropmarker');
|
||||
Sortable._marker.style.position = 'absolute';
|
||||
|
|
@ -802,7 +802,7 @@ var Sortable = {
|
|||
},
|
||||
|
||||
tree: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var sortableOptions = this.options(element);
|
||||
var options = Object.extend({
|
||||
tag: sortableOptions.tag,
|
||||
|
|
@ -833,16 +833,16 @@ var Sortable = {
|
|||
},
|
||||
|
||||
sequence: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var options = Object.extend(this.options(element), arguments[1] || {});
|
||||
|
||||
return $(this.findElements(element, options) || []).map( function(item) {
|
||||
return $PR(this.findElements(element, options) || []).map( function(item) {
|
||||
return item.id.match(options.format) ? item.id.match(options.format)[1] : '';
|
||||
});
|
||||
},
|
||||
|
||||
setSequence: function(element, new_sequence) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var options = Object.extend(this.options(element), arguments[2] || {});
|
||||
|
||||
var nodeMap = {};
|
||||
|
|
@ -862,7 +862,7 @@ var Sortable = {
|
|||
},
|
||||
|
||||
serialize: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var options = Object.extend(Sortable.options(element), arguments[1] || {});
|
||||
var name = encodeURIComponent(
|
||||
(arguments[1] && arguments[1].name) ? arguments[1].name : element.id);
|
||||
|
|
@ -912,4 +912,4 @@ Element.offsetSize = function (element, type) {
|
|||
return element.offsetHeight;
|
||||
else
|
||||
return element.offsetWidth;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
66
library/cropper/lib/effects.js
vendored
66
library/cropper/lib/effects.js
vendored
|
|
@ -25,14 +25,14 @@ String.prototype.parseColor = function() {
|
|||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
Element.collectTextNodes = function(element) {
|
||||
return $A($(element).childNodes).collect( function(node) {
|
||||
return $A($PR(element).childNodes).collect( function(node) {
|
||||
return (node.nodeType==3 ? node.nodeValue :
|
||||
(node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
|
||||
}).flatten().join('');
|
||||
}
|
||||
|
||||
Element.collectTextNodesIgnoreClass = function(element, className) {
|
||||
return $A($(element).childNodes).collect( function(node) {
|
||||
return $A($PR(element).childNodes).collect( function(node) {
|
||||
return (node.nodeType==3 ? node.nodeValue :
|
||||
((node.hasChildNodes() && !Element.hasClassName(node,className)) ?
|
||||
Element.collectTextNodesIgnoreClass(node, className) : ''));
|
||||
|
|
@ -40,7 +40,7 @@ Element.collectTextNodesIgnoreClass = function(element, className) {
|
|||
}
|
||||
|
||||
Element.setContentZoom = function(element, percent) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
Element.setStyle(element, {fontSize: (percent/100) + 'em'});
|
||||
if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
|
||||
}
|
||||
|
|
@ -55,7 +55,7 @@ Element.getOpacity = function(element){
|
|||
}
|
||||
|
||||
Element.setOpacity = function(element, value){
|
||||
element= $(element);
|
||||
element= $PR(element);
|
||||
if (value == 1){
|
||||
Element.setStyle(element, { opacity:
|
||||
(/Gecko/.test(navigator.userAgent) && !/Konqueror|Safari|KHTML/.test(navigator.userAgent)) ?
|
||||
|
|
@ -73,12 +73,12 @@ Element.setOpacity = function(element, value){
|
|||
}
|
||||
|
||||
Element.getInlineOpacity = function(element){
|
||||
return $(element).style.opacity || '';
|
||||
return $PR(element).style.opacity || '';
|
||||
}
|
||||
|
||||
Element.childrenWithClassName = function(element, className, findFirst) {
|
||||
var classNameRegExp = new RegExp("(^|\\s)" + className + "(\\s|$)");
|
||||
var results = $A($(element).getElementsByTagName('*'))[findFirst ? 'detect' : 'select']( function(c) {
|
||||
var results = $A($PR(element).getElementsByTagName('*'))[findFirst ? 'detect' : 'select']( function(c) {
|
||||
return (c.className && c.className.match(classNameRegExp));
|
||||
});
|
||||
if(!results) results = [];
|
||||
|
|
@ -87,7 +87,7 @@ Element.childrenWithClassName = function(element, className, findFirst) {
|
|||
|
||||
Element.forceRerendering = function(element) {
|
||||
try {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var n = document.createTextNode(' ');
|
||||
element.appendChild(n);
|
||||
element.removeChild(n);
|
||||
|
|
@ -107,7 +107,7 @@ var Effect = {
|
|||
tagifyText: function(element) {
|
||||
var tagifyStyle = 'position:relative';
|
||||
if(/MSIE/.test(navigator.userAgent)) tagifyStyle += ';zoom:1';
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
$A(element.childNodes).each( function(child) {
|
||||
if(child.nodeType==3) {
|
||||
child.nodeValue.toArray().each( function(character) {
|
||||
|
|
@ -127,7 +127,7 @@ var Effect = {
|
|||
(element.length))
|
||||
elements = element;
|
||||
else
|
||||
elements = $(element).childNodes;
|
||||
elements = $PR(element).childNodes;
|
||||
|
||||
var options = Object.extend({
|
||||
speed: 0.1,
|
||||
|
|
@ -145,7 +145,7 @@ var Effect = {
|
|||
'appear': ['Appear','Fade']
|
||||
},
|
||||
toggle: function(element, effect) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
effect = (effect || 'appear').toLowerCase();
|
||||
var options = Object.extend({
|
||||
queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
|
||||
|
|
@ -351,7 +351,7 @@ Object.extend(Object.extend(Effect.Parallel.prototype, Effect.Base.prototype), {
|
|||
Effect.Opacity = Class.create();
|
||||
Object.extend(Object.extend(Effect.Opacity.prototype, Effect.Base.prototype), {
|
||||
initialize: function(element) {
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
// make this work on IE on elements without 'layout'
|
||||
if(/MSIE/.test(navigator.userAgent) && (!this.element.hasLayout))
|
||||
this.element.setStyle({zoom: 1});
|
||||
|
|
@ -369,7 +369,7 @@ Object.extend(Object.extend(Effect.Opacity.prototype, Effect.Base.prototype), {
|
|||
Effect.Move = Class.create();
|
||||
Object.extend(Object.extend(Effect.Move.prototype, Effect.Base.prototype), {
|
||||
initialize: function(element) {
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
var options = Object.extend({
|
||||
x: 0,
|
||||
y: 0,
|
||||
|
|
@ -408,7 +408,7 @@ Effect.MoveBy = function(element, toTop, toLeft) {
|
|||
Effect.Scale = Class.create();
|
||||
Object.extend(Object.extend(Effect.Scale.prototype, Effect.Base.prototype), {
|
||||
initialize: function(element, percent) {
|
||||
this.element = $(element)
|
||||
this.element = $PR(element)
|
||||
var options = Object.extend({
|
||||
scaleX: true,
|
||||
scaleY: true,
|
||||
|
|
@ -482,7 +482,7 @@ Object.extend(Object.extend(Effect.Scale.prototype, Effect.Base.prototype), {
|
|||
Effect.Highlight = Class.create();
|
||||
Object.extend(Object.extend(Effect.Highlight.prototype, Effect.Base.prototype), {
|
||||
initialize: function(element) {
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || {});
|
||||
this.start(options);
|
||||
},
|
||||
|
|
@ -515,7 +515,7 @@ Object.extend(Object.extend(Effect.Highlight.prototype, Effect.Base.prototype),
|
|||
Effect.ScrollTo = Class.create();
|
||||
Object.extend(Object.extend(Effect.ScrollTo.prototype, Effect.Base.prototype), {
|
||||
initialize: function(element) {
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
this.start(arguments[1] || {});
|
||||
},
|
||||
setup: function() {
|
||||
|
|
@ -540,7 +540,7 @@ Object.extend(Object.extend(Effect.ScrollTo.prototype, Effect.Base.prototype), {
|
|||
/* ------------- combination effects ------------- */
|
||||
|
||||
Effect.Fade = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var oldOpacity = element.getInlineOpacity();
|
||||
var options = Object.extend({
|
||||
from: element.getOpacity() || 1.0,
|
||||
|
|
@ -554,7 +554,7 @@ Effect.Fade = function(element) {
|
|||
}
|
||||
|
||||
Effect.Appear = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var options = Object.extend({
|
||||
from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
|
||||
to: 1.0,
|
||||
|
|
@ -570,7 +570,7 @@ Effect.Appear = function(element) {
|
|||
}
|
||||
|
||||
Effect.Puff = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var oldStyle = { opacity: element.getInlineOpacity(), position: element.getStyle('position') };
|
||||
return new Effect.Parallel(
|
||||
[ new Effect.Scale(element, 200,
|
||||
|
|
@ -587,7 +587,7 @@ Effect.Puff = function(element) {
|
|||
}
|
||||
|
||||
Effect.BlindUp = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
element.makeClipping();
|
||||
return new Effect.Scale(element, 0,
|
||||
Object.extend({ scaleContent: false,
|
||||
|
|
@ -602,7 +602,7 @@ Effect.BlindUp = function(element) {
|
|||
}
|
||||
|
||||
Effect.BlindDown = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var elementDimensions = element.getDimensions();
|
||||
return new Effect.Scale(element, 100,
|
||||
Object.extend({ scaleContent: false,
|
||||
|
|
@ -623,7 +623,7 @@ Effect.BlindDown = function(element) {
|
|||
}
|
||||
|
||||
Effect.SwitchOff = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var oldOpacity = element.getInlineOpacity();
|
||||
return new Effect.Appear(element, {
|
||||
duration: 0.4,
|
||||
|
|
@ -649,7 +649,7 @@ Effect.SwitchOff = function(element) {
|
|||
}
|
||||
|
||||
Effect.DropOut = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var oldStyle = {
|
||||
top: element.getStyle('top'),
|
||||
left: element.getStyle('left'),
|
||||
|
|
@ -671,7 +671,7 @@ Effect.DropOut = function(element) {
|
|||
}
|
||||
|
||||
Effect.Shake = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var oldStyle = {
|
||||
top: element.getStyle('top'),
|
||||
left: element.getStyle('left') };
|
||||
|
|
@ -693,10 +693,10 @@ Effect.Shake = function(element) {
|
|||
}
|
||||
|
||||
Effect.SlideDown = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
element.cleanWhitespace();
|
||||
// SlideDown need to have the content of the element wrapped in a container element with fixed height!
|
||||
var oldInnerBottom = $(element.firstChild).getStyle('bottom');
|
||||
var oldInnerBottom = $PR(element.firstChild).getStyle('bottom');
|
||||
var elementDimensions = element.getDimensions();
|
||||
return new Effect.Scale(element, 100, Object.extend({
|
||||
scaleContent: false,
|
||||
|
|
@ -731,9 +731,9 @@ Effect.SlideDown = function(element) {
|
|||
}
|
||||
|
||||
Effect.SlideUp = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
element.cleanWhitespace();
|
||||
var oldInnerBottom = $(element.firstChild).getStyle('bottom');
|
||||
var oldInnerBottom = $PR(element.firstChild).getStyle('bottom');
|
||||
return new Effect.Scale(element, window.opera ? 0 : 1,
|
||||
Object.extend({ scaleContent: false,
|
||||
scaleX: false,
|
||||
|
|
@ -772,7 +772,7 @@ Effect.Squish = function(element) {
|
|||
}
|
||||
|
||||
Effect.Grow = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var options = Object.extend({
|
||||
direction: 'center',
|
||||
moveTransition: Effect.Transitions.sinoidal,
|
||||
|
|
@ -851,7 +851,7 @@ Effect.Grow = function(element) {
|
|||
}
|
||||
|
||||
Effect.Shrink = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var options = Object.extend({
|
||||
direction: 'center',
|
||||
moveTransition: Effect.Transitions.sinoidal,
|
||||
|
|
@ -908,7 +908,7 @@ Effect.Shrink = function(element) {
|
|||
}
|
||||
|
||||
Effect.Pulsate = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var options = arguments[1] || {};
|
||||
var oldOpacity = element.getInlineOpacity();
|
||||
var transition = options.transition || Effect.Transitions.sinoidal;
|
||||
|
|
@ -921,7 +921,7 @@ Effect.Pulsate = function(element) {
|
|||
}
|
||||
|
||||
Effect.Fold = function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var oldStyle = {
|
||||
top: element.style.top,
|
||||
left: element.style.left,
|
||||
|
|
@ -952,7 +952,7 @@ Element.Methods.visualEffect = function(element, effect, options) {
|
|||
s = effect.gsub(/_/, '-').camelize();
|
||||
effect_class = s.charAt(0).toUpperCase() + s.substring(1);
|
||||
new Effect[effect_class](element, options);
|
||||
return $(element);
|
||||
return $PR(element);
|
||||
};
|
||||
|
||||
Element.addMethods();
|
||||
Element.addMethods();
|
||||
|
|
|
|||
104
library/cropper/lib/prototype.js
vendored
104
library/cropper/lib/prototype.js
vendored
|
|
@ -784,9 +784,9 @@ Ajax.Updater = Class.create();
|
|||
Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), {
|
||||
initialize: function(container, url, options) {
|
||||
this.containers = {
|
||||
success: container.success ? $(container.success) : $(container),
|
||||
failure: container.failure ? $(container.failure) :
|
||||
(container.success ? null : $(container))
|
||||
success: container.success ? $PR(container.success) : $PR(container),
|
||||
failure: container.failure ? $PR(container.failure) :
|
||||
(container.success ? null : $PR(container))
|
||||
}
|
||||
|
||||
this.transport = Ajax.getTransport();
|
||||
|
|
@ -866,7 +866,7 @@ Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), {
|
|||
this.updater = new Ajax.Updater(this.container, this.url, this.options);
|
||||
}
|
||||
});
|
||||
function $() {
|
||||
function $PR() {
|
||||
var results = [], element;
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
element = arguments[i];
|
||||
|
|
@ -878,7 +878,7 @@ function $() {
|
|||
}
|
||||
|
||||
document.getElementsByClassName = function(className, parentElement) {
|
||||
var children = ($(parentElement) || document.body).getElementsByTagName('*');
|
||||
var children = ($PR(parentElement) || document.body).getElementsByTagName('*');
|
||||
return $A(children).inject([], function(elements, child) {
|
||||
if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
|
||||
elements.push(Element.extend(child));
|
||||
|
|
@ -918,42 +918,42 @@ Element.extend.cache = {
|
|||
|
||||
Element.Methods = {
|
||||
visible: function(element) {
|
||||
return $(element).style.display != 'none';
|
||||
return $PR(element).style.display != 'none';
|
||||
},
|
||||
|
||||
toggle: function() {
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
var element = $(arguments[i]);
|
||||
var element = $PR(arguments[i]);
|
||||
Element[Element.visible(element) ? 'hide' : 'show'](element);
|
||||
}
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
var element = $(arguments[i]);
|
||||
var element = $PR(arguments[i]);
|
||||
element.style.display = 'none';
|
||||
}
|
||||
},
|
||||
|
||||
show: function() {
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
var element = $(arguments[i]);
|
||||
var element = $PR(arguments[i]);
|
||||
element.style.display = '';
|
||||
}
|
||||
},
|
||||
|
||||
remove: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
element.parentNode.removeChild(element);
|
||||
},
|
||||
|
||||
update: function(element, html) {
|
||||
$(element).innerHTML = html.stripScripts();
|
||||
$PR(element).innerHTML = html.stripScripts();
|
||||
setTimeout(function() {html.evalScripts()}, 10);
|
||||
},
|
||||
|
||||
replace: function(element, html) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
if (element.outerHTML) {
|
||||
element.outerHTML = html.stripScripts();
|
||||
} else {
|
||||
|
|
@ -966,7 +966,7 @@ Element.Methods = {
|
|||
},
|
||||
|
||||
getHeight: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
return element.offsetHeight;
|
||||
},
|
||||
|
||||
|
|
@ -975,23 +975,23 @@ Element.Methods = {
|
|||
},
|
||||
|
||||
hasClassName: function(element, className) {
|
||||
if (!(element = $(element))) return;
|
||||
if (!(element = $PR(element))) return;
|
||||
return Element.classNames(element).include(className);
|
||||
},
|
||||
|
||||
addClassName: function(element, className) {
|
||||
if (!(element = $(element))) return;
|
||||
if (!(element = $PR(element))) return;
|
||||
return Element.classNames(element).add(className);
|
||||
},
|
||||
|
||||
removeClassName: function(element, className) {
|
||||
if (!(element = $(element))) return;
|
||||
if (!(element = $PR(element))) return;
|
||||
return Element.classNames(element).remove(className);
|
||||
},
|
||||
|
||||
// removes whitespace-only text node children
|
||||
cleanWhitespace: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
for (var i = 0; i < element.childNodes.length; i++) {
|
||||
var node = element.childNodes[i];
|
||||
if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
|
||||
|
|
@ -1000,25 +1000,25 @@ Element.Methods = {
|
|||
},
|
||||
|
||||
empty: function(element) {
|
||||
return $(element).innerHTML.match(/^\s*$/);
|
||||
return $PR(element).innerHTML.match(/^\s*$/);
|
||||
},
|
||||
|
||||
childOf: function(element, ancestor) {
|
||||
element = $(element), ancestor = $(ancestor);
|
||||
element = $PR(element), ancestor = $PR(ancestor);
|
||||
while (element = element.parentNode)
|
||||
if (element == ancestor) return true;
|
||||
return false;
|
||||
},
|
||||
|
||||
scrollTo: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var x = element.x ? element.x : element.offsetLeft,
|
||||
y = element.y ? element.y : element.offsetTop;
|
||||
window.scrollTo(x, y);
|
||||
},
|
||||
|
||||
getStyle: function(element, style) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var value = element.style[style.camelize()];
|
||||
if (!value) {
|
||||
if (document.defaultView && document.defaultView.getComputedStyle) {
|
||||
|
|
@ -1036,13 +1036,13 @@ Element.Methods = {
|
|||
},
|
||||
|
||||
setStyle: function(element, style) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
for (var name in style)
|
||||
element.style[name.camelize()] = style[name];
|
||||
},
|
||||
|
||||
getDimensions: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
if (Element.getStyle(element, 'display') != 'none')
|
||||
return {width: element.offsetWidth, height: element.offsetHeight};
|
||||
|
||||
|
|
@ -1063,7 +1063,7 @@ Element.Methods = {
|
|||
},
|
||||
|
||||
makePositioned: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var pos = Element.getStyle(element, 'position');
|
||||
if (pos == 'static' || !pos) {
|
||||
element._madePositioned = true;
|
||||
|
|
@ -1078,7 +1078,7 @@ Element.Methods = {
|
|||
},
|
||||
|
||||
undoPositioned: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
if (element._madePositioned) {
|
||||
element._madePositioned = undefined;
|
||||
element.style.position =
|
||||
|
|
@ -1090,7 +1090,7 @@ Element.Methods = {
|
|||
},
|
||||
|
||||
makeClipping: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
if (element._overflow) return;
|
||||
element._overflow = element.style.overflow;
|
||||
if ((Element.getStyle(element, 'overflow') || 'visible') != 'hidden')
|
||||
|
|
@ -1098,7 +1098,7 @@ Element.Methods = {
|
|||
},
|
||||
|
||||
undoClipping: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
if (element._overflow) return;
|
||||
element.style.overflow = element._overflow;
|
||||
element._overflow = undefined;
|
||||
|
|
@ -1141,7 +1141,7 @@ Abstract.Insertion = function(adjacency) {
|
|||
|
||||
Abstract.Insertion.prototype = {
|
||||
initialize: function(element, content) {
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
this.content = content.stripScripts();
|
||||
|
||||
if (this.adjacency && this.element.insertAdjacentHTML) {
|
||||
|
|
@ -1233,7 +1233,7 @@ Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), {
|
|||
Element.ClassNames = Class.create();
|
||||
Element.ClassNames.prototype = {
|
||||
initialize: function(element) {
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
},
|
||||
|
||||
_each: function(iterator) {
|
||||
|
|
@ -1346,7 +1346,7 @@ Selector.prototype = {
|
|||
findElements: function(scope) {
|
||||
var element;
|
||||
|
||||
if (element = $(this.params.id))
|
||||
if (element = $PR(this.params.id))
|
||||
if (this.match(element))
|
||||
if (!scope || Element.childOf(element, scope))
|
||||
return [element];
|
||||
|
|
@ -1377,25 +1377,25 @@ function $$() {
|
|||
var Field = {
|
||||
clear: function() {
|
||||
for (var i = 0; i < arguments.length; i++)
|
||||
$(arguments[i]).value = '';
|
||||
$PR(arguments[i]).value = '';
|
||||
},
|
||||
|
||||
focus: function(element) {
|
||||
$(element).focus();
|
||||
$PR(element).focus();
|
||||
},
|
||||
|
||||
present: function() {
|
||||
for (var i = 0; i < arguments.length; i++)
|
||||
if ($(arguments[i]).value == '') return false;
|
||||
if ($PR(arguments[i]).value == '') return false;
|
||||
return true;
|
||||
},
|
||||
|
||||
select: function(element) {
|
||||
$(element).select();
|
||||
$PR(element).select();
|
||||
},
|
||||
|
||||
activate: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
element.focus();
|
||||
if (element.select)
|
||||
element.select();
|
||||
|
|
@ -1406,7 +1406,7 @@ var Field = {
|
|||
|
||||
var Form = {
|
||||
serialize: function(form) {
|
||||
var elements = Form.getElements($(form));
|
||||
var elements = Form.getElements($PR(form));
|
||||
var queryComponents = new Array();
|
||||
|
||||
for (var i = 0; i < elements.length; i++) {
|
||||
|
|
@ -1419,7 +1419,7 @@ var Form = {
|
|||
},
|
||||
|
||||
getElements: function(form) {
|
||||
form = $(form);
|
||||
form = $PR(form);
|
||||
var elements = new Array();
|
||||
|
||||
for (var tagName in Form.Element.Serializers) {
|
||||
|
|
@ -1431,7 +1431,7 @@ var Form = {
|
|||
},
|
||||
|
||||
getInputs: function(form, typeName, name) {
|
||||
form = $(form);
|
||||
form = $PR(form);
|
||||
var inputs = form.getElementsByTagName('input');
|
||||
|
||||
if (!typeName && !name)
|
||||
|
|
@ -1478,13 +1478,13 @@ var Form = {
|
|||
},
|
||||
|
||||
reset: function(form) {
|
||||
$(form).reset();
|
||||
$PR(form).reset();
|
||||
}
|
||||
}
|
||||
|
||||
Form.Element = {
|
||||
serialize: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var method = element.tagName.toLowerCase();
|
||||
var parameter = Form.Element.Serializers[method](element);
|
||||
|
||||
|
|
@ -1502,7 +1502,7 @@ Form.Element = {
|
|||
},
|
||||
|
||||
getValue: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
var method = element.tagName.toLowerCase();
|
||||
var parameter = Form.Element.Serializers[method](element);
|
||||
|
||||
|
|
@ -1570,7 +1570,7 @@ Abstract.TimedObserver = function() {}
|
|||
Abstract.TimedObserver.prototype = {
|
||||
initialize: function(element, frequency, callback) {
|
||||
this.frequency = frequency;
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
this.callback = callback;
|
||||
|
||||
this.lastValue = this.getValue();
|
||||
|
|
@ -1609,7 +1609,7 @@ Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
|
|||
Abstract.EventObserver = function() {}
|
||||
Abstract.EventObserver.prototype = {
|
||||
initialize: function(element, callback) {
|
||||
this.element = $(element);
|
||||
this.element = $PR(element);
|
||||
this.callback = callback;
|
||||
|
||||
this.lastValue = this.getValue();
|
||||
|
|
@ -1742,7 +1742,7 @@ Object.extend(Event, {
|
|||
},
|
||||
|
||||
observe: function(element, name, observer, useCapture) {
|
||||
var element = $(element);
|
||||
var element = $PR(element);
|
||||
useCapture = useCapture || false;
|
||||
|
||||
if (name == 'keypress' &&
|
||||
|
|
@ -1754,7 +1754,7 @@ Object.extend(Event, {
|
|||
},
|
||||
|
||||
stopObserving: function(element, name, observer, useCapture) {
|
||||
var element = $(element);
|
||||
var element = $PR(element);
|
||||
useCapture = useCapture || false;
|
||||
|
||||
if (name == 'keypress' &&
|
||||
|
|
@ -1876,8 +1876,8 @@ var Position = {
|
|||
},
|
||||
|
||||
clone: function(source, target) {
|
||||
source = $(source);
|
||||
target = $(target);
|
||||
source = $PR(source);
|
||||
target = $PR(target);
|
||||
target.style.position = 'absolute';
|
||||
var offsets = this.cumulativeOffset(source);
|
||||
target.style.top = offsets[1] + 'px';
|
||||
|
|
@ -1920,11 +1920,11 @@ var Position = {
|
|||
}, arguments[2] || {})
|
||||
|
||||
// find page position of source
|
||||
source = $(source);
|
||||
source = $PR(source);
|
||||
var p = Position.page(source);
|
||||
|
||||
// find coordinate system to use
|
||||
target = $(target);
|
||||
target = $PR(target);
|
||||
var delta = [0, 0];
|
||||
var parent = null;
|
||||
// delta [0,0] will do fine with position: fixed elements,
|
||||
|
|
@ -1948,7 +1948,7 @@ var Position = {
|
|||
},
|
||||
|
||||
absolutize: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
if (element.style.position == 'absolute') return;
|
||||
Position.prepare();
|
||||
|
||||
|
|
@ -1971,7 +1971,7 @@ var Position = {
|
|||
},
|
||||
|
||||
relativize: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
if (element.style.position == 'relative') return;
|
||||
Position.prepare();
|
||||
|
||||
|
|
@ -2003,4 +2003,4 @@ if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {
|
|||
|
||||
return [valueL, valueT];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,12 +35,12 @@ Control.Slider.prototype = {
|
|||
var slider = this;
|
||||
|
||||
if(handle instanceof Array) {
|
||||
this.handles = handle.collect( function(e) { return $(e) });
|
||||
this.handles = handle.collect( function(e) { return $PR(e) });
|
||||
} else {
|
||||
this.handles = [$(handle)];
|
||||
this.handles = [$PR(handle)];
|
||||
}
|
||||
|
||||
this.track = $(track);
|
||||
this.track = $PR(track);
|
||||
this.options = options || {};
|
||||
|
||||
this.axis = this.options.axis || 'horizontal';
|
||||
|
|
@ -50,9 +50,9 @@ Control.Slider.prototype = {
|
|||
|
||||
this.value = 0; // assure backwards compat
|
||||
this.values = this.handles.map( function() { return 0 });
|
||||
this.spans = this.options.spans ? this.options.spans.map(function(s){ return $(s) }) : false;
|
||||
this.options.startSpan = $(this.options.startSpan || null);
|
||||
this.options.endSpan = $(this.options.endSpan || null);
|
||||
this.spans = this.options.spans ? this.options.spans.map(function(s){ return $PR(s) }) : false;
|
||||
this.options.startSpan = $PR(this.options.startSpan || null);
|
||||
this.options.endSpan = $PR(this.options.endSpan || null);
|
||||
|
||||
this.restricted = this.options.restricted || false;
|
||||
|
||||
|
|
@ -280,4 +280,4 @@ Control.Slider.prototype = {
|
|||
this.options.onChange(this.values.length>1 ? this.values : this.value, this);
|
||||
this.event = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ Event.simulateMouse = function(element, eventName) {
|
|||
var oEvent = document.createEvent("MouseEvents");
|
||||
oEvent.initMouseEvent(eventName, true, true, document.defaultView,
|
||||
options.buttons, options.pointerX, options.pointerY, options.pointerX, options.pointerY,
|
||||
false, false, false, false, 0, $(element));
|
||||
false, false, false, false, 0, $PR(element));
|
||||
|
||||
if(this.mark) Element.remove(this.mark);
|
||||
this.mark = document.createElement('div');
|
||||
|
|
@ -49,7 +49,7 @@ Event.simulateMouse = function(element, eventName) {
|
|||
if(this.step)
|
||||
alert('['+new Date().getTime().toString()+'] '+eventName+'/'+Test.Unit.inspect(options));
|
||||
|
||||
$(element).dispatchEvent(oEvent);
|
||||
$PR(element).dispatchEvent(oEvent);
|
||||
};
|
||||
|
||||
// Note: Due to a fix in Firefox 1.0.5/6 that probably fixed "too much", this doesn't work in 1.0.6 or DP2.
|
||||
|
|
@ -69,7 +69,7 @@ Event.simulateKey = function(element, eventName) {
|
|||
oEvent.initKeyEvent(eventName, true, true, window,
|
||||
options.ctrlKey, options.altKey, options.shiftKey, options.metaKey,
|
||||
options.keyCode, options.charCode );
|
||||
$(element).dispatchEvent(oEvent);
|
||||
$PR(element).dispatchEvent(oEvent);
|
||||
};
|
||||
|
||||
Event.simulateKeys = function(element, command) {
|
||||
|
|
@ -87,7 +87,7 @@ Test.Unit.inspect = Object.inspect;
|
|||
Test.Unit.Logger = Class.create();
|
||||
Test.Unit.Logger.prototype = {
|
||||
initialize: function(log) {
|
||||
this.log = $(log);
|
||||
this.log = $PR(log);
|
||||
if (this.log) {
|
||||
this._createLogTable();
|
||||
}
|
||||
|
|
@ -126,8 +126,8 @@ Test.Unit.Logger.prototype = {
|
|||
'<thead><tr><th>Status</th><th>Test</th><th>Message</th></tr></thead>' +
|
||||
'<tbody id="loglines"></tbody>' +
|
||||
'</table>';
|
||||
this.logsummary = $('logsummary')
|
||||
this.loglines = $('loglines');
|
||||
this.logsummary = $PR('logsummary')
|
||||
this.loglines = $PR('loglines');
|
||||
},
|
||||
_toHTML: function(txt) {
|
||||
return txt.escapeHTML().replace(/\n/g,"<br/>");
|
||||
|
|
@ -142,7 +142,7 @@ Test.Unit.Runner.prototype = {
|
|||
}, arguments[1] || {});
|
||||
this.options.resultsURL = this.parseResultsURLQueryParameter();
|
||||
if (this.options.testLog) {
|
||||
this.options.testLog = $(this.options.testLog) || null;
|
||||
this.options.testLog = $PR(this.options.testLog) || null;
|
||||
}
|
||||
if(this.options.tests) {
|
||||
this.tests = [];
|
||||
|
|
@ -326,7 +326,7 @@ Test.Unit.Assertions.prototype = {
|
|||
catch(e) { this.error(e); }
|
||||
},
|
||||
_isVisible: function(element) {
|
||||
element = $(element);
|
||||
element = $PR(element);
|
||||
if(!element.parentNode) return true;
|
||||
this.assertNotNull(element);
|
||||
if(element.style && Element.getStyle(element, 'display') == 'none')
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@
|
|||
|
||||
// setup the callback function
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
}
|
||||
|
||||
// basic example
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@
|
|||
|
||||
// setup the callback function
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
}
|
||||
|
||||
// Absolute positioned example
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@
|
|||
|
||||
// setup the callback function
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
}
|
||||
|
||||
// float example
|
||||
|
|
@ -30,12 +30,12 @@
|
|||
'testFloatImage',
|
||||
{
|
||||
onEndCrop: function( coords, dimensions ) {
|
||||
$( 'floatX1' ).value = coords.x1;
|
||||
$( 'floatY1' ).value = coords.y1;
|
||||
$( 'floatX2' ).value = coords.x2;
|
||||
$( 'floatY2' ).value = coords.y2;
|
||||
$( 'floatWidth' ).value = dimensions.width;
|
||||
$( 'floatHeight' ).value = dimensions.height;
|
||||
$PR( 'floatX1' ).value = coords.x1;
|
||||
$PR( 'floatY1' ).value = coords.y1;
|
||||
$PR( 'floatX2' ).value = coords.x2;
|
||||
$PR( 'floatY2' ).value = coords.y2;
|
||||
$PR( 'floatWidth' ).value = dimensions.width;
|
||||
$PR( 'floatHeight' ).value = dimensions.height;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@
|
|||
|
||||
// setup the callback function
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
}
|
||||
|
||||
// relative example
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@
|
|||
|
||||
// setup the callback function
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
}
|
||||
|
||||
// basic example
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@
|
|||
|
||||
// setup the callback function
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
}
|
||||
|
||||
// basic example
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
<script type="text/javascript" charset="utf-8">
|
||||
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -55,9 +55,9 @@
|
|||
* @return void
|
||||
*/
|
||||
setImage: function( imgSrc, w, h ) {
|
||||
$( 'testImage' ).src = imgSrc;
|
||||
$( 'testImage' ).width = w;
|
||||
$( 'testImage' ).height = h;
|
||||
$PR( 'testImage' ).src = imgSrc;
|
||||
$PR( 'testImage' ).width = w;
|
||||
$PR( 'testImage' ).height = h;
|
||||
this.attachCropper();
|
||||
},
|
||||
|
||||
|
|
@ -98,12 +98,12 @@
|
|||
|
||||
// setup the callback function
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
}
|
||||
|
||||
// basic example
|
||||
|
|
@ -112,9 +112,9 @@
|
|||
'load',
|
||||
function() {
|
||||
CropImageManager.init();
|
||||
Event.observe( $('removeCropper'), 'click', CropImageManager.removeCropper.bindAsEventListener( CropImageManager ), false );
|
||||
Event.observe( $('resetCropper'), 'click', CropImageManager.resetCropper.bindAsEventListener( CropImageManager ), false );
|
||||
Event.observe( $('imageChoice'), 'change', CropImageManager.onChange.bindAsEventListener( CropImageManager ), false );
|
||||
Event.observe( $PR('removeCropper'), 'click', CropImageManager.removeCropper.bindAsEventListener( CropImageManager ), false );
|
||||
Event.observe( $PR('resetCropper'), 'click', CropImageManager.resetCropper.bindAsEventListener( CropImageManager ), false );
|
||||
Event.observe( $PR('imageChoice'), 'change', CropImageManager.onChange.bindAsEventListener( CropImageManager ), false );
|
||||
}
|
||||
);
|
||||
|
||||
|
|
@ -168,7 +168,7 @@
|
|||
|
||||
<p>
|
||||
<input type="button" id="removeCropper" value="Remove Cropper" />
|
||||
<input type="button" id="resetCropper" value="Reset Cropper" />
|
||||
<input type="button" id="resetCropper" value="Reset Cropper" />
|
||||
</p>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
<script type="text/javascript" charset="utf-8">
|
||||
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
}
|
||||
|
||||
// with a supplied ratio
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
<script type="text/javascript" charset="utf-8">
|
||||
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
}
|
||||
|
||||
// example with minimum dimensions
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
<script type="text/javascript" charset="utf-8">
|
||||
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
}
|
||||
|
||||
// example with minimum dimensions
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
<script type="text/javascript" charset="utf-8">
|
||||
|
||||
function onEndCrop( coords, dimensions ) {
|
||||
$( 'x1' ).value = coords.x1;
|
||||
$( 'y1' ).value = coords.y1;
|
||||
$( 'x2' ).value = coords.x2;
|
||||
$( 'y2' ).value = coords.y2;
|
||||
$( 'width' ).value = dimensions.width;
|
||||
$( 'height' ).value = dimensions.height;
|
||||
$PR( 'x1' ).value = coords.x1;
|
||||
$PR( 'y1' ).value = coords.y1;
|
||||
$PR( 'x2' ).value = coords.x2;
|
||||
$PR( 'y2' ).value = coords.y2;
|
||||
$PR( 'width' ).value = dimensions.width;
|
||||
$PR( 'height' ).value = dimensions.height;
|
||||
}
|
||||
|
||||
// example with a preview of crop results, must have minimumm dimensions
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue