Sha256: 83a7a36b4a725f98789e4bfc7a706a68796d226d0852c44aa1e10ed184390a64

Contents?: true

Size: 595 Bytes

Versions: 1

Compression:

Stored size: 595 Bytes

Contents

import { Controller } from "@hotwired/stimulus"

export default class extends Controller {
  static targets = [ "image", "input", "removeInput" ]
  static values  = { defaultImage: String }

  previewImage() {
    const selectedFile = this.inputTarget.files[0]

    if (selectedFile) {
      this.imageTarget.src = URL.createObjectURL(selectedFile);
      this.imageTarget.onload = () => { URL.revokeObjectURL(this.imageTarget.src) }
      this.removeInputTarget.value = false
    }
  }

  clear() {
    this.imageTarget.src = this.defaultImageValue
    this.removeInputTarget.value = true
  }
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
css-zero-0.0.36 lib/generators/css_zero/add/templates/app/javascript/controllers/upload_preview_controller.js