Sana Popup cancel and continue

 



_templateDetails.cshtml
<td class="text-center delete-btn">
                <a class="hyp hyp-remove btn-delete-icon" data-src="@CurrentView.Url.Action("Remove")">                  
                    @CurrentView.Sana.SimpleText("")
                </a>
            </td>

page.ordertemplate.js

// Ticket 79482: [Wave 2] 3.7.1.EDITABLE QUICK ORDERING TEMPLATES
    // Remove item/s form Template details page.
    $(document).on("click""#orderTemplateDetailsPage .hyp-remove"function (event) {       
        event.preventDefault();
 
        templateToDealte = "";
        templateToClarCashe = "";
        deletedRow = "";
 
        var dataToDelete = {},
            $row = $(this).closest('tr');
 
        dataToDelete.src = $(this).attr('data-src');
        dataToDelete.product = $row.attr('data-templatelineid');
        dataToDelete.basket = $row.attr('data-basketid');
 
        ($row.hasClass('row-header'? $row.nextUntil('.upper-row': $row)
            .find('input[type=text]')
            .prop('disabled''true');
 
        deletedRow = $row;
        templateToDealte = dataToDelete.product;
        templateToClarCashe = dataToDelete.basket;
 
        Sana.OrderTemplateItemDeletePopup.open();
 
    });


When User click OK button 

_templateDetails.cshtml ()

<div id="deleteOrderTemplateItemPopup" class="text-center" style="displaynone;">
                            <div id="deleteOrderTemplateItemBody" class="popup-cnt">
                                <div class="cnt-column">
                                    <h2> @Sana.SimpleText("TemplateItem_Delete_Warning_Header""Warning")</h2>
                                    <p>@Sana.SimpleText("TemplateItem_Delete_Warning_Message""TemplateItem Delete Warning Message")</p>
                                </div>
                                <div class="ftr-column">
                                    <button class="btn-cancel btn btn-close-dialog btn-small btn-cancel-color">
                                        @Sana.SimpleText("ButtonText_Cancel")
                                    </button>
                                    <button id="confirmItemDelete" class="btn btn-small">@Sana.SimpleText("OK""OK")</button>
                                </div>
                            </div>
                        </div>

page.ordertemplatedetails.js

// Ticket 79482: [Wave 2] 3.7.1.EDITABLE QUICK ORDERING TEMPLATES
    // When Click delete Order TemplateItem Popup's Ok button Call controller method.
    $(document).on("click""#deleteOrderTemplateItemPopup #confirmItemDelete"function (event) {
 
        event.preventDefault();
 
        $.ajax({
            type: "POST",
            url: '/profile/ordertemplates/deleteline',
            data: JSON.stringify({ lineId: templateToDealte, basketId: templateToClarCashe }),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                if (data.success && deletedRow && deletedRow !== "") {
                    deletedRow.remove();
                    $(deletedRow).closest('inner-row').remove();
                }
                $('#deleteOrderTemplateItemPopup').dialog("close");
 
                templateToDealte = "";
                templateToClarCashe = "";
                deletedRow = "";
 
                var rows = $('.gvi-order-details >  tbody > tr');
 
                $.map(rows, function (row) {
                    if ($(row).hasClass('collapsiblePanel-title')) {
                        var nextRow = $(row).next();
                        if ($(nextRow).length === 0 || $(nextRow).hasClass('collapsiblePanel-title')) {
                            $(row).closest('tr.collapsiblePanel-title').remove();
                        }
                    }
                });
            }
        });
    });


ExtendedOrderTemplatesController

public class ExtendedOrderTemplatesController : OrderTemplatesController
 {
  protected override void RegisterSystemRoutes(SanaRouteCollection routes)
   {
    routes.MapActionRoute(controller: Name, action: "DeleteTemplateLine", urlPath: "profile/ordertemplates/deleteline");
    

ExtendedOrderTemplatesController

// Ticket 79482: [Wave 2] 3.7.1. EDITABLE QUICK ORDERING TEMPLATES
        /// <summary>
        /// This method will delete template line
        /// use page.ordertemplatedetails.js
        /// </summary>
        /// <param name="deleteItem">DeleteItemModel</param>
        /// <returns></returns>
        [HttpPost]
        [ValidateInput(false)]
        [RequireAbility(AbilityTo.SaveOrderTemplate)]
        public virtual ActionResult DeleteTemplateLine(DeleteItemModel deleteItem)
        {
            if (deleteItem != null)
            {
                ((ExtendedOrderTemplatesApi)ShopApi.OrderTemplates).RemoveTemplateLine(deleteItem.lineId, deleteItem.basketId);
 
                return Json(new { success = true, responseText = "" }, JsonRequestBehavior.AllowGet);
            }
            return Json(new { success = false, responseText = "" }, JsonRequestBehavior.AllowGet);
        }