Skip to content

Commit

Permalink
one big module
Browse files Browse the repository at this point in the history
  • Loading branch information
sgratzl committed Dec 24, 2018
1 parent e71c608 commit 4e3a1c4
Show file tree
Hide file tree
Showing 26 changed files with 375 additions and 383 deletions.
2 changes: 1 addition & 1 deletion src/builder/LineUpBuilder.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {IDynamicHeight, ITaggleOptions} from '../interfaces';
import {IDynamicHeight, ITaggleOptions} from '../config';
import Column, {IGroupData, IGroupItem, Ranking} from '../model';
import {ICellRendererFactory, ERenderMode} from '../renderer';
import {IToolbarAction, IToolbarDialogAddon} from '../ui';
Expand Down
38 changes: 38 additions & 0 deletions src/builder/adapter/builderAdapter.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

import {build, buildCategorical, buildDate, buildHierarchy, buildNumber, buildString, buildActions} from './column';
import {Adapter} from './lineup';
import {
buildAllColumnsRanking,
buildGeneric,
buildImposeRanking,
buildNestedRanking,
buildRanking,
buildReduceRanking,
buildScriptRanking,
buildSupportRanking,
buildWeightedSumRanking
} from './ranking';
import {equal, isSame, isTypeInstance} from './utils';

export const builderAdapter = {
buildString,
buildNumber,
buildHierarchy,
buildDate,
buildCategorical,
buildActions,
build,
buildGeneric,
buildWeightedSumRanking,
buildSupportRanking,
buildScriptRanking,
buildReduceRanking,
buildRanking,
buildNestedRanking,
buildImposeRanking,
buildAllColumnsRanking,
equal,
isSame,
isTypeInstance,
Adapter
};
2 changes: 1 addition & 1 deletion src/builder/adapter/column.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import {extent} from '../../internal';
import {IActionColumnDesc, IArrayDesc, IBooleanColumnDesc, ICategoricalColumnDesc, IColumnDesc, IDateColumnDesc, IHierarchyColumnDesc, ILinkColumnDesc, INumberColumnDesc} from '../../model';
import {IBuilderAdapterActionsColumnDescProps, IBuilderAdapterBooleanColumnDescProps, IBuilderAdapterCategoricalColumnDescProps, IBuilderAdapterColumnDescProps, IBuilderAdapterDateColumnDescProps, IBuilderAdapterHierarchyColumnDescProps, IBuilderAdapterNumberColumnDescProps, IBuilderAdapterStringColumnDescProps} from './columnInterfaces';
import {IBuilderAdapterActionsColumnDescProps, IBuilderAdapterBooleanColumnDescProps, IBuilderAdapterCategoricalColumnDescProps, IBuilderAdapterColumnDescProps, IBuilderAdapterDateColumnDescProps, IBuilderAdapterHierarchyColumnDescProps, IBuilderAdapterNumberColumnDescProps, IBuilderAdapterStringColumnDescProps} from '.';

