| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- define([
- 'lodash',
- 'moment',
- ],
- function (_, moment) {
- 'use strict';
- function IndexPattern(pattern, interval) {
- this.pattern = pattern;
- this.interval = interval;
- }
- IndexPattern.intervalMap = {
- "Hourly": { startOf: 'hour', amount: 'hours'},
- "Daily": { startOf: 'day', amount: 'days'},
- "Weekly": { startOf: 'isoWeek', amount: 'weeks'},
- "Monthly": { startOf: 'month', amount: 'months'},
- "Yearly": { startOf: 'year', amount: 'years'},
- };
- IndexPattern.prototype.getIndexForToday = function() {
- if (this.interval) {
- return moment.utc().format(this.pattern);
- } else {
- return this.pattern;
- }
- };
- IndexPattern.prototype.getIndexList = function(from, to) {
- if (!this.interval) {
- return this.pattern;
- }
- var intervalInfo = IndexPattern.intervalMap[this.interval];
- var start = moment(from).utc().startOf(intervalInfo.startOf);
- var end = moment(to).utc().startOf(intervalInfo.startOf).valueOf();
- var indexList = [];
- while (start <= end) {
- indexList.push(start.format(this.pattern));
- start.add(1, intervalInfo.amount);
- }
- return indexList;
- };
- return IndexPattern;
- });
|