<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="76688" data-post-id="76688">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="robobakery" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/robobakery/120/9739_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  robobakery
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>what should i do if i want to show a confirmation alert before drab-click runs?</p>
<p>for example&gt;</p>
<ol>
<li><code>Reset</code> ← Click!</li>
<li>Are you sure? [cancel/ok ← Click!]</li>
<li>run drab function</li>
</ol> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="76688" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/drab-remote-controlled-frontend-framework-for-phoenix/3277/333">Post #332</a>
	                </div>
	            </div>
              <div id="likers-container-76688" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="76688"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #332"></div>
  </section>
</div>
    <div class="postbit" id="76691" data-post-id="76691">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="grych" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grych/120/5610_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  grych
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Drab</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="robobakery" data-post="333" data-topic="3277">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/robobakery/48/9739_2.png" class="avatar"> robobakery:</div>
<blockquote>
<p>if i want to show a confirmation alert before drab-click runs?</p>
</blockquote>
</aside>
<p>There are two easy ways:</p>
<ol>
<li>Using <code>Drab.Waiter</code> - this is a module to allow you to wait synchronously for the user input. See example: <a href="https://tg.pl/drab#waiter" class="inline-onebox" rel="noopener nofollow ugc">Drab: Server Side User Interface Access</a></li>
<li>Using <code>Drab.Modal.alert/4</code>, which shows you a nice bootstrap modal. But this requires jQuery (as bootstrap does). <a href="https://tg.pl/drab/query#long_running" rel="noopener nofollow ugc">Here is a good example</a> - it shows modal to ask if the processing should go on.</li>
</ol> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="76691" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/drab-remote-controlled-frontend-framework-for-phoenix/3277/334">Post #333</a>
	                </div>
	            </div>
              <div id="likers-container-76691" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="76691"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #333"></div>
  </section>
</div>
    <div class="postbit" id="76694" data-post-id="76694">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="robobakery" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/robobakery/120/9739_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  robobakery
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>thanks, I like the way Drab.Waiter treats user input. it is so simple.</p>
<p>but on it’s documentation, i couldn’t find a clue how to use it with window.confirm()</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">waiter(socket) do
  on "selector1", "event_name", fn (sender) -&gt;
  end
  ...
end
</code></pre>
<p>what am i missing?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="76694" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/drab-remote-controlled-frontend-framework-for-phoenix/3277/335">Post #334</a>
	                </div>
	            </div>
              <div id="likers-container-76694" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="76694"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #334"></div>
  </section>
</div>
    <div class="postbit" id="76696" data-post-id="76696">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="grych" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grych/120/5610_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  grych
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Drab</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="robobakery" data-post="335" data-topic="3277">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/robobakery/48/9739_2.png" class="avatar"> robobakery:</div>
<blockquote>
<p>but on it’s documentation, i couldn’t find a clue how to use it with window.confirm()</p>
</blockquote>
</aside>
<p>Well, if you want to use <code>confirm()</code> there is no need to use waiter! <code>confirm()</code> is already waiting for the user input:</p>
<pre><code>{:ok, confirmed?) = exec_js socket, "window.confirm('Sure?')"
</code></pre>
<p>Just remember about the timeout. The default is 5 seconds, and after this you will get <code>{:timeout, "timed out after 5000 ms."}</code>.</p>
<pre><code>{:ok, confirmed?) = exec_js socket, "window.confirm('Sure?')", timeout: :infinity
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="76696" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/drab-remote-controlled-frontend-framework-for-phoenix/3277/336">Post #335</a>
	                </div>
	            </div>
              <div id="likers-container-76696" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="76696"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #335"></div>
  </section>
</div>
    <div class="postbit" id="76737" data-post-id="76737">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="robobakery" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/robobakery/120/9739_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  robobakery
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Cool! It worked perfectly!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="76737" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/drab-remote-controlled-frontend-framework-for-phoenix/3277/337">Post #336</a>
	                </div>
	            </div>
              <div id="likers-container-76737" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="76737"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #336"></div>
  </section>
