aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/directives/elements
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/directives/elements')
-rw-r--r--catalog-ui/src/app/directives/elements/checkbox/checkbox.html14
-rw-r--r--catalog-ui/src/app/directives/elements/checkbox/checkbox.less35
-rw-r--r--catalog-ui/src/app/directives/elements/checkbox/checkbox.ts43
-rw-r--r--catalog-ui/src/app/directives/elements/radiobutton/radiobutton.html5
-rw-r--r--catalog-ui/src/app/directives/elements/radiobutton/radiobutton.less0
-rw-r--r--catalog-ui/src/app/directives/elements/radiobutton/radiobutton.ts48
6 files changed, 145 insertions, 0 deletions
diff --git a/catalog-ui/src/app/directives/elements/checkbox/checkbox.html b/catalog-ui/src/app/directives/elements/checkbox/checkbox.html
new file mode 100644
index 0000000000..1e25408188
--- /dev/null
+++ b/catalog-ui/src/app/directives/elements/checkbox/checkbox.html
@@ -0,0 +1,14 @@
+<label class="tlv-checkbox" ng-class="{'disabled' : disabled}">
+ <input id="{{elemId}}"
+ name="{{elemId}}"
+ class="tlv-checkbox-i"
+ type="checkbox"
+ checked=""
+ ng-disabled="disabled"
+ checklist-model="sdcChecklistModel"
+ checklist-value="sdcChecklistValue"
+ checklist-change="sdcChecklistChange()"
+ />
+
+ <span sdc-smart-tooltip class="tlv-checkbox-label" data-tests-id="{{elemId}}">{{text}}</span>
+</label>
diff --git a/catalog-ui/src/app/directives/elements/checkbox/checkbox.less b/catalog-ui/src/app/directives/elements/checkbox/checkbox.less
new file mode 100644
index 0000000000..0747a680a9
--- /dev/null
+++ b/catalog-ui/src/app/directives/elements/checkbox/checkbox.less
@@ -0,0 +1,35 @@
+label.tlv-checkbox {
+ font-weight: normal;
+}
+
+/*
+input[type="checkbox"] {
+ display:none;
+}
+
+input[type="checkbox"] + label span {
+ margin-right: 6px;
+ vertical-align: text-bottom;
+ .sprite-new;
+ .checkbox_unchecked;
+ cursor:pointer;
+}
+
+input[type="checkbox"]:checked + label span {
+ vertical-align: text-bottom;
+ .sprite-new;
+ .checkbox_checked;
+}
+
+input[type="checkbox"]:focus + label span {
+ vertical-align: text-bottom;
+ .sprite-new;
+ .checkbox_focus;
+}
+
+input[type="checkbox"][disabled] + label{
+ vertical-align: text-bottom;
+ .sprite-new;
+ .checkbox_disabled;
+}
+*/
diff --git a/catalog-ui/src/app/directives/elements/checkbox/checkbox.ts b/catalog-ui/src/app/directives/elements/checkbox/checkbox.ts
new file mode 100644
index 0000000000..ec0be8ab07
--- /dev/null
+++ b/catalog-ui/src/app/directives/elements/checkbox/checkbox.ts
@@ -0,0 +1,43 @@
+'use strict';
+
+export interface ICheckboxElementScope extends ng.IScope {
+ elemId:string;
+ text:string;
+ sdcChecklistModel:any;
+ sdcChecklistValue:string;
+ disabled:boolean;
+}
+
+export class CheckboxElementDirective implements ng.IDirective {
+
+ constructor(private $filter:ng.IFilterService) {
+ }
+
+ public replace = true;
+ public restrict = 'E';
+ public transclude = false;
+
+ scope = {
+ elemId: '@',
+ text: '@',
+ disabled: '=',
+ sdcChecklistModel: '=',
+ sdcChecklistValue: '=',
+ sdcChecklistChange: '&'
+ };
+
+ template = ():string => {
+ return require('./checkbox.html');
+ };
+
+ public link = (scope:ICheckboxElementScope, $elem:ng.IAugmentedJQuery, $attrs:angular.IAttributes) => {
+
+ };
+
+ public static factory = ($filter:ng.IFilterService)=> {
+ return new CheckboxElementDirective($filter);
+ };
+
+}
+
+CheckboxElementDirective.factory.$inject = ['$filter'];
diff --git a/catalog-ui/src/app/directives/elements/radiobutton/radiobutton.html b/catalog-ui/src/app/directives/elements/radiobutton/radiobutton.html
new file mode 100644
index 0000000000..b31fae5d73
--- /dev/null
+++ b/catalog-ui/src/app/directives/elements/radiobutton/radiobutton.html
@@ -0,0 +1,5 @@
+<div class="tlv-radio">
+ <input name="{{elemName}}" id="{{elemId}}" class="tlv-radio-i" type="radio" ng-model="sdcModel" ng-click="onValueChange()"
+ ng-disabled="disabled" value="{{value}}" />
+ <label for="{{elemId}}" sdc-smart-tooltip class="tlv-radio-label">{{text}}</label>
+</div>
diff --git a/catalog-ui/src/app/directives/elements/radiobutton/radiobutton.less b/catalog-ui/src/app/directives/elements/radiobutton/radiobutton.less
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/catalog-ui/src/app/directives/elements/radiobutton/radiobutton.less
diff --git a/catalog-ui/src/app/directives/elements/radiobutton/radiobutton.ts b/catalog-ui/src/app/directives/elements/radiobutton/radiobutton.ts
new file mode 100644
index 0000000000..1384a82674
--- /dev/null
+++ b/catalog-ui/src/app/directives/elements/radiobutton/radiobutton.ts
@@ -0,0 +1,48 @@
+import INgModelController = angular.INgModelController;
+'use strict';
+
+export interface IRadiobuttonElementScope extends ng.IScope {
+ elemId:string;
+ elemName:string;
+ text:string;
+ sdcModel:any;
+ value:any;
+ disabled:boolean;
+ onValueChange:Function;
+}
+
+export class RadiobuttonElementDirective implements ng.IDirective {
+
+ constructor(private $filter:ng.IFilterService) {
+ }
+
+ public replace = true;
+ public restrict = 'E';
+ public transclude = false;
+
+ scope = {
+ elemId: '@',
+ elemName: '@',
+ text: '@',
+ sdcModel: '=',
+ value: '@',
+ disabled: '=',
+ onValueChange: '&'
+ };
+
+ template = ():string => {
+ return require('./radiobutton.html');
+ };
+
+ public link = (scope:IRadiobuttonElementScope, $elem:ng.IAugmentedJQuery, $attrs:angular.IAttributes) => {
+ //$elem.removeAttr("id")
+ //console.log(scope.sdcChecklistValue);
+ };
+
+ public static factory = ($filter:ng.IFilterService)=> {
+ return new RadiobuttonElementDirective($filter);
+ };
+
+}
+
+RadiobuttonElementDirective.factory.$inject = ['$filter'];