alchemymvc 1.3.22 → 1.4.0-alpha.2
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/LICENSE +1 -1
- package/README.md +3 -3
- package/lib/app/behaviour/publishable_behaviour.js +5 -5
- package/lib/app/behaviour/revision_behaviour.js +96 -59
- package/lib/app/behaviour/sluggable_behaviour.js +14 -14
- package/lib/app/conduit/electron_conduit.js +9 -9
- package/lib/app/conduit/http_conduit.js +13 -13
- package/lib/app/conduit/loopback_conduit.js +15 -15
- package/lib/app/conduit/socket_conduit.js +43 -43
- package/lib/app/config/routes.js +26 -0
- package/lib/app/controller/00-default_app_controller.js +21 -0
- package/lib/app/controller/alchemy_info_controller.js +12 -12
- package/lib/app/datasource/mongo_datasource.js +27 -18
- package/lib/app/element/00-default_app_element.js +19 -0
- package/lib/app/element/time_ago.js +5 -5
- package/lib/app/helper/00-default_app_helper.js +11 -0
- package/lib/app/helper/alchemy_helper.js +22 -22
- package/lib/app/helper/backed_map.js +1 -1
- package/lib/app/helper/breadcrumb.js +10 -10
- package/lib/app/helper/client_collection.js +3 -3
- package/lib/app/helper/cron.js +29 -29
- package/lib/app/helper/enum_values.js +6 -6
- package/lib/app/helper/pagination_helper.js +36 -36
- package/lib/app/helper/router_helper.js +35 -35
- package/lib/app/helper/socket_helper.js +57 -57
- package/lib/app/helper/syncable.js +62 -62
- package/lib/app/helper_component/paginate_component.js +9 -9
- package/lib/app/helper_controller/component.js +1 -1
- package/lib/app/helper_controller/conduit.js +31 -31
- package/lib/app/helper_controller/controller.js +54 -39
- package/lib/app/helper_datasource/00-nosql_datasource.js +624 -70
- package/lib/app/helper_datasource/05-fallback_datasource.js +10 -10
- package/lib/app/helper_datasource/idb_datasource.js +6 -6
- package/lib/app/helper_datasource/indexed_db.js +22 -22
- package/lib/app/helper_datasource/remote_datasource.js +5 -5
- package/lib/app/helper_error/http_error.js +4 -4
- package/lib/app/helper_error/model_error.js +2 -2
- package/lib/app/helper_error/validation_error.js +12 -12
- package/lib/app/helper_field/00-objectid_field.js +7 -7
- package/lib/app/helper_field/05-string_field.js +16 -12
- package/lib/app/helper_field/06-text_field.js +2 -4
- package/lib/app/helper_field/10-number_field.js +9 -12
- package/lib/app/helper_field/11-date_field.js +15 -15
- package/lib/app/helper_field/15-local_temporal_field.js +10 -10
- package/lib/app/helper_field/20-decimal_field.js +8 -9
- package/lib/app/helper_field/belongsto_field.js +1 -1
- package/lib/app/helper_field/big_int_field.js +8 -8
- package/lib/app/helper_field/boolean_field.js +9 -11
- package/lib/app/helper_field/datetime_field.js +3 -3
- package/lib/app/helper_field/enum_field.js +13 -8
- package/lib/app/helper_field/fixed_decimal_field.js +6 -7
- package/lib/app/helper_field/geopoint_field.js +9 -10
- package/lib/app/helper_field/habtm_field.js +3 -3
- package/lib/app/helper_field/hasoneparent_field.js +1 -1
- package/lib/app/helper_field/html_field.js +2 -4
- package/lib/app/helper_field/integer_field.js +8 -11
- package/lib/app/helper_field/local_date_field.js +5 -5
- package/lib/app/helper_field/local_date_time_field.js +5 -5
- package/lib/app/helper_field/local_time_field.js +5 -5
- package/lib/app/helper_field/mixed_field.js +5 -5
- package/lib/app/helper_field/object_field.js +6 -6
- package/lib/app/helper_field/password_field.js +3 -3
- package/lib/app/helper_field/regexp_field.js +7 -9
- package/lib/app/helper_field/schema_field.js +91 -88
- package/lib/app/helper_field/settings_field.js +92 -0
- package/lib/app/helper_field/time_field.js +6 -6
- package/lib/app/helper_field/url_field.js +2 -4
- package/lib/app/helper_model/00-base_criteria.js +662 -0
- package/lib/app/helper_model/05-criteria_expressions.js +605 -0
- package/lib/app/helper_model/10-model_criteria.js +1182 -0
- package/lib/app/helper_model/data_provider.js +2 -2
- package/lib/app/helper_model/document.js +103 -92
- package/lib/app/helper_model/document_list.js +14 -14
- package/lib/app/helper_model/field_config.js +11 -11
- package/lib/app/helper_model/field_set.js +17 -17
- package/lib/app/helper_model/model.js +201 -123
- package/lib/app/helper_model/remote_data_provider.js +2 -2
- package/lib/app/helper_validator/00_validator.js +16 -16
- package/lib/app/helper_validator/not_empty_validator.js +9 -9
- package/lib/app/model/00-default_app_model.js +18 -0
- package/lib/app/model/05-system_model.js +27 -0
- package/lib/app/model/{alchemy_migration_model.js → system_migration_model.js} +4 -4
- package/lib/app/model/system_setting_model.js +154 -0
- package/lib/app/model/{alchemy_task_history_model.js → system_task_history_model.js} +7 -7
- package/lib/app/model/{alchemy_task_model.js → system_task_model.js} +11 -11
- package/lib/bootstrap.js +22 -312
- package/lib/class/accumulator.js +5 -5
- package/lib/class/behaviour.js +5 -5
- package/lib/class/component.js +3 -3
- package/lib/class/conduit.js +152 -150
- package/lib/class/controller.js +42 -42
- package/lib/class/datasource.js +74 -79
- package/lib/class/document.js +74 -95
- package/lib/class/document_list.js +5 -5
- package/lib/class/element.js +17 -17
- package/lib/class/error.js +3 -3
- package/lib/class/field.js +169 -91
- package/lib/class/field_value.js +6 -6
- package/lib/class/helper.js +3 -3
- package/lib/class/inode.js +17 -17
- package/lib/class/inode_dir.js +12 -12
- package/lib/class/inode_file.js +26 -26
- package/lib/class/inode_list.js +4 -4
- package/lib/class/migration.js +4 -4
- package/lib/class/model.js +146 -165
- package/lib/class/path_definition.js +22 -22
- package/lib/class/path_evaluator.js +5 -5
- package/lib/class/path_param_definition.js +7 -7
- package/lib/class/plugin.js +312 -0
- package/lib/class/postponement.js +29 -29
- package/lib/class/reciprocal.js +8 -8
- package/lib/class/route.js +33 -33
- package/lib/class/router.js +73 -73
- package/lib/class/schema.js +21 -21
- package/lib/class/schema_client.js +105 -82
- package/lib/class/session.js +63 -29
- package/lib/class/session_scene.js +4 -4
- package/lib/class/sitemap.js +16 -16
- package/lib/class/task.js +39 -39
- package/lib/class/task_service.js +43 -47
- package/lib/{init → core}/alchemy.js +411 -373
- package/lib/{init/functions.js → core/alchemy_functions.js} +113 -91
- package/lib/core/alchemy_load_functions.js +715 -0
- package/lib/core/base.js +50 -62
- package/lib/core/client_alchemy.js +144 -152
- package/lib/core/client_base.js +27 -50
- package/lib/core/discovery.js +16 -18
- package/lib/core/middleware.js +54 -43
- package/lib/core/{routing.js → prefix.js} +14 -16
- package/lib/core/setting.js +1684 -0
- package/lib/core/stage.js +758 -0
- package/lib/scripts/create_constants.js +119 -0
- package/lib/{init/languages.js → scripts/create_languages.js} +5 -5
- package/lib/scripts/create_settings.js +449 -0
- package/lib/scripts/create_shared_constants.js +95 -0
- package/lib/scripts/create_stages.js +55 -0
- package/lib/scripts/init_alchemy.js +51 -0
- package/lib/{init/requirements.js → scripts/preload_modules.js} +15 -2
- package/lib/scripts/setup_devwatch.js +238 -0
- package/lib/stages/00-load_core.js +342 -0
- package/lib/stages/05-load_app.js +57 -0
- package/lib/stages/10-datasource.js +61 -0
- package/lib/stages/15-tasks.js +27 -0
- package/lib/stages/20-settings.js +68 -0
- package/lib/stages/50-routes.js +218 -0
- package/lib/stages/90-server.js +347 -0
- package/package.json +5 -7
- package/lib/app/helper_model/criteria.js +0 -2294
- package/lib/app/helper_model/db_query.js +0 -1488
- package/lib/app/routes.js +0 -11
- package/lib/core/socket.js +0 -171
- package/lib/init/constants.js +0 -158
- package/lib/init/devwatch.js +0 -238
- package/lib/init/load_functions.js +0 -979
- package/lib/stages.js +0 -515
package/lib/class/session.js
CHANGED
|
@@ -3,9 +3,9 @@ var data_listeners = alchemy.shared('data_binding_listeners');
|
|
|
3
3
|
/**
|
|
4
4
|
* The Session class
|
|
5
5
|
*
|
|
6
|
-
* @author Jelle De Loecker
|
|
6
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
7
7
|
* @since 0.2.0
|
|
8
|
-
* @version 1.
|
|
8
|
+
* @version 1.4.0
|
|
9
9
|
*
|
|
10
10
|
* @param {Conduit} conduit The initializing conduit
|
|
11
11
|
*/
|
|
@@ -14,6 +14,9 @@ var Session = Function.inherits('Alchemy.Base', function ClientSession(conduit)
|
|
|
14
14
|
// Register the creation date
|
|
15
15
|
this.created = new Date();
|
|
16
16
|
|
|
17
|
+
// The values in the session
|
|
18
|
+
this.values = new Map();
|
|
19
|
+
|
|
17
20
|
// Register when the last scene connected
|
|
18
21
|
this.last_scene_connection = null;
|
|
19
22
|
|
|
@@ -53,7 +56,7 @@ var Session = Function.inherits('Alchemy.Base', function ClientSession(conduit)
|
|
|
53
56
|
// Increment the alchemy session count
|
|
54
57
|
alchemy.session_count++;
|
|
55
58
|
|
|
56
|
-
if (alchemy.settings.
|
|
59
|
+
if (alchemy.settings.sessions.janeway_menu) {
|
|
57
60
|
this.createMenuItem(conduit);
|
|
58
61
|
}
|
|
59
62
|
});
|
|
@@ -61,11 +64,11 @@ var Session = Function.inherits('Alchemy.Base', function ClientSession(conduit)
|
|
|
61
64
|
/**
|
|
62
65
|
* Amount of requests that have been made
|
|
63
66
|
*
|
|
64
|
-
* @author Jelle De Loecker <jelle@
|
|
67
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
65
68
|
* @since 1.1.0
|
|
66
69
|
* @version 1.3.17
|
|
67
70
|
*
|
|
68
|
-
* @type {
|
|
71
|
+
* @type {number}
|
|
69
72
|
*/
|
|
70
73
|
Session.enforceProperty(function request_count(amount) {
|
|
71
74
|
|
|
@@ -85,11 +88,11 @@ Session.enforceProperty(function request_count(amount) {
|
|
|
85
88
|
/**
|
|
86
89
|
* Amount of server-side controller actions that have been executed
|
|
87
90
|
*
|
|
88
|
-
* @author Jelle De Loecker <jelle@
|
|
91
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
89
92
|
* @since 1.1.0
|
|
90
93
|
* @version 1.1.0
|
|
91
94
|
*
|
|
92
|
-
* @type {
|
|
95
|
+
* @type {number}
|
|
93
96
|
*/
|
|
94
97
|
Session.enforceProperty(function action_count(amount) {
|
|
95
98
|
|
|
@@ -103,11 +106,11 @@ Session.enforceProperty(function action_count(amount) {
|
|
|
103
106
|
/**
|
|
104
107
|
* Idle time
|
|
105
108
|
*
|
|
106
|
-
* @author Jelle De Loecker <jelle@
|
|
109
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
107
110
|
* @since 1.1.0
|
|
108
111
|
* @version 1.1.0
|
|
109
112
|
*
|
|
110
|
-
* @type {
|
|
113
|
+
* @type {number}
|
|
111
114
|
*/
|
|
112
115
|
Session.setProperty(function idle_time() {
|
|
113
116
|
|
|
@@ -124,7 +127,7 @@ Session.setProperty(function idle_time() {
|
|
|
124
127
|
* @since 1.3.1
|
|
125
128
|
* @version 1.3.1
|
|
126
129
|
*
|
|
127
|
-
* @type {
|
|
130
|
+
* @type {boolean}
|
|
128
131
|
*/
|
|
129
132
|
Session.setProperty(function is_active() {
|
|
130
133
|
|
|
@@ -135,6 +138,37 @@ Session.setProperty(function is_active() {
|
|
|
135
138
|
return false;
|
|
136
139
|
});
|
|
137
140
|
|
|
141
|
+
/**
|
|
142
|
+
* Set a value in the session
|
|
143
|
+
*
|
|
144
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
145
|
+
* @since 1.4.0
|
|
146
|
+
* @version 1.4.0
|
|
147
|
+
*
|
|
148
|
+
* @param {*} key
|
|
149
|
+
* @param {*} value
|
|
150
|
+
*/
|
|
151
|
+
Session.setMethod(function set(key, value) {
|
|
152
|
+
if (value === undefined) {
|
|
153
|
+
this.values.delete(key);
|
|
154
|
+
} else {
|
|
155
|
+
this.values.set(key, value);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Get a value from the session
|
|
161
|
+
*
|
|
162
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
163
|
+
* @since 1.4.0
|
|
164
|
+
* @version 1.4.0
|
|
165
|
+
*
|
|
166
|
+
* @param {*} key
|
|
167
|
+
*/
|
|
168
|
+
Session.setMethod(function get(key) {
|
|
169
|
+
return this.values.get(key);
|
|
170
|
+
});
|
|
171
|
+
|
|
138
172
|
/**
|
|
139
173
|
* Add the amount of time this client has been in the queue
|
|
140
174
|
*
|
|
@@ -142,7 +176,7 @@ Session.setProperty(function is_active() {
|
|
|
142
176
|
* @since 1.3.1
|
|
143
177
|
* @version 1.3.1
|
|
144
178
|
*
|
|
145
|
-
* @return {
|
|
179
|
+
* @return {boolean}
|
|
146
180
|
*/
|
|
147
181
|
Session.setMethod(function addFinishedQueueDuration(ms) {
|
|
148
182
|
this.queued_time += ms;
|
|
@@ -155,7 +189,7 @@ Session.setMethod(function addFinishedQueueDuration(ms) {
|
|
|
155
189
|
* @since 1.3.1
|
|
156
190
|
* @version 1.3.1
|
|
157
191
|
*
|
|
158
|
-
* @return {
|
|
192
|
+
* @return {boolean}
|
|
159
193
|
*/
|
|
160
194
|
Session.setMethod(function hasAlreadyQueued() {
|
|
161
195
|
|
|
@@ -169,13 +203,13 @@ Session.setMethod(function hasAlreadyQueued() {
|
|
|
169
203
|
/**
|
|
170
204
|
* Register a conduit
|
|
171
205
|
*
|
|
172
|
-
* @author Jelle De Loecker <jelle@
|
|
206
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
173
207
|
* @since 0.2.0
|
|
174
208
|
* @version 1.3.17
|
|
175
209
|
*
|
|
176
210
|
* @param {Conduit} conduit The conduit to postpone
|
|
177
211
|
*
|
|
178
|
-
* @return {
|
|
212
|
+
* @return {string} The postponed id
|
|
179
213
|
*/
|
|
180
214
|
Session.setMethod(function createMenuItem(conduit) {
|
|
181
215
|
|
|
@@ -233,7 +267,7 @@ Session.setMethod(function postpone(conduit, options) {
|
|
|
233
267
|
* @since 1.3.1
|
|
234
268
|
* @version 1.3.1
|
|
235
269
|
*
|
|
236
|
-
* @return {
|
|
270
|
+
* @return {number} The amount of renders
|
|
237
271
|
*/
|
|
238
272
|
Session.setMethod(function incrementRenderCount() {
|
|
239
273
|
return ++this.render_counter;
|
|
@@ -246,7 +280,7 @@ Session.setMethod(function incrementRenderCount() {
|
|
|
246
280
|
* @since 1.3.1
|
|
247
281
|
* @version 1.3.1
|
|
248
282
|
*
|
|
249
|
-
* @param {
|
|
283
|
+
* @param {string} id The postponement id
|
|
250
284
|
*
|
|
251
285
|
* @return {Alchemy.Conduit.Postponement} The postponement
|
|
252
286
|
*/
|
|
@@ -287,11 +321,11 @@ Session.setMethod(function getExistingPostponement(conduit) {
|
|
|
287
321
|
/**
|
|
288
322
|
* Executed when the session is removed from the session store
|
|
289
323
|
*
|
|
290
|
-
* @author Jelle De Loecker <jelle@
|
|
324
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
291
325
|
* @since 0.2.0
|
|
292
326
|
* @version 1.3.1
|
|
293
327
|
*
|
|
294
|
-
* @param {
|
|
328
|
+
* @param {boolean} expired True if removed because time ran out
|
|
295
329
|
*/
|
|
296
330
|
Session.setMethod(function removed(expired) {
|
|
297
331
|
|
|
@@ -323,7 +357,7 @@ Session.setMethod(function removed(expired) {
|
|
|
323
357
|
/**
|
|
324
358
|
* Destroy this session
|
|
325
359
|
*
|
|
326
|
-
* @author Jelle De Loecker <jelle@
|
|
360
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
327
361
|
* @since 1.1.0
|
|
328
362
|
* @version 1.1.0
|
|
329
363
|
*/
|
|
@@ -334,7 +368,7 @@ Session.setMethod(function destroy() {
|
|
|
334
368
|
/**
|
|
335
369
|
* Execute function when sockets are connected
|
|
336
370
|
*
|
|
337
|
-
* @author Jelle De Loecker <jelle@
|
|
371
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
338
372
|
* @since 0.2.0
|
|
339
373
|
* @version 0.2.0
|
|
340
374
|
*/
|
|
@@ -350,7 +384,7 @@ Session.setMethod(function whenConnected(callback) {
|
|
|
350
384
|
/**
|
|
351
385
|
* Get a scene by its id
|
|
352
386
|
*
|
|
353
|
-
* @author Jelle De Loecker
|
|
387
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
354
388
|
* @since 1.3.10
|
|
355
389
|
* @version 1.3.10
|
|
356
390
|
*/
|
|
@@ -361,7 +395,7 @@ Session.setMethod(function getScene(scene_id) {
|
|
|
361
395
|
/**
|
|
362
396
|
* Expect the given scene_id to make a connection later on
|
|
363
397
|
*
|
|
364
|
-
* @author Jelle De Loecker <jelle@
|
|
398
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
365
399
|
* @since 0.2.0
|
|
366
400
|
* @version 1.3.10
|
|
367
401
|
*/
|
|
@@ -372,7 +406,7 @@ Session.setMethod(function expectScene(scene_id, conduit) {
|
|
|
372
406
|
/**
|
|
373
407
|
* Register a websocket connection
|
|
374
408
|
*
|
|
375
|
-
* @author Jelle De Loecker <jelle@
|
|
409
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
376
410
|
* @since 0.2.0
|
|
377
411
|
* @version 1.3.10
|
|
378
412
|
*/
|
|
@@ -439,7 +473,7 @@ Session.setMethod(function registerConnection(conduit) {
|
|
|
439
473
|
/**
|
|
440
474
|
* Register data bindings
|
|
441
475
|
*
|
|
442
|
-
* @author Jelle De Loecker <jelle@
|
|
476
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
443
477
|
* @since 0.2.0
|
|
444
478
|
* @version 0.2.0
|
|
445
479
|
*
|
|
@@ -502,13 +536,13 @@ Session.setMethod(function registerBindings(live_bindings, scene_id) {
|
|
|
502
536
|
/**
|
|
503
537
|
* Give the user an update for this data
|
|
504
538
|
*
|
|
505
|
-
* @author Jelle De Loecker <jelle@
|
|
539
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
506
540
|
* @since 0.2.0
|
|
507
541
|
* @version 0.2.0
|
|
508
542
|
*
|
|
509
|
-
* @param {
|
|
543
|
+
* @param {string|ObjectId} id
|
|
510
544
|
* @param {Object} data
|
|
511
|
-
* @param {
|
|
545
|
+
* @param {string} scene_id Optional scene_id
|
|
512
546
|
*/
|
|
513
547
|
Session.setMethod(function sendDataUpdate(id, data, scene_id) {
|
|
514
548
|
|
|
@@ -560,11 +594,11 @@ Session.setMethod(function sendDataUpdate(id, data, scene_id) {
|
|
|
560
594
|
/**
|
|
561
595
|
* Send updates to all connected clients listening to this id
|
|
562
596
|
*
|
|
563
|
-
* @author Jelle De Loecker <jelle@
|
|
597
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
564
598
|
* @since 0.2.0
|
|
565
599
|
* @version 0.4.0
|
|
566
600
|
*
|
|
567
|
-
* @param {
|
|
601
|
+
* @param {string|ObjectId} id
|
|
568
602
|
* @param {Object} data
|
|
569
603
|
*/
|
|
570
604
|
Alchemy.setMethod(function updateData(id, _data) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* The Session Scene class:
|
|
3
3
|
* represents a specific scene/tab
|
|
4
4
|
*
|
|
5
|
-
* @author Jelle De Loecker
|
|
5
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
6
6
|
* @since 1.3.10
|
|
7
7
|
* @version 1.3.10
|
|
8
8
|
*
|
|
@@ -29,7 +29,7 @@ const SessionScene = Function.inherits('Alchemy.Base', function SessionScene(con
|
|
|
29
29
|
/**
|
|
30
30
|
* The edit action
|
|
31
31
|
*
|
|
32
|
-
* @author Jelle De Loecker
|
|
32
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
33
33
|
* @since 1.3.10
|
|
34
34
|
* @version 1.3.10
|
|
35
35
|
*
|
|
@@ -55,7 +55,7 @@ SessionScene.setMethod(function registerConnection(conduit) {
|
|
|
55
55
|
/**
|
|
56
56
|
* Remove a connection
|
|
57
57
|
*
|
|
58
|
-
* @author Jelle De Loecker
|
|
58
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
59
59
|
* @since 1.3.10
|
|
60
60
|
* @version 1.3.10
|
|
61
61
|
*
|
|
@@ -79,7 +79,7 @@ SessionScene.setMethod(function removeConnection(conduit) {
|
|
|
79
79
|
/**
|
|
80
80
|
* Destroy this scene
|
|
81
81
|
*
|
|
82
|
-
* @author Jelle De Loecker
|
|
82
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
83
83
|
* @since 1.3.10
|
|
84
84
|
* @version 1.3.10
|
|
85
85
|
*/
|
package/lib/class/sitemap.js
CHANGED
|
@@ -5,7 +5,7 @@ let cached_sitemap;
|
|
|
5
5
|
*
|
|
6
6
|
* @constructor
|
|
7
7
|
*
|
|
8
|
-
* @author Jelle De Loecker
|
|
8
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
9
9
|
* @since 1.3.0
|
|
10
10
|
* @version 1.3.0
|
|
11
11
|
*
|
|
@@ -17,7 +17,7 @@ const Sitemap = Function.inherits('Alchemy.Base', function Sitemap() {
|
|
|
17
17
|
/**
|
|
18
18
|
* Get the sitemap
|
|
19
19
|
*
|
|
20
|
-
* @author Jelle De Loecker
|
|
20
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
21
21
|
* @since 1.3.0
|
|
22
22
|
* @version 1.3.0
|
|
23
23
|
*
|
|
@@ -50,7 +50,7 @@ Sitemap.setStatic(function get() {
|
|
|
50
50
|
/**
|
|
51
51
|
* Get all the categories
|
|
52
52
|
*
|
|
53
|
-
* @author Jelle De Loecker
|
|
53
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
54
54
|
* @since 1.3.0
|
|
55
55
|
* @version 1.3.0
|
|
56
56
|
*
|
|
@@ -91,7 +91,7 @@ Sitemap.setMethod(function getCategories(prefix) {
|
|
|
91
91
|
/**
|
|
92
92
|
* Start loading the contents
|
|
93
93
|
*
|
|
94
|
-
* @author Jelle De Loecker
|
|
94
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
95
95
|
* @since 1.3.0
|
|
96
96
|
* @version 1.3.0
|
|
97
97
|
*
|
|
@@ -114,7 +114,7 @@ Sitemap.setMethod(function load() {
|
|
|
114
114
|
/**
|
|
115
115
|
* Add a URL to the sitemap
|
|
116
116
|
*
|
|
117
|
-
* @author Jelle De Loecker
|
|
117
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
118
118
|
* @since 1.3.0
|
|
119
119
|
* @version 1.3.0
|
|
120
120
|
*/
|
|
@@ -137,7 +137,7 @@ Sitemap.setMethod(function addUrl(category, url, config = {}, prefix = '') {
|
|
|
137
137
|
/**
|
|
138
138
|
* Process a route section
|
|
139
139
|
*
|
|
140
|
-
* @author Jelle De Loecker
|
|
140
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
141
141
|
* @since 1.3.0
|
|
142
142
|
* @version 1.3.0
|
|
143
143
|
*
|
|
@@ -170,7 +170,7 @@ Sitemap.setMethod(function processSection(section) {
|
|
|
170
170
|
/**
|
|
171
171
|
* Process a route & its sitemap config
|
|
172
172
|
*
|
|
173
|
-
* @author Jelle De Loecker
|
|
173
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
174
174
|
* @since 1.3.0
|
|
175
175
|
* @version 1.3.0
|
|
176
176
|
*
|
|
@@ -188,7 +188,7 @@ Sitemap.setTypedMethod([Types.Alchemy.Route], function processRoute(route) {
|
|
|
188
188
|
/**
|
|
189
189
|
* Process a route & its sitemap config
|
|
190
190
|
*
|
|
191
|
-
* @author Jelle De Loecker
|
|
191
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
192
192
|
* @since 1.3.0
|
|
193
193
|
* @version 1.3.0
|
|
194
194
|
*
|
|
@@ -206,7 +206,7 @@ Sitemap.setTypedMethod([Types.Alchemy.Route, Types.Boolean], function processRou
|
|
|
206
206
|
/**
|
|
207
207
|
* Process a route & its sitemap config
|
|
208
208
|
*
|
|
209
|
-
* @author Jelle De Loecker
|
|
209
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
210
210
|
* @since 1.3.0
|
|
211
211
|
* @version 1.3.0
|
|
212
212
|
*
|
|
@@ -261,7 +261,7 @@ Sitemap.setTypedMethod([Types.Alchemy.Route, Types.Object], function processRout
|
|
|
261
261
|
/**
|
|
262
262
|
* Process a route & its sitemap config
|
|
263
263
|
*
|
|
264
|
-
* @author Jelle De Loecker
|
|
264
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
265
265
|
* @since 1.3.0
|
|
266
266
|
* @version 1.3.0
|
|
267
267
|
*
|
|
@@ -279,14 +279,14 @@ Sitemap.setTypedMethod([Types.Alchemy.Route, Types.Object, Types.Alchemy.Criteri
|
|
|
279
279
|
/**
|
|
280
280
|
* Add a route with the given parameters
|
|
281
281
|
*
|
|
282
|
-
* @author Jelle De Loecker
|
|
282
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
283
283
|
* @since 1.3.0
|
|
284
284
|
* @version 1.3.3
|
|
285
285
|
*
|
|
286
286
|
* @param {Route} route The route of which to add something to the map
|
|
287
287
|
* @param {Object} config Sitemap configuration for this route
|
|
288
288
|
* @param {Object} parameters The parameter object to use for generating the url
|
|
289
|
-
* @param {
|
|
289
|
+
* @param {string} forced_prefix The optional prefix to use
|
|
290
290
|
*
|
|
291
291
|
* @return {Promise}
|
|
292
292
|
*/
|
|
@@ -351,11 +351,11 @@ Sitemap.setMethod(function addRouteWithParameters(route, config, parameters, for
|
|
|
351
351
|
/**
|
|
352
352
|
* Create an XML builder
|
|
353
353
|
*
|
|
354
|
-
* @author Jelle De Loecker
|
|
354
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
355
355
|
* @since 1.3.4
|
|
356
356
|
* @version 1.3.6
|
|
357
357
|
*
|
|
358
|
-
* @param {
|
|
358
|
+
* @param {string} prefix
|
|
359
359
|
*
|
|
360
360
|
* @return {Hawkejs.Builder}
|
|
361
361
|
*/
|
|
@@ -402,11 +402,11 @@ Sitemap.setMethod(function getXmlBuilder(prefix) {
|
|
|
402
402
|
/**
|
|
403
403
|
* Get the XML representation
|
|
404
404
|
*
|
|
405
|
-
* @author Jelle De Loecker
|
|
405
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
406
406
|
* @since 1.3.4
|
|
407
407
|
* @version 1.3.4
|
|
408
408
|
*
|
|
409
|
-
* @return {
|
|
409
|
+
* @return {string}
|
|
410
410
|
*/
|
|
411
411
|
Sitemap.setMethod(function getXml() {
|
|
412
412
|
return this.getXmlBuilder().end();
|