</div>
    <div class="postbit" id="77114" data-post-id="77114">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Vance" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Vance
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>So a quick question, I guess.  Drab looks great.  But how, exactly, do you use Drab in the sense of integrating with the rest of your app?</p>
<p>So say I have a a task on my dashboard, and I use a dropdown menu to assign it to an employee.  That fires off a Drab handler, and then what?  In my Commander do I import all my Contexts and call the update functions on that, or does all of that live in my Controller, or what?</p>
<p>Also, when you render a partial, does it call  the corresponding Phoenix Controller for that template and all the plugs, etc that live in that Controller?</p>
<p>I like the idea of a bunch of shared controllers so I can have my “master” controller that mostly just lays out the page and calls a bunch of rendered partial templates, and Drab can update those things.  But how does this work in practice with actually updating my database and responding to updates made elsewhere in the app?</p>
<p>I want to, for example, have a “edit” or “new” form for part of my page, and post the data to the server without reloading the entire page, yet other parts of the page get updated from that post, or other viewers of the page.  What’s the basic workflow for that kind of thing? Are the Commanders essentially replacements for the Controller at that point?</p>
<p>Thanks, Drab looks awesome!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="77114" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/drab-remote-controlled-frontend-framework-for-phoenix/3277/338">Post #337</a>
	                </div>
	            </div>
              <div id="likers-container-77114" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="77114"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #337"></div>
  </section>
</div>
    <div class="postbit" id="77139" data-post-id="77139">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="grych" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grych/120/5610_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  grych
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Drab</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="Vance" data-post="338" data-topic="3277">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/v/3be4f8/48.png" class="avatar"> Vance:</div>
<blockquote>
<p>Are the Commanders essentially replacements for the Controller at that point?</p>
</blockquote>
</aside>
<p>Short answer is: Yes. And no <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>Controller is a module containing functions, which are triggered by the outside world - http requests, like GET or POST.</p>
<p>Commander is a module containing functions, which are triggered by the outside world - JS events, like “onclick” or “onsubmit”. So I would rather say that the commander is a replacement for a JavaScript controller of some framework. The only difference is that the event handlers run on the server-side <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>Controller uses routings to find out which function it should run, based on the http request (“/post/1” launches <code>MyApp.MyController.show</code> etc).</p>
<p>Commander does not use any routings. It knows which commander to use, because it knows which controller was used to render the page. So this event on <code>&lt;button drab-click='show_user'&gt;</code><br>
would run <code>MyApp.MyCommander.show_user</code>. Or you can use <code>drab-click='MyApp.,OtherCommander.show_user'</code> to route it directly.</p>
<p>At the beginning of the project I was thinking about putting the event handlers in the controllers, but I think creating another entity just for the event handlers was a good idea. You still have a MVC application, but “C” is for commander <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<aside class="quote no-group" data-username="Vance" data-post="338" data-topic="3277">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/v/3be4f8/48.png" class="avatar"> Vance:</div>
<blockquote>
<p>Also, when you render a partial, does it call  the corresponding Phoenix Controller for that template and all the plugs, etc that live in that Controller?</p>
</blockquote>
</aside>
<p>Yes.<br>
If you want to update the part of the page with some partial, you use <code>Phoenix.View.render_to_string/3</code> to get a html, and push it to the page.</p>
<pre><code>poke socket, live_partial1: render_to_string("partial1.html", color: "#aaaabb")
</code></pre>
<p>The above uses <code>render_to_string/2</code> helper, <a href="https://hexdocs.pm/drab/Drab.Commander.html#module-using-templates" rel="noopener nofollow ugc">more info here</a>.</p>
<aside class="quote no-group" data-username="Vance" data-post="338" data-topic="3277">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/v/3be4f8/48.png" class="avatar"> Vance:</div>
<blockquote>
<p>In my Commander do I import all my Contexts and call the update functions on that, or does all of that live in my Controller, or what?</p>
</blockquote>
</aside>
<p>It all depends on you. If you want to create 100% drabbed application, you may only render the page with the controller, and then do all the edits with the commander.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="77139" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/drab-remote-controlled-frontend-framework-for-phoenix/3277/339">Post #338</a>
	                </div>
	            </div>
              <div id="likers-container-77139" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="77139"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #338"></div>
  </section>