export function build<T extends IBuilderAdapterColumnDescProps>(props: T, _data?: any[]): IColumnDesc {
const {column} = props;
Expand Down
51 changes: 0 additions & 51 deletions src/builder/adapter/columnInterfaces.ts

This file was deleted.

163 changes: 122 additions & 41 deletions src/builder/adapter/index.ts
Original file line number Diff line number Diff line change
@@ -1,41 +1,122 @@
export * from './columnInterfaces';
export * from './lineupInterfaces';
export * from './rankingInterfaces';

import {build, buildCategorical, buildDate, buildHierarchy, buildNumber, buildString, buildActions} from './column';
import {Adapter} from './lineup';
import {
buildAllColumnsRanking,
buildGeneric,
buildImposeRanking,
buildNestedRanking,
buildRanking,
buildReduceRanking,
buildScriptRanking,
buildSupportRanking,
buildWeightedSumRanking
} from './ranking';
import {equal, isSame, isTypeInstance} from './utils';

export const builderAdapter = {
buildString,
buildNumber,
buildHierarchy,
buildDate,
buildCategorical,
buildActions,
build,
buildGeneric,
buildWeightedSumRanking,
buildSupportRanking,
buildScriptRanking,
buildReduceRanking,
buildRanking,
buildNestedRanking,
buildImposeRanking,
buildAllColumnsRanking,
equal,
isSame,
isTypeInstance,
Adapter
};
export * from './builderAdapter';

import {IImposeColumnBuilder, INestedBuilder, IReduceBuilder, IScriptedBuilder, IWeightedSumBuilder} from '..';
import {ILineUpOptions, ITaggleOptions} from '../../config';
import {EAdvancedSortMethod, IAction, ICategory, IColumnDesc, IGroupAction, IPartialCategoryNode} from '../../model';
import {IDataProviderOptions, ILocalDataProviderOptions, LocalDataProvider} from '../../provider';
import {LineUp, Taggle} from '../../ui';

export interface IBuilderAdapterRankingProps {
sortBy?: (string | {column: string, asc: 'asc' | 'desc' | boolean}) | ((string | {column: string, asc: 'asc' | 'desc' | boolean})[]);
groupBy?: string[] | string;
columns?: (string | IImposeColumnBuilder | INestedBuilder | IWeightedSumBuilder | IReduceBuilder | IScriptedBuilder)[];
}

export interface IBuilderAdapterImposeColumnProps {
label?: string;
column: string;
categoricalColumn: string;
}

export interface IBuilderAdapterNestedColumnProps {
label?: string;
}

export interface IBuilderAdapterWeightedSumColumnProps {
label?: string;
}

export interface IBuilderAdapterReduceColumnProps {
type: 'min' | 'max' | 'mean' | 'median';
label?: string;
}

export interface IBuilderAdapterScriptColumnProps {
code: string;
label?: string;
}

export interface IBuilderAdapterSupportColumnProps {
type: 'rank' | 'selection' | 'group' | 'aggregate' | '*';
}



export interface IBuilderAdapterDataProps extends Partial<IDataProviderOptions>, Partial<ILocalDataProviderOptions> {
data: any[];
selection?: number[] | null;
highlight?: number | null;

onSelectionChanged?(selection: number[]): void;
onHighlightChanged?(highlight: number): void;

deriveColumns?: boolean | string[];
deriveColors?: boolean;

restore?: any;
defaultRanking?: boolean | 'noSupportTypes';
}

export declare type IBuilderAdapterProps = Partial<ITaggleOptions> & IBuilderAdapterDataProps;

export interface IChangeDetecter {
(prop: (keyof IBuilderAdapterProps)): boolean;
}

export interface IBuilderAdapter {
props(): Readonly<IBuilderAdapterProps>;
createInstance(data: LocalDataProvider, options: Partial<ILineUpOptions>): LineUp | Taggle;
rankingBuilders(): IBuilderAdapterRankingProps[];
columnDescs(data: any[]): IColumnDesc[];
}


export interface IBuilderAdapterColumnDescProps extends Partial<IColumnDesc> {
column: string;
asMap?: boolean;
asArray?: string[] | number | boolean;
custom?: {[key: string]: any};
}

export interface IBuilderAdapterCategoricalColumnDescProps extends IBuilderAdapterColumnDescProps {
asOrdinal?: boolean;
categories?: (string | Partial<ICategory>)[];
missingCategory?: (string | Partial<ICategory>);
asSet?: boolean | string;
}

export interface IBuilderAdapterDateColumnDescProps extends IBuilderAdapterColumnDescProps {
dateFormat?: string;
dateParse?: string;
}

export interface IBuilderAdapterHierarchyColumnDescProps extends IBuilderAdapterColumnDescProps {
hierarchy: IPartialCategoryNode;
hierarchySeparator?: string;
}

export interface IBuilderAdapterNumberColumnDescProps extends IBuilderAdapterColumnDescProps {
domain?: [number, number];
range?: [number, number];
mapping?: 'linear' | 'sqrt' | 'pow1.1' | 'pow2' | 'pow3';
scripted?: string;
sort?: EAdvancedSortMethod;
colorMapping?: string;
}

export interface IBuilderAdapterStringColumnDescProps extends IBuilderAdapterColumnDescProps {
editable?: boolean;
html?: boolean;
pattern?: string;
patternTemplates?: string[];
}

export interface IBuilderAdapterBooleanColumnDescProps extends IBuilderAdapterColumnDescProps {
trueMarker?: string;
falseMarker?: string;
}

export interface IBuilderAdapterActionsColumnDescProps extends IBuilderAdapterColumnDescProps {
actions?: IAction[];
groupActions?: IGroupAction[];
}
3 changes: 1 addition & 2 deletions src/builder/adapter/lineup.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import {IBuilderAdapter, IBuilderAdapterProps, IBuilderAdapterRankingProps, IChangeDetecter} from '.';
import {IColumnDesc} from '../../model';
import {deriveColors, deriveColumnDescriptions, IDataProviderOptions, ILocalDataProviderOptions, LocalDataProvider} from '../../provider';
import {LineUp, Taggle} from '../../ui';
import {IBuilderAdapter, IBuilderAdapterProps, IChangeDetecter} from './lineupInterfaces';
import {buildRanking} from './ranking';
import {IBuilderAdapterRankingProps} from './rankingInterfaces';
import {equal, isSame, pick} from './utils';


Expand Down
34 changes: 0 additions & 34 deletions src/builder/adapter/lineupInterfaces.ts

This file was deleted.

2 changes: 1 addition & 1 deletion src/builder/adapter/ranking.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {buildRanking as buildRankingImpl, INestedBuilder, IReduceBuilder, IScriptedBuilder, IWeightedSumBuilder} from '..';
import {Ranking} from '../../model';
import {LocalDataProvider} from '../../provider';
import {IBuilderAdapterImposeColumnProps, IBuilderAdapterNestedColumnProps, IBuilderAdapterRankingProps, IBuilderAdapterReduceColumnProps, IBuilderAdapterScriptColumnProps, IBuilderAdapterSupportColumnProps, IBuilderAdapterWeightedSumColumnProps} from './rankingInterfaces';
import {IBuilderAdapterImposeColumnProps, IBuilderAdapterNestedColumnProps, IBuilderAdapterRankingProps, IBuilderAdapterReduceColumnProps, IBuilderAdapterScriptColumnProps, IBuilderAdapterSupportColumnProps, IBuilderAdapterWeightedSumColumnProps} from '.';


/*
Expand Down
35 changes: 0 additions & 35 deletions src/builder/adapter/rankingInterfaces.ts

This file was deleted.

Loading

0 comments on commit 4e3a1c4

Please sign in to comment.