{% extends '@admin/default_frame.twig' %}
{% set menus = ['content', 'feature'] %}
{% block title %}{{ 'tbs_feature_page.admin.feature.title'|trans }}{% endblock %}
{% block sub_title %}{{ 'tbs_feature_page.admin.feature.sub_title'|trans }}{% endblock %}
{% block stylesheet %}
<!--
<link rel="stylesheet" href="{{ asset('assets/css/tempusdominus-bootstrap-4.min.css', 'admin') }}">
-->
<link rel="stylesheet" href="/html/template/admin/assets/css/tempusdominus-bootstrap-4.min.css">
<style type="text/css">
.datepicker-days th.dow:first-child,
.datepicker-days td:first-child {
color: #f00;
}
.datepicker-days th.dow:last-child,
.datepicker-days td:last-child {
color: #00f;
}
</style>
{% endblock stylesheet %}
{% block javascript %}
<!--
<script src="{{ asset('assets/js/vendor/jquery.ui/jquery.ui.core.min.js', 'admin') }}"></script>
<script src="{{ asset('assets/js/vendor/jquery.ui/jquery.ui.widget.min.js', 'admin') }}"></script>
<script src="{{ asset('assets/js/vendor/jquery.ui/jquery.ui.mouse.min.js', 'admin') }}"></script>
<script src="{{ asset('assets/js/vendor/jquery.ui/jquery.ui.sortable.min.js', 'admin') }}"></script>
-->
<script src="/html/plugin/tbsFeaturePage/assets/js/vendor/jquery.ui/jquery.ui.core.min.js"></script>
<script src="/html/plugin/tbsFeaturePage/assets/js/vendor/jquery.ui/jquery.ui.widget.min.js"></script>
<script src="/html/plugin/tbsFeaturePage/assets/js/vendor/jquery.ui/jquery.ui.mouse.min.js"></script>
<script src="/html/plugin/tbsFeaturePage/assets/js/vendor/jquery.ui/jquery.ui.sortable.min.js"></script>
<script src="/html/template/admin/assets/js/vendor/moment.min.js"></script>
<script src="/html/template/admin/assets/js/vendor/tempusdominus-bootstrap-4.min.js"></script>
<script>
$(function() {
// 画面の中のrank一覧を保持
var oldRanks = [];
$(".table .sortable-item > tr").each(function() {
oldRanks.push(this.dataset.rank);
});
// rsort
oldRanks.sort(function (a, b) {
return a - b;
}).reverse();
// Drag and Drop
$(".table").sortable({
items: '.sortable-item > tr',
cursor: 'move',
update: function(e, ui) {
$("body").append($('<div class="modal-backdrop show"></div>'));
updateRank();
}
});
// 並び替え後にrankを更新
var updateRank = function() {
var newRanks = {};
var i = 0;
$(".table .sortable-item > tr").each(function() {
newRanks[this.dataset.featureid] = oldRanks[i];
i++;
});
$.ajax({
url: '{{ url('tbs_feature_page_admin_feature_move') }}',
type: 'POST',
data: newRanks
}).always(function() {
$(".modal-backdrop").remove();
});
};
$('.delete-feature').click(function () {
var modalId = $(this).data('target');
$(modalId).css('opacity', 1.0);
$(modalId).children('div.modal-dialog').css('transform', 'none');
$(modalId).show();
});
$('.close-modal').click(function () {
var p = $(this).parents('div.modal');
p.css('opacity', 0.0);
p.hide();
});
});
</script>
{% endblock javascript %}
{% block main %}
<div class="c-contentsArea__cols">
<div class="c-contentsArea__primaryCol">
<div class="c-primaryCol">
<div class="d-block mb-3">
<a id="addNew" class="btn btn-ec-regular"
href="{{ url('tbs_feature_page_admin_feature_new') }}">{{ 'admin.common.create__new'|trans }}</a>
</div>
<div class="card rounded border-0 mb-4">
<div class="card-body p-0">
<table class="table table-sm">
<thead>
<tr>
<th class="col-auto"></th>
<th class="col-auto">{{ 'tbs_feature_page.admin.feature.th_id'|trans }}</th>
<th class="col-auto">{{ 'tbs_feature_page.admin.feature.th_title'|trans }}</th>
<th class="col-auto">{{ 'tbs_feature_page.admin.feature.th_url'|trans }}</th>
<th class="col-auto">{{ 'tbs_feature_page.admin.feature.th_banner'|trans }}</th>
<th class="col-auto">{{ 'tbs_feature_page.admin.feature.th_display_status'|trans }}</th>
<th class="col-auto">{{ 'tbs_feature_page.admin.feature.th_display_period'|trans }}</th>
<th class="col-auto"> </th>
</tr>
</thead>
<tbody class="sortable-item">
{% for Feature in Features %}
<tr data-featureid="{{ Feature.id }}" data-rank="{{ Feature.rank }}">
<td class="col-auto"><i class="fa fa-bars text-ec-gray"></i></td>
<td class="col-auto">{{ Feature.id }}</td>
<td class="col-auto">
<a href="{{ url('tbs_feature_page_admin_feature_edit', { id : Feature.id }) }}">{{ Feature.title }}</a>
</td>
<td class="col-auto">{{ Feature.url }}</td>
<td class="col-auto">
<a href="{{ url('tbs_feature_page_admin_feature_edit', { id : Feature.id }) }}">
{% if Feature.banner_file_name %}
<img src="{{ asset('tbsFeaturePage/save_image/' ~ Feature.banner_file_name, 'plugin') }}" style="width:265px;" />
{% endif %}
</a>
</td>
<td class="col-auto">{{ Feature.Status.name }}</td>
<td class="col-auto">{{ Feature.start_date|date_format }} {{ 'admin.common.separator__range'|trans }} {{ Feature.end_date|date_format }}</td>
<td class="col-auto icon_edit text-right">
<a href="{{ url('tbs_feature_page_admin_feature_edit', { id : Feature.id }) }}"
class="btn btn-ec-actionIcon mr-3 action-edit"
data-toggle="tooltip"
data-placement="top" title=""
data-original-title=""><i class="fa fa-pencil fa-lg text-secondary"></i></a>
<a href="{{ url('feature_detail', {url:Feature.url}) }}"
class="btn btn-ec-actionIcon mr-3 action-edit"
target="_blank"><i class="fa fa-eye fa-lg text-secondary" aria-hidden="true"></i></a>
<a
class="btn btn-ec-actionIcon mr-3 delete-feature"
data-toggle="modal"
data-target="#confirmModal-{{ Feature.id }}"
data-toggle="tooltip"
data-placement="top"><i class="fa fa-close fa-lg text-secondary"></i></a>
<div class="modal fade" id="confirmModal-{{ Feature.id }}" tabindex="-1"
role="dialog"
aria-labelledby="confirmModal-{{ Feature.id }}" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title font-weight-bold">
{{ 'tbs_feature_page.admin.feature.delete_confirm_title'|trans }}</h5>
<button class="close close-modal" type="button"
data-dismiss="modal"
aria-label="Close"><span
aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body text-left">
<p class="text-left">
{{ 'tbs_feature_page.admin.feature.delete_confirm_message'|trans }}</p>
</div>
<div class="modal-footer">
<button class="btn btn-ec-sub close-modal" type="button"
data-dismiss="modal">{{ 'tbs_feature_page.admin.feature.delete_cancel'|trans }}
</button>
<a
href="{{ url('tbs_feature_page_admin_feature_delete', { id : Feature.id }) }}"
class="btn btn-ec-delete"
data-confirm="false"
{{ csrf_token_for_anchor() }}
data-method="delete">
{{ 'tbs_feature_page.admin.feature.delete'|trans }}
</a>
</div>
</div>
</div>
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
{% endblock %}