mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-11-03 20:48:07 +00:00 
			
		
		
		
	feat: handle rails turbo morphing (#11422)
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
This commit is contained in:
		@@ -23,12 +23,18 @@ const runSDK = ({ baseUrl, websiteToken }) => {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (window.Turbo) {
 | 
			
		||||
    // if this is a Rails Turbo app
 | 
			
		||||
    document.addEventListener('turbo:before-render', event =>
 | 
			
		||||
      restoreWidgetInDOM(event.detail.newBody)
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
  // if this is a Rails Turbo app
 | 
			
		||||
  document.addEventListener('turbo:before-render', event => {
 | 
			
		||||
    // when morphing the page, this typically happens on reload like events
 | 
			
		||||
    // say you update a "Customer" on a form and it reloads the page
 | 
			
		||||
    // We have already added data-turbo-permananent to true. This
 | 
			
		||||
    // will ensure that the widget it preserved
 | 
			
		||||
    // Read more about morphing here: https://turbo.hotwired.dev/handbook/page_refreshes#morphing
 | 
			
		||||
    // and peristing elements here: https://turbo.hotwired.dev/handbook/building#persisting-elements-across-page-loads
 | 
			
		||||
    if (event.detail.renderMethod === 'morph') return;
 | 
			
		||||
 | 
			
		||||
    restoreWidgetInDOM(event.detail.newBody);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  if (window.Turbolinks) {
 | 
			
		||||
    document.addEventListener('turbolinks:before-render', event => {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user