package.src.vaadin-date-picker-year-scroller.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of date-picker Show documentation
Show all versions of date-picker Show documentation
Web component providing a date selection field with scrollable month calendar
/**
* @license
* Copyright (c) 2016 - 2024 Vaadin Ltd.
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
*/
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
import { InfiniteScroller } from './vaadin-infinite-scroller.js';
const stylesTemplate = document.createElement('template');
stylesTemplate.innerHTML = `
`;
/**
* An element used internally by ``. Not intended to be used separately.
*
* @customElement
* @extends InfiniteScroller
* @private
*/
class DatePickerYearScroller extends InfiniteScroller {
static get is() {
return 'vaadin-date-picker-year-scroller';
}
constructor() {
super();
this.bufferSize = 12;
this.shadowRoot.appendChild(stylesTemplate.content.cloneNode(true));
}
/**
* @protected
* @override
*/
_createElement() {
return document.createElement('vaadin-date-picker-year');
}
/**
* @param {HTMLElement} element
* @param {number} index
* @protected
* @override
*/
_updateElement(element, index) {
element.year = this._yearAfterXYears(index);
}
/** @private */
_yearAfterXYears(index) {
const today = new Date();
const result = new Date(today);
result.setFullYear(parseInt(index) + today.getFullYear());
return result.getFullYear();
}
}
defineCustomElement(DatePickerYearScroller);
© 2015 - 2024 Weber Informatics LLC | Privacy Policy