#141 Implement bootstrap-iconpicker
parent
b4b3417b14
commit
f927fb8f2b
@ -0,0 +1,494 @@
|
||||
/* ========================================================================
|
||||
* Bootstrap: bootstrap-iconpicker.js v1.6.0 by @recktoner
|
||||
* https://victor-valencia.github.com/bootstrap-iconpicker
|
||||
* ========================================================================
|
||||
* Copyright 2013-2014 Victor Valencia Rico.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ======================================================================== */
|
||||
|
||||
; (function ($) {
|
||||
"use strict";
|
||||
|
||||
// ICONPICKER PUBLIC CLASS DEFINITION
|
||||
// ==============================
|
||||
var Iconpicker = function (element, options) {
|
||||
this.$element = $(element);
|
||||
this.options = $.extend({}, Iconpicker.DEFAULTS, this.$element.data());
|
||||
this.options = $.extend({}, this.options, options);
|
||||
};
|
||||
|
||||
// ICONPICKER ICONSET_EMPTY
|
||||
// ==============================
|
||||
Iconpicker.ICONSET_EMPTY = {
|
||||
iconClass: '',
|
||||
iconClassFix: '',
|
||||
icons: []
|
||||
};
|
||||
|
||||
// ICONPICKER ICONSET
|
||||
// ==============================
|
||||
Iconpicker.ICONSET = {
|
||||
_custom: null,
|
||||
elusiveicon: $.iconset_elusiveicon || Iconpicker.ICONSET_EMPTY,
|
||||
fontawesome: $.iconset_fontawesome || Iconpicker.ICONSET_EMPTY,
|
||||
ionicon: $.iconset_ionicon || Iconpicker.ICONSET_EMPTY,
|
||||
glyphicon: $.iconset_glyphicon || Iconpicker.ICONSET_EMPTY,
|
||||
mapicon: $.iconset_mapicon || Iconpicker.ICONSET_EMPTY,
|
||||
octicon: $.iconset_octicon || Iconpicker.ICONSET_EMPTY,
|
||||
typicon: $.iconset_typicon || Iconpicker.ICONSET_EMPTY,
|
||||
weathericon: $.iconset_weathericon || Iconpicker.ICONSET_EMPTY
|
||||
};
|
||||
|
||||
// ICONPICKER DEFAULTS
|
||||
// ==============================
|
||||
Iconpicker.DEFAULTS = {
|
||||
arrowClass: 'btn-primary',
|
||||
arrowNextIconClass: 'glyphicon glyphicon-arrow-right',
|
||||
arrowPrevIconClass: 'glyphicon glyphicon-arrow-left',
|
||||
cols: 4,
|
||||
icon: '',
|
||||
iconset: 'glyphicon',
|
||||
labelHeader: '{0} / {1}',
|
||||
labelFooter: '{0} - {1} of {2}',
|
||||
placement: 'bottom',
|
||||
rows: 4,
|
||||
search: true,
|
||||
searchText: 'Search icon',
|
||||
selectedClass: 'btn-warning',
|
||||
unselectedClass: 'btn-default'
|
||||
};
|
||||
|
||||
// ICONPICKER PRIVATE METHODS
|
||||
// ==============================
|
||||
Iconpicker.prototype.bindEvents = function () {
|
||||
var op = this.options;
|
||||
var el = this;
|
||||
op.table.find('.btn-previous, .btn-next').off('click').on('click', function () {
|
||||
var inc = parseInt($(this).val(), 10);
|
||||
el.changeList(op.page + inc);
|
||||
});
|
||||
op.table.find('.btn-icon').off('click').on('click', function () {
|
||||
el.select($(this).val());
|
||||
el.$element.popover('destroy');
|
||||
});
|
||||
op.table.find('.search-control').off('keyup').on('keyup', function () {
|
||||
el.changeList(1);
|
||||
});
|
||||
};
|
||||
|
||||
//new match function
|
||||
Iconpicker.prototype.matchEx = function (opIcon, icon) {
|
||||
return icon === opIcon.icon ||
|
||||
icon === opIcon.iconClassFix + opIcon.icon ||
|
||||
icon === opIcon.iconClass + ' ' + opIcon.iconClassFix + opIcon.icon ||
|
||||
icon.replace(opIcon.iconClassFix, '') == opIcon.icon;
|
||||
};
|
||||
|
||||
Iconpicker.prototype.changeList = function (page) {
|
||||
this.filterIcons();
|
||||
this.updateLabels(page);
|
||||
this.updateIcons(page);
|
||||
this.options.page = page;
|
||||
this.bindEvents();
|
||||
};
|
||||
|
||||
Iconpicker.prototype.filterIcons = function () {
|
||||
var op = this.options;
|
||||
var search = op.table.find('.search-control').val();
|
||||
if (search === "") {
|
||||
op.icons = op.cacheset;
|
||||
}
|
||||
else {
|
||||
var result = [];
|
||||
$.each(op.cacheset, function (i, v) {
|
||||
if (v.icon.indexOf(search) > -1)
|
||||
result.push(v);
|
||||
});
|
||||
op.icons = result;
|
||||
}
|
||||
};
|
||||
|
||||
Iconpicker.prototype.removeAddClass = function (target, remove, add) {
|
||||
this.options.table.find(target).removeClass(remove).addClass(add);
|
||||
return add;
|
||||
};
|
||||
|
||||
Iconpicker.prototype.reset = function () {
|
||||
this.updatePicker();
|
||||
this.changeList(1);
|
||||
};
|
||||
|
||||
Iconpicker.prototype.select = function (icon) {
|
||||
var op = this.options;
|
||||
var el = this.$element;
|
||||
for (var i = 0; i < op.icons.length; i++) {
|
||||
if (this.matchEx(op.icons[i], icon)) {
|
||||
icon = op.icons[i];
|
||||
op.selected = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (op.selected === -1) {
|
||||
op.selected = 0;
|
||||
icon = op.icons[op.selected];
|
||||
}
|
||||
if (icon !== '' && op.selected >= 0) {
|
||||
var icoStr = '';
|
||||
if (op.iconset.length > 1)
|
||||
icoStr = icon.iconClass + ' ' + icon.iconClassFix + icon.icon;
|
||||
else
|
||||
icoStr = icon.iconClassFix + icon.icon;
|
||||
|
||||
op.icon = icoStr;
|
||||
|
||||
el.find('input').val(icoStr);
|
||||
el.find('i').attr('class', '').addClass(icon.iconClass).addClass(icon.iconClassFix + icon.icon);
|
||||
el.trigger({ type: "change", icon: icoStr });
|
||||
op.table.find('button.' + op.selectedClass).removeClass(op.selectedClass);
|
||||
}
|
||||
};
|
||||
|
||||
Iconpicker.prototype.switchPage = function (icon) {
|
||||
var op = this.options;
|
||||
for (var i = 0; i < op.icons.length; i++) {
|
||||
if (this.matchEx(op.icons[i], icon)) {
|
||||
icon = op.icons[i];
|
||||
op.selected = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (op.selected === -1) {
|
||||
icon === '';
|
||||
}
|
||||
if (icon !== '' && op.selected >= 0) {
|
||||
var page = Math.ceil((op.selected + 1) / this.totalIconsPerPage());
|
||||
this.changeList(page);
|
||||
}
|
||||
op.table.find('i.' + icon.iconClassFix + icon.icon).parent().addClass(op.selectedClass);
|
||||
};
|
||||
|
||||
Iconpicker.prototype.totalPages = function () {
|
||||
return Math.ceil(this.totalIcons() / this.totalIconsPerPage());
|
||||
};
|
||||
|
||||
Iconpicker.prototype.totalIcons = function () {
|
||||
return this.options.icons.length;
|
||||
};
|
||||
|
||||
Iconpicker.prototype.totalIconsPerPage = function () {
|
||||
return this.options.cols * this.options.rows;
|
||||
};
|
||||
|
||||
Iconpicker.prototype.updateArrows = function (page) {
|
||||
var op = this.options;
|
||||
var total_pages = this.totalPages();
|
||||
if (page === 1) {
|
||||
op.table.find('.btn-previous').addClass('disabled');
|
||||
}
|
||||
else {
|
||||
op.table.find('.btn-previous').removeClass('disabled');
|
||||
}
|
||||
if (page === total_pages || total_pages === 0) {
|
||||
op.table.find('.btn-next').addClass('disabled');
|
||||
}
|
||||
else {
|
||||
op.table.find('.btn-next').removeClass('disabled');
|
||||
}
|
||||
};
|
||||
|
||||
Iconpicker.prototype.updateIcons = function (page) {
|
||||
var op = this.options;
|
||||
var tbody = op.table.find('tbody').empty();
|
||||
var offset = (page - 1) * this.totalIconsPerPage();
|
||||
for (var i = 0; i < op.rows; i++) {
|
||||
var tr = $('<tr></tr>');
|
||||
for (var j = 0; j < op.cols; j++) {
|
||||
var pos = offset + (i * op.cols) + j;
|
||||
var btn = $('<button class="btn ' + op.unselectedClass + ' btn-icon"></button>').hide();
|
||||
if (pos < op.icons.length) {
|
||||
var ico = op.icons[pos];
|
||||
var v = ico.iconClassFix + ico.icon;
|
||||
btn.val(v).attr('title', v).append('<i class="' + ico.iconClass + ' ' + v + '"></i>').data('icon-picker-icon', ico).show();
|
||||
if (this.matchEx(ico, op.icon)) {
|
||||
console.log('matched');
|
||||
btn.addClass(op.selectedClass).addClass('btn-icon-selected');
|
||||
}
|
||||
}
|
||||
tr.append($('<td></td>').append(btn));
|
||||
}
|
||||
tbody.append(tr);
|
||||
}
|
||||
};
|
||||
|
||||
Iconpicker.prototype.updateIconsCount = function () {
|
||||
var op = this.options;
|
||||
var icons_count = [
|
||||
'<tr>',
|
||||
' <td colspan="' + op.cols + '" class="text-center">',
|
||||
' <span class="icons-count"></span>',
|
||||
' </td>',
|
||||
'</tr>'
|
||||
];
|
||||
op.table.find('tfoot').empty().append(icons_count.join(''));
|
||||
};
|
||||
|
||||
Iconpicker.prototype.updateLabels = function (page) {
|
||||
var op = this.options;
|
||||
var total_icons = this.totalIcons();
|
||||
var total_pages = this.totalPages();
|
||||
op.table.find('.page-count').html(op.labelHeader.replace('{0}', (total_pages === 0) ? 0 : page).replace('{1}', total_pages));
|
||||
var offset = (page - 1) * this.totalIconsPerPage();
|
||||
var total = page * this.totalIconsPerPage();
|
||||
op.table.find('.icons-count').html(op.labelFooter.replace('{0}', offset + 1).replace('{1}', (total < total_icons) ? total : total_icons).replace('{2}', total_icons));
|
||||
this.updateArrows(page);
|
||||
};
|
||||
|
||||
Iconpicker.prototype.updatePagesCount = function () {
|
||||
var op = this.options;
|
||||
var tr = $('<tr></tr>');
|
||||
for (var i = 0; i < op.cols; i++) {
|
||||
var td = $('<td class="text-center"></td>');
|
||||
if (i === 0 || i === op.cols - 1) {
|
||||
var arrow = [
|
||||
'<button class="btn btn-arrow ' + ((i === 0) ? 'btn-previous' : 'btn-next') + ' ' + op.arrowClass + '" value="' + ((i === 0) ? -1 : 1) + '">',
|
||||
'<span class="' + ((i === 0) ? op.arrowPrevIconClass : op.arrowNextIconClass) + '"></span>',
|
||||
'</button>'
|
||||
];
|
||||
td.append(arrow.join(''));
|
||||
tr.append(td);
|
||||
}
|
||||
else if (tr.find('.page-count').length === 0) {
|
||||
td.attr('colspan', op.cols - 2).append('<span class="page-count"></span>');
|
||||
tr.append(td);
|
||||
}
|
||||
}
|
||||
op.table.find('thead').empty().append(tr);
|
||||
};
|
||||
|
||||
Iconpicker.prototype.updatePicker = function () {
|
||||
var op = this.options;
|
||||
if (op.cols < 4) {
|
||||
throw 'Iconpicker => The number of columns must be greater than or equal to 4. [option.cols = ' + op.cols + ']';
|
||||
}
|
||||
else if (op.rows < 1) {
|
||||
throw 'Iconpicker => The number of rows must be greater than or equal to 1. [option.rows = ' + op.rows + ']';
|
||||
}
|
||||
else {
|
||||
this.updatePagesCount();
|
||||
this.updateSearch();
|
||||
this.updateIconsCount();
|
||||
}
|
||||
};
|
||||
|
||||
Iconpicker.prototype.updateSearch = function () {
|
||||
var op = this.options;
|
||||
var search = [
|
||||
'<tr>',
|
||||
' <td colspan="' + op.cols + '">',
|
||||
' <input type="text" class="form-control search-control" style="width: ' + op.cols * 39 + 'px;" placeholder="' + op.searchText + '">',
|
||||
' </td>',
|
||||
'</tr>'
|
||||
];
|
||||
search = $(search.join(''));
|
||||
if (op.search === true) {
|
||||
search.show();
|
||||
}
|
||||
else {
|
||||
search.hide();
|
||||
}
|
||||
op.table.find('thead').append(search);
|
||||
};
|
||||
|
||||
// ICONPICKER PUBLIC METHODS
|
||||
// ==============================
|
||||
Iconpicker.prototype.setArrowClass = function (value) {
|
||||
this.options.arrowClass = this.removeAddClass('.btn-arrow', this.options.arrowClass, value);
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setArrowNextIconClass = function (value) {
|
||||
this.options.arrowNextIconClass = this.removeAddClass('.btn-next > span', this.options.arrowNextIconClass, value);
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setArrowPrevIconClass = function (value) {
|
||||
this.options.arrowPrevIconClass = this.removeAddClass('.btn-previous > span', this.options.arrowPrevIconClass, value);
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setCols = function (value) {
|
||||
this.options.cols = value;
|
||||
this.reset();
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setIcon = function (value) {
|
||||
this.select(value);
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setIconset = function (value) {
|
||||
var op = this.options;
|
||||
value = [].concat(value);
|
||||
var evalSet = [];
|
||||
var customSets = 0;
|
||||
$.each(value, function (index, setItem) {
|
||||
if ($.isPlainObject(setItem)) {
|
||||
customSets++;
|
||||
var setName = String('_custom' + String(customSets));
|
||||
Iconpicker.ICONSET[setName] = $.extend(Iconpicker.ICONSET_EMPTY, setItem);
|
||||
evalSet.push(setName);
|
||||
} else {
|
||||
var subSet = setItem.split(/\|/gi);
|
||||
$.each(subSet, function (subIndex, subSetItem) {
|
||||
if (!Iconpicker.ICONSET.hasOwnProperty(subSetItem)) {
|
||||
Iconpicker.ICONSET[subSetItem] = Iconpicker.DEFAULTS.iconset;
|
||||
evalSet.push(subSetItem);
|
||||
}
|
||||
else {
|
||||
evalSet.push(subSetItem);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
this.options.iconset = evalSet;
|
||||
var cacheset = [];
|
||||
$.each(op.iconset, function (setIndex, setItem) {
|
||||
var set = Iconpicker.ICONSET[setItem];
|
||||
$.each(set.icons, function (i, v) {
|
||||
cacheset.push({ icon: v, iconClass: set.iconClass, iconClassFix: set.iconClassFix })
|
||||
});
|
||||
});
|
||||
this.options.cacheset = cacheset;
|
||||
this.reset();
|
||||
this.select(op.icon);
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setLabelHeader = function (value) {
|
||||
this.options.labelHeader = value;
|
||||
this.updateLabels(this.options.page);
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setLabelFooter = function (value) {
|
||||
this.options.labelFooter = value;
|
||||
this.updateLabels(this.options.page);
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setPlacement = function (value) {
|
||||
this.options.placement = value;
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setRows = function (value) {
|
||||
this.options.rows = value;
|
||||
this.reset();
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setSearch = function (value) {
|
||||
var search = this.options.table.find('.search-control');
|
||||
if (value === true) {
|
||||
search.show();
|
||||
}
|
||||
else {
|
||||
search.hide();
|
||||
}
|
||||
search.val('');
|
||||
this.changeList(1);
|
||||
this.options.search = value;
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setSearchText = function (value) {
|
||||
this.options.table.find('.search-control').attr('placeholder', value);
|
||||
this.options.searchText = value;
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setSelectedClass = function (value) {
|
||||
this.options.selectedClass = this.removeAddClass('.btn-icon-selected', this.options.selectedClass, value);
|
||||
};
|
||||
|
||||
Iconpicker.prototype.setUnselectedClass = function (value) {
|
||||
this.options.unselectedClass = this.removeAddClass('.btn-icon', this.options.unselectedClass, value);
|
||||
};
|
||||
|
||||
// ICONPICKER PLUGIN DEFINITION
|
||||
// ========================
|
||||
var old = $.fn.iconpicker;
|
||||
$.fn.iconpicker = function (option, params) {
|
||||
return this.each(function () {
|
||||
var $this = $(this);
|
||||
var data = $this.data('bs.iconpicker');
|
||||
var options = typeof option === 'object' && option;
|
||||
if (!data) {
|
||||
$this.data('bs.iconpicker', (data = new Iconpicker(this, options)));
|
||||
}
|
||||
if (typeof option === 'string') {
|
||||
if (typeof data[option] === 'undefined') {
|
||||
throw 'Iconpicker => The "' + option + '" method does not exists.';
|
||||
}
|
||||
else {
|
||||
data[option](params);
|
||||
}
|
||||
}
|
||||
else {
|
||||
var op = data.options;
|
||||
op = $.extend(op, {
|
||||
page: 1,
|
||||
selected: -1,
|
||||
table: $('<table class="table-icons"><thead></thead><tbody></tbody><tfoot></tfoot></table>')
|
||||
});
|
||||
var name = (typeof $this.attr('name') !== 'undefined') ? 'name="' + $this.attr('name') + '"' : '';
|
||||
$this.empty()
|
||||
.append('<i></i>')
|
||||
.append('<input type="hidden" ' + name + '></input>')
|
||||
.append('<span class="caret"></span>');
|
||||
$this.addClass('iconpicker');
|
||||
data.setIconset(op.iconset);
|
||||
$this.on('click', function (e) {
|
||||
e.preventDefault();
|
||||
$this.popover({
|
||||
animation: false,
|
||||
trigger: 'manual',
|
||||
html: true,
|
||||
content: op.table,
|
||||
container: 'body',
|
||||
placement: op.placement
|
||||
}).on('shown.bs.popover', function () {
|
||||
data.switchPage(op.icon);
|
||||
data.bindEvents();
|
||||
});
|
||||
$this.data('bs.popover').tip().addClass('iconpicker-popover');
|
||||
$this.popover('show');
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.iconpicker.Constructor = Iconpicker;
|
||||
|
||||
// ICONPICKER NO CONFLICT
|
||||
// ==================
|
||||
$.fn.iconpicker.noConflict = function () {
|
||||
$.fn.iconpicker = old;
|
||||
return this;
|
||||
};
|
||||
|
||||
// ICONPICKER DATA-API
|
||||
// ===============
|
||||
$(document).on('click', 'body', function (e) {
|
||||
$('.iconpicker').each(function () {
|
||||
//the 'is' for buttons that trigger popups
|
||||
//the 'has' for icons within a button that triggers a popup
|
||||
if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {
|
||||
$(this).popover('destroy');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('button[role="iconpicker"]').iconpicker();
|
||||
|
||||
})(jQuery);
|
@ -0,0 +1,623 @@
|
||||
/* ========================================================================
|
||||
* Bootstrap: iconset-fontawesome-4.3.0.js by @recktoner
|
||||
* https://victor-valencia.github.com/bootstrap-iconpicker
|
||||
*
|
||||
* Iconset: Font Awesome 4.3.0
|
||||
* http://fortawesome.github.io/Font-Awesome/
|
||||
* ========================================================================
|
||||
* Copyright 2013-2014 Victor Valencia Rico.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ======================================================================== */
|
||||
|
||||
;(function($){
|
||||
|
||||
$.iconset_fontawesome = {
|
||||
iconClass: 'fa',
|
||||
iconClassFix: 'fa-',
|
||||
icons: [
|
||||
'adn',
|
||||
'align-center',
|
||||
'align-justify',
|
||||
'align-left',
|
||||
'align-right',
|
||||
'ambulance',
|
||||
'anchor',
|
||||
'android',
|
||||
'angellist',
|
||||
'angle-double-down',
|
||||
'angle-double-left',
|
||||
'angle-double-right',
|
||||
'angle-double-up',
|
||||
'angle-down',
|
||||
'angle-left',
|
||||
'angle-right',
|
||||
'angle-up',
|
||||
'apple',
|
||||
'archive',
|
||||
'area-chart',
|
||||
'arrow-circle-down',
|
||||
'arrow-circle-left',
|
||||
'arrow-circle-o-down',
|
||||
'arrow-circle-o-left',
|
||||
'arrow-circle-o-right',
|
||||
'arrow-circle-o-up',
|
||||
'arrow-circle-right',
|
||||
'arrow-circle-up',
|
||||
'arrow-down',
|
||||
'arrow-left',
|
||||
'arrow-right',
|
||||
'arrow-up',
|
||||
'arrows',
|
||||
'arrows-alt',
|
||||
'arrows-h',
|
||||
'arrows-v',
|
||||
'asterisk',
|
||||
'at',
|
||||
'automobile',
|
||||
'backward',
|
||||
'ban',
|
||||
'bank',
|
||||
'bar-chart',
|
||||
'bar-chart-o',
|
||||
'barcode',
|
||||
'bars',
|
||||
'bed',
|
||||
'beer',
|
||||
'behance',
|
||||
'behance-square',
|
||||
'bell',
|
||||
'bell-o',
|
||||
'bell-slash',
|
||||
'bell-slash-o',
|
||||
'bicycle',
|
||||
'binoculars',
|
||||
'birthday-cake',
|
||||
'bitbucket',
|
||||
'bitbucket-square',
|
||||
'bitcoin',
|
||||
'bold',
|
||||
'bolt',
|
||||
'bomb',
|
||||
'book',
|
||||
'bookmark',
|
||||
'bookmark-o',
|
||||
'briefcase',
|
||||
'btc',
|
||||
'bug',
|
||||
'building',
|
||||
'building-o',
|
||||
'bullhorn',
|
||||
'bullseye',
|
||||
'bus',
|
||||
'buysellads',
|
||||
'cab',
|
||||
'calculator',
|
||||
'calendar',
|
||||
'calendar-o',
|
||||
'camera',
|
||||
'camera-retro',
|
||||
'car',
|
||||
'caret-down',
|
||||
'caret-left',
|
||||
'caret-right',
|
||||
'caret-square-o-down',
|
||||
'caret-square-o-left',
|
||||
'caret-square-o-right',
|
||||
'caret-square-o-up',
|
||||
'caret-up',
|
||||
'cart-arrow-down',
|
||||
'cart-plus',
|
||||
'cc',
|
||||
'cc-amex',
|
||||
'cc-discover',
|
||||
'cc-mastercard',
|
||||
'cc-paypal',
|
||||
'cc-stripe',
|
||||
'cc-visa',
|
||||
'certificate',
|
||||
'chain',
|
||||
'chain-broken',
|
||||
'check',
|
||||
'check-circle',
|
||||
'check-circle-o',
|
||||
'check-square',
|
||||
'check-square-o',
|
||||
'chevron-circle-down',
|
||||
'chevron-circle-left',
|
||||
'chevron-circle-right',
|
||||
'chevron-circle-up',
|
||||
'chevron-down',
|
||||
'chevron-left',
|
||||
'chevron-right',
|
||||
'chevron-up',
|
||||
'child',
|
||||
'circle',
|
||||
'circle-o',
|
||||
'circle-o-notch',
|
||||
'circle-thin',
|
||||
'clipboard',
|
||||
'clock-o',
|
||||
'close',
|
||||
'cloud',
|
||||
'cloud-download',
|
||||
'cloud-upload',
|
||||
'cny',
|
||||
'code',
|
||||
'code-fork',
|
||||
'codepen',
|
||||
'coffee',
|
||||
'cog',
|
||||
'cogs',
|
||||
'columns',
|
||||
'comment',
|
||||
'comment-o',
|
||||
'comments',
|
||||
'comments-o',
|
||||
'compass',
|
||||
'compress',
|
||||
'connectdevelop',
|
||||
'copy',
|
||||
'copyright',
|
||||
'credit-card',
|
||||
'crop',
|
||||
'crosshairs',
|
||||
'css3',
|
||||
'cube',
|
||||
'cubes',
|
||||
'cut',
|
||||
'cutlery',
|
||||
'dashboard',
|
||||
'dashcube',
|
||||
'database',
|
||||
'dedent',
|
||||
'delicious',
|
||||
'desktop',
|
||||
'deviantart',
|
||||
'diamond',
|
||||
'digg',
|
||||
'dollar',
|
||||
'dot-circle-o',
|
||||
'download',
|
||||
'dribbble',
|
||||
'dropbox',
|
||||
'drupal',
|
||||
'edit',
|
||||
'eject',
|
||||
'ellipsis-h',
|
||||
'ellipsis-v',
|
||||
'empire',
|
||||
'envelope',
|
||||
'envelope-o',
|
||||
'envelope-square',
|
||||
'eraser',
|
||||
'eur',
|
||||
'euro',
|
||||
'exchange',
|
||||
'exclamation',
|
||||
'exclamation-circle',
|
||||
'exclamation-triangle',
|
||||
'expand',
|
||||
'external-link',
|
||||
'external-link-square',
|
||||
'eye',
|
||||
'eye-slash',
|
||||
'eyedropper',
|
||||
'facebook',
|
||||
'facebook-f',
|
||||
'facebook-official',
|
||||
'facebook-square',
|
||||
'fast-backward',
|
||||
'fast-forward',
|
||||
'fax',
|
||||
'female',
|
||||
'fighter-jet',
|
||||
'file',
|
||||
'file-archive-o',
|
||||
'file-audio-o',
|
||||
'file-code-o',
|
||||
'file-excel-o',
|
||||
'file-image-o',
|
||||
'file-movie-o',
|
||||
'file-o',
|
||||
'file-pdf-o',
|
||||
'file-photo-o',
|
||||
'file-picture-o',
|
||||
'file-powerpoint-o',
|
||||
'file-sound-o',
|
||||
'file-text',
|
||||
'file-text-o',
|
||||
'file-video-o',
|
||||
'file-word-o',
|
||||
'file-zip-o',
|
||||
'files-o',
|
||||
'film',
|
||||
'filter',
|
||||
'fire',
|
||||
'fire-extinguisher',
|
||||
'flag',
|
||||
'flag-checkered',
|
||||
'flag-o',
|
||||
'flash',
|
||||
'flask',
|
||||
'flickr',
|
||||
'floppy-o',
|
||||
'folder',
|
||||
'folder-o',
|
||||
'folder-open',
|
||||
'folder-open-o',
|
||||
'font',
|
||||
'forumbee',
|
||||
'forward',
|
||||
'foursquare',
|
||||
'frown-o',
|
||||
'futbol-o',
|
||||
'gamepad',
|
||||
'gavel',
|
||||
'gbp',
|
||||
'ge',
|
||||
'gear',
|
||||
'gears',
|
||||
'genderless',
|
||||
'gift',
|
||||
'git',
|
||||
'git-square',
|
||||
'github',
|
||||
'github-alt',
|
||||
'github-square',
|
||||
'gittip',
|
||||
'glass',
|
||||
'globe',
|
||||
'google',
|
||||
'google-plus',
|
||||
'google-plus-square',
|
||||
'google-wallet',
|
||||
'graduation-cap',
|
||||
'gratipay',
|
||||
'group',
|
||||
'h-square',
|
||||
'hacker-news',
|
||||
'hand-o-down',
|
||||
'hand-o-left',
|
||||
'hand-o-right',
|
||||
'hand-o-up',
|
||||
'hdd-o',
|
||||
'header',
|
||||
'headphones',
|
||||
'heart',
|
||||
'heart-o',
|
||||
'heartbeat',
|
||||
'history',
|
||||
'home',
|
||||
'hospital-o',
|
||||
'hotel',
|
||||
'html5',
|
||||
'ils',
|
||||
'image',
|
||||
'inbox',
|
||||
'indent',
|
||||
'info',
|
||||
'info-circle',
|
||||
'inr',
|
||||
'instagram',
|
||||
'institution',
|
||||
'ioxhost',
|
||||
'italic',
|
||||
'joomla',
|
||||
'jpy',
|
||||
'jsfiddle',
|
||||
'key',
|
||||
'keyboard-o',
|
||||
'krw',
|
||||
'language',
|
||||
'laptop',
|
||||
'lastfm',
|
||||
'lastfm-square',
|
||||
'leaf',
|
||||
'leanpub',
|
||||
'legal',
|
||||
'lemon-o',
|
||||
'level-down',
|
||||
'level-up',
|
||||
'life-bouy',
|
||||
'life-buoy',
|
||||
'life-ring',
|
||||
'life-saver',
|
||||
'lightbulb-o',
|
||||
'line-chart',
|
||||
'link',
|
||||
'linkedin',
|
||||
'linkedin-square',
|
||||
'linux',
|
||||
'list',
|
||||
'list-alt',
|
||||
'list-ol',
|
||||
'list-ul',
|
||||
'location-arrow',
|
||||
'lock',
|
||||
'long-arrow-down',
|
||||
'long-arrow-left',
|
||||
'long-arrow-right',
|
||||
'long-arrow-up',
|
||||
'magic',
|
||||
'magnet',
|
||||
'mail-forward',
|
||||
'mail-reply',
|
||||
'mail-reply-all',
|
||||
'male',
|
||||
'map-marker',
|
||||
'mars',
|
||||
'mars-double',
|
||||
'mars-stroke',
|
||||
'mars-stroke-h',
|
||||
'mars-stroke-v',
|
||||
'maxcdn',
|
||||
'meanpath',
|
||||
'medium',
|
||||
'medkit',
|
||||
'meh-o',
|
||||
'mercury',
|
||||
'microphone',
|
||||
'microphone-slash',
|
||||
'minus',
|
||||
'minus-circle',
|
||||
'minus-square',
|
||||
'minus-square-o',
|
||||
'mobile',
|
||||
'mobile-phone',
|
||||
'money',
|
||||
'moon-o',
|
||||
'mortar-board',
|
||||
'motorcycle',
|
||||
'music',
|
||||
'navicon',
|
||||
'neuter',
|
||||
'newspaper-o',
|
||||
'openid',
|
||||
'outdent',
|
||||
'pagelines',
|
||||
'paint-brush',
|
||||
'paper-plane',
|
||||
'paper-plane-o',
|
||||
'paperclip',
|
||||
'paragraph',
|
||||
'paste',
|
||||
'pause',
|
||||
'paw',
|
||||
'paypal',
|
||||
'pencil',
|
||||
'pencil-square',
|
||||
'pencil-square-o',
|
||||
'phone',
|
||||
'phone-square',
|
||||
'photo',
|
||||
'picture-o',
|
||||
'pie-chart',
|
||||
'pied-piper',
|
||||
'pied-piper-alt',
|
||||
'pinterest',
|
||||
'pinterest-p',
|
||||
'pinterest-square',
|
||||
'plane',
|
||||
'play',
|
||||
'play-circle',
|
||||
'play-circle-o',
|
||||
'plug',
|
||||
'plus',
|
||||
'plus-circle',
|
||||
'plus-square',
|
||||
'plus-square-o',
|
||||
'power-off',
|
||||
'print',
|
||||
'puzzle-piece',
|
||||
'qq',
|
||||
'qrcode',
|
||||
'question',
|
||||
'question-circle',
|
||||
'quote-left',
|
||||
'quote-right',
|
||||
'ra',
|
||||
'random',
|
||||
'rebel',
|
||||
'recycle',
|
||||
'reddit',
|
||||
'reddit-square',
|
||||
'refresh',
|
||||
'remove',
|
||||
'renren',
|
||||
'reorder',
|
||||
'repeat',
|
||||
'reply',
|
||||
'reply-all',
|
||||
'retweet',
|
||||
'rmb',
|
||||
'road',
|
||||
'rocket',
|
||||
'rotate-left',
|
||||
'rotate-right',
|
||||
'rouble',
|
||||
'rss',
|
||||
'rss-square',
|
||||
'rub',
|
||||
'ruble',
|
||||
'rupee',
|
||||
'save',
|
||||
'scissors',
|
||||
'search',
|
||||
'search-minus',
|
||||
'search-plus',
|
||||
'sellsy',
|
||||
'send',
|
||||
'send-o',
|
||||
'server',
|
||||
'share',
|
||||
'share-alt',
|
||||
'share-alt-square',
|
||||
'share-square',
|
||||
'share-square-o',
|
||||
'shekel',
|
||||
'sheqel',
|
||||
'shield',
|
||||
'ship',
|
||||
'shirtsinbulk',
|
||||
'shopping-cart',
|
||||
'sign-in',
|
||||
'sign-out',
|
||||
'signal',
|
||||
'simplybuilt',
|
||||
'sitemap',
|
||||
'skyatlas',
|
||||
'skype',
|
||||
'slack',
|
||||
'sliders',
|
||||
'slideshare',
|
||||
'smile-o',
|
||||
'soccer-ball-o',
|
||||
'sort',
|
||||
'sort-alpha-asc',
|
||||
'sort-alpha-desc',
|
||||
'sort-amount-asc',
|
||||
'sort-amount-desc',
|
||||
'sort-asc',
|
||||
'sort-desc',
|
||||
'sort-down',
|
||||
'sort-numeric-asc',
|
||||
'sort-numeric-desc',
|
||||
'sort-up',
|
||||
'soundcloud',
|
||||
'space-shuttle',
|
||||
'spinner',
|
||||
'spoon',
|
||||
'spotify',
|
||||
'square',
|
||||
'square-o',
|
||||
'stack-exchange',
|
||||
'stack-overflow',
|
||||
'star',
|
||||
'star-half',
|
||||
'star-half-empty',
|
||||
'star-half-full',
|
||||
'star-half-o',
|
||||
'star-o',
|
||||
'steam',
|
||||
'steam-square',
|
||||
'step-backward',
|
||||
'step-forward',
|
||||
'stethoscope',
|
||||
'stop',
|
||||
'street-view',
|
||||
'strikethrough',
|
||||
'stumbleupon',
|
||||
'stumbleupon-circle',
|
||||
'subscript',
|
||||
'subway',
|
||||
'suitcase',
|
||||
'sun-o',
|
||||
'superscript',
|
||||
'support',
|
||||
'table',
|
||||
'tablet',
|
||||
'tachometer',
|
||||
'tag',
|
||||
'tags',
|
||||
'tasks',
|
||||
'taxi',
|
||||
'tencent-weibo',
|
||||
'terminal',
|
||||
'text-height',
|
||||
'text-width',
|
||||
'th',
|
||||
'th-large',
|
||||
'th-list',
|
||||
'thumb-tack',
|
||||
'thumbs-down',
|
||||
'thumbs-o-down',
|
||||
'thumbs-o-up',
|
||||
'thumbs-up',
|
||||
'ticket',
|
||||
'times',
|
||||
'times-circle',
|
||||
'times-circle-o',
|
||||
'tint',
|
||||
'toggle-down',
|
||||
'toggle-left',
|
||||
'toggle-off',
|
||||
'toggle-on',
|
||||
'toggle-right',
|
||||
'toggle-up',
|
||||
'train',
|
||||
'transgender',
|
||||
'transgender-alt',
|
||||
'trash',
|
||||
'trash-o',
|
||||
'tree',
|
||||
'trello',
|
||||
'trophy',
|
||||
'truck',
|
||||
'try',
|
||||
'tty',
|
||||
'tumblr',
|
||||
'tumblr-square',
|
||||
'turkish-lira',
|
||||
'twitch',
|
||||
'twitter',
|
||||
'twitter-square',
|
||||
'umbrella',
|
||||
'underline',
|
||||
'undo',
|
||||
'university',
|
||||
'unlink',
|
||||
'unlock',
|
||||
'unlock-alt',
|
||||
'unsorted',
|
||||
'upload',
|
||||
'usd',
|
||||
'user',
|
||||
'user-md',
|
||||
'user-plus',
|
||||
'user-secret',
|
||||
'user-times',
|
||||
'users',
|
||||
'venus',
|
||||
'venus-double',
|
||||
'venus-mars',
|
||||
'viacoin',
|
||||
'video-camera',
|
||||
'vimeo-square',
|
||||
'vine',
|
||||
'vk',
|
||||
'volume-down',
|
||||
'volume-off',
|
||||
'volume-up',
|
||||
'warning',
|
||||
'wechat',
|
||||
'weibo',
|
||||
'weixin',
|
||||
'whatsapp',
|
||||
'wheelchair',
|
||||
'wifi',
|
||||
'windows',
|
||||
'won',
|
||||
'wordpress',
|
||||
'wrench',
|
||||
'xing',
|
||||
'xing-square',
|
||||
'yahoo',
|
||||
'yelp',
|
||||
'yen',
|
||||
'youtube',
|
||||
'youtube-play',
|
||||
'youtube-square'
|
||||
]};
|
||||
|
||||
})(jQuery);
|
@ -0,0 +1,208 @@
|
||||
/* ========================================================================
|
||||
* Bootstrap: iconset-octicon-2.1.2.js by @recktoner
|
||||
* https://victor-valencia.github.com/bootstrap-iconpicker
|
||||
*
|
||||
* Iconset: Octicons 2.1.2
|
||||
* https://octicons.github.com/
|
||||
* ========================================================================
|
||||
* Copyright 2013-2014 Victor Valencia Rico.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ======================================================================== */
|
||||
|
||||
;(function($){
|
||||
|
||||
$.iconset_octicon = {
|
||||
iconClass: 'octicon',
|
||||
iconClassFix: 'octicon-',
|
||||
icons: [
|
||||
'alert',
|
||||
'alignment-align',
|
||||
'alignment-aligned-to',
|
||||
'alignment-unalign',
|
||||
'arrow-down',
|
||||
'arrow-left',
|
||||
'arrow-right',
|
||||
'arrow-small-down',
|
||||
'arrow-small-left',
|
||||
'arrow-small-right',
|
||||
'arrow-small-up',
|
||||
'arrow-up',
|
||||
'beer',
|
||||
'book',
|
||||
'bookmark',
|
||||
'briefcase',
|
||||
'broadcast',
|
||||
'browser',
|
||||
'bug',
|
||||
'calendar',
|
||||
'check',
|
||||
'checklist',
|
||||
'chevron-down',
|
||||
'chevron-left',
|
||||
'chevron-right',
|
||||
'chevron-up',
|
||||
'circle-slash',
|
||||
'circuit-board',
|
||||
'clippy',
|
||||
'clock',
|
||||
'cloud-download',
|
||||
'cloud-upload',
|
||||
'code',
|
||||
'color-mode',
|
||||
'comment',
|
||||
'comment-discussion',
|
||||
'credit-card',
|
||||
'dash',
|
||||
'dashboard',
|
||||
'database',
|
||||
'device-camera',
|
||||
'device-camera-video',
|
||||
'device-desktop',
|
||||
'device-mobile',
|
||||
'diff',
|
||||
'diff-added',
|
||||
'diff-ignored',
|
||||
'diff-modified',
|
||||
'diff-removed',
|
||||
'diff-renamed',
|
||||
'ellipsis',
|
||||
'eye',
|
||||
'file-binary',
|
||||
'file-code',
|
||||
'file-directory',
|
||||
'file-media',
|
||||
'file-pdf',
|
||||
'file-submodule',
|
||||
'file-symlink-directory',
|
||||
'file-symlink-file',
|
||||
'file-text',
|
||||
'file-zip',
|
||||
'flame',
|
||||
'fold',
|
||||
'gear',
|
||||
'gift',
|
||||
'gist',
|
||||
'gist-secret',
|
||||
'git-branch',
|
||||
'git-commit',
|
||||
'git-compare',
|
||||
'git-merge',
|
||||
'git-pull-request',
|
||||
'globe',
|
||||
'graph',
|
||||
'heart',
|
||||
'history',
|
||||
'home',
|
||||
'horizontal-rule',
|
||||
'hourglass',
|
||||
'hubot',
|
||||
'inbox',
|
||||
'info',
|
||||
'issue-closed',
|
||||
'issue-opened',
|
||||
'issue-reopened',
|
||||
'jersey',
|
||||
'jump-down',
|
||||
'jump-left',
|
||||
'jump-right',
|
||||
'jump-up',
|
||||
'key',
|
||||
'keyboard',
|
||||
'law',
|
||||
'light-bulb',
|
||||
'link',
|
||||
'link-external',
|
||||
'list-ordered',
|
||||
'list-unordered',
|
||||
'location',
|
||||
'lock',
|
||||
//'logo-github',
|
||||
'mail',
|
||||
'mail-read',
|
||||
'mail-reply',
|
||||
'mark-github',
|
||||
'markdown',
|
||||
'megaphone',
|
||||
'mention',
|
||||
'microscope',
|
||||
'milestone',
|
||||
'mirror',
|
||||
'mortar-board',
|
||||
'move-down',
|
||||
'move-left',
|
||||
'move-right',
|
||||
'move-up',
|
||||
'mute',
|
||||
'no-newline',
|
||||
'octoface',
|
||||
'organization',
|
||||
'package',
|
||||
'paintcan',
|
||||
'pencil',
|
||||
'person',
|
||||
'pin',
|
||||
'playback-fast-forward',
|
||||
'playback-pause',
|
||||
'playback-play',
|
||||
'playback-rewind',
|
||||
'plug',
|
||||
'plus',
|
||||
'podium',
|
||||
'primitive-dot',
|
||||
'primitive-square',
|
||||
'pulse',
|
||||
'puzzle',
|
||||
'question',
|
||||
'quote',
|
||||
'radio-tower',
|
||||
'repo',
|
||||
'repo-clone',
|
||||
'repo-force-push',
|
||||
'repo-forked',
|
||||
'repo-pull',
|
||||
'repo-push',
|
||||
'rocket',
|
||||
'rss',
|
||||
'ruby',
|
||||
'screen-full',
|
||||
'screen-normal',
|
||||
'search',
|
||||
'server',
|
||||
'settings',
|
||||
'sign-in',
|
||||
'sign-out',
|
||||
'split',
|
||||
'squirrel',
|
||||
'star',
|
||||
'steps',
|
||||
'stop',
|
||||
'sync',
|
||||
'tag',
|
||||
'telescope',
|
||||
'terminal',
|
||||
'three-bars',
|
||||
'tools',
|
||||
'trashcan',
|
||||
'triangle-down',
|
||||
'triangle-left',
|
||||
'triangle-right',
|
||||
'triangle-up',
|
||||
'unfold',
|
||||
'unmute',
|
||||
'versions',
|
||||
'x',
|
||||
'zap'
|
||||
]};
|
||||
|
||||
})(jQuery);
|
Loading…
Reference in New Issue