Sha256: b915cfebecf1068afd2efeeb9a888e8d2ffedbef179e01c9a1b32972414a4637

Contents?: true

Size: 1.18 KB

Versions: 2

Compression:

Stored size: 1.18 KB

Contents

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

    var userStateIsSet = function () {
            return !_.isEmpty(window.sessionStorage.getItem('segmentAnalyticsLoginState'));
        },

        setUserState = function (userData) {
            window.sessionStorage.setItem('segmentAnalyticsLoginState', userData.logged_in);
        },

        compare = function (userData) {
            if (userData.logged_in.toString() !== window.sessionStorage.getItem('segmentAnalyticsLoginState')) {
                if ( userData.logged_in ) {
                    WORKAREA.analytics.fireCallback('justLoggedIn');
                } else {
                    WORKAREA.analytics.fireCallback('justLoggedOut');
                }

                setUserState(userData);
            }
        },

        setupCallbacks = function () {
            if ( userStateIsSet() ) {
                WORKAREA.currentUser.gettingUserData.done(compare);
            } else {
                WORKAREA.currentUser.gettingUserData.done(setUserState);
            }
        },

        init = _.once(setupCallbacks);

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
workarea-segment_analytics-1.0.3 app/assets/javascripts/workarea/storefront/segment_analytics/modules/login_events.js
workarea-segment_analytics-1.0.2 app/assets/javascripts/workarea/storefront/segment_analytics/modules/login_events.js