Skip to content

Commit c48e64a

Browse files
authored
News (#40)
* Clear Button Feature * Test Coverage * New Tests
1 parent a687050 commit c48e64a

File tree

11 files changed

+523
-90
lines changed

11 files changed

+523
-90
lines changed

.github/workflows/ci.yml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,16 @@ on:
99
jobs:
1010
ci:
1111
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
node-version: [12.x]
1215

1316
steps:
1417
- uses: actions/checkout@v2
15-
18+
- uses: actions/setup-node@v2-beta
19+
with:
20+
node-version: ${{ matrix.node-version }}
21+
1622
- name: Install dependencies
1723
run: yarn install
1824

@@ -22,5 +28,13 @@ jobs:
2228
- name: Run linter
2329
run: yarn lint
2430

31+
- name: full-icu install
32+
run: yarn global add full-icu
33+
34+
- name: set NODE_ICU_DATA path
35+
run: echo "NODE_ICU_DATA=`node-full-icu-path 2>/dev/null`" >> $GITHUB_ENV
36+
- name: 'Echo $GITHUB_ENV'
37+
run: echo "NODE_ICU_DATA=" >> $GITHUB_ENV
38+
2539
- name: Run tests
26-
run: yarn test:unit
40+
run: yarn test:unit

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,7 @@ yarn-error.log*
2222

2323
# dependencies lock
2424
yarn.lock
25-
package-lock.json
25+
package-lock.json
26+
27+
# test
28+
coverage

development/Example.vue

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
:disabled-end-date="example.disabledEndDate"
3434
:disabled="example.disabled || false"
3535
:circle="example.circle || false"
36+
:show-clear-button="example.showClearButton || false"
3637
/>
3738
<blockquote class="exam-props">
3839
<textarea :value="JSON.stringify(example, null, 2)" readonly>
@@ -59,6 +60,7 @@
5960
:disabled-end-date="example.disabledEndDate"
6061
:disabled="example.disabled || false"
6162
:circle="example.circle || false"
63+
:show-clear-button="example.showClearButton || false"
6264
/>
6365
<blockquote class="exam-props">
6466
<textarea :value="JSON.stringify(example, null, 2)" readonly>
@@ -91,6 +93,16 @@ export default {
9193
value: null,
9294
firstDayOfWeek: 'monday'
9395
},
96+
{
97+
title: 'With Clear Button',
98+
inputClass: 'exampleDatePicker',
99+
lang: 'tr',
100+
position: 'bottom',
101+
range: false,
102+
showClearButton: true,
103+
value: new Date(),
104+
firstDayOfWeek: 'monday'
105+
},
94106
{
95107
title: 'Range',
96108
inputClass: 'exampleDatePicker',

jest.config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,7 @@ module.exports = {
22
preset: '@vue/cli-plugin-unit-jest',
33
transformIgnorePatterns: [
44
'node_modules/(?!@ngrx|(?!deck.gl)|ng-dynamic)'
5-
]
5+
],
6+
collectCoverage: true,
7+
collectCoverageFrom: ['./src/**/*.{js,vue}']
68
}

src/components/calendar.vue

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<button
77
type="button"
88
class="viewButton"
9-
@click="changeViewMode('years')"
9+
@click="changeViewMode(MODE_ENUMS.YEAR)"
1010
>
1111
{{ viewButtonText }}
1212
</button>
@@ -43,7 +43,7 @@
4343
</button>
4444
</div>
4545
<div class="viewmode">
46-
<div class="years" v-show="viewMode === 'years'">
46+
<div class="years" v-show="viewMode === MODE_ENUMS.YEAR">
4747
<button
4848
v-for="y in years"
4949
:key="y.year"
@@ -55,7 +55,7 @@
5555
{{ y.year }}
5656
</button>
5757
</div>
58-
<div class="months" v-show="viewMode === 'months'">
58+
<div class="months" v-show="viewMode === MODE_ENUMS.MONTH">
5959
<button
6060
v-for="month in months"
6161
:key="month.index"
@@ -73,6 +73,8 @@
7373
</template>
7474

7575
<script>
76+
import { MODE_ENUMS } from '@/utils/modes'
77+
7678
export default {
7779
props: {
7880
calendar: {
@@ -122,12 +124,15 @@ export default {
122124
} else return this.selectedDate
123125
},
124126
isDayMode () {
125-
return this.viewMode === 'days'
127+
return this.viewMode === MODE_ENUMS.DAY
126128
},
127129
yearsRange () {
128130
const years = this.calendar.years
129131
return years[0] + this.rangeSeperator + years[years.length - 1]
130132
},
133+
MODE_ENUMS () {
134+
return MODE_ENUMS
135+
},
131136
dayViewText () {
132137
return (
133138
this.calendar.months[this.currentDate.month].name +
@@ -138,10 +143,10 @@ export default {
138143
viewButtonText () {
139144
let text
140145
switch (this.viewMode) {
141-
case 'years':
146+
case MODE_ENUMS.YEAR:
142147
text = this.yearsRange
143148
break
144-
case 'months':
149+
case MODE_ENUMS.MONTH:
145150
text = this.currentDate.year
146151
break
147152
default:
@@ -206,31 +211,31 @@ export default {
206211
},
207212
prev () {
208213
switch (this.viewMode) {
209-
case 'days':
214+
case MODE_ENUMS.DAY:
210215
this.$emit('prevMonth', this.pickerType)
211216
break
212-
case 'months':
217+
case MODE_ENUMS.MONTH:
213218
this.$emit('setUniqYear', {
214219
year: this.currentDate.year - 1,
215220
picker: this.pickerType
216221
})
217222
break
218-
case 'years':
223+
case MODE_ENUMS.YEAR:
219224
this.$emit('setYears', { route: 'prev', picker: this.pickerType })
220225
}
221226
},
222227
next () {
223228
switch (this.viewMode) {
224-
case 'days':
229+
case MODE_ENUMS.DAY:
225230
this.$emit('nextMonth', this.pickerType)
226231
break
227-
case 'months':
232+
case MODE_ENUMS.MONTH:
228233
this.$emit('setUniqYear', {
229234
year: this.currentDate.year + 1,
230235
picker: this.pickerType
231236
})
232237
break
233-
case 'years':
238+
case MODE_ENUMS.YEAR:
234239
this.$emit('setYears', { route: 'next', picker: this.pickerType })
235240
}
236241
},

0 commit comments

Comments
 (0)