Closed Gemorroj closed 8 years ago
У меня не получается, чтоб работало 2 popupMenu. 1 - это меню действий {Ред., Уд.}. 2 - это подтверждение удаления, окошко не отображается.
<ul data-role="listview" data-inset="true" data-split-icon="edit" data-split-theme="a">
{% for post in posts %}
<li class="ui-li-divider ui-bar-inherit ui-first-child" data-role="list-divider">{{ post.user.username }}: {{ post.createdAt|date }}</li>
<li>
<a>
<p>{{ post.text }}</p>
</a>
{% if app.user and is_granted('EDIT', post) %}
{# {{ path('post_edit', {'id': post.id}) }} #}
<a href="#post{{ post.id }}" data-rel="popup" data-transition="slideup" class="ui-btn ui-icon-gear ui-btn-icon-left ui-btn-a">Управление</a>
<div data-role="popup" id="post{{ post.id }}" data-theme="b">
<ul data-role="listview" data-inset="true" style="min-width:210px;">
<li data-role="list-divider">Действие</li>
<li><a href="{{ path('post_edit', {'id': post.id}) }}">Редактировать</a></li>
<li>
<a href="#postDelete{{ post.id }}" data-rel="popup" data-position-to="window" data-transition="pop" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-delete ui-btn-icon-left ui-btn-b">Удалить</a>
</li>
</ul>
</div>
<div data-role="popup" id="postDelete{{ post.id }}" data-overlay-theme="b" data-theme="b" data-dismissible="false" style="max-width:400px;">
<div data-role="header" data-theme="a">
<h1>Удалить сообщение?</h1>
</div>
<div role="main" class="ui-content">
<h3 class="ui-title">Вы уверены в том, что хотите удалить данное сообщение?</h3>
<p>Подтверждение</p>
<a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back">Отмена</a>
<a href="{{ path('post_delete', {'id': post.id}) }}" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back" data-transition="flow">Удаление</a>
</div>
</div>
{% endif %}
</li>
{% else %}
<li>Пусто</li>
{% endfor %}
</ul>
не не не. должно быть всего 2 попапа, а не по 2 на каждый пост.
на js нужно динамически их создавать.
Не работает ссылка на другой popup через popup
{% extends '@Forum/layout/layout.html.twig' %}
{% block title %}{{ topic.forum.title }} / {{ topic.title }}{% endblock %}
{% block javascripts %}
<script type="text/javascript">
/*$.mobile.switchPopup = function(sourceElement, destinationElement, onswitched) {
var afterClose = function() {
destinationElement.popup("open");
sourceElement.off("popupafterclose", afterClose);
if (onswitched && typeof onswitched === "function"){
onswitched();
}
};
sourceElement.on("popupafterclose", afterClose);
sourceElement.popup("close");
};*/
/*
$( document ).ready(function() {
$( '#post' ).click(function( event ) {
console.log( $( this ).attr('data-id') );
$( '#actions' ).popup( 'open' );
});
$( '#post_delete' ).click(function( event ) {
$( '#actions' ).popup( 'close' );
$( '#popupDialog' ).popup( 'open' );
});
});
$('#popupDialog').on('click', function () {
$('#actions').popup('close');
setTimeout( function() { $('#dialog').popup('open'); }, 100 );
});
*/
</script><!-- PopupMenu -->
{% endblock %}
{% block content %}
{% block popup %}
<!-- \ActionsPopup -->
<div id="actions" data-role="popup" data-theme="b">
<ul data-role="listview" data-inset="true" style="min-width:210px;">
<li data-role="list-divider">Действие</li>
{% if is_granted('EDIT', topic) or is_granted('EDIT', post) %}
<li><a id="post_edit">Редактировать</a></li>
{% endif %}
{% if is_granted('DELETE', topic) or is_granted('DELETE', post) %}
<!-- Link to confirmPopup -->
<li><a id="link2confirm" href="#confirm" data-rel="popup" data-position-to="window" data-transition="pop" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-delete ui-btn-icon-left ui-btn-b">Delete page...</a></li>
{% endif %}
</ul>
</div>
<!-- /actionsPopup -->
<!-- \confirmPopup -->
<div data-role="popup" id="confirm" data-overlay-theme="b" data-theme="b" data-dismissible="false" style="max-width:400px;">
<div data-role="header" data-theme="a">
<h1>Delete Page?</h1>
</div>
<div role="main" class="ui-content">
<h3 class="ui-title">Are you sure you want to delete this page?</h3>
<p>This action cannot be undone.</p>
<a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back">Cancel</a>
<a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back" data-transition="flow">Delete</a>
</div>
</div>
<!-- /ConfirmPopup -->
{% endblock %}
<ul data-role="listview" data-inset="true" data-split-icon="edit" data-split-theme="a">
{% for post in posts %}
<li class="ui-li-divider ui-bar-inherit ui-first-child" data-role="list-divider">{{ post.user.username }}: {{ post.createdAt|date }}</li>
<li>
<a data-id="{{ post.id }}" id="post" href="#">
<p>{{ post.text }}</p>
</a>
{% if app.user and (is_granted('DELETE', post) or is_granted('EDIT', post)) %}
<!-- Link to actionsPopup -->
<a href="#actions" data-rel="popup" data-transition="slideup" class="ui-btn ui-icon-gear ui-btn-icon-left ui-btn-a">Управление</a>
{% endif %}
</li>
{% else %}
<li>Пусто</li>
{% endfor %}
</ul>
{% include 'ForumBundle:layout:paginate.html.twig' with {'data': posts} %}
{{ form_start(form) }}
{{ form_widget(form) }}
{{ form_end(form) }}
{% endblock %}
делай 2 кнопки (отдельно удаление и редактирование). примерно как на скриншоте. p.s. да кстати, примерно даже как тут на гитхабе.
Перед удалением темы или сообщения, выводить попап с подтверждением действия. Далее запрос на удаление должен отправляться методом POST