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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @constructor
|
|
5
5
|
*
|
|
6
|
-
* @author Jelle De Loecker
|
|
6
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
7
7
|
* @since 0.1.0
|
|
8
8
|
* @version 1.3.21
|
|
9
9
|
*/
|
|
@@ -32,9 +32,9 @@ var Alchemy = Function.inherits('Alchemy.Client.Base', function Alchemy() {
|
|
|
32
32
|
/**
|
|
33
33
|
* A reference to the main hawkejs instance
|
|
34
34
|
*
|
|
35
|
-
* @author
|
|
36
|
-
* @since
|
|
37
|
-
* @version
|
|
35
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
36
|
+
* @since 1.2.3
|
|
37
|
+
* @version 1.2.3
|
|
38
38
|
*/
|
|
39
39
|
Alchemy.setProperty(function hawkejs() {
|
|
40
40
|
return window.hawkejs;
|
|
@@ -43,9 +43,9 @@ Alchemy.setProperty(function hawkejs() {
|
|
|
43
43
|
/**
|
|
44
44
|
* Called in the onScene static method of the Alchemy helper
|
|
45
45
|
*
|
|
46
|
-
* @author
|
|
47
|
-
* @since
|
|
48
|
-
* @version
|
|
46
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
47
|
+
* @since 1.0.5
|
|
48
|
+
* @version 1.0.7
|
|
49
49
|
*/
|
|
50
50
|
Alchemy.setMethod(function initScene(scene, options) {
|
|
51
51
|
|
|
@@ -71,12 +71,12 @@ Alchemy.setMethod(function initScene(scene, options) {
|
|
|
71
71
|
/**
|
|
72
72
|
* Automatically add json-dry decoding to jQuery libraries
|
|
73
73
|
*
|
|
74
|
-
* @author
|
|
75
|
-
* @since
|
|
76
|
-
* @version
|
|
74
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
75
|
+
* @since 0.2.0
|
|
76
|
+
* @version 1.1.0
|
|
77
77
|
*
|
|
78
|
-
* @param
|
|
79
|
-
* @param
|
|
78
|
+
* @param {string} name
|
|
79
|
+
* @param {string} path
|
|
80
80
|
*/
|
|
81
81
|
scene.on('script', function newScriptLoaded(name, path) {
|
|
82
82
|
|
|
@@ -134,12 +134,12 @@ Alchemy.setMethod(function initScene(scene, options) {
|
|
|
134
134
|
/**
|
|
135
135
|
* Log a distinct warning
|
|
136
136
|
*
|
|
137
|
-
* @author Jelle De Loecker
|
|
137
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
138
138
|
* @since 1.3.0
|
|
139
139
|
* @version 1.3.1
|
|
140
140
|
*
|
|
141
|
-
* @param {
|
|
142
|
-
* @param {
|
|
141
|
+
* @param {string} id
|
|
142
|
+
* @param {string} message
|
|
143
143
|
* @param {Object} options
|
|
144
144
|
*
|
|
145
145
|
* @return {Object}
|
|
@@ -202,13 +202,13 @@ Alchemy.setMethod(function distinctProblem(id, message, options = {}) {
|
|
|
202
202
|
/**
|
|
203
203
|
* Register a custom handler
|
|
204
204
|
*
|
|
205
|
-
* @author Jelle De Loecker
|
|
205
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
206
206
|
* @since 1.3.21
|
|
207
207
|
* @version 1.3.21
|
|
208
208
|
*
|
|
209
|
-
* @param
|
|
210
|
-
* @param
|
|
211
|
-
* @param
|
|
209
|
+
* @param {string|symbol} type
|
|
210
|
+
* @param {Function} callback
|
|
211
|
+
* @param {number} weight
|
|
212
212
|
*/
|
|
213
213
|
Alchemy.setMethod(function registerCustomHandler(type, callback, weight) {
|
|
214
214
|
|
|
@@ -233,13 +233,13 @@ Alchemy.setMethod(function registerCustomHandler(type, callback, weight) {
|
|
|
233
233
|
/**
|
|
234
234
|
* Get the highest priority custom handler of the given type
|
|
235
235
|
*
|
|
236
|
-
* @author Jelle De Loecker
|
|
236
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
237
237
|
* @since 1.3.21
|
|
238
238
|
* @version 1.3.21
|
|
239
239
|
*
|
|
240
|
-
* @param
|
|
240
|
+
* @param {string|symbol} type
|
|
241
241
|
*
|
|
242
|
-
* @return
|
|
242
|
+
* @return {Function}
|
|
243
243
|
*/
|
|
244
244
|
Alchemy.setMethod(function getCustomHandler(type) {
|
|
245
245
|
|
|
@@ -253,13 +253,13 @@ Alchemy.setMethod(function getCustomHandler(type) {
|
|
|
253
253
|
/**
|
|
254
254
|
* Get all the custom handlers of the given type
|
|
255
255
|
*
|
|
256
|
-
* @author Jelle De Loecker
|
|
256
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
257
257
|
* @since 1.3.21
|
|
258
258
|
* @version 1.3.21
|
|
259
259
|
*
|
|
260
|
-
* @param
|
|
260
|
+
* @param {string|symbol} type
|
|
261
261
|
*
|
|
262
|
-
* @return
|
|
262
|
+
* @return {Function[]}
|
|
263
263
|
*/
|
|
264
264
|
Alchemy.setMethod(function getAllCustomHandlers(type) {
|
|
265
265
|
|
|
@@ -275,23 +275,22 @@ Alchemy.setMethod(function getAllCustomHandlers(type) {
|
|
|
275
275
|
/**
|
|
276
276
|
* Actually print a log message
|
|
277
277
|
*
|
|
278
|
-
* @author Jelle De Loecker
|
|
278
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
279
279
|
* @since 0.4.0
|
|
280
|
-
* @version 1.
|
|
280
|
+
* @version 1.4.0
|
|
281
281
|
*
|
|
282
|
-
* @param {
|
|
282
|
+
* @param {number} level
|
|
283
283
|
* @param {Array} args
|
|
284
284
|
* @param {Object} options
|
|
285
285
|
*/
|
|
286
286
|
Alchemy.setMethod(function printLog(level, args, options) {
|
|
287
287
|
|
|
288
|
-
|
|
289
|
-
line;
|
|
290
|
-
|
|
291
|
-
if (this.settings.silent) {
|
|
288
|
+
if (Blast.isServer && this.settings.debugging.silent) {
|
|
292
289
|
return;
|
|
293
290
|
}
|
|
294
291
|
|
|
292
|
+
let type;
|
|
293
|
+
|
|
295
294
|
if (!Array.isArray(args)) {
|
|
296
295
|
args = [args];
|
|
297
296
|
}
|
|
@@ -314,9 +313,9 @@ Alchemy.setMethod(function printLog(level, args, options) {
|
|
|
314
313
|
/**
|
|
315
314
|
* Create an alias to the __ command
|
|
316
315
|
*
|
|
317
|
-
* @author
|
|
318
|
-
* @since
|
|
319
|
-
* @version
|
|
316
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
317
|
+
* @since 0.4.0
|
|
318
|
+
* @version 1.0.5
|
|
320
319
|
*/
|
|
321
320
|
Alchemy.setMethod(function __(domain, key, parameters) {
|
|
322
321
|
return hawkejs.scene.generalView.__(domain, key, parameters);
|
|
@@ -325,9 +324,9 @@ Alchemy.setMethod(function __(domain, key, parameters) {
|
|
|
325
324
|
/**
|
|
326
325
|
* Create an alias to the __d command
|
|
327
326
|
*
|
|
328
|
-
* @author
|
|
329
|
-
* @since
|
|
330
|
-
* @version
|
|
327
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
328
|
+
* @since 0.4.0
|
|
329
|
+
* @version 1.0.5
|
|
331
330
|
*/
|
|
332
331
|
Alchemy.setMethod(function __d(domain, key, parameters) {
|
|
333
332
|
return hawkejs.scene.generalView.__d(domain, key, parameters);
|
|
@@ -336,11 +335,11 @@ Alchemy.setMethod(function __d(domain, key, parameters) {
|
|
|
336
335
|
/**
|
|
337
336
|
* Set the permission checker
|
|
338
337
|
*
|
|
339
|
-
* @author
|
|
340
|
-
* @since
|
|
341
|
-
* @version
|
|
338
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
339
|
+
* @since 1.2.5
|
|
340
|
+
* @version 1.2.5
|
|
342
341
|
*
|
|
343
|
-
* @param
|
|
342
|
+
* @param {Object} instance
|
|
344
343
|
*/
|
|
345
344
|
Alchemy.setMethod(function setPermissionChecker(instance) {
|
|
346
345
|
|
|
@@ -356,13 +355,13 @@ Alchemy.setMethod(function setPermissionChecker(instance) {
|
|
|
356
355
|
/**
|
|
357
356
|
* Cast to an object id
|
|
358
357
|
*
|
|
359
|
-
* @author Jelle De Loecker
|
|
358
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
360
359
|
* @since 1.0.0
|
|
361
360
|
* @version 1.1.0
|
|
362
361
|
*
|
|
363
|
-
* @param {
|
|
362
|
+
* @param {string|ObjectID} str
|
|
364
363
|
*
|
|
365
|
-
* @return {
|
|
364
|
+
* @return {string}
|
|
366
365
|
*/
|
|
367
366
|
Alchemy.setMethod(function castObjectId(str) {
|
|
368
367
|
|
|
@@ -391,13 +390,13 @@ Alchemy.setMethod(function castObjectId(str) {
|
|
|
391
390
|
/**
|
|
392
391
|
* Is the given parameter an object id (string or instance)
|
|
393
392
|
*
|
|
394
|
-
* @author Jelle De Loecker
|
|
393
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
395
394
|
* @since 1.0.4
|
|
396
395
|
* @version 1.3.16
|
|
397
396
|
*
|
|
398
|
-
* @param {
|
|
397
|
+
* @param {string|ObjectId} obj
|
|
399
398
|
*
|
|
400
|
-
* @return {
|
|
399
|
+
* @return {boolean}
|
|
401
400
|
*/
|
|
402
401
|
Alchemy.setMethod(function isObjectId(obj) {
|
|
403
402
|
|
|
@@ -423,13 +422,13 @@ Alchemy.setMethod(function isObjectId(obj) {
|
|
|
423
422
|
/**
|
|
424
423
|
* Get validator class constructor
|
|
425
424
|
*
|
|
426
|
-
* @author
|
|
427
|
-
* @since
|
|
428
|
-
* @version
|
|
425
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
426
|
+
* @since 1.0.5
|
|
427
|
+
* @version 1.1.0
|
|
429
428
|
*
|
|
430
|
-
* @param
|
|
429
|
+
* @param {string} name
|
|
431
430
|
*
|
|
432
|
-
* @return
|
|
431
|
+
* @return {Function|null}
|
|
433
432
|
*/
|
|
434
433
|
Alchemy.setMethod(function getValidatorClass(name) {
|
|
435
434
|
|
|
@@ -447,13 +446,13 @@ Alchemy.setMethod(function getValidatorClass(name) {
|
|
|
447
446
|
/**
|
|
448
447
|
* Get the display title of something
|
|
449
448
|
*
|
|
450
|
-
* @author Jelle De Loecker
|
|
449
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
451
450
|
* @since 1.3.13
|
|
452
451
|
* @version 1.3.14
|
|
453
452
|
*
|
|
454
453
|
* @param {Object} value
|
|
455
454
|
*
|
|
456
|
-
* @return {
|
|
455
|
+
* @return {string}
|
|
457
456
|
*/
|
|
458
457
|
Alchemy.setMethod(function getDisplayTitle(value, max_length) {
|
|
459
458
|
|
|
@@ -504,13 +503,13 @@ Alchemy.setMethod(function getDisplayTitle(value, max_length) {
|
|
|
504
503
|
/**
|
|
505
504
|
* Pick a translation
|
|
506
505
|
*
|
|
507
|
-
* @author Jelle De Loecker
|
|
506
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
508
507
|
* @since 0.0.1
|
|
509
508
|
* @version 1.1.0
|
|
510
509
|
*
|
|
511
|
-
* @param {
|
|
510
|
+
* @param {string|Array} prefix The prefix to get
|
|
512
511
|
* @param {Object} choices The available choices
|
|
513
|
-
* @param {
|
|
512
|
+
* @param {boolean} allow_empty Empty strings are not allowed by default
|
|
514
513
|
*/
|
|
515
514
|
Alchemy.setMethod(function pickTranslation(_prefix, choices, allow_empty) {
|
|
516
515
|
|
|
@@ -559,11 +558,11 @@ Alchemy.setMethod(function pickTranslation(_prefix, choices, allow_empty) {
|
|
|
559
558
|
/**
|
|
560
559
|
* Get the prefixes
|
|
561
560
|
*
|
|
562
|
-
* @author
|
|
563
|
-
* @since
|
|
564
|
-
* @version
|
|
561
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
562
|
+
* @since 1.1.0
|
|
563
|
+
* @version 1.1.0
|
|
565
564
|
*
|
|
566
|
-
* @return
|
|
565
|
+
* @return {Object}
|
|
567
566
|
*/
|
|
568
567
|
Alchemy.setMethod(function getPrefixes() {
|
|
569
568
|
|
|
@@ -577,13 +576,13 @@ Alchemy.setMethod(function getPrefixes() {
|
|
|
577
576
|
/**
|
|
578
577
|
* Safely checksum a variable
|
|
579
578
|
*
|
|
580
|
-
* @author
|
|
581
|
-
* @since
|
|
582
|
-
* @version
|
|
579
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
580
|
+
* @since 1.1.5
|
|
581
|
+
* @version 1.1.5
|
|
583
582
|
*
|
|
584
|
-
* @param
|
|
583
|
+
* @param {*} value
|
|
585
584
|
*
|
|
586
|
-
* @return
|
|
585
|
+
* @return {string}
|
|
587
586
|
*/
|
|
588
587
|
Alchemy.setMethod(function checksum(value) {
|
|
589
588
|
|
|
@@ -602,12 +601,12 @@ Alchemy.setMethod(function checksum(value) {
|
|
|
602
601
|
/**
|
|
603
602
|
* Mark element as active or not
|
|
604
603
|
*
|
|
605
|
-
* @author
|
|
606
|
-
* @since
|
|
607
|
-
* @version
|
|
604
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
605
|
+
* @since 0.3.0
|
|
606
|
+
* @version 1.1.5
|
|
608
607
|
*
|
|
609
|
-
* @param
|
|
610
|
-
* @param
|
|
608
|
+
* @param {Element} element
|
|
609
|
+
* @param {number} active_nr
|
|
611
610
|
*/
|
|
612
611
|
Alchemy.setMethod(function markLinkElement(element, active_nr) {
|
|
613
612
|
|
|
@@ -633,13 +632,13 @@ Alchemy.setMethod(function markLinkElement(element, active_nr) {
|
|
|
633
632
|
/**
|
|
634
633
|
* Get the configuration for the given route
|
|
635
634
|
*
|
|
636
|
-
* @author
|
|
637
|
-
* @since
|
|
638
|
-
* @version
|
|
635
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
636
|
+
* @since 1.2.7
|
|
637
|
+
* @version 1.2.7
|
|
639
638
|
*
|
|
640
|
-
* @param
|
|
639
|
+
* @param {string} name The route name
|
|
641
640
|
*
|
|
642
|
-
* @return
|
|
641
|
+
* @return {Object}
|
|
643
642
|
*/
|
|
644
643
|
Alchemy.setMethod(function routeConfig(name) {
|
|
645
644
|
|
|
@@ -659,7 +658,7 @@ const markLinkElement = Alchemy.prototype.markLinkElement;
|
|
|
659
658
|
/**
|
|
660
659
|
* Get a live map of all the routes
|
|
661
660
|
*
|
|
662
|
-
* @author Jelle De Loecker
|
|
661
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
663
662
|
* @since 1.3.8
|
|
664
663
|
* @version 1.3.8
|
|
665
664
|
*
|
|
@@ -672,7 +671,7 @@ Alchemy.setMethod(function getRoutes() {
|
|
|
672
671
|
/**
|
|
673
672
|
* The live-map dictionary creator
|
|
674
673
|
*
|
|
675
|
-
* @author Jelle De Loecker
|
|
674
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
676
675
|
* @since 1.3.8
|
|
677
676
|
* @version 1.3.8
|
|
678
677
|
*
|
|
@@ -711,13 +710,6 @@ function getRoutesDict() {
|
|
|
711
710
|
|
|
712
711
|
// From here on, only client-side code is added
|
|
713
712
|
if (Blast.isBrowser) {
|
|
714
|
-
window.LocalDateTime = Blast.Classes.Develry.LocalDateTime;
|
|
715
|
-
window.LocalDate = Blast.Classes.Develry.LocalDate;
|
|
716
|
-
window.LocalTime = Blast.Classes.Develry.LocalTime;
|
|
717
|
-
window.Decimal = Blast.Classes.Develry.Decimal;
|
|
718
|
-
window.MutableDecimal = Blast.Classes.Develry.MutableDecimal;
|
|
719
|
-
window.FixedDecimal = Blast.Classes.Develry.FixedDecimal;
|
|
720
|
-
window.MutableFixedDecimal = Blast.Classes.Develry.MutableFixedDecimal;
|
|
721
713
|
window.alchemy = new Alchemy();
|
|
722
714
|
} else {
|
|
723
715
|
return;
|
|
@@ -726,7 +718,7 @@ if (Blast.isBrowser) {
|
|
|
726
718
|
/**
|
|
727
719
|
* Create a socket.io connection to the server
|
|
728
720
|
*
|
|
729
|
-
* @author Jelle De Loecker
|
|
721
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
730
722
|
* @since 0.0.1
|
|
731
723
|
* @version 1.0.5
|
|
732
724
|
*
|
|
@@ -748,11 +740,11 @@ Alchemy.setMethod(function connect(callback) {
|
|
|
748
740
|
/**
|
|
749
741
|
* Submit a message to the server
|
|
750
742
|
*
|
|
751
|
-
* @author
|
|
752
|
-
* @since
|
|
753
|
-
* @version
|
|
743
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
744
|
+
* @since 0.0.1
|
|
745
|
+
* @version 1.0.5
|
|
754
746
|
*
|
|
755
|
-
* @param {
|
|
747
|
+
* @param {string} type
|
|
756
748
|
* @param {Object} data
|
|
757
749
|
* @param {Function} callback
|
|
758
750
|
*/
|
|
@@ -763,11 +755,11 @@ Alchemy.setMethod(function submit(type, data, callback) {
|
|
|
763
755
|
/**
|
|
764
756
|
* Create a namespace and inform the server
|
|
765
757
|
*
|
|
766
|
-
* @author
|
|
767
|
-
* @since
|
|
768
|
-
* @version
|
|
758
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
759
|
+
* @since 0.2.0
|
|
760
|
+
* @version 1.0.5
|
|
769
761
|
*
|
|
770
|
-
* @param {
|
|
762
|
+
* @param {string} type The typename of link to create
|
|
771
763
|
* @param {Object} data The initial data to submit
|
|
772
764
|
*
|
|
773
765
|
* @return {Linkup}
|
|
@@ -779,12 +771,12 @@ Alchemy.setMethod(function linkup(type, data, cb) {
|
|
|
779
771
|
/**
|
|
780
772
|
* Mark links as active using breadcrumbs
|
|
781
773
|
*
|
|
782
|
-
* @author
|
|
783
|
-
* @since
|
|
784
|
-
* @version
|
|
774
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
775
|
+
* @since 0.3.0
|
|
776
|
+
* @version 1.3.8
|
|
785
777
|
*
|
|
786
|
-
* @param
|
|
787
|
-
* @param
|
|
778
|
+
* @param {Object} variables
|
|
779
|
+
* @param {Object} render_data
|
|
788
780
|
*/
|
|
789
781
|
Alchemy.setMethod(function markLinks(variables, render_data) {
|
|
790
782
|
|
|
@@ -875,9 +867,9 @@ Alchemy.setMethod(function markLinks(variables, render_data) {
|
|
|
875
867
|
/**
|
|
876
868
|
* Reload all stylesheets
|
|
877
869
|
*
|
|
878
|
-
* @author
|
|
879
|
-
* @since
|
|
880
|
-
* @version
|
|
870
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
871
|
+
* @since 1.0.0
|
|
872
|
+
* @version 1.3.8
|
|
881
873
|
*/
|
|
882
874
|
Alchemy.setMethod(function reloadStylesheets() {
|
|
883
875
|
|
|
@@ -907,9 +899,9 @@ Alchemy.setMethod(function reloadStylesheets() {
|
|
|
907
899
|
/**
|
|
908
900
|
* Change the language
|
|
909
901
|
*
|
|
910
|
-
* @author
|
|
911
|
-
* @since
|
|
912
|
-
* @version
|
|
902
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
903
|
+
* @since 0.4.1
|
|
904
|
+
* @version 1.2.5
|
|
913
905
|
*/
|
|
914
906
|
Alchemy.setMethod(function switchLanguage(prefix) {
|
|
915
907
|
|
|
@@ -953,9 +945,9 @@ Alchemy.setMethod(function switchLanguage(prefix) {
|
|
|
953
945
|
/**
|
|
954
946
|
* Navigate to the url & return false
|
|
955
947
|
*
|
|
956
|
-
* @author
|
|
957
|
-
* @since
|
|
958
|
-
* @version
|
|
948
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
949
|
+
* @since 1.1.0
|
|
950
|
+
* @version 1.1.0
|
|
959
951
|
*/
|
|
960
952
|
function doNavigate(url) {
|
|
961
953
|
|
|
@@ -969,15 +961,15 @@ function doNavigate(url) {
|
|
|
969
961
|
/**
|
|
970
962
|
* Goto the given url
|
|
971
963
|
*
|
|
972
|
-
* @author
|
|
973
|
-
* @since
|
|
974
|
-
* @version
|
|
964
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
965
|
+
* @since 0.4.1
|
|
966
|
+
* @version 1.1.0
|
|
975
967
|
*
|
|
976
|
-
* @param
|
|
977
|
-
* @param
|
|
978
|
-
* @param
|
|
968
|
+
* @param {string|RURL} href
|
|
969
|
+
* @param {Object} options
|
|
970
|
+
* @param {Function} callback
|
|
979
971
|
*
|
|
980
|
-
* @return
|
|
972
|
+
* @return {Pledge}
|
|
981
973
|
*/
|
|
982
974
|
Alchemy.setMethod(function openUrl(href, options, callback) {
|
|
983
975
|
|
|
@@ -1036,15 +1028,15 @@ Alchemy.setMethod(function openUrl(href, options, callback) {
|
|
|
1036
1028
|
/**
|
|
1037
1029
|
* Fetch data from the server
|
|
1038
1030
|
*
|
|
1039
|
-
* @author
|
|
1040
|
-
* @since
|
|
1041
|
-
* @version
|
|
1031
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
1032
|
+
* @since 0.4.0
|
|
1033
|
+
* @version 1.1.0
|
|
1042
1034
|
*
|
|
1043
|
-
* @param
|
|
1044
|
-
* @param
|
|
1045
|
-
* @param
|
|
1035
|
+
* @param {string} href
|
|
1036
|
+
* @param {Object} options
|
|
1037
|
+
* @param {Function} callback
|
|
1046
1038
|
*
|
|
1047
|
-
* @return
|
|
1039
|
+
* @return {Pledge}
|
|
1048
1040
|
*/
|
|
1049
1041
|
Alchemy.decorateMethod(Blast.Decorators.memoize({max_age: 500, ignore_callbacks: true}), function fetch(href, options, callback) {
|
|
1050
1042
|
|
|
@@ -1079,14 +1071,14 @@ Alchemy.decorateMethod(Blast.Decorators.memoize({max_age: 500, ignore_callbacks:
|
|
|
1079
1071
|
/**
|
|
1080
1072
|
* Get a route
|
|
1081
1073
|
*
|
|
1082
|
-
* @author
|
|
1083
|
-
* @since
|
|
1084
|
-
* @version
|
|
1074
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
1075
|
+
* @since 1.1.0
|
|
1076
|
+
* @version 1.3.0
|
|
1085
1077
|
*
|
|
1086
|
-
* @param
|
|
1087
|
-
* @param
|
|
1078
|
+
* @param {string} href The href or route name
|
|
1079
|
+
* @param {Object} parameters Route parameters
|
|
1088
1080
|
*
|
|
1089
|
-
* @return
|
|
1081
|
+
* @return {string}
|
|
1090
1082
|
*/
|
|
1091
1083
|
Alchemy.setMethod(function routeUrl(href, parameters, options) {
|
|
1092
1084
|
let temp = hawkejs.scene.helpers.Router.routeUrl(href, parameters, options);
|
|
@@ -1105,9 +1097,9 @@ Alchemy.setMethod(function routeUrl(href, parameters, options) {
|
|
|
1105
1097
|
/**
|
|
1106
1098
|
* Send binding data to the server
|
|
1107
1099
|
*
|
|
1108
|
-
* @author
|
|
1109
|
-
* @since
|
|
1110
|
-
* @version
|
|
1100
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
1101
|
+
* @since 0.2.0
|
|
1102
|
+
* @version 1.0.5
|
|
1111
1103
|
*/
|
|
1112
1104
|
Alchemy.setMethod(function sendBindingRequests() {
|
|
1113
1105
|
|
|
@@ -1153,9 +1145,9 @@ Alchemy.setMethod(function sendBindingRequests() {
|
|
|
1153
1145
|
/**
|
|
1154
1146
|
* Enable websockets
|
|
1155
1147
|
*
|
|
1156
|
-
* @author
|
|
1157
|
-
* @since
|
|
1158
|
-
* @version
|
|
1148
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
1149
|
+
* @since 1.0.5
|
|
1150
|
+
* @version 1.3.10
|
|
1159
1151
|
*/
|
|
1160
1152
|
Alchemy.setMethod(function enableWebsockets() {
|
|
1161
1153
|
|
|
@@ -1278,12 +1270,12 @@ Alchemy.setMethod(function enableWebsockets() {
|
|
|
1278
1270
|
/**
|
|
1279
1271
|
* Handle an error
|
|
1280
1272
|
*
|
|
1281
|
-
* @author
|
|
1282
|
-
* @since
|
|
1283
|
-
* @version
|
|
1273
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
1274
|
+
* @since 1.0.5
|
|
1275
|
+
* @version 1.0.5
|
|
1284
1276
|
*
|
|
1285
|
-
* @param
|
|
1286
|
-
* @param
|
|
1277
|
+
* @param {Error} err
|
|
1278
|
+
* @param {Object} config
|
|
1287
1279
|
*/
|
|
1288
1280
|
Alchemy.setMethod(function handleError(err, config) {
|
|
1289
1281
|
|
|
@@ -1318,11 +1310,11 @@ Alchemy.setMethod(function handleError(err, config) {
|
|
|
1318
1310
|
/**
|
|
1319
1311
|
* Sync data with the server
|
|
1320
1312
|
*
|
|
1321
|
-
* @author
|
|
1322
|
-
* @since
|
|
1323
|
-
* @version
|
|
1313
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
1314
|
+
* @since 1.0.6
|
|
1315
|
+
* @version 1.0.6
|
|
1324
1316
|
*
|
|
1325
|
-
* @return
|
|
1317
|
+
* @return {Pledge}
|
|
1326
1318
|
*/
|
|
1327
1319
|
Alchemy.setMethod(function syncDataWithServer() {
|
|
1328
1320
|
|
|
@@ -1356,7 +1348,7 @@ Alchemy.setMethod(function syncDataWithServer() {
|
|
|
1356
1348
|
/**
|
|
1357
1349
|
* Create a new schema on the client
|
|
1358
1350
|
*
|
|
1359
|
-
* @author Jelle De Loecker
|
|
1351
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
1360
1352
|
* @since 1.2.1
|
|
1361
1353
|
* @version 1.2.1
|
|
1362
1354
|
*
|
|
@@ -1370,14 +1362,14 @@ Alchemy.setMethod(function createSchema(parent) {
|
|
|
1370
1362
|
/**
|
|
1371
1363
|
* Get a client-side model
|
|
1372
1364
|
*
|
|
1373
|
-
* @author Jelle De Loecker
|
|
1365
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
1374
1366
|
* @since 1.2.4
|
|
1375
1367
|
* @version 1.2.4
|
|
1376
1368
|
*
|
|
1377
|
-
* @param
|
|
1378
|
-
* @param
|
|
1369
|
+
* @param {string} name
|
|
1370
|
+
* @param {Object} options
|
|
1379
1371
|
*
|
|
1380
|
-
* @return
|
|
1372
|
+
* @return {Model}
|
|
1381
1373
|
*/
|
|
1382
1374
|
Alchemy.setMethod(function getClientModel(name, init, options) {
|
|
1383
1375
|
return Classes.Alchemy.Client.Base.prototype.getModel.call(this, name, init, options);
|
|
@@ -1386,13 +1378,13 @@ Alchemy.setMethod(function getClientModel(name, init, options) {
|
|
|
1386
1378
|
/**
|
|
1387
1379
|
* Check if the current client-side user has a certain permission
|
|
1388
1380
|
*
|
|
1389
|
-
* @author Jelle De Loecker
|
|
1381
|
+
* @author Jelle De Loecker <jelle@elevenways.be>
|
|
1390
1382
|
* @since 1.2.7
|
|
1391
1383
|
* @version 1.2.7
|
|
1392
1384
|
*
|
|
1393
|
-
* @param
|
|
1385
|
+
* @param {string} permission
|
|
1394
1386
|
*
|
|
1395
|
-
* @return
|
|
1387
|
+
* @return {boolean}
|
|
1396
1388
|
*/
|
|
1397
1389
|
Alchemy.setMethod(function hasPermission(permission) {
|
|
1398
1390
|
|