diff --git a/src/models/EventDef.ts b/src/models/EventDef.ts index e0f70d1f4..ba8afc114 100644 --- a/src/models/EventDef.ts +++ b/src/models/EventDef.ts @@ -37,7 +37,7 @@ once we do away with the deprecated eventResourceField. EventDef.prototype.applyMiscProps = function(rawProps) { rawProps = $.extend({}, rawProps) // clone, because of delete - this.resourceIds = Resource.extractIds(rawProps, this.source.calendar) + this.resourceIds = Resource.extractIds(rawProps, this.source) delete rawProps.resourceId delete rawProps.resourceIds diff --git a/src/models/EventSource.ts b/src/models/EventSource.ts index f56ad0af0..74834ed5b 100644 --- a/src/models/EventSource.ts +++ b/src/models/EventSource.ts @@ -2,4 +2,5 @@ import { EventSource } from 'fullcalendar' // defineStandardProps won't work :( // TODO: find a better way -(EventSource.prototype as any).standardPropMap.resourceEditable = true // automatically transfer +(EventSource.prototype as any).standardPropMap.resourceEditable = true; // automatically transfer +(EventSource.prototype as any).standardPropMap.resourceId = true diff --git a/src/models/Resource.ts b/src/models/Resource.ts index 3af8b7e09..6b760941e 100644 --- a/src/models/Resource.ts +++ b/src/models/Resource.ts @@ -2,8 +2,8 @@ export default class Resource { - static extractIds(rawProps, calendar) { - const resourceField = calendar.opt('eventResourceField') || 'resourceId' + static extractIds(rawProps, source) { + const resourceField = source.calendar.opt('eventResourceField') || 'resourceId' const resourceIds = [] if (rawProps.resourceIds) { @@ -16,6 +16,10 @@ export default class Resource { resourceIds.push(Resource.normalizeId(rawProps[resourceField])) } + if (source[resourceField]) { + resourceIds.push(Resource.normalizeId(source[resourceField])) + } + return resourceIds }