68 lines
1.7 KiB
JavaScript
68 lines
1.7 KiB
JavaScript
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
|
(function(addon) {
|
|
|
|
var component;
|
|
|
|
if (window.UIkit) {
|
|
component = addon(UIkit);
|
|
}
|
|
|
|
if (typeof define == "function" && define.amd) {
|
|
define("uikit-form-password", ["uikit"], function(){
|
|
return component || addon(UIkit);
|
|
});
|
|
}
|
|
|
|
})(function(UI){
|
|
|
|
"use strict";
|
|
|
|
UI.component('formPassword', {
|
|
|
|
defaults: {
|
|
"lblShow": "Show",
|
|
"lblHide": "Hide"
|
|
},
|
|
|
|
boot: function() {
|
|
// init code
|
|
UI.$html.on("click.formpassword.uikit", "[data-uk-form-password]", function(e) {
|
|
|
|
var ele = UI.$(this);
|
|
|
|
if (!ele.data("formPassword")) {
|
|
|
|
e.preventDefault();
|
|
|
|
UI.formPassword(ele, UI.Utils.options(ele.attr("data-uk-form-password")));
|
|
ele.trigger("click");
|
|
}
|
|
});
|
|
},
|
|
|
|
init: function() {
|
|
|
|
var $this = this;
|
|
|
|
this.on("click", function(e) {
|
|
|
|
e.preventDefault();
|
|
|
|
if($this.input.length) {
|
|
var type = $this.input.attr("type");
|
|
$this.input.attr("type", type=="text" ? "password":"text");
|
|
$this.element.html($this.options[type=="text" ? "lblShow":"lblHide"]);
|
|
}
|
|
});
|
|
|
|
this.input = this.element.next("input").length ? this.element.next("input") : this.element.prev("input");
|
|
this.element.html(this.options[this.input.is("[type='password']") ? "lblShow":"lblHide"]);
|
|
|
|
|
|
this.element.data("formPassword", this);
|
|
}
|
|
});
|
|
|
|
return UI.formPassword;
|
|
});
|