jsgui3-server 0.0.74 → 0.0.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/examples/client-side-popup-menu-button.html +93 -93
  2. package/examples/controls/_html-server-color-palette.js +114 -114
  3. package/examples/controls/html-server-combo-box.js +104 -104
  4. package/examples/controls/html-server-list.js +98 -98
  5. package/examples/controls/html-server-popup-menu-button.js +114 -114
  6. package/examples/controls/html-server-start-stop-toggle-button.js +146 -146
  7. package/examples/controls/scs-arrow-button.js +36 -36
  8. package/examples/controls/scs-date-picker.js +157 -157
  9. package/examples/controls/scs-file-browser.js +82 -82
  10. package/examples/controls/scs-item.js +159 -159
  11. package/examples/controls/scs-month-arrow-selector.js +126 -126
  12. package/examples/controls/scs-month-view.js +95 -95
  13. package/examples/controls/scs-start-stop-toggle-button.js +40 -40
  14. package/examples/controls/scs-tree.js +49 -49
  15. package/examples/controls/scs-year-arrow-selector.js +127 -127
  16. package/examples/demos/date-picker.js +119 -119
  17. package/examples/demos/explain-encapsulation.js +9 -9
  18. package/examples/demos/resizing.js +35 -35
  19. package/examples/demos/server_time.js +6 -6
  20. package/examples/demos/square_box.js +324 -324
  21. package/examples/html-rendering.js +20 -20
  22. package/examples/html-server.js +102 -100
  23. package/fs2.js +1836 -1836
  24. package/module.js +21 -21
  25. package/old/single-control-server.js +418 -418
  26. package/package.json +44 -42
  27. package/publishing/function-publisher.js +202 -202
  28. package/publishing/notes.md +5 -5
  29. package/publishing/observable-publisher.js +118 -118
  30. package/publishing/resource-publisher.js +306 -306
  31. package/resources/data-resource.js +104 -104
  32. package/resources/fs-resource.js +148 -148
  33. package/resources/jsbuilder/Abstract_Single_Declaration.js +105 -0
  34. package/resources/jsbuilder/Abstract_Single_Declaration_Sequence.js +43 -0
  35. package/resources/jsbuilder/JS_AST/JS_AST_Abstract_Node.js +62 -0
  36. package/resources/jsbuilder/JS_AST/JS_AST_Abstract_Node_Group.js +42 -0
  37. package/resources/jsbuilder/JS_AST/JS_AST_Group_Shared.js +62 -0
  38. package/resources/jsbuilder/JS_AST/JS_AST_Node.js +94 -0
  39. package/resources/jsbuilder/JS_AST/JS_AST_Node_0-Core.js +228 -0
  40. package/resources/jsbuilder/JS_AST/JS_AST_Node_1-Babel.js +338 -0
  41. package/resources/jsbuilder/JS_AST/JS_AST_Node_10-Changing.js +40 -0
  42. package/resources/jsbuilder/JS_AST/JS_AST_Node_2.1.1-Child.js +97 -0
  43. package/resources/jsbuilder/JS_AST/JS_AST_Node_2.1.2-Parent.js +38 -0
  44. package/resources/jsbuilder/JS_AST/JS_AST_Node_2.1.3-Ancestor.js +62 -0
  45. package/resources/jsbuilder/JS_AST/JS_AST_Node_2.2-Inner.js +44 -0
  46. package/resources/jsbuilder/JS_AST/JS_AST_Node_2.3-All.js +73 -0
  47. package/resources/jsbuilder/JS_AST/JS_AST_Node_2.4-Sibling.js +93 -0
  48. package/resources/jsbuilder/JS_AST/JS_AST_Node_2.5-Available_In_Scope.js +29 -0
  49. package/resources/jsbuilder/JS_AST/JS_AST_Node_2.9-Signature.js +116 -0
  50. package/resources/jsbuilder/JS_AST/JS_AST_Node_3-Basics.js +160 -0
  51. package/resources/jsbuilder/JS_AST/JS_AST_Node_3.0.0-Basics_First.js +179 -0
  52. package/resources/jsbuilder/JS_AST/JS_AST_Node_3.0.1-Basics_Second.js +88 -0
  53. package/resources/jsbuilder/JS_AST/JS_AST_Node_3.0.99-Basics_Last.js +92 -0
  54. package/resources/jsbuilder/JS_AST/JS_AST_Node_3.1-Basics_Each.js +137 -0
  55. package/resources/jsbuilder/JS_AST/JS_AST_Node_3.1.5-Basics_Count.js +74 -0
  56. package/resources/jsbuilder/JS_AST/JS_AST_Node_3.2-Basics_Filter.js +40 -0
  57. package/resources/jsbuilder/JS_AST/JS_AST_Node_3.3-Basics_Collect.js +86 -0
  58. package/resources/jsbuilder/JS_AST/JS_AST_Node_3.4-Basics_Select.js +43 -0
  59. package/resources/jsbuilder/JS_AST/JS_AST_Node_3.5-Basics_Find.js +41 -0
  60. package/resources/jsbuilder/JS_AST/JS_AST_Node_3.6-Basics_Callmap.js +55 -0
  61. package/resources/jsbuilder/JS_AST/JS_AST_Node_4.0-Index_Indexes.js +46 -0
  62. package/resources/jsbuilder/JS_AST/JS_AST_Node_4.1-Index.js +344 -0
  63. package/resources/jsbuilder/JS_AST/JS_AST_Node_5.0-Category.js +39 -0
  64. package/resources/jsbuilder/JS_AST/JS_AST_Node_5.1-Category_Identifier.js +31 -0
  65. package/resources/jsbuilder/JS_AST/JS_AST_Node_5.2-Category_Literal.js +29 -0
  66. package/resources/jsbuilder/JS_AST/JS_AST_Node_5.3-Category_Expression.js +27 -0
  67. package/resources/jsbuilder/JS_AST/JS_AST_Node_5.4-Category_Pattern.js +9 -0
  68. package/resources/jsbuilder/JS_AST/JS_AST_Node_5.5-Category_Declaration.js +44 -0
  69. package/resources/jsbuilder/JS_AST/JS_AST_Node_5.6-Category_Statement.js +22 -0
  70. package/resources/jsbuilder/JS_AST/JS_AST_Node_6.0-Type.js +87 -0
  71. package/resources/jsbuilder/JS_AST/JS_AST_Node_6.1-Type_Class_Declaration.js +9 -0
  72. package/resources/jsbuilder/JS_AST/JS_AST_Node_6.2-Type_Variable_Declaration.js +28 -0
  73. package/resources/jsbuilder/JS_AST/JS_AST_Node_6.3-Type_Variable_Declarator.js +29 -0
  74. package/resources/jsbuilder/JS_AST/JS_AST_Node_7-Query.js +737 -0
  75. package/resources/jsbuilder/JS_AST/JS_AST_Node_8-Features.js +65 -0
  76. package/resources/jsbuilder/JS_AST/JS_AST_Node_9-Planning.js +32 -0
  77. package/resources/jsbuilder/JS_AST/JS_AST_Node_Arrangement.js +15 -0
  78. package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Node_Declared_Object.js +306 -0
  79. package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Node_Feature.js +78 -0
  80. package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Node_Feature_Declaration.js +249 -0
  81. package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Node_Feature_Declarator.js +139 -0
  82. package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/JS_AST_Root_Node_Feature.js +10 -0
  83. package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/JS_AST_Root_Node_Feature_Exported.js +101 -0
  84. package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/JS_AST_Root_Node_Feature_Exports.js +61 -0
  85. package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/JS_AST_Root_Node_Interpreted.js +180 -0
  86. package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/_JSGUI_Root_Node_Interpreted.js +43 -0
  87. package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/special_case_objectassign_to_object.js +12 -0
  88. package/resources/jsbuilder/JS_AST/JS_AST_Node_Group.js +35 -0
  89. package/resources/jsbuilder/JS_AST/JS_AST_Operation.js +11 -0
  90. package/resources/jsbuilder/JS_AST/JS_AST_Operation_On_Relationship.js +32 -0
  91. package/resources/jsbuilder/JS_AST/JS_AST_Ordered_Relationship_Node_To_Group.js +38 -0
  92. package/resources/jsbuilder/JS_AST/JS_AST_Ordinal.js +40 -0
  93. package/resources/jsbuilder/JS_AST/JS_AST_Ordinal_Relationship.js +25 -0
  94. package/resources/jsbuilder/JS_AST/JS_AST_Relationship_Node_To_Group.js +201 -0
  95. package/resources/jsbuilder/JS_AST/JS_AST_Relationship_Node_Within_Group_To_Node.js +44 -0
  96. package/resources/jsbuilder/JS_AST/_JS_AST_Node_3.8-Query_Features.js +77 -0
  97. package/resources/jsbuilder/JS_AST/query/all.js +0 -0
  98. package/resources/jsbuilder/JS_AST/query/enable_array_as_queryable.js +228 -0
  99. package/resources/jsbuilder/JS_AST/query/find_object_keys.js +405 -0
  100. package/resources/jsbuilder/JS_AST/query/node_queries.js +9 -0
  101. package/resources/jsbuilder/JS_AST/query/root_queries.js +0 -0
  102. package/resources/jsbuilder/JS_AST/query/root_query_identidy.js +12 -0
  103. package/resources/jsbuilder/JS_AST_Node_Extended/JSGUI_Singular_Declaration.js +86 -0
  104. package/resources/jsbuilder/JS_AST_Node_Extended/JS_AST_Node_Declaration.js +124 -0
  105. package/resources/jsbuilder/JS_AST_Node_Extended/JS_AST_Node_Extended.js +88 -0
  106. package/resources/jsbuilder/JS_AST_Node_Extended/JS_AST_Node_Extended_0-Core.js +11 -0
  107. package/resources/jsbuilder/JS_Builder.js +11 -0
  108. package/resources/jsbuilder/JS_File/Feature/JS_File_Declared_Object.js +32 -0
  109. package/resources/jsbuilder/JS_File/Feature/JS_File_Exported_Object_Info.js +26 -0
  110. package/resources/jsbuilder/JS_File/Feature/JS_File_Exports.js +79 -0
  111. package/resources/jsbuilder/JS_File/Feature/JS_File_Feature.js +18 -0
  112. package/resources/jsbuilder/JS_File/Feature/JS_File_Imported_Object_Info.js +26 -0
  113. package/resources/jsbuilder/JS_File/Feature/JS_File_Imports.js +9 -0
  114. package/resources/jsbuilder/JS_File/JS_File.js +12 -0
  115. package/resources/jsbuilder/JS_File/JS_File_0-Core.js +202 -0
  116. package/resources/jsbuilder/JS_File/JS_File_1-Early_Parse.js +175 -0
  117. package/resources/jsbuilder/JS_File/JS_File_2-Babel.js +81 -0
  118. package/resources/jsbuilder/JS_File/JS_File_3-JS_AST_Node.js +86 -0
  119. package/resources/jsbuilder/JS_File/JS_File_4-Query.js +414 -0
  120. package/resources/jsbuilder/JS_File/JS_File_4.1-Query_Features.js +415 -0
  121. package/resources/jsbuilder/JS_File/JS_File_5-Planning.js +59 -0
  122. package/resources/jsbuilder/JS_File/JS_File_6-Changing.js +24 -0
  123. package/resources/jsbuilder/JS_File/JS_File_Export_Reference.js +12 -0
  124. package/resources/jsbuilder/JS_File/JS_File_Import_Reference.js +24 -0
  125. package/resources/jsbuilder/JS_File/JS_File_Import_References.js +32 -0
  126. package/resources/jsbuilder/JS_File/JS_File_Processor.js +16 -0
  127. package/resources/jsbuilder/JS_File/JS_Files.js +16 -0
  128. package/resources/jsbuilder/Module.js +14 -0
  129. package/resources/jsbuilder/Platform.js +14 -0
  130. package/resources/jsbuilder/Platforms.js +70 -0
  131. package/resources/jsbuilder/Project.js +109 -0
  132. package/resources/jsbuilder/Reference.js +1 -0
  133. package/resources/jsbuilder/Reference_Sequence.js +16 -0
  134. package/resources/jsbuilder/Scope.js +30 -0
  135. package/resources/jsbuilder/Variable_Name_Provider.js +43 -0
  136. package/resources/jsbuilder/_JS_File.js +226 -0
  137. package/resources/jsbuilder/ast_query.js +21 -0
  138. package/resources/jsbuilder/babel/babel_consts.js +150 -0
  139. package/resources/jsbuilder/babel/babel_node_tools.js +542 -0
  140. package/resources/jsbuilder/babel/deep_iterate/deep_iterate_babel.js +604 -0
  141. package/resources/jsbuilder/build.js +16 -0
  142. package/resources/jsbuilder/platform_notes.md +66 -0
  143. package/resources/jsbuilder/test/test_ast_node.js +451 -0
  144. package/resources/jsbuilder/test/test_js_file.js +304 -0
  145. package/resources/jsbuilder/test/test_project.js +157 -0
  146. package/resources/local-server-info-resource.js +78 -78
  147. package/resources/process-js.js +537 -537
  148. package/resources/server-resource-pool.js +84 -84
  149. package/resources/website-css-resource.js +411 -411
  150. package/resources/website-javascript-resource.js +761 -731
  151. package/resources/website-resource.js +390 -390
  152. package/resources/website-static-html-resource.js +196 -196
  153. package/server.js +170 -170
  154. package/single-control-server.js +398 -398
  155. package/single-page-app.js +129 -129
