mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-10 17:21:38 -05:00
91 lines
4.1 KiB
Text
91 lines
4.1 KiB
Text
<% content_for :title, 'Points' %>
|
|
|
|
<div class="w-full">
|
|
<%= form_with url: points_path(import_id: params[:import_id]), data: { turbo_method: :get }, method: :get do |f| %>
|
|
<div class="flex flex-col md:flex-row md:space-x-4 md:items-end">
|
|
<div class="w-full md:w-2/12">
|
|
<div class="flex flex-col space-y-2">
|
|
<%= f.label :start_at, class: "text-sm font-semibold" %>
|
|
<%= f.datetime_local_field :start_at, class: "rounded-md w-full", value: @start_at %>
|
|
</div>
|
|
</div>
|
|
<div class="w-full md:w-2/12">
|
|
<div class="flex flex-col space-y-2">
|
|
<%= f.label :end_at, class: "text-sm font-semibold" %>
|
|
<%= f.datetime_local_field :end_at, class: "rounded-md w-full", value: @end_at %>
|
|
</div>
|
|
</div>
|
|
<div class="w-full md:w-2/12">
|
|
<div class="flex flex-col space-y-2">
|
|
<%= f.label :import, class: "text-sm font-semibold" %>
|
|
<%= f.select :import_id, options_for_select(@imports.map { |i| [i.name, i.id] }, params[:import_id]), { include_blank: true }, class: "rounded-md w-full" %>
|
|
</div>
|
|
</div>
|
|
<div class="w-full md:w-1/12">
|
|
<div class="flex flex-col space-y-2">
|
|
<%= f.submit "Search", class: "px-4 py-2 bg-blue-500 text-white rounded-md" %>
|
|
</div>
|
|
</div>
|
|
<div class="w-full md:w-2/12">
|
|
<div class="flex flex-col space-y-2 text-center">
|
|
<%= link_to 'Export as GeoJSON', exports_path(start_at: @start_at, end_at: @end_at, file_format: :json), data: { confirm: "Are you sure?", turbo_confirm: "Are you sure? This will start background process of exporting points within timeframe, selected between #{@start_at} and #{@end_at}", turbo_method: :post }, class: "px-4 py-2 bg-green-500 text-white rounded-md join-item" %>
|
|
</div>
|
|
</div>
|
|
<div class="w-full md:w-2/12">
|
|
<div class="flex flex-col space-y-2 text-center">
|
|
<%= link_to 'Export as GPX', exports_path(start_at: @start_at, end_at: @end_at, file_format: :gpx), data: { confirm: "Are you sure?", turbo_confirm: "Are you sure? This will start background process of exporting points within timeframe, selected between #{@start_at} and #{@end_at}", turbo_method: :post }, class: "px-4 py-2 bg-green-500 text-white rounded-md join-item" %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
|
|
<div class='text-center my-5'>
|
|
<%= paginate @points %>
|
|
</div>
|
|
|
|
<div id="points" class="min-w-full">
|
|
<div data-controller='checkbox-select-all'>
|
|
<%= form_with url: bulk_destroy_points_path, method: :delete, id: :bulk_destroy_form do |f| %>
|
|
|
|
<div class="flex justify-between my-5">
|
|
<%= f.submit "Delete Selected", class: "px-4 py-2 bg-red-500 text-white rounded-md", data: { confirm: "Are you sure?", turbo_confirm: "Are you sure?" } %>
|
|
<div>
|
|
<%= page_entries_info @points, entry_name: 'point' %>
|
|
</div>
|
|
<div class="flex justify-end">
|
|
<span class="mr-2">Order by:</span>
|
|
<%= link_to 'Newest', points_path(order_by: :desc, import_id: params[:import_id]), class: 'btn btn-xs btn-primary mx-1' %>
|
|
<%= link_to 'Oldest', points_path(order_by: :asc, import_id: params[:import_id]), class: 'btn btn-xs btn-primary mx-1' %>
|
|
</div>
|
|
</div>
|
|
|
|
<table class='table'>
|
|
<thead>
|
|
<tr>
|
|
<th>
|
|
<%= label_tag do %>
|
|
Select all
|
|
<%= check_box_tag 'Select all',
|
|
id: :select_all_points,
|
|
data: {
|
|
checkbox_select_all_target: 'parent',
|
|
action: 'change->checkbox-select-all#toggleChildren'
|
|
}
|
|
%>
|
|
<% end %>
|
|
</div>
|
|
</th>
|
|
<th>Recorded At</th>
|
|
<th>Coordinates</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<% @points.each do |point| %>
|
|
<%= render point %>
|
|
<% end %>
|
|
</tbody>
|
|
</table>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
</div>
|