diff options
author | Unrud <unrud@openaliasbox.org> | 2017-06-04 17:16:11 +0200 |
---|---|---|
committer | Unrud <unrud@openaliasbox.org> | 2017-06-04 17:16:36 +0200 |
commit | 10eef51a0f086ad148928ba965c330599b4765cb (patch) | |
tree | d0283e55f1b4e66c49bf17461b5fee211b78768a /radicale_web/web/infcloud/lib/jquery.placeholder-1.1.9.js | |
parent | Update license (diff) | |
download | radicaleinfcloud-10eef51a0f086ad148928ba965c330599b4765cb.tar.gz radicaleinfcloud-10eef51a0f086ad148928ba965c330599b4765cb.tar.bz2 radicaleinfcloud-10eef51a0f086ad148928ba965c330599b4765cb.zip |
Update package for new web plugin interface
Diffstat (limited to 'radicale_web/web/infcloud/lib/jquery.placeholder-1.1.9.js')
-rw-r--r-- | radicale_web/web/infcloud/lib/jquery.placeholder-1.1.9.js | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/radicale_web/web/infcloud/lib/jquery.placeholder-1.1.9.js b/radicale_web/web/infcloud/lib/jquery.placeholder-1.1.9.js deleted file mode 100644 index f1ecba8..0000000 --- a/radicale_web/web/infcloud/lib/jquery.placeholder-1.1.9.js +++ /dev/null @@ -1,195 +0,0 @@ -/***************************************************************************** -jQuery Placeholder 1.1.9 (with minor modifications for CardDavMATE & CalDavZAP) - -Copyright (c) 2010 Michael J. Ryan (http://tracker1.info/) - -Dual licensed under the MIT and GPL licenses: - http://www.opensource.org/licenses/mit-license.php - http://www.gnu.org/licenses/gpl.html - ------------------------------------------------------------------------------- - -Sets up a watermark for inputted fields... this will create a LABEL.watermark -tag immediately following the input tag, the positioning will be set absolute, -and it will be positioned to match the input tag. - -To activate: - - $('input[placeholder],textarea[placeholder]').placeholder(); - - -NOTE, when changing a value via script: - - $('#input_id').val('new value').change(); //force change event, so placeholder sets properly - - -To style the tags as appropriate (you'll want to make sure the font matches): - - label.placeholder { - cursor: text; <--- display a cursor to match the text input - - padding: 4px 4px 4px 4px; <--- this should match the border+padding - for the input field(s) - color: #999999; <--- this will display as faded - } - -You'll also want to have the color set for browsers with native support - input:placeholder, textarea:placeholder { - color: #999999; - } - input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { - color: #999999; - } - ------------------------------------------------------------------------------- - -Thanks to... - http://www.alistapart.com/articles/makingcompactformsmoreaccessible - http://plugins.jquery.com/project/overlabel - - This works similar to the overlabel, but creates the actual label tag - based on the placeholder attribute on the input tag, instead of - relying on the markup to provide it. - -*****************************************************************************/ -(function($){ - - var ph = "PLACEHOLDER-INPUT"; - var phl = "PLACEHOLDER-LABEL"; - var boundEvents = false; - var default_options = { - labelClass: 'placeholder' - }; - - //check for native support for placeholder attribute, if so stub methods and return - var input = document.createElement("input"); - if ('placeholder' in input) { - $.fn.placeholder = $.fn.unplaceholder = function(){}; //empty function - delete input; //cleanup IE memory - return; - }; - delete input; - - //bind to resize to fix placeholders when the page resizes (fields are hidden/displayed, which can change positioning). - $(window).resize(checkResize); - - - $.fn.placeholder = function(options) { - bindEvents(); - - var opts = $.extend(default_options, options) - - this.each(function(){ - var rnd=Math.random().toString(32).replace(/\./,'') - ,input=$(this) - ,label=$('<label style="position:absolute;display:none;top:0;left:0;"></label>'); - - if (!input.attr('placeholder') || input.data(ph) === ph) return; //already watermarked - - //make sure the input tag has an ID assigned, if not, assign one. - if (!input.attr('id')) input.attr('id', 'input_' + rnd); - - label .attr('id',input.attr('id') + "_placeholder") - .data(ph, '#' + input.attr('id')) //reference to the input tag - .attr('for',input.attr('id')) - .addClass(opts.labelClass) - .addClass(opts.labelClass + '-for-' + this.tagName.toLowerCase()) //ex: watermark-for-textarea - .addClass(phl) - .text(input.attr('placeholder')); - - input - .data(phl, '#' + label.attr('id')) //set a reference to the label - .data(ph,ph) //set that the field is watermarked - .addClass(ph) //add the watermark class - .after(label) //add the label field to the page - - //setup overlay - itemFocus.call(this); - itemBlur.call(this); - }); - }; - - $.fn.unplaceholder = function(){ - this.each(function(){ - var input=$(this), - label=$(input.data(phl)); - - if (input.data(ph) !== ph) return; - - label.remove(); - input.removeData(ph).removeData(phl).removeClass(ph).unbind('change',itemChange); - }); - }; - - function bindEvents() { - if (boundEvents) return; - - //prepare live bindings if not already done. - $(document).on('reset', 'form', function(){$(this).find('.'+ph).each(itemBlur);}); - $(document).on('keydown mousedown mouseclick focus focusin', '.'+ph, itemFocus); - $(document).on('blur focusout', '.'+ph, itemBlur); - $(document).on('change', '.'+ph, itemChange); - $(document).on('click mouseup', '.'+phl, function(){$($(this).data(ph)).focus();}); - - bound = true; - boundEvents = true; - }; - - function itemChange() { - var input = $(this); - if (!!input.val()) { - $(input.data(phl)).hide(); - return; - } - if (input.data(ph+'FOCUSED') != 1) { - showPHL(input); - } - } - - function itemFocus() { - $($(this).data(ph+'FOCUSED',1).data(phl)).hide(); - }; - - function itemBlur() { - var that = this; - showPHL($(this).removeData(ph+'FOCUSED')); - - //use timeout to let other validators/formatters directly bound to blur/focusout work - setTimeout(function(){ - var input = $(that); - - //if the item wasn't refocused, test the item - if (input.data(ph+'FOCUSED') != 1) { - showPHL(input); - } - }, 200); - }; - - function showPHL(input, forced) { - var label = $(input.data(phl)); - - //if not already shown, and needs to be, show it. - if ((forced || label.css('display') == 'none') && !input.val()) - label - .text(input.attr('placeholder')) - .css('top', input.position().top + 'px') - .css('left', input.position().left + 'px') - .css('display', 'block'); - - //console.dir({ 'input': { 'id':input.attr('id'), 'pos': input.position() }}); - } - - var cr; - function checkResize() { - if (cr) window.clearTimeout(cr); - cr = window.setTimeout(checkResize2, 50); - } - function checkResize2() { - $('.' + ph).each(function(){ - var input = $(this); - var focused = $(this).data(ph+'FOCUSED'); - if (!focused) showPHL(input, true); - }); - } - -}(jQuery));
\ No newline at end of file |