-
Notifications
You must be signed in to change notification settings - Fork 0
/
ng-controls.js
66 lines (45 loc) · 1.41 KB
/
ng-controls.js
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
/**
* Created by abhishek on 6/29/2015.
*/
(function(){
var tmpl = "<a class='widget widget-default'><span class='widget-value'></span> <span class='widget-label'> </span></a>";
function Widget(options) {
this.options = options;
this.typeOfWidget = _detectTypeOfWidget(options);
this.render();
}
function _detectTypeOfWidget(options) {
var typesOfWidget = {
simple: SimpleWidget
};
return typesOfWidget[options.type];
}
function SimpleWidget(options) {
this.options = options;
this.render();
}
SimpleWidget.prototype.render = function () {
var self = this;
self.options.el.append(tmpl);
self.options.el.find('.widget-value').html(self.options.value);
self.options.el.find('.widget-label').html(self.options.label);
debugger;
Object.observe(self.options.value,function(data){
self.options.el.find('.widget-value').html(data.value);
})
};
Widget.prototype.render = function () {
var self = this;
self.widget = new self.typeOfWidget(self.options);
};
var test = Object.create("0%");
var widget = new Widget({
el: $('.js-simple-widget'),
type: 'simple',
label: 'Testing',
value: test
});
setTimeout(function(){
test= Object.("36%");
},4000)
})();