@@ -12,6 +12,20 @@ function getZeroPad (n) {
1212//
1313
1414var script = {
15+ props : {
16+ isHour : {
17+ type : Boolean ,
18+ default : true
19+ } ,
20+ isMinute : {
21+ type : Boolean ,
22+ default : true
23+ } ,
24+ isSecond : {
25+ type : Boolean ,
26+ default : true
27+ }
28+ } ,
1529 data ( ) {
1630 return {
1731 hours : 0 ,
@@ -175,24 +189,30 @@ var __vue_render__ = function() {
175189 var _c = _vm . _self . _c || _h ;
176190 return _vm . hourtime != ""
177191 ? _c ( "div" , { staticClass : "clock" } , [
178- _c ( "div" , { staticClass : "clock__hours" } , [
179- _c ( "span" , {
180- staticClass : "clock__hourtime" ,
181- domProps : { textContent : _vm . _s ( _vm . hourtime ) }
182- } ) ,
183- _vm . _v ( " " ) ,
184- _c ( "span" , { domProps : { textContent : _vm . _s ( _vm . hours ) } } )
185- ] ) ,
192+ _vm . isHour
193+ ? _c ( "div" , { staticClass : "clock__hours" } , [
194+ _c ( "span" , {
195+ staticClass : "clock__hourtime" ,
196+ domProps : { textContent : _vm . _s ( _vm . hourtime ) }
197+ } ) ,
198+ _vm . _v ( " " ) ,
199+ _c ( "span" , { domProps : { textContent : _vm . _s ( _vm . hours ) } } )
200+ ] )
201+ : _vm . _e ( ) ,
186202 _vm . _v ( " " ) ,
187- _c ( "div" , {
188- staticClass : "clock__minutes" ,
189- domProps : { textContent : _vm . _s ( _vm . minutes ) }
190- } ) ,
203+ _vm . isMinute
204+ ? _c ( "div" , {
205+ staticClass : "clock__minutes" ,
206+ domProps : { textContent : _vm . _s ( _vm . minutes ) }
207+ } )
208+ : _vm . _e ( ) ,
191209 _vm . _v ( " " ) ,
192- _c ( "div" , {
193- staticClass : "clock__seconds" ,
194- domProps : { textContent : _vm . _s ( _vm . seconds ) }
195- } )
210+ _vm . isSecond
211+ ? _c ( "div" , {
212+ staticClass : "clock__seconds" ,
213+ domProps : { textContent : _vm . _s ( _vm . seconds ) }
214+ } )
215+ : _vm . _e ( )
196216 ] )
197217 : _vm . _e ( )
198218} ;
@@ -202,11 +222,11 @@ __vue_render__._withStripped = true;
202222 /* style */
203223 const __vue_inject_styles__ = function ( inject ) {
204224 if ( ! inject ) return
205- inject ( "data-v-f278a444_0" , { source : "\n.clock[data-v-f278a444] {\n background: #fff;\n border: 0.3rem solid #fff;\n border-radius: 0.5rem;\n display: inline-block;\n margin-bottom: 1em;\n}\n.clock__hours[data-v-f278a444],\n.clock__minutes[data-v-f278a444],\n.clock__seconds[data-v-f278a444] {\n background: linear-gradient(to bottom, #26303b 50%, #2c3540 50%);\n display: inline-block;\n color: #fff;\n font-family: 'Nunito', sans-serif;\n font-size: 3rem;\n font-weight: 300;\n padding: 0.5rem 1rem;\n text-align: center;\n position: relative;\n}\n.clock__hours[data-v-f278a444] {\n border-right: 0.15rem solid #fff;\n border-radius: 0.5rem 0 0 0.5rem;\n}\n.clock__minutes[data-v-f278a444] {\n border-right: 0.15rem solid #fff;\n}\n.clock__seconds[data-v-f278a444] {\n border-radius: 0 0.5rem 0.5rem 0;\n}\n.clock__hourtime[data-v-f278a444] {\n font-size: 1rem;\n position: absolute;\n top: 2px;\n left: 8px;\n}\n" , map : { "version" :3 , "sources" :[ "/Users/dangvanthanh/Code/Github/vue-clock/src/VueClock.vue" ] , "names" :[ ] , "mappings" :";AA0CA;EACA,gBAAA;EACA,yBAAA;EACA,qBAAA;EACA,qBAAA;EACA,kBAAA;AACA;AAEA;;;EAGA,gEAAA;EACA,qBAAA;EACA,WAAA;EACA,iCAAA;EACA,eAAA;EACA,gBAAA;EACA,oBAAA;EACA,kBAAA;EACA,kBAAA;AACA;AAEA;EACA,gCAAA;EACA,gCAAA;AACA;AAEA;EACA,gCAAA;AACA;AAEA;EACA,gCAAA;AACA;AAEA;EACA,eAAA;EACA,kBAAA;EACA,QAAA;EACA,SAAA;AACA" , "file" :"VueClock.vue" , "sourcesContent" :[ "<template>\n <div class=\"clock\" v-if=\"hourtime != ''\">\n <div class=\"clock__hours\">\n <span class=\"clock__hourtime\" v-text=\"hourtime\"></span>\n <span v-text=\"hours\"></span>\n </div>\n <div class=\"clock__minutes\" v-text=\"minutes\"></div>\n <div class=\"clock__seconds\" v-text=\"seconds\"></div>\n </div>\n</template>\n\n<script>\nimport { SECOND, HOUR, getHourTime, getZeroPad } from './Filters';\n\nexport default {\n data() {\n return {\n hours: 0,\n minutes: 0,\n seconds: 0,\n hourtime: '',\n };\n },\n mounted() {\n const timer = window.setTimeout(this.updateDateTime, SECOND);\n this.$on('hook:destroyed', () => window.clearTimeout(timer))\n },\n methods: {\n updateDateTime() {\n const now = new Date();\n this.hours = now.getHours();\n this.minutes = getZeroPad(now.getMinutes());\n this.seconds = getZeroPad(now.getSeconds());\n this.hourtime = getHourTime(this.hours);\n this.hours = this.hours % HOUR || HOUR;\n this.$options.timer = window.setTimeout(this.updateDateTime, SECOND);\n },\n },\n};\n</script>\n\n<style scoped>\n.clock {\n background: #fff;\n border: 0.3rem solid #fff;\n border-radius: 0.5rem;\n display: inline-block;\n margin-bottom: 1em;\n}\n\n.clock__hours,\n.clock__minutes,\n.clock__seconds {\n background: linear-gradient(to bottom, #26303b 50%, #2c3540 50%);\n display: inline-block;\n color: #fff;\n font-family: 'Nunito', sans-serif;\n font-size: 3rem;\n font-weight: 300;\n padding: 0.5rem 1rem;\n text-align: center;\n position: relative;\n}\n\n.clock__hours {\n border-right: 0.15rem solid #fff;\n border-radius: 0.5rem 0 0 0.5rem;\n}\n\n.clock__minutes {\n border-right: 0.15rem solid #fff;\n}\n\n.clock__seconds {\n border-radius: 0 0.5rem 0.5rem 0;\n}\n\n.clock__hourtime {\n font-size: 1rem;\n position: absolute;\n top: 2px;\n left: 8px;\n}\n</style>\n" ] } , media : undefined } ) ;
225+ inject ( "data-v-f23539f2_0" , { source : "\n.clock[data-v-f23539f2] {\n background: #fff;\n border: 0.3rem solid #fff;\n border-radius: 0.5rem;\n display: inline-block;\n margin-bottom: 1em;\n}\n.clock__hours[data-v-f23539f2],\n.clock__minutes[data-v-f23539f2],\n.clock__seconds[data-v-f23539f2] {\n background: linear-gradient(to bottom, #26303b 50%, #2c3540 50%);\n display: inline-block;\n color: #fff;\n font-family: 'Nunito', sans-serif;\n font-size: 3rem;\n font-weight: 300;\n padding: 0.5rem 1rem;\n text-align: center;\n position: relative;\n}\n.clock__hours[data-v-f23539f2] {\n border-right: 0.15rem solid #fff;\n}\n.clock__minutes[data-v-f23539f2] {\n border-right: 0.15rem solid #fff;\n}\n.clock__hourtime[data-v-f23539f2] {\n font-size: 1rem;\n position: absolute;\n top: 2px;\n left: 8px;\n}\n" , map : { "version" :3 , "sources" :[ "/Users/dangvanthanh/Code/Github/vue-clock/src/VueClock.vue" ] , "names" :[ ] , "mappings" :";AAwDA;EACA,gBAAA;EACA,yBAAA;EACA,qBAAA;EACA,qBAAA;EACA,kBAAA;AACA;AAEA;;;EAGA,gEAAA;EACA,qBAAA;EACA,WAAA;EACA,iCAAA;EACA,eAAA;EACA,gBAAA;EACA,oBAAA;EACA,kBAAA;EACA,kBAAA;AACA;AAEA;EACA,gCAAA;AACA;AAEA;EACA,gCAAA;AACA;AAEA;EACA,eAAA;EACA,kBAAA;EACA,QAAA;EACA,SAAA;AACA" , "file" :"VueClock.vue" , "sourcesContent" :[ "<template>\n <div class=\"clock\" v-if=\"hourtime != ''\">\n <div class=\"clock__hours\" v-if=\"isHour\">\n <span class=\"clock__hourtime\" v-text=\"hourtime\"></span>\n <span v-text=\"hours\"></span>\n </div>\n <div class=\"clock__minutes\" v-text=\"minutes\" v-if=\"isMinute\"></div>\n <div class=\"clock__seconds\" v-text=\"seconds\" v-if=\"isSecond\"></div>\n </div>\n</template>\n\n<script>\nimport { SECOND, HOUR, getHourTime, getZeroPad } from './filters';\n\nexport default {\n props: {\n isHour: {\n type: Boolean,\n default: true\n },\n isMinute: {\n type: Boolean,\n default: true\n },\n isSecond: {\n type: Boolean,\n default: true\n }\n },\n data() {\n return {\n hours: 0,\n minutes: 0,\n seconds: 0,\n hourtime: '',\n };\n },\n mounted() {\n const timer = window.setTimeout(this.updateDateTime, SECOND);\n this.$on('hook:destroyed', () => window.clearTimeout(timer))\n },\n methods: {\n updateDateTime() {\n const now = new Date();\n this.hours = now.getHours();\n this.minutes = getZeroPad(now.getMinutes());\n this.seconds = getZeroPad(now.getSeconds());\n this.hourtime = getHourTime(this.hours);\n this.hours = this.hours % HOUR || HOUR;\n this.$options.timer = window.setTimeout(this.updateDateTime, SECOND);\n },\n },\n};\n</script>\n\n<style scoped>\n.clock {\n background: #fff;\n border: 0.3rem solid #fff;\n border-radius: 0.5rem;\n display: inline-block;\n margin-bottom: 1em;\n}\n\n.clock__hours,\n.clock__minutes,\n.clock__seconds {\n background: linear-gradient(to bottom, #26303b 50%, #2c3540 50%);\n display: inline-block;\n color: #fff;\n font-family: 'Nunito', sans-serif;\n font-size: 3rem;\n font-weight: 300;\n padding: 0.5rem 1rem;\n text-align: center;\n position: relative;\n}\n\n.clock__hours {\n border-right: 0.15rem solid #fff;\n}\n\n.clock__minutes {\n border-right: 0.15rem solid #fff;\n}\n\n.clock__hourtime {\n font-size: 1rem;\n position: absolute;\n top: 2px;\n left: 8px;\n}\n</style>\n" ] } , media : undefined } ) ;
206226
207227 } ;
208228 /* scoped */
209- const __vue_scope_id__ = "data-v-f278a444 " ;
229+ const __vue_scope_id__ = "data-v-f23539f2 " ;
210230 /* module identifier */
211231 const __vue_module_identifier__ = undefined ;
212232 /* functional template */
0 commit comments