Sha256: 5ec4055debf78ba7b411e650ed64c71d89ece8cd2654d3bac3c5b52752e6e97a

Contents?: true

Size: 786 Bytes

Versions: 3

Compression:

Stored size: 786 Bytes

Contents

import { Controller } from '@hotwired/stimulus'
import flatpickr from 'flatpickr'
import { Dutch } from 'flatpickr/dist/esm/l10n/nl.js'
import I18n from '../config/i18n'

export default class extends Controller {
  static get targets () {
    return ['input']
  }

  connect () {
    const options = { ...this.defaultOptions(), ...this.options() }
    flatpickr(this.inputTarget, options)
  }

  options () {
    return JSON.parse(this.inputTarget.getAttribute('data-flatpickr'))
  }

  defaultOptions () {
    return {
      allowInput: true,
      dateFormat: 'd/m/Y',
      locale: this.getLocale(I18n.locale)
    }
  }

  getLocale (locale) {
    const locales = this.locales()
    return locales[locale]
  }

  locales () {
    return {
      en: null,
      nl: Dutch
    }
  }
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
headmin-0.4.2 app/assets/javascripts/headmin/controllers/flatpickr_controller.js
headmin-0.4.1 app/assets/javascripts/headmin/controllers/flatpickr_controller.js
headmin-0.4.0 app/assets/javascripts/headmin/controllers/flatpickr_controller.js