Skip to content

Commit

Permalink
feat(docs): rewrite docs for datepicker in TS
Browse files Browse the repository at this point in the history
Rewrites the documentation for the datepicker components in the
`src/pages/components/datepicker` folder in TypeScript. All the changes
are straightforward.

Here is a TypeScript migration tip:
- Explicitly import and register components so that they are type
  checked. No type-checking is performed for globally registered
  components.
  • Loading branch information
kikuomax committed Jan 13, 2025
1 parent d7e0464 commit d02a730
Show file tree
Hide file tree
Showing 16 changed files with 154 additions and 56 deletions.
45 changes: 28 additions & 17 deletions packages/docs/src/pages/components/datepicker/Datepicker.vue
Original file line number Diff line number Diff line change
Expand Up @@ -85,51 +85,62 @@
</div>
</template>

<script>
<script lang="ts">
import { defineComponent } from 'vue'
import { shallowFields } from '@/utils'
import ApiView from '@/components/ApiView.vue'
import Example from '@/components/Example.vue'
import VariablesView from '@/components/VariablesView.vue'
import api from './api/datepicker'
import variables from './variables/datepicker'
import { shallowFields } from '@/utils'
import ExSimple from './examples/ExSimple'
import ExSimple from './examples/ExSimple.vue'
import ExSimpleCode from './examples/ExSimple.vue?raw'
import ExEditable from './examples/ExEditable'
import ExEditable from './examples/ExEditable.vue'
import ExEditableCode from './examples/ExEditable.vue?raw'
import ExRange from './examples/ExRange'
import ExRange from './examples/ExRange.vue'
import ExRangeCode from './examples/ExRange.vue?raw'
import ExFooter from './examples/ExFooter'
import ExFooter from './examples/ExFooter.vue'
import ExFooterCode from './examples/ExFooter.vue?raw'
import ExHeader from './examples/ExHeader'
import ExHeader from './examples/ExHeader.vue'
import ExHeaderCode from './examples/ExHeader.vue?raw'
import ExProgrammatically from './examples/ExProgrammatically'
import ExProgrammatically from './examples/ExProgrammatically.vue'
import ExProgrammaticallyCode from './examples/ExProgrammatically.vue?raw'
import ExTrigger from './examples/ExTrigger'
import ExTrigger from './examples/ExTrigger.vue'
import ExTriggerCode from './examples/ExTrigger.vue?raw'
import ExMonth from './examples/ExMonth'
import ExMonth from './examples/ExMonth.vue'
import ExMonthCode from './examples/ExMonth.vue?raw'
import ExInline from './examples/ExInline'
import ExInline from './examples/ExInline.vue'
import ExInlineCode from './examples/ExInline.vue?raw'
import ExUnselectable from './examples/ExUnselectable'
import ExUnselectable from './examples/ExUnselectable.vue'
import ExUnselectableCode from './examples/ExUnselectable.vue?raw'
import ExEvents from './examples/ExEvents'
import ExEvents from './examples/ExEvents.vue'
import ExEventsCode from './examples/ExEvents.vue?raw'
import ExRangeInput from './examples/ExRangeInput'
import ExRangeInput from './examples/ExRangeInput.vue'
import ExRangeInputCode from './examples/ExRangeInput.vue?raw'
import ExMultipleInput from './examples/ExMultipleInput'
import ExMultipleInput from './examples/ExMultipleInput.vue'
import ExMultipleInputCode from './examples/ExMultipleInput.vue?raw'
export default {
export default defineComponent({
components: {
ApiView,
Example,
VariablesView
},
data() {
return {
api,
Expand Down Expand Up @@ -164,5 +175,5 @@
ExMultipleInputCode
}
}
}
})
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,16 @@
</section>
</template>

