Static Filter implemented

This commit is contained in:
vaidankarswapnil 2021-08-03 11:37:23 +05:30
parent 8ec551f6e6
commit dc08ba740e
4 changed files with 58 additions and 48 deletions

View File

@ -106,14 +106,15 @@ export default class QueryBuilderViewModel {
}); });
} }
public setExample() { public setExample(pk: string, rk: string) {
var example1 = new QueryClauseViewModel( var example1 = new QueryClauseViewModel(
this, this,
"", "",
"PartitionKey", "PartitionKey",
this.edmTypes()[0], this.edmTypes()[0],
Constants.Operator.Equal, Constants.Operator.Equal,
this.tableEntityListViewModel.items()[0].PartitionKey._, // this.tableEntityListViewModel.items()[0].PartitionKey._,
pk,
false, false,
"", "",
"", "",
@ -127,7 +128,8 @@ export default class QueryBuilderViewModel {
"RowKey", "RowKey",
this.edmTypes()[0], this.edmTypes()[0],
Constants.Operator.Equal, Constants.Operator.Equal,
this.tableEntityListViewModel.items()[0].RowKey._, // this.tableEntityListViewModel.items()[0].RowKey._,
rk,
true, true,
"", "",
"", "",

View File

@ -8,7 +8,7 @@ import {
IStackTokens, IStackTokens,
Stack, Stack,
TextField, TextField,
TooltipHost TooltipHost,
} from "@fluentui/react"; } from "@fluentui/react";
import React, { FunctionComponent } from "react"; import React, { FunctionComponent } from "react";
import AddIcon from "../../../../images/Add.svg"; import AddIcon from "../../../../images/Add.svg";
@ -136,7 +136,7 @@ export const QueryTableEntityClause: FunctionComponent<IQueryTableEntityClausePr
/> />
) : ( ) : (
<TextField <TextField
id="entityValueId" // id="entityValueId"
autoFocus autoFocus
placeholder={entityValuePlaceHolder} placeholder={entityValuePlaceHolder}
value={entityValue} value={entityValue}

View File

@ -74,7 +74,7 @@ export interface IQueryTableRowsType {
entityTypeOptions: IOption[]; entityTypeOptions: IOption[];
opertionOptions: IOption[]; opertionOptions: IOption[];
timestampOptions: IOption[]; timestampOptions: IOption[];
id: number; id: string;
} }
export const opertionOptions = [ export const opertionOptions = [

View File

@ -128,11 +128,11 @@ class QueryTablesTabComponent extends Component<IQueryTablesTabComponentProps, I
public selection: Selection; public selection: Selection;
public options: IDropdownOption[] = []; public options: IDropdownOption[] = [];
public dropdownStyles: Partial<IDropdownStyles>; public dropdownStyles: Partial<IDropdownStyles>;
public allQueryTableRows: IQueryTableRowsType[];
constructor(props: IQueryTablesTabComponentProps) { constructor(props: IQueryTablesTabComponentProps) {
super(props); super(props);
this.columns = []; this.columns = [];
this.allQueryTableRows = [];
const columns: IColumn[] = [ const columns: IColumn[] = [
{ {
key: "column1", key: "column1",
@ -164,23 +164,9 @@ class QueryTablesTabComponent extends Component<IQueryTablesTabComponentProps, I
this.tableCommands = new TableCommands(this.container); this.tableCommands = new TableCommands(this.container);
this.tableDataClient = this.container.tableDataClient; this.tableDataClient = this.container.tableDataClient;
this.tableEntityListViewModel2(new TableEntityListViewModel(this.tableCommands, props.queryTablesTab)); this.tableEntityListViewModel2(new TableEntityListViewModel(this.tableCommands, props.queryTablesTab));
// const sampleQuerySubscription = this.tableEntityListViewModel2().items.subscribe(() => {
// if (this.tableEntityListViewModel2().items().length > 0 && userContext.apiType === "Tables") {
// // this.queryViewModel().queryBuilderViewModel().setExample();
// console.log(
// "🚀 ~ file: QueryTablesTab.tsx ~ line 55 ~ QueryTablesTab ~ sampleQuerySubscription ~ this.queryViewModel().queryBuilderViewModel().setExample()"
// // this.queryViewModel().queryBuilderViewModel().setExample()
// );
// }
// sampleQuerySubscription.dispose();
// });
this.tableEntityListViewModel1 = new TableEntityListViewModel(this.tableCommands, props.queryTablesTab); this.tableEntityListViewModel1 = new TableEntityListViewModel(this.tableCommands, props.queryTablesTab);
// this._queryViewModel = new QueryViewModel(this.props.queryTablesTab);
this.state = { this.state = {
tableEntityListViewModel: new TableEntityListViewModel(this.tableCommands, props.queryTablesTab), tableEntityListViewModel: new TableEntityListViewModel(this.tableCommands, props.queryTablesTab),
// tableEntityListViewModel.queryTablesTab : this.props.queryTablesTab
queryViewModel: new QueryViewModel(this.props.queryTablesTab), queryViewModel: new QueryViewModel(this.props.queryTablesTab),
queryText: "PartitionKey eq 'partionKey1'", queryText: "PartitionKey eq 'partionKey1'",
selectedQueryText: "", selectedQueryText: "",
@ -262,22 +248,14 @@ class QueryTablesTabComponent extends Component<IQueryTablesTabComponentProps, I
", tableEntityList > ", ", tableEntityList > ",
this.state.tableEntityListViewModel this.state.tableEntityListViewModel
); );
// const x = this.state.tableEntityListViewModel.items();
// console.log("🚀 ~ file: QueryTablesTabComponent.tsx ~ line 146 ~ QueryTablesTabComponent ~ constructor ~ x", x);
this.andLabel = this.state.queryViewModel.queryBuilderViewModel().andLabel; this.andLabel = this.state.queryViewModel.queryBuilderViewModel().andLabel;
this.actionLabel = this.state.queryViewModel.queryBuilderViewModel().actionLabel; this.actionLabel = this.state.queryViewModel.queryBuilderViewModel().actionLabel;
this.fieldLabel = this.state.queryViewModel.queryBuilderViewModel().fieldLabel; this.fieldLabel = this.state.queryViewModel.queryBuilderViewModel().fieldLabel;
this.dataTypeLabel = this.state.queryViewModel.queryBuilderViewModel().dataTypeLabel; this.dataTypeLabel = this.state.queryViewModel.queryBuilderViewModel().dataTypeLabel;
this.operatorLabel = this.state.queryViewModel.queryBuilderViewModel().operatorLabel; this.operatorLabel = this.state.queryViewModel.queryBuilderViewModel().operatorLabel;
this.valueLabel = this.state.queryViewModel.queryBuilderViewModel().valueLabel; this.valueLabel = this.state.queryViewModel.queryBuilderViewModel().valueLabel;
// console.log(
// "🚀 ~ file: QueryTablesTabComponent.tsx ~ line 232 ~ QueryTablesTabComponent ~ constructor ~ this.state.queryViewModel.queryBuilderViewModel().operators",
// this.state.queryViewModel.queryBuilderViewModel().operators()
// );
useCommandBar.getState().setContextButtons(this.getTabsButtons()); useCommandBar.getState().setContextButtons(this.getTabsButtons());
// this.test();
this.state.queryViewModel this.state.queryViewModel
.queryBuilderViewModel() .queryBuilderViewModel()
.operators() .operators()
@ -287,18 +265,6 @@ class QueryTablesTabComponent extends Component<IQueryTablesTabComponentProps, I
text: operator, text: operator,
}); });
}); });
// this.options = [
// { key: "fruitsHeader", text: "Fruits", itemType: DropdownMenuItemType.Header },
// { key: "apple", text: "Apple" },
// { key: "banana", text: "Banana" },
// { key: "orange", text: "Orange", disabled: true },
// { key: "grape", text: "Grape" },
// { key: "divider_1", text: "-", itemType: DropdownMenuItemType.Divider },
// { key: "vegetablesHeader", text: "Vegetables", itemType: DropdownMenuItemType.Header },
// { key: "broccoli", text: "Broccoli" },
// { key: "carrot", text: "Carrot" },
// { key: "lettuce", text: "Lettuce" },
// ];
this.dropdownStyles = { this.dropdownStyles = {
dropdown: { width: 300 }, dropdown: { width: 300 },
@ -320,7 +286,6 @@ class QueryTablesTabComponent extends Component<IQueryTablesTabComponentProps, I
// console.log("items > ", this.state.tableEntityListViewModel.cache.data); // console.log("items > ", this.state.tableEntityListViewModel.cache.data);
// console.log("items > ", this.state.tableEntityListViewModel.items()); // console.log("items > ", this.state.tableEntityListViewModel.items());
// console.log("items1 > ", this.state.tableEntityListViewModel.headers); // console.log("items1 > ", this.state.tableEntityListViewModel.headers);
// console.log("items1 > simple > ", this.tableEntityListViewModel1.items1);
this.columns = []; this.columns = [];
this.state.tableEntityListViewModel.headers.map((header) => { this.state.tableEntityListViewModel.headers.map((header) => {
this.columns.push({ this.columns.push({
@ -349,9 +314,40 @@ class QueryTablesTabComponent extends Component<IQueryTablesTabComponentProps, I
// ); // );
}, 1000); }, 1000);
this.allItems = this.generateDetailsList(); this.allItems = this.generateDetailsList();
this.state.queryViewModel.queryBuilderViewModel().queryClauses.children.map((clause) => {
// clause._id
this.allQueryTableRows.push({
id: clause._id,
isQueryTableEntityChecked: false,
selectedOperator: clause.operator(),
opertorOptions,
selectedField: clause.field(),
fieldOptions,
entityTypeOptions,
selectedEntityType: clause.type(),
opertionOptions,
selectedOperation: clause.and_or(),
entityValue: clause.value(),
isTimeStampSelected: false,
timestampOptions,
selectedTimestamp: "Last hour",
});
console.log(
"🚀 ~ file: QueryTablesTabComponent.tsx ~ line 336 ~ QueryTablesTabComponent ~ this.state.queryViewModel.queryBuilderViewModel ~ clause._id",
clause,
", ",
clause._id
);
});
console.log(
"🚀 ~ file: QueryTablesTabComponent.tsx ~ line 319 ~ QueryTablesTabComponent ~ this.state.queryViewModel.queryBuilderViewModel ~ this.allQueryTableRows",
this.allQueryTableRows
);
this.setState({ this.setState({
items: this.allItems, items: this.allItems,
queryTableRows: this.allQueryTableRows,
}); });
// this.state.queryViewModel.queryBuilderViewModel().setExample();
}, 5000); }, 5000);
} }
@ -577,6 +573,10 @@ class QueryTablesTabComponent extends Component<IQueryTablesTabComponentProps, I
// const newColumns = []; // const newColumns = [];
// const compare = ["PartitionKey", "RowKey", "Timestamp", "_rid", "_self", "_etag", "_attachments"]; // const compare = ["PartitionKey", "RowKey", "Timestamp", "_rid", "_self", "_etag", "_attachments"];
console.log(
"🚀 ~ file: QueryTablesTabComponent.tsx ~ line 582 ~ QueryTablesTabComponent ~ this.state.tableEntityListViewModel.items ~ this.state.tableEntityListViewModel.items()",
this.state.tableEntityListViewModel.items()
);
this.state.tableEntityListViewModel.items().map((item) => { this.state.tableEntityListViewModel.items().map((item) => {
// console.log("generateDetailsList > ", item["PartitionKey"]._); // console.log("generateDetailsList > ", item["PartitionKey"]._);
this.columns.map((col) => { this.columns.map((col) => {
@ -591,10 +591,17 @@ class QueryTablesTabComponent extends Component<IQueryTablesTabComponentProps, I
}); });
items.push(obj); items.push(obj);
}); });
// console.log( this.state.queryViewModel
// "🚀 ~ file: QueryTablesTabComponent.tsx ~ line 383 ~ QueryTablesTabComponent ~ this.state.tableEntityListViewModel.items ~ items", .queryBuilderViewModel()
// items .setExample(
// ); this.state.tableEntityListViewModel.items()[0].PartitionKey._,
this.state.tableEntityListViewModel.items()[0].RowKey._
);
console.log(
"🚀 ~ file: QueryTablesTabComponent.tsx ~ line 383 ~ QueryTablesTabComponent ~ this.state.tableEntityListViewModel.items ~ items",
this.state.queryViewModel.queryBuilderViewModel().queryClauses.children
);
return items; return items;
} }
@ -656,7 +663,8 @@ class QueryTablesTabComponent extends Component<IQueryTablesTabComponentProps, I
isQueryTableEntityChecked: false, isQueryTableEntityChecked: false,
selectedOperator: "=", selectedOperator: "=",
opertorOptions, opertorOptions,
id: cloneQueryTableRows.length + 1, // id: cloneQueryTableRows.length + 1,
id: "newRow",
selectedField: "PartitionKey", selectedField: "PartitionKey",
fieldOptions, fieldOptions,
entityTypeOptions, entityTypeOptions,