Metal Detector / js /

app.common.js

/*
 * Copyright (c) 2015 Samsung Electronics Co., Ltd. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*global window*/

/**
 * Application common utility module.
 * Provides common methods used by other modules (event triggering).
 *
 * @module app.common
 * @namespace app.common
 * @memberof app
 */

// make sure that "app" namespace is created
window.app = window.app || {};

// strict mode wrapper function
(function defineAppCommon(app) {
    'use strict';

    // create namespace for the module
    app.common = app.common || {};

    /**
     * Dispatches an event.
     *
     * @memberof app.common
     * @public
     * @param {string} eventName Event name.
     * @param {*} data Detailed data.
     */
    function dispatchEvent(eventName, data) {
        var customEvent = new window.CustomEvent(eventName, {
            detail: data,
            cancelable: true
        });

        window.dispatchEvent(customEvent);
    }

    app.common.dispatchEvent = dispatchEvent;

})(window.app);