芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/www/cloud.pulsehost.co.uk/modules/Google/js/Settings.js
'use strict'; var _ = require('underscore'), ko = require('knockout'), Types = require('%PathToCoreWebclientModule%/js/utils/Types.js') ; module.exports = { ServerModuleName: 'Google', HashModuleName: 'google', Connected: false, EnableModule: false, Id: '', Secret: '', Key: '', Scopes: [], /** * Initializes settings from AppData object sections. * * @param {Object} oAppData Object contained modules settings. */ init: function (oAppData) { var oAppDataSection = _.extend({}, oAppData[this.ServerModuleName] || {}, oAppData['%ModuleName%'] || {}); if (!_.isEmpty(oAppDataSection)) { this.Connected = Types.pBool(oAppDataSection.Connected, this.Connected); this.EnableModule = Types.pBool(oAppDataSection.EnableModule, this.EnableModule); this.Id = Types.pString(oAppDataSection.Id, this.Id); this.Secret = Types.pString(oAppDataSection.Secret, this.Secret); this.Key = Types.pString(oAppDataSection.Key, this.Key); this.Scopes = Types.pArray(oAppDataSection.Scopes, this.Scopes); } }, /** * Returns copy of Scopes with observable Value parameter. * * @returns {Array} */ getScopesCopy: function () { var aScopesCopy = []; _.each(this.Scopes, function (oScope) { aScopesCopy.push({ Description: oScope.Description, Name: oScope.Name, Value: ko.observable(oScope.Value) }); }); return aScopesCopy; }, /** * Updates Connected and Scopes parameters. * * @param {boolean} bConnected New value of Connected parameter. * @param {array} aScopes New value of Scopes parameter. */ updateScopes: function (bConnected, aScopes) { var aNewScopes = []; _.each(aScopes, function (oScope) { aNewScopes.push({ Description: oScope.Description, Name: oScope.Name, Value: oScope.Value() }); }); this.Connected = bConnected; this.Scopes = aNewScopes; }, /** * Updates settings that is edited by administrator. * * @param {boolean} bEnableModule New value of EnableModule parameter. * @param {string} sId New value of Id parameter. * @param {string} sSecret New value of Secret parameter. * @param {string} sKey New value of Key parameter. * @param {array} aScopes New value of Scopes parameter. */ updateAdmin: function (bEnableModule, sId, sSecret, sKey, aScopes) { this.EnableModule = bEnableModule; this.Id = sId; this.Secret = sSecret; this.Key = sKey; this.Scopes = aScopes; } };