$("#JQGrid1").jqGrid({
url: "/manager/Products/OnProductDataRequested",
editurl: '/manager/Products/EditProductData',
mtype: "GET",
datatype: "json",
page: 1,
sortname: 'Priority',
sortorder: "desc",
viewrecords: true,
jsonReader: { id: "Id" },
prmNames: { id: "Id" },
colNames: ["Id","خلاصه","توضیح خلاصه","قیمت","قیمت با تخفیف","درصد کارمزد سایت","آستانه هشدار موجودی","محتوا", "عنوان","فروشگاه","گروه","تعداد موجودی", "اولویت","محصولات مکمل","تصاویر","مقادیر مشخصه محصول","قیمت","نظرات", "فعال","ویژه","موجود","برند","عملیات درجا","عملیات کامل"],
colModel: [
{ key: true, width: 50, name: "Id", hidden: true, search: false },
{
editable: true, width: 10, name: "Abstract", search: true, stype: "text", editable: true,
hidden: true,
editrules: { edithidden: true }
},
{
editable: true, width: 10, name: "AbstractDescription", search: true, stype: "text", editable: true,
hidden: true,
editrules: { edithidden: true }
},
{
editable: true, width: 10, name: "Value", search: true, stype: "text", editable: true,
hidden: true,
editrules: { edithidden: true }
},
{
editable: true, width: 10, name: "Discount", search: true, stype: "text", editable: true,
hidden: true,
editrules: { edithidden: true }
},
{
editable: true, width: 10, name: "SiteWagePercentage", search: true, stype: "text", editable: true,
hidden: true,
editrules: { edithidden: true }
},
{
editable: true, width: 10, name: "InventoryAlertLimit", search: true, stype: "text", editable: true,
hidden: true,
editrules: { edithidden: true }
},
{
editable: true, width: 10, name: "Context", search: true, stype: "text", editable: true,
hidden: true,
editrules: { edithidden: true }
},
{
editable: true, width: 150, name: "Title", search: true, stype: "text",
searchoptions: { "sopt": ["bw", "eq"] }
},
{
name: "shopTitle", align: 'center', viewable: true, editrules: { edithidden: true },
search: true,
editable: true, stype: 'select',
edittype: 'select',
searchoptions: {
sopt: ["eq", "ne"],
dataUrl: "/manager/Products/Getshop/", buildSelect: function (data) {
var response, s = '<select>', i;
response = jQuery.parseJSON(data);
if (response && response.length) {
$.each(response, function (i) {
s += '<option value="' + this.shId + '">' + this.shTitle + '</option>';
});
}
return s + '</select>';
},
},
editoptions: {
dataUrl: "/manager/Products/Getshop",
buildSelect: function (data) {
var response, s = '<select>', i;
response = jQuery.parseJSON(data);
if (response && response.length) {
$.each(response, function (i) {
s += '<option value="' + this.shId + '">' + this.shTitle + '</option>';
});
}
return s + '</select>';
},
}
},
{
editable: true, name: "groupTitle", search: true, stype: "select"
, editrules: { edithidden: true },
search: true,
edittype: 'select',
editoptions: {
dataUrl: "/manager/Products/GetGroups",
buildSelect: function (data) {
var response, s = '<select>', i;
response = jQuery.parseJSON(data);
if (response && response.length) {
$.each(response, function (i) {
s += '<option value="' + this.grpId + '">' + this.grpTitle + '</option>';
});
}
return s + '</select>';
},
}
},
{
editable: true, width: 70, name: "AvailableCount", search: true, stype: "number",
searchoptions: { "sopt": ["bw", "eq"] }
},
{
editable: true, width: 50, name: "Priority", search: true, stype: "number",
searchoptions: { "sopt": ["bw", "eq"] }
},
{
editable: false, width: 80, name: "ComplementProducts", search: true, stype: "text",
searchoptions: { "sopt": ["bw", "eq"] }
},
{
editable: false, width: 70, name: "Images", search: true, stype: "text",
searchoptions: { "sopt": ["bw", "eq"] }
},
{
editable: false, width: 100, name: "ProductProperty", search: true, stype: "text",
searchoptions: { "sopt": ["bw", "eq"] }
},
{
editable: false, width: 80, name: "Price", search: true, stype: "text",
searchoptions: { "sopt": ["bw", "eq"] }
},
{
editable: false, width: 80, name: "Comments", search: true, stype: "text",
searchoptions: { "sopt": ["bw", "eq"] }
},
{
editable: true, width: 50, name: "Active", search: true, formatter: 'checkbox', edittype: 'checkbox', editoptions: { value: "True:False" }
, formatoptions: { disabled: false}
},
{
editable: true, width: 80, name: "AmazingOffer", search: true, formatter: 'checkbox', edittype: 'checkbox', editoptions: { value: "True:False" }
, formatoptions: { disabled: false}
},
{
editable: true, width: 80, name: "Available", search: true, formatter: 'checkbox', edittype: 'checkbox', editoptions: { value: "True:False" },
searchoptions: { "sopt": ["bw", "eq"] }, formatoptions: { disabled: false }
},
{
name: 'BrandId', align: 'center', hidden: true, viewable: true, editrules: { edithidden: true },
editable: true, stype: 'select',
edittype: 'select',
editoptions: {
dataUrl: "/manager/Products/GetBrands",
buildSelect: function (data) {
var response, s = '<select>', i;
response = jQuery.parseJSON(data);
if (response && response.length) {
$.each(response, function (i) {
s += '<option value="' + this.brandId + '">' + this.brandTitle + '</option>';
});
}
return s + '</select>';
},
}
},
{
name: "myac", width: 80, fixed: true, sortable: false, resize: false, formatter: 'actions',
formatoptions: { keys: true }
},
{
editable: false, width: 70, name: "FullEdit", search: true, stype: "text",
searchoptions: { "sopt": ["bw", "eq"] }
},
// BLAH, BLAH, BLAH
],
gridComplete: function () {
var ids = jQuery("#JQGrid1").jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
var cl = ids[i];
ComplementProducts = "<div class=\"btn-group\"><a class='btn btn-primary' href=/manager/ComplementProducts/Index/" + cl + " }) + '><span class=\"fa fa-shopping-cart\" style='color: white;'></span></a></div>";
Images = "<div class=\"btn-group\"><a class='btn btn-primary' href=/manager/Images/Index/" + cl + " }) + '><span class=\"fa fa-picture-o\" style='color: white;'></span></a></div>";
ProductProperty = "<div class=\"btn-group\"><a class='btn btn-primary' href=/manager/ProductPropertyItems/Index/" + cl + " }) + '><span class=\"fa fa-braille\" style='color: white;'></span></a></div>";
Price = "<div class=\"btn-group\"><a class='btn btn-primary' href=/manager/pricesppitems/Index/" + cl + " }) + '><span class=\"fa fa-line-chart\" style='color: white;'></span></a></div>";
Comments = "<div class=\"btn-group\"><a class='btn btn-primary' href=/manager/Products/Comments/" + cl + " }) + '><span class=\"fa fa-comments\" style='color: white;'></span></a></div>";
FullEdit = "<div class=\"btn-group\"><a class='btn btn-primary' href=/manager/Products/Edit/" + cl + " }) + '><span class=\"fa fa-edit\" style='color: white;'></span></a><a class='btn btn-primary' href=/manager/Products/Details/" + cl + " }) + '><span class=\"fa fa-exclamation-circle\" style='color: white;'></span></a></div>";
jQuery("#JQGrid1").jqGrid('setRowData', ids[i], { ComplementProducts: ComplementProducts, Images: Images, ProductProperty: ProductProperty, Price: Price, Comments: Comments, FullEdit: FullEdit});
}
}, loadComplete: function () {
var activeButton = getColumnIndexByName('Active');
var ids = jQuery("#JQGrid1").jqGrid('getDataIDs'); //id's
$("tbody > tr.jqgrow > td:nth-child(" + (activeButton + 1) + ") > input",
this).click(function (e) {
var rowId = $(e.target).closest("tr").attr("id");
// alert("active clicked " + rowId);
$.ajax({
type: "POST",
url: "/manager/Products/Activate",
data: {
id: rowId
},
dataType: "json"
});
});
var amazingOfferButton = getColumnIndexByName('AmazingOffer');
var ids = jQuery("#JQGrid1").jqGrid('getDataIDs'); //id's
$("tbody > tr.jqgrow > td:nth-child(" + (amazingOfferButton + 1) + ") > input",
this).click(function (e) {
var rowId = $(e.target).closest("tr").attr("id");
$.ajax({
type: "POST",
url: "/manager/Products/ShowInAmazingOffer",
data: {
id: rowId
},
dataType: "json"
});
$('#JQGrid1').trigger('reloadGrid');
});
var availableButton = getColumnIndexByName('Available');
var ids = jQuery("#JQGrid1").jqGrid('getDataIDs'); //id's
$("tbody > tr.jqgrow > td:nth-child(" + (availableButton + 1) + ") > input",
this).click(function (e) {
var rowId = $(e.target).closest("tr").attr("id");
$.ajax({
type: "POST",
url: "/manager/Products/Available",
data: {
id: rowId
},
dataType: "json"
});
$('#JQGrid1').trigger('reloadGrid');
});
},
height: "auto",
caption: "",
viewrecords: true,
rowNum: 20,
direction: "rtl",
pager: jQuery('#JQGrid1_pager'),
rowList: [10, 20, 30, 40],
toppager: true,
jsonReader:
{
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
Id: "0"
},
}).jqGrid('navGrid', '#JQGrid1_pager',
// the buttons to appear on the toolbar of the grid
{ edit: true, add: true, del: true, search: true, refresh: true, view: false, position: "left", cloneToTop: true,searchtext:"جستجو" },
// options for the Edit Dialog
{
width: 450,
editCaption: "ویرایش محصول",
recreateForm: true,
closeAfterEdit: true,
viewPagerButtons: false,
//afterShowForm: populateGroups,
errorTextFormat: function (data) {
return 'Error: ' + data.responseText
}
},
// Add options
{ url: '/TabMaster/Create', closeAfterAdd: true },
// Delete options
{ url: '/manager/Products/Remove' },
{
zIndex: 100,
caption: "جستجوی محصول",
sopt: ['cn']
}
);