Przeglądaj źródła

for resource stuff

Adam Shaw 7 lat temu
rodzic
commit
7135cc95e2
3 zmienionych plików z 30 dodań i 24 usunięć
  1. 14 12
      src/Calendar.ts
  2. 12 10
      src/CalendarComponent.ts
  3. 4 2
      src/exports.ts

+ 14 - 12
src/Calendar.ts

@@ -15,7 +15,7 @@ import { Duration, createDuration } from './datelib/duration'
 import reduce from './reducers/main'
 import { parseDateSpan, DateSpanInput, DateSpan, buildDateSpanApi } from './structs/date-span'
 import reselector from './util/reselector'
-import { mapHash } from './util/object'
+import { mapHash, assignTo } from './util/object'
 import { DateRangeInput } from './datelib/date-range'
 import DateProfileGenerator from './DateProfileGenerator'
 import { EventSourceInput, parseEventSource, EventSourceHash } from './structs/event-source'
@@ -374,17 +374,19 @@ export default class Calendar {
       }, this.el)
     }
 
-    component.receiveProps({
-      viewSpec,
-      dateProfile: state.dateProfile,
-      dateProfileGenerator: this.dateProfileGenerators[viewType],
-      eventStore: renderableEventStore,
-      eventUis,
-      dateSelection: state.dateSelection,
-      eventSelection: state.eventSelection,
-      eventDrag: state.eventDrag,
-      eventResize: state.eventResize
-    })
+    component.receiveProps(
+      assignTo({}, state, {
+        viewSpec,
+        dateProfile: state.dateProfile,
+        dateProfileGenerator: this.dateProfileGenerators[viewType],
+        eventStore: renderableEventStore,
+        eventUis,
+        dateSelection: state.dateSelection,
+        eventSelection: state.eventSelection,
+        eventDrag: state.eventDrag,
+        eventResize: state.eventResize
+      })
+    )
 
     if (savedScroll) {
       component.view.applyScroll(savedScroll)

+ 12 - 10
src/CalendarComponent.ts

@@ -180,16 +180,18 @@ export default class CalendarComponent extends Component<CalendarComponentProps>
 
     view.title = title // for the API
 
-    view.receiveProps({
-      dateProfile: props.dateProfile,
-      businessHours: this.parseBusinessHours(viewSpec.options.businessHours),
-      eventStore: props.eventStore,
-      eventUis: props.eventUis,
-      dateSelection: props.dateSelection,
-      eventSelection: props.eventSelection,
-      eventDrag: props.eventDrag,
-      eventResize: props.eventResize
-    })
+    view.receiveProps(
+      assignTo({}, props, {
+        dateProfile: props.dateProfile,
+        businessHours: this.parseBusinessHours(viewSpec.options.businessHours),
+        eventStore: props.eventStore,
+        eventUis: props.eventUis,
+        dateSelection: props.dateSelection,
+        eventSelection: props.eventSelection,
+        eventDrag: props.eventDrag,
+        eventResize: props.eventResize
+      })
+    )
   }
 
 

+ 4 - 2
src/exports.ts

@@ -87,8 +87,9 @@ export { default as Mixin } from './common/Mixin'
 export { default as PositionCache } from './common/PositionCache'
 export { default as ScrollComponent, ScrollbarWidths } from './common/ScrollComponent'
 export { default as Theme } from './theme/Theme'
-export { ComponentContext } from './component/Component'
+export { default as Component, ComponentContext } from './component/Component'
 export { default as DateComponent, Seg } from './component/DateComponent'
+export { default as StandardDateComponent, StandardDateComponentProps } from './component/StandardDateComponent'
 export { default as Calendar } from './Calendar'
 export { default as View } from './View'
 export { defineView, getViewConfig } from './ViewRegistry'
@@ -100,7 +101,8 @@ export { default as DayGrid } from './basic/DayGrid'
 export { default as BasicView } from './basic/BasicView'
 export { default as MonthView } from './basic/MonthView'
 export { default as ListView } from './list/ListView'
-export { DateProfile } from './DateProfileGenerator'
+export { default as DateProfileGenerator, DateProfile } from './DateProfileGenerator'
+export { ViewSpec } from './structs/view-spec'
 
 export { DateMarker, addDays, startOfDay, addMs, diffWholeWeeks, diffWholeDays, diffDayAndTime, isValidDate } from './datelib/marker'
 export {