Make Builder widget customisable by "callback" element.
[mkws-moved-to-github.git] / src / mkws-widget-builder.js
1 mkws.registerWidgetType('Builder', function() {
2     var that = this;
3     var team = this.team;
4
5     this.button = $('<button/>', {
6         type: 'button',
7         text: this.config.text || "Build!"
8     });
9     $(this.node).append(this.button);
10     this.button.click(function() {
11         var   query = team.widget('Query').value();
12         var    sort = team.widget('Sort').value();
13         var perpage = team.widget('Perpage').value();
14
15         var html = ('<div class="mkwsRecords" ' +
16                     'autosearch="' + query + '" ' +
17                     'sort="' + sort + '" ' +
18                     'perpage="' + perpage + '"></div>');
19         var fn = that.callback || alert;
20         fn(html);
21     });
22 });
23
24 mkws.registerWidgetType('ConsoleBuilder', function() {
25     mkws.promotionFunction('Builder').call(this);    
26     this.callback = function(s) {
27         console.log("Generated widget: " + s);
28     }
29 });