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.
- package/examples/client-side-popup-menu-button.html +93 -93
- package/examples/controls/_html-server-color-palette.js +114 -114
- package/examples/controls/html-server-combo-box.js +104 -104
- package/examples/controls/html-server-list.js +98 -98
- package/examples/controls/html-server-popup-menu-button.js +114 -114
- package/examples/controls/html-server-start-stop-toggle-button.js +146 -146
- package/examples/controls/scs-arrow-button.js +36 -36
- package/examples/controls/scs-date-picker.js +157 -157
- package/examples/controls/scs-file-browser.js +82 -82
- package/examples/controls/scs-item.js +159 -159
- package/examples/controls/scs-month-arrow-selector.js +126 -126
- package/examples/controls/scs-month-view.js +95 -95
- package/examples/controls/scs-start-stop-toggle-button.js +40 -40
- package/examples/controls/scs-tree.js +49 -49
- package/examples/controls/scs-year-arrow-selector.js +127 -127
- package/examples/demos/date-picker.js +119 -119
- package/examples/demos/explain-encapsulation.js +9 -9
- package/examples/demos/resizing.js +35 -35
- package/examples/demos/server_time.js +6 -6
- package/examples/demos/square_box.js +324 -324
- package/examples/html-rendering.js +20 -20
- package/examples/html-server.js +102 -100
- package/fs2.js +1836 -1836
- package/module.js +21 -21
- package/old/single-control-server.js +418 -418
- package/package.json +44 -42
- package/publishing/function-publisher.js +202 -202
- package/publishing/notes.md +5 -5
- package/publishing/observable-publisher.js +118 -118
- package/publishing/resource-publisher.js +306 -306
- package/resources/data-resource.js +104 -104
- package/resources/fs-resource.js +148 -148
- package/resources/jsbuilder/Abstract_Single_Declaration.js +105 -0
- package/resources/jsbuilder/Abstract_Single_Declaration_Sequence.js +43 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Abstract_Node.js +62 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Abstract_Node_Group.js +42 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Group_Shared.js +62 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node.js +94 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_0-Core.js +228 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_1-Babel.js +338 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_10-Changing.js +40 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.1.1-Child.js +97 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.1.2-Parent.js +38 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.1.3-Ancestor.js +62 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.2-Inner.js +44 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.3-All.js +73 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.4-Sibling.js +93 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.5-Available_In_Scope.js +29 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.9-Signature.js +116 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3-Basics.js +160 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.0.0-Basics_First.js +179 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.0.1-Basics_Second.js +88 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.0.99-Basics_Last.js +92 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.1-Basics_Each.js +137 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.1.5-Basics_Count.js +74 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.2-Basics_Filter.js +40 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.3-Basics_Collect.js +86 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.4-Basics_Select.js +43 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.5-Basics_Find.js +41 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.6-Basics_Callmap.js +55 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_4.0-Index_Indexes.js +46 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_4.1-Index.js +344 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.0-Category.js +39 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.1-Category_Identifier.js +31 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.2-Category_Literal.js +29 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.3-Category_Expression.js +27 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.4-Category_Pattern.js +9 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.5-Category_Declaration.js +44 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.6-Category_Statement.js +22 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_6.0-Type.js +87 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_6.1-Type_Class_Declaration.js +9 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_6.2-Type_Variable_Declaration.js +28 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_6.3-Type_Variable_Declarator.js +29 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_7-Query.js +737 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_8-Features.js +65 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_9-Planning.js +32 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Arrangement.js +15 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Node_Declared_Object.js +306 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Node_Feature.js +78 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Node_Feature_Declaration.js +249 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Node_Feature_Declarator.js +139 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/JS_AST_Root_Node_Feature.js +10 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/JS_AST_Root_Node_Feature_Exported.js +101 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/JS_AST_Root_Node_Feature_Exports.js +61 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/JS_AST_Root_Node_Interpreted.js +180 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/_JSGUI_Root_Node_Interpreted.js +43 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/special_case_objectassign_to_object.js +12 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Group.js +35 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Operation.js +11 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Operation_On_Relationship.js +32 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Ordered_Relationship_Node_To_Group.js +38 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Ordinal.js +40 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Ordinal_Relationship.js +25 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Relationship_Node_To_Group.js +201 -0
- package/resources/jsbuilder/JS_AST/JS_AST_Relationship_Node_Within_Group_To_Node.js +44 -0
- package/resources/jsbuilder/JS_AST/_JS_AST_Node_3.8-Query_Features.js +77 -0
- package/resources/jsbuilder/JS_AST/query/all.js +0 -0
- package/resources/jsbuilder/JS_AST/query/enable_array_as_queryable.js +228 -0
- package/resources/jsbuilder/JS_AST/query/find_object_keys.js +405 -0
- package/resources/jsbuilder/JS_AST/query/node_queries.js +9 -0
- package/resources/jsbuilder/JS_AST/query/root_queries.js +0 -0
- package/resources/jsbuilder/JS_AST/query/root_query_identidy.js +12 -0
- package/resources/jsbuilder/JS_AST_Node_Extended/JSGUI_Singular_Declaration.js +86 -0
- package/resources/jsbuilder/JS_AST_Node_Extended/JS_AST_Node_Declaration.js +124 -0
- package/resources/jsbuilder/JS_AST_Node_Extended/JS_AST_Node_Extended.js +88 -0
- package/resources/jsbuilder/JS_AST_Node_Extended/JS_AST_Node_Extended_0-Core.js +11 -0
- package/resources/jsbuilder/JS_Builder.js +11 -0
- package/resources/jsbuilder/JS_File/Feature/JS_File_Declared_Object.js +32 -0
- package/resources/jsbuilder/JS_File/Feature/JS_File_Exported_Object_Info.js +26 -0
- package/resources/jsbuilder/JS_File/Feature/JS_File_Exports.js +79 -0
- package/resources/jsbuilder/JS_File/Feature/JS_File_Feature.js +18 -0
- package/resources/jsbuilder/JS_File/Feature/JS_File_Imported_Object_Info.js +26 -0
- package/resources/jsbuilder/JS_File/Feature/JS_File_Imports.js +9 -0
- package/resources/jsbuilder/JS_File/JS_File.js +12 -0
- package/resources/jsbuilder/JS_File/JS_File_0-Core.js +202 -0
- package/resources/jsbuilder/JS_File/JS_File_1-Early_Parse.js +175 -0
- package/resources/jsbuilder/JS_File/JS_File_2-Babel.js +81 -0
- package/resources/jsbuilder/JS_File/JS_File_3-JS_AST_Node.js +86 -0
- package/resources/jsbuilder/JS_File/JS_File_4-Query.js +414 -0
- package/resources/jsbuilder/JS_File/JS_File_4.1-Query_Features.js +415 -0
- package/resources/jsbuilder/JS_File/JS_File_5-Planning.js +59 -0
- package/resources/jsbuilder/JS_File/JS_File_6-Changing.js +24 -0
- package/resources/jsbuilder/JS_File/JS_File_Export_Reference.js +12 -0
- package/resources/jsbuilder/JS_File/JS_File_Import_Reference.js +24 -0
- package/resources/jsbuilder/JS_File/JS_File_Import_References.js +32 -0
- package/resources/jsbuilder/JS_File/JS_File_Processor.js +16 -0
- package/resources/jsbuilder/JS_File/JS_Files.js +16 -0
- package/resources/jsbuilder/Module.js +14 -0
- package/resources/jsbuilder/Platform.js +14 -0
- package/resources/jsbuilder/Platforms.js +70 -0
- package/resources/jsbuilder/Project.js +109 -0
- package/resources/jsbuilder/Reference.js +1 -0
- package/resources/jsbuilder/Reference_Sequence.js +16 -0
- package/resources/jsbuilder/Scope.js +30 -0
- package/resources/jsbuilder/Variable_Name_Provider.js +43 -0
- package/resources/jsbuilder/_JS_File.js +226 -0
- package/resources/jsbuilder/ast_query.js +21 -0
- package/resources/jsbuilder/babel/babel_consts.js +150 -0
- package/resources/jsbuilder/babel/babel_node_tools.js +542 -0
- package/resources/jsbuilder/babel/deep_iterate/deep_iterate_babel.js +604 -0
- package/resources/jsbuilder/build.js +16 -0
- package/resources/jsbuilder/platform_notes.md +66 -0
- package/resources/jsbuilder/test/test_ast_node.js +451 -0
- package/resources/jsbuilder/test/test_js_file.js +304 -0
- package/resources/jsbuilder/test/test_project.js +157 -0
- package/resources/local-server-info-resource.js +78 -78
- package/resources/process-js.js +537 -537
- package/resources/server-resource-pool.js +84 -84
- package/resources/website-css-resource.js +411 -411
- package/resources/website-javascript-resource.js +761 -731
- package/resources/website-resource.js +390 -390
- package/resources/website-static-html-resource.js +196 -196
- package/server.js +170 -170
- package/single-control-server.js +398 -398
- 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
|
});
|