2017-04-21 6 views
0

ui 격자 셀에 timepicker를 표시해야합니다. 나는 그것을 구현했지만 문제가있다. 그것은 상단 셀에 대해서는 잘 작동하지만 하단 셀에 대해서는 타임 피커의 일부가 그리드 뒤에 숨어 있습니다. 여기 plunker가 있습니다. 두 번째 마지막 행에서 CELL3에부트 스트랩 timepicker가 ui-grid의 격자 뒤에 숨어 있습니다. Angular Js

http://plnkr.co/edit/YbZbboMz36xTCdikNyhN?p=previewenter code here

을 더블 클릭합니다. 편집 가능한 셀 템플릿이 열립니다. 이제 타이머 아이콘을 클릭하십시오. 시간 선택 도구가 열립니다. 그러나 그 아래 부분은 그리드 뒤에 숨어 있습니다. 내가 볼

답변

0

이 문제가 수 있도록이 건축이다 : 당신은

솔루션

이 지침을 만들기 모든 행에 대해 동일한 id #timepicker이

$(function() { 

      $('#timepicker').datetimepicker({ 
       //format: 'LT' 
       format: 'HH:mm' 
      }); 
}); 

, 또한 우리는 position 필요 위치 구성을 저장하려면 $last 요소가있는 경우 상단에서 상단으로 토글해야합니다.

app.directive('timeControl', [function(){ 

    return { 
    restriction: 'A', 
    link: function(scope, elem, attr) { 

    var position = { 
     horizontal: 'right', 
     vertical: 'bottom' 
    } 

    if(scope.$last === true) { 
     position = { 
     horizontal: 'right', 
     vertical: 'top' 
    } 
    } 

    elem.datetimepicker({ 
       //format: 'LT' 
       widgetPositioning: position, 
       widgetParent: elem, 
       format: 'HH:mm' 
      }); 



      elem.datetimepicker({ 
       //format: 'LT' 
       format: 'HH:mm' 
      }); 
    } 
} 

}]);

당신은 단지 time-control 속성이 <div class='input-group date">

Plnkr 또한 example

screenshot

+0

안녕 Leguest를 div에에 추가

<form name="inputForm"> <div class='input-group date' time-control style="position:absolute; width: 80px;"> <input type='text' class="form-control" ng-class="col.colIndex()" ng-model="MODEL_COL_FIELD" style="height:28px"/> <span class="input-group-addon"> <span class="glyphicon glyphicon-time timer"></span> </span> </div> 

HTML. 귀하의 회신에 감사드립니다. 실제로 원래 코드 $ last는 false로오고 $ middle은 각 행에 대해 true입니다. plunker에서 나는 $ row가 각 행에 대해 true라고 생각합니다. 왜냐하면 첫 번째 행에 대한 시간 선택기를 확인하면 상단에서 열리고 현재 시간 선택기가 맨 위 행에 대한 격자 뒤에 숨어 있기 때문입니다. – MMM

+0

안녕하세요. 그것을 들여다 볼 기회가 있었습니까? – MMM

+0

그래, 알 겠어. 이 문제를 해결하려면 ui.grid에 넣기 전에 데이터를 매핑해야한다고 생각합니다. 여기를보세요 http://stackoverflow.com/questions/29637188/how-to-get-row-index-in-angular-ui-grid-3-0. 따라서'scope. $ last'를'currentRowIndex == $ scope.gridOpts.data.length - 1'로 대체해야합니다. 내가 당신을 도울 수 있기를 바랍니다. – Leguest