Add date value in a custom block preview


I am creating some custom blocks based on the cookbook block-factory tutorial and one of my blocks has a date field. I am trying to display this in the preview in the js file for that block. But I am getting nowhere. Any ideas, suggestions?
Thank you.


Could you post what you have already done?

In the yml file:

        label: Start date
        type: date
        time: false
        display: "MMMM DD, YYYY"
        default: now

in the js file:

        event: {
            computed: {
                dateStartField() {
                    return this.field("date_start");                    
            template: `
                <div @dblclick="open">
<time>{{ dateStartField }}</time>

This shows me the full value of the field as it is in the content text file. I am not sure how to apply the date conversion functions in the Vue file to get a “pretty” date.

You can use the dayjs library to format your dates: Libraries | Kirby CMS

Cool. But I am still unclear how to implement that. What is the $library thing referring to?

I have tried this:
return this.field("date_start").$library.dayjs().format("DDMMYYYY");
but it gives an error that it “Cannot read properties of undefined (reading ‘dayjs’)”.

Your syntax is a bit off, I think it works like this:

const date = this.$library.dayjs(this.field("date_start").value).format("DDMMYYYY");

Not sure about value…maybe works without.

It says “Invalid Date”, with or without the value bit.

It works if you use this.content instead of this.field().
Like this:

const date = this.$library.dayjs(this.content.date_start).format("DDMMYYYY");

Thanks for pointing me in the right direction.