kendo.js 4.34 KB
angular.module("KendoDemos", ["kendo.directives"])
    .controller("MyCtrl", function ($scope, $http) {
        function getAuthURL() {
            $http({
                method: 'get',
                url: '/events'
            }).then(function successCallback(response) {
                window.open(response.data, '_blank')
            }, function errorCallback(response) {
                console.error(response)
            });
        }
        getAuthURL()

        $scope.submitNewToken = function (valid) {
            $http({
                method: 'post',
                url: '/setToken',
                data: { "code": $scope.clientToken }
            }).then(function successCallback(response) {
                console.log(response.data)
                schedulerStart()
            }, function errorCallback(response) {
                console.error(response)
            });
        }

        function schedulerStart() {
            $scope.schedulerOptions = {
                date: new Date("2016/10/12"),
                startTime: new Date("2016/10/12 07:00 AM"),
                height: 600,
                views: [
                    "day",
                    { type: "workWeek", selected: true },
                    "week",
                    "month",
                ],
                timezone: "Etc/UTC",
                dataSource: {
                    batch: true,
                    transport: {
                        read: {
                            url: "//localhost:3001/events",
                            dataType: "jsonp"
                        },
                        update: {
                            url: "//demos.telerik.com/kendo-ui/service/tasks/update",
                            dataType: "jsonp"
                        },
                        create: {
                            url: "//demos.telerik.com/kendo-ui/service/tasks/create",
                            dataType: "jsonp"
                        },
                        destroy: {
                            url: "//demos.telerik.com/kendo-ui/service/tasks/destroy",
                            dataType: "jsonp"
                        },
                        parameterMap: function (options, operation) {
                            if (operation !== "read" && options.models) {
                                return { models: kendo.stringify(options.models) };
                            }
                        }
                    },
                    schema: {
                        model: {
                            id: "taskId",
                            fields: {
                                taskId: { from: "TaskID" },
                                title: { from: "Title", defaultValue: "No title", validation: { required: true } },
                                start: { type: "date", from: "Start" },
                                end: { type: "date", from: "End" },
                                startTimezone: { from: "StartTimezone" },
                                endTimezone: { from: "EndTimezone" },
                                description: { from: "Description" },
                                recurrenceId: { from: "RecurrenceID" },
                                recurrenceRule: { from: "RecurrenceRule" },
                                recurrenceException: { from: "RecurrenceException" },
                                ownerId: { from: "OwnerID", defaultValue: 1 },
                                isAllDay: { type: "boolean", from: "IsAllDay" }
                            }
                        }
                    },
                    filter: {
                        logic: "or",
                        filters: [
                            { field: "ownerId", operator: "eq", value: 1 },
                            { field: "ownerId", operator: "eq", value: 2 }
                        ]
                    }
                },
                resources: [
                    {
                        field: "ownerId",
                        title: "Owner",
                        dataSource: [
                            { text: "Alex", value: 1, color: "#f8a398" },
                            { text: "Bob", value: 2, color: "#51a0ed" },
                            { text: "Charlie", value: 3, color: "#56ca85" }
                        ]
                    }
                ]
            };
        }

    })