Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
subversal
/
video
/
wp-content
/
plugins
/
atlas-core
/
framework
/
redux-core
/
inc
/
extensions
/
js_button
/
js_button
:
redux-js-button.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
/* global redux, jQuery */ /** * JS Button library * * @author Kevin Provance (kprovance) */ ( function( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.js_button = redux.field_objects.js_button || {}; redux.field_objects.js_button.mainID = ''; /******************************************************************************* * Runs when library is loaded. ******************************************************************************/ redux.field_objects.js_button.init = function( selector ) { // If no selector is passed, grab one from the HTML. if ( ! selector ) { selector = $( document ).find( '.redux-container-js_button' ); } // Enum instances of our object. $( selector ).each( function() { var button; var el = $( this ); var parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Do module level init. redux.field_objects.js_button.modInit( el ); // Get the button handle. button = $( el ).find( 'input' ); $.each( button, function( key, value ) { key = null; $( this ).on( 'click', function( e ) { var funcName = $( value ).data( 'function' ); // Not really needed, but just in case. e.preventDefault(); if ( '' !== funcName ) { // Ensure custom function exists. if ( 'function' === typeof ( window[funcName] ) ) { // Add it to the window object and execute. window[funcName](); } else { // Let the dev know he fucked up someplace. throw( 'JS Button Error. Function ' + funcName + ' does not exist.' ); } } } ); } ); } ); }; /******************************************************************************* * Module level init ******************************************************************************/ redux.field_objects.js_button.modInit = function( el ) { // ID of the fieldset. redux.field_objects.js_button.mainID = el.attr( 'data-id' ); }; } )( jQuery );