@@ -1,99 +1,99 @@
1
- /**
2
- * Created by James on 02/10/2016.
3
- */
4
-
5
- // This one will need to activate on the client.
6
- // Really want the whole thing to be in one file.
7
- // Possible to have a standard activation?
8
- //
9
- // Or we need to have a client-side control?
10
- //
11
- // Some of the wiring could be done automatically.
12
- //
13
-
14
- var jsgui = require('../server/server');
15
- var List = require('../controls/list');
16
-
17
- var Server = jsgui.Server;
18
- var port = 80;
19
- var Server_Page_Context = Server.Page_Context;
20
-
21
- var server = new Server({
22
- 'routes': {
23
- '*': {
24
- 'name': 'html-server'
25
- }
26
- }
27
-
28
- });
29
-
30
- var resource_pool = server.resource_pool;
31
-
32
- var server_router = resource_pool.get_resource('Server Router');
33
-
34
- //console.log('server_router', server_router);
35
-
36
- if (!server_router) {
37
- throw 'no server_router';
38
- }
39
-
40
- var routing_tree = server_router.routing_tree;
41
-
42
- routing_tree.set('/', function(req, res) {
43
- //console.log('root path / request');
44
- var server_page_context = new Server_Page_Context({
45
- 'req': req,
46
- 'res': res,
47
- 'resource_pool': resource_pool
48
- });
49
- // Page_Bounds_Specifier
50
- var hd = new jsgui.Client_HTML_Document({
51
- 'context': server_page_context
52
- });
53
- hd.include_client_css();
54
- hd.include_js('/js/app-bundle.js');
55
- var body = hd.body;
56
- var ctrl = new List({
57
- 'context': server_page_context
58
- });
59
-
60
- // The list has got an items collection.
61
-
62
- //ctrl.items.content([]);
63
-
64
-
65
- ctrl.items.add('2000');
66
- ctrl.items.add('2001');
67
- ctrl.items.add('2002');
68
- ctrl.items.add('2003');
69
- ctrl.items.add('2004');
70
- ctrl.items.add('2005');
71
- ctrl.items.add('2006');
72
- ctrl.items.add('2007');
73
- ctrl.items.add('2008');
74
- ctrl.items.add('2009');
75
- ctrl.items.load_array(['2010', '2011']);
76
-
77
-
78
- //var ctrl2 = new jsgui.Control({});
79
- body.add(ctrl);
80
- hd.all_html_render(function(err, deferred_html) {
81
- if (err) {
82
- throw err;
83
- } else {
84
- //console.log('deferred_html', deferred_html);
85
- var mime_type = 'text/html';
86
- //console.log('mime_type ' + mime_type);
87
- res.writeHead(200, { 'Content-Type': mime_type });
88
- res.end('<!DOCTYPE html>' + deferred_html, 'utf-8');
89
- }
90
- });
91
- });
92
-
93
- server.start(port, function(err, cb_start) {
94
- if (err) {
95
- throw err;
96
- } else {
97
- console.log('master server started');
98
- }
1
+ /**
2
+ * Created by James on 02/10/2016.
3
+ */
4
+
5
+ // This one will need to activate on the client.
6
+ // Really want the whole thing to be in one file.
7
+ // Possible to have a standard activation?
8
+ //
9
+ // Or we need to have a client-side control?
10
+ //
11
+ // Some of the wiring could be done automatically.
12
+ //
13
+
14
+ var jsgui = require('../server/server');
15
+ var List = require('../controls/list');
16
+
17
+ var Server = jsgui.Server;
18
+ var port = 80;
19
+ var Server_Page_Context = Server.Page_Context;
20
+
21
+ var server = new Server({
22
+ 'routes': {
23
+ '*': {
24
+ 'name': 'html-server'
25
+ }
26
+ }
27
+
28
+ });
29
+
30
+ var resource_pool = server.resource_pool;
31
+
32
+ var server_router = resource_pool.get_resource('Server Router');
33
+
34
+ //console.log('server_router', server_router);
35
+
36
+ if (!server_router) {
37
+ throw 'no server_router';
38
+ }
39
+
40
+ var routing_tree = server_router.routing_tree;
41
+
42
+ routing_tree.set('/', function(req, res) {
43
+ //console.log('root path / request');
44
+ var server_page_context = new Server_Page_Context({
45
+ 'req': req,
46
+ 'res': res,
47
+ 'resource_pool': resource_pool
48
+ });
49
+ // Page_Bounds_Specifier
50
+ var hd = new jsgui.Client_HTML_Document({
51
+ 'context': server_page_context
52
+ });
53
+ hd.include_client_css();
54
+ hd.include_js('/js/app-bundle.js');
55
+ var body = hd.body;
56
+ var ctrl = new List({
57
+ 'context': server_page_context
58
+ });
59
+
60
+ // The list has got an items collection.
61
+
62
+ //ctrl.items.content([]);
63
+
64
+
65
+ ctrl.items.add('2000');
66
+ ctrl.items.add('2001');
67
+ ctrl.items.add('2002');
68
+ ctrl.items.add('2003');
69
+ ctrl.items.add('2004');
70
+ ctrl.items.add('2005');
71
+ ctrl.items.add('2006');
72
+ ctrl.items.add('2007');
73
+ ctrl.items.add('2008');
74
+ ctrl.items.add('2009');
75
+ ctrl.items.load_array(['2010', '2011']);
76
+
77
+
78
+ //var ctrl2 = new jsgui.Control({});
79
+ body.add(ctrl);
80
+ hd.all_html_render(function(err, deferred_html) {
81
+ if (err) {
82
+ throw err;
83
+ } else {
84
+ //console.log('deferred_html', deferred_html);
85
+ var mime_type = 'text/html';
86
+ //console.log('mime_type ' + mime_type);
87
+ res.writeHead(200, { 'Content-Type': mime_type });
88
+ res.end('<!DOCTYPE html>' + deferred_html, 'utf-8');
89
+ }
90
+ });
91
+ });
92
+
93
+ server.start(port, function(err, cb_start) {
94
+ if (err) {
95
+ throw err;
96
+ } else {
97
+ console.log('master server started');
98
+ }
99
99
  });
@@ -1,115 +1,115 @@
1
- /**
2
- * Created by James on 02/10/2016.
3
- */
4
-
5
- // This one will need to activate on the client.
6
- // Really want the whole thing to be in one file.
7
- // Possible to have a standard activation?
8
- //
9
- // Or we need to have a client-side control?
10
- //
11
- // Some of the wiring could be done automatically.
12
- //
13
-
14
- var jsgui = require('../server/server');
15
- var Popup_Menu_Button = require('../controls/popup-menu-button');
16
-
17
- var Server = jsgui.Server;
18
- var port = 8000;
19
- var Server_Page_Context = Server.Page_Context;
20
-
21
- var server = new Server({
22
- routes: {
23
- '*': {
24
- 'name': 'html-server'
25
- }
26
- }
27
-
28
- });
29
-
30
- var resource_pool = server.resource_pool;
31
-
32
- // Rendering single page controls makes a lot of sense.
33
- // It means the activation code can be contained better there.
34
-
35
- //console.log('resource_pool', resource_pool);
36
- //console.log('resource_pool.resources', resource_pool.resources);
37
-
38
- // The start stop toggle button would need to be registered on the client side.
39
- // May be worth it to have the standard controls registered to start with.
40
- // Or to have the app know which controls are used, so it can register them.
41
-
42
- // Get the website resource
43
-
44
-
45
-
46
- // Caching items / resources by type?
47
-
48
- // Need to give the resources a name.
49
-
50
-
51
- //var website = resource_pool.get_resource('Server Router');
52
-
53
- //console.log('\n\n');
54
-
55
- //console.log('resource_names', resource_pool.get_resource_names());
56
- //throw 'stop';
57
- var server_router = resource_pool.get_resource('Server Router');
58
-
59
-
60
-
61
- //console.log('server_router', server_router);
62
-
63
- if (!server_router) {
64
- throw 'no server_router';
65
- }
66
-
67
- var routing_tree = server_router.routing_tree;
68
-
69
- routing_tree.set('/', function(req, res) {
70
- //console.log('root path / request');
71
- var server_page_context = new Server_Page_Context({
72
- 'req': req,
73
- 'res': res,
74
- 'resource_pool': resource_pool
75
- });
76
- // Page_Bounds_Specifier
77
- var hd = new jsgui.Client_HTML_Document({
78
- 'context': server_page_context
79
- });
80
- hd.include_client_css();
81
- hd.include_js('/js/app-bundle-active.js');
82
- var body = hd.body;
83
- var ctrl = new Popup_Menu_Button({
84
- 'context': server_page_context,
85
- 'text': 'Action',
86
- 'items': [
87
- 'Load', 'Allocate', 'Print', 'Email'
88
- ]
89
- });
90
- ctrl.active();
91
-
92
- // Provide the menu items.
93
- //var ctrl2 = new jsgui.Control({});
94
- body.add(ctrl);
95
- hd.all_html_render(function(err, deferred_html) {
96
- if (err) {
97
- throw err;
98
- } else {
99
- //console.log('deferred_html', deferred_html);
100
- var mime_type = 'text/html';
101
- //console.log('mime_type ' + mime_type);
102
- res.writeHead(200, { 'Content-Type': mime_type });
103
- res.end('<!DOCTYPE html>' + deferred_html, 'utf-8');
104
- }
105
- });
106
- });
107
-
108
- console.log('pre server start');
109
- server.start(port, function(err, cb_start) {
110
- if (err) {
111
- throw err;
112
- } else {
113
- console.log('master server started');
114
- }
1
+ /**
2
+ * Created by James on 02/10/2016.
3
+ */
4
+
5
+ // This one will need to activate on the client.
6
+ // Really want the whole thing to be in one file.
7
+ // Possible to have a standard activation?
8
+ //
9
+ // Or we need to have a client-side control?
10
+ //
11
+ // Some of the wiring could be done automatically.
12
+ //
13
+
14
+ var jsgui = require('../server/server');
15
+ var Popup_Menu_Button = require('../controls/popup-menu-button');
16
+
17
+ var Server = jsgui.Server;
18
+ var port = 8000;
19
+ var Server_Page_Context = Server.Page_Context;
20
+
21
+ var server = new Server({
22
+ routes: {
23
+ '*': {
24
+ 'name': 'html-server'
25
+ }
26
+ }
27
+
28
+ });
29
+
30
+ var resource_pool = server.resource_pool;
31
+
32
+ // Rendering single page controls makes a lot of sense.
33
+ // It means the activation code can be contained better there.
34
+
35
+ //console.log('resource_pool', resource_pool);
36
+ //console.log('resource_pool.resources', resource_pool.resources);
37
+
38
+ // The start stop toggle button would need to be registered on the client side.
39
+ // May be worth it to have the standard controls registered to start with.
40
+ // Or to have the app know which controls are used, so it can register them.
41
+
42
+ // Get the website resource
43
+
44
+
45
+
46
+ // Caching items / resources by type?
47
+
48
+ // Need to give the resources a name.
49
+
50
+
51
+ //var website = resource_pool.get_resource('Server Router');
52
+
53
+ //console.log('\n\n');
54
+
55
+ //console.log('resource_names', resource_pool.get_resource_names());
56
+ //throw 'stop';
57
+ var server_router = resource_pool.get_resource('Server Router');
58
+
59
+
60
+
61
+ //console.log('server_router', server_router);
62
+
63
+ if (!server_router) {
64
+ throw 'no server_router';
65
+ }
66
+
67
+ var routing_tree = server_router.routing_tree;
68
+
69
+ routing_tree.set('/', function(req, res) {
70
+ //console.log('root path / request');
71
+ var server_page_context = new Server_Page_Context({
72
+ 'req': req,
73
+ 'res': res,
74
+ 'resource_pool': resource_pool
75
+ });
76
+ // Page_Bounds_Specifier
77
+ var hd = new jsgui.Client_HTML_Document({
78
+ 'context': server_page_context
79
+ });
80
+ hd.include_client_css();
81
+ hd.include_js('/js/app-bundle-active.js');
82
+ var body = hd.body;
83
+ var ctrl = new Popup_Menu_Button({
84
+ 'context': server_page_context,
85
+ 'text': 'Action',
86
+ 'items': [
87
+ 'Load', 'Allocate', 'Print', 'Email'
88
+ ]
89
+ });
90
+ ctrl.active();
91
+
92
+ // Provide the menu items.
93
+ //var ctrl2 = new jsgui.Control({});
94
+ body.add(ctrl);
95
+ hd.all_html_render(function(err, deferred_html) {
96
+ if (err) {
97
+ throw err;
98
+ } else {
99
+ //console.log('deferred_html', deferred_html);
100
+ var mime_type = 'text/html';
101
+ //console.log('mime_type ' + mime_type);
102
+ res.writeHead(200, { 'Content-Type': mime_type });
103
+ res.end('<!DOCTYPE html>' + deferred_html, 'utf-8');
104
+ }
105
+ });
106
+ });
107
+
108
+ console.log('pre server start');
109
+ server.start(port, function(err, cb_start) {
110
+ if (err) {
111
+ throw err;
112
+ } else {
113
+ console.log('master server started');
114
+ }
115
115
  });