"use strict"; var Model = require("./model"); var Vocabulary = require("../wType/vocabulary"); var String = require("../wType/string"); var Uint64 = require("../wType/uint64"); var Theme = Model.inherit({ "className": "Theme", "constructor": function(address, name, theme) { Model.fn.constructor.call(this, address); this._themeName = name; var result = {}; W.extend(result, Theme.default, theme); var data = new Vocabulary(); for (var key in result) { if (result.hasOwnProperty(key)) { var type = typeof result[key]; switch (type) { case "number": data.insert(key, new Uint64(result[key])); break; default: data.insert(key, new String(result[key])); break; } } } this._data = data; this.addHandler("get"); }, "getName": function() { return this._themeName; }, "_h_get": function(ev) { var vc = new Vocabulary(); vc.insert("data", this._data.clone()); vc.insert("name", new String(this._themeName)); this.response(vc, "get", ev); }, "_h_subscribe": function(ev) { Model.fn._h_subscribe.call(this, ev); this._h_get(ev); } }); Theme.default = { mainColor: "#ffffff", mainFontColor: "#222222", primaryColor: "#0000ff", primaryFontColor: "#ffffff", secondaryColor: "#dddddd", secondaryFontColor: "#222222", smallFont: "Liberation", smallFontSize: "12px", casualFont: "Liberation", casualFontSize: "16px", largeFont: "Liberation", largeFontSize: "20px" } module.exports = Theme;