UNPKG

htd-lync

Version:

This library is meant to be used to interact with an HTD Lync 12

69 lines (61 loc) 2.31 kB
cordova.define("cordova-plugin-chrome-apps-common.helpers", function(require, exports, module) { // Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Distinguish between having the plugin loaded vs. being run using chromeapp.html. var isChromeApp = /chromeapp.html$/.exec(location.href) ? true : false; var channel = require('cordova/channel'); function getChromeAppFlag() { return isChromeApp; } // TODO: Delete this method if favour of delayDeviceReadyUntil. exports.runAtStartUp = function(func) { if (isChromeApp) { // TODO: Implement done() call back for chrome app case. var mobile = require('cordova-plugin-chrome-apps-bootstrap.mobile.impl'); mobile.onBackgroundPageLoaded.subscribe(func); } else { channel.onCordovaReady.subscribe(func); } }; // TODO: Add this to cordova-js. // Executes func after onCordovaReady fires, and delays deviceready until done() is called. exports.delayDeviceReadyUntil = function(func) { channel.onCordovaReady.subscribe(function() { var newChannel = channel.createSticky('cca-delay-device-ready'); channel.deviceReadyChannelsArray.push(newChannel); func(function done() { newChannel.fire(); }); }); }; // For Chrome Apps: // - Call func after background page is loaded. // - Prevents onLaunched from being fired // - func() called immeditately if start-up sequence has already completed. // For vanilla Cordova: // - Call func after deviceready has been fired. // - func() called immeditately if deviceready has already fired. exports.queueLifeCycleEvent = function(func) { if (isChromeApp) { var mobile = require('cordova-plugin-chrome-apps-bootstrap.mobile.impl'); if (mobile.lifeCycleEventFuncs) { mobile.lifeCycleEventFuncs.push(func); } else { // Initial events have already occurred. func(); } } else { if (channel.onDeviceReady.state == 1) { // Fire after deviceready, and within a setTimeout to allow // user code to register listeners. channel.onDeviceReady.subscribe(function() { setTimeout(func, 0); }); } else { func(); } } }; exports.__defineGetter__("isChromeApp", getChromeAppFlag); });