support shorthand css color values like #F3D and sanity check for leading octothorp

This commit is contained in:
Jesse MacFadyen 2014-03-11 14:23:13 -07:00
parent 83cc8464e1
commit 7b648411cd

View File

@ -1,87 +1,100 @@
/* /*
* *
* Licensed to the Apache Software Foundation (ASF) under one * Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information * distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the * to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance * "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at * with the License. You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, * Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an * software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations * specific language governing permissions and limitations
* under the License. * under the License.
* *
*/ */
var argscheck = require('cordova/argscheck'), var argscheck = require('cordova/argscheck'),
utils = require('cordova/utils'), utils = require('cordova/utils'),
exec = require('cordova/exec'); exec = require('cordova/exec');
var namedColors = { var namedColors = {
"black":"#000000", "black": "#000000",
"darkGray":"#A9A9A9", "darkGray": "#A9A9A9",
"lightGray":"#D3D3D3", "lightGray": "#D3D3D3",
"white":"#FFFFFF", "white": "#FFFFFF",
"gray":"#808080", "gray": "#808080",
"red":"#FF0000", "red": "#FF0000",
"green":"#00FF00", "green": "#00FF00",
"blue":"#0000FF", "blue": "#0000FF",
"cyan":"#00FFFF", "cyan": "#00FFFF",
"yellow":"#FFFF00", "yellow": "#FFFF00",
"magenta":"#FF00FF", "magenta": "#FF00FF",
"orange":"##FFA500", "orange": "##FFA500",
"purple":"#800080", "purple": "#800080",
"brown":"#A52A2A" "brown": "#A52A2A"
}; };
// prime it // prime it
exec(null, null, "StatusBar", "_ready", []); exec(null, null, "StatusBar", "_ready", []);
var StatusBar = function() { var StatusBar = function () {
}; };
StatusBar.overlaysWebView = function(doOverlay) { StatusBar.overlaysWebView = function (doOverlay) {
exec(null, null, "StatusBar", "overlaysWebView", [doOverlay]); exec(null, null, "StatusBar", "overlaysWebView", [doOverlay]);
}; };
StatusBar.styleDefault = function() { StatusBar.styleDefault = function () {
exec(null, null, "StatusBar", "styleDefault", []); // dark text on a light background
}; exec(null, null, "StatusBar", "styleDefault", []);
};
StatusBar.styleLightContent = function() { StatusBar.styleLightContent = function () {
exec(null, null, "StatusBar", "styleLightContent", []); // light text on a dark background
}; exec(null, null, "StatusBar", "styleLightContent", []);
};
StatusBar.styleBlackTranslucent = function() { StatusBar.styleBlackTranslucent = function () {
exec(null, null, "StatusBar", "styleBlackTranslucent", []); // #88000000 ? Apple says to use lightContent instead
}; exec(null, null, "StatusBar", "styleBlackTranslucent", []);
};
StatusBar.styleBlackOpaque = function() { StatusBar.styleBlackOpaque = function () {
exec(null, null, "StatusBar", "styleBlackOpaque", []); // #FF000000 ? Apple says to use lightContent instead
}; exec(null, null, "StatusBar", "styleBlackOpaque", []);
};
StatusBar.backgroundColorByName = function(colorname) { StatusBar.backgroundColorByName = function (colorname) {
return StatusBar.backgroundColorByHexString(namedColors[colorname]); return StatusBar.backgroundColorByHexString(namedColors[colorname]);
} }
StatusBar.backgroundColorByHexString = function(hexString) { StatusBar.backgroundColorByHexString = function (hexString) {
exec(null, null, "StatusBar", "backgroundColorByHexString", [hexString]); if (hexString.indexOf("#") < 0) {
} hexString = "#" + hexString;
}
StatusBar.hide = function() { if (hexString.length == 4) {
exec(null, null, "StatusBar", "hide", []); var split = hexString.split("");
} hexString = "#" + hexString[1] + hexString[1] + hexString[2] + hexString[2] + hexString[3] + hexString[3];
}
StatusBar.show = function() { exec(null, null, "StatusBar", "backgroundColorByHexString", [hexString]);
exec(null, null, "StatusBar", "show", []); }
}
StatusBar.isVisible = true; StatusBar.hide = function () {
exec(null, null, "StatusBar", "hide", []);
}
module.exports = StatusBar; StatusBar.show = function () {
exec(null, null, "StatusBar", "show", []);
}
StatusBar.isVisible = true;
module.exports = StatusBar;