Skip to content

Commit 7b9326b

Browse files
committed
24hour mode completed
1 parent 5a7233b commit 7b9326b

File tree

7 files changed

+32
-14
lines changed

7 files changed

+32
-14
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
> 24 Hours Mode, with Material Design. Try the [Live Demo](https://domonji.github.io/vue-clock-picker)
1414
15-
![24HoursMode](./intro_src/24M.png) ![vue-clock-picker](./intro_src/1.gif)
15+
![24HoursMode](./intro_src/24M.png) ![vue-clock-picker](./intro_src/24M.gif)
1616

1717
## HAVE A TRY
1818

intro_src/1.gif

-255 KB
Binary file not shown.

intro_src/24M.gif

240 KB
Loading

intro_src/24M.png

-354 Bytes
Loading

src/components/PickerPoints.vue

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,10 @@
11
<template lang="pug">
22

33

4-
5-
6-
74
div(':style'="inlineStyle" '@click'="handleTimeChange(index,angle)" class="picker-point" ':class'="[pointClass,{current:picked}]")
85
div(class="pointer-wrapper" ':style'="wrapperStyle") {{index}}
96

107

11-
12-
13-
148
</template>
159

1610
<script>
@@ -69,11 +63,11 @@ export default {
6963
text-align: center;
7064
line-height: 30px;
7165
border-radius: 50%;
72-
transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1);
7366
}
7467
.picker-point.current{
7568
background-color:#3498db;
7669
color:#fff !important;
70+
transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1);
7771
}
7872
.picker-point.point-outter {
7973
top: 10px;

src/components/TimePickerGenerator.vue

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
<template lang="pug">
22

3-
43
div
54
div(v-if="type=='minute'" id="picker-pointer-container")
65
picker-points(v-for="(m,i) in MINUTES" v-if="i%5==0" ':index'="i" ':key'="i" ':angle'="6*i" ':handle-time-change'="handleTimePointerClick" ':picked'="i==minute")
76
div(v-else id="picker_pointer_container")
8-
picker-points(v-for="(h,i) in HOURS" v-if="i%2==0" ':index'="i" ':key'="i" ':angle'="15*i" ':handle-time-change'="handleTimePointerClick" ':picked'="i==hour")
9-
7+
picker-points(v-for="(h,i) in TWELVE_HOURS" ':index'="interval=='AM'?i:i+12" ':key'="interval=='AM'?i:i+12" ':angle'="30*i" ':handle-time-change'="handleTimePointerClick" ':picked'="interval=='AM'?i==hour:(i+12)==hour")
8+
div(class="interval-container")
9+
span(@click="handleIntervalChange('AM')" class="time-picker-interval" ':class'="{active:interval=='AM'}") AM
10+
| &nbsp;|&nbsp;
11+
span(@click="handleIntervalChange('PM')" class="time-picker-interval" ':class'="{active:interval=='PM'}") PM
1012

1113
</template>
1214

@@ -45,11 +47,17 @@ export default {
4547
return {
4648
MINUTES,
4749
HOURS,
48-
TWELVE_HOURS
50+
TWELVE_HOURS,
51+
interval: 'AM'
4952
}
5053
},
5154
components: {
5255
PickerPoints
56+
},
57+
methods: {
58+
handleIntervalChange(itv) {
59+
this.interval = itv
60+
}
5361
}
5462
}
5563
</script>
@@ -64,4 +72,20 @@ export default {
6472
opacity: 0;
6573
transform: scale3d(0.85, 0.85, 1);
6674
}
75+
76+
.interval-container {
77+
transform: translateY(-150%);
78+
transition: all 300ms cubic-bezier(0.165, 0.84, 0.44, 1);
79+
}
80+
81+
.time-picker-interval {
82+
cursor: pointer;
83+
}
84+
.time-picker-interval.active {
85+
color: #3498db;
86+
cursor: default;
87+
}
88+
.time-picker-interval:hover {
89+
color: #3498db;
90+
}
6791
</style>

src/components/TimePickerModal.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@ export default {
130130
box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.12), 0 0 8px 0 rgba(0, 0, 0, 0.08);
131131
}
132132
.time-picker-modal-header {
133-
height: 50px;
134-
line-height: 20px;
133+
height: 80px;
134+
line-height: 40px;
135135
text-align: center;
136136
font-size: 2.5em;
137137
position: relative;

0 commit comments

Comments
 (0)