|
|
/* * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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 cordova */
var exec = require('cordova/exec');
var namedColors = { "black": "#000000", "darkGray": "#A9A9A9", "lightGray": "#D3D3D3", "white": "#FFFFFF", "gray": "#808080", "red": "#FF0000", "green": "#00FF00", "blue": "#0000FF", "cyan": "#00FFFF", "yellow": "#FFFF00", "magenta": "#FF00FF", "orange": "#FFA500", "purple": "#800080", "brown": "#A52A2A" };
var StatusBar = {
isVisible: true,
overlaysWebView: function (doOverlay) { exec(null, null, "StatusBar", "overlaysWebView", [doOverlay]); },
styleDefault: function () { // dark text ( to be used on a light background )
exec(null, null, "StatusBar", "styleDefault", []); },
styleLightContent: function () { // light text ( to be used on a dark background )
exec(null, null, "StatusBar", "styleLightContent", []); },
styleBlackTranslucent: function () { // #88000000 ? Apple says to use lightContent instead
exec(null, null, "StatusBar", "styleBlackTranslucent", []); },
styleBlackOpaque: function () { // #FF000000 ? Apple says to use lightContent instead
exec(null, null, "StatusBar", "styleBlackOpaque", []); },
backgroundColorByName: function (colorname) { return StatusBar.backgroundColorByHexString(namedColors[colorname]); },
backgroundColorByHexString: function (hexString) { if (hexString.charAt(0) !== "#") { hexString = "#" + hexString; }
if (hexString.length === 4) { var split = hexString.split(""); hexString = "#" + split[1] + split[1] + split[2] + split[2] + split[3] + split[3]; }
exec(null, null, "StatusBar", "backgroundColorByHexString", [hexString]); },
hide: function () { exec(null, null, "StatusBar", "hide", []); StatusBar.isVisible = false; },
show: function () { exec(null, null, "StatusBar", "show", []); StatusBar.isVisible = true; }
};
// prime it. setTimeout so that proxy gets time to init
window.setTimeout(function () { exec(function (res) { if (typeof res == 'object') { if (res.type == 'tap') { cordova.fireWindowEvent('statusTap'); } } else { StatusBar.isVisible = res; } }, null, "StatusBar", "_ready", []); }, 0);
module.exports = StatusBar;
|