Sha256: fb18384aff2d8903dfce1b95ecc4206f0f37c40000e0367e910c05742f7fb14a

Contents?: true

Size: 1.46 KB

Versions: 62

Compression:

Stored size: 1.46 KB

Contents

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

    var toggleElements = function ($radio, positive) {
            var $container = $radio.closest('[data-toggle-button]'),
                $elements = $('.toggle-button__more', $container),
                reverseSwitch = positive ? 'negative' : 'positive',
                selector = '[data-toggle-button-' + reverseSwitch + '-element]';

            $elements.removeClass('toggle-button__more--active');

            $elements
                .not(selector)
                .addClass('toggle-button__more--active');
        },

        determineState = function ($radio) {
            if ($radio.is('.toggle-button__input--positive')) {
                toggleElements($radio, true);
            } else {
                toggleElements($radio, false);
            }
        },

        getCheckedRadio = function (event) {
            determineState($(event.currentTarget));
        },

        getInitialState = function (index, button) {
            determineState($('.toggle-button__input:checked', button));
        },

        /**
         * @method
         * @name init
         * @memberof WORKAREA.toggleButtons
         */
        init = function ($scope) {
            $('[data-toggle-button]', $scope)
            .on('change', '.toggle-button__input', getCheckedRadio)
            .each(getInitialState);
        };

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

Version data entries

62 entries across 62 versions & 1 rubygems

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