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 = {
timeZone: "America/Los_Angeles",
dataSource: data,
views: ["day", "week"],
currentView: "week",
currentDate: new Date(2021, 4, 27),
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.5.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/20.2.4/css/dx.common.css" />
<link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/20.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/20.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("2021-05-24T16:30:00.000Z"),
endDate: new Date("2021-05-24T18:30:00.000Z")
}, {
text: "Book Flights to San Fran for Sales Trip",
startDate: new Date("2021-05-24T19:00:00.000Z"),
endDate: new Date("2021-05-24T20:00:00.000Z"),
allDay: true
}, {
text: "Install New Router in Dev Room",
startDate: new Date("2021-05-24T21:30:00.000Z"),
endDate: new Date("2021-05-24T22:30:00.000Z")
}, {
text: "Approve Personal Computer Upgrade Plan",
startDate: new Date("2021-05-25T17:00:00.000Z"),
endDate: new Date("2021-05-25T18:00:00.000Z")
}, {
text: "Final Budget Review",
startDate: new Date("2021-05-25T19:00:00.000Z"),
endDate: new Date("2021-05-25T20:35:00.000Z")
}, {
text: "New Brochures",
startDate: new Date("2021-05-25T21:30:00.000Z"),
endDate: new Date("2021-05-25T22:45:00.000Z")
}, {
text: "Install New Database",
startDate: new Date("2021-05-26T16:45:00.000Z"),
endDate: new Date("2021-05-26T18:15:00.000Z")
}, {
text: "Approve New Online Marketing Strategy",
startDate: new Date("2021-05-26T19:00:00.000Z"),
endDate: new Date("2021-05-26T21:00:00.000Z")
}, {
text: "Upgrade Personal Computers",
startDate: new Date("2021-05-26T22:15:00.000Z"),
endDate: new Date("2021-05-26T23:30:00.000Z")
}, {
text: "Customer Workshop",
startDate: new Date("2021-05-27T18:00:00.000Z"),
endDate: new Date("2021-05-27T19:00:00.000Z"),
allDay: true
}, {
text: "Prepare 2021 Marketing Plan",
startDate: new Date("2021-05-27T18:00:00.000Z"),
endDate: new Date("2021-05-27T20:30:00.000Z")
}, {
text: "Brochure Design Review",
startDate: new Date("2021-05-27T21:00:00.000Z"),
endDate: new Date("2021-05-27T22:30:00.000Z")
}, {
text: "Create Icons for Website",
startDate: new Date("2021-05-28T17:00:00.000Z"),
endDate: new Date("2021-05-28T18:30:00.000Z")
}, {
text: "Upgrade Server Hardware",
startDate: new Date("2021-05-28T21:30:00.000Z"),
endDate: new Date("2021-05-28T23:00:00.000Z")
}, {
text: "Submit New Website Design",
startDate: new Date("2021-05-28T23:30:00.000Z"),
endDate: new Date("2021-05-29T01:00:00.000Z")
}, {
text: "Launch New Website",
startDate: new Date("2021-05-28T19:20:00.000Z"),
endDate: new Date("2021-05-28T21:00:00.000Z")
}
];