Explorar el Código

some cleanup and optimizations

Adam Shaw hace 5 años
padre
commit
72cd19606f

+ 3 - 9
packages/core/src/OptionsManager.ts

@@ -3,13 +3,7 @@ import { globalDefaults, mergeOptions } from './options'
 import { organizeRawLocales, buildLocale } from './datelib/locale'
 import { __assign } from 'tslib'
 
-
-export function compileOptions(overrides, dynamicOverrides) {
-  return compileOptionsAdvanced(overrides, dynamicOverrides).combined
-}
-
-
-export function compileOptionsAdvanced(overrides, dynamicOverrides, viewDefaults?, viewOverrides?) {
+export function compileOptions(overrides, dynamicOverrides, viewDefaults?, viewOverrides?) {
   let locales = firstDefined( // explicit locale option given?
     dynamicOverrides.locales,
     overrides.locales,
@@ -22,13 +16,13 @@ export function compileOptionsAdvanced(overrides, dynamicOverrides, viewDefaults
     globalDefaults.locale
   )
 
-  let availableLocaleData = organizeRawLocales(locales) // also done in Calendar :(
+  let availableLocaleData = organizeRawLocales(locales)
   let localeDefaults = buildLocale(locale || availableLocaleData.defaultCode, availableLocaleData.map).options
 
   return {
     availableLocaleData,
     localeDefaults,
-    combined: mergeOptions([ // merge defaults and overrides. lowest to highest precedence
+    options: mergeOptions([ // merge defaults and overrides. lowest to highest precedence
       globalDefaults, // global defaults
       viewDefaults || {},
       localeDefaults,

+ 3 - 4
packages/core/src/reducers/CalendarStateReducer.ts

@@ -1,5 +1,5 @@
 
-import { organizeRawLocales, buildLocale, RawLocaleInfo } from '../datelib/locale'
+import { buildLocale, RawLocaleInfo } from '../datelib/locale'
 import { memoize } from '../util/memoize'
 import { Action, CalendarState } from './types'
 import { PluginHooks, buildPluginHooks } from '../plugin-system'
@@ -26,7 +26,6 @@ export class CalendarStateReducer {
 
   private compileOptions = memoize(compileOptions)
   private buildPluginHooks = memoize(buildPluginHooks)
-  private organizeRawLocales = memoize(organizeRawLocales)
   private buildDateEnv = memoize(buildDateEnv)
   private buildTheme = memoize(buildTheme)
   private buildViewSpecs = memoize(buildViewSpecs)
@@ -61,10 +60,10 @@ export class CalendarStateReducer {
         break
     }
 
-    let options = this.compileOptions(optionOverrides, dynamicOptionOverrides) // TODO: this is also done elsewhere
+    let { options, availableLocaleData } = this.compileOptions(optionOverrides, dynamicOptionOverrides)
+
     let pluginHooks = this.buildPluginHooks(options.plugins)
     let viewSpecs = this.buildViewSpecs(pluginHooks.views, optionOverrides, dynamicOptionOverrides)
-    let availableLocaleData = this.organizeRawLocales(options.locales)
     let prevDateEnv = state.dateEnv
     let dateEnv = this.buildDateEnv(
       options.timeZone,

+ 5 - 5
packages/core/src/structs/view-spec.ts

@@ -1,6 +1,6 @@
 import { ViewDef, compileViewDefs } from './view-def'
 import { Duration, createDuration, greatestDurationDenominator, getWeeksFromInput } from '../datelib/duration'
-import { compileOptionsAdvanced } from '../OptionsManager'
+import { compileOptions } from '../OptionsManager'
 import { mapHash } from '../util/object'
 import { globalDefaults } from '../options'
 import { ViewConfigInputHash, parseViewConfigs, ViewConfigHash, ViewComponentType } from './view-config'
@@ -68,8 +68,8 @@ function buildViewSpec(viewDef: ViewDef, overrideConfigs: ViewConfigHash, option
     }
   }
 
-  let queryButtonText = function(options) {
-    let buttonTextMap = options.buttonText || {}
+  let queryButtonText = function(optionsSubset) {
+    let buttonTextMap = optionsSubset.buttonText || {}
     let buttonTextKey = viewDef.defaults.buttonTextKey
 
     if (buttonTextKey != null && buttonTextMap[buttonTextKey] != null) {
@@ -85,7 +85,7 @@ function buildViewSpec(viewDef: ViewDef, overrideConfigs: ViewConfigHash, option
     }
   }
 
-  let { combined, localeDefaults } = compileOptionsAdvanced(
+  let { options, localeDefaults } = compileOptions(
     optionOverrides,
     dynamicOptionOverrides,
     viewDef.defaults,
@@ -98,7 +98,7 @@ function buildViewSpec(viewDef: ViewDef, overrideConfigs: ViewConfigHash, option
     duration,
     durationUnit,
     singleUnit,
-    options: combined,
+    options,
 
     buttonTextOverride:
       queryButtonText(dynamicOptionOverrides) ||