1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import '../../../src/stylus/components/_date-picker-title.styl';
- // Components
- import VIcon from '../VIcon';
- // Mixins
- import PickerButton from '../../mixins/picker-button';
- // Utils
- import mixins from '../../util/mixins';
- export default mixins(PickerButton
- /* @vue/component */
- ).extend({
- name: 'v-date-picker-title',
- props: {
- date: {
- type: String,
- default: ''
- },
- disabled: Boolean,
- readonly: Boolean,
- selectingYear: Boolean,
- value: {
- type: String
- },
- year: {
- type: [Number, String],
- default: ''
- },
- yearIcon: {
- type: String
- }
- },
- data: function data() {
- return {
- isReversing: false
- };
- },
- computed: {
- computedTransition: function computedTransition() {
- return this.isReversing ? 'picker-reverse-transition' : 'picker-transition';
- }
- },
- watch: {
- value: function value(val, prev) {
- this.isReversing = val < prev;
- }
- },
- methods: {
- genYearIcon: function genYearIcon() {
- return this.$createElement(VIcon, {
- props: {
- dark: true
- }
- }, this.yearIcon);
- },
- getYearBtn: function getYearBtn() {
- return this.genPickerButton('selectingYear', true, [String(this.year), this.yearIcon ? this.genYearIcon() : null], false, 'v-date-picker-title__year');
- },
- genTitleText: function genTitleText() {
- return this.$createElement('transition', {
- props: {
- name: this.computedTransition
- }
- }, [this.$createElement('div', {
- domProps: { innerHTML: this.date || ' ' },
- key: this.value
- })]);
- },
- genTitleDate: function genTitleDate() {
- return this.genPickerButton('selectingYear', false, [this.genTitleText()], false, 'v-date-picker-title__date');
- }
- },
- render: function render(h) {
- return h('div', {
- staticClass: 'v-date-picker-title',
- 'class': {
- 'v-date-picker-title--disabled': this.disabled
- }
- }, [this.getYearBtn(), this.genTitleDate()]);
- }
- });
- //# sourceMappingURL=VDatePickerTitle.js.map
|