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