<script>

import REST from '@api/rest-axios'

import { mapActions, mapState } from 'pinia'
import { UserStore } from '@stores/user'


export default {
  props: {
    label: String, 
    data: Object
  },
  // emits: ['returned'],
  data(){
    return {
      
    }
  },
  computed: {
    ...mapState(UserStore,['csrf_token']),
  },
  created () {
    console.log('ContentEditable created');
  },
  mounted () {

  },
  methods: {
    onInput(e){
      // console.log('onInput checkbox e', e);
      let checked  = e.target.checked;
      // console.log('onInput checkbox checked', checked);
      this.save(checked)
    },
    save(checked){
      // console.log('save csrf_token', this.csrf_token);
      const params = {
        type: this.data.bundle,
        nid: [{"value":this.data.nid}],
        [this.data.field]: {value: checked}
      };
      const configs = {
        headers: {'X-CSRF-Token': this.csrf_token}
      };
      REST.patch(`/node/${this.data.nid}?_format=json`, params, configs)
        .then(({ data }) => {
          console.log('user REST post node data', data)
          // TODO if success update the data in pinia 
        })
        .catch(error => {
          console.warn(`Issue with patch node ${this.data.bundle}`, error)
          Promise.reject(error)
        })
    }
  },
}
</script>

<template>
  <section class="editable">
    <label><input type="checkbox" @input="onInput"> {{ label }}</label>
  </section>
</template>