var DemoApp = angular.module('DemoApp', ['dx']);
DemoApp.controller('DemoController', function DemoController($scope) {
function showToast(event, value, type) {
DevExpress.ui.notify(event + " \"" + value + "\"" + " task", type, 800);
}
$scope.editing = {
allowAdding: true,
allowDeleting: true,
allowUpdating: true,
allowResizing: true,
allowDragging: true
};
$scope.disabledValue = false;
$scope.schedulerOptions = {
dataSource: data,
views: ["day", "week"],
currentView: "week",
currentDate: new Date(2017, 4, 22),
startDayHour: 9,
endDayHour: 19,
bindingOptions: {
editing: "editing",
},
onAppointmentAdded: function (e) {
showToast("Added", e.appointmentData.text, "success");
},
onAppointmentUpdated: function (e) {
showToast("Updated", e.appointmentData.text, "info");
},
onAppointmentDeleted: function (e) {
showToast("Deleted", e.appointmentData.text, "warning");
},
height: 600
};
$scope.allowAddingOptions = {
text: "Allow adding",
bindingOptions: {
value: "editing.allowAdding"
}
};
$scope.allowDeletingOptions = {
text: "Allow deleting",
bindingOptions: {
value: "editing.allowDeleting"
}
};
$scope.allowUpdatingOptions = {
text: "Allow updating",
onValueChanged: function (e) {
$scope.disabledValue = !e.value;
},
bindingOptions: {
value: "editing.allowUpdating"
}
};
$scope.allowResizingOptions = {
text: "Allow resizing",
bindingOptions: {
value: "editing.allowResizing",
disabled: "disabledValue"
}
};
$scope.allowDraggingOptions = {
text: "Allow dragging",
bindingOptions: {
value: "editing.allowDragging",
disabled: "disabledValue"
}
};
});
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>DevExtreme Demo</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>window.jQuery || document.write(decodeURIComponent('%3Cscript src="js/jquery.min.js"%3E%3C/script%3E'))</script>
<link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.2.4/css/dx.common.css" />
<link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.2.4/css/dx.light.css" />
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.16/angular.min.js"></script>
<script>window.angular || document.write(decodeURIComponent('%3Cscript src="js/angular.min.js"%3E%3C\/script%3E'))</script>
<script src="https://cdn3.devexpress.com/jslib/19.2.4/js/dx.all.js"></script>
<script src="data.js"></script>
<link rel="stylesheet" type="text/css" href="styles.css" />
<script src="index.js"></script>
</head>
<body class="dx-viewport">
<div class="demo-container" ng-app="DemoApp" ng-controller="DemoController">
<div dx-scheduler="schedulerOptions"></div>
<div class="options">
<div class="caption">Options</div>
<div class="option">
<div dx-check-box="allowAddingOptions"></div>
</div>
<div class="option">
<div dx-check-box="allowDeletingOptions"></div>
</div>
<div class="option">
<div dx-check-box="allowUpdatingOptions"></div>
</div>
<div class="option">
<div dx-check-box="allowResizingOptions"></div>
</div>
<div class="option">
<div dx-check-box="allowDraggingOptions"></div>
</div>
</div>
</div>
</body>
</html>
.options {
padding: 20px;
background-color: rgba(191, 191, 191, 0.15);
margin-top: 20px;
}
.caption {
font-size: 18px;
font-weight: 500;
}
.option {
margin-top: 10px;
display: inline-block;
width: 19%;
}
var data = [
{
text: "Website Re-Design Plan",
startDate: new Date(2017, 4, 22, 9, 30),
endDate: new Date(2017, 4, 22, 11, 30)
}, {
text: "Book Flights to San Fran for Sales Trip",
startDate: new Date(2017, 4, 22, 12, 0),
endDate: new Date(2017, 4, 22, 13, 0),
allDay: true
}, {
text: "Install New Router in Dev Room",
startDate: new Date(2017, 4, 22, 14, 30),
endDate: new Date(2017, 4, 22, 15, 30)
}, {
text: "Approve Personal Computer Upgrade Plan",
startDate: new Date(2017, 4, 23, 10, 0),
endDate: new Date(2017, 4, 23, 11, 0)
}, {
text: "Final Budget Review",
startDate: new Date(2017, 4, 23, 12, 0),
endDate: new Date(2017, 4, 23, 13, 35)
}, {
text: "New Brochures",
startDate: new Date(2017, 4, 23, 14, 30),
endDate: new Date(2017, 4, 23, 15, 45)
}, {
text: "Install New Database",
startDate: new Date(2017, 4, 24, 9, 45),
endDate: new Date(2017, 4, 24, 11, 15)
}, {
text: "Approve New Online Marketing Strategy",
startDate: new Date(2017, 4, 24, 12, 0),
endDate: new Date(2017, 4, 24, 14, 0)
}, {
text: "Upgrade Personal Computers",
startDate: new Date(2017, 4, 24, 15, 15),
endDate: new Date(2017, 4, 24, 16, 30)
}, {
text: "Customer Workshop",
startDate: new Date(2017, 4, 25, 11, 0),
endDate: new Date(2017, 4, 25, 12, 0),
allDay: true
}, {
text: "Prepare 2015 Marketing Plan",
startDate: new Date(2017, 4, 25, 11, 0),
endDate: new Date(2017, 4, 25, 13, 30)
}, {
text: "Brochure Design Review",
startDate: new Date(2017, 4, 25, 14, 0),
endDate: new Date(2017, 4, 25, 15, 30)
}, {
text: "Create Icons for Website",
startDate: new Date(2017, 4, 26, 10, 0),
endDate: new Date(2017, 4, 26, 11, 30)
}, {
text: "Upgrade Server Hardware",
startDate: new Date(2017, 4, 26, 14, 30),
endDate: new Date(2017, 4, 26, 16, 0)
}, {
text: "Submit New Website Design",
startDate: new Date(2017, 4, 26, 16, 30),
endDate: new Date(2017, 4, 26, 18, 0)
}, {
text: "Launch New Website",
startDate: new Date(2017, 4, 26, 12, 20),
endDate: new Date(2017, 4, 26, 14, 0)
}
];