svgedit/editor/jgraduate/jquery.jgraduate.min.js

1 line
23 KiB
JavaScript
Raw Normal View History

!function(){var ns={svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink"};window.console||(window.console=new function(){this.log=function(str){},this.dir=function(str){}}),$.jGraduate={Paint:function(opt){var options=opt||{};if(this.alpha=isNaN(options.alpha)?100:options.alpha,options.copy)switch(this.type=options.copy.type,this.alpha=options.copy.alpha,this.solidColor=null,this.linearGradient=null,this.radialGradient=null,this.type){case"none":break;case"solidColor":this.solidColor=options.copy.solidColor;break;case"linearGradient":this.linearGradient=options.copy.linearGradient.cloneNode(!0);break;case"radialGradient":this.radialGradient=options.copy.radialGradient.cloneNode(!0)}else options.linearGradient?(this.type="linearGradient",this.solidColor=null,this.radialGradient=null,this.linearGradient=options.linearGradient.cloneNode(!0)):options.radialGradient?(this.type="radialGradient",this.solidColor=null,this.linearGradient=null,this.radialGradient=options.radialGradient.cloneNode(!0)):options.solidColor?(this.type="solidColor",this.solidColor=options.solidColor):(this.type="none",this.solidColor=null,this.linearGradient=null,this.radialGradient=null)}},jQuery.fn.jGraduateDefaults={paint:new $.jGraduate.Paint,window:{pickerTitle:"Drag markers to pick a paint"},images:{clientPath:"images/"},newstop:"inverse"};var isGecko=navigator.userAgent.indexOf("Gecko/")>=0;function mkElem(name,attrs,newparent){var elem=document.createElementNS(ns.svg,name);return function(elem,attrs){if(isGecko)for(var aname in attrs)elem.setAttribute(aname,attrs[aname]);else for(var aname in attrs){var val=attrs[aname],prop=elem[aname];prop&&"SVGLength"===prop.constructor?prop.baseVal.value=val:elem.setAttribute(aname,val)}}(elem,attrs),newparent&&newparent.appendChild(elem),elem}jQuery.fn.jGraduate=function(options){var $arguments=arguments;return this.each(function(){var $this=$(this),$settings=$.extend(!0,{},jQuery.fn.jGraduateDefaults,options),id=$this.attr("id"),idref="#"+$this.attr("id")+" ";if(idref){var okClicked=function(){switch($this.paint.type){case"radialGradient":$this.paint.linearGradient=null;break;case"linearGradient":$this.paint.radialGradient=null;break;case"solidColor":$this.paint.radialGradient=$this.paint.linearGradient=null}$.isFunction($this.okCallback)&&$this.okCallback($this.paint),$this.hide()},cancelClicked=function(){$.isFunction($this.cancelCallback)&&$this.cancelCallback(),$this.hide()};$.extend(!0,$this,{paint:new $.jGraduate.Paint({copy:$settings.paint}),okCallback:$.isFunction($arguments[1])&&$arguments[1]||null,cancelCallback:$.isFunction($arguments[2])&&$arguments[2]||null});var color=null,$win=$(window);"none"===$this.paint.type&&($this.paint=$.jGraduate.Paint({solidColor:"ffffff"})),$this.addClass("jGraduate_Picker"),$this.html('<ul class="jGraduate_tabs"><li class="jGraduate_tab_color jGraduate_tab_current" data-type="col">Solid Color</li><li class="jGraduate_tab_lingrad" data-type="lg">Linear Gradient</li><li class="jGraduate_tab_radgrad" data-type="rg">Radial Gradient</li></ul><div class="jGraduate_colPick"></div><div class="jGraduate_gradPick"></div><div class="jGraduate_LightBox"></div><div id="'+id+'_jGraduate_stopPicker" class="jGraduate_stopPicker"></div>');var colPicker=$(idref+"> .jGraduate_colPick"),gradPicker=$(idref+"> .jGraduate_gradPick");gradPicker.html('<div id="'+id+'_jGraduate_Swatch" class="jGraduate_Swatch"><h2 class="jGraduate_Title">'+$settings.window.pickerTitle+'</h2><div id="'+id+'_jGraduate_GradContainer" class="jGraduate_GradContainer"></div><div id="'+id+'_jGraduate_StopSlider" class="jGraduate_StopSlider"></div></div><div class="jGraduate_Form jGraduate_Points jGraduate_lg_field"><div class="jGraduate_StopSection"><label class="jGraduate_Form_Heading">Begin Point</label><div class="jGraduate_Form_Section"><label>x:</label><input type="text" id="'+id+'_jGraduate_x1" size="3" title="Enter starting x value between 0.0 and 1.0"/><label>y:</label><input type="text" id="'+id+'_jGraduate_y1" size="3" title="Enter starting y value between 0.0 and 1.0"/></div></div><di