Commit | Line | Data |
---|---|---|
eaaf73b0 | 1 | // Holds anything kiwi client specific (ie. front, gateway, _kiwi.plugs..)\r |
9df70c63 D |
2 | /**\r |
3 | * @namespace\r | |
4 | */\r | |
eaaf73b0 | 5 | var _kiwi = {};\r |
9df70c63 | 6 | \r |
eaaf73b0 D |
7 | _kiwi.model = {};\r |
8 | _kiwi.view = {};\r | |
9 | _kiwi.applets = {};\r | |
b62c8381 D |
10 | \r |
11 | \r | |
12 | /**\r | |
13 | * A global container for third party access\r | |
14 | * Will be used to access a limited subset of kiwi functionality\r | |
15 | * and data (think: plugins)\r | |
16 | */\r | |
eaaf73b0 | 17 | _kiwi.global = {\r |
5bed0536 | 18 | settings: undefined,\r |
93fa049c D |
19 | plugins: undefined,\r |
20 | utils: undefined, // TODO: Re-usable methods\r | |
21 | gateway: undefined, // TODO: Access to gateway\r | |
22 | user: undefined, // TODO: Limited user methods\r | |
23 | server: undefined, // TODO: Limited server methods\r | |
721ad945 D |
24 | command: undefined, // The control box\r |
25 | \r | |
26 | // TODO: think of a better term for this as it will also refer to queries\r | |
93fa049c | 27 | channels: undefined, // TODO: Limited access to panels list\r |
b62c8381 D |
28 | \r |
29 | // Entry point to start the kiwi application\r | |
30 | start: function (opts) {\r | |
31 | opts = opts || {};\r | |
32 | \r | |
5bed0536 D |
33 | // Load the plugin manager\r |
34 | _kiwi.global.plugins = new _kiwi.model.PluginManager();\r | |
35 | \r | |
36 | // Set up the settings datastore\r | |
37 | _kiwi.global.settings = _kiwi.model.DataStore.instance('kiwi.settings');\r | |
38 | _kiwi.global.settings.load();\r | |
39 | \r | |
eaaf73b0 | 40 | _kiwi.app = new _kiwi.model.Application(opts);\r |
b62c8381 D |
41 | \r |
42 | if (opts.kiwi_server) {\r | |
eaaf73b0 | 43 | _kiwi.app.kiwi_server = opts.kiwi_server;\r |
b62c8381 D |
44 | }\r |
45 | \r | |
5bed0536 | 46 | // Start the client up\r |
eaaf73b0 | 47 | _kiwi.app.start();\r |
b62c8381 D |
48 | \r |
49 | return true;\r | |
721ad945 | 50 | }\r |
b62c8381 D |
51 | };\r |
52 | \r | |
53 | \r | |
54 | \r | |
55 | // If within a closure, expose the kiwi globals\r | |
56 | if (typeof global !== 'undefined') {\r | |
eaaf73b0 D |
57 | global.kiwi = _kiwi.global;\r |
58 | } else {\r | |
59 | // Not within a closure so set a var in the current scope\r | |
60 | var kiwi = _kiwi.global;\r | |
b62c8381 | 61 | } |