@cubejs-client/core
Advanced tools
Comparing version 0.4.4 to 0.4.5
@@ -6,2 +6,13 @@ # Change Log | ||
## [0.4.5](https://github.com/statsbotco/cubejs-client/compare/v0.4.4...v0.4.5) (2019-03-21) | ||
### Features | ||
* Playground filters implementation ([de4315d](https://github.com/statsbotco/cubejs-client/commit/de4315d)) | ||
## [0.4.4](https://github.com/statsbotco/cubejs-client/compare/v0.4.3...v0.4.4) (2019-03-17) | ||
@@ -8,0 +19,0 @@ |
@@ -23,2 +23,3 @@ 'use strict'; | ||
var momentRange = _interopDefault(require('moment-range')); | ||
require('core-js/modules/es6.array.is-array'); | ||
require('core-js/modules/es6.regexp.split'); | ||
@@ -397,2 +398,49 @@ require('core-js/modules/es6.function.name'); | ||
var operators = { | ||
string: [{ | ||
name: 'contains', | ||
title: 'contains' | ||
}, { | ||
name: 'notContains', | ||
title: 'does not contain' | ||
}, { | ||
name: 'equals', | ||
title: 'equals' | ||
}, { | ||
name: 'notEquals', | ||
title: 'does not equal' | ||
}, { | ||
name: 'set', | ||
title: 'is set' | ||
}, { | ||
name: 'notSet', | ||
title: 'is not set' | ||
}], | ||
number: [{ | ||
name: 'equals', | ||
title: 'equals' | ||
}, { | ||
name: 'notEquals', | ||
title: 'does not equal' | ||
}, { | ||
name: 'set', | ||
title: 'is set' | ||
}, { | ||
name: 'notSet', | ||
title: 'is not set' | ||
}, { | ||
name: 'gt', | ||
title: '>' | ||
}, { | ||
name: 'gte', | ||
title: '>=' | ||
}, { | ||
name: 'lt', | ||
title: '<' | ||
}, { | ||
name: 'lte', | ||
title: '<=' | ||
}] | ||
}; | ||
var Meta = | ||
@@ -426,2 +474,4 @@ /*#__PURE__*/ | ||
value: function resolveMember(memberName, memberType) { | ||
var _this = this; | ||
var _memberName$split = memberName.split('.'), | ||
@@ -438,3 +488,8 @@ _memberName$split2 = _slicedToArray(_memberName$split, 1), | ||
var member = this.cubesMap[cube][memberType][memberName]; | ||
var memberTypes = Array.isArray(memberType) ? memberType : [memberType]; | ||
var member = memberTypes.map(function (type) { | ||
return _this.cubesMap[cube][type] && _this.cubesMap[cube][type][memberName]; | ||
}).find(function (m) { | ||
return m; | ||
}); | ||
@@ -450,2 +505,8 @@ if (!member) { | ||
} | ||
}, { | ||
key: "filterOperatorsForMember", | ||
value: function filterOperatorsForMember(memberName, memberType) { | ||
var member = this.resolveMember(memberName, memberType); | ||
return operators[member.type] || operators.string; | ||
} | ||
}]); | ||
@@ -452,0 +513,0 @@ |
{ | ||
"name": "@cubejs-client/core", | ||
"version": "0.4.4", | ||
"version": "0.4.5", | ||
"description": "cube.js client", | ||
@@ -29,3 +29,3 @@ "main": "dist/cubejs-client-core.js", | ||
}, | ||
"gitHead": "a6fd93c6e0ecb0addb5abc5c3e6248a23ff5d250" | ||
"gitHead": "f7018b98231a34d26390653bcea6731c78f07dbb" | ||
} |
@@ -1,5 +0,26 @@ | ||
import {unnest, fromPairs} from 'ramda'; | ||
import { unnest, fromPairs } from 'ramda'; | ||
const memberMap = (memberArray) => fromPairs(memberArray.map(m => [m.name, m])); | ||
const operators = { | ||
string: [ | ||
{ name: 'contains', title: 'contains' }, | ||
{ name: 'notContains', title: 'does not contain' }, | ||
{ name: 'equals', title: 'equals' }, | ||
{ name: 'notEquals', title: 'does not equal' }, | ||
{ name: 'set', title: 'is set' }, | ||
{ name: 'notSet', title: 'is not set' } | ||
], | ||
number: [ | ||
{ name: 'equals', title: 'equals' }, | ||
{ name: 'notEquals', title: 'does not equal' }, | ||
{ name: 'set', title: 'is set' }, | ||
{ name: 'notSet', title: 'is not set' }, | ||
{ name: 'gt', title: '>' }, | ||
{ name: 'gte', title: '>=' }, | ||
{ name: 'lt', title: '<' }, | ||
{ name: 'lte', title: '<=' } | ||
] | ||
}; | ||
export default class Meta { | ||
@@ -25,3 +46,6 @@ constructor(metaResponse) { | ||
} | ||
const member = this.cubesMap[cube][memberType][memberName]; | ||
const memberTypes = Array.isArray(memberType) ? memberType : [memberType]; | ||
const member = memberTypes | ||
.map(type => this.cubesMap[cube][type] && this.cubesMap[cube][type][memberName]) | ||
.find(m => m); | ||
if (!member) { | ||
@@ -32,2 +56,7 @@ return { title: memberName, error: `Path not found '${memberName}'` }; | ||
} | ||
filterOperatorsForMember(memberName, memberType) { | ||
const member = this.resolveMember(memberName, memberType); | ||
return operators[member.type] || operators.string; | ||
} | ||
} |
Sorry, the diff of this file is too big to display
493376
13827