本文整理汇总了TypeScript中plywood.SortAction类的典型用法代码示例。如果您正苦于以下问题:TypeScript SortAction类的具体用法?TypeScript SortAction怎么用?TypeScript SortAction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SortAction类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: SortAction
.then((splits: Splits, dataSource: DataSource, colors: Colors) => {
var timeSplit = splits.get(0);
var timeDimension = timeSplit.getDimension(dataSource.dimensions);
var sortAction: SortAction = new SortAction({
expression: $(timeDimension.name),
direction: SortAction.ASCENDING
});
// Fix time sort
if (!sortAction.equals(timeSplit.sortAction)) {
timeSplit = timeSplit.changeSortAction(sortAction);
}
// Fix time limit
if (timeSplit.limitAction) {
timeSplit = timeSplit.changeLimitAction(null);
}
let colorSplit = splits.get(1);
if (!colorSplit.sortAction) {
colorSplit = colorSplit.changeSortAction(dataSource.getDefaultSortAction());
}
var colorSplitDimension = dataSource.getDimensionByExpression(colorSplit.expression);
if (!colors || colors.dimension !== colorSplitDimension.name) {
colors = Colors.fromLimit(colorSplitDimension.name, 5);
}
return Resolve.automatic(8, {
splits: new Splits(List([colorSplit, timeSplit])),
colors
});
})
示例2: SortAction
.then((splits: Splits, dataSource: DataSource, colors: Colors) => {
var timeSplit = splits.get(0);
var timeDimension = timeSplit.getDimension(dataSource.dimensions);
var sortAction: SortAction = new SortAction({
expression: $(timeDimension.name),
direction: SortAction.ASCENDING
});
let autoChanged = false;
// Fix time sort
if (!sortAction.equals(timeSplit.sortAction)) {
timeSplit = timeSplit.changeSortAction(sortAction);
autoChanged = true;
}
// Fix time limit
if (timeSplit.limitAction) {
timeSplit = timeSplit.changeLimitAction(null);
autoChanged = true;
}
if (colors) {
autoChanged = true;
}
if (!autoChanged) return Resolve.ready(10);
return Resolve.automatic(8, {splits: new Splits(List([timeSplit]))});
})
示例3: fromJS
static fromJS(parameters: SplitCombineJS, context?: SplitCombineContext): SplitCombine {
if (typeof parameters === 'string') {
if (!context) throw new Error('must have context for string split');
var dimension = context.dimensions.find(d => d.name === parameters);
if (!dimension) throw new Error(`can not find dimension ${parameters}`);
return new SplitCombine({
expression: dimension.expression,
bucketAction: null,
sortAction: null,
limitAction: null
});
} else {
var value: SplitCombineValue = {
expression: Expression.fromJSLoose(parameters.expression),
bucketAction: null,
sortAction: null,
limitAction: null
};
if (parameters.bucketAction) value.bucketAction = Action.fromJS(parameters.bucketAction);
if (parameters.sortAction) value.sortAction = SortAction.fromJS(parameters.sortAction);
if (parameters.limitAction) value.limitAction = LimitAction.fromJS(parameters.limitAction);
return new SplitCombine(value);
}
}
示例4: fromJS
static fromJS(parameters: SplitCombineJS): SplitCombine {
var value: SplitCombineValue = {
expression: Expression.fromJS(parameters.expression),
bucketAction: null,
sortAction: null,
limitAction: null
};
if (parameters.bucketAction) value.bucketAction = Action.fromJS(parameters.bucketAction);
if (parameters.sortAction) value.sortAction = SortAction.fromJS(parameters.sortAction);
if (parameters.limitAction) value.limitAction = LimitAction.fromJS(parameters.limitAction);
return new SplitCombine(value);
}
示例5: toJS
public toJS(): SplitCombineJS {
var js: SplitCombineJSFull = {
expression: this.expression.toJS()
};
if (this.bucketAction) js.bucketAction = this.bucketAction.toJS();
if (this.sortAction) js.sortAction = this.sortAction.toJS();
if (this.limitAction) js.limitAction = this.limitAction.toJS();
return js;
}
示例6: equals
public equals(other: SplitCombine): boolean {
var { expression, bucketAction, sortAction, limitAction } = this;
return SplitCombine.isSplitCombine(other) &&
expression.equals(other.expression) &&
Boolean(bucketAction) === Boolean(other.bucketAction) &&
(!bucketAction || bucketAction.equals(other.bucketAction)) &&
Boolean(sortAction) === Boolean(other.sortAction) &&
(!sortAction || sortAction.equals(other.sortAction)) &&
Boolean(limitAction) === Boolean(other.limitAction) &&
(!limitAction || limitAction.equals(other.limitAction));
}