Initial ethoFS Integration
This commit is contained in:
61
assets/dashboard/plugins/jquery-spinner/css/bootstrap-spinner.css
vendored
Normal file
61
assets/dashboard/plugins/jquery-spinner/css/bootstrap-spinner.css
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
.spinner.input-group .input-group-addon .spin-up,
|
||||
.spinner.input-group .input-group-addon .spin-down {
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
text-align: center;
|
||||
color: #999;
|
||||
}
|
||||
.spinner.input-group .input-group-addon .spin-up:hover,
|
||||
.spinner.input-group .input-group-addon .spin-down:hover {
|
||||
color: #555;
|
||||
}
|
||||
.spinner.input-group .input-group-addon .spin-up .fa,
|
||||
.spinner.input-group .input-group-addon .spin-down .fa {
|
||||
margin-top: -8px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.spinner.input-group .input-group-addon .spin-up .glyphicon,
|
||||
.spinner.input-group .input-group-addon .spin-down .glyphicon {
|
||||
font-size: 10px;
|
||||
top: -2px;
|
||||
}
|
||||
.spinner.input-group .input-group-addon a.spin-up,
|
||||
.spinner.input-group .input-group-addon a.spin-down {
|
||||
text-decoration: none;
|
||||
}
|
||||
.spinner.input-group .input-group-addon button.spin-up,
|
||||
.spinner.input-group .input-group-addon button.spin-down {
|
||||
background: none;
|
||||
border: none;
|
||||
padding: 0;
|
||||
}
|
||||
.spinner.input-group.input-group-sm .input-group-addon .spin-up,
|
||||
.spinner.input-group.input-group-sm .input-group-addon .spin-down {
|
||||
height: 8px;
|
||||
}
|
||||
.spinner.input-group.input-group-sm .input-group-addon .spin-up .fa,
|
||||
.spinner.input-group.input-group-sm .input-group-addon .spin-down .fa {
|
||||
margin-top: -12px;
|
||||
}
|
||||
.spinner.input-group.input-group-sm .input-group-addon .spin-up .glyphicon,
|
||||
.spinner.input-group.input-group-sm .input-group-addon .spin-down .glyphicon {
|
||||
font-size: 8px;
|
||||
top: -5px;
|
||||
}
|
||||
.spinner.input-group.input-group-lg .input-group-addon .spin-up,
|
||||
.spinner.input-group.input-group-lg .input-group-addon .spin-down {
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
}
|
||||
.spinner.input-group.input-group-lg .input-group-addon .spin-up .fa,
|
||||
.spinner.input-group.input-group-lg .input-group-addon .spin-down .fa {
|
||||
margin-top: -16px;
|
||||
}
|
||||
.spinner.input-group.input-group-lg .input-group-addon .spin-up .glyphicon,
|
||||
.spinner.input-group.input-group-lg .input-group-addon .spin-down .glyphicon {
|
||||
font-size: 12px;
|
||||
top: -6px;
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-spinner.css.map */
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["less/bootstrap-spinner.less"],"names":[],"mappings":"AAAA,QAAQ,YACN,mBACE;AAFJ,QAAQ,YACN,mBAEE;EACE,YAAA;EACA,WAAA;EACA,gBAAA;EACA,cAAA;EACA,kBAAA;EACA,WAAA;;AAEA,QAXE,YACN,mBACE,SASG;AAAD,QAXE,YACN,mBAEE,WAQG;EACC,WAAA;;AAZR,QAAQ,YACN,mBACE,SAaE;AAfN,QAAQ,YACN,mBAEE,WAYE;EACE,gBAAA;EACA,sBAAA;;AAjBR,QAAQ,YACN,mBACE,SAkBE;AApBN,QAAQ,YACN,mBAEE,WAiBE;EACE,eAAA;EACA,SAAA;;AAtBR,QAAQ,YACN,mBAyBE,EAAC;AA1BL,QAAQ,YACN,mBA0BE,EAAC;EACC,qBAAA;;AA5BN,QAAQ,YACN,mBA8BE,OAAM;AA/BV,QAAQ,YACN,mBA+BE,OAAM;EACJ,gBAAA;EACA,YAAA;EACA,UAAA;;AAIJ,QAvCM,YAuCL,eAAgB,mBACf;AADF,QAvCM,YAuCL,eAAgB,mBAEf;EACE,WAAA;;AAHJ,QAvCM,YAuCL,eAAgB,mBACf,SAIE;AALJ,QAvCM,YAuCL,eAAgB,mBAEf,WAGE;EACE,iBAAA;;AANN,QAvCM,YAuCL,eAAgB,mBACf,SAQE;AATJ,QAvCM,YAuCL,eAAgB,mBAEf,WAOE;EACE,cAAA;EACA,SAAA;;AAKN,QAvDM,YAuDL,eAAgB,mBACf;AADF,QAvDM,YAuDL,eAAgB,mBAEf;EACE,YAAA;EACA,WAAA;;AAJJ,QAvDM,YAuDL,eAAgB,mBACf,SAKE;AANJ,QAvDM,YAuDL,eAAgB,mBAEf,WAIE;EACE,iBAAA;;AAPN,QAvDM,YAuDL,eAAgB,mBACf,SASE;AAVJ,QAvDM,YAuDL,eAAgB,mBAEf,WAQE;EACE,eAAA;EACA,SAAA","sourcesContent":[".spinner.input-group {\n .input-group-addon {\n .spin-up,\n .spin-down {\n height: 10px;\n width: 10px;\n overflow: hidden;\n display: block;\n text-align: center;\n color: #999;\n\n &:hover {\n color: #555;\n }\n\n .fa {\n margin-top: -8px;\n vertical-align: middle;\n }\n\n .glyphicon {\n font-size: 10px;\n top: -2px;\n }\n }\n\n a.spin-up,\n a.spin-down {\n text-decoration: none;\n }\n\n button.spin-up,\n button.spin-down {\n background: none;\n border: none;\n padding: 0;\n }\n }\n\n &.input-group-sm .input-group-addon {\n .spin-up,\n .spin-down {\n height: 8px;\n\n .fa {\n margin-top: -12px;\n }\n\n .glyphicon {\n font-size: 8px;\n top: -5px;\n }\n }\n }\n\n &.input-group-lg .input-group-addon {\n .spin-up,\n .spin-down {\n height: 12px;\n width: 12px;\n\n .fa {\n margin-top: -16px;\n }\n\n .glyphicon {\n font-size: 12px;\n top: -6px;\n }\n }\n }\n}\n"]}
|
||||
1
assets/dashboard/plugins/jquery-spinner/css/bootstrap-spinner.min.css
vendored
Normal file
1
assets/dashboard/plugins/jquery-spinner/css/bootstrap-spinner.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.spinner.input-group .input-group-addon .spin-down,.spinner.input-group .input-group-addon .spin-up{height:10px;width:10px;overflow:hidden;display:block;text-align:center;color:#999}.spinner.input-group .input-group-addon .spin-down:hover,.spinner.input-group .input-group-addon .spin-up:hover{color:#555}.spinner.input-group .input-group-addon .spin-down .fa,.spinner.input-group .input-group-addon .spin-up .fa{margin-top:-8px;vertical-align:middle}.spinner.input-group .input-group-addon .spin-down .glyphicon,.spinner.input-group .input-group-addon .spin-up .glyphicon{font-size:10px;top:-2px}.spinner.input-group .input-group-addon a.spin-down,.spinner.input-group .input-group-addon a.spin-up{text-decoration:none}.spinner.input-group .input-group-addon button.spin-down,.spinner.input-group .input-group-addon button.spin-up{background:0 0;border:none;padding:0}.spinner.input-group.input-group-sm .input-group-addon .spin-down,.spinner.input-group.input-group-sm .input-group-addon .spin-up{height:8px}.spinner.input-group.input-group-sm .input-group-addon .spin-down .fa,.spinner.input-group.input-group-sm .input-group-addon .spin-up .fa{margin-top:-12px}.spinner.input-group.input-group-sm .input-group-addon .spin-down .glyphicon,.spinner.input-group.input-group-sm .input-group-addon .spin-up .glyphicon{font-size:8px;top:-5px}.spinner.input-group.input-group-lg .input-group-addon .spin-down,.spinner.input-group.input-group-lg .input-group-addon .spin-up{height:12px;width:12px}.spinner.input-group.input-group-lg .input-group-addon .spin-down .fa,.spinner.input-group.input-group-lg .input-group-addon .spin-up .fa{margin-top:-16px}.spinner.input-group.input-group-lg .input-group-addon .spin-down .glyphicon,.spinner.input-group.input-group-lg .input-group-addon .spin-up .glyphicon{font-size:12px;top:-6px}
|
||||
255
assets/dashboard/plugins/jquery-spinner/js/jquery.spinner.js
Normal file
255
assets/dashboard/plugins/jquery-spinner/js/jquery.spinner.js
Normal file
@@ -0,0 +1,255 @@
|
||||
/*!
|
||||
* jquery.spinner v0.2.1 (https://vsn4ik.github.io/jquery.spinner/)
|
||||
* Copyright 2013-2016 xixilive
|
||||
* Licensed under the MIT license
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
(function(factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module
|
||||
define(['jquery'], factory);
|
||||
}
|
||||
else if (typeof exports === 'object') {
|
||||
// Node/CommonJS
|
||||
module.exports = factory(require('jquery'));
|
||||
}
|
||||
else {
|
||||
// Browser globals
|
||||
factory(jQuery);
|
||||
}
|
||||
})(function($) {
|
||||
var spinningTimer;
|
||||
var Spinner;
|
||||
var Spinning = function($element, options) {
|
||||
this.$el = $element;
|
||||
this.options = $.extend({}, Spinning.rules.defaults, Spinning.rules[options.rule] || {}, options);
|
||||
this.min = Number(this.options.min) || 0;
|
||||
this.max = Number(this.options.max) || 0;
|
||||
|
||||
this.$el.on({
|
||||
'focus.spinner': $.proxy(function(e) {
|
||||
e.preventDefault();
|
||||
$(document).trigger('mouseup.spinner');
|
||||
this.oldValue = this.value();
|
||||
}, this),
|
||||
'change.spinner': $.proxy(function(e) {
|
||||
e.preventDefault();
|
||||
this.value(this.$el.val());
|
||||
}, this),
|
||||
'keydown.spinner': $.proxy(function(e) {
|
||||
var dir = {
|
||||
38: 'up',
|
||||
40: 'down'
|
||||
}[e.which];
|
||||
|
||||
if (dir) {
|
||||
e.preventDefault();
|
||||
this.spin(dir);
|
||||
}
|
||||
}, this)
|
||||
});
|
||||
|
||||
//init input value
|
||||
this.oldValue = this.value();
|
||||
this.value(this.$el.val());
|
||||
return this;
|
||||
};
|
||||
|
||||
Spinning.rules = {
|
||||
defaults: { min: null, max: null, step: 1, precision: 0 },
|
||||
currency: { min: 0.00, max: null, step: 0.01, precision: 2 },
|
||||
quantity: { min: 1, max: 999, step: 1, precision: 0 },
|
||||
percent: { min: 1, max: 100, step: 1, precision: 0 },
|
||||
month: { min: 1, max: 12, step: 1, precision: 0 },
|
||||
day: { min: 1, max: 31, step: 1, precision: 0 },
|
||||
hour: { min: 0, max: 23, step: 1, precision: 0 },
|
||||
minute: { min: 1, max: 59, step: 1, precision: 0 },
|
||||
second: { min: 1, max: 59, step: 1, precision: 0 }
|
||||
};
|
||||
|
||||
Spinning.prototype = {
|
||||
spin: function(dir) {
|
||||
if (this.$el.prop('disabled')) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.oldValue = this.value();
|
||||
var step = $.isFunction(this.options.step) ? this.options.step.call(this, dir) : this.options.step;
|
||||
var multipler = dir === 'up' ? 1 : -1;
|
||||
|
||||
this.value(this.oldValue + Number(step) * multipler);
|
||||
},
|
||||
|
||||
value: function(v) {
|
||||
if (v === null || v === undefined) {
|
||||
return this.numeric(this.$el.val());
|
||||
}
|
||||
v = this.numeric(v);
|
||||
|
||||
var valid = this.validate(v);
|
||||
if (valid !== 0) {
|
||||
v = (valid === -1) ? this.min : this.max;
|
||||
}
|
||||
this.$el.val(v.toFixed(this.options.precision));
|
||||
|
||||
if (this.oldValue !== this.value()) {
|
||||
// changing.spinner
|
||||
this.$el.trigger('changing.spinner', [this.value(), this.oldValue]);
|
||||
|
||||
// lazy changed.spinner
|
||||
clearTimeout(spinningTimer);
|
||||
spinningTimer = setTimeout($.proxy(function() {
|
||||
this.$el.trigger('changed.spinner', [this.value(), this.oldValue]);
|
||||
}, this), Spinner.delay);
|
||||
}
|
||||
},
|
||||
|
||||
numeric: function(v) {
|
||||
v = this.options.precision > 0 ? parseFloat(v, 10) : parseInt(v, 10);
|
||||
|
||||
// If the variable is a number
|
||||
if (isFinite(v)) {
|
||||
return v;
|
||||
}
|
||||
|
||||
return v || this.options.min || 0;
|
||||
},
|
||||
|
||||
validate: function(val) {
|
||||
if (this.options.min !== null && val < this.min) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (this.options.max !== null && val > this.max) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
Spinner = function(element, options) {
|
||||
this.$el = $(element);
|
||||
this.$spinning = this.$el.find('[data-spin="spinner"]');
|
||||
|
||||
if (this.$spinning.length === 0) {
|
||||
this.$spinning = this.$el.find(':input[type="text"]');
|
||||
}
|
||||
|
||||
options = $.extend({}, options, this.$spinning.data());
|
||||
|
||||
this.spinning = new Spinning(this.$spinning, options);
|
||||
|
||||
this.$el
|
||||
.on('click.spinner', '[data-spin="up"], [data-spin="down"]', $.proxy(this, 'spin'))
|
||||
.on('mousedown.spinner', '[data-spin="up"], [data-spin="down"]', $.proxy(this, 'spin'));
|
||||
|
||||
$(document).on('mouseup.spinner', $.proxy(function() {
|
||||
clearTimeout(this.spinTimeout);
|
||||
clearInterval(this.spinInterval);
|
||||
}, this));
|
||||
|
||||
if (options.delay) {
|
||||
this.delay(options.delay);
|
||||
}
|
||||
|
||||
if (options.changed) {
|
||||
this.changed(options.changed);
|
||||
}
|
||||
|
||||
if (options.changing) {
|
||||
this.changing(options.changing);
|
||||
}
|
||||
};
|
||||
|
||||
Spinner.delay = 500;
|
||||
|
||||
Spinner.prototype = {
|
||||
constructor: Spinner,
|
||||
|
||||
spin: function(e) {
|
||||
var dir = $(e.currentTarget).data('spin');
|
||||
|
||||
switch (e.type) {
|
||||
case 'click':
|
||||
e.preventDefault();
|
||||
this.spinning.spin(dir);
|
||||
break;
|
||||
case 'mousedown':
|
||||
if (e.which === 1) {
|
||||
this.spinTimeout = setTimeout($.proxy(this, 'beginSpin', dir), 300);
|
||||
}
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
delay: function(ms) {
|
||||
var delay = Number(ms);
|
||||
|
||||
if (delay >= 0) {
|
||||
this.constructor.delay = delay + 100;
|
||||
}
|
||||
},
|
||||
|
||||
value: function() {
|
||||
return this.spinning.value();
|
||||
},
|
||||
|
||||
changed: function(fn) {
|
||||
this.bindHandler('changed.spinner', fn);
|
||||
},
|
||||
|
||||
changing: function(fn) {
|
||||
this.bindHandler('changing.spinner', fn);
|
||||
},
|
||||
|
||||
bindHandler: function(t, fn) {
|
||||
if ($.isFunction(fn)) {
|
||||
this.$spinning.on(t, fn);
|
||||
}
|
||||
else {
|
||||
this.$spinning.off(t);
|
||||
}
|
||||
},
|
||||
|
||||
beginSpin: function(dir) {
|
||||
this.spinInterval = setInterval($.proxy(this.spinning, 'spin', dir), 100);
|
||||
}
|
||||
};
|
||||
|
||||
var old = $.fn.spinner;
|
||||
|
||||
$.fn.spinner = function(options, value) {
|
||||
return this.each(function() {
|
||||
var data = $.data(this, 'spinner');
|
||||
|
||||
if (!data) {
|
||||
data = new Spinner(this, options);
|
||||
|
||||
$.data(this, 'spinner', data);
|
||||
}
|
||||
if (options === 'delay' || options === 'changed' || options === 'changing') {
|
||||
data[options](value);
|
||||
}
|
||||
else if (options === 'step' && value) {
|
||||
data.spinning.step = value;
|
||||
}
|
||||
else if (options === 'spin' && value) {
|
||||
data.spinning.spin(value);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.spinner.Constructor = Spinner;
|
||||
$.fn.spinner.noConflict = function() {
|
||||
$.fn.spinner = old;
|
||||
return this;
|
||||
};
|
||||
|
||||
$(function() {
|
||||
$('[data-trigger="spinner"]').spinner();
|
||||
});
|
||||
|
||||
return $.fn.spinner;
|
||||
});
|
||||
6
assets/dashboard/plugins/jquery-spinner/js/jquery.spinner.min.js
vendored
Normal file
6
assets/dashboard/plugins/jquery-spinner/js/jquery.spinner.min.js
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* jquery.spinner v0.2.1 (https://vsn4ik.github.io/jquery.spinner/)
|
||||
* Copyright 2013-2016 xixilive
|
||||
* Licensed under the MIT license
|
||||
*/
|
||||
"use strict";!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){var b,c,d=function(b,c){return this.$el=b,this.options=a.extend({},d.rules.defaults,d.rules[c.rule]||{},c),this.min=Number(this.options.min)||0,this.max=Number(this.options.max)||0,this.$el.on({"focus.spinner":a.proxy(function(b){b.preventDefault(),a(document).trigger("mouseup.spinner"),this.oldValue=this.value()},this),"change.spinner":a.proxy(function(a){a.preventDefault(),this.value(this.$el.val())},this),"keydown.spinner":a.proxy(function(a){var b={38:"up",40:"down"}[a.which];b&&(a.preventDefault(),this.spin(b))},this)}),this.oldValue=this.value(),this.value(this.$el.val()),this};d.rules={defaults:{min:null,max:null,step:1,precision:0},currency:{min:0,max:null,step:.01,precision:2},quantity:{min:1,max:999,step:1,precision:0},percent:{min:1,max:100,step:1,precision:0},month:{min:1,max:12,step:1,precision:0},day:{min:1,max:31,step:1,precision:0},hour:{min:0,max:23,step:1,precision:0},minute:{min:1,max:59,step:1,precision:0},second:{min:1,max:59,step:1,precision:0}},d.prototype={spin:function(b){if(!this.$el.prop("disabled")){this.oldValue=this.value();var c=a.isFunction(this.options.step)?this.options.step.call(this,b):this.options.step,d="up"===b?1:-1;this.value(this.oldValue+Number(c)*d)}},value:function(d){if(null===d||void 0===d)return this.numeric(this.$el.val());d=this.numeric(d);var e=this.validate(d);0!==e&&(d=e===-1?this.min:this.max),this.$el.val(d.toFixed(this.options.precision)),this.oldValue!==this.value()&&(this.$el.trigger("changing.spinner",[this.value(),this.oldValue]),clearTimeout(b),b=setTimeout(a.proxy(function(){this.$el.trigger("changed.spinner",[this.value(),this.oldValue])},this),c.delay))},numeric:function(a){return a=this.options.precision>0?parseFloat(a,10):parseInt(a,10),isFinite(a)?a:a||this.options.min||0},validate:function(a){return null!==this.options.min&&a<this.min?-1:null!==this.options.max&&a>this.max?1:0}},c=function(b,c){this.$el=a(b),this.$spinning=this.$el.find('[data-spin="spinner"]'),0===this.$spinning.length&&(this.$spinning=this.$el.find(':input[type="text"]')),c=a.extend({},c,this.$spinning.data()),this.spinning=new d(this.$spinning,c),this.$el.on("click.spinner",'[data-spin="up"], [data-spin="down"]',a.proxy(this,"spin")).on("mousedown.spinner",'[data-spin="up"], [data-spin="down"]',a.proxy(this,"spin")),a(document).on("mouseup.spinner",a.proxy(function(){clearTimeout(this.spinTimeout),clearInterval(this.spinInterval)},this)),c.delay&&this.delay(c.delay),c.changed&&this.changed(c.changed),c.changing&&this.changing(c.changing)},c.delay=500,c.prototype={constructor:c,spin:function(b){var c=a(b.currentTarget).data("spin");switch(b.type){case"click":b.preventDefault(),this.spinning.spin(c);break;case"mousedown":1===b.which&&(this.spinTimeout=setTimeout(a.proxy(this,"beginSpin",c),300))}},delay:function(a){var b=Number(a);b>=0&&(this.constructor.delay=b+100)},value:function(){return this.spinning.value()},changed:function(a){this.bindHandler("changed.spinner",a)},changing:function(a){this.bindHandler("changing.spinner",a)},bindHandler:function(b,c){a.isFunction(c)?this.$spinning.on(b,c):this.$spinning.off(b)},beginSpin:function(b){this.spinInterval=setInterval(a.proxy(this.spinning,"spin",b),100)}};var e=a.fn.spinner;return a.fn.spinner=function(b,d){return this.each(function(){var e=a.data(this,"spinner");e||(e=new c(this,b),a.data(this,"spinner",e)),"delay"===b||"changed"===b||"changing"===b?e[b](d):"step"===b&&d?e.spinning.step=d:"spin"===b&&d&&e.spinning.spin(d)})},a.fn.spinner.Constructor=c,a.fn.spinner.noConflict=function(){return a.fn.spinner=e,this},a(function(){a('[data-trigger="spinner"]').spinner()}),a.fn.spinner});
|
||||
Reference in New Issue
Block a user