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

From ElixirBlocks
Jump to: navigation, search
No edit summary
Line 7: Line 7:


<source>
<source>
let liveSocket = new LiveSocket("/live", Socket, {
    params: {
        _csrf_token: csrfToken
    },
    hooks: {
        TrixEditor: {
            mounted() {


let liveSocket = new LiveSocket("/live", Socket, {
                let element = document.querySelector("trix-editor");
  params: {
                this.ele = element
      _csrf_token: csrfToken
                this.ele.value = "data in the value attribute";
  },
                this.ele.addEventListener("trix-change", (e) => {
                    console.log(e.target.value)
                    this.pushEvent('zap', {
                        payload: e.target.value
                    });
                });


  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)
            });


        }
      }
  }


})
})
</source>
</source>


==LiveView==
==LiveView==

Revision as of 17:15, 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)
                    this.pushEvent('zap', {
                        payload: 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>