Skip to content

Commit 9db6f82

Browse files
committed
refactor: finished timepicker to typescript and directive refactor
1 parent d96a6a5 commit 9db6f82

File tree

7 files changed

+222
-175
lines changed

7 files changed

+222
-175
lines changed

pkg/api/api.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func Register(r *macaron.Macaron) {
1717
bind := binding.Bind
1818

1919
// not logged in views
20-
r.Get("/", reqSignedIn, Index)
20+
r.Get("/", reqSignedIn, Index)
2121
r.Get("/logout", Logout)
2222
r.Post("/login", bind(dtos.LoginCommand{}), wrap(LoginPost))
2323
r.Get("/login/:name", OAuthLogin)

public/app/directives/all.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
define([
22
'./dashUpload',
3-
'./grafanaSimplePanel',
43
'./dashEditLink',
54
'./ngModelOnBlur',
65
'./misc',

public/app/features/dashboard/dashboardSrv.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ function (angular, $, kbn, _, moment) {
3131
this.hideControls = data.hideControls || false;
3232
this.sharedCrosshair = data.sharedCrosshair || false;
3333
this.rows = data.rows || [];
34-
this.timepicker = data.timepicker || {};
3534
this.time = data.time || { from: 'now-6h', to: 'now' };
35+
this.timepicker = data.timepicker || {};
3636
this.templating = this._ensureListExist(data.templating);
3737
this.annotations = this._ensureListExist(data.annotations);
3838
this.refresh = data.refresh;
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<div class="gf-box-header">
2+
<div class="gf-box-title">
3+
<i class="fa fa-clock-o"></i>
4+
Custom time range
5+
</div>
6+
<button class="gf-box-header-close-btn" ng-click="dismiss();">
7+
<i class="fa fa-remove"></i>
8+
</button>
9+
</div>
10+
11+
<div class="gf-box-body">
12+
<style>
13+
.timepicker-to-column {
14+
margin-top: 10px;
15+
}
16+
17+
.timepicker-input input {
18+
outline: 0 !important;
19+
border: 0px !important;
20+
-webkit-box-shadow: 0;
21+
-moz-box-shadow: 0;
22+
box-shadow: 0;
23+
position: relative;
24+
}
25+
26+
.timepicker-input input::-webkit-outer-spin-button,
27+
.timepicker-input input::-webkit-inner-spin-button {
28+
-webkit-appearance: none;
29+
margin: 0;
30+
}
31+
32+
input.timepicker-date {
33+
width: 90px;
34+
}
35+
input.timepicker-hms {
36+
width: 20px;
37+
}
38+
input.timepicker-ms {
39+
width: 25px;
40+
}
41+
div.timepicker-now {
42+
float: right;
43+
}
44+
</style>
45+
46+
<div class="timepicker form-horizontal">
47+
<form name="timeForm" style="margin-bottom: 0">
48+
49+
<div class="timepicker-from-column">
50+
<label class="small">From</label>
51+
<div class="fake-input timepicker-input">
52+
<input class="timepicker-date" type="text" ng-change="validate(temptime)" ng-model="temptime.from.date" data-date-format="yyyy-mm-dd" required bs-datepicker />@
53+
<input class="timepicker-hms" type="text" maxlength="2" ng-change="validate(temptime)" ng-model="temptime.from.hour" required ng-pattern="patterns.hour" onClick="this.select();"/>:
54+
<input class="timepicker-hms" type="text" maxlength="2" ng-change="validate(temptime)" ng-model="temptime.from.minute" required ng-pattern="patterns.minute" onClick="this.select();"/>:
55+
<input class="timepicker-hms" type="text" maxlength="2" ng-change="validate(temptime)" ng-model="temptime.from.second" required ng-pattern="patterns.second" onClick="this.select();"/>.
56+
<input class="timepicker-ms" type="text" maxlength="3" ng-change="validate(temptime)" ng-model="temptime.from.millisecond" required ng-pattern="patterns.millisecond" onClick="this.select();"/>
57+
</div>
58+
</div>
59+
60+
<div class="timepicker-to-column">
61+
62+
<label class="small">To (<a class="link" ng-class="{'strong':temptime.now}" ng-click="ctrl.setNow();temptime.now=true">set now</a>)</label>
63+
64+
<div class="fake-input timepicker-input">
65+
<div ng-hide="temptime.now">
66+
<input class="timepicker-date" type="text" ng-change="validate(temptime)" ng-model="temptime.to.date" data-date-format="yyyy-mm-dd" required bs-datepicker />@
67+
<input class="timepicker-hms" type="text" maxlength="2" ng-change="validate(temptime)" ng-model="temptime.to.hour" required ng-pattern="patterns.hour" onClick="this.select();"/>:
68+
<input class="timepicker-hms" type="text" maxlength="2" ng-change="validate(temptime)" ng-model="temptime.to.minute" required ng-pattern="patterns.minute" onClick="this.select();"/>:
69+
<input class="timepicker-hms" type="text" maxlength="2" ng-change="validate(temptime)" ng-model="temptime.to.second" required ng-pattern="patterns.second" onClick="this.select();"/>.
70+
<input class="timepicker-ms" type="text" maxlength="3" ng-change="validate(temptime)" ng-model="temptime.to.millisecond" required ng-pattern="patterns.millisecond" onClick="this.select();"/>
71+
</div>
72+
<span type="text" ng-show="temptime.now" ng-disabled="temptime.now">&nbsp <i class="pointer fa fa-remove" ng-click="ctrl.setNow();temptime.now=false;"></i> Right Now <input type="text" name="dummy" style="visibility:hidden" /></span>
73+
</div>
74+
</div>
75+
76+
<br>
77+
<button ng-click="ctrl.setAbsoluteTimeFilter(ctrl.validate(temptime));dismiss();" ng-disabled="!timeForm.$valid" class="btn btn-success">Apply</button>
78+
<span class="" ng-hide="input.$valid">Invalid date or range</span>
79+
</form>
80+
</div>
81+
</div>

public/app/features/dashboard/timepicker/timepicker.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
<li class="dropdown">
2121

22-
<a class="dropdown-toggle timepicker-dropdown" data-toggle="dropdown" bs-tooltip="time.tooltip" data-placement="bottom" ng-click="loadTimeOptions();">
22+
<a class="dropdown-toggle timepicker-dropdown" data-toggle="dropdown" bs-tooltip="time.tooltip" data-placement="bottom" ng-click="ctrl.loadTimeOptions();">
2323
<i class="fa fa-clock-o"></i>
2424
<span ng-bind="time.rangeString"></span>
2525
<span ng-show="dashboard.refresh" class="text-warning">refreshed every {{dashboard.refresh}} </span>
@@ -29,7 +29,7 @@
2929
<!-- lacy load this -->
3030
<ul class="dropdown-menu" ng-if="time_options" >
3131
<li bindonce ng-repeat='option in time_options'>
32-
<a ng-click="setRelativeFilter(option)" bo-text="option.text"></a>
32+
<a ng-click="ctrl.setRelativeFilter(option)" bo-text="option.text"></a>
3333
</li>
3434

3535
<!-- Auto refresh submenu -->
@@ -44,7 +44,7 @@
4444
</li>
4545
</ul>
4646
</li>
47-
<li><a ng-click="customTime()">Custom</a></li>
47+
<li><a ng-click="ctrl.customTime()">Custom</a></li>
4848
</ul>
4949

5050
</li>

0 commit comments

Comments
 (0)