<script>
<script lang="ts">
import { defineComponent } from 'vue'
import { BDatepicker, BField, BSelect } from '@ntohq/buefy-next'
export default {
components: {
BDatepicker,
BField,
BSelect
},
data() {
return {
locale: undefined // Browser locale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,18 @@
</span>
</template>

<script>
<script lang="ts">
import { defineComponent } from 'vue'
import { BDatepicker, BField, BSwitch } from '@ntohq/buefy-next'
const thisMonth = new Date().getMonth()
export default {
export default defineComponent({
components: {
BDatepicker,
BField,
BSwitch
},
computed: {
indicators() {
return this.bars ? 'bars' : 'dots'
Expand Down Expand Up @@ -74,5 +82,5 @@
bars: false
}
}
}
})
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,20 @@
</b-field>
</template>

<script>
export default {
<script lang="ts">
import { defineComponent } from 'vue'
import { BButton, BDatepicker, BField } from '@ntohq/buefy-next'
export default defineComponent({
components: {
BButton,
BDatepicker,
BField
},
data() {
return {
date: new Date()
date: new Date() as Date | null
}
}
}
})
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,20 @@
</b-field>
</template>

<script>
export default {
<script lang="ts">
import { defineComponent } from 'vue'
import { BAutocomplete, BDatepicker, BField } from '@ntohq/buefy-next'
export default defineComponent({
components: {
BAutocomplete,
BDatepicker,
BField
},
data() {
return {
date: new Date(),
month: null,
month: null as string | null,
months: [
{ name: 'January', value: 0 },
{ name:'February', value: 1 },
Expand All @@ -47,7 +55,7 @@
}
},
methods: {
selectMonth(option) {
selectMonth(option: { value: number } | undefined) {
if (option) {
this.date = new Date(this.date)
this.date.setMonth(option.value)
Expand All @@ -59,5 +67,5 @@
item.value == this.date.getMonth()
)[0].name
}
}
})
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@
</b-datepicker>
</template>

<script>
export default {
<script lang="ts">
import { defineComponent } from 'vue'
import { BDatepicker } from '@ntohq/buefy-next'
export default defineComponent({
components: { BDatepicker },
data() {
return {
date: new Date()
}
}
}
})
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,7 @@
</b-datepicker>
</b-field>
</template>

<script setup lang="ts">
import { BDatepicker, BField } from '@ntohq/buefy-next'
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,19 @@
</b-field>
</template>

<script>
export default {
<script lang="ts">
import { defineComponent } from 'vue'
import { BDatepicker, BField } from '@ntohq/buefy-next'
export default defineComponent({
components: {
BDatepicker,
BField
},
data() {
return {
dates: []
}
}
}
})
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,13 @@
placeholder="Select a date">
</b-datepicker>
<b-button
@click="$refs.datepicker.toggle()"
@click="($refs.datepicker as InstanceType<typeof BDatepicker>).toggle()"
icon-left="calendar-today"
type="is-primary" />
</b-field>
</section>
</template>

<script>
// TODO: remove this empty script section after TypeScript migration completes
export default {}
<script setup lang="ts">
import { BButton, BDatepicker, BField } from '@ntohq/buefy-next'
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,15 @@
</b-field>
</template>

<script>
<script lang="ts">
import { defineComponent } from 'vue'
import { BDatepicker, BField } from '@ntohq/buefy-next'
export default {
components: {
BDatepicker,
BField
},
data() {
const today = new Date()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,19 @@
</b-field>
</template>

<script>
export default {
<script lang="ts">
import { defineComponent } from 'vue'
import { BDatepicker, BField } from '@ntohq/buefy-next'
export default defineComponent({
components: {
BDatepicker,
BField
},
data() {
return {
dates: []
}
}
}
})
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,20 @@
</section>
</template>

<script>
export default {
<script lang="ts">
import { defineComponent } from 'vue'
import { BDatepicker, BField, BSelect, BSwitch } from '@ntohq/buefy-next'
export default defineComponent({
components: {
BDatepicker,
BField,
BSelect,
BSwitch
},
data() {
return {
selected: new Date(),
selected: new Date() as Date | null,
showWeekNumber: false,
locale: undefined // Browser locale
}
Expand All @@ -54,6 +63,6 @@ export default {
this.selected = null
}
}
}
})
</script>

Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,26 @@
</section>
</template>

<script>
export default {
<script lang="ts">
import { defineComponent } from 'vue'
import { BButton, BDatepicker, BField, BInput } from '@ntohq/buefy-next'
export default defineComponent({
components: {
BButton,
BDatepicker,
BField,
BInput
},
data() {
return {
selected: null
selected: null as Date | null
}
},
computed: {
selectedString() {
return this.selected ? this.selected.toDateString() : ''
}
}
}
})
</script>
Loading

0 comments on commit d02a730

Please sign in to comment.