54 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
/**
 | 
						|
 * Copyright © Magento, Inc. All rights reserved.
 | 
						|
 * See COPYING.txt for license details.
 | 
						|
 */
 | 
						|
 | 
						|
define([
 | 
						|
    'jquery',
 | 
						|
    'jquery/ui'
 | 
						|
], function ($) {
 | 
						|
    'use strict';
 | 
						|
 | 
						|
    $.widget('ui.button', $.ui.button, {
 | 
						|
        options: {
 | 
						|
            eventData: {},
 | 
						|
            waitTillResolved: true
 | 
						|
        },
 | 
						|
 | 
						|
        /**
 | 
						|
         * Button creation.
 | 
						|
         * @protected
 | 
						|
         */
 | 
						|
        _create: function () {
 | 
						|
            if (this.options.event) {
 | 
						|
                this.options.target = this.options.target || this.element;
 | 
						|
                this._bind();
 | 
						|
            }
 | 
						|
 | 
						|
            this._super();
 | 
						|
        },
 | 
						|
 | 
						|
        /**
 | 
						|
         * Bind handler on button click.
 | 
						|
         * @protected
 | 
						|
         */
 | 
						|
        _bind: function () {
 | 
						|
            this.element
 | 
						|
                .off('click.button')
 | 
						|
                .on('click.button', $.proxy(this._click, this));
 | 
						|
        },
 | 
						|
 | 
						|
        /**
 | 
						|
         * Button click handler.
 | 
						|
         * @protected
 | 
						|
         */
 | 
						|
        _click: function () {
 | 
						|
            var options = this.options;
 | 
						|
 | 
						|
            $(options.target).trigger(options.event, [options.eventData]);
 | 
						|
        }
 | 
						|
    });
 | 
						|
 | 
						|
    return $.ui.button;
 | 
						|
});
 |