or
{
Id:
"tags/weapon"
,
Name:
"Weapon"
,
Description:
"This item qualifies as a weapon in the game."
},
{
Id:
"tags/sword"
,
Name:
"Sword"
,
Description:
"This item qualifies as a sword in the game."
},
{
Id:
"tags/shield"
,
Name:
"Shield"
,
Description:
"This item qualifies as a shield in the game."
}
var
viewModel = kendo.observable({
Id:
null
,
Name:
null
,
Consumable:
false
,
Equipable:
false
,
Tags: [],
});
var
$tags = $(
"#tags"
).kendoMultiSelect({
dataTextField:
"Name"
,
dataValueField:
"Id"
,
itemTemplate: $(
'#editing-tags-template'
).html(),
dataSource: {
transport: {
read: {
dataType:
"json"
,
url: url
}
}
},
open:
function
(e) {
this
.list.addClass(
"k-tag-cloud"
);
},
close:
function
(e) {
}
}).data(
"kendoMultiSelect"
);
<select id=
"tags"
multiple=
"multiple"
data-placeholder=
"Select Tags..."
class=
"dark k-tag-cloud"
data-bind=
"value: Tags"
style=
"width: 500px;"
></select>
<
h2
>Preview</
h2
>
<
div
style
=
"border: dashed 2px black;"
>
<
div
style
=
"padding: 8px;"
>
<
h3
data-bind
=
"text: Name"
style
=
"margin: auto;"
></
h3
>
<
h5
data-bind
=
"visible: Equipable"
style
=
"margin: auto;"
>Equipable</
h5
>
<
h5
data-bind
=
"visible: Consumable"
style
=
"margin: auto;"
>Consumable</
h5
>
<
div
data-template
=
"templates-admin-prototype-tags-preview"
data-bind
=
"source: Tags"
></
div
>
</
div
>
</
div
>
<
script
type
=
"text/x-kendo-template"
id
=
"templates-admin-prototype-tags-preview"
>
<
div
class
=
"k-prototype-tag"
>${ Name }</
div
>
</
script
>
$("#chart").kendoSparkline({
series:[{ type:'line', data:[100,200,300,280,300,320,400,500], width:3, color:'#59595B' }],
chartArea:{ border:{ width:0 }, height:39, width:71, margin:0 },
plotArea:{ border:{ width:0 }, background:"#DDDDDD", margin:0 }
});
code sample below.
<
link
href
=
"/Content/kendo.common.min.css"
rel
=
"stylesheet"
/>
<
link
href
=
"/Content/kendo.dataviz.min.css"
rel
=
"stylesheet"
/>
<
link
href
=
"/Content/kendo.default.min.css"
rel
=
"stylesheet"
/>
<
script
src
=
"/Scripts/jquery-1.8.2.js"
></
script
>
<
script
src
=
"/Scripts/kendo.all.min.js"
></
script
>
<
script
src
=
"/Scripts/kendo.aspnetmvc.min.js"
></
script
>
<
div
id
=
"chart"
style
=
"width: 350px; height: 250px;"
></
div
>
<
script
type
=
"text/javascript"
>
var salesData = [{
DOB: new Date("2011/11/1"),
EmployeeID: 1,
sales1: 2000
}, {
DOB:new Date("2011/11/2"),
EmployeeID: 2,
sales1: 2250
}, {
DOB: new Date("2011/11/3"),
EmployeeID: 3,
sales1: 1550
}]
$(document).ready(function () {
$("#chart").kendoChart({
title: {
text: "Employee Sales"
},
dataSource: {
data: salesData
},
series: [{
type: "column",
field: "sales1",
name: "Sales in Units"
}],
categoryAxis: {
field: "DOB"
},
tooltip: {
visible: true,
format: "{0}"
},
seriesClick: onSeriesClick
});
});
function onSeriesClick(e) {
//console.log(e);
alert("Employee ID is: " + e.dataItem.EmployeeID);
}
</
script
>
<
script
type
=
"text/javascript"
>
var salesData = [{
DOB: "2011/11/1",
EmployeeID: 1,
sales1: 2000
}, {
DOB:"2011/11/2",
EmployeeID: 2,
sales1: 2250
}, {
DOB: "2011/11/3",
EmployeeID: 3,
sales1: 1550
}]
$(document).ready(function () {
$("#chart").kendoChart({
title: {
text: "Employee Sales"
},
dataSource: {
data: salesData
},
series: [{
type: "column",
field: "sales1",
name: "Sales in Units"
}],
categoryAxis: {
field: "DOB"
},
tooltip: {
visible: true,
format: "{0}"
},
seriesClick: onSeriesClick
});
});
function onSeriesClick(e) {
//console.log(e);
alert("Employee ID is: " + e.dataItem.EmployeeID);
}
</
script
>
var created = [];
var updated = [];
var destroyed = [];
$(document).ready(function () {
var grid = $("#skillGrid").data("kendoGrid");
grid.pager.bind('change', function() {
var dataSource = $("#skillGrid").data("kendoGrid").dataSource;
var that = dataSource,
idx,
length,
data = that._flatData(that._data);
destroyed = that._destroyed;
for (idx = 0, length = data.length; idx <
length
; idx++) {
if (data[idx].isNew()) {
for (var
i
=
0
; i < created.length; i++) {
if (created[i].SkillName == data[idx].SkillName) {
created.splice(i, 1);
}
}
created.push(data[idx]);
data[idx].set('Status', 'New');
} else if (data[idx].dirty) {
for (var
j
=
0
; j < updated.length; j++) {
if (updated[j].SkillName == data[idx].SkillName) {
updated.splice(j, 1);
}
}
updated.push(data[idx]);
data[idx].set('Status', 'Dirty');
}
}
});
});
function skillGridDataBinding(e) {
var dataSource = $("#skillGrid").data("kendoGrid").dataSource;
var
data
=
dataSource
.data();
for (var
i
=
0
; i < created.length; i++) {
dataSource.add({ SkillName: created[i].SkillName, SkillNameNew: created[i].SkillNameNew, Proficiency: created[i].Proficiency, YearsOfExp: created[i].YearsOfExp, LastUsedYear: created[i].LastUsedYear, Status: "New" });
}
for (var
idx
=
0
; idx < data.length; idx++) {
for (var
j
=
0
; j < updated.length; j++) {
if (updated[j].SkillName == data[idx].SkillName) {
data[idx].set('SkillName', updated[j].SkillName);
data[idx].set('SkillNameNew', updated[j].SkillNameNew);
data[idx].set('Proficiency', updated[j].Proficiency);
data[idx].set('YearsOfExp', updated[j].YearsOfExp);
data[idx].set('LastUsedYear', updated[j].LastUsedYear);
data[idx].set('Status', 'Dirty');
}
}
for (var
k
=
0
; k < destroyed.length; k++) {
if (destroyed[k].SkillName == data[idx].SkillName) {
dataSource.remove(data[idx]);
}
}
}
}
$($(".page-button-save").click(function () {
var
allRows
=
created
.concat(updated).concat(destroyed);
var
allRowsJson
=
JSON
.stringify(allRows);
$("#@Html.IdFor(m => m.Skills)").val(allRowsJson);
}));
{
Name: "Root",
Collection: [
{
Name: "Item1",
Price: 0.00,
Quantity: 0,
Tags: [ "tag1", "tag2", "tag3" ],
onEdit: function(e){
// open window and edit Item1
}
},
{
Name: "Item2",
Price: 0.00,
Quantity: 0,
Tags: [ "tag1", "tag2", "tag3" ],
onEdit: function(e){
// open window and edit Item2
}
}
]
}