rails-assets-jquery-placeholder-2.3.1/0000755000004100000410000000000012637732462017770 5ustar www-datawww-datarails-assets-jquery-placeholder-2.3.1/Rakefile0000644000004100000410000000003412637732462021432 0ustar www-datawww-datarequire "bundler/gem_tasks" rails-assets-jquery-placeholder-2.3.1/Gemfile0000644000004100000410000000011112637732462021254 0ustar www-datawww-datasource 'https://rubygems.org' source 'https://rails-assets.org' gemspec rails-assets-jquery-placeholder-2.3.1/lib/0000755000004100000410000000000012637732462020536 5ustar www-datawww-datarails-assets-jquery-placeholder-2.3.1/lib/rails-assets-jquery-placeholder.rb0000644000004100000410000000145412637732462027276 0ustar www-datawww-datarequire "rails-assets-jquery-placeholder/version" require "rails-assets-jquery" module RailsAssetsJqueryPlaceholder def self.gem_path Pathname(File.realpath(__FILE__)).join('../..') end def self.gem_spec Gem::Specification::load( gem_path.join("rails-assets-jquery-placeholder.gemspec").to_s ) end def self.load_paths gem_path.join('app/assets').each_child.to_a end def self.dependencies [ RailsAssetsJquery ] end if defined?(Rails) class Engine < ::Rails::Engine # Rails -> use app/assets directory. end end end class RailsAssets @components ||= [] class << self attr_accessor :components def load_paths components.flat_map(&:load_paths) end end end RailsAssets.components << RailsAssetsJqueryPlaceholder rails-assets-jquery-placeholder-2.3.1/lib/rails-assets-jquery-placeholder/0000755000004100000410000000000012637732462026745 5ustar www-datawww-datarails-assets-jquery-placeholder-2.3.1/lib/rails-assets-jquery-placeholder/version.rb0000644000004100000410000000007412637732462030760 0ustar www-datawww-datamodule RailsAssetsJqueryPlaceholder VERSION = "2.3.1" end rails-assets-jquery-placeholder-2.3.1/metadata.yml0000644000004100000410000000464412637732462022303 0ustar www-datawww-data--- !ruby/object:Gem::Specification name: rails-assets-jquery-placeholder version: !ruby/object:Gem::Version version: 2.3.1 platform: ruby authors: - rails-assets.org autorequire: bindir: bin cert_chain: [] date: 2015-12-17 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: rails-assets-jquery requirement: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '1.6' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '1.6' - !ruby/object:Gem::Dependency name: bundler requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '1.3' type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '1.3' - !ruby/object:Gem::Dependency name: rake requirement: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' description: A jQuery plugin that enables HTML5 placeholder behavior for browsers that aren’t trying hard enough yet email: executables: [] extensions: [] extra_rdoc_files: [] files: - Gemfile - README.md - Rakefile - app/assets/javascripts/jquery-placeholder.js - app/assets/javascripts/jquery-placeholder/jquery.placeholder.js - lib/rails-assets-jquery-placeholder.rb - lib/rails-assets-jquery-placeholder/version.rb - rails-assets-jquery-placeholder.gemspec homepage: https://github.com/mathiasbynens/jquery-placeholder licenses: - MIT metadata: {} post_install_message: rdoc_options: [] require_paths: - lib required_ruby_version: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' required_rubygems_version: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' requirements: [] rubyforge_project: rubygems_version: 2.4.8 signing_key: specification_version: 4 summary: A jQuery plugin that enables HTML5 placeholder behavior for browsers that aren’t trying hard enough yet test_files: [] rails-assets-jquery-placeholder-2.3.1/rails-assets-jquery-placeholder.gemspec0000644000004100000410000000173512637732462027552 0ustar www-datawww-data# coding: utf-8 lib = File.expand_path('../lib', __FILE__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'rails-assets-jquery-placeholder/version' Gem::Specification.new do |spec| spec.name = "rails-assets-jquery-placeholder" spec.version = RailsAssetsJqueryPlaceholder::VERSION spec.authors = ["rails-assets.org"] spec.description = "A jQuery plugin that enables HTML5 placeholder behavior for browsers that aren\u{2019}t trying hard enough yet" spec.summary = "A jQuery plugin that enables HTML5 placeholder behavior for browsers that aren\u{2019}t trying hard enough yet" spec.homepage = "https://github.com/mathiasbynens/jquery-placeholder" spec.license = "MIT" spec.files = `find ./* -type f | cut -b 3-`.split($/) spec.require_paths = ["lib"] spec.add_dependency "rails-assets-jquery", ">= 1.6" spec.add_development_dependency "bundler", "~> 1.3" spec.add_development_dependency "rake" end rails-assets-jquery-placeholder-2.3.1/app/0000755000004100000410000000000012637732462020550 5ustar www-datawww-datarails-assets-jquery-placeholder-2.3.1/app/assets/0000755000004100000410000000000012637732462022052 5ustar www-datawww-datarails-assets-jquery-placeholder-2.3.1/app/assets/javascripts/0000755000004100000410000000000012637732462024403 5ustar www-datawww-datarails-assets-jquery-placeholder-2.3.1/app/assets/javascripts/jquery-placeholder.js0000644000004100000410000000006512637732462030541 0ustar www-datawww-data//= require jquery-placeholder/jquery.placeholder.js rails-assets-jquery-placeholder-2.3.1/app/assets/javascripts/jquery-placeholder/0000755000004100000410000000000012637732462030202 5ustar www-datawww-data././@LongLink0000000000000000000000000000014600000000000011566 Lustar rootrootrails-assets-jquery-placeholder-2.3.1/app/assets/javascripts/jquery-placeholder/jquery.placeholder.jsrails-assets-jquery-placeholder-2.3.1/app/assets/javascripts/jquery-placeholder/jquery.placeholder.j0000644000004100000410000002277412637732462034171 0ustar www-datawww-data/*! * jQuery Placeholder Plugin v2.3.1 * https://github.com/mathiasbynens/jquery-placeholder * * Copyright 2011, 2015 Mathias Bynens * Released under the MIT license */ (function(factory) { if (typeof define === 'function' && define.amd) { // AMD define(['jquery'], factory); } else if (typeof module === 'object' && module.exports) { factory(require('jquery')); } else { // Browser globals factory(jQuery); } }(function($) { /**** * Allows plugin behavior simulation in modern browsers for easier debugging. * When setting to true, use attribute "placeholder-x" rather than the usual "placeholder" in your inputs/textareas * i.e. */ var debugMode = false; // Opera Mini v7 doesn't support placeholder although its DOM seems to indicate so var isOperaMini = Object.prototype.toString.call(window.operamini) === '[object OperaMini]'; var isInputSupported = 'placeholder' in document.createElement('input') && !isOperaMini && !debugMode; var isTextareaSupported = 'placeholder' in document.createElement('textarea') && !isOperaMini && !debugMode; var valHooks = $.valHooks; var propHooks = $.propHooks; var hooks; var placeholder; var settings = {}; if (isInputSupported && isTextareaSupported) { placeholder = $.fn.placeholder = function() { return this; }; placeholder.input = true; placeholder.textarea = true; } else { placeholder = $.fn.placeholder = function(options) { var defaults = {customClass: 'placeholder'}; settings = $.extend({}, defaults, options); return this.filter((isInputSupported ? 'textarea' : ':input') + '[' + (debugMode ? 'placeholder-x' : 'placeholder') + ']') .not('.'+settings.customClass) .not(':radio, :checkbox, [type=hidden]') .bind({ 'focus.placeholder': clearPlaceholder, 'blur.placeholder': setPlaceholder }) .data('placeholder-enabled', true) .trigger('blur.placeholder'); }; placeholder.input = isInputSupported; placeholder.textarea = isTextareaSupported; hooks = { 'get': function(element) { var $element = $(element); var $passwordInput = $element.data('placeholder-password'); if ($passwordInput) { return $passwordInput[0].value; } return $element.data('placeholder-enabled') && $element.hasClass(settings.customClass) ? '' : element.value; }, 'set': function(element, value) { var $element = $(element); var $replacement; var $passwordInput; if (value !== '') { $replacement = $element.data('placeholder-textinput'); $passwordInput = $element.data('placeholder-password'); if ($replacement) { clearPlaceholder.call($replacement[0], true, value) || (element.value = value); $replacement[0].value = value; } else if ($passwordInput) { clearPlaceholder.call(element, true, value) || ($passwordInput[0].value = value); element.value = value; } } if (!$element.data('placeholder-enabled')) { element.value = value; return $element; } if (value === '') { element.value = value; // Setting the placeholder causes problems if the element continues to have focus. if (element != safeActiveElement()) { // We can't use `triggerHandler` here because of dummy text/password inputs :( setPlaceholder.call(element); } } else { if ($element.hasClass(settings.customClass)) { clearPlaceholder.call(element); } element.value = value; } // `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363 return $element; } }; if (!isInputSupported) { valHooks.input = hooks; propHooks.value = hooks; } if (!isTextareaSupported) { valHooks.textarea = hooks; propHooks.value = hooks; } $(function() { // Look for forms $(document).delegate('form', 'submit.placeholder', function() { // Clear the placeholder values so they don't get submitted var $inputs = $('.'+settings.customClass, this).each(function() { clearPlaceholder.call(this, true, ''); }); setTimeout(function() { $inputs.each(setPlaceholder); }, 10); }); }); // Clear placeholder values upon page reload $(window).bind('beforeunload.placeholder', function() { var clearPlaceholders = true; try { // Prevent IE javascript:void(0) anchors from causing cleared values if (document.activeElement.toString() === 'javascript:void(0)') { clearPlaceholders = false; } } catch (exception) { } if (clearPlaceholders) { $('.'+settings.customClass).each(function() { this.value = ''; }); } }); } function args(elem) { // Return an object of element attributes var newAttrs = {}; var rinlinejQuery = /^jQuery\d+$/; $.each(elem.attributes, function(i, attr) { if (attr.specified && !rinlinejQuery.test(attr.name)) { newAttrs[attr.name] = attr.value; } }); return newAttrs; } function clearPlaceholder(event, value) { var input = this; var $input = $(this); if (input.value === $input.attr((debugMode ? 'placeholder-x' : 'placeholder')) && $input.hasClass(settings.customClass)) { input.value = ''; $input.removeClass(settings.customClass); if ($input.data('placeholder-password')) { $input = $input.hide().nextAll('input[type="password"]:first').show().attr('id', $input.removeAttr('id').data('placeholder-id')); // If `clearPlaceholder` was called from `$.valHooks.input.set` if (event === true) { $input[0].value = value; return value; } $input.focus(); } else { input == safeActiveElement() && input.select(); } } } function setPlaceholder(event) { var $replacement; var input = this; var $input = $(this); var id = input.id; // If the placeholder is activated, triggering blur event (`$input.trigger('blur')`) should do nothing. if (event && event.type === 'blur' && $input.hasClass(settings.customClass)) { return; } if (input.value === '') { if (input.type === 'password') { if (!$input.data('placeholder-textinput')) { try { $replacement = $input.clone().prop({ 'type': 'text' }); } catch(e) { $replacement = $('').attr($.extend(args(this), { 'type': 'text' })); } $replacement .removeAttr('name') .data({ 'placeholder-enabled': true, 'placeholder-password': $input, 'placeholder-id': id }) .bind('focus.placeholder', clearPlaceholder); $input .data({ 'placeholder-textinput': $replacement, 'placeholder-id': id }) .before($replacement); } input.value = ''; $input = $input.removeAttr('id').hide().prevAll('input[type="text"]:first').attr('id', $input.data('placeholder-id')).show(); } else { var $passwordInput = $input.data('placeholder-password'); if ($passwordInput) { $passwordInput[0].value = ''; $input.attr('id', $input.data('placeholder-id')).show().nextAll('input[type="password"]:last').hide().removeAttr('id'); } } $input.addClass(settings.customClass); $input[0].value = $input.attr((debugMode ? 'placeholder-x' : 'placeholder')); } else { $input.removeClass(settings.customClass); } } function safeActiveElement() { // Avoid IE9 `document.activeElement` of death try { return document.activeElement; } catch (exception) {} } })); rails-assets-jquery-placeholder-2.3.1/README.md0000644000004100000410000000070312637732462021247 0ustar www-datawww-data# rails-assets-jquery-placeholder > The Bower package inside a gem This gem was automatically generated. You can visit [rails-assets.org](https://rails-assets.org) for more information. ## Usage Add rails-assets source block to your `Gemfile`: ```ruby source "https://rails-assets.org" do gem "rails-assets-jquery-placeholder" end ``` Then, import the asset using Sprockets’ `require` directive: ```js //= require "jquery-placeholder" ```