headmin 0.5.2 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.lock-487e157d270f3062a98b7b2a012753708-1272821827 +0 -0
- data/Gemfile.lock +2 -2
- data/app/helpers/headmin/form_helper.rb +2 -2
- data/app/models/concerns/headmin/field.rb +2 -1
- data/app/models/concerns/headmin/fieldable.rb +10 -10
- data/app/views/examples/admin.html.erb +18 -18
- data/app/views/examples/auth.html.erb +3 -3
- data/app/views/headmin/_blocks.html.erb +2 -2
- data/app/views/headmin/_breadcrumbs.html.erb +3 -3
- data/app/views/headmin/_dropdown.html.erb +2 -2
- data/app/views/headmin/_filters.html.erb +7 -7
- data/app/views/headmin/_form.html.erb +2 -2
- data/app/views/headmin/_heading.html.erb +1 -1
- data/app/views/headmin/_index.html.erb +1 -1
- data/app/views/headmin/_notifications.html.erb +1 -1
- data/app/views/headmin/_pagination.html.erb +3 -3
- data/app/views/headmin/_popup.html.erb +4 -4
- data/app/views/headmin/_table.html.erb +2 -2
- data/app/views/headmin/_thumbnail.html.erb +1 -1
- data/app/views/headmin/dropdown/_button.html.erb +2 -2
- data/app/views/headmin/dropdown/_devise.html.erb +8 -8
- data/app/views/headmin/dropdown/_item.html.erb +2 -2
- data/app/views/headmin/dropdown/_list.html.erb +3 -3
- data/app/views/headmin/dropdown/_locale.html.erb +6 -6
- data/app/views/headmin/filters/_base.html.erb +20 -20
- data/app/views/headmin/filters/_boolean.html.erb +4 -4
- data/app/views/headmin/filters/_date.html.erb +4 -4
- data/app/views/headmin/filters/_flatpickr.html.erb +4 -4
- data/app/views/headmin/filters/_number.html.erb +4 -4
- data/app/views/headmin/filters/_options.html.erb +4 -4
- data/app/views/headmin/filters/_search.html.erb +3 -3
- data/app/views/headmin/filters/_text.html.erb +4 -4
- data/app/views/headmin/filters/filter/_button.html.erb +2 -2
- data/app/views/headmin/filters/filter/_null_select.html.erb +2 -2
- data/app/views/headmin/forms/_autocomplete.html.erb +2 -2
- data/app/views/headmin/forms/_blocks.html.erb +4 -4
- data/app/views/headmin/forms/_checkbox.html.erb +5 -5
- data/app/views/headmin/forms/_color.html.erb +5 -5
- data/app/views/headmin/forms/_date.html.erb +8 -8
- data/app/views/headmin/forms/_date_range.html.erb +3 -3
- data/app/views/headmin/forms/_datetime.html.erb +8 -8
- data/app/views/headmin/forms/_datetime_range.html.erb +3 -3
- data/app/views/headmin/forms/_email.html.erb +9 -9
- data/app/views/headmin/forms/_errors.html.erb +1 -1
- data/app/views/headmin/forms/_file.html.erb +16 -16
- data/app/views/headmin/forms/_flatpickr.html.erb +2 -2
- data/app/views/headmin/forms/_flatpickr_range.html.erb +8 -8
- data/app/views/headmin/forms/_hidden.html.erb +1 -1
- data/app/views/headmin/forms/_hint.html.erb +1 -1
- data/app/views/headmin/forms/_label.html.erb +1 -1
- data/app/views/headmin/forms/_media.html.erb +11 -11
- data/app/views/headmin/forms/_number.html.erb +8 -8
- data/app/views/headmin/forms/_password.html.erb +7 -7
- data/app/views/headmin/forms/_redactorx.html.erb +2 -2
- data/app/views/headmin/forms/_repeater.html.erb +20 -20
- data/app/views/headmin/forms/_search.html.erb +9 -9
- data/app/views/headmin/forms/_select.html.erb +8 -8
- data/app/views/headmin/forms/_switch.html.erb +2 -2
- data/app/views/headmin/forms/_text.html.erb +9 -9
- data/app/views/headmin/forms/_textarea.html.erb +7 -7
- data/app/views/headmin/forms/_url.html.erb +9 -9
- data/app/views/headmin/forms/_validation.html.erb +1 -1
- data/app/views/headmin/forms/_wysiwyg.html.erb +2 -2
- data/app/views/headmin/forms/fields/_base.html.erb +2 -2
- data/app/views/headmin/forms/fields/_file.html.erb +3 -3
- data/app/views/headmin/forms/fields/_files.html.erb +3 -3
- data/app/views/headmin/forms/fields/_group.html.erb +7 -7
- data/app/views/headmin/forms/fields/_list.html.erb +5 -5
- data/app/views/headmin/forms/fields/_text.html.erb +3 -3
- data/app/views/headmin/forms/media/_item.html.erb +4 -4
- data/app/views/headmin/forms/media/_validation.html.erb +4 -4
- data/app/views/headmin/forms/repeater/_row.html.erb +5 -5
- data/app/views/headmin/heading/_title.html.erb +2 -2
- data/app/views/headmin/layout/_main.html.erb +1 -1
- data/app/views/headmin/media/_item.html.erb +1 -1
- data/app/views/headmin/media/_media_item_modal.html.erb +12 -12
- data/app/views/headmin/media/_modal.html.erb +10 -10
- data/app/views/headmin/media/create.turbo_stream.erb +2 -2
- data/app/views/headmin/media/index.html.erb +1 -1
- data/app/views/headmin/media/update.turbo_stream.erb +1 -1
- data/app/views/headmin/nav/_dropdown.html.erb +7 -7
- data/app/views/headmin/nav/_item.html.erb +5 -5
- data/app/views/headmin/nav/item/_devise.html.erb +6 -6
- data/app/views/headmin/nav/item/_locale.html.erb +6 -6
- data/app/views/headmin/pagination/_per_page.html.erb +7 -7
- data/app/views/headmin/pagination/kaminari/_first_page.html.erb +2 -2
- data/app/views/headmin/pagination/kaminari/_gap.html.erb +1 -1
- data/app/views/headmin/pagination/kaminari/_last_page.html.erb +2 -2
- data/app/views/headmin/pagination/kaminari/_next_page.html.erb +3 -3
- data/app/views/headmin/pagination/kaminari/_page.html.erb +2 -2
- data/app/views/headmin/pagination/kaminari/_paginator.html.erb +1 -1
- data/app/views/headmin/pagination/kaminari/_prev_page.html.erb +2 -2
- data/app/views/headmin/table/_actions.html.erb +11 -11
- data/app/views/headmin/table/_body.html.erb +1 -1
- data/app/views/headmin/table/actions/_action.html.erb +4 -4
- data/app/views/headmin/table/actions/_delete.html.erb +2 -2
- data/app/views/headmin/table/actions/_export.html.erb +2 -2
- data/app/views/headmin/table/body/_association.html.erb +1 -1
- data/app/views/headmin/table/body/_boolean.erb +4 -4
- data/app/views/headmin/table/body/_date.html.erb +2 -2
- data/app/views/headmin/table/body/_row.html.erb +3 -3
- data/app/views/headmin/table/body/_string.html.erb +1 -1
- data/app/views/headmin/table/foot/_cell.html.erb +1 -1
- data/app/views/headmin/table/head/_cell.html.erb +1 -1
- data/app/views/headmin/table/head/cell/_asc.html.erb +2 -2
- data/app/views/headmin/table/head/cell/_default.html.erb +1 -1
- data/app/views/headmin/table/head/cell/_desc.html.erb +1 -1
- data/app/views/headmin/views/devise/confirmations/_new.html.erb +4 -4
- data/app/views/headmin/views/devise/passwords/_edit.html.erb +5 -5
- data/app/views/headmin/views/devise/passwords/_new.html.erb +4 -4
- data/app/views/headmin/views/devise/registrations/_edit.html.erb +10 -10
- data/app/views/headmin/views/devise/registrations/_new.html.erb +6 -6
- data/app/views/headmin/views/devise/sessions/_new.html.erb +5 -5
- data/app/views/headmin/views/devise/shared/_links.html.erb +11 -11
- data/app/views/headmin/views/devise/unlocks/_new.html.erb +4 -4
- data/lib/generators/templates/views/auth/confirmations/new.html.erb +1 -1
- data/lib/generators/templates/views/auth/mailer/confirmation_instructions.html.erb +1 -1
- data/lib/generators/templates/views/auth/mailer/email_changed.html.erb +1 -1
- data/lib/generators/templates/views/auth/mailer/password_change.html.erb +1 -1
- data/lib/generators/templates/views/auth/mailer/reset_password_instructions.html.erb +1 -1
- data/lib/generators/templates/views/auth/mailer/unlock_instructions.html.erb +1 -1
- data/lib/generators/templates/views/auth/passwords/edit.html.erb +1 -1
- data/lib/generators/templates/views/auth/passwords/new.html.erb +1 -1
- data/lib/generators/templates/views/auth/registrations/edit.html.erb +1 -1
- data/lib/generators/templates/views/auth/registrations/new.html.erb +1 -1
- data/lib/generators/templates/views/auth/sessions/new.html.erb +1 -1
- data/lib/generators/templates/views/auth/unlocks/new.html.erb +1 -1
- data/lib/generators/templates/views/layouts/auth.html.erb +3 -3
- data/lib/headmin/version.rb +1 -1
- data/package.json +1 -1
- metadata +3 -2
@@ -1,50 +1,50 @@
|
|
1
1
|
<%= turbo_frame_tag "modal_content" do %>
|
2
2
|
<%= form_with url: headmin_media_item_url(id: @blob.id), model: @blob do |form| %>
|
3
3
|
<div class="modal-header">
|
4
|
-
<h5 class="modal-title"><%= t(
|
5
|
-
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="<%= t(
|
4
|
+
<h5 class="modal-title"><%= t(".edit") %></h5>
|
5
|
+
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="<%= t(".close") %>"></button>
|
6
6
|
</div>
|
7
7
|
<div class="modal-body">
|
8
|
-
<%= render
|
8
|
+
<%= render "headmin/notifications" %>
|
9
9
|
<div class="row">
|
10
10
|
<div class="col-3">
|
11
|
-
<%= render
|
11
|
+
<%= render "headmin/thumbnail", src: url_for(@blob), width: 100, height: 100 %>
|
12
12
|
</div>
|
13
13
|
<div class="col-8 d-flex flex-column justify-content-center">
|
14
14
|
<p class="small text-secondary m-0">
|
15
|
-
<strong><%= t(
|
15
|
+
<strong><%= t(".uploaded_at") %>:</strong>
|
16
16
|
<%= l(@blob.created_at, format: :long) %>
|
17
17
|
</p>
|
18
18
|
<p class="small text-secondary m-0">
|
19
|
-
<strong><%= t(
|
19
|
+
<strong><%= t(".type") %>:</strong>
|
20
20
|
<%= @blob.content_type %>
|
21
21
|
</p>
|
22
22
|
<p class="small text-secondary m-0">
|
23
|
-
<strong><%= t(
|
23
|
+
<strong><%= t(".dimensions") %>:</strong>
|
24
24
|
<% if @blob.metadata[:width] && @blob.metadata[:height] %>
|
25
25
|
<%= "#{@blob.metadata[:width]}px x #{@blob.metadata[:height]}px" %>
|
26
26
|
<% else %>
|
27
|
-
<%= t(
|
27
|
+
<%= t(".not_analysed") %>
|
28
28
|
<% end %>
|
29
29
|
</p>
|
30
30
|
<p class="small text-secondary m-0">
|
31
|
-
<strong><%= t(
|
31
|
+
<strong><%= t(".size") %>:</strong>
|
32
32
|
<% if @blob.byte_size > 0 %>
|
33
33
|
<%= number_to_human_size(@blob.byte_size) %>
|
34
34
|
<% else %>
|
35
|
-
<%= t(
|
35
|
+
<%= t(".not_analysed") %>
|
36
36
|
<% end %>
|
37
37
|
</p>
|
38
38
|
</div>
|
39
39
|
</div>
|
40
40
|
<div class="row mt-3">
|
41
41
|
<div class="col-12">
|
42
|
-
<%= render
|
42
|
+
<%= render "headmin/forms/text", form: form, attribute: :filename, append: "." + form.object.filename.to_s.rpartition(".").last, value: form.object.filename.to_s.rpartition(".").first %>
|
43
43
|
</div>
|
44
44
|
</div>
|
45
45
|
</div>
|
46
46
|
<div class="modal-footer">
|
47
|
-
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><%= t(
|
47
|
+
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><%= t(".close") %></button>
|
48
48
|
<%= form.submit t(".update"), class: "btn btn-primary" %>
|
49
49
|
</div>
|
50
50
|
<% end %>
|
@@ -3,31 +3,31 @@
|
|
3
3
|
<div class="modal-content">
|
4
4
|
<div class="modal-header">
|
5
5
|
<h5 class="modal-title">
|
6
|
-
<%= t(
|
6
|
+
<%= t(".title", count: min.to_i < 1 ? 1 : min.to_i) %>
|
7
7
|
</h5>
|
8
|
-
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="<%= t(
|
8
|
+
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="<%= t(".close") %>"></button>
|
9
9
|
</div>
|
10
10
|
<div class="modal-body">
|
11
|
-
<%= turbo_frame_tag
|
11
|
+
<%= turbo_frame_tag "thumbnails", class: "d-flex flex-wrap gap-2" do %>
|
12
12
|
<% @blobs.each do |blob| %>
|
13
|
-
<%= render
|
13
|
+
<%= render "headmin/media/item", blob: blob %>
|
14
14
|
<% end %>
|
15
15
|
<div data-media-modal-target="placeholder" class="<%= "d-none" if !@blobs.empty? %>">
|
16
|
-
<p><%= t(
|
16
|
+
<p><%= t(".placeholder") %></p>
|
17
17
|
</div>
|
18
18
|
<% end %>
|
19
19
|
</div>
|
20
20
|
<div class="modal-footer">
|
21
|
-
<%= form_with url: headmin_media_path, multipart: true, data: {
|
21
|
+
<%= form_with url: headmin_media_path, multipart: true, data: {"media-modal-target": "form"}, class: "me-auto" do |form| %>
|
22
22
|
<%= form.label :files, class: "btn h-btn-outline-light" do %>
|
23
23
|
<%= bootstrap_icon("upload") %>
|
24
|
-
<%= t(
|
25
|
-
<%= form.file_field :files, class:
|
24
|
+
<%= t(".upload") %>
|
25
|
+
<%= form.file_field :files, class: "d-none", multiple: true, data: {action: "change->media-modal#submitForm"} %>
|
26
26
|
<% end %>
|
27
27
|
<% end %>
|
28
|
-
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><%= t(
|
28
|
+
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><%= t(".close") %></button>
|
29
29
|
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" data-action="click->media-modal#select" data-media-modal-target="selectButton">
|
30
|
-
<%= t(
|
30
|
+
<%= t(".select") %> (<span data-media-modal-target="count">0</span><%= t(".maximum", count: max.to_i) if max.present? %>)
|
31
31
|
</button>
|
32
32
|
</div>
|
33
33
|
</div>
|
@@ -1,3 +1,3 @@
|
|
1
1
|
<%= turbo_frame_tag "remote_modal" do %>
|
2
|
-
<%= render
|
2
|
+
<%= render "headmin/media/modal", blobs: @blobs, name: params[:name], min: params[:min], max: params[:max] %>
|
3
3
|
<% end %>
|
@@ -9,12 +9,12 @@
|
|
9
9
|
#
|
10
10
|
# ==== Examples
|
11
11
|
# Basic version.
|
12
|
-
# <%= render
|
13
|
-
# <%= render
|
14
|
-
# <%= render
|
12
|
+
# <%= render "headmin/nav/dropdown", name: "My Account", url: admin_user_path, icon: "person-circle" do %#>
|
13
|
+
# <%= render "headmin/nav/item", name: "Edit info", url: edit_admin_user_path(current_user) %#>
|
14
|
+
# <%= render "headmin/nav/item", name: "Log out", url: destroy_user_session_path(current_user) %#>
|
15
15
|
# <% end %#>
|
16
16
|
|
17
|
-
name = local_assigns.has_key?(:name) ? name :
|
17
|
+
name = local_assigns.has_key?(:name) ? name : ""
|
18
18
|
icon = local_assigns.has_key?(:icon) ? icon : nil
|
19
19
|
collapse_id = "nav-dropdown-#{name.parameterize}"
|
20
20
|
url = local_assigns.has_key?(:url) ? url : request.url
|
@@ -22,13 +22,13 @@
|
|
22
22
|
%>
|
23
23
|
|
24
24
|
<li class="nav-item">
|
25
|
-
<a class="nav-link d-flex align-items-center dropdown-toggle <%=
|
26
|
-
<%= bootstrap_icon(icon, class:
|
25
|
+
<a class="nav-link d-flex align-items-center dropdown-toggle <%= "active" if active %>" href="#<%= collapse_id %>" role="button" data-bs-toggle="collapse" aria-expanded="<%= active.to_s %>" aria-controls="<%= collapse_id %>">
|
26
|
+
<%= bootstrap_icon(icon, class: "me-2") if icon %>
|
27
27
|
<span class="d-block d-md-none d-lg-block">
|
28
28
|
<%= name %>
|
29
29
|
</span>
|
30
30
|
</a>
|
31
|
-
<ul class="collapse <%=
|
31
|
+
<ul class="collapse <%= "show" if active %>" id="<%= collapse_id %>">
|
32
32
|
<%= yield %>
|
33
33
|
</ul>
|
34
34
|
</li>
|
@@ -9,20 +9,20 @@
|
|
9
9
|
#
|
10
10
|
# ==== Examples
|
11
11
|
# Basic version.
|
12
|
-
# <%= render
|
12
|
+
# <%= render "headmin/nav/item", name: "Dashboard", url: admin_root_path %#>
|
13
13
|
#
|
14
14
|
# With icon
|
15
|
-
# <%= render
|
15
|
+
# <%= render "headmin/nav/item", name: "Dashboard", url: admin_root_path, icon: "speedometer" %#>
|
16
16
|
|
17
|
-
name = local_assigns.has_key?(:name) ? name :
|
17
|
+
name = local_assigns.has_key?(:name) ? name : ""
|
18
18
|
icon = local_assigns.has_key?(:icon) ? icon : nil
|
19
19
|
url = local_assigns.has_key?(:url) ? url : request.url
|
20
20
|
active = local_assigns.has_key?(:active) ? active : current_url?(url)
|
21
21
|
%>
|
22
22
|
|
23
23
|
<li class="nav-item">
|
24
|
-
<a class="nav-link d-flex align-items-center <%=
|
25
|
-
<%= bootstrap_icon(icon, class:
|
24
|
+
<a class="nav-link d-flex align-items-center <%= "active" if active %>" aria-current="page" href="<%= url %>">
|
25
|
+
<%= bootstrap_icon(icon, class: "me-2") if icon %>
|
26
26
|
<span class="d-block d-md-none d-lg-block">
|
27
27
|
<%= name %>
|
28
28
|
</span>
|
@@ -9,13 +9,13 @@
|
|
9
9
|
<% singular = scope.to_s.singularize.to_sym %>
|
10
10
|
<% user = send("current_#{singular}") %>
|
11
11
|
|
12
|
-
<%= render
|
13
|
-
<%= render
|
12
|
+
<%= render "headmin/dropdown", class: "nav-item" do %>
|
13
|
+
<%= render "headmin/dropdown/button", class: "nav-link", id: "nav-item-devise" do %>
|
14
14
|
<%= user.to_s %>
|
15
15
|
<% end %>
|
16
|
-
<%= render
|
17
|
-
<%= render
|
18
|
-
<%= render
|
19
|
-
<%= render
|
16
|
+
<%= render "headmin/dropdown/list", id: "nav-item-devise" do %>
|
17
|
+
<%= render "headmin/dropdown/item", name: t("headmin.nav.item.devise.edit_profile"), url: polymorphic_path([:edit, :admin, user]) %>
|
18
|
+
<%= render "headmin/dropdown/divider" %>
|
19
|
+
<%= render "headmin/dropdown/item", name: t("headmin.nav.item.devise.log_out"), url: polymorphic_path([:destroy, singular, :session]), data: { "turbo-method": "delete" } %>
|
20
20
|
<% end %>
|
21
21
|
<% end %>
|
@@ -4,14 +4,14 @@
|
|
4
4
|
parameters: none
|
5
5
|
%>
|
6
6
|
|
7
|
-
<%= render
|
8
|
-
<%= render
|
9
|
-
<%= bootstrap_icon(
|
10
|
-
<%= t(
|
7
|
+
<%= render "headmin/dropdown", class: "nav-item" do %>
|
8
|
+
<%= render "headmin/dropdown/button", class: "nav-link", id: "nav-item-locale" do %>
|
9
|
+
<%= bootstrap_icon("globe", class: "me-2") %>
|
10
|
+
<%= t("language_name", locale: ::I18n.locale) %>
|
11
11
|
<% end %>
|
12
|
-
<%= render
|
12
|
+
<%= render "headmin/dropdown/list", id: "nav-item-locale" do %>
|
13
13
|
<% I18n.available_locales.each do |locale| %>
|
14
|
-
<%= render
|
14
|
+
<%= render "headmin/dropdown/item", name: t("language_name", locale: locale), url: url_for({locale: locale.to_s}) %>
|
15
15
|
<% end %>
|
16
16
|
<% end %>
|
17
17
|
<% end %>
|
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
<div class="d-flex flex-row-reverse flex-md-row align-items-center justify-content-between justify-content-md-end my-1">
|
4
4
|
<ul class="pagination pagination-sm my-0" role="group" aria-label="...">
|
5
|
-
<li class="page-item <%=
|
6
|
-
<%= link_to 12, url_for(params.merge(per_page: 12)), class:
|
5
|
+
<li class="page-item <%= "active" if per_page == 12 %>">
|
6
|
+
<%= link_to 12, url_for(params.merge(per_page: 12)), class: "page-link" %>
|
7
7
|
</li>
|
8
|
-
<li class="page-item <%=
|
9
|
-
<%= link_to 24, url_for(params.merge(per_page: nil)), class:
|
8
|
+
<li class="page-item <%= "active" if per_page == 24 %>">
|
9
|
+
<%= link_to 24, url_for(params.merge(per_page: nil)), class: "page-link" %>
|
10
10
|
</li>
|
11
|
-
<li class="page-item <%=
|
12
|
-
<%= link_to 48, url_for(params.merge(per_page: 48)), class:
|
11
|
+
<li class="page-item <%= "active" if per_page == 48 %>">
|
12
|
+
<%= link_to 48, url_for(params.merge(per_page: 48)), class: "page-link" %>
|
13
13
|
</li>
|
14
14
|
</ul>
|
15
15
|
<div class="d-none d-md-block ms-2 me-md-2 text-secondary">
|
16
|
-
<%= t(
|
16
|
+
<%= t(".title") %>
|
17
17
|
</div>
|
18
18
|
</div>
|
@@ -6,6 +6,6 @@
|
|
6
6
|
per_page: number of items to fetch per page
|
7
7
|
remote: data-remote
|
8
8
|
-%>
|
9
|
-
<li class="page-item <%= (
|
10
|
-
<%= link_to raw(t
|
9
|
+
<li class="page-item <%= ("disabled" if current_page.first?) %>">
|
10
|
+
<%= link_to raw(t ".button"), url, class: "page-link", remote: remote %>
|
11
11
|
</li>
|
@@ -7,6 +7,6 @@
|
|
7
7
|
remote: data-remote
|
8
8
|
-%>
|
9
9
|
<li class="page-item
|
10
|
-
<%= (
|
11
|
-
<%= link_to raw(t
|
10
|
+
<%= ("disabled" if current_page.last?) %>">
|
11
|
+
<%= link_to raw(t ".button"), url, class: "page-link", remote: remote %>
|
12
12
|
</li>
|
@@ -6,8 +6,8 @@
|
|
6
6
|
per_page: number of items to fetch per page
|
7
7
|
remote: data-remote
|
8
8
|
-%>
|
9
|
-
<li class="page-item <%= (
|
10
|
-
<%= link_to url, class:
|
11
|
-
<%= raw(t
|
9
|
+
<li class="page-item <%= ("disabled" if current_page.last?) %>">
|
10
|
+
<%= link_to url, class: "page-link", rel: "next", remote: remote do %>
|
11
|
+
<%= raw(t ".button") %>
|
12
12
|
<% end %>
|
13
13
|
</li>
|
@@ -7,6 +7,6 @@
|
|
7
7
|
per_page: number of items to fetch per page
|
8
8
|
remote: data-remote
|
9
9
|
-%>
|
10
|
-
<li class="page-item <%=
|
11
|
-
<%= link_to page, url, opts = {remote: remote, class:
|
10
|
+
<li class="page-item <%= "active" if page.current? %>">
|
11
|
+
<%= link_to page, url, opts = {remote: remote, class: "page-link", rel: page.next? ? "next" : page.prev? ? "prev" : nil} %>
|
12
12
|
</li>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
paginator: the paginator that renders the pagination tags inside
|
8
8
|
-%>
|
9
9
|
<%= paginator.render do %>
|
10
|
-
<nav aria-label="<%= t(
|
10
|
+
<nav aria-label="<%= t(".title") %>">
|
11
11
|
<ul class="pagination pagination-sm m-0">
|
12
12
|
<%= first_page_tag %>
|
13
13
|
<%= prev_page_tag %>
|
@@ -6,6 +6,6 @@
|
|
6
6
|
per_page: number of items to fetch per page
|
7
7
|
remote: data-remote
|
8
8
|
-%>
|
9
|
-
<li class="page-item <%= (
|
10
|
-
<%= link_to raw(t
|
9
|
+
<li class="page-item <%= ("disabled" if current_page.first?) %>">
|
10
|
+
<%= link_to raw(t ".button"), url, rel: "prev", remote: remote, class: "page-link" %>
|
11
11
|
</li>
|
@@ -5,18 +5,18 @@
|
|
5
5
|
#
|
6
6
|
# ==== Examples
|
7
7
|
# Basic version
|
8
|
-
# <%= render
|
9
|
-
# <%= render
|
8
|
+
# <%= render "headmin/table/actions" do %#>
|
9
|
+
# <%= render "headmin/table/actions/delete", url: destroy_admin_pages_path %#>
|
10
10
|
# <% end %#>
|
11
11
|
|
12
12
|
%>
|
13
13
|
|
14
14
|
<% content_for :table_actions do %>
|
15
15
|
<th class="h-table-actions d-none" data-controller="table-actions" data-table-actions-target="wrapper" data-table-target="actions">
|
16
|
-
<%= form_with url:
|
17
|
-
<%= form.hidden_field :id, value:
|
16
|
+
<%= form_with url: "", data: { "table-actions-target": "form" } do |form| %>
|
17
|
+
<%= form.hidden_field :id, value: "", "data-table-actions-target": "idInput" %>
|
18
18
|
<%= form.hidden_field :authenticity_token, value: form_authenticity_token %>
|
19
|
-
<%= form.hidden_field :_method, value:
|
19
|
+
<%= form.hidden_field :_method, value: "POST", "data-table-actions-target": "method" %>
|
20
20
|
<%= query_parameter_fields(form) %>
|
21
21
|
|
22
22
|
<div class="row g-1">
|
@@ -24,21 +24,21 @@
|
|
24
24
|
<div class="d-flex align-items-center gap-3">
|
25
25
|
<label class="text-nowrap"
|
26
26
|
data-table-actions-target="counter"
|
27
|
-
data-items-zero="<%= t(
|
28
|
-
data-items-one="<%= t(
|
29
|
-
data-items-other="<%= t(
|
27
|
+
data-items-zero="<%= t(".items_html", count: 0) %>"
|
28
|
+
data-items-one="<%= t(".items_html", count: 1) %>"
|
29
|
+
data-items-other="<%= t(".items_html", count: 2) %>"
|
30
30
|
>
|
31
|
-
<%= t(
|
31
|
+
<%= t(".items_html", count: 0) %>
|
32
32
|
</label>
|
33
33
|
<select class="form-select me-1" data-table-actions-target="select" data-action="change->table-actions#update">
|
34
|
-
<option disabled selected="selected"><%= t(
|
34
|
+
<option disabled selected="selected"><%= t(".selection") %></option>
|
35
35
|
<%= yield %>
|
36
36
|
</select>
|
37
37
|
</div>
|
38
38
|
</div>
|
39
39
|
<div class="col-6 col-sm-auto">
|
40
40
|
<button class="btn h-btn-outline-light w-100" type="submit" data-table-actions-target="button" disabled>
|
41
|
-
<%= t(
|
41
|
+
<%= t(".apply") %>
|
42
42
|
</button>
|
43
43
|
</div>
|
44
44
|
</div>
|
@@ -9,16 +9,16 @@
|
|
9
9
|
#
|
10
10
|
# ==== Examples
|
11
11
|
# Basic version.
|
12
|
-
# <%= render
|
12
|
+
# <%= render "headmin/table/actions/action", name: "export", url: export_admin_products_path %#>
|
13
13
|
#
|
14
14
|
# Use a different HTTP method
|
15
|
-
# <%= render
|
15
|
+
# <%= render "headmin/table/actions/action", name: "export", url: export_admin_products_path, method: :post %#>
|
16
16
|
#
|
17
17
|
# Show a confirm dialog before submitting.
|
18
|
-
# <%= render
|
18
|
+
# <%= render "headmin/table/actions/action", name: "delete", url: destroy_admin_products_path, confirm: "Are you sure you want to delete these products?" %#>
|
19
19
|
|
20
20
|
url = local_assigns.has_key?(:url) ? local_assigns[:url] : request.path
|
21
|
-
method = local_assigns.has_key?(:method) ? local_assigns[:method] :
|
21
|
+
method = local_assigns.has_key?(:method) ? local_assigns[:method] : "GET"
|
22
22
|
confirm = local_assigns.has_key?(:confirm) ? local_assigns[:confirm] : nil
|
23
23
|
turbo = confirm ? true : false
|
24
24
|
%>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
#
|
7
7
|
# ==== Examples
|
8
8
|
# Basic version.
|
9
|
-
# <%= render
|
9
|
+
# <%= render "headmin/table/actions/delete", url: delete_admin_products_path %#>
|
10
10
|
%>
|
11
11
|
|
12
|
-
<%= render
|
12
|
+
<%= render "headmin/table/actions/action", name: t(".button"), url: url, method: "DELETE", confirm: t(".confirm") %>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
#
|
7
7
|
# ==== Examples
|
8
8
|
# Basic version.
|
9
|
-
# <%= render
|
9
|
+
# <%= render "headmin/table/actions/export", url: export_admin_products_path %#>
|
10
10
|
%>
|
11
11
|
|
12
|
-
<%= render
|
12
|
+
<%= render "headmin/table/actions/action", name: t(".button"), url: url %>
|
@@ -7,10 +7,10 @@
|
|
7
7
|
|
8
8
|
<td>
|
9
9
|
<% if value %>
|
10
|
-
<%= bootstrap_icon(
|
11
|
-
<%= t(
|
10
|
+
<%= bootstrap_icon("check-circle-fill", class: "text-success") %>
|
11
|
+
<%= t(".true") %>
|
12
12
|
<% else %>
|
13
|
-
<%= bootstrap_icon(
|
14
|
-
<%= t(
|
13
|
+
<%= bootstrap_icon("x-circle-fill", class: "text-secondary") %>
|
14
|
+
<%= t(".false") %>
|
15
15
|
<% end %>
|
16
16
|
</td>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
value: (DateTime) Date to be displayed
|
6
6
|
%>
|
7
7
|
|
8
|
-
<% format = defined?(format) && format ? format : t(
|
8
|
+
<% format = defined?(format) && format ? format : t(".format") %>
|
9
9
|
<td>
|
10
|
-
<%= value ? l(value, format: format) : t(
|
10
|
+
<%= value ? l(value, format: format) : t(".empty") %>
|
11
11
|
</td>
|
@@ -5,9 +5,9 @@
|
|
5
5
|
# * +class</tt> - Custom class names to add to the table row
|
6
6
|
#
|
7
7
|
# ==== Examples
|
8
|
-
# <%= render
|
9
|
-
# <%= render
|
10
|
-
# <%= render
|
8
|
+
# <%= render "headmin/table/body/row" do %#>
|
9
|
+
# <%= render "headmin/table/body/id", value: page.id %#>
|
10
|
+
# <%= render "headmin/table/body/string", value: page.title %#>
|
11
11
|
# <% end %#>
|
12
12
|
|
13
13
|
class_names = local_assigns.has_key?(:class) ? local_assigns[:class] : false
|
@@ -7,7 +7,7 @@
|
|
7
7
|
%>
|
8
8
|
|
9
9
|
<% sorting_param_key = local_assigns.has_key?(:sort) && sort ? "sort_#{sort}" : nil %>
|
10
|
-
<% template_name = params[sorting_param_key] ||
|
10
|
+
<% template_name = params[sorting_param_key] || "default" %>
|
11
11
|
<th>
|
12
12
|
<%= render "headmin/table/head/cell/#{template_name}", key: sorting_param_key, title: value %>
|
13
13
|
</th>
|
@@ -1,9 +1,9 @@
|
|
1
1
|
<%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: {method: :post}) do |f| %>
|
2
|
-
<%= render
|
2
|
+
<%= render "headmin/views/devise/shared/error_messages", resource: resource %>
|
3
3
|
|
4
|
-
<%= render
|
4
|
+
<%= render "headmin/forms/email", form: f, attribute: :email, required: true, float: true %>
|
5
5
|
|
6
|
-
<%= f.submit t(
|
6
|
+
<%= f.submit t(".resend"), class: "btn btn-lg btn-primary w-100" %>
|
7
7
|
|
8
|
-
<%= render
|
8
|
+
<%= render "headmin/views/devise/shared/links" %>
|
9
9
|
<% end %>
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: {method: :put}) do |f| %>
|
2
|
-
<%= render
|
2
|
+
<%= render "headmin/views/devise/shared/error_messages", resource: resource %>
|
3
3
|
|
4
4
|
<%= f.hidden_field :reset_password_token %>
|
5
5
|
|
6
|
-
<%= render
|
7
|
-
<%= render
|
6
|
+
<%= render "headmin/forms/password", form: f, attribute: :password, required: true, float: true %>
|
7
|
+
<%= render "headmin/forms/password", form: f, attribute: :password_confirmation, required: true, float: true %>
|
8
8
|
|
9
|
-
<%= f.submit t(
|
9
|
+
<%= f.submit t(".change_password"), class: "btn btn-lg btn-primary w-100" %>
|
10
10
|
|
11
|
-
<%= render
|
11
|
+
<%= render "headmin/views/devise/shared/links" %>
|
12
12
|
<% end %>
|
@@ -1,9 +1,9 @@
|
|
1
1
|
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: {method: :post}) do |f| %>
|
2
|
-
<%= render
|
2
|
+
<%= render "headmin/views/devise/shared/error_messages", resource: resource %>
|
3
3
|
|
4
|
-
<%= render
|
4
|
+
<%= render "headmin/forms/email", form: f, attribute: :email, required: true, float: true %>
|
5
5
|
|
6
|
-
<%= f.submit t(
|
6
|
+
<%= f.submit t(".send_instructions"), class: "btn btn-lg btn-primary w-100" %>
|
7
7
|
|
8
|
-
<%= render
|
8
|
+
<%= render "headmin/views/devise/shared/links" %>
|
9
9
|
<% end %>
|