import { DemoDatepickerBasicComponent } from './demos/basic/basic'; import { DemoDatepickerDateInitialStateComponent } from './demos/date-initial-state/date-initial-state'; import { DemoDatepickerColorThemingComponent } from './demos/color-theming/color-theming'; import { DemoDatepickerChangeLocaleComponent } from './demos/change-locale/change-locale'; import { DemoDatepickerMinMaxComponent } from './demos/min-max/min-max.component'; import { DemoDatepickerDisabledComponent } from './demos/disabled/disabled.component'; import { DemoDatepickerFormsComponent } from './demos/forms/forms.component'; import { DemoDatepickerReactiveFormsComponent } from './demos/reactive-forms/reactive-forms.component'; import { DemoDatepickerConfigMethodComponent } from './demos/config-method/config-method'; import { DemoDatepickerVisibilityMethodsComponent } from './demos/visibility-methods/visibility-methods'; import { DemoDatePickerConfigObjectComponent } from './demos/config-object/config-object'; import { DemoDatepickerOutsideClickComponent } from './demos/outside-click/outside-click'; import { DemoDatepickerIsOpenComponent } from './demos/is-open/is-open'; import { DatepickerDemoComponent } from './demos/datepicker-demo.component'; import { DemoDatePickerCustomFormatComponent } from './demos/custom-format/custom-format'; import { DemoDatepickerPlacementComponent } from './demos/placement/placement'; import { DemoDatePickerVisibilityEventsComponent } from './demos/visibility-events/visibility-events'; import { DemoDatepickerValueChangeEventComponent } from './demos/value-change-event/value-change-event'; import { DemoDatepickerTriggersComponent } from './demos/triggers/triggers'; import { DemoDatepickerHideOnScrollComponent } from './demos/hide-on-scroll/hide-on-scroll'; import { ContentSection } from '../../docs/models/content-section.model'; import { DemoTopSectionComponent } from '../../docs/demo-section-components/demo-top-section/index'; import { ExamplesComponent } from '../../docs/demo-section-components/demo-examples-section/index'; import { ApiSectionsComponent } from '../../docs/demo-section-components/demo-api-section/index'; import { NgApiDocComponent, NgApiDocConfigComponent } from '../../docs/api-docs'; export const demoComponentContent: ContentSection[] = [ { name: 'Usage', anchor: 'usage', outlet: DemoTopSectionComponent, content: { doc: require('!!raw-loader?lang=typescript!./docs/usage.md') } }, { name: 'Examples', anchor: 'examples', outlet: ExamplesComponent, content: [ { title: 'Basic', anchor: 'basic', component: require('!!raw-loader?lang=typescript!./demos/basic/basic.ts'), html: require('!!raw-loader?lang=markup!./demos/basic/basic.html'), description: `

Notable change is additional css for it "/datepicker/bs-datepicker.css"

There are two ways of adding css:

`, outlet: DemoDatepickerBasicComponent }, { title: 'Initial state', anchor: 'date-initial-state', component: require('!!raw-loader?lang=typescript!./demos/date-initial-state/date-initial-state.ts'), html: require('!!raw-loader?lang=markup!./demos/date-initial-state/date-initial-state.html'), outlet: DemoDatepickerDateInitialStateComponent }, { title: 'Custom date format', anchor: 'format', component: require('!!raw-loader?lang=typescript!./demos/custom-format/custom-format.ts'), html: require('!!raw-loader?lang=markup!./demos/custom-format/custom-format.html'), description: `

You can easily change the date format by specifying the dateInputFormat in [bsConfig]

To set your own date format you can use variety of formats provided by moment.js

The following examples show how to use several date formats inside a form:

`, outlet: DemoDatePickerCustomFormatComponent }, { title: 'Hide on scroll', anchor: 'hide-on-scroll', component: require('!!raw-loader?lang=typescript!./demos/hide-on-scroll/hide-on-scroll.ts'), html: require('!!raw-loader?lang=markup!./demos/hide-on-scroll/hide-on-scroll.html'), description: `

Hide the datepicker on page scroll.

`, outlet: DemoDatepickerHideOnScrollComponent }, { title: 'Themes', anchor: 'themes', component: require('!!raw-loader?lang=typescript!./demos/color-theming/color-theming.ts'), html: require('!!raw-loader?lang=markup!./demos/color-theming/color-theming.html'), description: `

Datepicker comes with some default color schemes. You can change it by manipulating containerClass property in bsConfig object

There are 6 color schemes: theme-default, theme-green, theme-blue, theme-dark-blue, theme-red, theme-orange

`, outlet: DemoDatepickerColorThemingComponent }, { title: 'Locales', anchor: 'locales', component: require('!!raw-loader?lang=typescript!./demos/change-locale/change-locale.ts'), html: require('!!raw-loader?lang=markup!./demos/change-locale/change-locale.html'), description: `

Datepicker can use different locales.
It's possible to change a locale by calling use method of BsLocaleService, list of available locales is in dropdown below.

To use a different locale, you have to import it from ngx-bootstrap/chronos first, then define it in your @NgModule using function defineLocale

Example:

import { defineLocale } from 'ngx-bootstrap/chronos';
import { deLocale } from 'ngx-bootstrap/locale';
defineLocale('de', deLocale);

`, outlet: DemoDatepickerChangeLocaleComponent }, { title: 'Min-max', anchor: 'min-max', component: require('!!raw-loader?lang=typescript!./demos/min-max/min-max.component.ts'), html: require('!!raw-loader?lang=markup!./demos/min-max/min-max.component.html'), description: `

You can set min and max date of datepicker/daterangepicker using minDate and maxDate properties

In the following example minDate is set to yesterday and maxDate to the current day in the next week

`, outlet: DemoDatepickerMinMaxComponent }, { title: 'Disabled', anchor: 'disabled-datepicker', component: require('!!raw-loader?lang=typescript!./demos/disabled/disabled.component.ts'), html: require('!!raw-loader?lang=markup!./demos/disabled/disabled.component.html'), description: `

If you want to disable datepicker's or daterangepicker's content set isDisabled property to true

`, outlet: DemoDatepickerDisabledComponent }, { title: 'Forms', anchor: 'forms', component: require('!!raw-loader?lang=typescript!./demos/forms/forms.component.ts'), html: require('!!raw-loader?lang=markup!./demos/forms/forms.component.html'), description: `

Datepicker and daterangepicker can be used in forms. Keep in mind that value of ngModel is Date object for datepicker and array of 2 Date objects for daterangepicker

`, outlet: DemoDatepickerFormsComponent }, { title: 'Reactive forms', anchor: 'reactive-forms', component: require('!!raw-loader?lang=typescript!./demos/reactive-forms/reactive-forms.component.ts'), html: require('!!raw-loader?lang=markup!./demos/reactive-forms/reactive-forms.component.html'), outlet: DemoDatepickerReactiveFormsComponent }, { title: 'Visibility methods', anchor: 'visibility-methods', component: require('!!raw-loader?lang=typescript!./demos/visibility-methods/visibility-methods.ts'), html: require('!!raw-loader?lang=markup!./demos/visibility-methods/visibility-methods.html'), description: `

You can manage datepicker's state by using its show(), hide() and toggle() methods

`, outlet: DemoDatepickerVisibilityMethodsComponent }, { title: 'Placement', anchor: 'placement', component: require('!!raw-loader?lang=typescript!./demos/placement/placement.ts'), html: require('!!raw-loader?lang=markup!./demos/placement/placement.html'), description: `

Add placement property if you want to change placement

`, outlet: DemoDatepickerPlacementComponent }, { title: 'Config method', anchor: 'config-method', component: require('!!raw-loader?lang=typescript!./demos/config-method/config-method.ts'), html: require('!!raw-loader?lang=markup!./demos/config-method/config-method.html'), description: `

You can manage datepicker's options by using its setConfig() method

`, outlet: DemoDatepickerConfigMethodComponent }, { title: 'Visibility Events', anchor: 'visibility-events', component: require('!!raw-loader?lang=typescript!./demos/visibility-events/visibility-events.ts'), html: require('!!raw-loader?lang=markup!./demos/visibility-events/visibility-events.html'), description: `

You can subscribe to datepicker's visibility events

`, outlet: DemoDatePickerVisibilityEventsComponent }, { title: 'Value change event', anchor: 'value-change-event', component: require('!!raw-loader?lang=typescript!./demos/value-change-event/value-change-event.ts'), html: require('!!raw-loader?lang=markup!./demos/value-change-event/value-change-event.html'), description: `

You can subscribe to datepicker's value change event (bsValueChange).

`, outlet: DemoDatepickerValueChangeEventComponent }, { title: 'Config properties', anchor: 'config-object', component: require('!!raw-loader?lang=typescript!./demos/config-object/config-object.ts'), html: require('!!raw-loader?lang=markup!./demos/config-object/config-object.html'), description: `

You can configure the datepicker via its bsConfig option

`, outlet: DemoDatePickerConfigObjectComponent }, { title: 'Outside click', anchor: 'outside-click', component: require('!!raw-loader?lang=typescript!./demos/outside-click/outside-click.ts'), html: require('!!raw-loader?lang=markup!./demos/outside-click/outside-click.html'), description: `

Datepicker closes after outside click by default. To change this behavior, use outsideClick property.

`, outlet: DemoDatepickerOutsideClickComponent }, { title: 'IsOpen property', anchor: 'is-open', component: require('!!raw-loader?lang=typescript!./demos/is-open/is-open.ts'), html: require('!!raw-loader?lang=markup!./demos/is-open/is-open.html'), description: `

The datepicker's closed by default. To change this behavior, use isOpen property.

`, outlet: DemoDatepickerIsOpenComponent }, { title: 'Triggers', anchor: 'triggers', component: require('!!raw-loader?lang=typescript!./demos/triggers/triggers.ts'), html: require('!!raw-loader?lang=markup!./demos/triggers/triggers.html'), description: `

Use different triggers ( for example keydown, mouseenter, dblclick ) to interact with datepicker

`, outlet: DemoDatepickerTriggersComponent } ] }, { name: 'API Reference', anchor: 'api-reference', outlet: ApiSectionsComponent, content: [ { title: 'BsDatepickerDirective', anchor: 'bs-datepicker-component', outlet: NgApiDocComponent }, { title: 'BsDaterangepickerDirective', anchor: 'bs-daterangepicker', outlet: NgApiDocComponent }, { title: 'BsDatepickerConfig', anchor: 'bs-datepicker-config', outlet: NgApiDocConfigComponent } ] } ]; export const demoComponentContentOld: ContentSection[] = [ { name: 'Usage', anchor: 'usage', outlet: DemoTopSectionComponent, content: { doc: require('!!raw-loader?lang=typescript!./docs/usageOld.md') } }, { name: 'Examples', anchor: 'examples-old', outlet: ExamplesComponent, content: [ { title: 'Basic', anchor: 'basic-old', component: require('!!raw-loader?lang=typescript!./demos/datepicker-demo.component.ts'), html: require('!!raw-loader?lang=markup!./demos/datepicker-demo.component.html'), outlet: DatepickerDemoComponent } ] }, { name: 'API Reference', anchor: 'api-reference', outlet: ApiSectionsComponent, content: [ { title: 'DatePickerComponent', anchor: 'datepicker-component', outlet: NgApiDocComponent } ] } ];