or
$("#searchResultsListView").kendoMobileListView({ dataSource: ds, template: "#= f #", headerTemplate: "${value}", loadMore: true});var ds = new kendo.data.DataSource({ transport: { read: { url: "http://localhost:3000/api/anagram", dataType: "jsonp", data: { format: 'html' } }, parameterMap: function(options) { if (options.filter && options.filter.filters.length > 0) return { rack: options.filter.filters[0].value.replace(/\?/g,'-'), format: 'html', limit: options.pageSize, page: options.page }; return options; } }, group: 'length', pageSize: 10, page: 1, sort: {field: 'w', dir: 'asc'}, filter: { field: 'rack', operator: 'eq', value: 'z' }, serverFiltering: true, serverPaging: true, serverGrouping: true, serverSorting: true, error: function(e){ alert(e); console.log(e); }, change: function(e) { console.log('Data changed: ' + this.total()); }, schema: { groups: 'groups', total: 'count', model: { fields: { length: { type: 'number' }, w: { type: 'string' }, f: { type: 'string' } } } }});data-bind="cssClass: {condition: isEnabled, class1: style-red, class2: style-blue }" <div data-role="view" data-title="Control Panel - Mobile" id="listmessages" data-init="listMessagesInit"> <h2>Customer Messages</h2> <p><?php echo $unread_messages . ' - unread messages'; ?></p> <a data-align="right" data-role="button" id="markasread">Mark as read</a><a data-align="right" data-role="button" id="delete">Delete</a> <ul id="message_list"></ul> </div> <script id="message_list_template" type="text/x-kendo-template"> <li class="isnew_#= isnew #" id="#= id #"><a href="/messages/view/#= id #"> <div style="float:left; width:150px; height: 50px">#= customer_name #<br />#= created #</div> <div style="height: 50px" id="message_#= id #" data-bind="value:short_text(message_#= id #, #= message #)">#= message #</div> </a></li> </script> <script> function listMessagesInit(){ function short_text(id, message){ if (message.length > 100){ var shortText = jQuery.trim(message).substring(0, 100).split(" ").slice(0, -1).join(" ") + "..."; } else { var shortText = message; } $(id).text(shortText); } function listMessagesInit(){
var messageDataSource = new kendo.data.DataSource({
transport: {
read: "/messages/data",
dataType: "json",
update:function(id, isnew) {
url: "/messages/markasread/" + id + "/" + isnew ; //how should these vars be passed? like this
type: "POST"
},
destroy: {
url: function(id, isnew) {
return "/messages/delete/" + id ; //or like this?
},
// url: "/messages/delete/210643",
type: "DELETE"
},
parameterMap: function(options, operation) { //not sure what this does or if I even need it
if (operation !== "read" && options.models) {
return {models: kendo.stringify(options.models)};
}
}
},
error: function(e) {
alert(e.responseText);
},
schema: {
model: {
id: "id",
fields: {
created: { type: "string" },
message: { type: "string" },
customer_name: { type: "string" },
isnew: { type: "string" }
}
}
},
});
$("#message_list").kendoMobileListView({
dataSource: messageDataSource,
//pullToRefresh: true,
//appendOnRefresh: true,
style: "inset",
template: $("#message_list_template").text()
});
}viewModel = kendo.observable({ releaseMe: function (item) { release(item); } });function release(item) { var releaseState = item.data.Released; var campus = item.data.CampusID; var block = viewModel.BlockID; var url = "/api/cps/clerkship/blocks/" + block + "/" + campus + "/"; if (!releaseState) url += "release"; else url += "unrelease"; $.ajax({ url: url, type: "PUT", data: { id: block, campus: campus }, success: function (e) { if (!releaseState) item.set("Released", true); //WHAT SHOULD THIS BE
else item.set("Released", false); //WHAT SHOULD THIS BE } });}item.data.Released = true;