adds static files to server
This commit is contained in:
163
server/static/js/colorPick.js
Normal file
163
server/static/js/colorPick.js
Normal file
@ -0,0 +1,163 @@
|
||||
/*!
|
||||
*
|
||||
* ColorPick jQuery plugin
|
||||
* https://github.com/philzet/ColorPick.js
|
||||
*
|
||||
* Copyright (c) 2017-2019 Phil Zet (a.k.a. Phil Zakharchenko)
|
||||
* Licensed under the MIT License
|
||||
*
|
||||
*/
|
||||
(function( $ ) {
|
||||
|
||||
$.fn.colorPick = function(config) {
|
||||
|
||||
return this.each(function() {
|
||||
new $.colorPick(this, config || {});
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
$.colorPick = function (element, options) {
|
||||
options = options || {};
|
||||
this.options = $.extend({}, $.fn.colorPick.defaults, options);
|
||||
if(options.str) {
|
||||
this.options.str = $.extend({}, $.fn.colorPick.defaults.str, options.str);
|
||||
}
|
||||
$.fn.colorPick.defaults = this.options;
|
||||
this.color = this.options.initialColor.toUpperCase();
|
||||
this.element = $(element);
|
||||
|
||||
var dataInitialColor = this.element.data('initialcolor');
|
||||
if (dataInitialColor) {
|
||||
this.color = dataInitialColor;
|
||||
this.appendToStorage(this.color);
|
||||
}
|
||||
|
||||
var uniquePalette = [];
|
||||
$.each($.fn.colorPick.defaults.palette.map(function(x){ return x.toUpperCase() }), function(i, el){
|
||||
if($.inArray(el, uniquePalette) === -1) uniquePalette.push(el);
|
||||
});
|
||||
|
||||
this.palette = uniquePalette;
|
||||
|
||||
return this.element.hasClass(this.options.pickrclass) ? this : this.init();
|
||||
};
|
||||
|
||||
$.fn.colorPick.defaults = {
|
||||
'initialColor': '#3498db',
|
||||
'paletteLabel': 'Default palette:',
|
||||
'allowRecent': true,
|
||||
'recentMax': 5,
|
||||
'allowCustomColor': false,
|
||||
'palette': ["#1abc9c", "#16a085", "#2ecc71", "#27ae60", "#3498db", "#2980b9", "#9b59b6", "#8e44ad", "#34495e", "#2c3e50", "#f1c40f", "#f39c12", "#e67e22", "#d35400", "#e74c3c", "#c0392b", "#ecf0f1", "#bdc3c7", "#95a5a6", "#7f8c8d"],
|
||||
'onColorSelected': function() {
|
||||
this.element.css({'backgroundColor': this.color, 'color': this.color});
|
||||
}
|
||||
};
|
||||
|
||||
$.colorPick.prototype = {
|
||||
|
||||
init : function(){
|
||||
|
||||
var self = this;
|
||||
var o = this.options;
|
||||
|
||||
$.proxy($.fn.colorPick.defaults.onColorSelected, this)();
|
||||
|
||||
this.element.click(function(event) {
|
||||
event.preventDefault();
|
||||
self.show(event.pageX, event.pageY);
|
||||
|
||||
$('.customColorHash').val(self.color);
|
||||
|
||||
$('.colorPickButton').click(function(event) {
|
||||
self.color = $(event.target).attr('hexValue');
|
||||
self.appendToStorage($(event.target).attr('hexValue'));
|
||||
self.hide();
|
||||
$.proxy(self.options.onColorSelected, self)();
|
||||
return false;
|
||||
});
|
||||
$('.customColorHash').click(function(event) {
|
||||
return false;
|
||||
}).keyup(function (event) {
|
||||
var hash = $(this).val();
|
||||
if (hash.indexOf('#') !== 0) {
|
||||
hash = "#"+hash;
|
||||
}
|
||||
if (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(hash)) {
|
||||
self.color = hash;
|
||||
self.appendToStorage(hash);
|
||||
$.proxy(self.options.onColorSelected, self)();
|
||||
$(this).removeClass('error');
|
||||
} else {
|
||||
$(this).addClass('error');
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
}).blur(function() {
|
||||
self.element.val(self.color);
|
||||
$.proxy(self.options.onColorSelected, self)();
|
||||
self.hide();
|
||||
return false;
|
||||
});
|
||||
|
||||
$(document).on('click', function(event) {
|
||||
self.hide();
|
||||
return true;
|
||||
});
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
appendToStorage: function(color) {
|
||||
if ($.fn.colorPick.defaults.allowRecent === true) {
|
||||
var storedColors = JSON.parse(localStorage.getItem("colorPickRecentItems"));
|
||||
if (storedColors == null) {
|
||||
storedColors = [];
|
||||
}
|
||||
if ($.inArray(color, storedColors) == -1) {
|
||||
storedColors.unshift(color);
|
||||
storedColors = storedColors.slice(0, $.fn.colorPick.defaults.recentMax)
|
||||
localStorage.setItem("colorPickRecentItems", JSON.stringify(storedColors));
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
show: function(left, top) {
|
||||
|
||||
$("#colorPick").remove();
|
||||
|
||||
$("body").append('<div id="colorPick" style="display:none;top:' + top + 'px;left:' + left + 'px"><span>'+$.fn.colorPick.defaults.paletteLabel+'</span></div>');
|
||||
jQuery.each(this.palette, function (index, item) {
|
||||
$("#colorPick").append('<div class="colorPickButton" hexValue="' + item + '" style="background:' + item + '"></div>');
|
||||
});
|
||||
if ($.fn.colorPick.defaults.allowCustomColor === true) {
|
||||
$("#colorPick").append('<input type="text" style="margin-top:5px" class="customColorHash" />');
|
||||
}
|
||||
if ($.fn.colorPick.defaults.allowRecent === true) {
|
||||
$("#colorPick").append('<span style="margin-top:5px">Recent:</span>');
|
||||
if (JSON.parse(localStorage.getItem("colorPickRecentItems")) == null || JSON.parse(localStorage.getItem("colorPickRecentItems")) == []) {
|
||||
$("#colorPick").append('<div class="colorPickButton colorPickDummy"></div>');
|
||||
} else {
|
||||
jQuery.each(JSON.parse(localStorage.getItem("colorPickRecentItems")), function (index, item) {
|
||||
$("#colorPick").append('<div class="colorPickButton" hexValue="' + item + '" style="background:' + item + '"></div>');
|
||||
if (index == $.fn.colorPick.defaults.recentMax-1) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
$("#colorPick").fadeIn(200);
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
$( "#colorPick" ).fadeOut(200, function() {
|
||||
$("#colorPick").remove();
|
||||
return this;
|
||||
});
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
}( jQuery ));
|
10
server/static/js/colorPick.min.js
vendored
Normal file
10
server/static/js/colorPick.min.js
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/*!
|
||||
*
|
||||
* ColorPick jQuery plugin
|
||||
* https://github.com/philzet/ColorPick.js
|
||||
*
|
||||
* Copyright (c) 2017-2019 Phil Zet (a.k.a. Phil Zakharchenko)
|
||||
* Licensed under the MIT License
|
||||
*
|
||||
*/
|
||||
!function(o){o.fn.colorPick=function(e){return this.each(function(){new o.colorPick(this,e||{})})},o.colorPick=function(e,t){t=t||{},this.options=o.extend({},o.fn.colorPick.defaults,t),t.str&&(this.options.str=o.extend({},o.fn.colorPick.defaults.str,t.str)),o.fn.colorPick.defaults=this.options,this.color=this.options.initialColor.toUpperCase(),this.element=o(e);var c=this.element.data("initialcolor");c&&(this.color=c,this.appendToStorage(this.color));var l=[];return o.each(o.fn.colorPick.defaults.palette.map(function(o){return o.toUpperCase()}),function(e,t){-1===o.inArray(t,l)&&l.push(t)}),this.palette=l,this.element.hasClass(this.options.pickrclass)?this:this.init()},o.fn.colorPick.defaults={initialColor:"#3498db",paletteLabel:"Default palette:",allowRecent:!0,recentMax:5,allowCustomColor:!1,palette:["#1abc9c","#16a085","#2ecc71","#27ae60","#3498db","#2980b9","#9b59b6","#8e44ad","#34495e","#2c3e50","#f1c40f","#f39c12","#e67e22","#d35400","#e74c3c","#c0392b","#ecf0f1","#bdc3c7","#95a5a6","#7f8c8d"],onColorSelected:function(){this.element.css({backgroundColor:this.color,color:this.color})}},o.colorPick.prototype={init:function(){var e=this;this.options;return o.proxy(o.fn.colorPick.defaults.onColorSelected,this)(),this.element.click(function(t){return t.preventDefault(),e.show(t.pageX,t.pageY),o(".customColorHash").val(e.color),o(".colorPickButton").click(function(t){return e.color=o(t.target).attr("hexValue"),e.appendToStorage(o(t.target).attr("hexValue")),e.hide(),o.proxy(e.options.onColorSelected,e)(),!1}),o(".customColorHash").click(function(o){return!1}).keyup(function(t){var c=o(this).val();0!==c.indexOf("#")&&(c="#"+c),/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(c)?(e.color=c,e.appendToStorage(c),o.proxy(e.options.onColorSelected,e)(),o(this).removeClass("error")):o(this).addClass("error")}),!1}).blur(function(){return e.element.val(e.color),o.proxy(e.options.onColorSelected,e)(),e.hide(),!1}),o(document).on("click",function(o){return e.hide(),!0}),this},appendToStorage:function(e){if(!0===o.fn.colorPick.defaults.allowRecent){var t=JSON.parse(localStorage.getItem("colorPickRecentItems"));null==t&&(t=[]),-1==o.inArray(e,t)&&(t.unshift(e),t=t.slice(0,o.fn.colorPick.defaults.recentMax),localStorage.setItem("colorPickRecentItems",JSON.stringify(t)))}},show:function(e,t){o("#colorPick").remove(),o("body").append('<div id="colorPick" style="display:none;top:'+t+"px;left:"+e+'px"><span>'+o.fn.colorPick.defaults.paletteLabel+"</span></div>"),jQuery.each(this.palette,function(e,t){o("#colorPick").append('<div class="colorPickButton" hexValue="'+t+'" style="background:'+t+'"></div>')}),!0===o.fn.colorPick.defaults.allowCustomColor&&o("#colorPick").append('<input type="text" style="margin-top:5px" class="customColorHash" />'),!0===o.fn.colorPick.defaults.allowRecent&&(o("#colorPick").append('<span style="margin-top:5px">Recent:</span>'),null==JSON.parse(localStorage.getItem("colorPickRecentItems"))||JSON.parse(localStorage.getItem("colorPickRecentItems"))==[]?o("#colorPick").append('<div class="colorPickButton colorPickDummy"></div>'):jQuery.each(JSON.parse(localStorage.getItem("colorPickRecentItems")),function(e,t){if(o("#colorPick").append('<div class="colorPickButton" hexValue="'+t+'" style="background:'+t+'"></div>'),e==o.fn.colorPick.defaults.recentMax-1)return!1})),o("#colorPick").fadeIn(200)},hide:function(){o("#colorPick").fadeOut(200,function(){return o("#colorPick").remove(),this})}}}(jQuery);
|
0
server/static/js/index.js
Normal file
0
server/static/js/index.js
Normal file
2
server/static/js/jquery-3.5.0.min.js
vendored
Normal file
2
server/static/js/jquery-3.5.0.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user