How to Use Trix Editor With Phoenix LiveView: Difference between revisions

From ElixirBlocks
Jump to: navigation, search
No edit summary
No edit summary
Line 8: Line 8:
<source>
<source>


let liveSocket = new LiveSocket("/live", Socket, {params: {_csrf_token: csrfToken},
let liveSocket = new LiveSocket("/live", Socket, {
  params: {
      _csrf_token: csrfToken
  },


hooks:{
  hooks: {
  TrixEditor:{
      TrixEditor: {
mounted(){
        mounted() {
                    let element = document.querySelector("trix-editor");
            let element = document.querySelector("trix-editor");
                    this.ele = element
            this.ele = element
                    this.ele.value = "data in the value attribute";
            this.ele.value = "data in the value attribute";
                    this.ele.addEventListener("trix-change", (e) => {
            this.ele.addEventListener("trix-change", (e) => {
                        console.log(e.target.value)
              console.log(e.target.value)
                    });
            });


 
        }
}
      }
}
  }
}


})
})

Revision as of 16:18, 21 June 2023

This page is in progress

To integrate Trix editor we use a JavaScript Hook

JavaScript Hook


let liveSocket = new LiveSocket("/live", Socket, {
   params: {
      _csrf_token: csrfToken
   },

   hooks: {
      TrixEditor: {
         mounted() {
            let element = document.querySelector("trix-editor");
            this.ele = element
            this.ele.value = "data in the value attribute";
            this.ele.addEventListener("trix-change", (e) => {
               console.log(e.target.value)
            });

         }
      }
   }

})


LiveView


    <div phx-hook="TrixEditor" id="xyz">
      <div id="richtext" phx-update="ignore">
        <trix-editor class="trix-content"></trix-editor>
      </div>
    </div>