Modules renamed using John Papa Angular Style Guide.

This commit is contained in:
Alexander Zobnin
2016-03-16 21:15:46 +03:00
parent def3f9115d
commit 816870136c
12 changed files with 170 additions and 162 deletions

View File

@@ -1,105 +1,102 @@
define([
'lodash',
'jquery'
],
function (_, $) {
'use strict';
import _ from 'lodash';
import $ from 'jquery';
var index = [];
var categories = {
Transform: [],
Aggregate: [],
Trends: [],
Alias: []
};
var index = [];
var categories = {
Transform: [],
Aggregate: [],
Trends: [],
Alias: []
};
function addFuncDef(funcDef) {
funcDef.params = funcDef.params || [];
funcDef.defaultParams = funcDef.defaultParams || [];
function addFuncDef(funcDef) {
funcDef.params = funcDef.params || [];
funcDef.defaultParams = funcDef.defaultParams || [];
if (funcDef.category) {
categories[funcDef.category].push(funcDef);
}
index[funcDef.name] = funcDef;
index[funcDef.shortName || funcDef.name] = funcDef;
if (funcDef.category) {
categories[funcDef.category].push(funcDef);
}
index[funcDef.name] = funcDef;
index[funcDef.shortName || funcDef.name] = funcDef;
}
addFuncDef({
name: 'groupBy',
category: 'Transform',
params: [
{ name: 'interval', type: 'string'},
{ name: 'function', type: 'string', options: ['avg', 'min', 'max', 'median'] }
],
defaultParams: ['1m', 'avg'],
});
addFuncDef({
name: 'groupBy',
category: 'Transform',
params: [
{ name: 'interval', type: 'string'},
{ name: 'function', type: 'string', options: ['avg', 'min', 'max', 'median'] }
],
defaultParams: ['1m', 'avg'],
});
addFuncDef({
name: 'sumSeries',
category: 'Aggregate',
params: [],
defaultParams: [],
});
addFuncDef({
name: 'sumSeries',
category: 'Aggregate',
params: [],
defaultParams: [],
});
addFuncDef({
name: 'median',
category: 'Aggregate',
params: [
{ name: 'interval', type: 'string'}
],
defaultParams: ['1m'],
});
addFuncDef({
name: 'median',
category: 'Aggregate',
params: [
{ name: 'interval', type: 'string'}
],
defaultParams: ['1m'],
});
addFuncDef({
name: 'average',
category: 'Aggregate',
params: [
{ name: 'interval', type: 'string' }
],
defaultParams: ['1m'],
});
addFuncDef({
name: 'average',
category: 'Aggregate',
params: [
{ name: 'interval', type: 'string' }
],
defaultParams: ['1m'],
});
addFuncDef({
name: 'min',
category: 'Aggregate',
params: [
{ name: 'interval', type: 'string' }
],
defaultParams: ['1m'],
});
addFuncDef({
name: 'min',
category: 'Aggregate',
params: [
{ name: 'interval', type: 'string' }
],
defaultParams: ['1m'],
});
addFuncDef({
name: 'max',
category: 'Aggregate',
params: [
{ name: 'interval', type: 'string' }
],
defaultParams: ['1m'],
});
addFuncDef({
name: 'max',
category: 'Aggregate',
params: [
{ name: 'interval', type: 'string' }
],
defaultParams: ['1m'],
});
addFuncDef({
name: 'trendValue',
category: 'Trends',
params: [
{ name: 'type', type: 'string', options: ['avg', 'min', 'max'] }
],
defaultParams: ['avg'],
});
addFuncDef({
name: 'trendValue',
category: 'Trends',
params: [
{ name: 'type', type: 'string', options: ['avg', 'min', 'max'] }
],
defaultParams: ['avg'],
});
addFuncDef({
name: 'setAlias',
category: 'Alias',
params: [
{ name: 'alias', type: 'string'}
],
defaultParams: [],
});
addFuncDef({
name: 'setAlias',
category: 'Alias',
params: [
{ name: 'alias', type: 'string'}
],
defaultParams: [],
});
_.each(categories, function(funcList, catName) {
categories[catName] = _.sortBy(funcList, 'name');
});
_.each(categories, function(funcList, catName) {
categories[catName] = _.sortBy(funcList, 'name');
});
function FuncInstance(funcDef, params) {
class FuncInstance {
constructor(funcDef, params) {
this.def = funcDef;
if (params) {
@@ -113,7 +110,7 @@ function (_, $) {
this.updateText();
}
FuncInstance.prototype.bindFunction = function(metricFunctions) {
bindFunction(metricFunctions) {
var func = metricFunctions[this.def.name];
if (func) {
@@ -126,9 +123,9 @@ function (_, $) {
} else {
throw { message: 'Method not found ' + this.def.name };
}
};
}
FuncInstance.prototype.render = function(metricExp) {
render(metricExp) {
var str = this.def.name + '(';
var parameters = _.map(this.params, function(value, index) {
@@ -149,17 +146,17 @@ function (_, $) {
}
return str + parameters.join(', ') + ')';
};
}
FuncInstance.prototype._hasMultipleParamsInString = function(strValue, index) {
_hasMultipleParamsInString(strValue, index) {
if (strValue.indexOf(',') === -1) {
return false;
}
return this.def.params[index + 1] && this.def.params[index + 1].optional;
};
}
FuncInstance.prototype.updateParam = function(strValue, index) {
updateParam(strValue, index) {
// handle optional parameters
// if string contains ',' and next param is optional, split and update both
if (this._hasMultipleParamsInString(strValue, index)) {
@@ -177,9 +174,9 @@ function (_, $) {
}
this.updateText();
};
}
FuncInstance.prototype.updateText = function () {
updateText() {
if (this.params.length === 0) {
this.text = this.def.name + '()';
return;
@@ -189,26 +186,25 @@ function (_, $) {
text += this.params.join(', ');
text += ')';
this.text = text;
};
}
}
return {
createFuncInstance: function(funcDef, params) {
if (_.isString(funcDef)) {
if (!index[funcDef]) {
throw { message: 'Method not found ' + name };
}
funcDef = index[funcDef];
export default {
createFuncInstance: function(funcDef, params) {
if (_.isString(funcDef)) {
if (!index[funcDef]) {
throw { message: 'Method not found ' + name };
}
return new FuncInstance(funcDef, params);
},
getFuncDef: function(name) {
return index[name];
},
getCategories: function() {
return categories;
funcDef = index[funcDef];
}
};
return new FuncInstance(funcDef, params);
},
});
getFuncDef: function(name) {
return index[name];
},
getCategories: function() {
return categories;
}
};