@progress/kendo-react-dateinputs
Version:
KendoReact Date Inputs package
72 lines • 2.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var _a;
var CenturyViewService_1 = require("./CenturyViewService");
var DecadeViewService_1 = require("./DecadeViewService");
var MonthViewService_1 = require("./MonthViewService");
var YearViewService_1 = require("./YearViewService");
var CalendarViewEnum_1 = require("../models/CalendarViewEnum");
var services = (_a = {},
_a[CalendarViewEnum_1.CalendarViewEnum.month] = MonthViewService_1.MonthViewService,
_a[CalendarViewEnum_1.CalendarViewEnum.year] = YearViewService_1.YearViewService,
_a[CalendarViewEnum_1.CalendarViewEnum.decade] = DecadeViewService_1.DecadeViewService,
_a[CalendarViewEnum_1.CalendarViewEnum.century] = CenturyViewService_1.CenturyViewService,
_a);
var viewOffset = function (view, offset) {
var candidate = CalendarViewEnum_1.CalendarViewEnum[CalendarViewEnum_1.CalendarViewEnum[view + offset]];
return candidate !== undefined ? candidate : view;
};
/**
* @hidden
*/
var BusViewService = /** @class */ (function () {
function BusViewService(onViewChanged) {
this.bottom = CalendarViewEnum_1.CalendarViewEnum.month;
this.top = CalendarViewEnum_1.CalendarViewEnum.century;
this.onViewChanged = onViewChanged;
}
BusViewService.prototype.configure = function (bottom, top) {
this.bottom = bottom;
this.top = top;
};
BusViewService.prototype.service = function (view, intl) {
return new services["" + view](intl);
};
BusViewService.prototype.moveDown = function (view, event) {
this.move(view, -1, event);
};
BusViewService.prototype.moveUp = function (view, event) {
this.move(view, 1, event);
};
BusViewService.prototype.moveToBottom = function (activeView) {
if (activeView === this.bottom) {
return;
}
this.onViewChanged({ view: this.bottom });
};
BusViewService.prototype.canMoveDown = function (view) {
return this.bottom < view;
};
BusViewService.prototype.canMoveUp = function (view) {
return view < this.top;
};
BusViewService.prototype.clamp = function (view) {
if (view < this.bottom) {
return this.bottom;
}
if (view > this.top) {
return this.top;
}
return view;
};
BusViewService.prototype.move = function (view, offset, event) {
var candidate = this.clamp(viewOffset(view, offset));
if (candidate === view) {
return;
}
this.onViewChanged({ view: candidate }, event);
};
return BusViewService;
}());
exports.BusViewService = BusViewService;
//# sourceMappingURL=BusViewService.js.map