Sha256: 5bfe6b52f4fdfa3e74c05b02290d22d107cfa7c50801d8fa7d245c30c66faa5f

Contents?: true

Size: 1.58 KB

Versions: 62

Compression:

Stored size: 1.58 KB

Contents

/**
 * @namespace WORKAREA.formSubmittingControls
 */
WORKAREA.registerModule('formSubmittingControls', (function () {
    'use strict';

    var changingNumberInput = function (event) {
            return event.target.type === 'number' && event.type === 'change';
        },

        submitClosestForm = function (event) {
            var $form = $(event.delegateTarget);

            if (changingNumberInput(event)) { return; }

            if (!$form.data('wasSubmitted')) {
                $form.trigger('submit');
                $form.data('wasSubmitted', typeof $form.valid !== 'function' || $form.valid());
            }
        },

        handleFieldChange = _.debounce(submitClosestForm, function () {
            if (WORKAREA.environment.isTest) {
                return 0;
            } else {
                return WORKAREA.config.formSubmittingControls.changeDelay;
            }
        }()),

        handleFieldInput = _.debounce(submitClosestForm, function () {
            if (WORKAREA.environment.isTest) {
                return 0;
            } else {
                return WORKAREA.config.formSubmittingControls.inputDelay;
            }
        }()),

        /**
         * @method
         * @name init
         * @memberof WORKAREA.formSubmittingControls
         */
        init = function ($scope) {
            $('form', $scope).has('[data-form-submitting-control]')
            .on('change', '[data-form-submitting-control]', handleFieldChange)
            .on('input', '[data-form-submitting-control]', handleFieldInput);
        };

    return {
        init: init
    };
}()));

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-core-3.5.27 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.5.26 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.4.45 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.5.25 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.5.23 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.4.44 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.5.22 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.4.43 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.5.21 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.4.42 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.5.20 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.4.41 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.5.19 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.4.40 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.5.18 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.4.39 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.5.17 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.4.38 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.5.16 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js
workarea-core-3.4.37 app/assets/javascripts/workarea/core/modules/form_submitting_controls.js