-
-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use pattern :sessionkey.tap do |session_key| (#53)
- Loading branch information
Showing
4 changed files
with
144 additions
and
135 deletions.
There are no files selected for viewing
91 changes: 47 additions & 44 deletions
91
test/dummy/app/views/frames/increment/button_in_frame.html.erb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,65 +1,68 @@ | ||
<%= turbo_frame_tag demo_frame_id(@template_path) do %> | ||
<%= cache session[:button_in_frame_count].to_i do %> | ||
<%= render "frames/frame" do %> | ||
<%= render "stats/stats" do %> | ||
<%= render "stats/stat", label: "Counter", role: "counter", value: session[:button_in_frame_count].to_i, class: "!bg-indigo-600 dark:!bg-indigo-900", | ||
value_class: ["!text-indigo-200 dark:!text-indigo-300"], label_class: ["!text-indigo-400 dark:!text-indigo-500"] %> | ||
<% end %> | ||
<% :button_in_frame_count.tap do |session_key| %> | ||
<%= turbo_frame_tag demo_frame_id(@template_path) do %> | ||
<%= cache session[session_key].to_i do %> | ||
<%= render "frames/frame" do %> | ||
<%= render "stats/stats" do %> | ||
<%= render "stats/stat", label: "Counter", role: "counter", value: session[session_key].to_i, class: "!bg-indigo-600 dark:!bg-indigo-900", | ||
value_class: ["!text-indigo-200 dark:!text-indigo-300"], label_class: ["!text-indigo-400 dark:!text-indigo-500"] %> | ||
<% end %> | ||
|
||
<p class="my-8"> | ||
The buttons below will invoke a reflex before Rails/Hotwire replaces the frame's content. | ||
</p> | ||
<p class="my-8"> | ||
The buttons below will invoke a reflex before Rails/Hotwire replaces the frame's content. | ||
</p> | ||
|
||
<%= button_tag class: css("flowbite.button.cyan_to_blue", "block mb-8 ml-0 relative"), | ||
data: { turbo_reflex: "CounterReflex#increment", session_key: :button_in_frame_count } do %> | ||
Basic Button | ||
<%= render flowbite(:notification_badge), value: session[:button_in_frame_count].to_i if session[:button_in_frame_count].to_i > 0 %> | ||
<% end %> | ||
<%= button_tag class: css("flowbite.button.cyan_to_blue", "block mb-8 ml-0 relative"), | ||
data: { turbo_reflex: "CounterReflex#increment", session_key: session_key } do %> | ||
Basic Button | ||
<%= render flowbite(:notification_badge), value: session[session_key].to_i if session[session_key].to_i > 0 %> | ||
<% end %> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/reflexes/counter_reflex.rb", source_path: "app/views/codes/increment/reflex.rb" %> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/reflexes/counter_reflex.rb", source_path: "app/views/codes/increment/reflex.rb" %> | ||
|
||
<div class="my-8"></div> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/controllers/demos_controller.rb", source_path: "app/views/codes/increment/controller.rb" %> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/controllers/demos_controller.rb", source_path: "app/views/codes/increment/controller.rb" %> | ||
|
||
<div class="my-8"></div> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :erb, class: "text-sm", | ||
path: "app/views/demos/show.html.erb", source_path: "app/views/codes/increment/button_in_frame/show.erb" %> | ||
<%= render component(:code), language: :erb, class: "text-sm", | ||
path: "app/views/demos/show.html.erb", source_path: "app/views/codes/increment/button_in_frame/show.erb" %> | ||
|
||
<div class="my-8"></div> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :html, class: "text-sm", | ||
path: "Rendered HTML for: /demos/2", source_path: "app/views/codes/increment/button_in_frame/show.html", erb: true %> | ||
<%= render component(:code), language: :html, class: "text-sm", | ||
path: "Rendered HTML for: /demos/2", source_path: "app/views/codes/increment/button_in_frame/show.html", erb: true %> | ||
<%= render component(:divider), class: "my-12" %> | ||
<%= render component(:divider), class: "my-12" %> | ||
<%= Time.current %> | ||
<%= button_to frame_path(params[:id]), method: :patch, | ||
class: css("flowbite.button.cyan_to_blue", "block mb-8 ml-0 relative"), | ||
form: { data: { turbo_reflex: "CounterReflex#increment", session_key: :button_in_frame_count } } do %> | ||
Form Button <small class="ml-2 font-mono opacity-50">button_to</small> | ||
<%= render flowbite(:notification_badge), value: session[:button_in_frame_count].to_i if session[:button_in_frame_count].to_i > 0 %> | ||
<% end %> | ||
<%= button_to frame_path(params[:id]), method: :patch, | ||
class: css("flowbite.button.cyan_to_blue", "block mb-8 ml-0 relative"), | ||
form: { data: { turbo_reflex: "CounterReflex#increment", session_key: session_key } } do %> | ||
Form Button <small class="ml-2 font-mono opacity-50">button_to</small> | ||
<%= render flowbite(:notification_badge), value: session[session_key].to_i if session[session_key].to_i > 0 %> | ||
<% end %> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/reflexes/counter_reflex.rb", source_path: "app/views/codes/increment/reflex.rb" %> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/reflexes/counter_reflex.rb", source_path: "app/views/codes/increment/reflex.rb" %> | ||
|
||
<div class="my-8"></div> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/controllers/demos_controller.rb", source_path: "app/views/codes/increment/controller.rb" %> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/controllers/demos_controller.rb", source_path: "app/views/codes/increment/controller.rb" %> | ||
|
||
<div class="my-8"></div> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :erb, class: "text-sm", | ||
path: "app/views/demos/show.html.erb", source_path: "app/views/codes/increment/button_in_frame/show_form.erb" %> | ||
<%= render component(:code), language: :erb, class: "text-sm", | ||
path: "app/views/demos/show.html.erb", source_path: "app/views/codes/increment/button_in_frame/show_form.erb" %> | ||
|
||
<div class="my-8"></div> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :html, class: "text-sm", | ||
path: "Rendered HTML for: /demos/2", source_path: "app/views/codes/increment/button_in_frame/show_form.html", erb: true %> | ||
<%= render component(:code), language: :html, class: "text-sm", | ||
path: "Rendered HTML for: /demos/2", source_path: "app/views/codes/increment/button_in_frame/show_form.html", erb: true %> | ||
<% end %> | ||
<% end %> | ||
<% end %> | ||
<% end %> |
72 changes: 37 additions & 35 deletions
72
test/dummy/app/views/frames/increment/elements_in_frame.html.erb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,53 @@ | ||
<%= turbo_frame_tag demo_frame_id(@template_path) do %> | ||
<%= cache session[:elements_in_frame_count].to_i do %> | ||
<%= render "frames/frame" do %> | ||
<%= render "stats/stats" do %> | ||
<%= render "stats/stat", label: "Counter", value: session[:elements_in_frame_count].to_i, class: "!bg-indigo-600 dark:!bg-indigo-900", | ||
value_class: ["!text-indigo-200 dark:!text-indigo-300"], label_class: ["!text-indigo-400 dark:!text-indigo-500"] %> | ||
<% end %> | ||
<% :elements_in_frame_count.tap do |session_key| %> | ||
<%= turbo_frame_tag demo_frame_id(@template_path) do %> | ||
<%= cache session[session_key].to_i do %> | ||
<%= render "frames/frame" do %> | ||
<%= render "stats/stats" do %> | ||
<%= render "stats/stat", label: "Counter", value: session[session_key].to_i, class: "!bg-indigo-600 dark:!bg-indigo-900", | ||
value_class: ["!text-indigo-200 dark:!text-indigo-300"], label_class: ["!text-indigo-400 dark:!text-indigo-500"] %> | ||
<% end %> | ||
|
||
<p class="my-8"> | ||
You can attach reflexes to any element. | ||
</p> | ||
<p class="my-8"> | ||
You can attach reflexes to any element. | ||
</p> | ||
|
||
<div class="inline-block relative mb-4"> | ||
<%= tag.p "P Tag", class: "cursor-pointer", data: { turbo_reflex: "CounterReflex#increment", session_key: :elements_in_frame_count } %> | ||
<%= render flowbite(:notification_badge), value: session[:elements_in_frame_count].to_i, class: "!-right-4" if session[:elements_in_frame_count].to_i > 0 %> | ||
</div> | ||
<div class="inline-block relative mb-4"> | ||
<%= tag.p "P Tag", class: "cursor-pointer", data: { turbo_reflex: "CounterReflex#increment", session_key: session_key } %> | ||
<%= render flowbite(:notification_badge), value: session[session_key].to_i, class: "!-right-4" if session[session_key].to_i > 0 %> | ||
</div> | ||
|
||
<br> | ||
<br> | ||
|
||
<%= tag.div class: "cursor-pointer mb-4 relative inline-block", data: { turbo_reflex: "CounterReflex#increment", session_key: :elements_in_frame_count } do %> | ||
DIV Tag | ||
<%= render flowbite(:notification_badge), value: session[:elements_in_frame_count].to_i, class: "!-right-4" if session[:elements_in_frame_count].to_i > 0 %> | ||
<% end %> | ||
<%= tag.div class: "cursor-pointer mb-4 relative inline-block", data: { turbo_reflex: "CounterReflex#increment", session_key: session_key } do %> | ||
DIV Tag | ||
<%= render flowbite(:notification_badge), value: session[session_key].to_i, class: "!-right-4" if session[session_key].to_i > 0 %> | ||
<% end %> | ||
|
||
<br> | ||
<br> | ||
|
||
<%= tag.span class: "cursor-pointer mb-12 inline-block relative", data: { turbo_reflex: "CounterReflex#increment", session_key: :elements_in_frame_count } do %> | ||
SPAN Tag | ||
<%= render flowbite(:notification_badge), value: session[:elements_in_frame_count].to_i, class: "!-right-4" if session[:elements_in_frame_count].to_i > 0 %> | ||
<% end %> | ||
<%= tag.span class: "cursor-pointer mb-12 inline-block relative", data: { turbo_reflex: "CounterReflex#increment", session_key: session_key } do %> | ||
SPAN Tag | ||
<%= render flowbite(:notification_badge), value: session[session_key].to_i, class: "!-right-4" if session[session_key].to_i > 0 %> | ||
<% end %> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/reflexes/counter_reflex.rb", source_path: "app/views/codes/increment/reflex.rb" %> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/reflexes/counter_reflex.rb", source_path: "app/views/codes/increment/reflex.rb" %> | ||
|
||
<div class="my-8"></div> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/controllers/demos_controller.rb", source_path: "app/views/codes/increment/controller.rb" %> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/controllers/demos_controller.rb", source_path: "app/views/codes/increment/controller.rb" %> | ||
|
||
<div class="my-8"></div> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :erb, class: "text-sm", | ||
path: "app/views/demos/show.html.erb", source_path: "app/views/codes/increment/elements_in_frame/show.erb" %> | ||
<%= render component(:code), language: :erb, class: "text-sm", | ||
path: "app/views/demos/show.html.erb", source_path: "app/views/codes/increment/elements_in_frame/show.erb" %> | ||
|
||
<div class="my-8"></div> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :html, class: "text-sm", | ||
path: "Rendered HTML for: /demos/4", source_path: "app/views/codes/increment/elements_in_frame/show.html", erb: true %> | ||
<%= render component(:code), language: :html, class: "text-sm", | ||
path: "Rendered HTML for: /demos/4", source_path: "app/views/codes/increment/elements_in_frame/show.html", erb: true %> | ||
<% end %> | ||
<% end %> | ||
<% end %> | ||
<% end %> |
62 changes: 32 additions & 30 deletions
62
test/dummy/app/views/frames/increment/form_in_frame.html.erb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,43 @@ | ||
<%= turbo_frame_tag demo_frame_id(@template_path) do %> | ||
<%= cache session[:form_in_frame_count].to_i do %> | ||
<%= render "frames/frame" do %> | ||
<%= render "stats/stats" do %> | ||
<%= render "stats/stat", label: "Counter", value: session[:form_in_frame_count].to_i, class: "!bg-indigo-600 dark:!bg-indigo-900", | ||
value_class: ["!text-indigo-200 dark:!text-indigo-300"], label_class: ["!text-indigo-400 dark:!text-indigo-500"] %> | ||
<% end %> | ||
<% :form_in_frame_count.tap do |session_key| %> | ||
<%= turbo_frame_tag demo_frame_id(@template_path) do %> | ||
<%= cache session[:form_in_frame_count].to_i do %> | ||
<%= render "frames/frame" do %> | ||
<%= render "stats/stats" do %> | ||
<%= render "stats/stat", label: "Counter", value: session[session_key].to_i, class: "!bg-indigo-600 dark:!bg-indigo-900", | ||
value_class: ["!text-indigo-200 dark:!text-indigo-300"], label_class: ["!text-indigo-400 dark:!text-indigo-500"] %> | ||
<% end %> | ||
|
||
<p class="my-8"> | ||
You can attach reflexes to any element. | ||
</p> | ||
|
||
<%= form_with url: frame_path(params[:id]), method: :patch, | ||
class: "mb-8", | ||
data: { turbo_reflex: "CounterReflex#increment", session_key: :form_in_frame_count } do |form| %> | ||
<div class="inline-block relative"> | ||
<%= form.submit "Submit Form", class: css("flowbite.button.cyan_to_blue", "cursor-pointer") %> | ||
<%= render flowbite(:notification_badge), value: session[:form_in_frame_count].to_i, class: "!-right-0" if session[:form_in_frame_count].to_i > 0 %> | ||
</div> | ||
<% end %> | ||
<p class="my-8"> | ||
You can attach reflexes to any element. | ||
</p> | ||
|
||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/reflexes/counter_reflex.rb", source_path: "app/views/codes/increment/reflex.rb" %> | ||
<%= form_with url: frame_path(params[:id]), method: :patch, | ||
class: "mb-8", | ||
data: { turbo_reflex: "CounterReflex#increment", session_key: session_key } do |form| %> | ||
<div class="inline-block relative"> | ||
<%= form.submit "Submit Form", class: css("flowbite.button.cyan_to_blue", "cursor-pointer") %> | ||
<%= render flowbite(:notification_badge), value: session[session_key].to_i, class: "!-right-0" if session[:form_in_frame_count].to_i > 0 %> | ||
</div> | ||
<% end %> | ||
<div class="my-8"></div> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/reflexes/counter_reflex.rb", source_path: "app/views/codes/increment/reflex.rb" %> | ||
|
||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/controllers/demos_controller.rb", source_path: "app/views/codes/increment/controller.rb" %> | ||
<div class="my-8"></div> | ||
|
||
<div class="my-8"></div> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/controllers/demos_controller.rb", source_path: "app/views/codes/increment/controller.rb" %> | ||
|
||
<%= render component(:code), language: :erb, class: "text-sm", | ||
path: "app/views/demo/show.html.erb", source_path: "app/views/codes/increment/form_in_frame/show.erb" %> | ||
<div class="my-8"></div> | ||
|
||
<div class="my-8"></div> | ||
<%= render component(:code), language: :erb, class: "text-sm", | ||
path: "app/views/demo/show.html.erb", source_path: "app/views/codes/increment/form_in_frame/show.erb" %> | ||
|
||
<%= render component(:code), language: :html, class: "text-sm", | ||
path: "Rendered HTML for: /demos/3", source_path: "app/views/codes/increment/form_in_frame/show.html", erb: true %> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :html, class: "text-sm", | ||
path: "Rendered HTML for: /demos/3", source_path: "app/views/codes/increment/form_in_frame/show.html", erb: true %> | ||
<% end %> | ||
<% end %> | ||
<% end %> | ||
<% end %> |
54 changes: 28 additions & 26 deletions
54
test/dummy/app/views/frames/increment/link_in_frame.html.erb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,40 @@ | ||
<%= turbo_frame_tag demo_frame_id(@template_path) do %> | ||
<%= cache session[:link_in_frame_count].to_i do %> | ||
<%= render "frames/frame" do %> | ||
<%= render "stats/stats" do %> | ||
<%= render "stats/stat", label: "Counter", role: "counter", value: session[:link_in_frame_count].to_i, class: "!bg-indigo-600 dark:!bg-indigo-900", | ||
value_class: ["!text-indigo-200 dark:!text-indigo-300"], label_class: ["!text-indigo-400 dark:!text-indigo-500"] %> | ||
<% end %> | ||
<% :link_in_frame_count.tap do |session_key| %> | ||
<%= turbo_frame_tag demo_frame_id(@template_path) do %> | ||
<%= cache session[session_key].to_i do %> | ||
<%= render "frames/frame" do %> | ||
<%= render "stats/stats" do %> | ||
<%= render "stats/stat", label: "Counter", role: "counter", value: session[session_key].to_i, class: "!bg-indigo-600 dark:!bg-indigo-900", | ||
value_class: ["!text-indigo-200 dark:!text-indigo-300"], label_class: ["!text-indigo-400 dark:!text-indigo-500"] %> | ||
<% end %> | ||
|
||
<p class="my-8"> | ||
The link below will invoke a reflex before Rails/Hotwire replaces the frame's content. | ||
</p> | ||
<p class="my-8"> | ||
The link below will invoke a reflex before Rails/Hotwire replaces the frame's content. | ||
</p> | ||
|
||
<%= link_to nil, id: demo_frame_id(@template_path, :trigger), class: css("flowbite.link.default", "inline-block relative mb-8 ml-0"), | ||
data: { turbo_reflex: "CounterReflex#increment", session_key: :link_in_frame_count } do %> | ||
Basic Link | ||
<%= render flowbite(:notification_badge), value: session[:link_in_frame_count].to_i, class: "!-right-4" if session[:link_in_frame_count].to_i > 0 %> | ||
<% end %> | ||
<%= link_to nil, id: demo_frame_id(@template_path, :trigger), class: css("flowbite.link.default", "inline-block relative mb-8 ml-0"), | ||
data: { turbo_reflex: "CounterReflex#increment", session_key: session_key } do %> | ||
Basic Link | ||
<%= render flowbite(:notification_badge), value: session[session_key].to_i, class: "!-right-4" if session[:link_in_frame_count].to_i > 0 %> | ||
<% end %> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/reflexes/counter_reflex.rb", source_path: "app/views/codes/increment/reflex.rb" %> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/reflexes/counter_reflex.rb", source_path: "app/views/codes/increment/reflex.rb" %> | ||
|
||
<div class="my-8"></div> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/controllers/demos_controller.rb", source_path: "app/views/codes/increment/controller.rb" %> | ||
<%= render component(:code), language: :ruby, class: "text-sm", | ||
path: "app/controllers/demos_controller.rb", source_path: "app/views/codes/increment/controller.rb" %> | ||
|
||
<div class="my-8"></div> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :erb, class: "text-sm", | ||
path: "app/views/demos/show.html.erb", source_path: "app/views/codes/increment/link_in_frame/show.erb" %> | ||
<%= render component(:code), language: :erb, class: "text-sm", | ||
path: "app/views/demos/show.html.erb", source_path: "app/views/codes/increment/link_in_frame/show.erb" %> | ||
|
||
<div class="my-8"></div> | ||
<div class="my-8"></div> | ||
|
||
<%= render component(:code), language: :html, class: "text-sm", | ||
path: "Rendered HTML for: /demos/#{@demo_index}", source_path: "app/views/codes/increment/link_in_frame/show.html", erb: true %> | ||
<%= render component(:code), language: :html, class: "text-sm", | ||
path: "Rendered HTML for: /demos/#{@demo_index}", source_path: "app/views/codes/increment/link_in_frame/show.html", erb: true %> | ||
<% end %> | ||
<% end %> | ||
<% end %> | ||
<% end %> |