Skip to content

Commit

Permalink
Merge remote-tracking branch 'tfs/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
olmobrutall committed Mar 1, 2019
2 parents 759f2a9 + 22a4456 commit 92f8c65
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Signum.React/Scripts/Finder.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1283,7 +1283,7 @@ export interface QuerySettings {
entityFormatter?: EntityFormatter;
getViewPromise?: (e: ModifiableEntity | null) => (undefined | string | Navigator.ViewPromise<ModifiableEntity>);
onDoubleClick?: (e: React.MouseEvent<any>, row: ResultRow) => void;
simpleFilterBuilder?: (qd: QueryDescription, initialFilterOptions: FilterOptionParsed[]) => React.ReactElement<any> | undefined;
simpleFilterBuilder?: (qd: QueryDescription, initialFilterOptions: FilterOptionParsed[], refresh: () => void) => React.ReactElement<any> | undefined;
onFind?: (fo: FindOptions, mo?: ModalFindOptions) => Promise<Lite<Entity> | undefined>;
onFindMany?: (fo: FindOptions, mo?: ModalFindOptions) => Promise<Lite<Entity>[] | undefined>;
onExplore?: (fo: FindOptions, mo?: ModalFindOptions) => Promise<void>;
Expand Down
19 changes: 14 additions & 5 deletions Signum.React/Scripts/Search.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { FindOptions, ColumnOption, ColumnOptionsMode, FilterOption, FilterOperation, FilterOptionParsed, FindOptionsParsed, OrderOption, OrderType, Pagination, PaginationMode, ResultTable, isFilterGroupOption, isFilterGroupOptionParsed, FilterConditionOptionParsed } from './FindOptions'
import { FindOptions, ColumnOption, ColumnOptionsMode, FilterOption, FilterOperation, FilterOptionParsed, FindOptionsParsed, OrderOption, OrderType, Pagination, PaginationMode, ResultTable, isFilterGroupOption, isFilterGroupOptionParsed, FilterConditionOptionParsed } from './FindOptions'
export { FindOptions, ColumnOption, ColumnOptionsMode, FilterOption, FilterOperation, FilterOptionParsed, FindOptionsParsed, OrderOption, OrderType, Pagination, PaginationMode, ResultTable };

import EntityLink, { EntityLinkProps } from './SearchControl/EntityLink'
Expand All @@ -14,13 +14,22 @@ import ValueSearchControl, { ValueSearchControlProps } from './SearchControl/Val
export { ValueSearchControl, ValueSearchControlProps };

import ValueSearchControlLine, { ValueSearchControlLineProps } from './SearchControl/ValueSearchControlLine'
import { QueryTokenString } from './Reflection';
export { ValueSearchControlLine, ValueSearchControlLineProps };

export function extractFilterValue(filters: FilterOptionParsed[], token: string, operation: FilterOperation): any {
var f = filters.filter(f => !isFilterGroupOptionParsed(f) && f.token!.fullKey == token && f.operation == operation).firstOrNull() as FilterConditionOptionParsed | undefined;
if (!f)
export function extractFilterValue(filters: FilterOptionParsed[], token: string | QueryTokenString<any>, operation: FilterOperation): any {

var f = extractFilter(filters, token, operation);

return f && f.value;
}

export function extractFilter(filters: FilterOptionParsed[], token: string | QueryTokenString<any>, operation: FilterOperation): FilterOptionParsed | null {
var f = filters.filter(f => !isFilterGroupOptionParsed(f) && f.token!.fullKey == token.toString() && f.operation == operation).firstOrNull() as FilterConditionOptionParsed | undefined;
if (!f) {
return null;
}

filters.remove(f);
return f.value;
return f;
}
6 changes: 3 additions & 3 deletions Signum.React/Scripts/SearchControl/SearchControlLoaded.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ export interface SearchControlLoadedProps {
avoidChangeUrl: boolean;
refreshKey: string | number | undefined;

simpleFilterBuilder?: (qd: QueryDescription, initialFilterOptions: FilterOptionParsed[]) => React.ReactElement<any> | undefined;
simpleFilterBuilder?: (qd: QueryDescription, initialFilterOptions: FilterOptionParsed[], search: () => void) => React.ReactElement<any> | undefined;
onCreate?: () => void;
onDoubleClick?: (e: React.MouseEvent<any>, row: ResultRow) => void;
onNavigated?: (lite: Lite<Entity>) => void;
Expand Down Expand Up @@ -124,8 +124,8 @@ export default class SearchControlLoaded extends React.Component<SearchControlLo
const qd = this.props.queryDescription;

const sfb = this.props.showSimpleFilterBuilder == false || fo.groupResults ? undefined :
this.props.simpleFilterBuilder ? this.props.simpleFilterBuilder(qd, fo.filterOptions) :
qs && qs.simpleFilterBuilder ? qs.simpleFilterBuilder(qd, fo.filterOptions) :
this.props.simpleFilterBuilder ? this.props.simpleFilterBuilder(qd, fo.filterOptions, () => this.doSearchPage1()) :
qs && qs.simpleFilterBuilder ? qs.simpleFilterBuilder(qd, fo.filterOptions, () => this.doSearchPage1()) :
undefined;

if (sfb) {
Expand Down

0 comments on commit 92f8c65

Please sign in to comment.