mis-crystal-design-system 2.3.18 → 2.3.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/mis-crystal-design-system-datepicker.umd.js +13916 -0
- package/bundles/mis-crystal-design-system-datepicker.umd.js.map +1 -0
- package/bundles/mis-crystal-design-system-datepicker.umd.min.js +68 -0
- package/bundles/mis-crystal-design-system-datepicker.umd.min.js.map +1 -0
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.js +13 -13
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js +2 -2
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js +10 -1
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js +2 -2
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js.map +1 -1
- package/datepicker/base/bs-datepicker-container.d.ts +44 -0
- package/datepicker/bs-datepicker-inline.component.d.ts +61 -0
- package/datepicker/bs-datepicker-inline.config.d.ts +3 -0
- package/datepicker/bs-datepicker-input.directive.d.ts +30 -0
- package/datepicker/bs-datepicker.component.d.ts +123 -0
- package/datepicker/bs-datepicker.config.d.ts +140 -0
- package/datepicker/bs-datepicker.module.d.ts +4 -0
- package/datepicker/bs-daterangepicker-inline.component.d.ts +61 -0
- package/datepicker/bs-daterangepicker-inline.config.d.ts +6 -0
- package/datepicker/bs-daterangepicker-input.directive.d.ts +30 -0
- package/datepicker/bs-daterangepicker.component.d.ts +115 -0
- package/datepicker/bs-daterangepicker.config.d.ts +4 -0
- package/datepicker/bs-locale.service.d.ts +10 -0
- package/datepicker/date-formatter.d.ts +3 -0
- package/datepicker/datepicker-animations.d.ts +3 -0
- package/datepicker/datepicker-inner.component.d.ts +75 -0
- package/datepicker/datepicker.component.d.ts +78 -0
- package/datepicker/datepicker.config.d.ts +19 -0
- package/datepicker/datepicker.module.d.ts +4 -0
- package/datepicker/daypicker.component.d.ts +14 -0
- package/datepicker/engine/calc-days-calendar.d.ts +2 -0
- package/datepicker/engine/flag-days-calendar.d.ts +17 -0
- package/datepicker/engine/flag-months-calendar.d.ts +12 -0
- package/datepicker/engine/flag-years-calendar.d.ts +12 -0
- package/datepicker/engine/format-days-calendar.d.ts +4 -0
- package/datepicker/engine/format-months-calendar.d.ts +2 -0
- package/datepicker/engine/format-years-calendar.d.ts +4 -0
- package/datepicker/engine/view-mode.d.ts +2 -0
- package/datepicker/index.d.ts +1 -0
- package/datepicker/mis-crystal-design-system-datepicker.d.ts +24 -0
- package/datepicker/mis-crystal-design-system-datepicker.metadata.json +1 -0
- package/datepicker/models/index.d.ts +102 -0
- package/datepicker/monthpicker.component.d.ts +11 -0
- package/datepicker/package.json +11 -0
- package/datepicker/public_api.d.ts +26 -0
- package/datepicker/reducer/_defaults.d.ts +2 -0
- package/datepicker/reducer/bs-datepicker.actions.d.ts +43 -0
- package/datepicker/reducer/bs-datepicker.effects.d.ts +38 -0
- package/datepicker/reducer/bs-datepicker.reducer.d.ts +3 -0
- package/datepicker/reducer/bs-datepicker.state.d.ts +43 -0
- package/datepicker/reducer/bs-datepicker.store.d.ts +5 -0
- package/datepicker/sub-components/chronos/create/check-overflow.d.ts +2 -0
- package/datepicker/sub-components/chronos/create/clone.d.ts +1 -0
- package/datepicker/sub-components/chronos/create/date-from-array.d.ts +2 -0
- package/datepicker/sub-components/chronos/create/from-anything.d.ts +4 -0
- package/datepicker/sub-components/chronos/create/from-array.d.ts +2 -0
- package/datepicker/sub-components/chronos/create/from-object.d.ts +2 -0
- package/datepicker/sub-components/chronos/create/from-string-and-array.d.ts +2 -0
- package/datepicker/sub-components/chronos/create/from-string-and-format.d.ts +4 -0
- package/datepicker/sub-components/chronos/create/from-string.d.ts +4 -0
- package/datepicker/sub-components/chronos/create/local.d.ts +3 -0
- package/datepicker/sub-components/chronos/create/parsing-flags.d.ts +2 -0
- package/datepicker/sub-components/chronos/create/parsing.types.d.ts +64 -0
- package/datepicker/sub-components/chronos/create/valid.d.ts +6 -0
- package/datepicker/sub-components/chronos/duration/bubble.d.ts +4 -0
- package/datepicker/sub-components/chronos/duration/constructor.d.ts +21 -0
- package/datepicker/sub-components/chronos/duration/create.d.ts +8 -0
- package/datepicker/sub-components/chronos/duration/humanize.d.ts +5 -0
- package/datepicker/sub-components/chronos/duration/valid.d.ts +2 -0
- package/datepicker/sub-components/chronos/format/format.d.ts +11 -0
- package/datepicker/sub-components/chronos/format.d.ts +5 -0
- package/datepicker/sub-components/chronos/i18n/ar.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/bg.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/ca.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/cs.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/da.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/de.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/en-gb.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/es-do.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/es-us.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/es.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/et.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/fi.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/fr.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/gl.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/he.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/hi.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/hr.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/hu.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/id.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/it.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/ja.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/ka.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/kk.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/ko.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/lt.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/lv.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/mn.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/nb.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/nl-be.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/nl.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/pl.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/pt-br.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/ro.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/ru.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/sk.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/sl.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/sq.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/sv.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/th-be.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/th.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/tr.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/uk.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/vi.d.ts +2 -0
- package/datepicker/sub-components/chronos/i18n/zh-cn.d.ts +2 -0
- package/datepicker/sub-components/chronos/index.d.ts +1 -0
- package/datepicker/sub-components/chronos/locale/calendar.d.ts +8 -0
- package/datepicker/sub-components/chronos/locale/locale.class.d.ts +143 -0
- package/datepicker/sub-components/chronos/locale/locale.defaults.d.ts +11 -0
- package/datepicker/sub-components/chronos/locale/locales.d.ts +7 -0
- package/datepicker/sub-components/chronos/moment/add-subtract.d.ts +5 -0
- package/datepicker/sub-components/chronos/moment/calendar.d.ts +15 -0
- package/datepicker/sub-components/chronos/moment/diff.d.ts +3 -0
- package/datepicker/sub-components/chronos/moment/min-max.d.ts +2 -0
- package/datepicker/sub-components/chronos/parse/regex.d.ts +22 -0
- package/datepicker/sub-components/chronos/parse/token.d.ts +5 -0
- package/datepicker/sub-components/chronos/public_api.d.ts +57 -0
- package/datepicker/sub-components/chronos/test/chain.d.ts +214 -0
- package/datepicker/sub-components/chronos/types.d.ts +36 -0
- package/datepicker/sub-components/chronos/units/aliases.d.ts +7 -0
- package/datepicker/sub-components/chronos/units/constants.d.ts +9 -0
- package/datepicker/sub-components/chronos/units/day-of-month.d.ts +1 -0
- package/datepicker/sub-components/chronos/units/day-of-week.d.ts +20 -0
- package/datepicker/sub-components/chronos/units/day-of-year.d.ts +3 -0
- package/datepicker/sub-components/chronos/units/hour.d.ts +1 -0
- package/datepicker/sub-components/chronos/units/index.d.ts +18 -0
- package/datepicker/sub-components/chronos/units/millisecond.d.ts +1 -0
- package/datepicker/sub-components/chronos/units/minute.d.ts +1 -0
- package/datepicker/sub-components/chronos/units/month.d.ts +2 -0
- package/datepicker/sub-components/chronos/units/offset.d.ts +10 -0
- package/datepicker/sub-components/chronos/units/priorities.d.ts +1 -0
- package/datepicker/sub-components/chronos/units/quarter.d.ts +3 -0
- package/datepicker/sub-components/chronos/units/second.d.ts +1 -0
- package/datepicker/sub-components/chronos/units/timestamp.d.ts +1 -0
- package/datepicker/sub-components/chronos/units/timezone.d.ts +3 -0
- package/datepicker/sub-components/chronos/units/week-calendar-utils.d.ts +9 -0
- package/datepicker/sub-components/chronos/units/week-year.d.ts +8 -0
- package/datepicker/sub-components/chronos/units/week.d.ts +6 -0
- package/datepicker/sub-components/chronos/units/year.d.ts +4 -0
- package/datepicker/sub-components/chronos/utils/abs-ceil.d.ts +1 -0
- package/datepicker/sub-components/chronos/utils/abs-round.d.ts +1 -0
- package/datepicker/sub-components/chronos/utils/compare-arrays.d.ts +1 -0
- package/datepicker/sub-components/chronos/utils/date-compare.d.ts +9 -0
- package/datepicker/sub-components/chronos/utils/date-getters.d.ts +18 -0
- package/datepicker/sub-components/chronos/utils/date-setters.d.ts +12 -0
- package/datepicker/sub-components/chronos/utils/defaults.d.ts +1 -0
- package/datepicker/sub-components/chronos/utils/start-end-of.d.ts +3 -0
- package/datepicker/sub-components/chronos/utils/type-checks.d.ts +12 -0
- package/datepicker/sub-components/chronos/utils/zero-fill.d.ts +1 -0
- package/datepicker/sub-components/chronos/utils.d.ts +2 -0
- package/datepicker/sub-components/component-loader/bs-component-ref.class.d.ts +5 -0
- package/datepicker/sub-components/component-loader/component-loader.class.d.ts +75 -0
- package/datepicker/sub-components/component-loader/component-loader.factory.d.ts +18 -0
- package/datepicker/sub-components/component-loader/content-ref.class.d.ts +7 -0
- package/datepicker/sub-components/component-loader/index.d.ts +1 -0
- package/datepicker/sub-components/component-loader/listen-options.model.d.ts +11 -0
- package/datepicker/sub-components/component-loader/public_api.d.ts +4 -0
- package/datepicker/sub-components/mini-ngrx/index.d.ts +1 -0
- package/datepicker/sub-components/mini-ngrx/public_api.d.ts +7 -0
- package/datepicker/sub-components/mini-ngrx/state.class.d.ts +8 -0
- package/datepicker/sub-components/mini-ngrx/store.class.d.ts +16 -0
- package/datepicker/sub-components/positioning/index.d.ts +1 -0
- package/datepicker/sub-components/positioning/models/index.d.ts +41 -0
- package/datepicker/sub-components/positioning/modifiers/arrow.d.ts +2 -0
- package/datepicker/sub-components/positioning/modifiers/flip.d.ts +2 -0
- package/datepicker/sub-components/positioning/modifiers/index.d.ts +5 -0
- package/datepicker/sub-components/positioning/modifiers/initData.d.ts +2 -0
- package/datepicker/sub-components/positioning/modifiers/preventOverflow.d.ts +2 -0
- package/datepicker/sub-components/positioning/modifiers/shift.d.ts +2 -0
- package/datepicker/sub-components/positioning/ng-positioning.d.ts +8 -0
- package/datepicker/sub-components/positioning/positioning.service.d.ts +45 -0
- package/datepicker/sub-components/positioning/public_api.d.ts +2 -0
- package/datepicker/sub-components/positioning/utils/computeAutoPlacement.d.ts +2 -0
- package/datepicker/sub-components/positioning/utils/findCommonOffsetParent.d.ts +1 -0
- package/datepicker/sub-components/positioning/utils/getBordersSize.d.ts +4 -0
- package/datepicker/sub-components/positioning/utils/getBoundaries.d.ts +1 -0
- package/datepicker/sub-components/positioning/utils/getBoundingClientRect.d.ts +2 -0
- package/datepicker/sub-components/positioning/utils/getClientRect.d.ts +5 -0
- package/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.d.ts +4 -0
- package/datepicker/sub-components/positioning/utils/getOffsetParent.d.ts +1 -0
- package/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +2 -0
- package/datepicker/sub-components/positioning/utils/getOffsets.d.ts +2 -0
- package/datepicker/sub-components/positioning/utils/getOppositePlacement.d.ts +4 -0
- package/datepicker/sub-components/positioning/utils/getOppositeVariation.d.ts +4 -0
- package/datepicker/sub-components/positioning/utils/getOuterSizes.d.ts +7 -0
- package/datepicker/sub-components/positioning/utils/getParentNode.d.ts +4 -0
- package/datepicker/sub-components/positioning/utils/getReferenceOffsets.d.ts +2 -0
- package/datepicker/sub-components/positioning/utils/getRoot.d.ts +4 -0
- package/datepicker/sub-components/positioning/utils/getScroll.d.ts +4 -0
- package/datepicker/sub-components/positioning/utils/getScrollParent.d.ts +1 -0
- package/datepicker/sub-components/positioning/utils/getStyleComputedProperty.d.ts +4 -0
- package/datepicker/sub-components/positioning/utils/getTargetOffsets.d.ts +2 -0
- package/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +2 -0
- package/datepicker/sub-components/positioning/utils/getWindowSizes.d.ts +4 -0
- package/datepicker/sub-components/positioning/utils/includeScroll.d.ts +2 -0
- package/datepicker/sub-components/positioning/utils/index.d.ts +23 -0
- package/datepicker/sub-components/positioning/utils/isBrowser.d.ts +1 -0
- package/datepicker/sub-components/positioning/utils/isFixed.d.ts +1 -0
- package/datepicker/sub-components/positioning/utils/isIE.d.ts +1 -0
- package/datepicker/sub-components/positioning/utils/isModifierEnabled.d.ts +4 -0
- package/datepicker/sub-components/positioning/utils/isNumeric.d.ts +4 -0
- package/datepicker/sub-components/positioning/utils/isOffsetContainer.d.ts +1 -0
- package/datepicker/sub-components/positioning/utils/setStyles.d.ts +5 -0
- package/datepicker/sub-components/positioning/utils/updateContainerClass.d.ts +6 -0
- package/datepicker/sub-components/tooltip/index.d.ts +1 -0
- package/datepicker/sub-components/tooltip/public_api.d.ts +4 -0
- package/datepicker/sub-components/tooltip/tooltip-container.component.d.ts +14 -0
- package/datepicker/sub-components/tooltip/tooltip.config.d.ts +13 -0
- package/datepicker/sub-components/tooltip/tooltip.directive.d.ts +109 -0
- package/datepicker/sub-components/tooltip/tooltip.module.d.ts +4 -0
- package/datepicker/sub-components/utils/decorators.d.ts +1 -0
- package/datepicker/sub-components/utils/facade/browser.d.ts +23 -0
- package/datepicker/sub-components/utils/index.d.ts +1 -0
- package/datepicker/sub-components/utils/linked-list.class.d.ts +26 -0
- package/datepicker/sub-components/utils/public_api.d.ts +10 -0
- package/datepicker/sub-components/utils/theme-provider.d.ts +2 -0
- package/datepicker/sub-components/utils/trigger.class.d.ts +6 -0
- package/datepicker/sub-components/utils/triggers.d.ts +18 -0
- package/datepicker/sub-components/utils/utils.class.d.ts +4 -0
- package/datepicker/sub-components/utils/warn-once.d.ts +1 -0
- package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +2 -0
- package/datepicker/themes/bs/bs-current-date-view.component.d.ts +3 -0
- package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +14 -0
- package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +33 -0
- package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +11 -0
- package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +10 -0
- package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +9 -0
- package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +37 -0
- package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +10 -0
- package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +23 -0
- package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +13 -0
- package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +5 -0
- package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +13 -0
- package/datepicker/utils/bs-calendar-utils.d.ts +10 -0
- package/datepicker/utils/matrix-utils.d.ts +9 -0
- package/datepicker/yearpicker.component.d.ts +11 -0
- package/datepicker_v2/mis-crystal-design-system-datepicker_v2.metadata.json +1 -1
- package/esm2015/datepicker/base/bs-datepicker-container.js +47 -0
- package/esm2015/datepicker/bs-datepicker-inline.component.js +132 -0
- package/esm2015/datepicker/bs-datepicker-inline.config.js +12 -0
- package/esm2015/datepicker/bs-datepicker-input.directive.js +159 -0
- package/esm2015/datepicker/bs-datepicker.component.js +238 -0
- package/esm2015/datepicker/bs-datepicker.config.js +85 -0
- package/esm2015/datepicker/bs-datepicker.module.js +101 -0
- package/esm2015/datepicker/bs-daterangepicker-inline.component.js +129 -0
- package/esm2015/datepicker/bs-daterangepicker-inline.config.js +19 -0
- package/esm2015/datepicker/bs-daterangepicker-input.directive.js +191 -0
- package/esm2015/datepicker/bs-daterangepicker.component.js +227 -0
- package/esm2015/datepicker/bs-daterangepicker.config.js +17 -0
- package/esm2015/datepicker/bs-locale.service.js +28 -0
- package/esm2015/datepicker/date-formatter.js +7 -0
- package/esm2015/datepicker/datepicker-animations.js +16 -0
- package/esm2015/datepicker/datepicker-inner.component.js +282 -0
- package/esm2015/datepicker/datepicker.component.js +140 -0
- package/esm2015/datepicker/datepicker.config.js +30 -0
- package/esm2015/datepicker/datepicker.module.js +35 -0
- package/esm2015/datepicker/daypicker.component.js +174 -0
- package/esm2015/datepicker/engine/calc-days-calendar.js +19 -0
- package/esm2015/datepicker/engine/flag-days-calendar.js +91 -0
- package/esm2015/datepicker/engine/flag-months-calendar.js +41 -0
- package/esm2015/datepicker/engine/flag-years-calendar.js +39 -0
- package/esm2015/datepicker/engine/format-days-calendar.js +29 -0
- package/esm2015/datepicker/engine/format-months-calendar.js +19 -0
- package/esm2015/datepicker/engine/format-years-calendar.js +35 -0
- package/esm2015/datepicker/engine/view-mode.js +4 -0
- package/esm2015/datepicker/index.js +2 -0
- package/esm2015/datepicker/mis-crystal-design-system-datepicker.js +25 -0
- package/esm2015/datepicker/models/index.js +9 -0
- package/esm2015/datepicker/monthpicker.component.js +87 -0
- package/esm2015/datepicker/public_api.js +26 -0
- package/esm2015/datepicker/reducer/_defaults.js +5 -0
- package/esm2015/datepicker/reducer/bs-datepicker.actions.js +132 -0
- package/esm2015/datepicker/reducer/bs-datepicker.effects.js +170 -0
- package/esm2015/datepicker/reducer/bs-datepicker.reducer.js +302 -0
- package/esm2015/datepicker/reducer/bs-datepicker.state.js +12 -0
- package/esm2015/datepicker/reducer/bs-datepicker.store.js +19 -0
- package/esm2015/datepicker/sub-components/chronos/create/check-overflow.js +30 -0
- package/esm2015/datepicker/sub-components/chronos/create/clone.js +6 -0
- package/esm2015/datepicker/sub-components/chronos/create/date-from-array.js +17 -0
- package/esm2015/datepicker/sub-components/chronos/create/from-anything.js +107 -0
- package/esm2015/datepicker/sub-components/chronos/create/from-array.js +136 -0
- package/esm2015/datepicker/sub-components/chronos/create/from-object.js +17 -0
- package/esm2015/datepicker/sub-components/chronos/create/from-string-and-array.js +38 -0
- package/esm2015/datepicker/sub-components/chronos/create/from-string-and-format.js +106 -0
- package/esm2015/datepicker/sub-components/chronos/create/from-string.js +227 -0
- package/esm2015/datepicker/sub-components/chronos/create/local.js +16 -0
- package/esm2015/datepicker/sub-components/chronos/create/parsing-flags.js +26 -0
- package/esm2015/datepicker/sub-components/chronos/create/parsing.types.js +2 -0
- package/esm2015/datepicker/sub-components/chronos/create/valid.js +42 -0
- package/esm2015/datepicker/sub-components/chronos/duration/bubble.js +47 -0
- package/esm2015/datepicker/sub-components/chronos/duration/constructor.js +130 -0
- package/esm2015/datepicker/sub-components/chronos/duration/create.js +113 -0
- package/esm2015/datepicker/sub-components/chronos/duration/humanize.js +80 -0
- package/esm2015/datepicker/sub-components/chronos/duration/valid.js +45 -0
- package/esm2015/datepicker/sub-components/chronos/format/format.js +51 -0
- package/esm2015/datepicker/sub-components/chronos/format.js +46 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/ar.js +131 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/bg.js +96 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/ca.js +91 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/cs.js +181 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/da.js +50 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/de.js +72 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/en-gb.js +61 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/es-do.js +85 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/es-us.js +79 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/es.js +84 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/et.js +75 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/fi.js +100 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/fr.js +76 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/gl.js +84 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/he.js +98 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/hi.js +124 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/hr.js +62 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/hu.js +104 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/id.js +83 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/it.js +65 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/ja.js +75 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/ka.js +87 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/kk.js +76 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/ko.js +77 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/lt.js +116 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/lv.js +56 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/mn.js +99 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/nb.js +53 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/nl-be.js +81 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/nl.js +80 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/pl.js +126 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/pt-br.js +56 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/ro.js +66 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/ru.js +181 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/sk.js +157 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/sl.js +184 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/sq.js +54 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/sv.js +63 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/th-be.js +74 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/th.js +59 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/tr.js +82 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/uk.js +147 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/vi.js +74 -0
- package/esm2015/datepicker/sub-components/chronos/i18n/zh-cn.js +114 -0
- package/esm2015/datepicker/sub-components/chronos/index.js +2 -0
- package/esm2015/datepicker/sub-components/chronos/locale/calendar.js +9 -0
- package/esm2015/datepicker/sub-components/chronos/locale/locale.class.js +532 -0
- package/esm2015/datepicker/sub-components/chronos/locale/locale.defaults.js +40 -0
- package/esm2015/datepicker/sub-components/chronos/locale/locales.js +229 -0
- package/esm2015/datepicker/sub-components/chronos/moment/add-subtract.js +35 -0
- package/esm2015/datepicker/sub-components/chronos/moment/calendar.js +41 -0
- package/esm2015/datepicker/sub-components/chronos/moment/diff.js +70 -0
- package/esm2015/datepicker/sub-components/chronos/moment/min-max.js +38 -0
- package/esm2015/datepicker/sub-components/chronos/parse/regex.js +49 -0
- package/esm2015/datepicker/sub-components/chronos/parse/token.js +32 -0
- package/esm2015/datepicker/sub-components/chronos/public_api.js +56 -0
- package/esm2015/datepicker/sub-components/chronos/test/chain.js +711 -0
- package/esm2015/datepicker/sub-components/chronos/types.js +2 -0
- package/esm2015/datepicker/sub-components/chronos/units/aliases.js +35 -0
- package/esm2015/datepicker/sub-components/chronos/units/constants.js +11 -0
- package/esm2015/datepicker/sub-components/chronos/units/day-of-month.js +31 -0
- package/esm2015/datepicker/sub-components/chronos/units/day-of-week.js +129 -0
- package/esm2015/datepicker/sub-components/chronos/units/day-of-year.js +37 -0
- package/esm2015/datepicker/sub-components/chronos/units/hour.js +127 -0
- package/esm2015/datepicker/sub-components/chronos/units/index.js +19 -0
- package/esm2015/datepicker/sub-components/chronos/units/millisecond.js +60 -0
- package/esm2015/datepicker/sub-components/chronos/units/minute.js +23 -0
- package/esm2015/datepicker/sub-components/chronos/units/month.js +63 -0
- package/esm2015/datepicker/sub-components/chronos/units/offset.js +210 -0
- package/esm2015/datepicker/sub-components/chronos/units/priorities.js +21 -0
- package/esm2015/datepicker/sub-components/chronos/units/quarter.js +39 -0
- package/esm2015/datepicker/sub-components/chronos/units/second.js +23 -0
- package/esm2015/datepicker/sub-components/chronos/units/timestamp.js +28 -0
- package/esm2015/datepicker/sub-components/chronos/units/timezone.js +19 -0
- package/esm2015/datepicker/sub-components/chronos/units/week-calendar-utils.js +70 -0
- package/esm2015/datepicker/sub-components/chronos/units/week-year.js +101 -0
- package/esm2015/datepicker/sub-components/chronos/units/week.js +58 -0
- package/esm2015/datepicker/sub-components/chronos/units/year.js +60 -0
- package/esm2015/datepicker/sub-components/chronos/utils/abs-ceil.js +4 -0
- package/esm2015/datepicker/sub-components/chronos/utils/abs-round.js +4 -0
- package/esm2015/datepicker/sub-components/chronos/utils/compare-arrays.js +16 -0
- package/esm2015/datepicker/sub-components/chronos/utils/date-compare.js +55 -0
- package/esm2015/datepicker/sub-components/chronos/utils/date-getters.js +67 -0
- package/esm2015/datepicker/sub-components/chronos/utils/date-setters.js +75 -0
- package/esm2015/datepicker/sub-components/chronos/utils/defaults.js +11 -0
- package/esm2015/datepicker/sub-components/chronos/utils/start-end-of.js +57 -0
- package/esm2015/datepicker/sub-components/chronos/utils/type-checks.js +56 -0
- package/esm2015/datepicker/sub-components/chronos/utils/zero-fill.js +10 -0
- package/esm2015/datepicker/sub-components/chronos/utils.js +7 -0
- package/esm2015/datepicker/sub-components/component-loader/bs-component-ref.class.js +3 -0
- package/esm2015/datepicker/sub-components/component-loader/component-loader.class.js +272 -0
- package/esm2015/datepicker/sub-components/component-loader/component-loader.factory.js +32 -0
- package/esm2015/datepicker/sub-components/component-loader/content-ref.class.js +12 -0
- package/esm2015/datepicker/sub-components/component-loader/index.js +2 -0
- package/esm2015/datepicker/sub-components/component-loader/listen-options.model.js +2 -0
- package/esm2015/datepicker/sub-components/component-loader/public_api.js +5 -0
- package/esm2015/datepicker/sub-components/mini-ngrx/index.js +2 -0
- package/esm2015/datepicker/sub-components/mini-ngrx/public_api.js +3 -0
- package/esm2015/datepicker/sub-components/mini-ngrx/state.class.js +16 -0
- package/esm2015/datepicker/sub-components/mini-ngrx/store.class.js +43 -0
- package/esm2015/datepicker/sub-components/positioning/index.js +2 -0
- package/esm2015/datepicker/sub-components/positioning/models/index.js +2 -0
- package/esm2015/datepicker/sub-components/positioning/modifiers/arrow.js +56 -0
- package/esm2015/datepicker/sub-components/positioning/modifiers/flip.js +60 -0
- package/esm2015/datepicker/sub-components/positioning/modifiers/index.js +6 -0
- package/esm2015/datepicker/sub-components/positioning/modifiers/initData.js +42 -0
- package/esm2015/datepicker/sub-components/positioning/modifiers/preventOverflow.js +56 -0
- package/esm2015/datepicker/sub-components/positioning/modifiers/shift.js +22 -0
- package/esm2015/datepicker/sub-components/positioning/ng-positioning.js +30 -0
- package/esm2015/datepicker/sub-components/positioning/positioning.service.js +71 -0
- package/esm2015/datepicker/sub-components/positioning/public_api.js +3 -0
- package/esm2015/datepicker/sub-components/positioning/utils/computeAutoPlacement.js +53 -0
- package/esm2015/datepicker/sub-components/positioning/utils/findCommonOffsetParent.js +40 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getBordersSize.js +10 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getBoundaries.js +56 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getBoundingClientRect.js +55 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getClientRect.js +4 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.js +17 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getOffsetParent.js +32 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.js +51 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getOffsets.js +11 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getOppositePlacement.js +8 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getOppositeVariation.js +13 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getOuterSizes.js +14 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getParentNode.js +10 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getReferenceOffsets.js +13 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getRoot.js +10 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getScroll.js +14 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getScrollParent.js +26 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getStyleComputedProperty.js +13 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getTargetOffsets.js +30 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +19 -0
- package/esm2015/datepicker/sub-components/positioning/utils/getWindowSizes.js +18 -0
- package/esm2015/datepicker/sub-components/positioning/utils/includeScroll.js +15 -0
- package/esm2015/datepicker/sub-components/positioning/utils/index.js +24 -0
- package/esm2015/datepicker/sub-components/positioning/utils/isBrowser.js +2 -0
- package/esm2015/datepicker/sub-components/positioning/utils/isFixed.js +16 -0
- package/esm2015/datepicker/sub-components/positioning/utils/isIE.js +16 -0
- package/esm2015/datepicker/sub-components/positioning/utils/isModifierEnabled.js +10 -0
- package/esm2015/datepicker/sub-components/positioning/utils/isNumeric.js +7 -0
- package/esm2015/datepicker/sub-components/positioning/utils/isOffsetContainer.js +9 -0
- package/esm2015/datepicker/sub-components/positioning/utils/setStyles.js +17 -0
- package/esm2015/datepicker/sub-components/positioning/utils/updateContainerClass.js +22 -0
- package/esm2015/datepicker/sub-components/tooltip/index.js +2 -0
- package/esm2015/datepicker/sub-components/tooltip/public_api.js +5 -0
- package/esm2015/datepicker/sub-components/tooltip/tooltip-container.component.js +63 -0
- package/esm2015/datepicker/sub-components/tooltip/tooltip.config.js +22 -0
- package/esm2015/datepicker/sub-components/tooltip/tooltip.directive.js +282 -0
- package/esm2015/datepicker/sub-components/tooltip/tooltip.module.js +23 -0
- package/esm2015/datepicker/sub-components/utils/decorators.js +25 -0
- package/esm2015/datepicker/sub-components/utils/facade/browser.js +24 -0
- package/esm2015/datepicker/sub-components/utils/index.js +2 -0
- package/esm2015/datepicker/sub-components/utils/linked-list.class.js +240 -0
- package/esm2015/datepicker/sub-components/utils/public_api.js +11 -0
- package/esm2015/datepicker/sub-components/utils/theme-provider.js +35 -0
- package/esm2015/datepicker/sub-components/utils/trigger.class.js +10 -0
- package/esm2015/datepicker/sub-components/utils/triggers.js +110 -0
- package/esm2015/datepicker/sub-components/utils/utils.class.js +21 -0
- package/esm2015/datepicker/sub-components/utils/warn-once.js +12 -0
- package/esm2015/datepicker/themes/bs/bs-calendar-layout.component.js +25 -0
- package/esm2015/datepicker/themes/bs/bs-current-date-view.component.js +13 -0
- package/esm2015/datepicker/themes/bs/bs-custom-dates-view.component.js +44 -0
- package/esm2015/datepicker/themes/bs/bs-datepicker-container.component.js +152 -0
- package/esm2015/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js +47 -0
- package/esm2015/datepicker/themes/bs/bs-datepicker-inline-container.component.js +36 -0
- package/esm2015/datepicker/themes/bs/bs-datepicker-navigation-view.component.js +63 -0
- package/esm2015/datepicker/themes/bs/bs-daterangepicker-container.component.js +195 -0
- package/esm2015/datepicker/themes/bs/bs-daterangepicker-inline-container.component.js +36 -0
- package/esm2015/datepicker/themes/bs/bs-days-calendar-view.component.js +162 -0
- package/esm2015/datepicker/themes/bs/bs-months-calendar-view.component.js +60 -0
- package/esm2015/datepicker/themes/bs/bs-timepicker-view.component.js +34 -0
- package/esm2015/datepicker/themes/bs/bs-years-calendar-view.component.js +61 -0
- package/esm2015/datepicker/utils/bs-calendar-utils.js +43 -0
- package/esm2015/datepicker/utils/matrix-utils.js +14 -0
- package/esm2015/datepicker/yearpicker.component.js +90 -0
- package/esm2015/datepicker_v2/tz-dp-container/tz-dp-container.component.js +13 -13
- package/esm2015/multi-select-dropdown/multi-select-dropdown.component.js +10 -2
- package/fesm2015/mis-crystal-design-system-datepicker.js +13512 -0
- package/fesm2015/mis-crystal-design-system-datepicker.js.map +1 -0
- package/fesm2015/mis-crystal-design-system-datepicker_v2.js +12 -12
- package/fesm2015/mis-crystal-design-system-datepicker_v2.js.map +1 -1
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js +9 -1
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js.map +1 -1
- package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.metadata.json +1 -1
- package/multi-select-dropdown/multi-select-dropdown.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
/* tslint:disable: max-file-line-count */
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { DateFormatter } from './date-formatter';
|
|
4
|
+
export class DatePickerInnerComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.selectionDone = new EventEmitter(undefined);
|
|
7
|
+
this.update = new EventEmitter(false);
|
|
8
|
+
this.activeDateChange = new EventEmitter(undefined);
|
|
9
|
+
/* tslint:disable-next-line: no-any*/
|
|
10
|
+
this.stepDay = {};
|
|
11
|
+
/* tslint:disable-next-line: no-any*/
|
|
12
|
+
this.stepMonth = {};
|
|
13
|
+
/* tslint:disable-next-line: no-any*/
|
|
14
|
+
this.stepYear = {};
|
|
15
|
+
this.modes = ['day', 'month', 'year'];
|
|
16
|
+
this.dateFormatter = new DateFormatter();
|
|
17
|
+
}
|
|
18
|
+
get activeDate() {
|
|
19
|
+
return this._activeDate;
|
|
20
|
+
}
|
|
21
|
+
set activeDate(value) {
|
|
22
|
+
this._activeDate = value;
|
|
23
|
+
}
|
|
24
|
+
// todo: add formatter value to Date object
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
// todo: use date for unique value
|
|
27
|
+
this.uniqueId = `datepicker--${Math.floor(Math.random() * 10000)}`;
|
|
28
|
+
if (this.initDate) {
|
|
29
|
+
this.activeDate = this.initDate;
|
|
30
|
+
this.selectedDate = new Date(this.activeDate.valueOf());
|
|
31
|
+
this.update.emit(this.activeDate);
|
|
32
|
+
}
|
|
33
|
+
else if (this.activeDate === undefined) {
|
|
34
|
+
this.activeDate = new Date();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// this.refreshView should be called here to reflect the changes on the fly
|
|
38
|
+
// tslint:disable-next-line:no-unused-variable
|
|
39
|
+
ngOnChanges(changes) {
|
|
40
|
+
this.refreshView();
|
|
41
|
+
this.checkIfActiveDateGotUpdated(changes.activeDate);
|
|
42
|
+
}
|
|
43
|
+
// Check if activeDate has been update and then emit the activeDateChange with the new date
|
|
44
|
+
/* tslint:disable-next-line: no-any */
|
|
45
|
+
checkIfActiveDateGotUpdated(activeDate) {
|
|
46
|
+
if (activeDate && !activeDate.firstChange) {
|
|
47
|
+
const previousValue = activeDate.previousValue;
|
|
48
|
+
if (previousValue &&
|
|
49
|
+
previousValue instanceof Date &&
|
|
50
|
+
previousValue.getTime() !== activeDate.currentValue.getTime()) {
|
|
51
|
+
this.activeDateChange.emit(this.activeDate);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
setCompareHandler(handler, type) {
|
|
56
|
+
if (type === 'day') {
|
|
57
|
+
this.compareHandlerDay = handler;
|
|
58
|
+
}
|
|
59
|
+
if (type === 'month') {
|
|
60
|
+
this.compareHandlerMonth = handler;
|
|
61
|
+
}
|
|
62
|
+
if (type === 'year') {
|
|
63
|
+
this.compareHandlerYear = handler;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
compare(date1, date2) {
|
|
67
|
+
if (date1 === undefined || date2 === undefined) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
if (this.datepickerMode === 'day' && this.compareHandlerDay) {
|
|
71
|
+
return this.compareHandlerDay(date1, date2);
|
|
72
|
+
}
|
|
73
|
+
if (this.datepickerMode === 'month' && this.compareHandlerMonth) {
|
|
74
|
+
return this.compareHandlerMonth(date1, date2);
|
|
75
|
+
}
|
|
76
|
+
if (this.datepickerMode === 'year' && this.compareHandlerYear) {
|
|
77
|
+
return this.compareHandlerYear(date1, date2);
|
|
78
|
+
}
|
|
79
|
+
return void 0;
|
|
80
|
+
}
|
|
81
|
+
setRefreshViewHandler(handler, type) {
|
|
82
|
+
if (type === 'day') {
|
|
83
|
+
this.refreshViewHandlerDay = handler;
|
|
84
|
+
}
|
|
85
|
+
if (type === 'month') {
|
|
86
|
+
this.refreshViewHandlerMonth = handler;
|
|
87
|
+
}
|
|
88
|
+
if (type === 'year') {
|
|
89
|
+
this.refreshViewHandlerYear = handler;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
refreshView() {
|
|
93
|
+
if (this.datepickerMode === 'day' && this.refreshViewHandlerDay) {
|
|
94
|
+
this.refreshViewHandlerDay();
|
|
95
|
+
}
|
|
96
|
+
if (this.datepickerMode === 'month' && this.refreshViewHandlerMonth) {
|
|
97
|
+
this.refreshViewHandlerMonth();
|
|
98
|
+
}
|
|
99
|
+
if (this.datepickerMode === 'year' && this.refreshViewHandlerYear) {
|
|
100
|
+
this.refreshViewHandlerYear();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
dateFilter(date, format) {
|
|
104
|
+
return this.dateFormatter.format(date, format, this.locale);
|
|
105
|
+
}
|
|
106
|
+
/* tslint:disable-next-line: no-any*/
|
|
107
|
+
isActive(dateObject) {
|
|
108
|
+
if (this.compare(dateObject.date, this.activeDate) === 0) {
|
|
109
|
+
this.activeDateId = dateObject.uid;
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
/* tslint:disable-next-line: no-any*/
|
|
115
|
+
createDateObject(date, format) {
|
|
116
|
+
/* tslint:disable-next-line: no-any*/
|
|
117
|
+
const dateObject = {};
|
|
118
|
+
dateObject.date = new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
119
|
+
dateObject.date = this.fixTimeZone(dateObject.date);
|
|
120
|
+
dateObject.label = this.dateFilter(date, format);
|
|
121
|
+
dateObject.selected = this.compare(date, this.selectedDate) === 0;
|
|
122
|
+
dateObject.disabled = this.isDisabled(date);
|
|
123
|
+
dateObject.current = this.compare(date, new Date()) === 0;
|
|
124
|
+
dateObject.customClass = this.getCustomClassForDate(dateObject.date);
|
|
125
|
+
return dateObject;
|
|
126
|
+
}
|
|
127
|
+
/* tslint:disable-next-line: no-any*/
|
|
128
|
+
split(arr, size) {
|
|
129
|
+
/* tslint:disable-next-line: no-any*/
|
|
130
|
+
const arrays = [];
|
|
131
|
+
while (arr.length > 0) {
|
|
132
|
+
arrays.push(arr.splice(0, size));
|
|
133
|
+
}
|
|
134
|
+
return arrays;
|
|
135
|
+
}
|
|
136
|
+
// Fix a hard-reproducible bug with timezones
|
|
137
|
+
// The bug depends on OS, browser, current timezone and current date
|
|
138
|
+
// i.e.
|
|
139
|
+
// var date = new Date(2014, 0, 1);
|
|
140
|
+
// console.log(date.getFullYear(), date.getMonth(), date.getDate(),
|
|
141
|
+
// date.getHours()); can result in "2013 11 31 23" because of the bug.
|
|
142
|
+
fixTimeZone(date) {
|
|
143
|
+
const hours = date.getHours();
|
|
144
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate(), hours === 23 ? hours + 2 : 0);
|
|
145
|
+
}
|
|
146
|
+
select(date, isManual = true) {
|
|
147
|
+
if (this.datepickerMode === this.minMode) {
|
|
148
|
+
if (!this.activeDate) {
|
|
149
|
+
this.activeDate = new Date(0, 0, 0, 0, 0, 0, 0);
|
|
150
|
+
}
|
|
151
|
+
this.activeDate = new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
152
|
+
this.activeDate = this.fixTimeZone(this.activeDate);
|
|
153
|
+
if (isManual) {
|
|
154
|
+
this.selectionDone.emit(this.activeDate);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
this.activeDate = new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
159
|
+
this.activeDate = this.fixTimeZone(this.activeDate);
|
|
160
|
+
if (isManual) {
|
|
161
|
+
this.datepickerMode = this.modes[this.modes.indexOf(this.datepickerMode) - 1];
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
this.selectedDate = new Date(this.activeDate.valueOf());
|
|
165
|
+
this.update.emit(this.activeDate);
|
|
166
|
+
this.refreshView();
|
|
167
|
+
}
|
|
168
|
+
move(direction) {
|
|
169
|
+
/* tslint:disable-next-line: no-any*/
|
|
170
|
+
let expectedStep;
|
|
171
|
+
if (this.datepickerMode === 'day') {
|
|
172
|
+
expectedStep = this.stepDay;
|
|
173
|
+
}
|
|
174
|
+
if (this.datepickerMode === 'month') {
|
|
175
|
+
expectedStep = this.stepMonth;
|
|
176
|
+
}
|
|
177
|
+
if (this.datepickerMode === 'year') {
|
|
178
|
+
expectedStep = this.stepYear;
|
|
179
|
+
}
|
|
180
|
+
if (expectedStep) {
|
|
181
|
+
const year = this.activeDate.getFullYear() + direction * (expectedStep.years || 0);
|
|
182
|
+
const month = this.activeDate.getMonth() + direction * (expectedStep.months || 0);
|
|
183
|
+
this.activeDate = new Date(year, month, 1);
|
|
184
|
+
this.refreshView();
|
|
185
|
+
this.activeDateChange.emit(this.activeDate);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
toggleMode(_direction) {
|
|
189
|
+
const direction = _direction || 1;
|
|
190
|
+
if ((this.datepickerMode === this.maxMode && direction === 1) ||
|
|
191
|
+
(this.datepickerMode === this.minMode && direction === -1)) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
this.datepickerMode = this.modes[this.modes.indexOf(this.datepickerMode) + direction];
|
|
195
|
+
this.refreshView();
|
|
196
|
+
}
|
|
197
|
+
getCustomClassForDate(date) {
|
|
198
|
+
if (!this.customClass) {
|
|
199
|
+
return '';
|
|
200
|
+
}
|
|
201
|
+
// todo: build a hash of custom classes, it will work faster
|
|
202
|
+
const customClassObject = this.customClass.find((customClass) => {
|
|
203
|
+
return (customClass.date.valueOf() === date.valueOf() &&
|
|
204
|
+
customClass.mode === this.datepickerMode);
|
|
205
|
+
}, this);
|
|
206
|
+
return customClassObject === undefined ? '' : customClassObject.clazz;
|
|
207
|
+
}
|
|
208
|
+
compareDateDisabled(date1Disabled, date2) {
|
|
209
|
+
if (date1Disabled === undefined || date2 === undefined) {
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
212
|
+
if (date1Disabled.mode === 'day' && this.compareHandlerDay) {
|
|
213
|
+
return this.compareHandlerDay(date1Disabled.date, date2);
|
|
214
|
+
}
|
|
215
|
+
if (date1Disabled.mode === 'month' && this.compareHandlerMonth) {
|
|
216
|
+
return this.compareHandlerMonth(date1Disabled.date, date2);
|
|
217
|
+
}
|
|
218
|
+
if (date1Disabled.mode === 'year' && this.compareHandlerYear) {
|
|
219
|
+
return this.compareHandlerYear(date1Disabled.date, date2);
|
|
220
|
+
}
|
|
221
|
+
return undefined;
|
|
222
|
+
}
|
|
223
|
+
isDisabled(date) {
|
|
224
|
+
let isDateDisabled = false;
|
|
225
|
+
if (this.dateDisabled) {
|
|
226
|
+
this.dateDisabled.forEach((disabledDate) => {
|
|
227
|
+
if (this.compareDateDisabled(disabledDate, date) === 0) {
|
|
228
|
+
isDateDisabled = true;
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
if (this.dayDisabled) {
|
|
233
|
+
isDateDisabled =
|
|
234
|
+
isDateDisabled ||
|
|
235
|
+
this.dayDisabled.indexOf(date.getDay()) > -1;
|
|
236
|
+
}
|
|
237
|
+
return (isDateDisabled ||
|
|
238
|
+
(this.minDate && this.compare(date, this.minDate) < 0) ||
|
|
239
|
+
(this.maxDate && this.compare(date, this.maxDate) > 0));
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
DatePickerInnerComponent.decorators = [
|
|
243
|
+
{ type: Component, args: [{
|
|
244
|
+
selector: 'datepicker-inner',
|
|
245
|
+
template: `
|
|
246
|
+
<!--<!–ng-keydown="keydown($event)"–>-->
|
|
247
|
+
<div *ngIf="datepickerMode" class="well well-sm bg-faded p-a card" role="application" >
|
|
248
|
+
<ng-content></ng-content>
|
|
249
|
+
</div>
|
|
250
|
+
`
|
|
251
|
+
},] }
|
|
252
|
+
];
|
|
253
|
+
DatePickerInnerComponent.propDecorators = {
|
|
254
|
+
locale: [{ type: Input }],
|
|
255
|
+
datepickerMode: [{ type: Input }],
|
|
256
|
+
startingDay: [{ type: Input }],
|
|
257
|
+
yearRange: [{ type: Input }],
|
|
258
|
+
minDate: [{ type: Input }],
|
|
259
|
+
maxDate: [{ type: Input }],
|
|
260
|
+
minMode: [{ type: Input }],
|
|
261
|
+
maxMode: [{ type: Input }],
|
|
262
|
+
showWeeks: [{ type: Input }],
|
|
263
|
+
formatDay: [{ type: Input }],
|
|
264
|
+
formatMonth: [{ type: Input }],
|
|
265
|
+
formatYear: [{ type: Input }],
|
|
266
|
+
formatDayHeader: [{ type: Input }],
|
|
267
|
+
formatDayTitle: [{ type: Input }],
|
|
268
|
+
formatMonthTitle: [{ type: Input }],
|
|
269
|
+
onlyCurrentMonth: [{ type: Input }],
|
|
270
|
+
shortcutPropagation: [{ type: Input }],
|
|
271
|
+
customClass: [{ type: Input }],
|
|
272
|
+
monthColLimit: [{ type: Input }],
|
|
273
|
+
yearColLimit: [{ type: Input }],
|
|
274
|
+
dateDisabled: [{ type: Input }],
|
|
275
|
+
dayDisabled: [{ type: Input }],
|
|
276
|
+
initDate: [{ type: Input }],
|
|
277
|
+
selectionDone: [{ type: Output }],
|
|
278
|
+
update: [{ type: Output }],
|
|
279
|
+
activeDateChange: [{ type: Output }],
|
|
280
|
+
activeDate: [{ type: Input }]
|
|
281
|
+
};
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1pbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItaW5uZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6QyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVlqRCxNQUFNLE9BQU8sd0JBQXdCO0lBVHJDO1FBbUNZLGtCQUFhLEdBQXVCLElBQUksWUFBWSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBQ3RFLFdBQU0sR0FBdUIsSUFBSSxZQUFZLENBQU8sS0FBSyxDQUFDLENBQUM7UUFDM0QscUJBQWdCLEdBQXVCLElBQUksWUFBWSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBRW5GLHFDQUFxQztRQUNyQyxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLHFDQUFxQztRQUNyQyxjQUFTLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLHFDQUFxQztRQUNyQyxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBSVQsVUFBSyxHQUFhLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQyxrQkFBYSxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO0lBcVUvRCxDQUFDO0lBelRDLElBQ0ksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsS0FBVztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLFFBQVE7UUFDTixrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBSSxlQUFlLElB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Q0FBQyxFQUFFO29CQUN0RCxjQUFjLEdBQUcsSUFBSSxDQUFDO2lCQUN2QjtZQUNILENBQUMsQ0FDRixDQUFDO1NBQ0g7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsY0FBYztnQkFDWixjQUFjO29CQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsT0FBTyxDQUNMLGNBQWM7WUFDZCxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RCxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0lBQ0osQ0FBQzs7O1lBclhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7O0dBS1Q7YUFDRjs7O3FCQUVFLEtBQUs7NkJBQ0wsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7c0JBRUwsS0FBSztzQkFDTCxLQUFLO3NCQUNMLEtBQUs7c0JBQ0wsS0FBSzt3QkFDTCxLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSzt5QkFDTCxLQUFLOzhCQUNMLEtBQUs7NkJBQ0wsS0FBSzsrQkFDTCxLQUFLOytCQUNMLEtBQUs7a0NBQ0wsS0FBSzswQkFDTCxLQUFLOzRCQUNMLEtBQUs7MkJBQ0wsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7dUJBQ0wsS0FBSzs0QkFFTCxNQUFNO3FCQUNOLE1BQU07K0JBQ04sTUFBTTt5QkF3Qk4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOiBtYXgtZmlsZS1saW5lLWNvdW50ICovXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERhdGVGb3JtYXR0ZXIgfSBmcm9tICcuL2RhdGUtZm9ybWF0dGVyJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRlcGlja2VyLWlubmVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8IS0tJmx0OyEmbmRhc2g7bmcta2V5ZG93bj1cImtleWRvd24oJGV2ZW50KVwiJm5kYXNoOyZndDstLT5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0ZXBpY2tlck1vZGVcIiBjbGFzcz1cIndlbGwgd2VsbC1zbSBiZy1mYWRlZCBwLWEgY2FyZFwiIHJvbGU9XCJhcHBsaWNhdGlvblwiID5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VySW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGxvY2FsZTogc3RyaW5nO1xuICBASW5wdXQoKSBkYXRlcGlja2VyTW9kZTogc3RyaW5nO1xuICBASW5wdXQoKSBzdGFydGluZ0RheTogbnVtYmVyO1xuICBASW5wdXQoKSB5ZWFyUmFuZ2U6IG51bWJlcjtcblxuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlO1xuICBASW5wdXQoKSBtYXhEYXRlOiBEYXRlO1xuICBASW5wdXQoKSBtaW5Nb2RlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heE1vZGU6IHN0cmluZztcbiAgQElucHV0KCkgc2hvd1dlZWtzOiBib29sZWFuO1xuICBASW5wdXQoKSBmb3JtYXREYXk6IHN0cmluZztcbiAgQElucHV0KCkgZm9ybWF0TW9udGg6IHN0cmluZztcbiAgQElucHV0KCkgZm9ybWF0WWVhcjogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtYXREYXlIZWFkZXI6IHN0cmluZztcbiAgQElucHV0KCkgZm9ybWF0RGF5VGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgZm9ybWF0TW9udGhUaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBvbmx5Q3VycmVudE1vbnRoOiBib29sZWFuO1xuICBASW5wdXQoKSBzaG9ydGN1dFByb3BhZ2F0aW9uOiBib29sZWFuO1xuICBASW5wdXQoKSBjdXN0b21DbGFzczogeyBkYXRlOiBEYXRlOyBtb2RlOiBzdHJpbmc7IGNsYXp6OiBzdHJpbmcgfVtdO1xuICBASW5wdXQoKSBtb250aENvbExpbWl0OiBudW1iZXI7XG4gIEBJbnB1dCgpIHllYXJDb2xMaW1pdDogbnVtYmVyO1xuICBASW5wdXQoKSBkYXRlRGlzYWJsZWQ6IHsgZGF0ZTogRGF0ZTsgbW9kZTogc3RyaW5nIH1bXTtcbiAgQElucHV0KCkgZGF5RGlzYWJsZWQ6IG51bWJlcltdO1xuICBASW5wdXQoKSBpbml0RGF0ZTogRGF0ZTtcblxuICBAT3V0cHV0KCkgc2VsZWN0aW9uRG9uZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPih1bmRlZmluZWQpO1xuICBAT3V0cHV0KCkgdXBkYXRlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KGZhbHNlKTtcbiAgQE91dHB1dCgpIGFjdGl2ZURhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4odW5kZWZpbmVkKTtcblxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIHN0ZXBEYXk6IGFueSA9IHt9O1xuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIHN0ZXBNb250aDogYW55ID0ge307XG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgc3RlcFllYXI6IGFueSA9IHt9O1xuXG4gIHVuaXF1ZUlkOiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIG1vZGVzOiBzdHJpbmdbXSA9IFsnZGF5JywgJ21vbnRoJywgJ3llYXInXTtcbiAgcHJvdGVjdGVkIGRhdGVGb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXIgPSBuZXcgRGF0ZUZvcm1hdHRlcigpO1xuICBwcm90ZWN0ZWQgX2FjdGl2ZURhdGU6IERhdGU7XG4gIHByb3RlY3RlZCBzZWxlY3RlZERhdGU6IERhdGU7XG4gIHByb3RlY3RlZCBhY3RpdmVEYXRlSWQ6IHN0cmluZztcblxuICBwcm90ZWN0ZWQgcmVmcmVzaFZpZXdIYW5kbGVyRGF5OiBGdW5jdGlvbjtcbiAgcHJvdGVjdGVkIGNvbXBhcmVIYW5kbGVyRGF5OiBGdW5jdGlvbjtcbiAgcHJvdGVjdGVkIHJlZnJlc2hWaWV3SGFuZGxlck1vbnRoOiBGdW5jdGlvbjtcbiAgcHJvdGVjdGVkIGNvbXBhcmVIYW5kbGVyTW9udGg6IEZ1bmN0aW9uO1xuICBwcm90ZWN0ZWQgcmVmcmVzaFZpZXdIYW5kbGVyWWVhcjogRnVuY3Rpb247XG4gIHByb3RlY3RlZCBjb21wYXJlSGFuZGxlclllYXI6IEZ1bmN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBhY3RpdmVEYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVEYXRlO1xuICB9XG5cbiAgc2V0IGFjdGl2ZURhdGUodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLl9hY3RpdmVEYXRlID0gdmFsdWU7XG4gIH1cblxuICAvLyB0b2RvOiBhZGQgZm9ybWF0dGVyIHZhbHVlIHRvIERhdGUgb2JqZWN0XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIHRvZG86IHVzZSBkYXRlIGZvciB1bmlxdWUgdmFsdWVcbiAgICB0aGlzLnVuaXF1ZUlkID0gIGBkYXRlcGlja2VyLS0ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwKX1gO1xuXG4gICAgaWYgKHRoaXMuaW5pdERhdGUpIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IHRoaXMuaW5pdERhdGU7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYWN0aXZlRGF0ZS52YWx1ZU9mKCkpO1xuICAgICAgdGhpcy51cGRhdGUuZW1pdCh0aGlzLmFjdGl2ZURhdGUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVEYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gdGhpcy5yZWZyZXNoVmlldyBzaG91bGQgYmUgY2FsbGVkIGhlcmUgdG8gcmVmbGVjdCB0aGUgY2hhbmdlcyBvbiB0aGUgZmx5XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11bnVzZWQtdmFyaWFibGVcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaFZpZXcoKTtcbiAgICB0aGlzLmNoZWNrSWZBY3RpdmVEYXRlR290VXBkYXRlZChjaGFuZ2VzLmFjdGl2ZURhdGUpO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgYWN0aXZlRGF0ZSBoYXMgYmVlbiB1cGRhdGUgYW5kIHRoZW4gZW1pdCB0aGUgYWN0aXZlRGF0ZUNoYW5nZSB3aXRoIHRoZSBuZXcgZGF0ZVxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSAqL1xuICBjaGVja0lmQWN0aXZlRGF0ZUdvdFVwZGF0ZWQoYWN0aXZlRGF0ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKGFjdGl2ZURhdGUgJiYgIWFjdGl2ZURhdGUuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBhY3RpdmVEYXRlLnByZXZpb3VzVmFsdWU7XG4gICAgICBpZiAoXG4gICAgICAgIHByZXZpb3VzVmFsdWUgJiZcbiAgICAgICAgcHJldmlvdXNWYWx1ZSBpbnN0YW5jZW9mIERhdGUgJiZcbiAgICAgICAgcHJldmlvdXNWYWx1ZS5nZXRUaW1lKCkgIT09IGFjdGl2ZURhdGUuY3VycmVudFZhbHVlLmdldFRpbWUoKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZUNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0Q29tcGFyZUhhbmRsZXIoaGFuZGxlcjogRnVuY3Rpb24sIHR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0eXBlID09PSAnZGF5Jykge1xuICAgICAgdGhpcy5jb21wYXJlSGFuZGxlckRheSA9IGhhbmRsZXI7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdtb250aCcpIHtcbiAgICAgIHRoaXMuY29tcGFyZUhhbmRsZXJNb250aCA9IGhhbmRsZXI7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICd5ZWFyJykge1xuICAgICAgdGhpcy5jb21wYXJlSGFuZGxlclllYXIgPSBoYW5kbGVyO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmUoZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZGF0ZTEgPT09IHVuZGVmaW5lZCB8fCBkYXRlMiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSAnZGF5JyAmJiB0aGlzLmNvbXBhcmVIYW5kbGVyRGF5KSB7XG4gICAgICByZXR1cm4gdGhpcy5jb21wYXJlSGFuZGxlckRheShkYXRlMSwgZGF0ZTIpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSAnbW9udGgnICYmIHRoaXMuY29tcGFyZUhhbmRsZXJNb250aCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZUhhbmRsZXJNb250aChkYXRlMSwgZGF0ZTIpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSAneWVhcicgJiYgdGhpcy5jb21wYXJlSGFuZGxlclllYXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmVIYW5kbGVyWWVhcihkYXRlMSwgZGF0ZTIpO1xuICAgIH1cblxuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBzZXRSZWZyZXNoVmlld0hhbmRsZXIoaGFuZGxlcjogRnVuY3Rpb24sIHR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0eXBlID09PSAnZGF5Jykge1xuICAgICAgdGhpcy5yZWZyZXNoVmlld0hhbmRsZXJEYXkgPSBoYW5kbGVyO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnbW9udGgnKSB7XG4gICAgICB0aGlzLnJlZnJlc2hWaWV3SGFuZGxlck1vbnRoID0gaGFuZGxlcjtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3llYXInKSB7XG4gICAgICB0aGlzLnJlZnJlc2hWaWV3SGFuZGxlclllYXIgPSBoYW5kbGVyO1xuICAgIH1cbiAgfVxuXG4gIHJlZnJlc2hWaWV3KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSAnZGF5JyAmJiB0aGlzLnJlZnJlc2hWaWV3SGFuZGxlckRheSkge1xuICAgICAgdGhpcy5yZWZyZXNoVmlld0hhbmRsZXJEYXkoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kYXRlcGlja2VyTW9kZSA9PT0gJ21vbnRoJyAmJiB0aGlzLnJlZnJlc2hWaWV3SGFuZGxlck1vbnRoKSB7XG4gICAgICB0aGlzLnJlZnJlc2hWaWV3SGFuZGxlck1vbnRoKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGF0ZXBpY2tlck1vZGUgPT09ICd5ZWFyJyAmJiB0aGlzLnJlZnJlc2hWaWV3SGFuZGxlclllYXIpIHtcbiAgICAgIHRoaXMucmVmcmVzaFZpZXdIYW5kbGVyWWVhcigpO1xuICAgIH1cbiAgfVxuXG4gIGRhdGVGaWx0ZXIoZGF0ZTogRGF0ZSwgZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRhdGVGb3JtYXR0ZXIuZm9ybWF0KGRhdGUsIGZvcm1hdCwgdGhpcy5sb2NhbGUpO1xuICB9XG5cbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkqL1xuICBpc0FjdGl2ZShkYXRlT2JqZWN0OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5jb21wYXJlKGRhdGVPYmplY3QuZGF0ZSwgdGhpcy5hY3RpdmVEYXRlKSA9PT0gMCkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlSWQgPSBkYXRlT2JqZWN0LnVpZDtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkqL1xuICBjcmVhdGVEYXRlT2JqZWN0KGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nKTogYW55IHtcbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gICAgY29uc3QgZGF0ZU9iamVjdDogYW55ID0ge307XG4gICAgZGF0ZU9iamVjdC5kYXRlID0gbmV3IERhdGUoXG4gICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICBkYXRlLmdldERhdGUoKVxuICAgICk7XG4gICAgZGF0ZU9iamVjdC5kYXRlID0gdGhpcy5maXhUaW1lWm9uZShkYXRlT2JqZWN0LmRhdGUpO1xuICAgIGRhdGVPYmplY3QubGFiZWwgPSB0aGlzLmRhdGVGaWx0ZXIoZGF0ZSwgZm9ybWF0KTtcbiAgICBkYXRlT2JqZWN0LnNlbGVjdGVkID0gdGhpcy5jb21wYXJlKGRhdGUsIHRoaXMuc2VsZWN0ZWREYXRlKSA9PT0gMDtcbiAgICBkYXRlT2JqZWN0LmRpc2FibGVkID0gdGhpcy5pc0Rpc2FibGVkKGRhdGUpO1xuICAgIGRhdGVPYmplY3QuY3VycmVudCA9IHRoaXMuY29tcGFyZShkYXRlLCBuZXcgRGF0ZSgpKSA9PT0gMDtcbiAgICBkYXRlT2JqZWN0LmN1c3RvbUNsYXNzID0gdGhpcy5nZXRDdXN0b21DbGFzc0ZvckRhdGUoZGF0ZU9iamVjdC5kYXRlKTtcblxuICAgIHJldHVybiBkYXRlT2JqZWN0O1xuICB9XG5cbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkqL1xuICBzcGxpdChhcnI6IGFueVtdLCBzaXplOiBudW1iZXIpOiBhbnlbXSB7XG4gICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkqL1xuICAgIGNvbnN0IGFycmF5czogYW55W10gPSBbXTtcbiAgICB3aGlsZSAoYXJyLmxlbmd0aCA+IDApIHtcbiAgICAgIGFycmF5cy5wdXNoKGFyci5zcGxpY2UoMCwgc2l6ZSkpO1xuICAgIH1cblxuICAgIHJldHVybiBhcnJheXM7XG4gIH1cblxuICAvLyBGaXggYSBoYXJkLXJlcHJvZHVjaWJsZSBidWcgd2l0aCB0aW1lem9uZXNcbiAgLy8gVGhlIGJ1ZyBkZXBlbmRzIG9uIE9TLCBicm93c2VyLCBjdXJyZW50IHRpbWV6b25lIGFuZCBjdXJyZW50IGRhdGVcbiAgLy8gaS5lLlxuICAvLyB2YXIgZGF0ZSA9IG5ldyBEYXRlKDIwMTQsIDAsIDEpO1xuICAvLyBjb25zb2xlLmxvZyhkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCksXG4gIC8vIGRhdGUuZ2V0SG91cnMoKSk7IGNhbiByZXN1bHQgaW4gXCIyMDEzIDExIDMxIDIzXCIgYmVjYXVzZSBvZiB0aGUgYnVnLlxuICBmaXhUaW1lWm9uZShkYXRlOiBEYXRlKTogRGF0ZSB7XG4gICAgY29uc3QgaG91cnMgPSBkYXRlLmdldEhvdXJzKCk7XG5cbiAgICByZXR1cm4gbmV3IERhdGUoXG4gICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICBkYXRlLmdldERhdGUoKSxcbiAgICAgIGhvdXJzID09PSAyMyA/IGhvdXJzICsgMiA6IDBcbiAgICApO1xuICB9XG5cbiAgc2VsZWN0KGRhdGU6IERhdGUsIGlzTWFudWFsID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSB0aGlzLm1pbk1vZGUpIHtcbiAgICAgIGlmICghdGhpcy5hY3RpdmVEYXRlKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IG5ldyBEYXRlKDAsIDAsIDAsIDAsIDAsIDAsIDApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSBuZXcgRGF0ZShcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpXG4gICAgICApO1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5maXhUaW1lWm9uZSh0aGlzLmFjdGl2ZURhdGUpO1xuICAgICAgaWYgKGlzTWFudWFsKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uRG9uZS5lbWl0KHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IG5ldyBEYXRlKFxuICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIGRhdGUuZ2V0TW9udGgoKSxcbiAgICAgICAgZGF0ZS5nZXREYXRlKClcbiAgICAgICk7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLmZpeFRpbWVab25lKHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICBpZiAoaXNNYW51YWwpIHtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyTW9kZSA9IHRoaXMubW9kZXNbXG4gICAgICAgICAgdGhpcy5tb2Rlcy5pbmRleE9mKHRoaXMuZGF0ZXBpY2tlck1vZGUpIC0gMVxuICAgICAgICBdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbmV3IERhdGUodGhpcy5hY3RpdmVEYXRlLnZhbHVlT2YoKSk7XG4gICAgdGhpcy51cGRhdGUuZW1pdCh0aGlzLmFjdGl2ZURhdGUpO1xuICAgIHRoaXMucmVmcmVzaFZpZXcoKTtcbiAgfVxuXG4gIG1vdmUoZGlyZWN0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gICAgbGV0IGV4cGVjdGVkU3RlcDogYW55O1xuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSAnZGF5Jykge1xuICAgICAgZXhwZWN0ZWRTdGVwID0gdGhpcy5zdGVwRGF5O1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSAnbW9udGgnKSB7XG4gICAgICBleHBlY3RlZFN0ZXAgPSB0aGlzLnN0ZXBNb250aDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kYXRlcGlja2VyTW9kZSA9PT0gJ3llYXInKSB7XG4gICAgICBleHBlY3RlZFN0ZXAgPSB0aGlzLnN0ZXBZZWFyO1xuICAgIH1cblxuICAgIGlmIChleHBlY3RlZFN0ZXApIHtcbiAgICAgIGNvbnN0IHllYXIgPVxuICAgICAgICB0aGlzLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSArIGRpcmVjdGlvbiAqIChleHBlY3RlZFN0ZXAueWVhcnMgfHwgMCk7XG4gICAgICBjb25zdCBtb250aCA9XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZS5nZXRNb250aCgpICsgZGlyZWN0aW9uICogKGV4cGVjdGVkU3RlcC5tb250aHMgfHwgMCk7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XG5cbiAgICAgIHRoaXMucmVmcmVzaFZpZXcoKTtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZUNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlTW9kZShfZGlyZWN0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSBfZGlyZWN0aW9uIHx8IDE7XG5cbiAgICBpZiAoXG4gICAgICAodGhpcy5kYXRlcGlja2VyTW9kZSA9PT0gdGhpcy5tYXhNb2RlICYmIGRpcmVjdGlvbiA9PT0gMSkgfHxcbiAgICAgICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSB0aGlzLm1pbk1vZGUgJiYgZGlyZWN0aW9uID09PSAtMSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGVwaWNrZXJNb2RlID0gdGhpcy5tb2Rlc1tcbiAgICAgIHRoaXMubW9kZXMuaW5kZXhPZih0aGlzLmRhdGVwaWNrZXJNb2RlKSArIGRpcmVjdGlvblxuICAgIF07XG4gICAgdGhpcy5yZWZyZXNoVmlldygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEN1c3RvbUNsYXNzRm9yRGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuY3VzdG9tQ2xhc3MpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgLy8gdG9kbzogYnVpbGQgYSBoYXNoIG9mIGN1c3RvbSBjbGFzc2VzLCBpdCB3aWxsIHdvcmsgZmFzdGVyXG4gICAgY29uc3QgY3VzdG9tQ2xhc3NPYmplY3Q6IHtcbiAgICAgIGRhdGU6IERhdGU7XG4gICAgICBtb2RlOiBzdHJpbmc7XG4gICAgICBjbGF6ejogc3RyaW5nO1xuICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55ICovXG4gICAgfSA9IHRoaXMuY3VzdG9tQ2xhc3MuZmluZCgoY3VzdG9tQ2xhc3M6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgY3VzdG9tQ2xhc3MuZGF0ZS52YWx1ZU9mKCkgPT09IGRhdGUudmFsdWVPZigpICYmXG4gICAgICAgIGN1c3RvbUNsYXNzLm1vZGUgPT09IHRoaXMuZGF0ZXBpY2tlck1vZGVcbiAgICAgICk7XG4gICAgfSwgdGhpcyk7XG5cbiAgICByZXR1cm4gY3VzdG9tQ2xhc3NPYmplY3QgPT09IHVuZGVmaW5lZCA/ICcnIDogY3VzdG9tQ2xhc3NPYmplY3QuY2xheno7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29tcGFyZURhdGVEaXNhYmxlZChcbiAgICBkYXRlMURpc2FibGVkOiB7IGRhdGU6IERhdGU7IG1vZGU6IHN0cmluZyB9LFxuICAgIGRhdGUyOiBEYXRlXG4gICk6IG51bWJlciB7XG4gICAgaWYgKGRhdGUxRGlzYWJsZWQgPT09IHVuZGVmaW5lZCB8fCBkYXRlMiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChkYXRlMURpc2FibGVkLm1vZGUgPT09ICdkYXknICYmIHRoaXMuY29tcGFyZUhhbmRsZXJEYXkpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmVIYW5kbGVyRGF5KGRhdGUxRGlzYWJsZWQuZGF0ZSwgZGF0ZTIpO1xuICAgIH1cblxuICAgIGlmIChkYXRlMURpc2FibGVkLm1vZGUgPT09ICdtb250aCcgJiYgdGhpcy5jb21wYXJlSGFuZGxlck1vbnRoKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb21wYXJlSGFuZGxlck1vbnRoKGRhdGUxRGlzYWJsZWQuZGF0ZSwgZGF0ZTIpO1xuICAgIH1cblxuICAgIGlmIChkYXRlMURpc2FibGVkLm1vZGUgPT09ICd5ZWFyJyAmJiB0aGlzLmNvbXBhcmVIYW5kbGVyWWVhcikge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZUhhbmRsZXJZZWFyKGRhdGUxRGlzYWJsZWQuZGF0ZSwgZGF0ZTIpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNEaXNhYmxlZChkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgbGV0IGlzRGF0ZURpc2FibGVkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuZGF0ZURpc2FibGVkKSB7XG4gICAgICB0aGlzLmRhdGVEaXNhYmxlZC5mb3JFYWNoKFxuICAgICAgICAoZGlzYWJsZWREYXRlOiB7IGRhdGU6IERhdGU7IG1vZGU6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuY29tcGFyZURhdGVEaXNhYmxlZChkaXNhYmxlZERhdGUsIGRhdGUpID09PSAwKSB7XG4gICAgICAgICAgICBpc0RhdGVEaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRheURpc2FibGVkKSB7XG4gICAgICBpc0RhdGVEaXNhYmxlZCA9XG4gICAgICAgIGlzRGF0ZURpc2FibGVkIHx8XG4gICAgICAgIHRoaXMuZGF5RGlzYWJsZWQuaW5kZXhPZihkYXRlLmdldERheSgpKSA+IC0xO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICBpc0RhdGVEaXNhYmxlZCB8fFxuICAgICAgKHRoaXMubWluRGF0ZSAmJiB0aGlzLmNvbXBhcmUoZGF0ZSwgdGhpcy5taW5EYXRlKSA8IDApIHx8XG4gICAgICAodGhpcy5tYXhEYXRlICYmIHRoaXMuY29tcGFyZShkYXRlLCB0aGlzLm1heERhdGUpID4gMClcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { Component, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { DatePickerInnerComponent } from './datepicker-inner.component';
|
|
4
|
+
import { DatePickerConfig } from './datepicker.config';
|
|
5
|
+
export const DATEPICKER_CONTROL_VALUE_ACCESSOR = {
|
|
6
|
+
provide: NG_VALUE_ACCESSOR,
|
|
7
|
+
/* tslint:disable-next-line: no-use-before-declare */
|
|
8
|
+
useExisting: forwardRef(() => DatePickerComponent),
|
|
9
|
+
multi: true
|
|
10
|
+
};
|
|
11
|
+
/* tslint:disable:component-selector-name component-selector-type */
|
|
12
|
+
/* tslint:enable:component-selector-name component-selector-type */
|
|
13
|
+
export class DatePickerComponent {
|
|
14
|
+
constructor(config) {
|
|
15
|
+
/** sets datepicker mode, supports: `day`, `month`, `year` */
|
|
16
|
+
this.datepickerMode = 'day';
|
|
17
|
+
/** if false week numbers will be hidden */
|
|
18
|
+
this.showWeeks = true;
|
|
19
|
+
this.selectionDone = new EventEmitter(undefined);
|
|
20
|
+
/** callback to invoke when the activeDate is changed. */
|
|
21
|
+
this.activeDateChange = new EventEmitter(undefined);
|
|
22
|
+
/* tslint:disable-next-line: no-any*/
|
|
23
|
+
this.onChange = Function.prototype;
|
|
24
|
+
/* tslint:disable-next-line: no-any*/
|
|
25
|
+
this.onTouched = Function.prototype;
|
|
26
|
+
this._now = new Date();
|
|
27
|
+
this.config = config;
|
|
28
|
+
this.configureOptions();
|
|
29
|
+
}
|
|
30
|
+
/** currently active date */
|
|
31
|
+
get activeDate() {
|
|
32
|
+
return this._activeDate || this._now;
|
|
33
|
+
}
|
|
34
|
+
set activeDate(value) {
|
|
35
|
+
this._activeDate = value;
|
|
36
|
+
}
|
|
37
|
+
configureOptions() {
|
|
38
|
+
Object.assign(this, this.config);
|
|
39
|
+
}
|
|
40
|
+
onUpdate(event) {
|
|
41
|
+
this.activeDate = event;
|
|
42
|
+
this.onChange(event);
|
|
43
|
+
}
|
|
44
|
+
onSelectionDone(event) {
|
|
45
|
+
this.selectionDone.emit(event);
|
|
46
|
+
}
|
|
47
|
+
onActiveDateChange(event) {
|
|
48
|
+
this.activeDateChange.emit(event);
|
|
49
|
+
}
|
|
50
|
+
// todo: support null value
|
|
51
|
+
/* tslint:disable-next-line: no-any*/
|
|
52
|
+
writeValue(value) {
|
|
53
|
+
if (this._datePicker.compare(value, this._activeDate) === 0) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (value && value instanceof Date) {
|
|
57
|
+
this.activeDate = value;
|
|
58
|
+
this._datePicker.select(value, false);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.activeDate = value ? new Date(value) : void 0;
|
|
62
|
+
}
|
|
63
|
+
registerOnChange(fn) {
|
|
64
|
+
this.onChange = fn;
|
|
65
|
+
}
|
|
66
|
+
registerOnTouched(fn) {
|
|
67
|
+
this.onTouched = fn;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
DatePickerComponent.decorators = [
|
|
71
|
+
{ type: Component, args: [{
|
|
72
|
+
selector: 'datepicker',
|
|
73
|
+
template: `
|
|
74
|
+
<datepicker-inner [activeDate]="activeDate"
|
|
75
|
+
(update)="onUpdate($event)"
|
|
76
|
+
[locale]="config.locale"
|
|
77
|
+
[datepickerMode]="datepickerMode"
|
|
78
|
+
[initDate]="initDate"
|
|
79
|
+
[minDate]="minDate"
|
|
80
|
+
[maxDate]="maxDate"
|
|
81
|
+
[minMode]="minMode"
|
|
82
|
+
[maxMode]="maxMode"
|
|
83
|
+
[showWeeks]="showWeeks"
|
|
84
|
+
[formatDay]="formatDay"
|
|
85
|
+
[formatMonth]="formatMonth"
|
|
86
|
+
[formatYear]="formatYear"
|
|
87
|
+
[formatDayHeader]="formatDayHeader"
|
|
88
|
+
[formatDayTitle]="formatDayTitle"
|
|
89
|
+
[formatMonthTitle]="formatMonthTitle"
|
|
90
|
+
[startingDay]="startingDay"
|
|
91
|
+
[yearRange]="yearRange"
|
|
92
|
+
[customClass]="customClass"
|
|
93
|
+
[dateDisabled]="dateDisabled"
|
|
94
|
+
[dayDisabled]="dayDisabled"
|
|
95
|
+
[onlyCurrentMonth]="onlyCurrentMonth"
|
|
96
|
+
[shortcutPropagation]="shortcutPropagation"
|
|
97
|
+
[monthColLimit]="monthColLimit"
|
|
98
|
+
[yearColLimit]="yearColLimit"
|
|
99
|
+
(selectionDone)="onSelectionDone($event)"
|
|
100
|
+
(activeDateChange)="onActiveDateChange($event)">
|
|
101
|
+
<daypicker tabindex="0"></daypicker>
|
|
102
|
+
<monthpicker tabindex="0"></monthpicker>
|
|
103
|
+
<yearpicker tabindex="0"></yearpicker>
|
|
104
|
+
</datepicker-inner>
|
|
105
|
+
`,
|
|
106
|
+
providers: [DATEPICKER_CONTROL_VALUE_ACCESSOR]
|
|
107
|
+
},] }
|
|
108
|
+
];
|
|
109
|
+
DatePickerComponent.ctorParameters = () => [
|
|
110
|
+
{ type: DatePickerConfig }
|
|
111
|
+
];
|
|
112
|
+
DatePickerComponent.propDecorators = {
|
|
113
|
+
datepickerMode: [{ type: Input }],
|
|
114
|
+
initDate: [{ type: Input }],
|
|
115
|
+
minDate: [{ type: Input }],
|
|
116
|
+
maxDate: [{ type: Input }],
|
|
117
|
+
minMode: [{ type: Input }],
|
|
118
|
+
maxMode: [{ type: Input }],
|
|
119
|
+
showWeeks: [{ type: Input }],
|
|
120
|
+
formatDay: [{ type: Input }],
|
|
121
|
+
formatMonth: [{ type: Input }],
|
|
122
|
+
formatYear: [{ type: Input }],
|
|
123
|
+
formatDayHeader: [{ type: Input }],
|
|
124
|
+
formatDayTitle: [{ type: Input }],
|
|
125
|
+
formatMonthTitle: [{ type: Input }],
|
|
126
|
+
startingDay: [{ type: Input }],
|
|
127
|
+
yearRange: [{ type: Input }],
|
|
128
|
+
onlyCurrentMonth: [{ type: Input }],
|
|
129
|
+
shortcutPropagation: [{ type: Input }],
|
|
130
|
+
monthColLimit: [{ type: Input }],
|
|
131
|
+
yearColLimit: [{ type: Input }],
|
|
132
|
+
customClass: [{ type: Input }],
|
|
133
|
+
dateDisabled: [{ type: Input }],
|
|
134
|
+
dayDisabled: [{ type: Input }],
|
|
135
|
+
activeDate: [{ type: Input }],
|
|
136
|
+
selectionDone: [{ type: Output }],
|
|
137
|
+
activeDateChange: [{ type: Output }],
|
|
138
|
+
_datePicker: [{ type: ViewChild, args: [DatePickerInnerComponent, { static: true },] }]
|
|
139
|
+
};
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQWE7SUFDekQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixxREFBcUQ7SUFDckQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNsRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixvRUFBb0U7QUFzQ3BFLG1FQUFtRTtBQUNuRSxNQUFNLE9BQU8sbUJBQW1CO0lBOEU5QixZQUFZLE1BQXdCO1FBN0VwQyw2REFBNkQ7UUFDcEQsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFXaEMsMkNBQTJDO1FBQ2xDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUEyQzFCLGtCQUFhLEdBQXVCLElBQUksWUFBWSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBRXRFLHlEQUF5RDtRQUV6RCxxQkFBZ0IsR0FBdUIsSUFBSSxZQUFZLENBQ3JELFNBQVMsQ0FDVixDQUFDO1FBS0YscUNBQXFDO1FBQ3JDLGFBQVEsR0FBUSxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQ25DLHFDQUFxQztRQUNyQyxjQUFTLEdBQVEsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUkxQixTQUFJLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUloQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBbkNELDRCQUE0QjtJQUM1QixJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsS0FBVztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBNkJELGdCQUFnQjtRQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVc7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVc7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVc7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsMkJBQTJCO0lBQzNCLHFDQUFxQztJQUNyQyxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNELE9BQU87U0FDUjtRQUNELElBQUksS0FBSyxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRXRDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQWM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7O1lBL0pGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWdDUDtnQkFDSCxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQzthQUMvQzs7O1lBOUNRLGdCQUFnQjs7OzZCQWtEdEIsS0FBSzt1QkFFTCxLQUFLO3NCQUVMLEtBQUs7c0JBRUwsS0FBSztzQkFFTCxLQUFLO3NCQUVMLEtBQUs7d0JBRUwsS0FBSzt3QkFFTCxLQUFLOzBCQUVMLEtBQUs7eUJBRUwsS0FBSzs4QkFFTCxLQUFLOzZCQUVMLEtBQUs7K0JBRUwsS0FBSzswQkFFTCxLQUFLO3dCQUVMLEtBQUs7K0JBRUwsS0FBSztrQ0FFTCxLQUFLOzRCQUVMLEtBQUs7MkJBRUwsS0FBSzswQkFFTCxLQUFLOzJCQUVMLEtBQUs7MEJBRUwsS0FBSzt5QkFHTCxLQUFLOzRCQVNMLE1BQU07K0JBSU4sTUFBTTswQkFLTixTQUFTLFNBQUMsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFByb3ZpZGVyLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlUGlja2VySW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGVwaWNrZXItaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVQaWNrZXJDb25maWcgfSBmcm9tICcuL2RhdGVwaWNrZXIuY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IERBVEVQSUNLRVJfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLXVzZS1iZWZvcmUtZGVjbGFyZSAqL1xuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUGlja2VyQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbi8qIHRzbGludDpkaXNhYmxlOmNvbXBvbmVudC1zZWxlY3Rvci1uYW1lIGNvbXBvbmVudC1zZWxlY3Rvci10eXBlICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRlcGlja2VyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGF0ZXBpY2tlci1pbm5lciBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAodXBkYXRlKT1cIm9uVXBkYXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwiY29uZmlnLmxvY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2RhdGVwaWNrZXJNb2RlXT1cImRhdGVwaWNrZXJNb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaW5pdERhdGVdPVwiaW5pdERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttaW5Nb2RlXT1cIm1pbk1vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXhNb2RlXT1cIm1heE1vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93V2Vla3NdPVwic2hvd1dlZWtzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0RGF5XT1cImZvcm1hdERheVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdE1vbnRoXT1cImZvcm1hdE1vbnRoXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0WWVhcl09XCJmb3JtYXRZZWFyXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0RGF5SGVhZGVyXT1cImZvcm1hdERheUhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdERheVRpdGxlXT1cImZvcm1hdERheVRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0TW9udGhUaXRsZV09XCJmb3JtYXRNb250aFRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRpbmdEYXldPVwic3RhcnRpbmdEYXlcIlxuICAgICAgICAgICAgICAgICAgICAgIFt5ZWFyUmFuZ2VdPVwieWVhclJhbmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ2xhc3NdPVwiY3VzdG9tQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkYXRlRGlzYWJsZWRdPVwiZGF0ZURpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZGF5RGlzYWJsZWRdPVwiZGF5RGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtvbmx5Q3VycmVudE1vbnRoXT1cIm9ubHlDdXJyZW50TW9udGhcIlxuICAgICAgICAgICAgICAgICAgICAgIFtzaG9ydGN1dFByb3BhZ2F0aW9uXT1cInNob3J0Y3V0UHJvcGFnYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgIFttb250aENvbExpbWl0XT1cIm1vbnRoQ29sTGltaXRcIlxuICAgICAgICAgICAgICAgICAgICAgIFt5ZWFyQ29sTGltaXRdPVwieWVhckNvbExpbWl0XCJcbiAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uRG9uZSk9XCJvblNlbGVjdGlvbkRvbmUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGFjdGl2ZURhdGVDaGFuZ2UpPVwib25BY3RpdmVEYXRlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgIDxkYXlwaWNrZXIgdGFiaW5kZXg9XCIwXCI+PC9kYXlwaWNrZXI+XG4gICAgICA8bW9udGhwaWNrZXIgdGFiaW5kZXg9XCIwXCI+PC9tb250aHBpY2tlcj5cbiAgICAgIDx5ZWFycGlja2VyIHRhYmluZGV4PVwiMFwiPjwveWVhcnBpY2tlcj5cbiAgICA8L2RhdGVwaWNrZXItaW5uZXI+XG4gICAgYCxcbiAgcHJvdmlkZXJzOiBbREFURVBJQ0tFUl9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXVxufSlcbi8qIHRzbGludDplbmFibGU6Y29tcG9uZW50LXNlbGVjdG9yLW5hbWUgY29tcG9uZW50LXNlbGVjdG9yLXR5cGUgKi9cbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAvKiogc2V0cyBkYXRlcGlja2VyIG1vZGUsIHN1cHBvcnRzOiBgZGF5YCwgYG1vbnRoYCwgYHllYXJgICovXG4gIEBJbnB1dCgpIGRhdGVwaWNrZXJNb2RlID0gJ2RheSc7XG4gIC8qKiBkZWZhdWx0IGRhdGUgdG8gc2hvdyBpZiBgbmctbW9kZWxgIHZhbHVlIGlzIG5vdCBzcGVjaWZpZWQgKi9cbiAgQElucHV0KCkgaW5pdERhdGU6IERhdGU7XG4gIC8qKiAgb2xkZXN0IHNlbGVjdGFibGUgZGF0ZSAqL1xuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlO1xuICAvKiogbGF0ZXN0IHNlbGVjdGFibGUgZGF0ZSAqL1xuICBASW5wdXQoKSBtYXhEYXRlOiBEYXRlO1xuICAvKiogc2V0IGxvd2VyIGRhdGVwaWNrZXIgbW9kZSwgc3VwcG9ydHM6IGBkYXlgLCBgbW9udGhgLCBgeWVhcmAgKi9cbiAgQElucHV0KCkgbWluTW9kZTogc3RyaW5nO1xuICAvKiogc2V0cyB1cHBlciBkYXRlcGlja2VyIG1vZGUsIHN1cHBvcnRzOiBgZGF5YCwgYG1vbnRoYCwgYHllYXJgICovXG4gIEBJbnB1dCgpIG1heE1vZGU6IHN0cmluZztcbiAgLyoqIGlmIGZhbHNlIHdlZWsgbnVtYmVycyB3aWxsIGJlIGhpZGRlbiAqL1xuICBASW5wdXQoKSBzaG93V2Vla3MgPSB0cnVlO1xuICAvKiogZm9ybWF0IG9mIGRheSBpbiBtb250aCAqL1xuICBASW5wdXQoKSBmb3JtYXREYXk6IHN0cmluZztcbiAgLyoqIGZvcm1hdCBvZiBtb250aCBpbiB5ZWFyICovXG4gIEBJbnB1dCgpIGZvcm1hdE1vbnRoOiBzdHJpbmc7XG4gIC8qKiBmb3JtYXQgb2YgeWVhciBpbiB5ZWFyIHJhbmdlICovXG4gIEBJbnB1dCgpIGZvcm1hdFllYXI6IHN0cmluZztcbiAgLyoqIGZvcm1hdCBvZiBkYXkgaW4gd2VlayBoZWFkZXIgKi9cbiAgQElucHV0KCkgZm9ybWF0RGF5SGVhZGVyOiBzdHJpbmc7XG4gIC8qKiBmb3JtYXQgb2YgdGl0bGUgd2hlbiBzZWxlY3RpbmcgZGF5ICovXG4gIEBJbnB1dCgpIGZvcm1hdERheVRpdGxlOiBzdHJpbmc7XG4gIC8qKiBmb3JtYXQgb2YgdGl0bGUgd2hlbiBzZWxlY3RpbmcgbW9udGggKi9cbiAgQElucHV0KCkgZm9ybWF0TW9udGhUaXRsZTogc3RyaW5nO1xuICAvKiogc3RhcnRpbmcgZGF5IG9mIHRoZSB3ZWVrIGZyb20gMC02ICgwPVN1bmRheSwgLi4uLCA2PVNhdHVyZGF5KSAqL1xuICBASW5wdXQoKSBzdGFydGluZ0RheTogbnVtYmVyO1xuICAvKiogbnVtYmVyIG9mIHllYXJzIGRpc3BsYXllZCBpbiB5ZWFyIHNlbGVjdGlvbiAqL1xuICBASW5wdXQoKSB5ZWFyUmFuZ2U6IG51bWJlcjtcbiAgLyoqIGlmIHRydWUgb25seSBkYXRlcyBmcm9tIHRoZSBjdXJyZW50bHkgZGlzcGxheWVkIG1vbnRoIHdpbGwgYmUgc2hvd24gKi9cbiAgQElucHV0KCkgb25seUN1cnJlbnRNb250aDogYm9vbGVhbjtcbiAgLyoqIGlmIHRydWUgc2hvcnRjdXRgcyBldmVudCBwcm9wYWdhdGlvbiB3aWxsIGJlIGRpc2FibGVkICovXG4gIEBJbnB1dCgpIHNob3J0Y3V0UHJvcGFnYXRpb246IGJvb2xlYW47XG4gIC8qKiBudW1iZXIgb2YgbW9udGhzIGRpc3BsYXllZCBpbiBhIHNpbmdsZSByb3cgb2YgbW9udGggcGlja2VyICovXG4gIEBJbnB1dCgpIG1vbnRoQ29sTGltaXQ6IG51bWJlcjtcbiAgLyoqIG51bWJlciBvZiB5ZWFycyBkaXNwbGF5ZWQgaW4gYSBzaW5nbGUgcm93IG9mIHllYXIgcGlja2VyICovXG4gIEBJbnB1dCgpIHllYXJDb2xMaW1pdDogbnVtYmVyO1xuICAvKiogYXJyYXkgb2YgY3VzdG9tIGNzcyBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGFyZ2V0ZWQgZGF0ZXMgKi9cbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M6IHsgZGF0ZTogRGF0ZTsgbW9kZTogc3RyaW5nOyBjbGF6ejogc3RyaW5nIH1bXTtcbiAgLyoqIGFycmF5IG9mIGRpc2FibGVkIGRhdGVzICovXG4gIEBJbnB1dCgpIGRhdGVEaXNhYmxlZDogeyBkYXRlOiBEYXRlOyBtb2RlOiBzdHJpbmcgfVtdO1xuICAvKiogZGlzYWJsZWQgZGF5cyBvZiB0aGUgd2VlayBmcm9tIDAtNiAoMD1TdW5kYXksIC4uLiwgNj1TYXR1cmRheSkgKi9cbiAgQElucHV0KCkgZGF5RGlzYWJsZWQ6IG51bWJlcltdO1xuXG4gIC8qKiBjdXJyZW50bHkgYWN0aXZlIGRhdGUgKi9cbiAgQElucHV0KClcbiAgZ2V0IGFjdGl2ZURhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZURhdGUgfHwgdGhpcy5fbm93O1xuICB9XG5cbiAgc2V0IGFjdGl2ZURhdGUodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLl9hY3RpdmVEYXRlID0gdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgc2VsZWN0aW9uRG9uZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPih1bmRlZmluZWQpO1xuXG4gIC8qKiBjYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgYWN0aXZlRGF0ZSBpcyBjaGFuZ2VkLiAqL1xuICBAT3V0cHV0KClcbiAgYWN0aXZlRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPihcbiAgICB1bmRlZmluZWRcbiAgKTtcblxuICBAVmlld0NoaWxkKERhdGVQaWNrZXJJbm5lckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgX2RhdGVQaWNrZXI6IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudDtcblxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIG9uQ2hhbmdlOiBhbnkgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgb25Ub3VjaGVkOiBhbnkgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG5cbiAgY29uZmlnOiBEYXRlUGlja2VyQ29uZmlnO1xuXG4gIHByb3RlY3RlZCBfbm93OiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHJvdGVjdGVkIF9hY3RpdmVEYXRlOiBEYXRlO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogRGF0ZVBpY2tlckNvbmZpZykge1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuY29uZmlndXJlT3B0aW9ucygpO1xuICB9XG5cbiAgY29uZmlndXJlT3B0aW9ucygpOiB2b2lkIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIG9uVXBkYXRlKGV2ZW50OiBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVEYXRlID0gZXZlbnQ7XG4gICAgdGhpcy5vbkNoYW5nZShldmVudCk7XG4gIH1cblxuICBvblNlbGVjdGlvbkRvbmUoZXZlbnQ6IERhdGUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbkRvbmUuZW1pdChldmVudCk7XG4gIH1cblxuICBvbkFjdGl2ZURhdGVDaGFuZ2UoZXZlbnQ6IERhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZURhdGVDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cbiAgLy8gdG9kbzogc3VwcG9ydCBudWxsIHZhbHVlXG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2RhdGVQaWNrZXIuY29tcGFyZSh2YWx1ZSwgdGhpcy5fYWN0aXZlRGF0ZSkgPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdmFsdWU7XG4gICAgICB0aGlzLl9kYXRlUGlja2VyLnNlbGVjdCh2YWx1ZSwgZmFsc2UpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hY3RpdmVEYXRlID0gdmFsdWUgPyBuZXcgRGF0ZSh2YWx1ZSkgOiB2b2lkIDA7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DatePickerConfig {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.locale = 'en';
|
|
6
|
+
this.datepickerMode = 'day';
|
|
7
|
+
this.startingDay = 0;
|
|
8
|
+
this.yearRange = 20;
|
|
9
|
+
this.minMode = 'day';
|
|
10
|
+
this.maxMode = 'year';
|
|
11
|
+
this.showWeeks = true;
|
|
12
|
+
this.formatDay = 'DD';
|
|
13
|
+
this.formatMonth = 'MMMM';
|
|
14
|
+
this.formatYear = 'YYYY';
|
|
15
|
+
this.formatDayHeader = 'dd';
|
|
16
|
+
this.formatDayTitle = 'MMMM YYYY';
|
|
17
|
+
this.formatMonthTitle = 'YYYY';
|
|
18
|
+
this.onlyCurrentMonth = false;
|
|
19
|
+
this.monthColLimit = 3;
|
|
20
|
+
this.yearColLimit = 5;
|
|
21
|
+
this.shortcutPropagation = false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
DatePickerConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function DatePickerConfig_Factory() { return new DatePickerConfig(); }, token: DatePickerConfig, providedIn: "root" });
|
|
25
|
+
DatePickerConfig.decorators = [
|
|
26
|
+
{ type: Injectable, args: [{
|
|
27
|
+
providedIn: 'root'
|
|
28
|
+
},] }
|
|
29
|
+
];
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFIN0I7UUFJRSxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsWUFBTyxHQUFHLE1BQU0sQ0FBQztRQUNqQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFDckIsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQUNwQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixtQkFBYyxHQUFHLFdBQVcsQ0FBQztRQUM3QixxQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDMUIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztLQUM3Qjs7OztZQXJCQSxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhdGVQaWNrZXJDb25maWcge1xuICBsb2NhbGUgPSAnZW4nO1xuICBkYXRlcGlja2VyTW9kZSA9ICdkYXknO1xuICBzdGFydGluZ0RheSA9IDA7XG4gIHllYXJSYW5nZSA9IDIwO1xuICBtaW5Nb2RlID0gJ2RheSc7XG4gIG1heE1vZGUgPSAneWVhcic7XG4gIHNob3dXZWVrcyA9IHRydWU7XG4gIGZvcm1hdERheSA9ICdERCc7XG4gIGZvcm1hdE1vbnRoID0gJ01NTU0nO1xuICBmb3JtYXRZZWFyID0gJ1lZWVknO1xuICBmb3JtYXREYXlIZWFkZXIgPSAnZGQnO1xuICBmb3JtYXREYXlUaXRsZSA9ICdNTU1NIFlZWVknO1xuICBmb3JtYXRNb250aFRpdGxlID0gJ1lZWVknO1xuICBvbmx5Q3VycmVudE1vbnRoID0gZmFsc2U7XG4gIG1vbnRoQ29sTGltaXQgPSAzO1xuICB5ZWFyQ29sTGltaXQgPSA1O1xuICBzaG9ydGN1dFByb3BhZ2F0aW9uID0gZmFsc2U7XG59XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { DatePickerInnerComponent } from './datepicker-inner.component';
|
|
5
|
+
import { DatePickerComponent } from './datepicker.component';
|
|
6
|
+
import { DatePickerConfig } from './datepicker.config';
|
|
7
|
+
import { DayPickerComponent } from './daypicker.component';
|
|
8
|
+
import { MonthPickerComponent } from './monthpicker.component';
|
|
9
|
+
import { YearPickerComponent } from './yearpicker.component';
|
|
10
|
+
export class DatePickerModule {
|
|
11
|
+
static forRoot() {
|
|
12
|
+
return { ngModule: DatePickerModule, providers: [DatePickerConfig] };
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
DatePickerModule.decorators = [
|
|
16
|
+
{ type: NgModule, args: [{
|
|
17
|
+
imports: [CommonModule, FormsModule],
|
|
18
|
+
declarations: [
|
|
19
|
+
DatePickerComponent,
|
|
20
|
+
DatePickerInnerComponent,
|
|
21
|
+
DayPickerComponent,
|
|
22
|
+
MonthPickerComponent,
|
|
23
|
+
YearPickerComponent
|
|
24
|
+
],
|
|
25
|
+
exports: [
|
|
26
|
+
DatePickerComponent,
|
|
27
|
+
DatePickerInnerComponent,
|
|
28
|
+
DayPickerComponent,
|
|
29
|
+
MonthPickerComponent,
|
|
30
|
+
YearPickerComponent
|
|
31
|
+
],
|
|
32
|
+
entryComponents: [DatePickerComponent]
|
|
33
|
+
},] }
|
|
34
|
+
];
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFvQjdELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztJQUN2RSxDQUFDOzs7WUFyQkYsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7Z0JBQ3BDLFlBQVksRUFBRTtvQkFDWixtQkFBbUI7b0JBQ25CLHdCQUF3QjtvQkFDeEIsa0JBQWtCO29CQUNsQixvQkFBb0I7b0JBQ3BCLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtvQkFDbkIsd0JBQXdCO29CQUN4QixrQkFBa0I7b0JBQ2xCLG9CQUFvQjtvQkFDcEIsbUJBQW1CO2lCQUNwQjtnQkFDRCxlQUFlLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzthQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci1pbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbmZpZyB9IGZyb20gJy4vZGF0ZXBpY2tlci5jb25maWcnO1xuaW1wb3J0IHsgRGF5UGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXlwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vbnRoUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9tb250aHBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWVhclBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4veWVhcnBpY2tlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgRGF0ZVBpY2tlcklubmVyQ29tcG9uZW50LFxuICAgIERheVBpY2tlckNvbXBvbmVudCxcbiAgICBNb250aFBpY2tlckNvbXBvbmVudCxcbiAgICBZZWFyUGlja2VyQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEYXRlUGlja2VyQ29tcG9uZW50LFxuICAgIERhdGVQaWNrZXJJbm5lckNvbXBvbmVudCxcbiAgICBEYXlQaWNrZXJDb21wb25lbnQsXG4gICAgTW9udGhQaWNrZXJDb21wb25lbnQsXG4gICAgWWVhclBpY2tlckNvbXBvbmVudFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtEYXRlUGlja2VyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYXRlUGlja2VyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IERhdGVQaWNrZXJNb2R1bGUsIHByb3ZpZGVyczogW0RhdGVQaWNrZXJDb25maWddIH07XG4gIH1cbn1cbiJdfQ==
|