(function(a, b) {
a.ui = a.ui || {};
var c, d = Math.max, e = Math.abs, f = Math.round, g = /left|center|right/, h = /top|center|bottom/, i = /[\+\-]\d+(\.[\d]+)?%?/, j = /^\w+/, k = /%$/, l = a.fn.pos;
function m(a, b, c) {
return [ parseFloat(a[0]) * (k.test(a[0]) ? b / 100 : 1), parseFloat(a[1]) * (k.test(a[1]) ? c / 100 : 1) ];
}
function n(b, c) {
return parseInt(a.css(b, c), 10) || 0;
}
function o(b) {
var c = b[0];
if (c.nodeType === 9) {
return {
width: b.width(),
height: b.height(),
offset: {
top: 0,
left: 0
}
};
}
if (a.isWindow(c)) {
return {
width: b.width(),
height: b.height(),
offset: {
top: b.scrollTop(),
left: b.scrollLeft()
}
};
}
if (c.preventDefault) {
return {
width: 0,
height: 0,
offset: {
top: c.pageY,
left: c.pageX
}
};
}
return {
width: b.outerWidth(),
height: b.outerHeight(),
offset: b.offset()
};
}
a.pos = {
scrollbarWidth: function() {
if (c !== b) {
return c;
}
var d, e, f = a('
'), g = f.children()[0];
a('body').append(f);
d = g.offsetWidth;
f.css('overflow', 'scroll');
e = g.offsetWidth;
if (d === e) {
e = f[0].clientWidth;
}
f.remove();
return c = d - e;
},
getScrollInfo: function(b) {
var c = b.isWindow || b.isDocument ? '' : b.element.css('overflow-x'), d = b.isWindow || b.isDocument ? '' : b.element.css('overflow-y'), e = c === 'scroll' || c === 'auto' && b.width < b.element[0].scrollWidth, f = d === 'scroll' || d === 'auto' && b.height < b.element[0].scrollHeight;
return {
width: f ? a.pos.scrollbarWidth() : 0,
height: e ? a.pos.scrollbarWidth() : 0
};
},
getWithinInfo: function(b) {
var c = a(b || window), d = a.isWindow(c[0]), e = !!c[0] && c[0].nodeType === 9;
return {
element: c,
isWindow: d,
isDocument: e,
offset: c.offset() || {
left: 0,
top: 0
},
scrollLeft: c.scrollLeft(),
scrollTop: c.scrollTop(),
width: d ? c.width() : c.outerWidth(),
height: d ? c.height() : c.outerHeight()
};
}
};
a.fn.pos = function(b) {
if (!b || !b.of) {
return l.apply(this, arguments);
}
b = a.extend({}, b);
var c, k, p, q, r, s, t = a(b.of), u = a.pos.getWithinInfo(b.within), v = a.pos.getScrollInfo(u), w = (b.collision || 'flip').split(' '), x = {};
s = o(t);
if (t[0].preventDefault) {
b.at = 'left top';
}
k = s.width;
p = s.height;
q = s.offset;
r = a.extend({}, q);
a.each([ 'my', 'at' ], function() {
var a = (b[this] || '').split(' '), c, d;
if (a.length === 1) {
a = g.test(a[0]) ? a.concat([ 'center' ]) : h.test(a[0]) ? [ 'center' ].concat(a) : [ 'center', 'center' ];
}
a[0] = g.test(a[0]) ? a[0] : 'center';
a[1] = h.test(a[1]) ? a[1] : 'center';
c = i.exec(a[0]);
d = i.exec(a[1]);
x[this] = [ c ? c[0] : 0, d ? d[0] : 0 ];
b[this] = [ j.exec(a[0])[0], j.exec(a[1])[0] ];
});
if (w.length === 1) {
w[1] = w[0];
}
if (b.at[0] === 'right') {
r.left += k;
} else if (b.at[0] === 'center') {
r.left += k / 2;
}
if (b.at[1] === 'bottom') {
r.top += p;
} else if (b.at[1] === 'center') {
r.top += p / 2;
}
c = m(x.at, k, p);
r.left += c[0];
r.top += c[1];
return this.each(function() {
var g, h, i = a(this), j = i.outerWidth(), l = i.outerHeight(), o = n(this, 'marginLeft'), s = n(this, 'marginTop'), y = j + o + n(this, 'marginRight') + v.width, z = l + s + n(this, 'marginBottom') + v.height, A = a.extend({}, r), B = m(x.my, i.outerWidth(), i.outerHeight());
if (b.my[0] === 'right') {
A.left -= j;
} else if (b.my[0] === 'center') {
A.left -= j / 2;
}
if (b.my[1] === 'bottom') {
A.top -= l;
} else if (b.my[1] === 'center') {
A.top -= l / 2;
}
A.left += B[0];
A.top += B[1];
if (!a.support.offsetFractions) {
A.left = f(A.left);
A.top = f(A.top);
}
g = {
marginLeft: o,
marginTop: s
};
a.each([ 'left', 'top' ], function(d, e) {
if (a.ui.pos[w[d]]) {
a.ui.pos[w[d]][e](A, {
targetWidth: k,
targetHeight: p,
elemWidth: j,
elemHeight: l,
collisionPosition: g,
collisionWidth: y,
collisionHeight: z,
offset: [ c[0] + B[0], c[1] + B[1] ],
my: b.my,
at: b.at,
within: u,
elem: i
});
}
});
if (b.using) {
h = function(a) {
var c = q.left - A.left, f = c + k - j, g = q.top - A.top, h = g + p - l, m = {
target: {
element: t,
left: q.left,
top: q.top,
width: k,
height: p
},
element: {
element: i,
left: A.left,
top: A.top,
width: j,
height: l
},
horizontal: f < 0 ? 'left' : c > 0 ? 'right' : 'center',
vertical: h < 0 ? 'top' : g > 0 ? 'bottom' : 'middle'
};
if (k < j && e(c + f) < k) {
m.horizontal = 'center';
}
if (p < l && e(g + h) < p) {
m.vertical = 'middle';
}
if (d(e(c), e(f)) > d(e(g), e(h))) {
m.important = 'horizontal';
} else {
m.important = 'vertical';
}
b.using.call(this, a, m);
};
}
i.offset(a.extend(A, {
using: h
}));
});
};
a.ui.pos = {
_trigger: function(a, b, c, d) {
if (b.elem) {
b.elem.trigger({
type: c,
position: a,
positionData: b,
triggered: d
});
}
},
fit: {
left: function(b, c) {
a.ui.pos._trigger(b, c, 'posCollide', 'fitLeft');
var e = c.within, f = e.isWindow ? e.scrollLeft : e.offset.left, g = e.width, h = b.left - c.collisionPosition.marginLeft, i = f - h, j = h + c.collisionWidth - g - f, k;
if (c.collisionWidth > g) {
if (i > 0 && j <= 0) {
k = b.left + i + c.collisionWidth - g - f;
b.left += i - k;
} else if (j > 0 && i <= 0) {
b.left = f;
} else {
if (i > j) {
b.left = f + g - c.collisionWidth;
} else {
b.left = f;
}
}
} else if (i > 0) {
b.left += i;
} else if (j > 0) {
b.left -= j;
} else {
b.left = d(b.left - h, b.left);
}
a.ui.pos._trigger(b, c, 'posCollided', 'fitLeft');
},
top: function(b, c) {
a.ui.pos._trigger(b, c, 'posCollide', 'fitTop');
var e = c.within, f = e.isWindow ? e.scrollTop : e.offset.top, g = c.within.height, h = b.top - c.collisionPosition.marginTop, i = f - h, j = h + c.collisionHeight - g - f, k;
if (c.collisionHeight > g) {
if (i > 0 && j <= 0) {
k = b.top + i + c.collisionHeight - g - f;
b.top += i - k;
} else if (j > 0 && i <= 0) {
b.top = f;
} else {
if (i > j) {
b.top = f + g - c.collisionHeight;
} else {
b.top = f;
}
}
} else if (i > 0) {
b.top += i;
} else if (j > 0) {
b.top -= j;
} else {
b.top = d(b.top - h, b.top);
}
a.ui.pos._trigger(b, c, 'posCollided', 'fitTop');
}
},
flip: {
left: function(b, c) {
a.ui.pos._trigger(b, c, 'posCollide', 'flipLeft');
var d = c.within, f = d.offset.left + d.scrollLeft, g = d.width, h = d.isWindow ? d.scrollLeft : d.offset.left, i = b.left - c.collisionPosition.marginLeft, j = i - h, k = i + c.collisionWidth - g - h, l = c.my[0] === 'left' ? -c.elemWidth : c.my[0] === 'right' ? c.elemWidth : 0, m = c.at[0] === 'left' ? c.targetWidth : c.at[0] === 'right' ? -c.targetWidth : 0, n = -2 * c.offset[0], o, p;
if (j < 0) {
o = b.left + l + m + n + c.collisionWidth - g - f;
if (o < 0 || o < e(j)) {
b.left += l + m + n;
}
} else if (k > 0) {
p = b.left - c.collisionPosition.marginLeft + l + m + n - h;
if (p > 0 || e(p) < k) {
b.left += l + m + n;
}
}
a.ui.pos._trigger(b, c, 'posCollided', 'flipLeft');
},
top: function(b, c) {
a.ui.pos._trigger(b, c, 'posCollide', 'flipTop');
var d = c.within, f = d.offset.top + d.scrollTop, g = d.height, h = d.isWindow ? d.scrollTop : d.offset.top, i = b.top - c.collisionPosition.marginTop, j = i - h, k = i + c.collisionHeight - g - h, l = c.my[1] === 'top', m = l ? -c.elemHeight : c.my[1] === 'bottom' ? c.elemHeight : 0, n = c.at[1] === 'top' ? c.targetHeight : c.at[1] === 'bottom' ? -c.targetHeight : 0, o = -2 * c.offset[1], p, q;
if (j < 0) {
q = b.top + m + n + o + c.collisionHeight - g - f;
if (b.top + m + n + o > j && (q < 0 || q < e(j))) {
b.top += m + n + o;
}
} else if (k > 0) {
p = b.top - c.collisionPosition.marginTop + m + n + o - h;
if (b.top + m + n + o > k && (p > 0 || e(p) < k)) {
b.top += m + n + o;
}
}
a.ui.pos._trigger(b, c, 'posCollided', 'flipTop');
}
},
flipfit: {
left: function() {
a.ui.pos.flip.left.apply(this, arguments);
a.ui.pos.fit.left.apply(this, arguments);
},
top: function() {
a.ui.pos.flip.top.apply(this, arguments);
a.ui.pos.fit.top.apply(this, arguments);
}
}
};
(function() {
var b, c, d, e, f, g = document.getElementsByTagName('body')[0], h = document.createElement('div');
b = document.createElement(g ? 'div' : 'body');
d = {
visibility: 'hidden',
width: 0,
height: 0,
border: 0,
margin: 0,
background: 'none'
};
if (g) {
a.extend(d, {
position: 'absolute',
left: '-1000px',
top: '-1000px'
});
}
for (f in d) {
b.style[f] = d[f];
}
b.appendChild(h);
c = g || document.documentElement;
c.insertBefore(b, c.firstChild);
h.style.cssText = 'position: absolute; left: 10.7432222px;';
e = a(h).offset().left;
a.support.offsetFractions = e > 10 && e < 11;
b.innerHTML = '';
c.removeChild(b);
})();
})(jQuery);
(function(a) {
'use strict';
if (typeof define === 'function' && define.amd) {
define([ 'jquery' ], a);
} else if (window.jQuery && !window.jQuery.fn.iconpicker) {
a(window.jQuery);
}
})(function(a) {
'use strict';
var b = {
isEmpty: function(a) {
return a === false || a === '' || a === null || a === undefined;
},
isEmptyObject: function(a) {
return this.isEmpty(a) === true || a.length === 0;
},
isElement: function(b) {
return a(b).length > 0;
},
isString: function(a) {
return typeof a === 'string' || a instanceof String;
},
isArray: function(b) {
return a.isArray(b);
},
inArray: function(b, c) {
return a.inArray(b, c) !== -1;
},
throwError: function(a) {
throw 'Font Awesome Icon Picker Exception: ' + a;
}
};
var c = function(d, e) {
this._id = c._idCounter++;
this.element = a(d).addClass('iconpicker-element');
this._trigger('iconpickerCreate');
this.options = a.extend({}, c.defaultOptions, this.element.data(), e);
this.options.templates = a.extend({}, c.defaultOptions.templates, this.options.templates);
this.options.originalPlacement = this.options.placement;
this.container = b.isElement(this.options.container) ? a(this.options.container) : false;
if (this.container === false) {
if (this.element.is('.dropdown-toggle')) {
this.container = a('~ .dropdown-menu:first', this.element);
} else {
this.container = this.element.is('input,textarea,button,.btn') ? this.element.parent() : this.element;
}
}
this.container.addClass('iconpicker-container');
if (this.isDropdownMenu()) {
this.options.templates.search = false;
this.options.templates.buttons = false;
this.options.placement = 'inline';
}
this.input = this.element.is('input,textarea') ? this.element.addClass('iconpicker-input') : false;
if (this.input === false) {
this.input = this.container.find(this.options.input);
if (!this.input.is('input,textarea')) {
this.input = false;
}
}
this.component = this.isDropdownMenu() ? this.container.parent().find(this.options.component) : this.container.find(this.options.component);
if (this.component.length === 0) {
this.component = false;
} else {
this.component.find('i').addClass('iconpicker-component');
}
this._createPopover();
this._createIconpicker();
if (this.getAcceptButton().length === 0) {
this.options.mustAccept = false;
}
if (this.isInputGroup()) {
this.container.parent().append(this.popover);
} else {
this.container.append(this.popover);
}
this._bindElementEvents();
this._bindWindowEvents();
this.update(this.options.selected);
if (this.isInline()) {
this.show();
}
this._trigger('iconpickerCreated');
};
c._idCounter = 0;
c.defaultOptions = {
title: false,
selected: false,
defaultValue: false,
placement: 'bottom',
collision: 'none',
animation: true,
hideOnSelect: false,
showFooter: false,
searchInFooter: false,
mustAccept: false,
selectedCustomClass: 'bg-primary',
icons: [],
fullClassFormatter: function(a) {
return 'fa ' + a;
},
input: 'input,.iconpicker-input',
inputSearch: false,
container: false,
component: '.input-group-addon,.iconpicker-component',
templates: {
popover: '',
footer: '',
buttons: '' + ' ',
search: '',
iconpicker: '',
iconpickerItem: ''
}
};
c.batch = function(b, c) {
var d = Array.prototype.slice.call(arguments, 2);
return a(b).each(function() {
var b = a(this).data('iconpicker');
if (!!b) {
b[c].apply(b, d);
}
});
};
c.prototype = {
constructor: c,
options: {},
_id: 0,
_trigger: function(b, c) {
c = c || {};
this.element.trigger(a.extend({
type: b,
iconpickerInstance: this
}, c));
},
_createPopover: function() {
this.popover = a(this.options.templates.popover);
var c = this.popover.find('.popover-title');
if (!!this.options.title) {
c.append(a('' + this.options.title + '
'));
}
if (this.hasSeparatedSearchInput() && !this.options.searchInFooter) {
c.append(this.options.templates.search);
} else if (!this.options.title) {
c.remove();
}
if (this.options.showFooter && !b.isEmpty(this.options.templates.footer)) {
var d = a(this.options.templates.footer);
if (this.hasSeparatedSearchInput() && this.options.searchInFooter) {
d.append(a(this.options.templates.search));
}
if (!b.isEmpty(this.options.templates.buttons)) {
d.append(a(this.options.templates.buttons));
}
this.popover.append(d);
}
if (this.options.animation === true) {
this.popover.addClass('fade');
}
return this.popover;
},
_createIconpicker: function() {
var b = this;
this.iconpicker = a(this.options.templates.iconpicker);
var c = function(c) {
var d = a(this);
if (d.is('i')) {
d = d.parent();
}
b._trigger('iconpickerSelect', {
iconpickerItem: d,
iconpickerValue: b.iconpickerValue
});
if (b.options.mustAccept === false) {
b.update(d.data('iconpickerValue'));
b._trigger('iconpickerSelected', {
iconpickerItem: this,
iconpickerValue: b.iconpickerValue
});
} else {
b.update(d.data('iconpickerValue'), true);
}
if (b.options.hideOnSelect && b.options.mustAccept === false) {
b.hide();
}
c.preventDefault();
return false;
};
for (var d in this.options.icons) {
var e = a(this.options.templates.iconpickerItem);
e.find('i').addClass(this.options.fullClassFormatter(this.options.icons[d]));
e.data('iconpickerValue', this.options.icons[d]).on('click.iconpicker', c);
this.iconpicker.find('.iconpicker-items').append(e.attr('title', '.' + this.options.icons[d]));
}
this.popover.find('.popover-content').append(this.iconpicker);
return this.iconpicker;
},
_isEventInsideIconpicker: function(b) {
var c = a(b.target);
if ((!c.hasClass('iconpicker-element') || c.hasClass('iconpicker-element') && !c.is(this.element)) && c.parents('.iconpicker-popover').length === 0) {
return false;
}
return true;
},
_bindElementEvents: function() {
var c = this;
this.getSearchInput().on('keyup.iconpicker', function() {
c.filter(a(this).val().toLowerCase());
});
this.getAcceptButton().on('click.iconpicker', function() {
var a = c.iconpicker.find('.iconpicker-selected').get(0);
c.update(c.iconpickerValue);
c._trigger('iconpickerSelected', {
iconpickerItem: a,
iconpickerValue: c.iconpickerValue
});
if (!c.isInline()) {
c.hide();
}
});
this.getCancelButton().on('click.iconpicker', function() {
if (!c.isInline()) {
c.hide();
}
});
this.element.on('focus.iconpicker', function(a) {
c.show();
a.stopPropagation();
});
if (this.hasComponent()) {
this.component.on('click.iconpicker', function() {
c.toggle();
});
}
if (this.hasInput()) {
this.input.on('keyup.iconpicker', function(d) {
if (!b.inArray(d.keyCode, [ 38, 40, 37, 39, 16, 17, 18, 9, 8, 91, 93, 20, 46, 186, 190, 46, 78, 188, 44, 86 ])) {
c.update();
} else {
c._updateFormGroupStatus(c.getValid(this.value) !== false);
}
if (c.options.inputSearch === true) {
c.filter(a(this).val().toLowerCase());
}
});
}
},
_bindWindowEvents: function() {
var b = a(window.document);
var c = this;
var d = '.iconpicker.inst' + this._id;
a(window).on('resize.iconpicker' + d + ' orientationchange.iconpicker' + d, function() {
if (c.popover.hasClass('in')) {
c.updatePlacement();
}
});
if (!c.isInline()) {
b.on('mouseup' + d, function(a) {
if (!c._isEventInsideIconpicker(a) && !c.isInline()) {
c.hide();
}
});
}
return false;
},
_unbindElementEvents: function() {
this.popover.off('.iconpicker');
this.element.off('.iconpicker');
if (this.hasInput()) {
this.input.off('.iconpicker');
}
if (this.hasComponent()) {
this.component.off('.iconpicker');
}
if (this.hasContainer()) {
this.container.off('.iconpicker');
}
},
_unbindWindowEvents: function() {
a(window).off('.iconpicker.inst' + this._id);
a(window.document).off('.iconpicker.inst' + this._id);
},
updatePlacement: function(b, c) {
b = b || this.options.placement;
this.options.placement = b;
c = c || this.options.collision;
c = c === true ? 'flip' : c;
var d = {
at: 'right bottom',
my: 'right top',
of: this.hasInput() && !this.isInputGroup() ? this.input : this.container,
collision: c === true ? 'flip' : c,
within: window
};
this.popover.removeClass('inline topLeftCorner topLeft top topRight topRightCorner ' + 'rightTop right rightBottom bottomRight bottomRightCorner ' + 'bottom bottomLeft bottomLeftCorner leftBottom left leftTop');
if (typeof b === 'object') {
return this.popover.pos(a.extend({}, d, b));
}
switch (b) {
case 'inline':
{
d = false;
}
break;
case 'topLeftCorner':
{
d.my = 'right bottom';
d.at = 'left top';
}
break;
case 'topLeft':
{
d.my = 'left bottom';
d.at = 'left top';
}
break;
case 'top':
{
d.my = 'center bottom';
d.at = 'center top';
}
break;
case 'topRight':
{
d.my = 'right bottom';
d.at = 'right top';
}
break;
case 'topRightCorner':
{
d.my = 'left bottom';
d.at = 'right top';
}
break;
case 'rightTop':
{
d.my = 'left bottom';
d.at = 'right center';
}
break;
case 'right':
{
d.my = 'left center';
d.at = 'right center';
}
break;
case 'rightBottom':
{
d.my = 'left top';
d.at = 'right center';
}
break;
case 'bottomRightCorner':
{
d.my = 'left top';
d.at = 'right bottom';
}
break;
case 'bottomRight':
{
d.my = 'right top';
d.at = 'right bottom';
}
break;
case 'bottom':
{
d.my = 'center top';
d.at = 'center bottom';
}
break;
case 'bottomLeft':
{
d.my = 'left top';
d.at = 'left bottom';
}
break;
case 'bottomLeftCorner':
{
d.my = 'right top';
d.at = 'left bottom';
}
break;
case 'leftBottom':
{
d.my = 'right top';
d.at = 'left center';
}
break;
case 'left':
{
d.my = 'right center';
d.at = 'left center';
}
break;
case 'leftTop':
{
d.my = 'right bottom';
d.at = 'left center';
}
break;
default:
{
return false;
}
break;
}
this.popover.css({
display: this.options.placement === 'inline' ? '' : 'block'
});
if (d !== false) {
this.popover.pos(d).css('maxWidth', a(window).width() - this.container.offset().left - 5);
} else {
this.popover.css({
top: 'auto',
right: 'auto',
bottom: 'auto',
left: 'auto',
maxWidth: 'none'
});
}
this.popover.addClass(this.options.placement);
return true;
},
_updateComponents: function() {
this.iconpicker.find('.iconpicker-item.iconpicker-selected').removeClass('iconpicker-selected ' + this.options.selectedCustomClass);
if (this.iconpickerValue) {
this.iconpicker.find('.' + this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g, '.')).parent().addClass('iconpicker-selected ' + this.options.selectedCustomClass);
}
if (this.hasComponent()) {
var a = this.component.find('i');
if (a.length > 0) {
a.attr('class', this.options.fullClassFormatter(this.iconpickerValue));
} else {
this.component.html(this.getHtml());
}
}
},
_updateFormGroupStatus: function(a) {
if (this.hasInput()) {
if (a !== false) {
this.input.parents('.form-group:first').removeClass('has-error');
} else {
this.input.parents('.form-group:first').addClass('has-error');
}
return true;
}
return false;
},
getValid: function(c) {
if (!b.isString(c)) {
c = '';
}
var d = c === '';
c = a.trim(c);
if (b.inArray(c, this.options.icons) || d) {
return c;
}
return false;
},
setValue: function(a) {
var b = this.getValid(a);
if (b !== false) {
this.iconpickerValue = b;
this._trigger('iconpickerSetValue', {
iconpickerValue: b
});
return this.iconpickerValue;
} else {
this._trigger('iconpickerInvalid', {
iconpickerValue: a
});
return false;
}
},
getHtml: function() {
return '';
},
setSourceValue: function(a) {
a = this.setValue(a);
if (a !== false && a !== '') {
if (this.hasInput()) {
this.input.val(this.iconpickerValue);
} else {
this.element.data('iconpickerValue', this.iconpickerValue);
}
this._trigger('iconpickerSetSourceValue', {
iconpickerValue: a
});
}
return a;
},
getSourceValue: function(a) {
a = a || this.options.defaultValue;
var b = a;
if (this.hasInput()) {
b = this.input.val();
} else {
b = this.element.data('iconpickerValue');
}
if (b === undefined || b === '' || b === null || b === false) {
b = a;
}
return b;
},
hasInput: function() {
return this.input !== false;
},
isInputSearch: function() {
return this.hasInput() && this.options.inputSearch === true;
},
isInputGroup: function() {
return this.container.is('.input-group');
},
isDropdownMenu: function() {
return this.container.is('.dropdown-menu');
},
hasSeparatedSearchInput: function() {
return this.options.templates.search !== false && !this.isInputSearch();
},
hasComponent: function() {
return this.component !== false;
},
hasContainer: function() {
return this.container !== false;
},
getAcceptButton: function() {
return this.popover.find('.iconpicker-btn-accept');
},
getCancelButton: function() {
return this.popover.find('.iconpicker-btn-cancel');
},
getSearchInput: function() {
return this.popover.find('.iconpicker-search');
},
filter: function(c) {
if (b.isEmpty(c)) {
this.iconpicker.find('.iconpicker-item').show();
return a(false);
} else {
var d = [];
this.iconpicker.find('.iconpicker-item').each(function() {
var b = a(this);
var e = b.attr('title').toLowerCase();
var f = false;
try {
f = new RegExp(c, 'g');
} catch (a) {
f = false;
}
if (f !== false && e.match(f)) {
d.push(b);
b.show();
} else {
b.hide();
}
});
return d;
}
},
show: function() {
if (this.popover.hasClass('in')) {
return false;
}
a.iconpicker.batch(a('.iconpicker-popover.in:not(.inline)').not(this.popover), 'hide');
this._trigger('iconpickerShow');
this.updatePlacement();
this.popover.addClass('in');
setTimeout(a.proxy(function() {
this.popover.css('display', this.isInline() ? '' : 'block');
this._trigger('iconpickerShown');
}, this), this.options.animation ? 300 : 1);
},
hide: function() {
if (!this.popover.hasClass('in')) {
return false;
}
this._trigger('iconpickerHide');
this.popover.removeClass('in');
setTimeout(a.proxy(function() {
this.popover.css('display', 'none');
this.getSearchInput().val('');
this.filter('');
this._trigger('iconpickerHidden');
}, this), this.options.animation ? 300 : 1);
},
toggle: function() {
if (this.popover.is(':visible')) {
this.hide();
} else {
this.show(true);
}
},
update: function(a, b) {
a = a ? a : this.getSourceValue(this.iconpickerValue);
this._trigger('iconpickerUpdate');
if (b === true) {
a = this.setValue(a);
} else {
a = this.setSourceValue(a);
this._updateFormGroupStatus(a !== false);
}
if (a !== false) {
this._updateComponents();
}
this._trigger('iconpickerUpdated');
return a;
},
destroy: function() {
this._trigger('iconpickerDestroy');
this.element.removeData('iconpicker').removeData('iconpickerValue').removeClass('iconpicker-element');
this._unbindElementEvents();
this._unbindWindowEvents();
a(this.popover).remove();
this._trigger('iconpickerDestroyed');
},
disable: function() {
if (this.hasInput()) {
this.input.prop('disabled', true);
return true;
}
return false;
},
enable: function() {
if (this.hasInput()) {
this.input.prop('disabled', false);
return true;
}
return false;
},
isDisabled: function() {
if (this.hasInput()) {
return this.input.prop('disabled') === true;
}
return false;
},
isInline: function() {
return this.options.placement === 'inline' || this.popover.hasClass('inline');
}
};
a.iconpicker = c;
a.fn.iconpicker = function(b) {
return this.each(function() {
var d = a(this);
if (!d.data('iconpicker')) {
d.data('iconpicker', new c(this, typeof b === 'object' ? b : {}));
}
});
};
c.defaultOptions.icons = [ 'fa-500px', 'fa-adjust', 'fa-adn', 'fa-align-center', 'fa-align-justify', 'fa-align-left', 'fa-align-right', 'fa-amazon', 'fa-ambulance', 'fa-american-sign-language-interpreting', 'fa-anchor', 'fa-android', 'fa-angellist', 'fa-angle-double-down', 'fa-angle-double-left', 'fa-angle-double-right', 'fa-angle-double-up', 'fa-angle-down', 'fa-angle-left', 'fa-angle-right', 'fa-angle-up', 'fa-apple', 'fa-archive', 'fa-area-chart', 'fa-arrow-circle-down', 'fa-arrow-circle-left', 'fa-arrow-circle-o-down', 'fa-arrow-circle-o-left', 'fa-arrow-circle-o-right', 'fa-arrow-circle-o-up', 'fa-arrow-circle-right', 'fa-arrow-circle-up', 'fa-arrow-down', 'fa-arrow-left', 'fa-arrow-right', 'fa-arrow-up', 'fa-arrows', 'fa-arrows-alt', 'fa-arrows-h', 'fa-arrows-v', 'fa-asl-interpreting', 'fa-assistive-listening-systems', 'fa-asterisk', 'fa-at', 'fa-audio-description', 'fa-automobile', 'fa-backward', 'fa-balance-scale', 'fa-ban', 'fa-bank', 'fa-bar-chart', 'fa-bar-chart-o', 'fa-barcode', 'fa-bars', 'fa-battery-0', 'fa-battery-1', 'fa-battery-2', 'fa-battery-3', 'fa-battery-4', 'fa-battery-empty', 'fa-battery-full', 'fa-battery-half', 'fa-battery-quarter', 'fa-battery-three-quarters', 'fa-bed', 'fa-beer', 'fa-behance', 'fa-behance-square', 'fa-bell', 'fa-bell-o', 'fa-bell-slash', 'fa-bell-slash-o', 'fa-bicycle', 'fa-binoculars', 'fa-birthday-cake', 'fa-bitbucket', 'fa-bitbucket-square', 'fa-bitcoin', 'fa-black-tie', 'fa-blind', 'fa-bluetooth', 'fa-bluetooth-b', 'fa-bold', 'fa-bolt', 'fa-bomb', 'fa-book', 'fa-bookmark', 'fa-bookmark-o', 'fa-braille', 'fa-briefcase', 'fa-btc', 'fa-bug', 'fa-building', 'fa-building-o', 'fa-bullhorn', 'fa-bullseye', 'fa-bus', 'fa-buysellads', 'fa-cab', 'fa-calculator', 'fa-calendar', 'fa-calendar-check-o', 'fa-calendar-minus-o', 'fa-calendar-o', 'fa-calendar-plus-o', 'fa-calendar-times-o', 'fa-camera', 'fa-camera-retro', 'fa-car', 'fa-caret-down', 'fa-caret-left', 'fa-caret-right', 'fa-caret-square-o-down', 'fa-caret-square-o-left', 'fa-caret-square-o-right', 'fa-caret-square-o-up', 'fa-caret-up', 'fa-cart-arrow-down', 'fa-cart-plus', 'fa-cc', 'fa-cc-amex', 'fa-cc-diners-club', 'fa-cc-discover', 'fa-cc-jcb', 'fa-cc-mastercard', 'fa-cc-paypal', 'fa-cc-stripe', 'fa-cc-visa', 'fa-certificate', 'fa-chain', 'fa-chain-broken', 'fa-check', 'fa-check-circle', 'fa-check-circle-o', 'fa-check-square', 'fa-check-square-o', 'fa-chevron-circle-down', 'fa-chevron-circle-left', 'fa-chevron-circle-right', 'fa-chevron-circle-up', 'fa-chevron-down', 'fa-chevron-left', 'fa-chevron-right', 'fa-chevron-up', 'fa-child', 'fa-chrome', 'fa-circle', 'fa-circle-o', 'fa-circle-o-notch', 'fa-circle-thin', 'fa-clipboard', 'fa-clock-o', 'fa-clone', 'fa-close', 'fa-cloud', 'fa-cloud-download', 'fa-cloud-upload', 'fa-cny', 'fa-code', 'fa-code-fork', 'fa-codepen', 'fa-codiepie', 'fa-coffee', 'fa-cog', 'fa-cogs', 'fa-columns', 'fa-comment', 'fa-comment-o', 'fa-commenting', 'fa-commenting-o', 'fa-comments', 'fa-comments-o', 'fa-compass', 'fa-compress', 'fa-connectdevelop', 'fa-contao', 'fa-copy', 'fa-copyright', 'fa-creative-commons', 'fa-credit-card', 'fa-credit-card-alt', 'fa-crop', 'fa-crosshairs', 'fa-css3', 'fa-cube', 'fa-cubes', 'fa-cut', 'fa-cutlery', 'fa-dashboard', 'fa-dashcube', 'fa-database', 'fa-deaf', 'fa-deafness', 'fa-dedent', 'fa-delicious', 'fa-desktop', 'fa-deviantart', 'fa-diamond', 'fa-digg', 'fa-dollar', 'fa-dot-circle-o', 'fa-download', 'fa-dribbble', 'fa-dropbox', 'fa-drupal', 'fa-edge', 'fa-edit', 'fa-eject', 'fa-ellipsis-h', 'fa-ellipsis-v', 'fa-empire', 'fa-envelope', 'fa-envelope-o', 'fa-envelope-square', 'fa-envira', 'fa-eraser', 'fa-eur', 'fa-euro', 'fa-exchange', 'fa-exclamation', 'fa-exclamation-circle', 'fa-exclamation-triangle', 'fa-expand', 'fa-expeditedssl', 'fa-external-link', 'fa-external-link-square', 'fa-eye', 'fa-eye-slash', 'fa-eyedropper', 'fa-fa', 'fa-facebook', 'fa-facebook-f', 'fa-facebook-official', 'fa-facebook-square', 'fa-fast-backward', 'fa-fast-forward', 'fa-fax', 'fa-feed', 'fa-female', 'fa-fighter-jet', 'fa-file', 'fa-file-archive-o', 'fa-file-audio-o', 'fa-file-code-o', 'fa-file-excel-o', 'fa-file-image-o', 'fa-file-movie-o', 'fa-file-o', 'fa-file-pdf-o', 'fa-file-photo-o', 'fa-file-picture-o', 'fa-file-powerpoint-o', 'fa-file-sound-o', 'fa-file-text', 'fa-file-text-o', 'fa-file-video-o', 'fa-file-word-o', 'fa-file-zip-o', 'fa-files-o', 'fa-film', 'fa-filter', 'fa-fire', 'fa-fire-extinguisher', 'fa-firefox', 'fa-first-order', 'fa-flag', 'fa-flag-checkered', 'fa-flag-o', 'fa-flash', 'fa-flask', 'fa-flickr', 'fa-floppy-o', 'fa-folder', 'fa-folder-o', 'fa-folder-open', 'fa-folder-open-o', 'fa-font', 'fa-font-awesome', 'fa-fonticons', 'fa-fort-awesome', 'fa-forumbee', 'fa-forward', 'fa-foursquare', 'fa-frown-o', 'fa-futbol-o', 'fa-gamepad', 'fa-gavel', 'fa-gbp', 'fa-ge', 'fa-gear', 'fa-gears', 'fa-genderless', 'fa-get-pocket', 'fa-gg', 'fa-gg-circle', 'fa-gift', 'fa-git', 'fa-git-square', 'fa-github', 'fa-github-alt', 'fa-github-square', 'fa-gitlab', 'fa-gittip', 'fa-glass', 'fa-glide', 'fa-glide-g', 'fa-globe', 'fa-google', 'fa-google-plus', 'fa-google-plus-circle', 'fa-google-plus-official', 'fa-google-plus-square', 'fa-google-wallet', 'fa-graduation-cap', 'fa-gratipay', 'fa-group', 'fa-h-square', 'fa-hacker-news', 'fa-hand-grab-o', 'fa-hand-lizard-o', 'fa-hand-o-down', 'fa-hand-o-left', 'fa-hand-o-right', 'fa-hand-o-up', 'fa-hand-paper-o', 'fa-hand-peace-o', 'fa-hand-pointer-o', 'fa-hand-rock-o', 'fa-hand-scissors-o', 'fa-hand-spock-o', 'fa-hand-stop-o', 'fa-hard-of-hearing', 'fa-hashtag', 'fa-hdd-o', 'fa-header', 'fa-headphones', 'fa-heart', 'fa-heart-o', 'fa-heartbeat', 'fa-history', 'fa-home', 'fa-hospital-o', 'fa-hotel', 'fa-hourglass', 'fa-hourglass-1', 'fa-hourglass-2', 'fa-hourglass-3', 'fa-hourglass-end', 'fa-hourglass-half', 'fa-hourglass-o', 'fa-hourglass-start', 'fa-houzz', 'fa-html5', 'fa-i-cursor', 'fa-ils', 'fa-image', 'fa-inbox', 'fa-indent', 'fa-industry', 'fa-info', 'fa-info-circle', 'fa-inr', 'fa-instagram', 'fa-institution', 'fa-internet-explorer', 'fa-intersex', 'fa-ioxhost', 'fa-italic', 'fa-joomla', 'fa-jpy', 'fa-jsfiddle', 'fa-key', 'fa-keyboard-o', 'fa-krw', 'fa-language', 'fa-laptop', 'fa-lastfm', 'fa-lastfm-square', 'fa-leaf', 'fa-leanpub', 'fa-legal', 'fa-lemon-o', 'fa-level-down', 'fa-level-up', 'fa-life-bouy', 'fa-life-buoy', 'fa-life-ring', 'fa-life-saver', 'fa-lightbulb-o', 'fa-line-chart', 'fa-link', 'fa-linkedin', 'fa-linkedin-square', 'fa-linux', 'fa-list', 'fa-list-alt', 'fa-list-ol', 'fa-list-ul', 'fa-location-arrow', 'fa-lock', 'fa-long-arrow-down', 'fa-long-arrow-left', 'fa-long-arrow-right', 'fa-long-arrow-up', 'fa-low-vision', 'fa-magic', 'fa-magnet', 'fa-mail-forward', 'fa-mail-reply', 'fa-mail-reply-all', 'fa-male', 'fa-map', 'fa-map-marker', 'fa-map-o', 'fa-map-pin', 'fa-map-signs', 'fa-mars', 'fa-mars-double', 'fa-mars-stroke', 'fa-mars-stroke-h', 'fa-mars-stroke-v', 'fa-maxcdn', 'fa-meanpath', 'fa-medium', 'fa-medkit', 'fa-meh-o', 'fa-mercury', 'fa-microphone', 'fa-microphone-slash', 'fa-minus', 'fa-minus-circle', 'fa-minus-square', 'fa-minus-square-o', 'fa-mixcloud', 'fa-mobile', 'fa-mobile-phone', 'fa-modx', 'fa-money', 'fa-moon-o', 'fa-mortar-board', 'fa-motorcycle', 'fa-mouse-pointer', 'fa-music', 'fa-navicon', 'fa-neuter', 'fa-newspaper-o', 'fa-object-group', 'fa-object-ungroup', 'fa-odnoklassniki', 'fa-odnoklassniki-square', 'fa-opencart', 'fa-openid', 'fa-opera', 'fa-optin-monster', 'fa-outdent', 'fa-pagelines', 'fa-paint-brush', 'fa-paper-plane', 'fa-paper-plane-o', 'fa-paperclip', 'fa-paragraph', 'fa-paste', 'fa-pause', 'fa-pause-circle', 'fa-pause-circle-o', 'fa-paw', 'fa-paypal', 'fa-pencil', 'fa-pencil-square', 'fa-pencil-square-o', 'fa-percent', 'fa-phone', 'fa-phone-square', 'fa-photo', 'fa-picture-o', 'fa-pie-chart', 'fa-pied-piper', 'fa-pied-piper-alt', 'fa-pied-piper-pp', 'fa-pinterest', 'fa-pinterest-p', 'fa-pinterest-square', 'fa-plane', 'fa-play', 'fa-play-circle', 'fa-play-circle-o', 'fa-plug', 'fa-plus', 'fa-plus-circle', 'fa-plus-square', 'fa-plus-square-o', 'fa-power-off', 'fa-print', 'fa-product-hunt', 'fa-puzzle-piece', 'fa-qq', 'fa-qrcode', 'fa-question', 'fa-question-circle', 'fa-question-circle-o', 'fa-quote-left', 'fa-quote-right', 'fa-ra', 'fa-random', 'fa-rebel', 'fa-recycle', 'fa-reddit', 'fa-reddit-alien', 'fa-reddit-square', 'fa-refresh', 'fa-registered', 'fa-remove', 'fa-renren', 'fa-reorder', 'fa-repeat', 'fa-reply', 'fa-reply-all', 'fa-resistance', 'fa-retweet', 'fa-rmb', 'fa-road', 'fa-rocket', 'fa-rotate-left', 'fa-rotate-right', 'fa-rouble', 'fa-rss', 'fa-rss-square', 'fa-rub', 'fa-ruble', 'fa-rupee', 'fa-safari', 'fa-save', 'fa-scissors', 'fa-scribd', 'fa-search', 'fa-search-minus', 'fa-search-plus', 'fa-sellsy', 'fa-send', 'fa-send-o', 'fa-server', 'fa-share', 'fa-share-alt', 'fa-share-alt-square', 'fa-share-square', 'fa-share-square-o', 'fa-shekel', 'fa-sheqel', 'fa-shield', 'fa-ship', 'fa-shirtsinbulk', 'fa-shopping-bag', 'fa-shopping-basket', 'fa-shopping-cart', 'fa-sign-in', 'fa-sign-language', 'fa-sign-out', 'fa-signal', 'fa-signing', 'fa-simplybuilt', 'fa-sitemap', 'fa-skyatlas', 'fa-skype', 'fa-slack', 'fa-sliders', 'fa-slideshare', 'fa-smile-o', 'fa-snapchat', 'fa-snapchat-ghost', 'fa-snapchat-square', 'fa-soccer-ball-o', 'fa-sort', 'fa-sort-alpha-asc', 'fa-sort-alpha-desc', 'fa-sort-amount-asc', 'fa-sort-amount-desc', 'fa-sort-asc', 'fa-sort-desc', 'fa-sort-down', 'fa-sort-numeric-asc', 'fa-sort-numeric-desc', 'fa-sort-up', 'fa-soundcloud', 'fa-space-shuttle', 'fa-spinner', 'fa-spoon', 'fa-spotify', 'fa-square', 'fa-square-o', 'fa-stack-exchange', 'fa-stack-overflow', 'fa-star', 'fa-star-half', 'fa-star-half-empty', 'fa-star-half-full', 'fa-star-half-o', 'fa-star-o', 'fa-steam', 'fa-steam-square', 'fa-step-backward', 'fa-step-forward', 'fa-stethoscope', 'fa-sticky-note', 'fa-sticky-note-o', 'fa-stop', 'fa-stop-circle', 'fa-stop-circle-o', 'fa-street-view', 'fa-strikethrough', 'fa-stumbleupon', 'fa-stumbleupon-circle', 'fa-subscript', 'fa-subway', 'fa-suitcase', 'fa-sun-o', 'fa-superscript', 'fa-support', 'fa-table', 'fa-tablet', 'fa-tachometer', 'fa-tag', 'fa-tags', 'fa-tasks', 'fa-taxi', 'fa-television', 'fa-tencent-weibo', 'fa-terminal', 'fa-text-height', 'fa-text-width', 'fa-th', 'fa-th-large', 'fa-th-list', 'fa-themeisle', 'fa-thumb-tack', 'fa-thumbs-down', 'fa-thumbs-o-down', 'fa-thumbs-o-up', 'fa-thumbs-up', 'fa-ticket', 'fa-times', 'fa-times-circle', 'fa-times-circle-o', 'fa-tint', 'fa-toggle-down', 'fa-toggle-left', 'fa-toggle-off', 'fa-toggle-on', 'fa-toggle-right', 'fa-toggle-up', 'fa-trademark', 'fa-train', 'fa-transgender', 'fa-transgender-alt', 'fa-trash', 'fa-trash-o', 'fa-tree', 'fa-trello', 'fa-tripadvisor', 'fa-trophy', 'fa-truck', 'fa-try', 'fa-tty', 'fa-tumblr', 'fa-tumblr-square', 'fa-turkish-lira', 'fa-tv', 'fa-twitch', 'fa-twitter', 'fa-twitter-square', 'fa-umbrella', 'fa-underline', 'fa-undo', 'fa-universal-access', 'fa-university', 'fa-unlink', 'fa-unlock', 'fa-unlock-alt', 'fa-unsorted', 'fa-upload', 'fa-usb', 'fa-usd', 'fa-user', 'fa-user-md', 'fa-user-plus', 'fa-user-secret', 'fa-user-times', 'fa-users', 'fa-venus', 'fa-venus-double', 'fa-venus-mars', 'fa-viacoin', 'fa-viadeo', 'fa-viadeo-square', 'fa-video-camera', 'fa-vimeo', 'fa-vimeo-square', 'fa-vine', 'fa-vk', 'fa-volume-control-phone', 'fa-volume-down', 'fa-volume-off', 'fa-volume-up', 'fa-warning', 'fa-wechat', 'fa-weibo', 'fa-weixin', 'fa-whatsapp', 'fa-wheelchair', 'fa-wheelchair-alt', 'fa-wifi', 'fa-wikipedia-w', 'fa-windows', 'fa-won', 'fa-wordpress', 'fa-wpbeginner', 'fa-wpforms', 'fa-wrench', 'fa-xing', 'fa-xing-square', 'fa-y-combinator', 'fa-y-combinator-square', 'fa-yahoo', 'fa-yc', 'fa-yc-square', 'fa-yelp', 'fa-yen', 'fa-yoast', 'fa-youtube', 'fa-youtube-play', 'fa-youtube-square' ];
});