</div>
    <div class="postbit" id="77813" data-post-id="77813">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="grych" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grych/120/5610_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  grych
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Drab</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="robobakery" data-post="319" data-topic="3277">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/robobakery/48/9739_2.png" class="avatar"> robobakery:</div>
<blockquote>
<p>In my app, i call poke frequently, and it worked perfectly :).</p>
<p>but i just wonder if there is any way to disable logs.</p>
</blockquote>
</aside>
<p>Now it is possible, you may pass options to <code>Phoenix.Channel</code>. To turn off the logs:</p>
<pre><code>config :drab, :phoenix_channel_options, [log_handle_in: false]
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="77813" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/drab-remote-controlled-frontend-framework-for-phoenix/3277/340">Post #339</a>
	                </div>
	            </div>
              <div id="likers-container-77813" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="77813"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #339"></div>
  </section>
</div>
    <div class="postbit" id="77814" data-post-id="77814">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="grych" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grych/120/5610_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  grych
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Drab</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Girls and boys, <a href="https://github.com/grych/drab/releases/tag/v0.7.5" rel="noopener nofollow ugc"><strong>Drab v0.7.5</strong> is out</a>!</p>
<p>This version finally contains all the features of Shared Commanders I wanted to introduce, especially magic updates for living assigns in the specific shared commander - <a href="https://tg.pl/drab#living_shared" rel="noopener nofollow ugc">see the new demo example</a>.</p>
<p>Now I am planning to focus on the living assigns again, as I have an idea how to completely remove all the <a href="https://hexdocs.pm/drab/Drab.Live.EExEngine.html#module-limitations" rel="noopener nofollow ugc">limitations</a> of the engine. Then, two big features must be introduced <a href="https://github.com/grych/drab/issues/84" rel="noopener nofollow ugc">before we reach 1.0</a>: event handler test framework and optimistic updates. Also, the project needs a code and documentation review, as the core evolved from the proof of concept page and never been changed <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>I’ll be on the Warsaw conference next week, if someone want to meet and have a chat.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="77814" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/drab-remote-controlled-frontend-framework-for-phoenix/3277/341">Post #340</a>
	                </div>
	            </div>
              <div id="likers-container-77814" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="77814"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #340"></div>
  </section>
</div>
    <div class="postbit" id="77817" data-post-id="77817">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="grych" data-post="341" data-topic="3277">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grych/48/5610_2.png" class="avatar"> grych:</div>
<blockquote>
<p>Girls and boys, Drab v0.7.5 is out!</p>
</blockquote>
</aside>
<p>Whoo!</p>
<aside class="quote no-group" data-username="grych" data-post="341" data-topic="3277">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grych/48/5610_2.png" class="avatar"> grych:</div>
<blockquote>
<p>This version finally contains all the features of Shared Commanders I wanted to introduce, especially magic updates for living assigns in the specific shared commander - see the new demo example.</p>
</blockquote>
</aside>
<p>Very nice!  Reusable components are so convenient.  <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<aside class="quote no-group" data-username="grych" data-post="341" data-topic="3277">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grych/48/5610_2.png" class="avatar"> grych:</div>
<blockquote>
<p>optimistic updates</p>
</blockquote>
</aside>
<p>I’m curious how this will be done, just like embedded javascript or something?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="77817" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/drab-remote-controlled-frontend-framework-for-phoenix/3277/342">Post #341</a>
	                </div>
	            </div>
              <div id="likers-container-77817" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="77817"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #341"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/3277/load_more?page=35">Load more posts (148 remaining)</a>
</div></template></turbo-stream>