forked from coldbox-modules/route-visualizer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ModuleConfig.cfc
130 lines (106 loc) · 3.76 KB
/
ModuleConfig.cfc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/**
Module Directives as public properties
this.title = "Title of the module";
this.author = "Author of the module";
this.webURL = "Web URL for docs purposes";
this.description = "Module description";
this.version = "Module Version";
this.viewParentLookup = (true) [boolean] (Optional) // If true, checks for views in the parent first, then it the module.If false, then modules first, then parent.
this.layoutParentLookup = (true) [boolean] (Optional) // If true, checks for layouts in the parent first, then it the module.If false, then modules first, then parent.
this.entryPoint = "" (Optional) // If set, this is the default event (ex:forgebox:manager.index) or default route (/forgebox) the framework
will use to create an entry link to the module. Similar to a default event.
this.cfmapping = "The CF mapping to create";
this.modelNamespace = "The namespace to use for registered models, if blank it uses the name of the module."
this.dependencies = "The array of dependencies for this module"
structures to create for configuration
- parentSettings : struct (will append and override parent)
- settings : struct
- interceptorSettings : struct of the following keys ATM
- customInterceptionPoints : string list of custom interception points
- interceptors : array
- layoutSettings : struct (will allow to define a defaultLayout for the module)
- routes : array Allowed keys are same as the addRoute() method of the SES interceptor.
- wirebox : The wirebox DSL to load and use
Available objects in variable scope
- controller
- appMapping (application mapping)
- moduleMapping (include,cf path)
- modulePath (absolute path)
- log (A pre-configured logBox logger object for this object)
- binder (The wirebox configuration binder)
- wirebox (The wirebox injector)
Required Methods
- configure() : The method ColdBox calls to configure the module.
Optional Methods
- onLoad() : If found, it is fired once the module is fully loaded
- onUnload() : If found, it is fired once the module is unloaded
*/
component {
// Module Properties
this.title = "route-visualizer";
this.author = "";
this.webURL = "";
this.description = "";
this.version = "1.0.0";
// If true, looks for views in the parent first, if not found, then in the module. Else vice-versa
this.viewParentLookup = true;
// If true, looks for layouts in the parent first, if not found, then in module. Else vice-versa
this.layoutParentLookup = true;
// Module Entry Point
this.entryPoint = "route-visualizer";
// Inherit Entry Point
this.inheritEntryPoint = false;
// Model Namespace
this.modelNamespace = "route-visualizer";
// CF Mapping
this.cfmapping = "route-visualizer";
// Auto-map models
this.autoMapModels = true;
// Module Dependencies
this.dependencies = [];
function configure(){
// parent settings
parentSettings = {
};
// module settings - stored in modules.name.settings
settings = {
};
// Layout Settings
layoutSettings = {
defaultLayout = "Main.cfm"
};
// ColdBox 4 compat routing
routes = [
// Module Entry Point
{ pattern="/", handler="home",action="index" },
// Convention Route
{ pattern="/:handler/:action?" }
];
// ColdBox 5 compat routing
//router.route( "/" ).to( "home.index" );
//router.route( "/:handler/:action?" ).end();
// SES Resources
resources = [
// { resource = "" }
];
// Custom Declared Points
interceptorSettings = {
customInterceptionPoints = ""
};
// Custom Declared Interceptors
interceptors = [
];
// Binder Mappings
// binder.map("Alias").to("#moduleMapping#.model.MyService");
}
/**
* Fired when the module is registered and activated.
*/
function onLoad(){
}
/**
* Fired when the module is unregistered and unloaded
*/
function onUnload(){
}
}