Yangman - bugfixes and improvements 51/48751/8
authorStanislav Jamrich <sjamrich@cisco.com>
Mon, 28 Nov 2016 17:14:20 +0000 (18:14 +0100)
committermichal.kovacik <mikovaci@cisco.com>
Wed, 30 Nov 2016 16:02:57 +0000 (17:02 +0100)
- do not consider 'Fill form with ...' checkbox in json view
- prevent loosing data when toggling current view
- stretch up receive data height in JSON view if height of sent data has been
  reduced in order to fill up empty space
- request menu in History and Collections tab has contained request id -
  probably mistake during merge
- request date now correctly respects the time zone in History tab
- enable copy of data from RPC output in Form view & color of output no so
  gray
- strech up Received data height to full available height, in case Sent
  data won't be shown
- show execution time in request tooltip in history tab
- width of input fields adjusted to 100%

Change-Id: I0693df6bcab9456f6162fda3eef2269dc94e1566
Signed-off-by: Stanislav Jamrich <sjamrich@cisco.com>
29 files changed:
modules/yangman-resources/src/main/resources/yangman/controllers/request-header.controller.js
modules/yangman-resources/src/main/resources/yangman/controllers/yangman.controller.js
modules/yangman-resources/src/main/resources/yangman/directives/height-watcher.directive.js [new file with mode: 0644]
modules/yangman-resources/src/main/resources/yangman/models/historylist.model.js
modules/yangman-resources/src/main/resources/yangman/views/leftpanel/request-item.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/detail.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/leaf-list.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/leaf.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/binary.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/bits.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/boolean.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/decimal64.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/default.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/empty.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/enumeration.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/identityref.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/instance-identifier.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/int16.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/int32.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/int64.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/int8.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/leafref.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/string.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/uint16.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/uint32.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/uint64.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/config/types/uint8.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/form/operational/leaf-list.tpl.html
modules/yangman-resources/src/main/resources/yangman/yangman.less

