Bug 21127: Remove jqTransform jQuery plugin from the OPAC
This patch removes the jqTransform jQuery plugin from the OPAC. It was added for the CCSR theme, which no longer exists. http://git.koha-community.org/gitweb/?p=koha.git;a=commit;h=c7c2e9efbde273f2b77786316b7502a8847072bd There will be no visible changes to the OPAC after applying the patch. Search the Koha codebase for references to jqTransform and confirm that none exist. Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This commit is contained in:
parent
030047da42
commit
83e515820a
1 changed files with 0 additions and 366 deletions
|
@ -1,366 +0,0 @@
|
|||
/*
|
||||
*
|
||||
* jqTransform
|
||||
* by mathieu vilaplana mvilaplana@dfc-e.com
|
||||
* Designer ghyslain armand garmand@dfc-e.com
|
||||
*
|
||||
*
|
||||
* Version 1.0 25.09.08
|
||||
* Version 1.1 06.08.09
|
||||
* Add event click on Checkbox and Radio
|
||||
* Auto calculate the size of a select element
|
||||
* Can now, disabled the elements
|
||||
* Correct bug in ff if click on select (overflow=hidden)
|
||||
* No need any more preloading !!
|
||||
*
|
||||
******************************************** */
|
||||
|
||||
(function($){
|
||||
var defaultOptions = {preloadImg:true};
|
||||
var jqTransformImgPreloaded = false;
|
||||
|
||||
var jqTransformPreloadHoverFocusImg = function(strImgUrl) {
|
||||
//guillemets to remove for ie
|
||||
strImgUrl = strImgUrl.replace(/^url\((.*)\)/,'$1').replace(/^\"(.*)\"$/,'$1');
|
||||
var imgHover = new Image();
|
||||
imgHover.src = strImgUrl.replace(/\.([a-zA-Z]*)$/,'-hover.$1');
|
||||
var imgFocus = new Image();
|
||||
imgFocus.src = strImgUrl.replace(/\.([a-zA-Z]*)$/,'-focus.$1');
|
||||
};
|
||||
|
||||
|
||||
/***************************
|
||||
Labels
|
||||
***************************/
|
||||
var jqTransformGetLabel = function(objfield){
|
||||
var selfForm = $(objfield.get(0).form);
|
||||
var oLabel = objfield.next();
|
||||
if(!oLabel.is('label')) {
|
||||
oLabel = objfield.prev();
|
||||
if(oLabel.is('label')){
|
||||
var inputname = objfield.attr('id');
|
||||
if(inputname){
|
||||
oLabel = selfForm.find('label[for="'+inputname+'"]');
|
||||
}
|
||||
}
|
||||
}
|
||||
if(oLabel.is('label')){return oLabel.css('cursor','pointer');}
|
||||
return false;
|
||||
};
|
||||
|
||||
/* Hide all open selects */
|
||||
var jqTransformHideSelect = function(oTarget){
|
||||
var ulVisible = $('.jqTransformSelectWrapper ul:visible');
|
||||
ulVisible.each(function(){
|
||||
var oSelect = $(this).parents(".jqTransformSelectWrapper:first").find("select").get(0);
|
||||
//do not hide if click on the label object associated to the select
|
||||
if( !(oTarget && oSelect.oLabel && oSelect.oLabel.get(0) == oTarget.get(0)) ){$(this).hide();}
|
||||
});
|
||||
};
|
||||
/* Check for an external click */
|
||||
var jqTransformCheckExternalClick = function(event) {
|
||||
if ($(event.target).parents('.jqTransformSelectWrapper').length === 0) { jqTransformHideSelect($(event.target)); }
|
||||
};
|
||||
|
||||
/* Apply document listener */
|
||||
var jqTransformAddDocumentListener = function (){
|
||||
$(document).mousedown(jqTransformCheckExternalClick);
|
||||
};
|
||||
|
||||
/* Add a new handler for the reset action */
|
||||
var jqTransformReset = function(f){
|
||||
var sel;
|
||||
$('.jqTransformSelectWrapper select', f).each(function(){sel = (this.selectedIndex<0) ? 0 : this.selectedIndex; $('ul', $(this).parent()).each(function(){$('a:eq('+ sel +')', this).click();});});
|
||||
$('a.jqTransformCheckbox, a.jqTransformRadio', f).removeClass('jqTransformChecked');
|
||||
$('input:checkbox, input:radio', f).each(function(){if(this.checked){$('a', $(this).parent()).addClass('jqTransformChecked');}});
|
||||
};
|
||||
|
||||
/***************************
|
||||
Buttons
|
||||
***************************/
|
||||
$.fn.jqTransInputButton = function(){
|
||||
return this.each(function(){
|
||||
var newBtn = $('<button id="'+ this.id +'" name="'+ this.name +'" type="'+ this.type +'" class="'+ this.className +' jqTransformButton"><span><span>'+ $(this).attr('value') +'</span></span>')
|
||||
.hover(function(){newBtn.addClass('jqTransformButton_hover');},function(){newBtn.removeClass('jqTransformButton_hover')})
|
||||
.mousedown(function(){newBtn.addClass('jqTransformButton_click')})
|
||||
.mouseup(function(){newBtn.removeClass('jqTransformButton_click')})
|
||||
;
|
||||
$(this).replaceWith(newBtn);
|
||||
});
|
||||
};
|
||||
|
||||
/***************************
|
||||
Text Fields
|
||||
***************************/
|
||||
$.fn.jqTransInputText = function(){
|
||||
return this.each(function(){
|
||||
var $input = $(this);
|
||||
|
||||
if($input.hasClass('jqtranformdone') || !$input.is('input')) {return;}
|
||||
$input.addClass('jqtranformdone');
|
||||
|
||||
var oLabel = jqTransformGetLabel($(this));
|
||||
oLabel && oLabel.bind('click',function(){$input.focus();});
|
||||
|
||||
var inputSize=$input.width();
|
||||
if($input.attr('size')){
|
||||
inputSize = $input.attr('size')*10;
|
||||
$input.css('width',inputSize);
|
||||
}
|
||||
|
||||
$input.addClass("jqTransformInput").wrap('<div class="jqTransformInputWrapper"><div class="jqTransformInputInner"><div></div></div></div>');
|
||||
var $wrapper = $input.parent().parent().parent();
|
||||
$wrapper.css("width", inputSize+10);
|
||||
$input
|
||||
.focus(function(){$wrapper.addClass("jqTransformInputWrapper_focus");})
|
||||
.blur(function(){$wrapper.removeClass("jqTransformInputWrapper_focus");})
|
||||
.hover(function(){$wrapper.addClass("jqTransformInputWrapper_hover");},function(){$wrapper.removeClass("jqTransformInputWrapper_hover");})
|
||||
;
|
||||
|
||||
/* If this is safari we need to add an extra class */
|
||||
$.browser.safari && $wrapper.addClass('jqTransformSafari');
|
||||
$.browser.safari && $input.css('width',$wrapper.width()+16);
|
||||
this.wrapper = $wrapper;
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
/***************************
|
||||
Check Boxes
|
||||
***************************/
|
||||
$.fn.jqTransCheckBox = function(){
|
||||
return this.each(function(){
|
||||
if($(this).hasClass('jqTransformHidden')) {return;}
|
||||
|
||||
var $input = $(this);
|
||||
var inputSelf = this;
|
||||
|
||||
//set the click on the label
|
||||
var oLabel=jqTransformGetLabel($input);
|
||||
oLabel && oLabel.click(function(){aLink.trigger('click');});
|
||||
|
||||
var aLink = $('<a href="#" class="jqTransformCheckbox"></a>');
|
||||
//wrap and add the link
|
||||
$input.addClass('jqTransformHidden').wrap('<span class="jqTransformCheckboxWrapper"></span>').parent().prepend(aLink);
|
||||
//on change, change the class of the link
|
||||
$input.change(function(){
|
||||
this.checked && aLink.addClass('jqTransformChecked') || aLink.removeClass('jqTransformChecked');
|
||||
return true;
|
||||
});
|
||||
// Click Handler, trigger the click and change event on the input
|
||||
aLink.click(function(){
|
||||
//do nothing if the original input is disabled
|
||||
if($input.attr('disabled')){return false;}
|
||||
//trigger the envents on the input object
|
||||
$input.trigger('click').trigger("change");
|
||||
return false;
|
||||
});
|
||||
|
||||
// set the default state
|
||||
this.checked && aLink.addClass('jqTransformChecked');
|
||||
});
|
||||
};
|
||||
/***************************
|
||||
Radio Buttons
|
||||
***************************/
|
||||
$.fn.jqTransRadio = function(){
|
||||
return this.each(function(){
|
||||
if($(this).hasClass('jqTransformHidden')) {return;}
|
||||
|
||||
var $input = $(this);
|
||||
var inputSelf = this;
|
||||
|
||||
oLabel = jqTransformGetLabel($input);
|
||||
oLabel && oLabel.click(function(){aLink.trigger('click');});
|
||||
|
||||
var aLink = $('<a href="#" class="jqTransformRadio" rel="'+ this.name +'"></a>');
|
||||
$input.addClass('jqTransformHidden').wrap('<span class="jqTransformRadioWrapper"></span>').parent().prepend(aLink);
|
||||
|
||||
$input.change(function(){
|
||||
inputSelf.checked && aLink.addClass('jqTransformChecked') || aLink.removeClass('jqTransformChecked');
|
||||
return true;
|
||||
});
|
||||
// Click Handler
|
||||
aLink.click(function(){
|
||||
if($input.attr('disabled')){return false;}
|
||||
$input.trigger('click').trigger('change');
|
||||
|
||||
// uncheck all others of same name input radio elements
|
||||
$('input[name="'+$input.attr('name')+'"]',inputSelf.form).not($input).each(function(){
|
||||
$(this).attr('type')=='radio' && $(this).trigger('change');
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
// set the default state
|
||||
inputSelf.checked && aLink.addClass('jqTransformChecked');
|
||||
});
|
||||
};
|
||||
|
||||
/***************************
|
||||
TextArea
|
||||
***************************/
|
||||
$.fn.jqTransTextarea = function(){
|
||||
return this.each(function(){
|
||||
var textarea = $(this);
|
||||
|
||||
if(textarea.hasClass('jqtransformdone')) {return;}
|
||||
textarea.addClass('jqtransformdone');
|
||||
|
||||
oLabel = jqTransformGetLabel(textarea);
|
||||
oLabel && oLabel.click(function(){textarea.focus();});
|
||||
|
||||
var strTable = '<table cellspacing="0" cellpadding="0" border="0" class="jqTransformTextarea">';
|
||||
strTable +='<tr><td id="jqTransformTextarea-tl"></td><td id="jqTransformTextarea-tm"></td><td id="jqTransformTextarea-tr"></td></tr>';
|
||||
strTable +='<tr><td id="jqTransformTextarea-ml"> </td><td id="jqTransformTextarea-mm"><div></div></td><td id="jqTransformTextarea-mr"> </td></tr>';
|
||||
strTable +='<tr><td id="jqTransformTextarea-bl"></td><td id="jqTransformTextarea-bm"></td><td id="jqTransformTextarea-br"></td></tr>';
|
||||
strTable +='</table>';
|
||||
var oTable = $(strTable)
|
||||
.insertAfter(textarea)
|
||||
.hover(function(){
|
||||
!oTable.hasClass('jqTransformTextarea-focus') && oTable.addClass('jqTransformTextarea-hover');
|
||||
},function(){
|
||||
oTable.removeClass('jqTransformTextarea-hover');
|
||||
})
|
||||
;
|
||||
|
||||
textarea
|
||||
.focus(function(){oTable.removeClass('jqTransformTextarea-hover').addClass('jqTransformTextarea-focus');})
|
||||
.blur(function(){oTable.removeClass('jqTransformTextarea-focus');})
|
||||
.appendTo($('#jqTransformTextarea-mm div',oTable))
|
||||
;
|
||||
this.oTable = oTable;
|
||||
if($.browser.safari){
|
||||
$('#jqTransformTextarea-mm',oTable)
|
||||
.addClass('jqTransformSafariTextarea')
|
||||
.find('div')
|
||||
.css('height',textarea.height())
|
||||
.css('width',textarea.width())
|
||||
;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/***************************
|
||||
Select
|
||||
***************************/
|
||||
$.fn.jqTransSelect = function(){
|
||||
return this.each(function(index){
|
||||
var $select = $(this);
|
||||
|
||||
if($select.hasClass('jqTransformHidden')) {return;}
|
||||
if($select.attr('multiple')) {return;}
|
||||
|
||||
var oLabel = jqTransformGetLabel($select);
|
||||
/* First thing we do is Wrap it */
|
||||
var $wrapper = $select
|
||||
.addClass('jqTransformHidden')
|
||||
.wrap('<div class="jqTransformSelectWrapper"></div>')
|
||||
.parent()
|
||||
.css({zIndex: 1000-index})
|
||||
;
|
||||
|
||||
/* Now add the html for the select */
|
||||
$wrapper.prepend('<div><span></span><a href="#" class="jqTransformSelectOpen"></a></div><ul></ul>');
|
||||
var $ul = $('ul', $wrapper).css('width',$select.width()).hide();
|
||||
/* Now we add the options */
|
||||
$('option', this).each(function(i){
|
||||
var oLi = $('<li><a href="#" index="'+ i +'">'+ $(this).html() +'</a></li>');
|
||||
$ul.append(oLi);
|
||||
});
|
||||
|
||||
/* Add click handler to the a */
|
||||
$ul.find('a').click(function(){
|
||||
$('a.selected', $wrapper).removeClass('selected');
|
||||
$(this).addClass('selected');
|
||||
/* Fire the onchange event */
|
||||
if ($select[0].selectedIndex != $(this).attr('index') && $select[0].onchange) { $select[0].selectedIndex = $(this).attr('index'); $select[0].onchange(); }
|
||||
$select[0].selectedIndex = $(this).attr('index');
|
||||
$('span:eq(0)', $wrapper).html($(this).html());
|
||||
$ul.hide();
|
||||
return false;
|
||||
});
|
||||
/* Set the default */
|
||||
$('a:eq('+ this.selectedIndex +')', $ul).click();
|
||||
$('span:first', $wrapper).click(function(){$("a.jqTransformSelectOpen",$wrapper).trigger('click');});
|
||||
oLabel && oLabel.click(function(){$("a.jqTransformSelectOpen",$wrapper).trigger('click');});
|
||||
this.oLabel = oLabel;
|
||||
|
||||
/* Apply the click handler to the Open */
|
||||
var oLinkOpen = $('a.jqTransformSelectOpen', $wrapper)
|
||||
.click(function(){
|
||||
//Check if box is already open to still allow toggle, but close all other selects
|
||||
if( $ul.css('display') == 'none' ) {jqTransformHideSelect();}
|
||||
if($select.attr('disabled')){return false;}
|
||||
|
||||
$ul.slideToggle('fast', function(){
|
||||
var offSet = ($('a.selected', $ul).offset().top - $ul.offset().top);
|
||||
$ul.animate({scrollTop: offSet});
|
||||
});
|
||||
return false;
|
||||
})
|
||||
;
|
||||
|
||||
// Set the new width
|
||||
var iSelectWidth = $select.outerWidth();
|
||||
var oSpan = $('span:first',$wrapper);
|
||||
var newWidth = (iSelectWidth > oSpan.innerWidth())?iSelectWidth+oLinkOpen.outerWidth():$wrapper.width();
|
||||
$wrapper.css('width',newWidth);
|
||||
$ul.css('width',newWidth-2);
|
||||
oSpan.css({width:iSelectWidth});
|
||||
|
||||
// Calculate the height if necessary, less elements that the default height
|
||||
//show the ul to calculate the block, if ul is not displayed li height value is 0
|
||||
$ul.css({display:'block',visibility:'hidden'});
|
||||
var iSelectHeight = ($('li',$ul).length)*($('li:first',$ul).height());//+1 else bug ff
|
||||
(iSelectHeight < $ul.height()) && $ul.css({height:iSelectHeight,'overflow':'hidden'});//hidden else bug with ff
|
||||
$ul.css({display:'none',visibility:'visible'});
|
||||
|
||||
});
|
||||
};
|
||||
$.fn.jqTransform = function(options){
|
||||
var opt = $.extend({},defaultOptions,options);
|
||||
|
||||
/* each form */
|
||||
return this.each(function(){
|
||||
var selfForm = $(this);
|
||||
if(selfForm.hasClass('jqtransformdone')) {return;}
|
||||
selfForm.addClass('jqtransformdone');
|
||||
|
||||
//$('input:submit, input:reset, input[type="button"]', this).jqTransInputButton();
|
||||
//$('input:text, input:password', this).jqTransInputText();
|
||||
//$('input:checkbox', this).jqTransCheckBox();
|
||||
//$('input:radio', this).jqTransRadio();
|
||||
//$('textarea', this).jqTransTextarea();
|
||||
|
||||
if( $('select', this).jqTransSelect().length > 0 ){jqTransformAddDocumentListener();}
|
||||
selfForm.bind('reset',function(){var action = function(){jqTransformReset(this);}; window.setTimeout(action, 10);});
|
||||
|
||||
//preloading dont needed anymore since normal, focus and hover image are the same one
|
||||
/*if(opt.preloadImg && !jqTransformImgPreloaded){
|
||||
jqTransformImgPreloaded = true;
|
||||
var oInputText = $('input:text:first', selfForm);
|
||||
if(oInputText.length > 0){
|
||||
//pour ie on eleve les ""
|
||||
var strWrapperImgUrl = oInputText.get(0).wrapper.css('background-image');
|
||||
jqTransformPreloadHoverFocusImg(strWrapperImgUrl);
|
||||
var strInnerImgUrl = $('div.jqTransformInputInner',$(oInputText.get(0).wrapper)).css('background-image');
|
||||
jqTransformPreloadHoverFocusImg(strInnerImgUrl);
|
||||
}
|
||||
|
||||
var oTextarea = $('textarea',selfForm);
|
||||
if(oTextarea.length > 0){
|
||||
var oTable = oTextarea.get(0).oTable;
|
||||
$('td',oTable).each(function(){
|
||||
var strImgBack = $(this).css('background-image');
|
||||
jqTransformPreloadHoverFocusImg(strImgBack);
|
||||
});
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
}); /* End Form each */
|
||||
|
||||
};/* End the Plugin */
|
||||
|
||||
})(jQuery);
|
Loading…
Reference in a new issue