{"version":3,"file":"kendo.scheduler.min.js","names":["factory","define","amd","$","undefined$1","kendo","window","date","MS_PER_DAY","getDate","getMilliseconds","recurrence","keys","extend","F10","ui","Widget","DataBoundWidget","STRING","Popup","Calendar","DataSource","data","isPlainObject","toString","Object","prototype","isArray","Array","NS","CLICK","MOUSEDOWN","TOUCHSTART","support","pointers","TOUCHMOVE","TOUCHEND","MOUSEMOVE","mousemove","CHANGE","PROGRESS","ERROR","CANCEL","REMOVE","RESET","SAVE","EDIT","DISABLED","FOCUSEDSTATE","valueStartEndBoundRegex","TODAY","Date","EXCEPTION_SEPARATOR","OLD_EXCEPTION_SEPARATOR_REGEXP","RECURRENCE_EXCEPTION","EDITRECURRING","VIEWS_DROPDOWN_TEMPLATE","template","TOOLBARTEMPLATE","MOBILETOOLBARTEMPLATE","timezoneButtonText","model","message","startTimezone","endTimezone","appendTimezoneAttr","attrs","options","timezone","attr","appendValidDateValidator","validationRules","fields","field","validation","validDateRule","validDateValidator","appendDateCompareValidator","dateCompareRule","dateCompare","convertData","method","removeUid","event","idx","length","startOffset","endOffset","start","getTimezoneOffset","end","convert","uid","getTime","getOccurrenceByUid","SchedulerDataReader","Class","init","schema","reader","this","originalFunction","wrapDataAccess","bind","serialize","call","ObservableArray","wrapDataSerialization","errors","parse","total","groups","aggregates","applyZone","fromZone","toZone","remove","input","filter","picker","widgetInstance","parseDate","val","format","value","SchedulerEvent","Model","that","fn","_defaultId","defaults","idField","_time","fieldTime","toUtcTime","_date","clone","updateUid","constructor","toJSON","duration","offset","MS_PER_MINUTE","expand","zone","update","eventInfo","set","_startTime","_endTime","isMultiDay","isAllDay","isException","isNew","recurrenceId","isOccurrence","isRecurring","recurrenceRule","isRecurrenceHead","id","toOccurrence","recurrenceException","obj","shouldSerialize","key","milliseconds","setTime","type","title","defaultValue","required","validDate","container","closest","startInput","find","endInput","startPicker","endPicker","editable","untilDateCompare","until","description","SchedulerDataSource","modelBase","view","apply","logic","filters","operator","Query","events","concat","expandAll","toArray","cancelChanges","_removeExceptionDate","insert","index","_createNewModel","accept","_pushCreated","_addExceptionDate","pushCreate","items","_removeExceptions","slice","item","shift","head","get","replaceRegExp","RegExp","toExceptionString","replace","test","newException","create","dataSource","Error","defaultCommands","text","className","canceledit","destroy","imageClass","iconClass","descriptionEditor","createValidationAttributes","appendTo","wrap","ruleName","rule","modelField","specialRules","datatype","inArray","isFunction","filterResourceEditorData","editor","parentValue","parentValueField","valueField","valueArray","editorValue","isMs","JSON","stringify","forEach","currentValue","indexOf","splice","trigger","bindParentValueChangeHandler","currentEditor","resource","parent","parentElement","ns","parentWidget","getKendoDropDownList","ev","sender","dataParentValueField","dataValueField","on","target","filterMobileResourceEditorData","parentSelectedValue","itemParentValue","getter","removeAttribute","setAttribute","moveEventRange","distance","editors","mobile","dateRange","name","dateTimeValidate","dateValidate","hide","timezonePopUp","messages","noTimezone","click","kendoMobileTimezoneEditor","optionLabel","kendoMobileRecurrenceEditor","pane","multipleResources","dataTextField","setTimeout","resources","desktop","timezoneEditorButton","visible","toggle","kendoTimezoneEditor","kendoRecurrenceEditor","kendoMultiSelect","valuePrimitive","itemTemplate","dataColorField","tagTemplate","select","e","dataItem","disabled","preventDefault","dataBound","list","each","i","el","element","addClass","kendoDropDownList","Editor","Observable","createButton","toggleDateValidationHandler","_toggleDateValidation","isDateTimeInput","shouldValidate","bindAttribute","is","allDayEvent","checkHierarchical","windows_zones","push","_initTimezoneEditor","repeat","recurrenceEditor","resourceIndex","parentResource","some","multiple","_buildDesktopEditTemplate","editableFields","settings","Template","templateSettings","paramName","html","renderCheckBox","label","separateTimezones","tmpl","expr","_createEndTimezoneButton","_buildMobileEditTemplate","_buildEditTemplate","isMobile","unescape","_revertTimezones","_startTimezone","_endTimezone","MobileEditor","arguments","Pane","viewEngine","viewOptions","renderOnInit","wrapInSections","detachOnHide","detachOnDestroy","css","height","animations","left","right","close","unbind","timezoneView","content","kSwitch","endTimezoneRow","last","cancel","timezoneTitle","save","append","contentElement","show","stopPropagation","hasClass","editView","_editPane","navigate","checked","enable","showDialog","actions","buttons","map","button","action","primary","document","body","kendoDialog","modal","preventScroll","closable","editEvent","updateText","removeText","cancelText","titleText","editorTitle","resetSeries","resetSeriesBtn","deleteBtn","kendoEditable","clearContainer","validateOnBlur","_views","roleSelector","not","views","eq","purge","PopupEditor","fieldName","deleteText","kendoWindow","resizable","draggable","userTriggered","center","open","cycleForm","popup","_timezonePopup","buttonIndex","wrapper","currentTarget","getKendoWindow","activator","wnd","checkbox","saveButton","cancelButton","timezonePopup","startTimezoneChange","prop","timezoneEditorTitle","focus","Scheduler","_initModel","_wrapper","selectable","_tabindex","_toolbar","_dataSource","_resources","_resizeHandler","resize","_resizable","_movable","_bindResize","_navigation","_selectable","_touchHandlers","_ariaId","guid","_createEditor","_unbindResize","off","dataItems","_data","eventsUids","dict","eventsUidsLength","eventsCount","sortedData","_isMobile","mobileOS","_isTouch","originalEvent","pointerType","_isInverseColor","eventElement","_groupsByResource","groupIndex","groupsArray","parentFieldValue","parentField","group","prevIndex","dataIndex","fieldValue","currentGroupIndex","selectedGroups","selection","_selection","selectedEvents","slots","_selectedSlots","_selectedEvents","_resourceBySlot","_old","clearSelection","groupsByResource","groupedResources","_selectEvents","_select","ranges","rangeStart","_startDate","rangeEnd","addDays","_endDate","timeSlotCollectionCount","toLocalDate","isDaySlot","eventsLength","isGrouped","ctrlKey","_ctrlKey","currentGroup","daySlotCollectionCount","collIdx","getTimeSlotCollection","dayCollIdx","getDaySlotCollection","_createSelection","startX","startY","endX","endY","timeStamp","touchMoveHandler","_touchMove","stop","_touchPosX","_tapPosition","_touchPosY","_userTouched","_scrolling","now","_preventFocus","delta","amplitude","_amplitude","_dragging","Math","abs","_mouseDownSelection","kineticScrollNeeded","animate","scrollTop","_mouseDown","_initialFocus","_shiftKey","_keydown","shiftKey","mouseMoveHandler","_mouseMove","which","isRight","_activeElement","focusElement","toolbar","removeClass","_selectFirstSlot","firstSlot","firstAllDay","first","firstContent","_firstEvent","firstEvent","contentEvent","firstEventInAllDay","firstEventInContent","occurrenceByUid","_focusToolbar","current","oldSelection","oldEventsLength","removeAttr","currentUid","uids","coordinate","changedTouches","verticalScroll","scrollHeight","clientHeight","horizontalScroll","scrollWidth","clientWidth","round","scrollLeft","applyVerticalScroll","applyhorizontalScroll","clearTimeout","_moveTimer","slot","selectionByElement","startDate","endDate","backward","_viewByIndex","_keydownToolbar","itemToFocus","keyCode","focusableItems","shouldNavigate","isRtl","focusedItem","TAB","altKey","DOWN","_showCalendar","RIGHT","LEFT","_focusedView","ENTER","SPACEBAR","focusedViewName","_selectedViewName","calendar","activeElement","_keydownView","previous","cell","isModifier","arrowKeys","UP","DELETE","BACKSPACE","moveToEvent","HOME","END","_scrollTo","removeEvent","_keydownShortcut","currentDate","toggleFullDay","addEvent","timezoneOffset","_keydownYearView","_adjustSelectedDate","_keydownAgendaView","move","_keydownChangeView","viewByIndex","viewIndex","_keydownChangeDate","direction","nextDate","previousDate","toolbarIsFocused","ESC","_updateSelection","_updateEventForSelection","_timeSlotInterval","indexOfEvent","autoBind","snap","allDaySlot","min","max","workWeekStart","workWeekEnd","workDays","showWorkHours","startTime","endTime","currentTimeMarker","updateInterval","useLocalTimezone","footer","today","pdf","deleteWindowTitle","next","refresh","selectView","ariaSlotLabel","ariaEventLabel","at","to","allDay","prefix","search","day","week","workWeek","agenda","month","timeline","timelineWeek","timelineWorkWeek","timelineMonth","year","recurrenceMessages","resetSeriesWindowTitle","deleteWindowOccurrence","deleteWindowSeries","editWindowTitle","editWindowOccurrence","editWindowSeries","confirmation","width","orientation","_refreshHandler","_progressHandler","_errorHandler","_resourceRefreshHandler","resourceDS","_resourceProgressHandler","_resourceErrorHandler","_editor","_moveDraggable","_resizeDraggable","add","_model","setDataSource","fetch","_selectedView","siblings","startSlot","endSlot","startResources","clonedEvent","originSlot","originStartTime","clonedEvents","cachedEvents","movable","android","Draggable","ignore","holdToDrag","autoScroll","isTouch","_eventOptionsForMove","inverseColor","evtClone","evtCloneElement","_slotByPosition","x","startLocation","y","range","location","slotIndex","targetSlotElement","children","top","_updateMoveHint","_removeMoveHint","endResources","_isMultiDrag","evt","updatedEventOptions","eventOptions","_updateEvent","sync","cancelHold","handle","directions","dragstart","_updateEventForResize","drag","dir","currentSlot","originalStart","originalEnd","_updateResizeHint","dragend","dragHandle","_removeResizeHint","setHours","setMinutes","dragcancel","updateEvent","callback","_preventRefresh","_convertDates","getHours","getMinutes","getSeconds","recurrenceHead","getByUid","_showRecurringDialog","eventUid","exception","editRecurring","occurrenceText","seriesText","_modelForContainer","_confirmation","isResetSeries","_isEditorOpened","deleteRecurringConfirmation","deleteSeriesConfirmation","resetSeriesConfirmation","cancelEvent","_editEvent","saveEvent","dirty","_editRecurringDialog","_createPopupEditor","editOccurrence","editSeries","editRecurringMode","_createButton","command","commandName","edit","_set","_attemptRefresh","_deleteRecurringDialog","_removeEvent","occurrence","occurrencesInRange","deleteOccurrence","deleteSeries","createException","deleteOccurrenceConfirmation","createExceptionConfirmation","currentModel","seriesCallback","occurrenceCallback","exeptionCallback","deleteRecurring","_unbindView","angular","elements","_bindView","_viewRemoveHandler","_viewAddHandler","_viewEditHandler","_viewNavigateHandler","isWorkDay","switchWorkDay","_workDayMode","_selectView","_viewActivateHandler","constrainSelection","_renderView","_viewsCount","viewsDropdown","viewButtons","prepend","toLowerCase","rebind","viewName","_initializeView","mouseAndTouchPresent","dateForTitle","shortDateForTitle","mobileDateForTitle","force","size","getSize","currentSize","_size","selectedDate","isInDateRange","setFullYear","getFullYear","getMonth","isSettings","overrideOptions","trimOptions","defaultView","selected","hasType","defaultViews","time","resourceFetchArray","_preventRebind","when","then","_requestStart","_error","_progress","progress","resourcePromises","_resourceDataSource","groupName","promises","dataSourceInstance","_bindResourceEvents","isResourceGrouped","_refreshResource","observable","formattedDate","formattedShortDate","commands","grep","viewsCount","saveAsPDF","throttle","targetElm","anchor","activate","_toggleResize","change","setOptions","depth","copyAnchorStyles","preventRefresh","visibleEndDate","refreshLayout","render","slotByPosition","slotByElement","centerX","centerY","resourcesBySlot","plugin","PDFMixin","SCHEDULER_EXPORT","_drawPDF","styles","style","cssText","scheduler","promise","Deferred","table","_drawPDFShadow","avoidLinks","done","args","page","pageNumber","totalPages","notify","resolve","fail","err","reject","always","TimezoneEditor","zones","zones_titles","_zonesQuery","_zoneTitleId","_zoneTitlePicker","_zonePicker","_zoneTitle","_zone","_value","zoneTitle","DropDownList","cascadeFrom","other_zone","ZONETITLEOPTIONTEMPLATE","ZONEOPTIONTEMPLATE","MobileTimezoneEditor","_bindZones","_filter","_options","_zonePickerLabel","zoneSelect","after","zonePicker","zone_value","jQuery"],"sources":["kendo.scheduler.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.dropdownlist', 'kendo.editable', 'kendo.multiselect', 'kendo.window', 'kendo.datetimepicker', 'kendo.scheduler.recurrence', 'kendo.scheduler.view', 'kendo.scheduler.dayview', 'kendo.scheduler.agendaview', 'kendo.scheduler.monthview', 'kendo.scheduler.timelineview', 'kendo.scheduler.yearview', 'kendo.dialog', 'kendo.pane', 'kendo.pdf', 'kendo.switch'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"scheduler\",\n name: \"Scheduler\",\n category: \"web\",\n description: \"The Scheduler is an event calendar.\",\n depends: [ \"dropdownlist\", \"editable\", \"multiselect\", \"window\", \"datepicker\", \"datetimepicker\", \"scheduler.recurrence\", \"scheduler.view\" ],\n features: [ {\n id: \"scheduler-dayview\",\n name: \"Scheduler Day View\",\n description: \"Scheduler Day View\",\n depends: [ \"scheduler.dayview\" ]\n }, {\n id: \"scheduler-agendaview\",\n name: \"Scheduler Agenda View\",\n description: \"Scheduler Agenda View\",\n depends: [ \"scheduler.agendaview\" ]\n }, {\n id: \"scheduler-monthview\",\n name: \"Scheduler Month View\",\n description: \"Scheduler Month View\",\n depends: [ \"scheduler.monthview\" ]\n }, {\n id: \"scheduler-timelineview\",\n name: \"Scheduler Timeline View\",\n description: \"Scheduler Timeline View\",\n depends: [ \"scheduler.timelineview\" ]\n }, {\n id: \"scheduler-yearview\",\n name: \"Scheduler Year View\",\n description: \"Scheduler Year View\",\n depends: [ \"scheduler.yearview\" ]\n }, {\n id: \"scheduler-mobile\",\n name: \"Scheduler adaptive rendering\",\n description: \"Support for adaptive rendering\",\n depends: [ \"dialog\", \"pane\", \"switch\" ]\n }, {\n id: \"scheduler-pdf-export\",\n name: \"PDF export\",\n description: \"Export the scheduler events as PDF\",\n depends: [ \"pdf\", \"drawing\" ]\n }, {\n id: \"scheduler-timezones\",\n name: \"Timezones\",\n description: \"Allow selecting timezones different than Etc/UTC\",\n depends: [ \"timezones\" ]\n }]\n };\n\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n date = kendo.date,\n MS_PER_DAY = date.MS_PER_DAY,\n getDate = date.getDate,\n getMilliseconds = kendo.date.getMilliseconds,\n recurrence = kendo.recurrence,\n keys = $.extend({ F10: 121 }, kendo.keys),\n ui = kendo.ui,\n Widget = ui.Widget,\n DataBoundWidget = ui.DataBoundWidget,\n STRING = \"string\",\n Popup = ui.Popup,\n Calendar = ui.Calendar,\n DataSource = kendo.data.DataSource,\n isPlainObject = $.isPlainObject,\n extend = $.extend,\n toString = Object.prototype.toString,\n isArray = Array.isArray,\n NS = \".kendoScheduler\",\n CLICK = \"click\",\n MOUSEDOWN = \"mousedown\",\n TOUCHSTART = kendo.support.pointers ? \"pointerdown\" : \"touchstart\",\n TOUCHMOVE = kendo.support.pointers ? \"pointermove\" : \"touchmove\",\n TOUCHEND = kendo.support.pointers ? \"pointerup\" : \"touchend\",\n MOUSEMOVE = kendo.support.mousemove,\n CHANGE = \"change\",\n PROGRESS = \"progress\",\n ERROR = \"error\",\n CANCEL = \"cancel\",\n REMOVE = \"remove\",\n RESET = \"resetSeries\",\n SAVE = \"save\",\n ADD = \"add\",\n EDIT = \"edit\",\n DISABLED = \"disabled\",\n OPTION = \"option\",\n FOCUSEDSTATE = \"k-focus\",\n VIEWSSELECTOR = \".k-scheduler-views\",\n INVERSECOLORCLASS = \"k-event-inverse\",\n valueStartEndBoundRegex = /(?:value:start|value:end)(?:,|$)/,\n TODAY = getDate(new Date()),\n EXCEPTION_SEPARATOR = \",\",\n OLD_EXCEPTION_SEPARATOR_REGEXP = /\\;/g,\n RECURRENCE_EXCEPTION = \"recurrenceException\",\n DELETECONFIRM = \"Are you sure you want to delete this event?\",\n DELETERECURRING = \"Do you want to delete only this event occurrence or the whole series?\",\n EDITRECURRING = \"Do you want to edit only this event occurrence or the whole series?\",\n DELETERECURRINGCONFIRM = \"Are you sure you want to delete this event occurrence?\",\n RESETSERIESCONFIRM = \"Are you sure you want to reset the whole series?\",\n DELETESERIESCONFIRM = \"Are you sure you want to delete the whole series?\",\n COMMANDBUTTONTMPL = '',\n VIEWS_DROPDOWN_TEMPLATE = kendo.template('' +\n ''\n ),\n TOOLBARTEMPLATE = kendo.template('' +\n '
'),\n MOBILETOOLBARTEMPLATE = kendo.template(' ' +\n ' '),\n MOBILEDATERANGEEDITOR = function(container, options) {\n var attr = { name: options.field, title: options.title };\n var isAllDay = options.model.isAllDay;\n var dateTimeValidate = kendo.attr(\"validate\") + \"='\" + (!isAllDay) + \"'\";\n var dateValidate = kendo.attr(\"validate\") + \"='\" + (!!isAllDay) + \"'\";\n\n appendTimezoneAttr(attr, options);\n appendValidDateValidator(attr, options);\n appendDateCompareValidator(attr, options);\n\n $('')\n .attr(attr)\n .appendTo(container);\n\n $('')\n .attr(attr).appendTo(container);\n\n $('').hide().appendTo(container);\n },\n DATERANGEEDITOR = function(container, options) {\n var attr = { name: options.field, title: options.title },\n isAllDay = options.model.isAllDay,\n dateTimeValidate = kendo.attr(\"validate\") + \"='\" + (!isAllDay) + \"' \",\n dateValidate = kendo.attr(\"validate\") + \"='\" + (!!isAllDay) + \"' \";\n\n appendTimezoneAttr(attr, options);\n appendValidDateValidator(attr, options);\n appendDateCompareValidator(attr, options);\n\n $('')\n .attr(attr).appendTo(container);\n\n $('')\n .attr(attr).appendTo(container);\n\n $('').appendTo(container);\n\n if (options.field === \"end\") {\n $('').appendTo(container);\n }\n\n $('').hide().appendTo(container);\n },\n RECURRENCEEDITOR = function(container, options) {\n $('')\n .attr({\n name: options.field\n })\n .appendTo(container)\n .kendoRecurrenceEditor({\n start: options.model.start,\n timezone: options.timezone,\n messages: options.messages\n });\n },\n MOBILERECURRENCEEDITOR = function(container, options) {\n $('')\n .attr({\n name: options.field\n })\n .appendTo(container)\n .kendoMobileRecurrenceEditor({\n start: options.model.start,\n timezone: options.timezone,\n messages: options.messages,\n pane: options.pane,\n value: options.model[options.field]\n });\n },\n MOBILEISALLDAYEDITOR = function(container, options) {\n $('').appendTo(container);\n },\n ISALLDAYEDITOR = function(container, options) {\n $('')\n .attr({\n id: options.field,\n name: options.field,\n title: options.title ? options.title : options.field\n })\n .appendTo(container);\n },\n MOBILETIMEZONEPOPUP = function(container, options) {\n var text = timezoneButtonText(options.model, options.messages.noTimezone);\n $('').text(text).appendTo(container);\n $('').appendTo(container);\n container.closest(\"li.k-item label\").on(CLICK, options.click);\n },\n TIMEZONEPOPUP = function(container, options) {\n $(' ').on(CLICK, options.click).appendTo(container);\n },\n MOBILETIMEZONEEDITOR = function(container, options) {\n $('')\n .attr({\n name: options.field\n })\n .appendTo(container)\n .kendoMobileTimezoneEditor({\n optionLabel: options.noTimezone\n });\n },\n TIMEZONEEDITOR = function(container, options) {\n var visible = options.visible || options.visible === undefined$1;\n $('')\n .attr({ name: options.field })\n .toggle(visible)\n .appendTo(container)\n .kendoTimezoneEditor({\n optionLabel: options.noTimezone,\n title: options.title\n });\n };\n\n function timezoneButtonText(model, message) {\n message = message || \"\";\n\n if (model.startTimezone) {\n message = model.startTimezone;\n\n if (model.endTimezone) {\n message += \" | \" + model.endTimezone;\n }\n }\n\n return message;\n }\n\n function appendTimezoneAttr(attrs, options) {\n var timezone = options.timezone;\n\n if (timezone) {\n attrs[kendo.attr(\"timezone\")] = timezone;\n }\n }\n\n function appendValidDateValidator(attrs, options) {\n var validationRules = options.model.fields[options.field].validation;\n\n if (validationRules) {\n var validDateRule = validationRules.validDateValidator;\n if (validDateRule && isPlainObject(validDateRule) && validDateRule.message) {\n attrs[kendo.attr(\"validDate-msg\")] = validDateRule.message;\n }\n }\n }\n\n function appendDateCompareValidator(attrs, options) {\n var validationRules = options.model.fields[options.field].validation;\n\n if (validationRules) {\n var dateCompareRule = validationRules.dateCompare;\n if (dateCompareRule && isPlainObject(dateCompareRule) && dateCompareRule.message) {\n attrs[kendo.attr(\"dateCompare-msg\")] = dateCompareRule.message;\n }\n }\n }\n\n function wrapDataAccess(originalFunction, timezone) {\n return function(data) {\n data = originalFunction(data);\n\n convertData(data, \"apply\", timezone);\n\n return data || [];\n };\n }\n\n function wrapDataSerialization(originalFunction, timezone) {\n return function(data) {\n\n if (data) {\n if (toString.call(data) !== \"[object Array]\" && !(data instanceof kendo.data.ObservableArray)) {\n data = [data];\n }\n }\n\n convertData(data, \"remove\", timezone, true);\n\n data = originalFunction(data);\n\n return data || [];\n };\n }\n\n function convertData(data, method, timezone, removeUid) {\n var event,\n idx,\n length,\n startOffset,\n endOffset;\n\n data = data || [];\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n event = data[idx];\n startOffset = event.start ? event.start.getTimezoneOffset() : null;\n endOffset = event.start ? event.end.getTimezoneOffset() : null;\n\n if (removeUid) {\n if (event.startTimezone || event.endTimezone) {\n if (timezone) {\n event.start = kendo.timezone.convert(event.start, event.startTimezone || event.endTimezone, timezone);\n event.end = kendo.timezone.convert(event.end, event.endTimezone || event.startTimezone, timezone);\n\n event.start = kendo.timezone[method](event.start, timezone);\n event.end = kendo.timezone[method](event.end, timezone);\n } else {\n event.start = kendo.timezone[method](event.start, event.startTimezone || event.endTimezone);\n event.end = kendo.timezone[method](event.end, event.endTimezone || event.startTimezone);\n }\n\n } else if (timezone) {\n event.start = kendo.timezone[method](event.start, timezone);\n event.end = kendo.timezone[method](event.end, timezone);\n }\n } else {\n if (event.startTimezone || event.endTimezone) {\n event.start = kendo.timezone[method](event.start, event.startTimezone || event.endTimezone);\n event.end = kendo.timezone[method](event.end, event.endTimezone || event.startTimezone);\n\n if (timezone) {\n event.start = kendo.timezone.convert(event.start, event.startTimezone || event.endTimezone, timezone);\n event.end = kendo.timezone.convert(event.end, event.endTimezone || event.startTimezone, timezone);\n }\n\n } else if (timezone) {\n event.start = kendo.timezone[method](event.start, timezone);\n event.end = kendo.timezone[method](event.end, timezone);\n }\n }\n\n if (removeUid) {\n delete event.uid;\n }\n\n if (method === \"remove\" && event.start && startOffset && startOffset !== event.start.getTimezoneOffset()) {\n event.start = new Date(event.start.getTime() + (startOffset - event.start.getTimezoneOffset()) * 60000);\n }\n if (method === \"remove\" && event.end && endOffset && endOffset !== event.end.getTimezoneOffset()) {\n event.end = new Date(event.end.getTime() + (endOffset - event.end.getTimezoneOffset()) * 60000);\n }\n }\n return data;\n }\n\n function getOccurrenceByUid(data, uid) {\n var length = data.length,\n idx = 0,\n event;\n\n for (; idx < length; idx++) {\n event = data[idx];\n\n if (event.uid === uid) {\n return event;\n }\n }\n }\n\n var SchedulerDataReader = kendo.Class.extend({\n init: function(schema, reader) {\n var timezone = schema.timezone;\n\n this.reader = reader;\n\n if (reader.model) {\n this.model = reader.model;\n }\n\n this.timezone = timezone;\n this.data = wrapDataAccess(this.data.bind(this), timezone);\n this.serialize = wrapDataSerialization(this.serialize.bind(this), timezone);\n },\n errors: function(data) {\n return this.reader.errors(data);\n },\n parse: function(data) {\n return this.reader.parse(data);\n },\n data: function(data) {\n return this.reader.data(data);\n },\n total: function(data) {\n return this.reader.total(data);\n },\n groups: function(data) {\n return this.reader.groups(data);\n },\n aggregates: function(data) {\n return this.reader.aggregates(data);\n },\n serialize: function(data) {\n return this.reader.serialize(data);\n }\n });\n\n function applyZone(date, fromZone, toZone) {\n if (toZone) {\n date = kendo.timezone.convert(date, fromZone, toZone);\n } else {\n date = kendo.timezone.remove(date, fromZone);\n }\n\n return date;\n }\n\n function validDateValidator(input) {\n if ((input.filter(\"[name=start]\").length && input.filter(\"[title=Start]\").length) ||\n (input.filter(\"[name=end]\").length && input.filter(\"[title=End]\").length) ||\n input.filter(\".k-recur-until\").length) {\n var date;\n var picker = kendo.widgetInstance(input, kendo.ui);\n\n if (picker) {\n date = kendo.parseDate(input.val(), picker.options.format);\n return !!date && picker.value();\n } else {\n date = kendo.parseDate(input.val());\n return !!date;\n }\n }\n\n return true;\n }\n\n function dateCompareValidator(input) {\n if (input.filter(\"[name=end]\").length) {\n var container = input.closest(\".k-scheduler-edit-form\");\n var startInput = container.find(\"[name=start]:visible\");\n var endInput = container.find(\"[name=end]:visible\");\n\n if (endInput[0] && startInput[0]) {\n var start, end;\n var startPicker = kendo.widgetInstance(startInput, kendo.ui);\n var endPicker = kendo.widgetInstance(endInput, kendo.ui);\n\n var editable = container.data(\"kendoEditable\");\n var model = editable ? editable.options.model : null;\n\n if (startPicker && endPicker) {\n start = startPicker.value();\n end = endPicker.value();\n } else {\n start = kendo.parseDate(startInput.val());\n end = kendo.parseDate(endInput.val());\n }\n\n if (start && end) {\n if (model) {\n var timezone = startInput.attr(kendo.attr(\"timezone\"));\n var startTimezone = model.startTimezone;\n var endTimezone = model.endTimezone;\n\n startTimezone = startTimezone || endTimezone;\n endTimezone = endTimezone || startTimezone;\n\n if (startTimezone) {\n start = applyZone(start, startTimezone, timezone);\n end = applyZone(end, endTimezone, timezone);\n }\n }\n\n return start <= end;\n }\n }\n }\n\n return true;\n }\n\n function untilDateCompareValidator(input) {\n var untilPicker, until,\n container, startInput, start, startPicker;\n\n if (input.filter(\".k-recur-until\").length) {\n untilPicker = kendo.widgetInstance(input, kendo.ui);\n until = untilPicker.value();\n container = input.closest(\".k-scheduler-edit-form\");\n startInput = container.find(\"[name=start]:visible\");\n\n if (startInput[0]) {\n startPicker = kendo.widgetInstance(startInput, kendo.ui);\n\n if (startPicker) {\n start = startPicker.value();\n } else {\n start = kendo.parseDate(startInput.val());\n }\n\n if (start && until) {\n return start <= until;\n }\n }\n }\n\n return true;\n }\n\n var SchedulerEvent = kendo.data.Model.define({\n init: function(value) {\n var that = this;\n\n kendo.data.Model.fn.init.call(that, value);\n\n that._defaultId = that.defaults[that.idField];\n },\n\n _time: function(field) {\n var date = this[field];\n var fieldTime = \"_\" + field + \"Time\";\n\n if (this[fieldTime]) {\n return this[fieldTime] - kendo.date.toUtcTime(kendo.date.getDate(date));\n }\n\n return getMilliseconds(date);\n },\n\n _date: function(field) {\n var fieldTime = \"_\" + field + \"Time\";\n\n if (this[fieldTime]) {\n return this[fieldTime] - this._time(field);\n }\n\n return kendo.date.getDate(this[field]);\n },\n\n clone: function(options, updateUid) {\n var uid = this.uid,\n event = new this.constructor($.extend({}, this.toJSON(), options));\n\n if (!updateUid) {\n event.uid = uid;\n }\n\n return event;\n },\n\n duration: function() {\n var end = this.end;\n var start = this.start;\n var offset = (end.getTimezoneOffset() - start.getTimezoneOffset()) * kendo.date.MS_PER_MINUTE;\n\n return end - start - offset;\n },\n\n expand: function(start, end, zone) {\n return recurrence ? recurrence.expand(this, start, end, zone) : [this];\n },\n\n update: function(eventInfo) {\n for (var field in eventInfo) {\n this.set(field, eventInfo[field]);\n }\n\n if (this._startTime) {\n this.set(\"_startTime\", kendo.date.toUtcTime(this.start));\n }\n\n if (this._endTime) {\n this.set(\"_endTime\", kendo.date.toUtcTime(this.end));\n }\n },\n\n isMultiDay: function() {\n return this.isAllDay || this.duration() >= kendo.date.MS_PER_DAY;\n },\n\n isException: function() {\n return !this.isNew() && this.recurrenceId;\n },\n\n isOccurrence: function() {\n return this.isNew() && this.recurrenceId;\n },\n\n isRecurring: function() {\n return !!(this.recurrenceRule || this.recurrenceId);\n },\n\n isRecurrenceHead: function() {\n return !!(this.id && this.recurrenceRule);\n },\n\n toOccurrence: function(options) {\n options = $.extend(options, {\n recurrenceException: null,\n recurrenceRule: null,\n recurrenceId: this.id || this.recurrenceId\n });\n\n options[this.idField] = this.defaults[this.idField];\n\n return this.clone(options, true);\n },\n\n toJSON: function() {\n var obj = kendo.data.Model.fn.toJSON.call(this);\n obj.uid = this.uid;\n\n delete obj._startTime;\n delete obj._endTime;\n\n return obj;\n },\n\n shouldSerialize: function(field) {\n return kendo.data.Model.fn.shouldSerialize.call(this, field) && field !== \"_defaultId\";\n },\n\n set: function(key, value) {\n var isAllDay = this.isAllDay || false;\n\n kendo.data.Model.fn.set.call(this, key, value);\n\n if (key == \"isAllDay\" && value != isAllDay) {\n var start = kendo.date.getDate(this.start);\n var end = new Date(this.end);\n var milliseconds = kendo.date.getMilliseconds(end);\n\n if (milliseconds === 0 && value) {\n milliseconds = MS_PER_DAY;\n }\n\n this.set(\"start\", start);\n\n if (value === true) {\n kendo.date.setTime(end, -milliseconds);\n\n if (end < start) {\n end = start;\n }\n } else {\n kendo.date.setTime(end, MS_PER_DAY - milliseconds);\n }\n\n this.set(\"end\", end);\n }\n },\n id: \"id\",\n fields: {\n id: { type: \"number\" },\n title: { defaultValue: \"\", type: \"string\" },\n start: { type: \"date\", validation: { required: true, validDate: { value: validDateValidator } } },\n startTimezone: { type: \"string\" },\n end: {\n type: \"date\",\n validation: {\n required: true,\n validDate: { value: validDateValidator },\n dateCompare: { value: dateCompareValidator }\n }\n },\n endTimezone: { type: \"string\" },\n recurrenceRule: {\n defaultValue: \"\",\n type: \"string\",\n validation: {\n validDate: { value: validDateValidator },\n untilDateCompare: { value: untilDateCompareValidator }\n }\n },\n recurrenceException: { defaultValue: \"\", type: \"string\" },\n isAllDay: { type: \"boolean\", defaultValue: false },\n description: { type: \"string\" }\n }\n });\n\n var SchedulerDataSource = DataSource.extend({\n init: function(options) {\n\n DataSource.fn.init.call(this, extend(true, {}, {\n schema: {\n modelBase: SchedulerEvent,\n model: SchedulerEvent\n }\n }, options));\n\n this.reader = new SchedulerDataReader(this.options.schema, this.reader);\n },\n\n expand: function(start, end) {\n var data = this.view(),\n filter = {},\n endOffset;\n\n if (start && end) {\n endOffset = end.getTimezoneOffset();\n end = new Date(end.getTime() + MS_PER_DAY - 1);\n\n if (end.getTimezoneOffset() !== endOffset) {\n end = kendo.timezone.apply(end, endOffset);\n }\n\n filter = {\n logic: \"or\",\n filters: [\n {\n logic: \"and\",\n filters: [\n { field: \"start\", operator: \"gte\", value: start },\n { field: \"end\", operator: \"gte\", value: start },\n { field: \"start\", operator: \"lte\", value: end }\n ]\n },\n {\n logic: \"and\",\n filters: [\n { field: \"start\", operator: \"lte\", value: new Date(start.getTime() + MS_PER_DAY - 1) },\n { field: \"end\", operator: \"gte\", value: start }\n ]\n }\n ]\n };\n\n data = new kendo.data.Query(expandAll(data, start, end, this.reader.timezone)).filter(filter).toArray();\n }\n\n return data;\n },\n\n cancelChanges: function(model) {\n if (model && model.isOccurrence()) {\n this._removeExceptionDate(model);\n }\n\n DataSource.fn.cancelChanges.call(this, model);\n },\n\n insert: function(index, model) {\n if (!model) {\n return;\n }\n\n if (!(model instanceof SchedulerEvent)) {\n var eventInfo = model;\n\n model = this._createNewModel();\n model.accept(eventInfo);\n }\n\n if ((!this._pushCreated && model.isRecurrenceHead()) || model.recurrenceId) {\n model = model.recurrenceId ? model : model.toOccurrence();\n this._addExceptionDate(model);\n }\n\n return DataSource.fn.insert.call(this, index, model);\n },\n\n pushCreate: function(items) {\n this._pushCreated = true;\n DataSource.fn.pushCreate.call(this, items);\n this._pushCreated = false;\n },\n\n remove: function(model) {\n if (model.isRecurrenceHead()) {\n this._removeExceptions(model);\n } else if (model.isRecurring()) {\n this._addExceptionDate(model);\n }\n\n return DataSource.fn.remove.call(this, model);\n },\n\n _removeExceptions: function(model) {\n var data = this.data().slice(0),\n item = data.shift(),\n id = model.id;\n\n while (item) {\n if (item.recurrenceId === id) {\n DataSource.fn.remove.call(this, item);\n }\n\n item = data.shift();\n }\n\n model.set(RECURRENCE_EXCEPTION, \"\");\n },\n\n _removeExceptionDate: function(model) {\n if (model.recurrenceId) {\n var head = this.get(model.recurrenceId);\n\n if (head) {\n var start = model.defaults.start;\n var replaceRegExp = new RegExp(\"(\\\\\" + EXCEPTION_SEPARATOR + \"?)\" + recurrence.toExceptionString(start, this.reader.timezone));\n var recurrenceException = (head.recurrenceException || \"\").replace(OLD_EXCEPTION_SEPARATOR_REGEXP, EXCEPTION_SEPARATOR).replace(/\\,$/, \"\");\n\n if (replaceRegExp.test(recurrenceException)) {\n head.set(RECURRENCE_EXCEPTION, recurrenceException.replace(replaceRegExp, \"\"));\n } else {\n start = model.start;\n replaceRegExp = new RegExp(\"(\\\\\" + EXCEPTION_SEPARATOR + \"?)\" + recurrence.toExceptionString(start, this.reader.timezone));\n head.set(RECURRENCE_EXCEPTION, recurrenceException.replace(replaceRegExp, \"\"));\n }\n }\n }\n },\n\n _addExceptionDate: function(model) {\n var start = model.start;\n var zone = this.reader.timezone;\n var head = this.get(model.recurrenceId);\n var recurrenceException = (head.recurrenceException || \"\").replace(OLD_EXCEPTION_SEPARATOR_REGEXP, EXCEPTION_SEPARATOR).replace(/\\,$/, \"\");\n\n if (!recurrence.isException(recurrenceException, start, zone)) {\n var newException = recurrence.toExceptionString(start, zone);\n model.defaults.start = start;\n head.set(RECURRENCE_EXCEPTION, recurrenceException + (recurrenceException && newException ? EXCEPTION_SEPARATOR : \"\") + newException);\n }\n }\n });\n\n function expandAll(events, start, end, zone) {\n var length = events.length,\n data = [],\n idx = 0;\n\n for (; idx < length; idx++) {\n data = data.concat(events[idx].expand(start, end, zone));\n }\n\n return data;\n }\n\n SchedulerDataSource.create = function(options) {\n if (isArray(options) || options instanceof kendo.data.ObservableArray) {\n options = { data: options };\n }\n\n var dataSource = options || {},\n data = dataSource.data;\n\n dataSource.data = data;\n\n if (!(dataSource instanceof SchedulerDataSource) && dataSource instanceof kendo.data.DataSource) {\n throw new Error(\"Incorrect DataSource type. Only SchedulerDataSource instances are supported\");\n }\n\n return dataSource instanceof SchedulerDataSource ? dataSource : new SchedulerDataSource(dataSource);\n };\n\n extend(true, kendo.data, {\n SchedulerDataSource: SchedulerDataSource,\n SchedulerDataReader: SchedulerDataReader,\n SchedulerEvent: SchedulerEvent\n });\n\n var defaultCommands = {\n update: {\n text: \"Save\",\n className: \"k-button-solid-primary k-scheduler-update\"\n },\n canceledit: {\n text: \"Cancel\",\n className: \"k-scheduler-cancel\"\n },\n destroy: {\n text: \"Delete\",\n imageClass: \"k-i-close\",\n className: \"k-button-solid-primary k-scheduler-delete\",\n iconClass: \"k-icon\"\n }\n };\n\n function trimOptions(options, overrideOptions) {\n delete options.name;\n delete options.prefix;\n\n delete options.remove;\n delete options.edit;\n delete options.add;\n delete options.navigate;\n\n for (var key in overrideOptions) {\n options[key] = overrideOptions[key];\n }\n\n return options;\n }\n\n /*\n function fieldType(field) {\n field = field != null ? field : \"\";\n return field.type || kendo.type(field) || \"string\";\n }\n */\n\n function descriptionEditor(options) {\n var attr = createValidationAttributes(options.model, options.field);\n\n return function(container, model) {\n $('').attr(attr)\n .appendTo(container)\n .wrap('');\n };\n }\n\n function createValidationAttributes(model, field) {\n var modelField = (model.fields || model)[field];\n var specialRules = [\"url\", \"email\", \"number\", \"date\", \"boolean\"];\n var validation = modelField ? modelField.validation : {};\n // var type = fieldType(modelField);\n var datatype = kendo.attr(\"type\");\n var inArray = $.inArray;\n var ruleName;\n var rule;\n\n var attr = {};\n\n for (ruleName in validation) {\n rule = validation[ruleName];\n\n if (inArray(ruleName, specialRules) >= 0) {\n attr[datatype] = ruleName;\n } else if (!kendo.isFunction(rule)) {\n attr[ruleName] = isPlainObject(rule) ? (rule.value || ruleName) : rule;\n }\n\n attr[kendo.attr(ruleName + \"-msg\")] = rule.message;\n }\n\n return attr;\n }\n\n function filterResourceEditorData(editor, parentValue, parentValueField, valueField) {\n var editorValue = editor.value(),\n isMs = Array.isArray(editorValue),\n valueArray;\n\n if (isMs) {\n valueArray = JSON.parse(JSON.stringify(editorValue));\n } else {\n valueArray = [editorValue.toString()];\n }\n\n editor.dataSource.data().forEach(function(item) {\n if (item[parentValueField] === null || item[parentValueField] === undefined$1 || item[parentValueField] == parentValue) {\n item.set(DISABLED, false);\n } else {\n var currentValue = item.get(valueField);\n\n item.set(DISABLED, true);\n\n if (valueArray.indexOf(currentValue) >= 0 || valueArray.indexOf(currentValue.toString()) >= 0) {\n if (isMs) {\n valueArray.splice(valueArray.indexOf(currentValue), 1);\n } else {\n editor.value(null);\n editor.trigger(CHANGE);\n }\n }\n }\n });\n\n if (isMs && valueArray.length < editorValue.length) {\n editor.value(valueArray);\n editor.trigger(CHANGE);\n }\n }\n\n function bindParentValueChangeHandler(container, currentEditor, resource, parent) {\n var parentElement = container.closest(\".k-edit-form-container\").find(\"[data-\" + kendo.ns + \"bind='value:\" + parent + \"']\");\n var parentWidget = parentElement.getKendoDropDownList();\n\n if (parentWidget) {\n parentWidget.bind(CHANGE, function(ev) {\n var parentValue = ev.sender.value();\n\n filterResourceEditorData(currentEditor, parentValue, resource.dataParentValueField, resource.dataValueField);\n });\n } else {\n parentElement.on(CHANGE, function(ev) {\n var parentValue = ev.target.value;\n\n filterResourceEditorData(currentEditor, parentValue, resource.dataParentValueField, resource.dataValueField);\n });\n }\n }\n\n function filterMobileResourceEditorData(resource, currentEditor, parentSelectedValue) {\n var options = currentEditor.find(OPTION),\n editorValue = currentEditor.val(),\n isMs = Array.isArray(editorValue),\n valueArray;\n\n if (isMs) {\n valueArray = JSON.parse(JSON.stringify(editorValue));\n } else {\n valueArray = [editorValue];\n }\n\n resource.dataSource.view().forEach(function(item, index) {\n var itemParentValue = kendo.getter(resource.dataParentValueField)(item);\n var valid = itemParentValue === null || itemParentValue === undefined$1 || itemParentValue == parentSelectedValue;\n\n if (valid) {\n options[index].removeAttribute(DISABLED);\n } else {\n options[index].setAttribute(DISABLED, DISABLED);\n\n var currentValue = \"\" + item.get(resource.dataValueField);\n\n if (valueArray.indexOf(currentValue) >= 0) {\n if (isMs) {\n valueArray.splice(valueArray.indexOf(currentValue), 1);\n } else {\n currentEditor.val(null);\n currentEditor.trigger(CHANGE);\n }\n }\n }\n });\n\n if (isMs && valueArray.length < editorValue.length) {\n currentEditor.val(valueArray);\n currentEditor.trigger(CHANGE);\n }\n }\n\n function dropDownResourceEditor(resource, model, parent) {\n var attr = createValidationAttributes(model, resource.field);\n\n return function(container) {\n var currentEditor;\n\n if (parent) {\n setTimeout(function() {\n filterResourceEditorData(currentEditor, model[parent], resource.dataParentValueField, resource.dataValueField);\n bindParentValueChangeHandler(container, currentEditor, resource, parent);\n });\n }\n\n currentEditor = $(kendo.format('