ildar-shaymukhametov_grandnode-refactorings/Grand.Web/Areas/Admin/Views/CustomerAction/_ConditionCustomerTag.cshtml
@model CustomerActionConditionModel

    @if (String.IsNullOrEmpty(Model.Id))
    {
        <div class="note note-info">
            @T("Admin.Customers.CustomerActionCondition.SaveBeforeEdit")
        </div>
    }
    @if (!String.IsNullOrEmpty(Model.Id))
    {
        <div class="panel panel-default">
            <div class="panel-body">
                <div id="customertag-grid"></div>
            </div>
        </div>
        <script>
    $(document).ready(function () {
    $("#customertag-grid").kendoGrid({
        dataSource: {
            transport: {
                read: {
                    url: "@Html.Raw(Url.Action("ConditionCustomerTag", "CustomerAction", new { customerActionId = Model.CustomerActionId, conditionId = Model.Id }))",
                    type: "POST",
                    dataType: "json",
                    data: addAntiForgeryToken
                },
                create: {
                    url: "@Html.Raw(Url.Action("ConditionCustomerTagInsert", "CustomerAction", new { customerActionId = Model.CustomerActionId, conditionId = Model.Id }))",
                    type: "POST",
                    dataType: "json",
                    data: addAntiForgeryToken
                },
                destroy: {
                    url: "@Html.Raw(Url.Action("ConditionDeletePosition", "CustomerAction", new { customerActionId = Model.CustomerActionId, conditionId = Model.Id }))",
                    type: "POST",
                    dataType: "json",
                    data: addAntiForgeryToken
                }
            },
            schema: {
                data: "Data",
                total: "Total",
                errors: "Errors",
                model: {
                    id: "Id",
                    fields: {
                        CustomerTag: { editable: true, type: "string" },
                        CustomerTagId: { editable: true, type: "string" },
                        Id: { editable: false, type: "string" }
                    }
                }
            },
            requestEnd: function (e) {
                if (e.type == "create" || e.type == "update") {
                    this.read();
                }
            },
            error: function (e) {
                display_kendoui_grid_error(e);
                // Cancel the changes
                this.cancelChanges();
            },
            serverPaging: true,
            serverFiltering: true,
            serverSorting: true
        },
        pageable: {
            refresh: true,
            numeric: false,
            previousNext: false,
            info: false
        },
        toolbar: [{ name: "create", text: "@T("Admin.Common.AddNewRecord")" }, { name: "save", text: "@T("Admin.Common.Save")" }, { name: "cancel", text: "@T("Admin.Common.Cancel")" }],
        editable: {
            confirmation: false,
            mode: "inline",
        },
        scrollable: false,
        columns: [{
                field: "CustomerTag",
                title: "@T("Admin.Customers.CustomerActionCondition.Fields.CustomerTagName")",
                width: 200,
                editor: customerTagDropDownEditor,
                template: "#:CustomerTag#"
            },
            {
            command: [
            {
                name: "destroy",
                text: "@T("Admin.Common.Delete")"
            }],
            width: 200
        }]
    });
});


    function customerTagDropDownEditor(container, options) {
        $('<input required data-text-field="Name" data-value-field="Id" data-bind="value:CustomerTagId"/>')
            .appendTo(container)
            .kendoDropDownList({
                autoBind: false,
                dataSource:
                {
                    transport: {
                        read: "@Html.Raw(Url.Action("CustomerTags", "CustomerAction"))"
                    }
                },
                optionLabel: " -- Select -- "
            });
        }
    </script>
    }
