У меня есть сетка кендо с пользовательским редактором всплывающих окон. Я определил тело редактирования как шаблон кендо, используя привязку mvvm, но я думаю, что должен что-то упустить, потому что поведение всплывающего окна не соответствует ожидаемому.
При нажатии «Изменить» появляется всплывающий редактор, но если я закрою всплывающее окно с помощью кнопки «Отмена», а затем снова нажму «Изменить» в той же строке, редактор не появится.
Кроме того, кажется, что изменения не происходят должным образом для поля, использующего раскрывающийся список measureStatusId
, если только оно не является нулевым с самого начала.
Я бы предпочел использовать mvvm здесь, я не думаю, что этот сценарий достаточно необычен, чтобы мне нужно было свернуть мое собственное всплывающее окно редактирования?
См. этот JSBin.
var model = {
"title": "Active Community",
"measures": [
{
"measureId": 3,
"completed": false,
"measureStatusId": null,
"measureStatus": null,
"progress": null,
"target": "Council provides a wide range of accessible and well-maintained sports facilities to increase levels of participation in sport and active recreation"
},
{
"measureId": 4,
"completed": false,
"measureStatusId": null,
"measureStatus": null,
"progress": null,
"target": "Council funds and works in partnership with external recreation organisations to help increase levels of participation in sport and active recreation"
}
],
"measureStatuses": [
{
"text": "Green",
"value": "1",
"selected": false
},
{
"text": "Orange",
"value": "2",
"selected": false
},
{
"text": "Red",
"value": "6",
"selected": false
}
]
},
PNCC = {};
$(document).ready(function () {
PNCC.viewModel = new kendo.observable(model);
$("#Measures").kendoGrid({
dataSource: {
data: PNCC.viewModel.measures,
schema: {
model: {
id: "measureId",
fields: {
measureId: { type: "number", editable: false },
target: { type: "string", editable: false },
completed: { type: "boolean" },
measureStatusId: { type: "string" },
measureStatus: { type: "string" },
progress: { type: "string" }
}
}
},
sort: { field: "target", dir: "asc" }
},
"columns": [
{
"title": "Performance Measures & Targets",
"field": "target"
},
{
"title": "Year to date progress and next steps",
"field": "progress"
},
{
"title": "Status",
"field": "measureStatus"
},
{
"title": "Complete?",
"field": "completed"
},
{ command: ["edit"], title: " " }
],
"filterable": false,
"scrollable": true,
editable: {
mode: "popup",
template: kendo.template($("#popup_editor").html())
}
});
});