index 7b0d995e6df2fd00f22352589031d6eab2d31c77..c7bb91bc77991c358f43343fff63c32d54952787 100644 (file)
@@ -20,6 +20,7 @@ define([
         requestHeader.constants = constants;
         requestHeader.urlChanged = false;
         requestHeader.executedOperation = null;
+
         requestHeader.selectedOperationsList = [];
         requestHeader.selectedOperation = null;
         requestHeader.requestUrl = '';
@@ -193,11 +194,13 @@ define([
                     },
                     default: function (){
                         var dataType;
-                        if(requestHeader.executedOperation) {
-                            dataType = requestHeader.executedOperation === constants.OPERATION_GET ? constants.REQUEST_DATA_TYPE_RECEIVED : 'SENT';
+                        if (requestHeader.executedOperation) {
+                            dataType = requestHeader.executedOperation === constants.OPERATION_GET ?
+                                constants.REQUEST_DATA_TYPE_RECEIVED :
+                                'SENT';
                         }
                         else {
-                            dataType = requestHeader.selectedOperation === constants.OPERATION_GET ? constants.REQUEST_DATA_TYPE_RECEIVED : 'SENT';
+                            dataType = 'SENT';
                         }
 
                         $scope.rootBroadcast(constants.YANGMAN_GET_CODEMIRROR_DATA + dataType, params);
@@ -422,7 +425,7 @@ define([
 
                 var preparedReceivedData = {};
 
-                if (requestHeader.fillFormWithReceivedData) {
+                if (requestHeader.fillFormWithReceivedData || requestHeader.selectedShownDataType === constants.DISPLAY_TYPE_REQ_DATA ) {
                     preparedReceivedData = YangmanService.prepareReceivedData(
                         $scope.node,
                         requestHeader.selectedOperation,
index d0ab09cf249edd6ac55444c35e587374c11de444..1ef55eebf9688ab1756c56786c7ccdb0d49e209e 100644 (file)
@@ -15,6 +15,7 @@ define([
     'app/yangman/services/history-settings.services',
     'app/yangman/directives/ui-codemirror.directive',
     'app/yangman/directives/read_file.directive',
+    'app/yangman/directives/height-watcher.directive',
 ], function () {
     'use strict';
 
diff --git a/modules/yangman-resources/src/main/resources/yangman/directives/height-watcher.directive.js b/modules/yangman-resources/src/main/resources/yangman/directives/height-watcher.directive.js
new file mode 100644 (file)
index 0000000..4ba54c3
--- /dev/null
@@ -0,0 +1,39 @@
+define([], function () {
+    'use strict';
+
+    angular.module('app.yangman').directive('heightWatcher', heightWatcherDirective);
+
+    function heightWatcherDirective() {
+    return {
+        restrict: 'A',
+        link: function (scope, element, attrs) {
+            scope.$watch(function () {
+                return element.css(attrs['watchAttribute']);
+            },  heightChangedCallBack,
+            true);
+
+            scope.heightTotal = null;
+
+            function heightChangedCallBack(newHeight, oldHeight) {
+                var heightReceivedData, heightSentData;
+
+                if (newHeight !== oldHeight) {
+                    // set total available height
+                    scope.heightTotal = angular.element('#jsonSection')[0].offsetHeight;
+
+                    // set full height of ReceiveData (if there will be no sent data)
+                    angular.element('#ReceiveData').css('height', scope.heightTotal + 'px');
+
+                    heightSentData = angular.element('#sentData')[0].offsetHeight;
+                    heightReceivedData = angular.element('#ReceiveData')[0].offsetHeight;
+
+                    // set ReceiveData height to fill up bottom
+                    if ((heightSentData + heightReceivedData) < scope.heightTotal) {
+                        angular.element('#ReceiveData').css('height', scope.heightTotal - heightSentData + 'px');
+                    }
+                }
+            }
+        }
+    };
+    }
+});
index 659ebbd7a01886c159389142be647facdf301908..0d94b058f7f89bc82b51dbbe0b738413933ef4d0 100644 (file)
@@ -78,8 +78,8 @@ define(['app/yangman/models/baselist.model'], function (BaseListModel){
          * @returns {number|*}
          */
         function roundTimestampToDate(timeStamp){
-            timeStamp -= timeStamp % (24 * 60 * 60 * 1000);//subtract amount of time since midnight
             timeStamp += new Date().getTimezoneOffset() * 60 * 1000;//add on the timezone offset
+            timeStamp -= timeStamp % (24 * 60 * 60 * 1000);//subtract amount of time since midnight
             return timeStamp;
         }
 
index b0e52b6c7655142e924086ae67a1b72937e5391f..90758bef1513b3dc9b88e5b0fc24ded5659da399 100644 (file)
@@ -8,7 +8,10 @@
 
     <div flex="15" class="yangmanModule__requests-list__group__item__method" layout-align="center center">
         <p id="{{itemId}}-operation" class="{{request.status === 'success' || !request.status ? request.method : 'error'}}"> {{request.method === vm.constants.OPERATION_DELETE ? 'DEL' : request.method }} </p>
-        <md-tooltip ng-show="request.status.length" md-direction="bottom" ng-show="request.status">{{request.status | uppercase }}</md-tooltip>
+        <md-tooltip ng-show="request.status.length" md-direction="bottom" ng-show="request.status">
+            Status: {{request.status | uppercase }} <br />
+            Run at: {{request.timestamp | date: 'medium' }}
+        </md-tooltip>
     </div>
 
     <div flex class="yangmanModule__requests-list__group__item__path" layout="column">
@@ -37,7 +40,6 @@
                 {{'YANGMAN_REQ_RUN'| translate}}
             </md-button>
         </md-menu-item>
-                       id="{{itemId}}-show-sent-data"
         <md-menu-item ng-if="request.collection.length">
             <md-button aria-label="{{'YANGMAN_REQ_DUPLICATE'| translate}}"
                        id="{{itemId}}-duplicate"
index 6fd9194eaef717b021a13f3d6b20e9a4f69aa981..65bc804c266799a39e522d876019378fdedf8e57 100644 (file)
@@ -18,6 +18,7 @@
 
 <!-- JSON section -->
 <section class="yangmanModule__right-panel__req-data bottom-content"
+         id="jsonSection"
          ng-cloak
          ng-show="rightPanelSection === main.constants.DISPLAY_TYPE_REQ_DATA">
 
@@ -27,6 +28,8 @@
          ng-show="main.jsonView.sent"
          ng-init="requestData.init('SENT')"
          ng-class="{'half-size': main.jsonView.received && main.jsonView.sent}"
+         height-watcher watch-attribute="height"
+         id="sentData"
          class="yangmanModule__right-panel__req-data__cm-SENT ym-resizable-s">
 
         <section class="yangmanModule__right-panel__req-data__header" layout="row">
@@ -54,6 +57,7 @@
          ng-show="main.jsonView.received"
          ng-init="requestData.init(main.constants.REQUEST_DATA_TYPE_RECEIVED)"
          ng-class="{'half-size': main.jsonView.received && main.jsonView.sent}"
+         id="ReceiveData"
          class="yangmanModule__right-panel__req-data__cm-RECEIVED ym-resizable-s">
 
         <section class="yangmanModule__right-panel__req-data__header" layout="row">
index 49d5d8e73982838ae2477f23673bf0264c42f42e..d43769d38476f41a7f789829ab9735131c27cb3c 100644 (file)
@@ -28,9 +28,9 @@
 
     <div ng-repeat="elem in node.value" ng-show="node.expanded">
         <!-- Leaf list values -->
-        <md-input-container md-no-float  class="input-icon-container">
+        <md-input-container md-no-float  class="input-icon-container full_width">
             <!-- input -->
-            <input  ng-change="yangLeafList.changed()" ng-model="elem.value" aria-label="{{elem.value}}">
+            <input  ng-change="yangLeafList.changed()" ng-model="elem.value" aria-label="{{elem.value}}" class="full_width">
 
             <!-- remove Icon -->
             <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-click="yangLeafList.removeListElem(elem)">
index 78f410ea98222bd4640e1ffe8e9b36e3f27e98df..7ec13abfdc28abc81337a4513f2cab30fa02592f 100644 (file)
@@ -18,6 +18,7 @@
          ng-repeat="type in node.getChildren('type')"
          ng-include="yangForm.viewPath + '/config/types/' + yangLeaf.getLeafType() + '.tpl.html'"
          {{yangLeaf.getLeafType() === 'union' ? 'flex="grow"' : ''}}
-         layout="row">
+         layout="row"
+         class="full_width">
     </div>
 </div>
index e0d57ae2584b432bce68571122bcae49608331c2..5d9a220d9a29e83acafd66cf87b491ec12289005 100644 (file)
@@ -1,9 +1,10 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
 <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-show="type.errors.length > 0">
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
-</md-icon>
\ No newline at end of file
+</md-icon>
index 382b1198488293d8d93eb88d6858b36cdf02de52..8606099e0b87b0963536b75b041b48f2d0615931 100644 (file)
@@ -10,7 +10,7 @@
                  ng-true-value="1"
                  ng-false-value="0"
                  ng-change="yangTypeBit.valueChanged()"
-                 ng-disabled="{{ yangOutput.notEditable }}"
+                 ng-readonly="{{ yangOutput.notEditable }}"
                  aria-label="{{bit.label}}">
         {{bit.label}}
     </md-checkbox>
index fd564b4a893c52e31f5cbe1d684f4c8bfb6378ad..d7008531ed34932634f5999c36ee2a4d7c07afd7 100644 (file)
@@ -1,9 +1,9 @@
-<section ng-controller="YMTypeBooleanCtrl as yangTypeBolean" layout="row" class="layout-row flex-center" flex>
+<section ng-controller="YMTypeBooleanCtrl as yangTypeBolean" layout="row" class="layout-row flex-center">
        <span class="mr8">F</span>
     <md-switch ng-model="node.value"
                id="{{ node.label + node.id }}"
                aria-label="Boolean"
-               ng-disabled="{{ yangOutput.notEditable }}">
+               ng-readonly="{{ yangOutput.notEditable }}">
     </md-switch>
     <span>T</span>
 </section>
index e0d57ae2584b432bce68571122bcae49608331c2..5d9a220d9a29e83acafd66cf87b491ec12289005 100644 (file)
@@ -1,9 +1,10 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
 <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-show="type.errors.length > 0">
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
-</md-icon>
\ No newline at end of file
+</md-icon>
index 6029668be3b945d9c116bb57fe2ede13dc621a15..5d9a220d9a29e83acafd66cf87b491ec12289005 100644 (file)
@@ -1,5 +1,6 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
@@ -7,4 +8,3 @@
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
 </md-icon>
-
index b4fa12412e497d2aa52ff221323571c612d776ad..090f20f1806b747d908f250eddf9af2aca8e14a7 100644 (file)
@@ -9,6 +9,6 @@
                  ng-true-value="1"
                  ng-false-value="0"
                  ng-change="yangTypeEmpty.valueChanged()"
-                 ng-disabled="{{ yangOutput.notEditable }}"
+                 ng-readonly="{{ yangOutput.notEditable }}"
                  aria-label="{{type.label}}"></md-checkbox>
 </section>
index 4a1826fbf61eb227a84e19dd819bf430631e6faa..ba4fc7a162789ac7a9b391bba3569c65ff2fd075 100644 (file)
@@ -1,5 +1,5 @@
 <md-input-container ng-controller="YMTypeEnumCtrl as yangTypeEnum">
-    <md-select ng-model="type.selEnum" md-on-close="yangTypeEnum.valueChanged()" ng-disabled="{{ yangOutput.notEditable }}">
+    <md-select ng-model="type.selEnum" md-on-close="yangTypeEnum.valueChanged()" ng-readonly="{{ yangOutput.notEditable }}">
         <md-option ng-repeat="enum in type.getChildren('enum')" ng-value="enum">
             {{enum.label}}
         </md-option>
index d40379e64ed0fa38ffd39917189d034f5450ff4b..732bfe7b9f89fc77b1f995353833ed24d848d3b6 100644 (file)
@@ -1,4 +1,5 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
-</md-input-container>
\ No newline at end of file
+</md-input-container>
index e0d57ae2584b432bce68571122bcae49608331c2..5d9a220d9a29e83acafd66cf87b491ec12289005 100644 (file)
@@ -1,9 +1,10 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
 <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-show="type.errors.length > 0">
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
-</md-icon>
\ No newline at end of file
+</md-icon>
index e0d57ae2584b432bce68571122bcae49608331c2..58fdc5b6969e450e9bde1707b8bf444a84a0891e 100644 (file)
@@ -1,9 +1,10 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+    ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
 <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-show="type.errors.length > 0">
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
-</md-icon>
\ No newline at end of file
+</md-icon>
index e0d57ae2584b432bce68571122bcae49608331c2..5d9a220d9a29e83acafd66cf87b491ec12289005 100644 (file)
@@ -1,9 +1,10 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
 <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-show="type.errors.length > 0">
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
-</md-icon>
\ No newline at end of file
+</md-icon>
index e0d57ae2584b432bce68571122bcae49608331c2..5d9a220d9a29e83acafd66cf87b491ec12289005 100644 (file)
@@ -1,9 +1,10 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
 <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-show="type.errors.length > 0">
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
-</md-icon>
\ No newline at end of file
+</md-icon>
index e0d57ae2584b432bce68571122bcae49608331c2..5d9a220d9a29e83acafd66cf87b491ec12289005 100644 (file)
@@ -1,9 +1,10 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
 <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-show="type.errors.length > 0">
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
-</md-icon>
\ No newline at end of file
+</md-icon>
index d40379e64ed0fa38ffd39917189d034f5450ff4b..732bfe7b9f89fc77b1f995353833ed24d848d3b6 100644 (file)
@@ -1,4 +1,5 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
-</md-input-container>
\ No newline at end of file
+</md-input-container>
index e0d57ae2584b432bce68571122bcae49608331c2..5d9a220d9a29e83acafd66cf87b491ec12289005 100644 (file)
@@ -1,9 +1,10 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
 <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-show="type.errors.length > 0">
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
-</md-icon>
\ No newline at end of file
+</md-icon>
index e0d57ae2584b432bce68571122bcae49608331c2..5d9a220d9a29e83acafd66cf87b491ec12289005 100644 (file)
@@ -1,9 +1,10 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
 <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-show="type.errors.length > 0">
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
-</md-icon>
\ No newline at end of file
+</md-icon>
index e0d57ae2584b432bce68571122bcae49608331c2..5d9a220d9a29e83acafd66cf87b491ec12289005 100644 (file)
@@ -1,9 +1,10 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
 <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-show="type.errors.length > 0">
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
-</md-icon>
\ No newline at end of file
+</md-icon>
index e0d57ae2584b432bce68571122bcae49608331c2..5d9a220d9a29e83acafd66cf87b491ec12289005 100644 (file)
@@ -1,9 +1,10 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
 <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-show="type.errors.length > 0">
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
-</md-icon>
\ No newline at end of file
+</md-icon>
index e0d57ae2584b432bce68571122bcae49608331c2..5d9a220d9a29e83acafd66cf87b491ec12289005 100644 (file)
@@ -1,9 +1,10 @@
-<md-input-container md-no-float>
-    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}" ng-disabled="{{ yangOutput.notEditable }}">
+<md-input-container md-no-float class="full_width">
+    <input ng-change="yangType.valueChanged()" ng-model="node.value" aria-label="{{node.value}}" placeholder="{{type.label}}"
+           ng-readonly="{{ yangOutput.notEditable }}" class="full_width">
     <md-tooltip md-direction="top">{{type.label}}</md-tooltip>
 </md-input-container>
 
 <md-icon md-font-set="material-icons" class="top-icon top-element pointer" ng-show="type.errors.length > 0">
     <md-tooltip md-direction="top">{{type.errors.join('\n')}}</md-tooltip>
     error_outline
-</md-icon>
\ No newline at end of file
+</md-icon>
index b2bba793cd8f3f4b6c807ac470ed3569149d68a7..64f1c8238c50622de299e50e333e4a3fefab0b9b 100644 (file)
@@ -27,7 +27,7 @@
 
     <div ng-repeat="elem in node.value" ng-show="node.expanded">
         <!-- Leaf list values -->
-        <md-input-container md-no-float  class="input-icon-container">
+        <md-input-container md-no-float  class="input-icon-container full_width">
             <!-- input -->
             <input ng-model="elem.value" aria-label="{{elem.value}}" ng-disabled="true">
         </md-input-container>
index 3ef3009b4a9b702e277a6858986e35bc232d31d9..6d0ad75c0a4044872890dd0ebe93762912c9a12f 100644 (file)
@@ -1308,3 +1308,19 @@ md-dialog{
 .mb0{
     margin-bottom: 0;
 }
+
+input:-moz-read-only {
+    color: rgba(140, 140, 140, 0.87);
+}
+
+input:read-only {
+    color: rgba(140, 140, 140, 0.87);
+}
+
+md-tooltip .md-content {
+    height: auto;
+}
+
+.full_width {
+    width: 100%;
+}