Move OptionsManager to separate file

This commit is contained in:
isqua 2015-01-08 18:53:24 +03:00
parent d90ebd48f3
commit 4a8d6f49f4
3 changed files with 40 additions and 40 deletions

View File

@ -0,0 +1,37 @@
/**
* Объект для получения опций
* @param {Object} options Хеш настроек
* @constructor
*/
function OptionsManager(options) {
this._options = options || {};
}
/**
* @param {String} optionName Имя опции
* @returns {Boolean|String|Null} Значение опции
*/
OptionsManager.prototype.get = function(optionName) {
return this._options.hasOwnProperty(optionName) ? this._options[optionName].value : null;
};
/**
* Проверяет, равна ли опция значению value. Если value не переданно, проверяет задана ли она и не равна ли false/''
* @param {String} optionName Имя опции
* @param {Boolean|String} [value=true] Значение опции
* @returns {Boolean}
*/
OptionsManager.prototype.is = function(optionName, value) {
if (typeof value !== 'undefined') {
return this.get(optionName) === value;
} else {
return Boolean(this.get(optionName));
}
};
/**
* @returns {Object} Хеш опций
*/
OptionsManager.prototype.getOptions = function() {
return this._options;
};

View File

@ -5,45 +5,6 @@ chrome.runtime.sendMessage({
console.debug('showPageAction response: %O', response);
});
// @todo Move OptionsManager to the separate file
/**
* Объект для получения опций
* @param {Object} options Хеш настроек
* @constructor
*/
function OptionsManager(options) {
this._options = options || {};
}
/**
* @param {String} optionName Имя опции
* @returns {Boolean|String|Null} Значение опции
*/
OptionsManager.prototype.get = function(optionName) {
return this._options.hasOwnProperty(optionName) ? this._options[optionName].value : null;
};
/**
* Проверяет, равна ли опция значению value. Если value не переданно, проверяет задана ли она и не равна ли false/''
* @param {String} optionName Имя опции
* @param {Boolean|String} [value=true] Значение опции
* @returns {Boolean}
*/
OptionsManager.prototype.is = function(optionName, value) {
if (typeof value !== 'undefined') {
return this.get(optionName) === value;
} else {
return Boolean(this.get(optionName));
}
};
/**
* @returns {Object} Хеш опций
*/
OptionsManager.prototype.getOptions = function() {
return this._options;
};
var ppVersion;
chrome.runtime.sendMessage(null, {

View File

@ -30,7 +30,9 @@
"vendor/jquery/jquery.min.js",
"js/bquery_ajax.js",
"js/options-manager.js",
"js/point-plus.js"
],
"css": [