Update to LoginClient Plugin
[src/app-framework-demo.git] / afb-client / app / Frontend / widgets / ActionButtons / SubmitButton.js
1 /* 
2  * Copyright (C) 2015 "IoT.bzh"
3  * Author "Fulup Ar Foll"
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  * 
18  * Bugs: Input with Callback SHOULD BE get 'required' class
19  */
20
21 (function () {
22     'use strict';
23
24     var tmpl = '<div  ng-click="clicked()">' +
25             '<i class="{{icon}}"></i>' +
26             '<span>{{label}}</span>' +
27             '</div>';
28
29     angular.module('SubmitButton', [])
30             .directive('submitButton', function () {
31
32                 function mymethods(scope, elem, attrs) {
33
34                     // ajust icon or use default
35                     scope.icon = attrs.icon || 'fi-foot';
36                     scope.label = attrs.label || 'Next';
37                                 
38                     // add label as class
39                     elem.addClass (scope.label.toLowerCase());
40                     
41                     // note: clicked in imported and when template is clicked
42                     // it will call clicked method passed in param.
43                 }
44                 
45                 return {
46                     restrict: 'E',
47                     template: tmpl,
48                     link: mymethods,
49                     scope: {clicked : '='}
50                 };
51             });
52 })();