Skip to content

Commit 19891c5

Browse files
Add method Controller.register() (#3)
* create method Controller.register() * build Controller dist * change copyright year to 2019
1 parent 420871c commit 19891c5

File tree

6 files changed

+25
-10
lines changed

6 files changed

+25
-10
lines changed

README.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,13 @@ This framework is written for ECMAScript 2016, but you can use the recompiled ve
3636

3737
## Methods
3838

39-
The library exposes these methods: `registerControl()`, `registerControls()`, `singleBind()`, `bind()`.
39+
The library exposes these methods: `register()`, `registerControl()`, `registerControls()`, `singleBind()`, `bind()`.
40+
41+
### Controller.register
42+
43+
Bind all controls for all elements after content loaded.
44+
45+
* * *
4046

4147
### Controller.registerControl
4248

@@ -101,8 +107,8 @@ controller:
101107
```js
102108
Controller.registerControl('date-picker', element => $(element).datepicker({dateFormat: 'yy-mm-dd'}));
103109

104-
// find input and bind datepicker control to it
105-
document.addEventListener('DOMContentLoaded', () => Controller.bind(document.getElementsByTagName('body').item(0)));
110+
// register Controller to find input and bind datepicker control to it
111+
Controller.register();
106112
```
107113

108114
Use in HTML:
@@ -158,7 +164,7 @@ Controller.registerControl('show-password', element => {
158164
});
159165

160166
// bind all controls for all elements
161-
document.addEventListener('DOMContentLoaded', () => Controller.bind(document.getElementsByTagName('body').item(0)));
167+
Controller.register();
162168
```
163169

164170
### Use classes for controls
@@ -208,7 +214,7 @@ Controller.registerControls({
208214
'date-picker': element => $(element).datepicker({dateFormat: 'yy-mm-dd'}),
209215
'append': element => new AppendControl(element),
210216
});
211-
Controller.bind(document.getElementsByTagName('body')[0]);
217+
Controller.register();
212218
```
213219

214220
Use in HTML:

dist/controller.es2015.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/controller.es2015.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/controller.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/controller.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/controller.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* GpsLab Controller
33
* https://github.com/gpslab/gpslab-controller
44
*
5-
* Copyright 2018 by Peter Gribanov (http://peter-gribanov.ru)
5+
* Copyright 2019 by Peter Gribanov (http://peter-gribanov.ru)
66
*
77
* Licensed under the MIT license:
88
* http://www.opensource.org/licenses/MIT
@@ -28,6 +28,15 @@
2828
const registry = [];
2929

3030
class Controller {
31+
/**
32+
* Bind all controls for all elements after content loaded.
33+
*/
34+
static register() {
35+
document.addEventListener('DOMContentLoaded', () => {
36+
Controller.bind(document.getElementsByTagName('body').item(0));
37+
});
38+
}
39+
3140
/**
3241
* Register control by name.
3342
* @param {string} name

0 commit comments

Comments
 (0)