Added views for QOR admin

This commit is contained in:
Nedim
2023-09-07 13:04:34 +02:00
parent 40c6366608
commit f02e5e49cb
180 changed files with 18556 additions and 2 deletions

View File

@@ -0,0 +1,52 @@
{{ $paginationResult := pagination }}
{{ if $paginationResult }}
<nav class="qor-pagination-container">
{{range $index, $page := $paginationResult.Pages}}
{{if $page.IsFirst }}
<a class="qor-pagination-first" href="{{patch_current_url "page" $page.Page}}" title="{{t "qor_admin.pagination.first" "First Page"}}" aria-label="{{t "qor_admin.pagination.first" "First Page"}}">{{t "qor_admin.pagination.first" "First Page"}}</a>
{{end}}
{{end}}
<ul class="qor-pagination">
{{range $index, $page := $paginationResult.Pages}}
{{if $page.IsPrevious}}
<li class="qor-pagination-item qor-pagination-previous">
<a href="{{patch_current_url "page" $page.Page}}" title="{{t "qor_admin.pagination.previous" "Previous Page"}}" aria-label="{{t "qor_admin.pagination.previous"}}"><i class="material-icons">&#xE408;</i></a>
</li>
{{else if $page.IsNext}}
<li class="qor-pagination-item qor-pagination-next">
<a href="{{patch_current_url "page" $page.Page}}" title="{{t "qor_admin.pagination.next" "Next Page"}}" aria-label="{{t "qor_admin.pagination.next"}}"><i class="material-icons">&#xE409;</i></a>
</li>
{{else if $page.Current}}
<li class="qor-pagination-item active"><a href="{{patch_current_url "page" $page.Page}}">{{$page.Page}}</a></li>
{{else if not (or $page.IsFirst $page.IsLast) }}
<li class="qor-pagination-item"><a href="{{patch_current_url "page" $page.Page}}">{{$page.Page}}</a></li>
{{end}}
{{end}}
</ul>
{{range $index, $page := $paginationResult.Pages}}
{{if $page.IsLast }}
<a class="qor-pagination-last" href="{{patch_current_url "page" $page.Page}}" title="{{t "qor_admin.pagination.page_num" "Page {{.Pages}}" $paginationResult.Pagination }}" aria-label="{{t "qor_admin.pagination.last" "Last Page"}}">{{t "qor_admin.pagination.last" "Last Page"}}</a>
{{end}}
{{end}}
<div class="qor-actions" data-toggle="qor.filter">
<select class="qor-action--select" data-toggle="qor.selector" data-position="bottom" data-hover="true" data-clearable="false" name="per_page"
{{ if eq 20 $paginationResult.Pagination.PerPage }}
placeholder="{{t "qor_admin.pagination.20_entries" "20 Entries per page" }}"
{{ else if eq 50 $paginationResult.Pagination.PerPage }}
placeholder="{{t "qor_admin.pagination.50_entries" "50 Entries per page" }}"
{{ else if eq 100 $paginationResult.Pagination.PerPage }}
placeholder="{{t "qor_admin.pagination.100_entries" "100 Entries per page" }}"
{{ else }}
placeholder="{{t "qor_admin.pagination.show_all" "Show All Entries"}}"
{{ end }} >
<option value="20">{{t "qor_admin.pagination.20_entries" "20 Entries per page" }}</option>
<option value="50">{{t "qor_admin.pagination.50_entries" "50 Entries per page" }}</option>
<option value="100">{{t "qor_admin.pagination.100_entries" "100 Entries per page" }}</option>
<option value="1000">{{t "qor_admin.pagination.1000_entries" "1000 Entries per page" }}</option>
</select>
</div>
</nav>
{{ end }}

View File

@@ -0,0 +1,56 @@
{{$context := .}}
{{$resource := .Resource}}
{{if len .Result}}
<table class="mdl-data-table mdl-js-data-table qor-table qor-js-table">
<thead>
<tr>
{{$order_by := $context.Request.URL.Query.Get "order_by"}}
{{$metas := convert_sections_to_metas $resource index_sections}}
{{range $index, $meta := $metas}}
{{$dbName := $meta.DBName}}
{{$is_sorted := eq $order_by $dbName}}
{{$is_desc_sorted := eq $order_by (print $dbName "_desc")}}
<th class="mdl-data-table__cell--non-numeric {{if is_sortable_meta $meta}}{{if (or $is_sorted $is_desc_sorted)}}is-sorted{{end}}{{end}}" data-heading="{{$meta.Name}}" {{if is_sortable_meta $meta}}{{if $is_sorted}}data-order-by="{{$dbName}}_desc"{{else}}data-order-by="{{$dbName}}"{{end}}{{end}}>{{meta_label $meta}}</th>
{{end}}
<th class="mdl-data-table__cell--non-numeric qor-table__actions"></th>
</tr>
</thead>
<tbody>
{{range $result := .Result}}
{{$primaryKey := primary_key_of $result}}
{{$uniqueKey := unique_key_of $result}}
<tr data-primary-key="{{$primaryKey}}" data-url="{{url_for $result $resource}}">
{{range $meta := $metas}}
{{$value := render_meta $result $meta}}
<td class="mdl-data-table__cell--non-numeric" data-heading="{{$meta.Name}}">
<div class="qor-table__content">{{$value}}</div>
</td>
{{end}}
<td class="mdl-data-table__cell--non-numeric qor-table__actions">
{{$allowed_actions := allowed_actions $resource.GetActions "menu_item" $result}}
{{if $allowed_actions}}
<button id="actions-for-{{$uniqueKey}}" class="mdl-button mdl-js-button mdl-button--icon qor-button--actions">
<i class="material-icons">more_vert</i>
</button>
<ul class="mdl-menu mdl-menu--bottom-right mdl-js-menu" for="actions-for-{{$uniqueKey}}">
{{range $action := $allowed_actions}}
<li class="mdl-menu__item" qor-icon-name="{{$action.Name}}">
{{render_with "shared/action_item" (to_map "Action" $action "Result" $result "Context" $context "Resource" $resource "Mode" "menu_item")}}
</li>
{{end}}
</ul>
{{end}}
</td>
</tr>
{{end}}
</tbody>
</table>
{{else}}
<h2 class="qor-page__tips">{{t (printf "%v.tables.no_items" $resource.ToParam) (printf "No %v to show." (lower (plural $resource.Name)))}}</h2>
{{end}}