623f3a2c84
First draft introducing solr into Koha :-) List of files : $ tree t/searchengine/ t/searchengine |-- 000_conn | `-- conn.t |-- 001_search | `-- search_base.t |-- 002_index | `-- index_base.t |-- 003_query | `-- buildquery.t |-- 004_config | `-- load_config.t `-- indexes.yaml just do `prove -r t/searchengine/**/*.t` t/lib |-- Mocks | `-- Context.pm `-- Mocks.pm provide a mock to SearchEngine syspref (set_zebra and set_solr). $ tree Koha/SearchEngine Koha/SearchEngine |-- Config.pm |-- ConfigRole.pm |-- FacetsBuilder.pm |-- FacetsBuilderRole.pm |-- Index.pm |-- IndexRole.pm |-- QueryBuilder.pm |-- QueryBuilderRole.pm |-- Search.pm |-- SearchRole.pm |-- Solr | |-- Config.pm | |-- FacetsBuilder.pm | |-- Index.pm | |-- QueryBuilder.pm | `-- Search.pm |-- Solr.pm |-- Zebra | |-- QueryBuilder.pm | `-- Search.pm `-- Zebra.pm How to install and configure Solr ? See the wiki page: http://wiki.koha-community.org/wiki/SearchEngine_Layer_RFC http://bugs.koha-community.org/show_bug.cgi?id=8233 Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
95 lines
3 KiB
JavaScript
95 lines
3 KiB
JavaScript
/**
|
|
* TextAreaExpander plugin for jQuery
|
|
* v1.0
|
|
* Expands or contracts a textarea height depending on the
|
|
* quatity of content entered by the user in the box.
|
|
*
|
|
* By Craig Buckler, Optimalworks.net
|
|
*
|
|
* As featured on SitePoint.com:
|
|
* http://www.sitepoint.com/blogs/2009/07/29/build-auto-expanding-textarea-1/
|
|
*
|
|
* Please use as you wish at your own risk.
|
|
*/
|
|
|
|
/**
|
|
* Usage:
|
|
*
|
|
* From JavaScript, use:
|
|
* $(<node>).TextAreaExpander(<minHeight>, <maxHeight>);
|
|
* where:
|
|
* <node> is the DOM node selector, e.g. "textarea"
|
|
* <minHeight> is the minimum textarea height in pixels (optional)
|
|
* <maxHeight> is the maximum textarea height in pixels (optional)
|
|
*
|
|
* Alternatively, in you HTML:
|
|
* Assign a class of "expand" to any <textarea> tag.
|
|
* e.g. <textarea name="textarea1" rows="3" cols="40" class="expand"></textarea>
|
|
*
|
|
* Or assign a class of "expandMIN-MAX" to set the <textarea> minimum and maximum height.
|
|
* e.g. <textarea name="textarea1" rows="3" cols="40" class="expand50-200"></textarea>
|
|
* The textarea will use an appropriate height between 50 and 200 pixels.
|
|
*/
|
|
|
|
(function($) {
|
|
|
|
// jQuery plugin definition
|
|
$.fn.TextAreaExpander = function(minHeight, maxHeight) {
|
|
|
|
var hCheck = !($.browser.msie || $.browser.opera);
|
|
|
|
// resize a textarea
|
|
function ResizeTextarea(e) {
|
|
|
|
// event or initialize element?
|
|
e = e.target || e;
|
|
|
|
// find content length and box width
|
|
var vlen = e.value.length, ewidth = e.offsetWidth;
|
|
if (vlen != e.valLength || ewidth != e.boxWidth) {
|
|
|
|
if (hCheck && (vlen < e.valLength || ewidth != e.boxWidth)) e.style.height = "0px";
|
|
var h = Math.max(e.expandMin, Math.min(e.scrollHeight, e.expandMax));
|
|
|
|
e.style.overflow = (e.scrollHeight > h ? "auto" : "hidden");
|
|
e.style.height = h + "px";
|
|
|
|
e.valLength = vlen;
|
|
e.boxWidth = ewidth;
|
|
}
|
|
|
|
return true;
|
|
};
|
|
|
|
// initialize
|
|
this.each(function() {
|
|
|
|
// is a textarea?
|
|
if (this.nodeName.toLowerCase() != "textarea") return;
|
|
|
|
// set height restrictions
|
|
var p = this.className.match(/expand(\d+)\-*(\d+)*/i);
|
|
this.expandMin = minHeight || (p ? parseInt('0'+p[1], 10) : 0);
|
|
this.expandMax = maxHeight || (p ? parseInt('0'+p[2], 10) : 99999);
|
|
|
|
// initial resize
|
|
ResizeTextarea(this);
|
|
|
|
// zero vertical padding and add events
|
|
if (!this.Initialized) {
|
|
this.Initialized = true;
|
|
$(this).css("padding-top", 0).css("padding-bottom", 0);
|
|
$(this).bind("keyup", ResizeTextarea).bind("focus", ResizeTextarea);
|
|
}
|
|
});
|
|
|
|
return this;
|
|
};
|
|
|
|
})(jQuery);
|
|
|
|
|
|
// initialize all expanding textareas
|
|
jQuery(document).ready(function() {
|
|
jQuery("textarea[class*=expand]").TextAreaExpander();
|
|
});
|