re base code
[sdc.git] / catalog-ui / src / app / directives / elements / checkbox / checkbox.ts
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 'use strict';
22
23 export interface ICheckboxElementScope extends ng.IScope {
24     elemId:string;
25     text:string;
26     sdcChecklistModel:any;
27     sdcChecklistValue:string;
28     sdcChecklistChange:Function;
29     sdcCheckedChange:Function;
30     disabled:boolean;
31 }
32
33 export class CheckboxElementDirective implements ng.IDirective {
34
35     constructor(private $filter:ng.IFilterService) {
36     }
37
38     public replace = true;
39     public restrict = 'E';
40     public transclude = false;
41
42     scope = {
43         elemId: '@',
44         text: '@',
45         disabled: '=',
46         sdcChecklistModel: '=?',
47         sdcChecklistValue: '=?',
48         sdcChecklistChange: '&?',
49         sdcCheckedChange: '&?'
50     };
51
52     template = ():string => {
53         return require('./checkbox.html');
54     };
55
56     public link = (scope:ICheckboxElementScope, $elem:ng.IAugmentedJQuery, $attrs:angular.IAttributes) => {
57
58     };
59
60     public static factory = ($filter:ng.IFilterService)=> {
61         return new CheckboxElementDirective($filter);
62     };
63
64 }
65
66 CheckboxElementDirective.factory.$inject = ['$filter'];