Current Path : /storage/v11800/affypharma/public_html/wp-content/plugins/auxin-elements/admin/assets/js/solo/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/affypharma/public_html/wp-content/plugins/auxin-elements/admin/assets/js/solo/featuredColor.js |
/*!
* Visual Select - A jQuery plugin for replacing HTML select element with a visual selection tool.
*
* @version 1.3.0
* @requires jQuery 1.9+
* @author Averta [averta.net]
* @package Axiom Framework
* @copyright Copyright © 2017 Averta, all rights reserved
*/
;(function ( $, window, document, undefined ) {
"use strict";
// Create the defaults once
var pluginName = 'AuxFeaturedColor',
defaults = {},
attributesMap = {};
// The actual plugin constructor
function Plugin( element, options ) {
this.element = element;
this.$element = $(element);
this.options = $.extend( {}, defaults, options) ;
// read attributes
for ( var key in attributesMap ) {
var value = attributesMap[ key ],
dataAttr = this.$element.data( key );
if ( dataAttr === undefined ) {
continue;
}
this.options[ value ] = dataAttr;
}
this._defaults = defaults;
this._name = pluginName;
this.init();
}
$.extend(Plugin.prototype, {
init : function(){
var self = this,
st = self.options;
this.$element.select2({
dropdownCssClass: 'aux-featured-color-dropdown',
minimumResultsForSearch: Infinity,
templateResult: this.generateOptions,
templateSelection: this.generateOptions
});
},
generateOptions: function( data ) {
var $option = $(data.element),
dataColor = $option.data('color'),
$colorWrapper = $('<span />').attr('class', 'aux-featured-color-item-wrapper'),
$color = $('<span />').attr('class', 'aux-featured-color-item'),
$colorLabel = $('<span />').attr('class', 'aux-featured-color-label').html( data.text );
// Color Shape
if( typeof dataColor !== 'undefined' ) {
var $colorShape = $('<span />').attr('class', 'aux-featured-color-shape');
if ( ! dataColor ) {
$colorShape.addClass('aux-featured-color-empty')
} else {
$colorShape.css( 'background-color', dataColor );
}
$colorShape.appendTo( $color );
}
$colorLabel.appendTo( $color );
$color.appendTo( $colorWrapper );
// Color Hex String
if( typeof dataColor !== 'undefined' ) {
var $colorHex = $('<span />').attr('class', 'aux-featured-color-hex');
if ( dataColor ) {
$colorHex.html( dataColor);
}
$colorHex.appendTo($colorWrapper);
}
return $colorWrapper;
}
});
$.fn[pluginName] = function ( options ) {
var args = arguments;
// Is the first parameter an object (options), or was omitted,
// instantiate a new instance of the plugin.
if (options === undefined || typeof options === 'object') {
return this.each(function () {
// Only allow the plugin to be instantiated once,
// so we check that the element has no plugin instantiation yet
if (!$.data(this, 'plugin_' + pluginName)) {
// if it has no instance, create a new one,
// pass options to our plugin constructor,
// and store the plugin instance
// in the elements jQuery data object.
$.data(this, 'plugin_' + pluginName, new Plugin( this, options ));
}
});
// If the first parameter is a string and it doesn't start
// with an underscore or "contains" the `init`-function,
// treat this as a call to a public method.
} else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
// Cache the method call
// to make it possible
// to return a value
var returns;
this.each(function () {
var instance = $.data(this, 'plugin_' + pluginName);
// Tests that there's already a plugin-instance
// and checks that the requested public method exists
if (instance instanceof Plugin && typeof instance[options] === 'function') {
// Call the method of our plugin instance,
// and pass it the supplied arguments.
returns = instance[options].apply( instance, Array.prototype.slice.call( args, 1 ) );
}
// Allow instances to be destroyed via the 'destroy' method
if (options === 'destroy') {
$.data(this, 'plugin_' + pluginName, null);
}
});
// If the earlier cached method
// gives a value back return the value,
// otherwise return this to preserve chainability.
return returns !== undefined ? returns : this;
}
}
}(jQuery, window, document));