mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
* initial dependency update with initial setup * initial dependency update with initial setup * lock update * Revert "initial dependency update with initial setup" This reverts commit aa71afc3eca20042a1e13066bee1730a15606dd2. * admin - moved to vite * feat(admin): migration packages update (#3327) * bump apollo package * extend vue config * create useCreationMonths composable * WIP * temporary * install dependencies * adjust configs * rework footer component * remove not needed spaces, * rework overview page * rework component * rework user search page * rework navbar * navbar adjustments * add depenedencies * style adjustment in footer * composable adjustments * update node version * rework search and pagination * feat(admin) - disable unit tests for migration time * feat(admin) - update eslint * wip on search user * rework creation formular component * feat(admin) - update eslint babel * feat(admin) - change stylelint version, fix eslint errors * feat(admin) - update dependency * feat(admin) - update dependency * feat(admin) - update dependency * feat(admin) - update dependency * feat(admin) - update dependency * feat(admin) - update dependency * feat(admin) - update dependency, update node * feat(admin) - update icons --------- Co-authored-by: Mateusz Michałowski <mateusz.michalowski@monterail.com> --------- Co-authored-by: Kamila Lach <80581523+unnunhexium@users.noreply.github.com>
50 lines
1.1 KiB
Vue
50 lines
1.1 KiB
Vue
<template>
|
|
<div>
|
|
<input
|
|
v-model="timeValue"
|
|
type="text"
|
|
placeholder="hh:mm"
|
|
@input="updateValues"
|
|
@blur="validateAndCorrect"
|
|
/>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
// Code written from chatGPT 3.5
|
|
name: 'TimePicker',
|
|
props: {
|
|
value: {
|
|
type: String,
|
|
default: '00:00',
|
|
},
|
|
},
|
|
emits: ['input'],
|
|
data() {
|
|
return {
|
|
timeValue: this.value,
|
|
}
|
|
},
|
|
methods: {
|
|
updateValues(event) {
|
|
// Allow only numbers and ":"
|
|
const inputValue = event.target.value.replace(/[^0-9:]/g, '')
|
|
this.timeValue = inputValue
|
|
this.$emit('input', inputValue)
|
|
},
|
|
validateAndCorrect() {
|
|
let [hours, minutes] = this.timeValue.split(':')
|
|
|
|
// Validate hours and minutes
|
|
hours = Math.min(parseInt(hours) || 0, 23)
|
|
minutes = Math.min(parseInt(minutes) || 0, 59)
|
|
|
|
// Update the value with correct format
|
|
this.timeValue = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`
|
|
this.$emit('input', this.timeValue)
|
|
},
|
|
},
|
|
}
|
|
</script>
|