把前端从CircuitVerse中拆了出来
This commit is contained in:
commit
5bf1284599
2182 changed files with 189323 additions and 0 deletions
168
public/js/plugins/checkBo.min.js
vendored
Normal file
168
public/js/plugins/checkBo.min.js
vendored
Normal file
|
@ -0,0 +1,168 @@
|
|||
/*
|
||||
* checkBo lightweight jQuery plugin v0.1.4 by @ElmahdiMahmoud
|
||||
* Licensed under the MIT license - https://github.com/elmahdim/checkbo/blob/master/LICENSE
|
||||
*
|
||||
* Custom checkbox and radio
|
||||
* Author URL: elmahdim.com
|
||||
*/
|
||||
!(function (e) {
|
||||
e.fn.checkBo = function (c) {
|
||||
return (
|
||||
(c = e.extend(
|
||||
{},
|
||||
{
|
||||
checkAllButton: null,
|
||||
checkAllTarget: null,
|
||||
checkAllTextDefault: null,
|
||||
checkAllTextToggle: null,
|
||||
},
|
||||
c
|
||||
)),
|
||||
this.each(function () {
|
||||
function t(e) {
|
||||
this.input = e;
|
||||
}
|
||||
function n() {
|
||||
var c = e(this).is(":checked");
|
||||
e(this).closest("label").toggleClass("checked", c);
|
||||
}
|
||||
function i(e, c, t) {
|
||||
e.text(e.parent(a).hasClass("checked") ? t : c);
|
||||
}
|
||||
function h(c) {
|
||||
var t = c.attr("data-show");
|
||||
(c = c.attr("data-hide")),
|
||||
e(t).removeClass("is-hidden"),
|
||||
e(c).addClass("is-hidden");
|
||||
}
|
||||
var l = e(this),
|
||||
a = l.find(".cb-checkbox"),
|
||||
d = l.find(".cb-radio"),
|
||||
o = l.find(".cb-switcher"),
|
||||
s = a.find("input:checkbox"),
|
||||
f = d.find("input:radio");
|
||||
s.wrap('<span class="cb-inner"><i></i></span>'),
|
||||
f.wrap('<span class="cb-inner"><i></i></span>');
|
||||
var k = new t("input:checkbox"),
|
||||
r = new t("input:radio");
|
||||
if (
|
||||
((t.prototype.checkbox = function (e) {
|
||||
var c = e.find(this.input).is(":checked");
|
||||
e.find(this.input)
|
||||
.prop("checked", !c)
|
||||
.trigger("change");
|
||||
}),
|
||||
(t.prototype.radiobtn = function (c, t) {
|
||||
var n = e('input:radio[name="' + t + '"]');
|
||||
n.prop("checked", !1),
|
||||
n.closest(n.closest(d)).removeClass("checked"),
|
||||
c.addClass("checked"),
|
||||
(c.find(this.input).get(0).checked = c.hasClass(
|
||||
"checked"
|
||||
)),
|
||||
c.find(this.input).change();
|
||||
}),
|
||||
s.on("change", n),
|
||||
f.on("change", n),
|
||||
a.find("a").on("click", function (e) {
|
||||
e.stopPropagation();
|
||||
}),
|
||||
a.on("click", function (c) {
|
||||
c.preventDefault(),
|
||||
k.checkbox(e(this)),
|
||||
(c = e(this).attr("data-toggle")),
|
||||
e(c).toggleClass("is-hidden"),
|
||||
h(e(this));
|
||||
}),
|
||||
d.on("click", function (c) {
|
||||
c.preventDefault(),
|
||||
r.radiobtn(
|
||||
e(this),
|
||||
e(this).find("input:radio").attr("name")
|
||||
),
|
||||
h(e(this));
|
||||
}),
|
||||
(e.fn.toggleCheckbox = function () {
|
||||
this.prop("checked", !this.is(":checked"));
|
||||
}),
|
||||
(e.fn.switcherChecker = function () {
|
||||
var c = e(this),
|
||||
t = c.find("input"),
|
||||
n = c.find(".cb-state");
|
||||
t.is(":checked")
|
||||
? (c.addClass("checked"),
|
||||
n.html(t.attr("data-state-on")))
|
||||
: (c.removeClass("checked"),
|
||||
n.html(t.attr("data-state-off")));
|
||||
}),
|
||||
o.on("click", function (c) {
|
||||
c.preventDefault(),
|
||||
(c = e(this)),
|
||||
c.find("input").toggleCheckbox(),
|
||||
c.switcherChecker(),
|
||||
e(c.attr("data-toggle")).toggleClass("is-hidden");
|
||||
}),
|
||||
o.each(function () {
|
||||
e(this).switcherChecker();
|
||||
}),
|
||||
c.checkAllButton && c.checkAllTarget)
|
||||
) {
|
||||
var u = e(this);
|
||||
u.find(e(c.checkAllButton)).on("click", function () {
|
||||
u
|
||||
.find(c.checkAllTarget)
|
||||
.find("input:checkbox")
|
||||
.each(function () {
|
||||
u.find(e(c.checkAllButton)).hasClass("checked")
|
||||
? u
|
||||
.find(c.checkAllTarget)
|
||||
.find("input:checkbox")
|
||||
.prop("checked", !0)
|
||||
.change()
|
||||
: u
|
||||
.find(c.checkAllTarget)
|
||||
.find("input:checkbox")
|
||||
.prop("checked", !1)
|
||||
.change();
|
||||
}),
|
||||
i(
|
||||
u
|
||||
.find(e(c.checkAllButton))
|
||||
.find(".toggle-text"),
|
||||
c.checkAllTextDefault,
|
||||
c.checkAllTextToggle
|
||||
);
|
||||
}),
|
||||
u
|
||||
.find(c.checkAllTarget)
|
||||
.find(a)
|
||||
.on("click", function () {
|
||||
u
|
||||
.find(c.checkAllButton)
|
||||
.find("input:checkbox")
|
||||
.prop("checked", !1)
|
||||
.change()
|
||||
.removeClass("checked"),
|
||||
i(
|
||||
u
|
||||
.find(e(c.checkAllButton))
|
||||
.find(".toggle-text"),
|
||||
c.checkAllTextDefault,
|
||||
c.checkAllTextToggle
|
||||
);
|
||||
});
|
||||
}
|
||||
l
|
||||
.find('[checked="checked"]')
|
||||
.closest("label")
|
||||
.addClass("checked"),
|
||||
l.find("input").is("input:disabled") &&
|
||||
l
|
||||
.find("input:disabled")
|
||||
.closest("label")
|
||||
.off()
|
||||
.addClass("disabled");
|
||||
})
|
||||
);
|
||||
};
|
||||
})(jQuery, window, document);
|
Loading…
Add table
Add a link
Reference in a new issue