2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END============================================
20 * ===================================================================
21 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
24 app.directive('inputInfoDVClass', function ($compile) {
25 console.log("/////////////inputInfoDVClass");
29 link: function(scope,element,attrs){
32 scope.sourceExplorer = 'SDV';
33 angular.forEach(scope.infoType.schemaElements, function(value, key){
34 console.log("schemaElement");
36 scope.schemaElement = value;
38 if(scope.schemaElement.complexType != null){
39 if(scope.currentElementName == ''){
40 scope.currentElementName = scope.schemaElement.complexType.name;
43 scope.ParentKey = scope.parentName + '_' + scope.currentElementName;
44 if(scope.schemaElement.repeatableHierarchicalPrefix != null){
45 scope.ParentKey = scope.ParentKey + scope.schemaElement.repeatableHierarchicalPrefix;
47 scope.parElement = scope.schemaElement;
48 scope.tableStyle = 'table-level' + scope.heirarchyLevel + '-tree';
49 scope.tdLabelStyle = 'td-level' + scope.heirarchyLevel + '-label-tree';
50 scope.heirLevel = scope.heirarchyLevel;
52 elementHTML = elementHTML + '<div ng-show="schemaElement.complexType != null">';
53 elementHTML = elementHTML + '<table class="{{tableStyle}}"> <tr>';
54 elementHTML = elementHTML + '<td class="{{tdLabelStyle}}">';
55 elementHTML = elementHTML + '<span class="pull-left" ng-click="showUTMViewMsgHeader=!showUTMViewMsgHeader">';
56 elementHTML = elementHTML + '<i ng-class="showUTMViewMsgHeader == true ?\'fa fa-plus-circle\':\'fa fa-minus-circle\'"></i>';
57 elementHTML = elementHTML + '</span>';
58 elementHTML = elementHTML + '<b>{{currentElementName}}</b>';
59 elementHTML = elementHTML + '</td>';
60 elementHTML = elementHTML + '</tr></table>';
61 elementHTML = elementHTML + '<div style="margin-left: 10px" ng-class="{hidden:showUTMViewMsgHeader,chaldean:showUTMViewMsgHeader}">';
62 elementHTML = elementHTML + '<div class="inputInfoDVClassMember" style="margin-left: 10px" ng-repeat="schemaElement in schemaElement.elements"></div>';
63 elementHTML = elementHTML + '</div>';
64 elementHTML = elementHTML + '</div>';
65 var x = angular.element(elementHTML);
75 app.directive('inputInfoDVClassMember', function ($compile) {
76 console.log("inputInfoDVClassMember");
80 link: function(scope,element,attrs){
84 scope.currentElementName=scope.objectName;
85 scope.parentName=scope.ParentKey;
86 scope.parentElement=scope.parElement;
87 scope.heirarchyLevel = scope.heirLevel + 1;
89 if(scope.schemaElement.element.name != null){
91 scope.elementKey=scope.parentName + '_' + scope.schemaElement.element.name;
92 if(scope.schemaElement.repeatableHierarchicalPrefix != null){
93 scope.elementKey = scope.elementKey + scope.schemaElement.repeatableHierarchicalPrefix;
95 scope.tableStyle='table-level' + scope.heirarchyLevel + '-tree';
96 scope.tdLabelStyle='td-level' + scope.heirarchyLevel +'-label-tree';
98 if(scope.schemaElement.type.complexType != null){
99 scope.showUTMViewMsgHeader = false;
102 scope.showUTMViewMsgHeader = true;
106 elementHTML = elementHTML + '<div ng-show="schemaElement.element.name != null">';
107 elementHTML = elementHTML + '<div id="elementKey">';
108 //console.log(scope.utmSchemaExts);
109 elementHTML = elementHTML + '<div ng-show = "schemaElement.type.complexType != null || utmSchemaExts[elementKey].checked">';
110 elementHTML = elementHTML + '<table class="{{tableStyle}}"> ';
111 elementHTML = elementHTML + '<tr>';
112 elementHTML = elementHTML + '<td style="text-align: left;vertical-align: top;" class="{{tdLabelStyle}}">';
113 elementHTML = elementHTML + '<span class="pull-left" ng-click="showUTMViewMsgHeader=!showUTMViewMsgHeader">';
114 elementHTML = elementHTML + '<i expandable ng-class="showUTMViewMsgHeader == true ?\'fa fa-minus-circle\':\'fa fa-plus-circle\'"></i>';
115 elementHTML = elementHTML + '{{schemaElement.element.name}} ';
116 elementHTML = elementHTML + '';
117 elementHTML = elementHTML + '</span>';
118 elementHTML = elementHTML + '</td>';
120 elementHTML = elementHTML + '<td style="width: 70px"></td>';
121 elementHTML = elementHTML + '<td style="width: 40px; float: left;">';
122 if(scope.schemaElement.type.complexType == null){
123 elementHTML = elementHTML + '<div ng-show="schemaElement.type.complexType == null">';
124 elementHTML = elementHTML + '<div ng-repeat="object in filteredObjects = (schemaElement.type.restriction.minExclusivesAndMinInclusivesAndMaxExclusives | filter: {name : \'enumeration\'})"></div>';
125 elementHTML = elementHTML + '<div ng-if="filteredObjects.length > 0" class="defaultSelect">';
126 elementHTML = elementHTML + '<input type="text" id="{{elementKey}}" class="defaultVal" ng-model="utmSchemaExts[elementKey].defaultValue" style="width:220px;"/>';
127 elementHTML = elementHTML + '<select style="width: 240px;" id="{{elementKey}}" onchange="this.previousElementSibling.value=this.value;" ng-model="utmSchemaExts[elementKey].defaultValue" ng-options="filteredObject.value.value as filteredObject.value.value for filteredObject in filteredObjects">';
128 elementHTML = elementHTML + '<option value=""></option>';
129 elementHTML = elementHTML + '</select>';
130 elementHTML = elementHTML + '</div>';
131 elementHTML = elementHTML + '<div ng-if="filteredObjects == null || filteredObjects.length == 0">';
132 elementHTML = elementHTML + '<div ng-if="schemaElement.type != null && schemaElement.type==\'boolean\'">';
133 elementHTML = elementHTML + '<div style="display: inline-flex">';
134 elementHTML = elementHTML + '<input type="radio" name="{{elementKey}}" id="{{elementKey}}" value="true" ng-model="utmSchemaExts[elementKey].defaultValue">True <span style="width:20px;"></span>';
135 elementHTML = elementHTML + '<input type="radio" name="{{elementKey}}" id="{{elementKey}}" value="false" ng-model="utmSchemaExts[elementKey].defaultValue">False';
136 elementHTML = elementHTML + '</div>';
137 elementHTML = elementHTML + '</div>';
138 elementHTML = elementHTML + '<div ng-if="schemaElement.type == null || schemaElement.type != \'boolean\'">';
139 elementHTML = elementHTML + '<input type="text" id="{{elementKey}}" style="width: 240px;" class="defaultVal" ng-model="utmSchemaExts[elementKey].defaultValue"/>';
140 elementHTML = elementHTML + '</div>';
141 elementHTML = elementHTML + '</div>';
142 elementHTML = elementHTML + '</div>';
145 elementHTML = elementHTML + '</td>';
147 elementHTML = elementHTML + '</tr>';
148 elementHTML = elementHTML + '<br/>';
149 elementHTML = elementHTML + '</table>';
150 elementHTML = elementHTML + '</div>';
151 elementHTML = elementHTML + '</div>';
152 elementHTML = elementHTML + '</div>';
154 var x = angular.element(elementHTML);
159 if(scope.schemaElement.type.complexType != null){
160 var elementHTML2 = '<div ng-show="schemaElement.type.complexType != null">'
161 elementHTML2 = elementHTML2 + '<div ng-init="parKey=parentName + \'_\' + schemaElement.element.name + (schemaElement.repeatableHierarchicalPrefix != null ? schemaElement.repeatableHierarchicalPrefix : \'\'); heirLevel=heirarchyLevel; parElement=schemaElement; ParentKey=ParentKey+\'_\'+schemaElement.element.name + (schemaElement.repeatableHierarchicalPrefix != null ? schemaElement.repeatableHierarchicalPrefix : \'\')">'
162 elementHTML2 = elementHTML2 + '<div style="margin-left: 10px" ng-class="{hidden:!showUTMViewMsgHeader,chaldean:!showUTMViewMsgHeader}">'
163 elementHTML2 = elementHTML2 + '<div class="{{sourceExplorer+\'_\'+parKey}}"></div>'
164 elementHTML2 = elementHTML2 + '</div>'
165 elementHTML2 = elementHTML2 + '</div>'
166 elementHTML2 = elementHTML2 + '</div>';
167 var x = angular.element(elementHTML2);