@journeyapps-labs/reactor-mod-data-browser 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/@types/core/SchemaModelDefinition.d.ts +4 -1
- package/dist/@types/core/query/Page.d.ts +2 -0
- package/dist/@types/core/query/SimpleQuery.d.ts +3 -1
- package/dist/@types/core/query/filters.d.ts +17 -0
- package/dist/@types/core/query/widgets/BelongsToDisplayWidget.d.ts +7 -2
- package/dist/@types/core/query/widgets/ColumnDisplayWidget.d.ts +5 -0
- package/dist/@types/core/query/widgets/SmartColumnWidget.d.ts +9 -0
- package/dist/@types/core/query/widgets/SmartFilterWidget.d.ts +9 -0
- package/dist/DataBrowserModule.js +1 -1
- package/dist/DataBrowserModule.js.map +1 -1
- package/dist/core/SchemaModelDefinition.js +24 -9
- package/dist/core/SchemaModelDefinition.js.map +1 -1
- package/dist/core/query/Page.js +5 -1
- package/dist/core/query/Page.js.map +1 -1
- package/dist/core/query/SimpleQuery.js +36 -9
- package/dist/core/query/SimpleQuery.js.map +1 -1
- package/dist/core/query/filters.js +17 -0
- package/dist/core/query/filters.js.map +1 -0
- package/dist/core/query/widgets/BelongsToDisplayWidget.js +48 -11
- package/dist/core/query/widgets/BelongsToDisplayWidget.js.map +1 -1
- package/dist/core/query/widgets/CellDisplayWidget.js +8 -1
- package/dist/core/query/widgets/CellDisplayWidget.js.map +1 -1
- package/dist/core/query/widgets/ColumnDisplayWidget.js +22 -0
- package/dist/core/query/widgets/ColumnDisplayWidget.js.map +1 -0
- package/dist/core/query/widgets/SmartColumnWidget.js +19 -0
- package/dist/core/query/widgets/SmartColumnWidget.js.map +1 -0
- package/dist/core/query/widgets/SmartFilterWidget.js +56 -0
- package/dist/core/query/widgets/SmartFilterWidget.js.map +1 -0
- package/dist/panels/query/QueryPanelWidget.js +6 -3
- package/dist/panels/query/QueryPanelWidget.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist-module/bundle.js +33 -6
- package/dist-module/bundle.js.map +1 -1
- package/package.json +1 -1
- package/src/DataBrowserModule.ts +1 -1
- package/src/core/SchemaModelDefinition.ts +24 -10
- package/src/core/query/Page.ts +9 -1
- package/src/core/query/SimpleQuery.tsx +49 -8
- package/src/core/query/filters.ts +30 -0
- package/src/core/query/widgets/BelongsToDisplayWidget.tsx +75 -16
- package/src/core/query/widgets/CellDisplayWidget.tsx +9 -1
- package/src/core/query/widgets/ColumnDisplayWidget.tsx +27 -0
- package/src/core/query/widgets/SmartColumnWidget.tsx +30 -0
- package/src/core/query/widgets/SmartFilterWidget.tsx +80 -0
- package/src/panels/query/QueryPanelWidget.tsx +6 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @journeyapps-labs/reactor-mod-data-browser
|
|
2
2
|
|
|
3
|
+
## 2.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 12e5f6a: - Add support for filters
|
|
8
|
+
- Fix relationship belongs_to loading
|
|
9
|
+
- Display column headings with width based on heurestics
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 687468b: - Improve relationship loading
|
|
14
|
+
- Dont block kernel init with connection store
|
|
15
|
+
|
|
3
16
|
## 2.1.0
|
|
4
17
|
|
|
5
18
|
### Minor Changes
|
|
@@ -9,6 +9,9 @@ export interface SchemaModelDefinitionListener {
|
|
|
9
9
|
resolved: (event: {
|
|
10
10
|
object: SchemaModelObject;
|
|
11
11
|
}) => any;
|
|
12
|
+
failed: (event: {
|
|
13
|
+
object_id: string;
|
|
14
|
+
}) => any;
|
|
12
15
|
}
|
|
13
16
|
export interface SchemaModelDefinitionOptions {
|
|
14
17
|
connection: AbstractConnection;
|
|
@@ -20,7 +23,7 @@ export declare class SchemaModelDefinition extends BaseObserver<SchemaModelDefin
|
|
|
20
23
|
queue: QueueObject<string>;
|
|
21
24
|
enqueued: Set<string>;
|
|
22
25
|
constructor(options: SchemaModelDefinitionOptions);
|
|
23
|
-
resolve(id: string): Promise<SchemaModelObject>;
|
|
26
|
+
resolve(id: string): Promise<SchemaModelObject | null>;
|
|
24
27
|
get key(): string;
|
|
25
28
|
dispose(): void;
|
|
26
29
|
patch(data: ObjectType): void;
|
|
@@ -2,6 +2,7 @@ import { SchemaModelObject } from '../SchemaModelObject';
|
|
|
2
2
|
import { TableRow } from '@journeyapps-labs/reactor-mod';
|
|
3
3
|
import { Collection, DatabaseObject } from '@journeyapps/db';
|
|
4
4
|
import { SchemaModelDefinition } from '../SchemaModelDefinition';
|
|
5
|
+
import { AbstractFilter } from './filters';
|
|
5
6
|
export interface PageRow extends TableRow {
|
|
6
7
|
model: SchemaModelObject;
|
|
7
8
|
definition: SchemaModelDefinition;
|
|
@@ -12,6 +13,7 @@ export interface PageOptions {
|
|
|
12
13
|
limit: number;
|
|
13
14
|
definition: SchemaModelDefinition;
|
|
14
15
|
index: number;
|
|
16
|
+
filters: AbstractFilter[];
|
|
15
17
|
}
|
|
16
18
|
export declare class Page {
|
|
17
19
|
protected options: PageOptions;
|
|
@@ -2,9 +2,10 @@ import { AbstractQuery, AbstractQueryEncoded } from './AbstractQuery';
|
|
|
2
2
|
import { TableColumn } from '@journeyapps-labs/reactor-mod';
|
|
3
3
|
import { ConnectionStore } from '../../stores/ConnectionStore';
|
|
4
4
|
import * as db from '@journeyapps/db';
|
|
5
|
-
import { Promise } from '@journeyapps/db';
|
|
5
|
+
import { Promise, Variable } from '@journeyapps/db';
|
|
6
6
|
import { Page } from './Page';
|
|
7
7
|
import { SchemaModelDefinition } from '../SchemaModelDefinition';
|
|
8
|
+
import { SimpleFilter } from './filters';
|
|
8
9
|
export interface SimpleQueryOptions {
|
|
9
10
|
definition?: SchemaModelDefinition;
|
|
10
11
|
limit?: number;
|
|
@@ -18,6 +19,7 @@ export declare class SimpleQuery extends AbstractQuery<SimpleQueryEncoded> {
|
|
|
18
19
|
accessor connStore: ConnectionStore;
|
|
19
20
|
accessor _totalPages: number;
|
|
20
21
|
accessor _pages: Page[];
|
|
22
|
+
simple_filters: Map<Variable, SimpleFilter>;
|
|
21
23
|
constructor(options?: SimpleQueryOptions);
|
|
22
24
|
getCollection(): globalThis.Promise<db.database.Collection<db.database.DatabaseObject>>;
|
|
23
25
|
load(): globalThis.Promise<void>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Query, Variable } from '@journeyapps/db';
|
|
2
|
+
export declare abstract class AbstractFilter {
|
|
3
|
+
abstract augment(query: Query): any;
|
|
4
|
+
}
|
|
5
|
+
export declare enum Condition {
|
|
6
|
+
EQUALS = "="
|
|
7
|
+
}
|
|
8
|
+
export interface Statement {
|
|
9
|
+
condition: Condition;
|
|
10
|
+
arg: any;
|
|
11
|
+
}
|
|
12
|
+
export declare class SimpleFilter extends AbstractFilter {
|
|
13
|
+
variable: Variable;
|
|
14
|
+
statements: Statement[];
|
|
15
|
+
constructor(variable: Variable, statements: Statement[]);
|
|
16
|
+
augment(query: Query): Query<import("@journeyapps/db").DatabaseObject>;
|
|
17
|
+
}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { SchemaModelObject } from '../../SchemaModelObject';
|
|
3
3
|
import { AbstractConnection } from '../../AbstractConnection';
|
|
4
|
+
import { Relationship } from '@journeyapps/parser-schema';
|
|
4
5
|
export interface BelongsToDisplayWidgetProps {
|
|
5
|
-
|
|
6
|
+
relationship: Relationship;
|
|
6
7
|
id: string;
|
|
7
8
|
connection: AbstractConnection;
|
|
9
|
+
open: (object: SchemaModelObject) => any;
|
|
8
10
|
}
|
|
9
11
|
export declare const BelongsToDisplayWidget: React.FC<BelongsToDisplayWidgetProps>;
|
|
12
|
+
export declare const BelongsToStringWidget: React.FC<{
|
|
13
|
+
model: SchemaModelObject;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Variable } from '@journeyapps/db';
|
|
3
|
+
import { SimpleFilter } from '../filters';
|
|
4
|
+
export interface SmartColumnWidgetProps {
|
|
5
|
+
variable: Variable;
|
|
6
|
+
filter?: SimpleFilter;
|
|
7
|
+
filterChanged: (filter: SimpleFilter | null) => any;
|
|
8
|
+
}
|
|
9
|
+
export declare const SmartColumnWidget: React.FC<SmartColumnWidgetProps>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Variable } from '@journeyapps/db';
|
|
3
|
+
import { SimpleFilter } from '../filters';
|
|
4
|
+
export interface SmartFilterWidgetProps {
|
|
5
|
+
variable: Variable;
|
|
6
|
+
filter?: SimpleFilter;
|
|
7
|
+
filterChanged: (filter: SimpleFilter | null) => any;
|
|
8
|
+
}
|
|
9
|
+
export declare const SmartFilterWidget: React.FC<SmartFilterWidgetProps>;
|
|
@@ -39,7 +39,7 @@ export class DataBrowserModule extends AbstractReactorModule {
|
|
|
39
39
|
workspaceStore.registerFactory(new ModelPanelFactory());
|
|
40
40
|
}
|
|
41
41
|
async init(ioc) {
|
|
42
|
-
|
|
42
|
+
ioc.get(ConnectionStore).init();
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
//# sourceMappingURL=DataBrowserModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataBrowserModule.js","sourceRoot":"","sources":["../src/DataBrowserModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE9F,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,qCAAqC,EAAE,MAAM,kDAAkD,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,MAAM,OAAO,iBAAkB,SAAQ,qBAAqB;IAC1D;QACE,KAAK,CAAC;YACJ,IAAI,EAAE,cAAc;SACrB,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,GAAc;QACrB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE/C,IAAI,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAE5C,eAAe,CAAC,yBAAyB,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAEzE,MAAM,CAAC,cAAc,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,cAAc,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,cAAc,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,cAAc,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAEnD,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAElD,MAAM,CAAC,kBAAkB,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,kBAAkB,CAAC,IAAI,iCAAiC,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,kBAAkB,CAAC,IAAI,qCAAqC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,kBAAkB,CAAC,IAAI,iCAAiC,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,kBAAkB,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAEvD,cAAc,CAAC,eAAe,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QACxD,cAAc,CAAC,eAAe,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAc;QACvB,
|
|
1
|
+
{"version":3,"file":"DataBrowserModule.js","sourceRoot":"","sources":["../src/DataBrowserModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE9F,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,qCAAqC,EAAE,MAAM,kDAAkD,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,MAAM,OAAO,iBAAkB,SAAQ,qBAAqB;IAC1D;QACE,KAAK,CAAC;YACJ,IAAI,EAAE,cAAc;SACrB,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,GAAc;QACrB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE/C,IAAI,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAE5C,eAAe,CAAC,yBAAyB,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAEzE,MAAM,CAAC,cAAc,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,cAAc,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,cAAc,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,cAAc,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAEnD,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAElD,MAAM,CAAC,kBAAkB,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,kBAAkB,CAAC,IAAI,iCAAiC,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,kBAAkB,CAAC,IAAI,qCAAqC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,kBAAkB,CAAC,IAAI,iCAAiC,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,kBAAkB,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAEvD,cAAc,CAAC,eAAe,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QACxD,cAAc,CAAC,eAAe,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAc;QACvB,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -9,15 +9,24 @@ export class SchemaModelDefinition extends BaseObserver {
|
|
|
9
9
|
this.enqueued = new Set();
|
|
10
10
|
this.queue = queue(async (id) => {
|
|
11
11
|
let collection = await this.getCollection();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
try {
|
|
13
|
+
let model = await collection.first(id);
|
|
14
|
+
if (model) {
|
|
15
|
+
let object = new SchemaModelObject({
|
|
16
|
+
model,
|
|
17
|
+
definition: this
|
|
18
|
+
});
|
|
19
|
+
this.cache.set(id, object);
|
|
20
|
+
this.enqueued.delete(id);
|
|
21
|
+
this.iterateListeners((cb) => { var _a; return (_a = cb.resolved) === null || _a === void 0 ? void 0 : _a.call(cb, { object }); });
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.iterateListeners((cb) => { var _a; return (_a = cb.failed) === null || _a === void 0 ? void 0 : _a.call(cb, { object_id: id }); });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (ex) {
|
|
28
|
+
this.iterateListeners((cb) => { var _a; return (_a = cb.failed) === null || _a === void 0 ? void 0 : _a.call(cb, { object_id: id }); });
|
|
29
|
+
throw ex;
|
|
21
30
|
}
|
|
22
31
|
}, 6);
|
|
23
32
|
}
|
|
@@ -36,6 +45,12 @@ export class SchemaModelDefinition extends BaseObserver {
|
|
|
36
45
|
l1();
|
|
37
46
|
resolve(object);
|
|
38
47
|
}
|
|
48
|
+
},
|
|
49
|
+
failed: ({ object_id }) => {
|
|
50
|
+
if (object_id === id) {
|
|
51
|
+
l1();
|
|
52
|
+
resolve(null);
|
|
53
|
+
}
|
|
39
54
|
}
|
|
40
55
|
});
|
|
41
56
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaModelDefinition.js","sourceRoot":"","sources":["../../src/core/SchemaModelDefinition.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAe,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SchemaModelDefinition.js","sourceRoot":"","sources":["../../src/core/SchemaModelDefinition.ts"],"names":[],"mappings":"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"}
|
package/dist/core/query/Page.js
CHANGED
|
@@ -29,7 +29,11 @@ let Page = (() => {
|
|
|
29
29
|
async load() {
|
|
30
30
|
this.loading = true;
|
|
31
31
|
let collection = await this.options.collection();
|
|
32
|
-
let
|
|
32
|
+
let query = collection.all();
|
|
33
|
+
this.options.filters.forEach((f) => {
|
|
34
|
+
query = f.augment(query);
|
|
35
|
+
});
|
|
36
|
+
let models = await query.limit(this.options.limit).skip(this.options.offset).toArray();
|
|
33
37
|
this.models = models.map((m) => {
|
|
34
38
|
return new SchemaModelObject({
|
|
35
39
|
definition: this.options.definition,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../src/core/query/Page.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../src/core/query/Page.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;IAkBrB,IAAI;;;;;;;;sBAAJ,IAAI;YAEf,IAAS,MAAM,+EAAsB;YAArC,IAAS,MAAM,oFAAsB;YAGrC,IAAS,OAAO,gFAAU;YAA1B,IAAS,OAAO,qFAAU;YAE1B,YAAsB,OAAoB;gBAApB,YAAO,GAAP,OAAO,CAAa;gBALjC,+FAA4B;gBAG5B,uJAAiB;;gBAEJ,YAAO,GAAP,OAAO,CAAa;gBACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;aAClB;YAED,IAAI,KAAK;gBACP,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,CAAC;YAED,KAAK,CAAC,IAAI;gBACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACjD,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;gBAE7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACjC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBAEH,IAAI,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;gBACvF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC7B,OAAO,IAAI,iBAAiB,CAAC;wBAC3B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;wBACnC,KAAK,EAAE,CAAC;qBACT,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC;YAED,MAAM;gBACJ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3B,OAAO;wBACL,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE;wBACf,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;wBACnC,KAAK,EAAE,CAAC;qBACT,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;;;;;;kCA3CA,UAAU;mCAGV,UAAU;YAFX,qKAAS,MAAM,6BAAN,MAAM,uFAAsB;YAGrC,wKAAS,OAAO,6BAAP,OAAO,yFAAU;;;;;SALf,IAAI"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { __classPrivateFieldGet, __classPrivateFieldSet, __esDecorate, __runInitializers } from "tslib";
|
|
2
2
|
import { AbstractQuery } from './AbstractQuery';
|
|
3
|
-
import { inject } from '@journeyapps-labs/reactor-mod';
|
|
3
|
+
import { ActionSource, inject } from '@journeyapps-labs/reactor-mod';
|
|
4
4
|
import { ConnectionStore } from '../../stores/ConnectionStore';
|
|
5
5
|
import { Page } from './Page';
|
|
6
6
|
import * as _ from 'lodash';
|
|
7
7
|
import * as React from 'react';
|
|
8
|
-
import { observable } from 'mobx';
|
|
8
|
+
import { action, observable } from 'mobx';
|
|
9
9
|
import { CellDisplayWidget } from './widgets/CellDisplayWidget';
|
|
10
10
|
import { BelongsToDisplayWidget } from './widgets/BelongsToDisplayWidget';
|
|
11
|
+
import { EditSchemaModelAction } from '../../actions/schema-model/EditSchemaModelAction';
|
|
12
|
+
import { SmartColumnWidget } from './widgets/SmartColumnWidget';
|
|
11
13
|
let SimpleQuery = (() => {
|
|
12
14
|
var _a, _SimpleQuery_connStore_accessor_storage, _SimpleQuery__totalPages_accessor_storage, _SimpleQuery__pages_accessor_storage;
|
|
13
15
|
let _classSuper = AbstractQuery;
|
|
16
|
+
let _instanceExtraInitializers = [];
|
|
14
17
|
let _connStore_decorators;
|
|
15
18
|
let _connStore_initializers = [];
|
|
16
19
|
let _connStore_extraInitializers = [];
|
|
@@ -20,6 +23,7 @@ let SimpleQuery = (() => {
|
|
|
20
23
|
let __pages_decorators;
|
|
21
24
|
let __pages_initializers = [];
|
|
22
25
|
let __pages_extraInitializers = [];
|
|
26
|
+
let _load_decorators;
|
|
23
27
|
return _a = class SimpleQuery extends _classSuper {
|
|
24
28
|
get connStore() { return __classPrivateFieldGet(this, _SimpleQuery_connStore_accessor_storage, "f"); }
|
|
25
29
|
set connStore(value) { __classPrivateFieldSet(this, _SimpleQuery_connStore_accessor_storage, value, "f"); }
|
|
@@ -30,22 +34,27 @@ let SimpleQuery = (() => {
|
|
|
30
34
|
constructor(options = {}) {
|
|
31
35
|
var _b;
|
|
32
36
|
super('simple', (_b = options.definition) === null || _b === void 0 ? void 0 : _b.connection);
|
|
33
|
-
this.options = options;
|
|
37
|
+
this.options = (__runInitializers(this, _instanceExtraInitializers), options);
|
|
34
38
|
_SimpleQuery_connStore_accessor_storage.set(this, __runInitializers(this, _connStore_initializers, void 0));
|
|
35
39
|
_SimpleQuery__totalPages_accessor_storage.set(this, (__runInitializers(this, _connStore_extraInitializers), __runInitializers(this, __totalPages_initializers, void 0)));
|
|
36
40
|
_SimpleQuery__pages_accessor_storage.set(this, (__runInitializers(this, __totalPages_extraInitializers), __runInitializers(this, __pages_initializers, void 0)));
|
|
37
|
-
__runInitializers(this, __pages_extraInitializers);
|
|
38
|
-
this.options = options;
|
|
41
|
+
this.simple_filters = __runInitializers(this, __pages_extraInitializers);
|
|
39
42
|
this._totalPages = 0;
|
|
40
43
|
this._pages = [];
|
|
44
|
+
this.simple_filters = new Map();
|
|
41
45
|
}
|
|
42
46
|
async getCollection() {
|
|
43
47
|
let connection = await this.connection.getConnection();
|
|
44
48
|
return connection[this.options.definition.definition.name];
|
|
45
49
|
}
|
|
46
50
|
async load() {
|
|
51
|
+
this._pages = [];
|
|
47
52
|
let collection = await this.getCollection();
|
|
48
|
-
let
|
|
53
|
+
let query = collection.all();
|
|
54
|
+
this.simple_filters.forEach((f) => {
|
|
55
|
+
query = f.augment(query);
|
|
56
|
+
});
|
|
57
|
+
let results = await collection.adapter.doApiQuery(query);
|
|
49
58
|
this._totalPages = Math.ceil(results.total / this.options.limit);
|
|
50
59
|
}
|
|
51
60
|
getPage(number) {
|
|
@@ -55,7 +64,8 @@ let SimpleQuery = (() => {
|
|
|
55
64
|
limit: this.options.limit,
|
|
56
65
|
collection: () => this.getCollection(),
|
|
57
66
|
definition: this.options.definition,
|
|
58
|
-
index: number
|
|
67
|
+
index: number,
|
|
68
|
+
filters: Array.from(this.simple_filters.values())
|
|
59
69
|
});
|
|
60
70
|
page.load();
|
|
61
71
|
this._pages[number] = page;
|
|
@@ -88,14 +98,29 @@ let SimpleQuery = (() => {
|
|
|
88
98
|
noWrap: true,
|
|
89
99
|
shrink: true,
|
|
90
100
|
accessor: (cell, row) => {
|
|
91
|
-
return React.createElement(BelongsToDisplayWidget, {
|
|
101
|
+
return (React.createElement(BelongsToDisplayWidget, { open: (object) => {
|
|
102
|
+
EditSchemaModelAction.get().fireAction({
|
|
103
|
+
source: ActionSource.BUTTON,
|
|
104
|
+
targetEntity: object
|
|
105
|
+
});
|
|
106
|
+
}, relationship: row.model.definition.definition.belongsTo[a.relationship], connection: this.connection, id: row.model.model[a.name] }));
|
|
92
107
|
}
|
|
93
108
|
};
|
|
94
109
|
}),
|
|
95
110
|
..._.map(this.options.definition.definition.attributes, (a) => {
|
|
111
|
+
// @ts-ignore FIXME, remove when `display` supports JSX.Element as a type
|
|
96
112
|
return {
|
|
97
113
|
key: a.name,
|
|
98
|
-
display: a.
|
|
114
|
+
display: (React.createElement(SmartColumnWidget, { variable: a, filter: this.simple_filters.get(a), filterChanged: (filter) => {
|
|
115
|
+
if (!filter) {
|
|
116
|
+
this.simple_filters.delete(a);
|
|
117
|
+
this.load();
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
this.simple_filters.set(a, filter);
|
|
121
|
+
this.load();
|
|
122
|
+
}
|
|
123
|
+
} })),
|
|
99
124
|
noWrap: true,
|
|
100
125
|
shrink: true,
|
|
101
126
|
accessor: (cell, row) => {
|
|
@@ -118,9 +143,11 @@ let SimpleQuery = (() => {
|
|
|
118
143
|
_connStore_decorators = [inject(ConnectionStore)];
|
|
119
144
|
__totalPages_decorators = [observable];
|
|
120
145
|
__pages_decorators = [observable];
|
|
146
|
+
_load_decorators = [action];
|
|
121
147
|
__esDecorate(_a, null, _connStore_decorators, { kind: "accessor", name: "connStore", static: false, private: false, access: { has: obj => "connStore" in obj, get: obj => obj.connStore, set: (obj, value) => { obj.connStore = value; } }, metadata: _metadata }, _connStore_initializers, _connStore_extraInitializers);
|
|
122
148
|
__esDecorate(_a, null, __totalPages_decorators, { kind: "accessor", name: "_totalPages", static: false, private: false, access: { has: obj => "_totalPages" in obj, get: obj => obj._totalPages, set: (obj, value) => { obj._totalPages = value; } }, metadata: _metadata }, __totalPages_initializers, __totalPages_extraInitializers);
|
|
123
149
|
__esDecorate(_a, null, __pages_decorators, { kind: "accessor", name: "_pages", static: false, private: false, access: { has: obj => "_pages" in obj, get: obj => obj._pages, set: (obj, value) => { obj._pages = value; } }, metadata: _metadata }, __pages_initializers, __pages_extraInitializers);
|
|
150
|
+
__esDecorate(_a, null, _load_decorators, { kind: "method", name: "load", static: false, private: false, access: { has: obj => "load" in obj, get: obj => obj.load }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
124
151
|
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
125
152
|
})(),
|
|
126
153
|
_a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleQuery.js","sourceRoot":"","sources":["../../../src/core/query/SimpleQuery.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAe,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"SimpleQuery.js","sourceRoot":"","sources":["../../../src/core/query/SimpleQuery.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export class AbstractFilter {
|
|
2
|
+
}
|
|
3
|
+
export var Condition;
|
|
4
|
+
(function (Condition) {
|
|
5
|
+
Condition["EQUALS"] = "=";
|
|
6
|
+
})(Condition || (Condition = {}));
|
|
7
|
+
export class SimpleFilter extends AbstractFilter {
|
|
8
|
+
constructor(variable, statements) {
|
|
9
|
+
super();
|
|
10
|
+
this.variable = variable;
|
|
11
|
+
this.statements = statements;
|
|
12
|
+
}
|
|
13
|
+
augment(query) {
|
|
14
|
+
return query.where(this.statements.map((s) => `${this.variable.name} ${s.condition} ?`).join(' or '), ...this.statements.map((s) => s.arg));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/core/query/filters.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,cAAc;CAEnC;AAED,MAAM,CAAN,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,yBAAY,CAAA;AACd,CAAC,EAFW,SAAS,KAAT,SAAS,QAEpB;AAOD,MAAM,OAAO,YAAa,SAAQ,cAAc;IAC9C,YACS,QAAkB,EAClB,UAAuB;QAE9B,KAAK,EAAE,CAAC;QAHD,aAAQ,GAAR,QAAQ,CAAU;QAClB,eAAU,GAAV,UAAU,CAAa;IAGhC,CAAC;IAED,OAAO,CAAC,KAAY;QAClB,OAAO,KAAK,CAAC,KAAK,CAChB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EACjF,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACrC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,33 +1,70 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
|
-
import styled from '@
|
|
3
|
+
import { IconWidget, styled, TableButtonWidget } from '@journeyapps-labs/reactor-mod';
|
|
4
|
+
import { copyTextToClipboard } from '@journeyapps-labs/lib-reactor-utils';
|
|
4
5
|
export const BelongsToDisplayWidget = (props) => {
|
|
5
6
|
const [object, setObject] = useState(null);
|
|
6
|
-
const [
|
|
7
|
+
const [broken, setBroken] = useState(false);
|
|
7
8
|
useEffect(() => {
|
|
8
9
|
if (!props.id) {
|
|
9
10
|
return;
|
|
10
11
|
}
|
|
11
|
-
props.connection.waitForSchemaModelDefinitionByName(props.
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
props.connection.waitForSchemaModelDefinitionByName(props.relationship.foreignType.name).then((conn) => conn.resolve(props.id).then((obj) => {
|
|
13
|
+
if (!obj) {
|
|
14
|
+
setBroken(true);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
14
17
|
setObject(obj);
|
|
15
|
-
return obj.displayValue();
|
|
16
|
-
})
|
|
17
|
-
.then((value) => {
|
|
18
|
-
setDisplay(value);
|
|
19
18
|
}));
|
|
20
19
|
}, [props.id]);
|
|
20
|
+
if (broken) {
|
|
21
|
+
return (React.createElement(S.Warning, { tooltip: "Copy ID", label: `${props.id} not found`, icon: "warning", action: () => {
|
|
22
|
+
copyTextToClipboard(props.id);
|
|
23
|
+
} }));
|
|
24
|
+
}
|
|
21
25
|
if (!props.id) {
|
|
22
26
|
return React.createElement(S.Empty, null, "Not set");
|
|
23
27
|
}
|
|
24
|
-
|
|
28
|
+
if (!object) {
|
|
29
|
+
return React.createElement(S.Spinner, { spin: true, icon: "spinner" });
|
|
30
|
+
}
|
|
31
|
+
return (React.createElement(S.Container, null,
|
|
32
|
+
React.createElement(BelongsToStringWidget, { model: object }),
|
|
33
|
+
React.createElement(TableButtonWidget, { icon: "arrow-right", action: () => {
|
|
34
|
+
props.open(object);
|
|
35
|
+
} })));
|
|
36
|
+
};
|
|
37
|
+
export const BelongsToStringWidget = ({ model }) => {
|
|
38
|
+
const [display, setDisplay] = useState();
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
model.displayValue().then((value) => {
|
|
41
|
+
setDisplay(value);
|
|
42
|
+
});
|
|
43
|
+
}, []);
|
|
44
|
+
if (!display) {
|
|
45
|
+
return React.createElement(S.Spinner, { spin: true, icon: "spinner" });
|
|
46
|
+
}
|
|
47
|
+
return React.createElement("span", null, display);
|
|
25
48
|
};
|
|
26
49
|
var S;
|
|
27
50
|
(function (S) {
|
|
51
|
+
S.Warning = styled(TableButtonWidget) `
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-direction: row;
|
|
54
|
+
`;
|
|
28
55
|
S.Empty = styled.div `
|
|
29
56
|
opacity: 0.2;
|
|
30
57
|
`;
|
|
31
|
-
S.
|
|
58
|
+
S.Spinner = styled(IconWidget) `
|
|
59
|
+
opacity: 0.2;
|
|
60
|
+
`;
|
|
61
|
+
S.Container = styled.div `
|
|
62
|
+
display: flex;
|
|
63
|
+
flex-direction: row;
|
|
64
|
+
column-gap: 5px;
|
|
65
|
+
align-items: center;
|
|
66
|
+
justify-content: space-between;
|
|
67
|
+
flex-grow: 1;
|
|
68
|
+
`;
|
|
32
69
|
})(S || (S = {}));
|
|
33
70
|
//# sourceMappingURL=BelongsToDisplayWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BelongsToDisplayWidget.js","sourceRoot":"","sources":["../../../../src/core/query/widgets/BelongsToDisplayWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BelongsToDisplayWidget.js","sourceRoot":"","sources":["../../../../src/core/query/widgets/BelongsToDisplayWidget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,13 @@ var S;
|
|
|
23
23
|
column-gap: 2px;
|
|
24
24
|
row-gap: 2px;
|
|
25
25
|
`;
|
|
26
|
+
S.Max = styled.div `
|
|
27
|
+
max-width: 500px;
|
|
28
|
+
white-space: pre;
|
|
29
|
+
display: inline;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
text-overflow: ellipsis;
|
|
32
|
+
`;
|
|
26
33
|
})(S || (S = {}));
|
|
27
34
|
const MAX_NUMBER_OF_ARR_ITEMS_TO_DISPLAY = 3;
|
|
28
35
|
export const CellDisplayWidget = (props) => {
|
|
@@ -34,7 +41,7 @@ export const CellDisplayWidget = (props) => {
|
|
|
34
41
|
if (cell.trim() === '') {
|
|
35
42
|
return React.createElement(S.Empty, null, "empty");
|
|
36
43
|
}
|
|
37
|
-
return cell;
|
|
44
|
+
return React.createElement(S.Max, null, cell);
|
|
38
45
|
}
|
|
39
46
|
if (_.isNumber(cell)) {
|
|
40
47
|
return cell;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellDisplayWidget.js","sourceRoot":"","sources":["../../../../src/core/query/widgets/CellDisplayWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,MAAM,EACP,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAY,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,IAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"CellDisplayWidget.js","sourceRoot":"","sources":["../../../../src/core/query/widgets/CellDisplayWidget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
export const ColumnDisplayWidget = (props) => {
|
|
4
|
+
let parts = (props.label || '').split(' ');
|
|
5
|
+
if (parts.length >= 5) {
|
|
6
|
+
return React.createElement(S.Width, { length: 150 }, props.label);
|
|
7
|
+
}
|
|
8
|
+
if (parts.length >= 3) {
|
|
9
|
+
return React.createElement(S.Width, { length: 80 }, props.label);
|
|
10
|
+
}
|
|
11
|
+
return React.createElement(S.Span, null, props.label);
|
|
12
|
+
};
|
|
13
|
+
var S;
|
|
14
|
+
(function (S) {
|
|
15
|
+
S.Width = styled.div `
|
|
16
|
+
min-width: ${(p) => p.length}px;
|
|
17
|
+
`;
|
|
18
|
+
S.Span = styled.div `
|
|
19
|
+
white-space: nowrap;
|
|
20
|
+
`;
|
|
21
|
+
})(S || (S = {}));
|
|
22
|
+
//# sourceMappingURL=ColumnDisplayWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnDisplayWidget.js","sourceRoot":"","sources":["../../../../src/core/query/widgets/ColumnDisplayWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAMrC,MAAM,CAAC,MAAM,mBAAmB,GAAuC,CAAC,KAAK,EAAE,EAAE;IAC/E,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,oBAAC,CAAC,CAAC,KAAK,IAAC,MAAM,EAAE,GAAG,IAAG,KAAK,CAAC,KAAK,CAAW,CAAC;IACvD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,oBAAC,CAAC,CAAC,KAAK,IAAC,MAAM,EAAE,EAAE,IAAG,KAAK,CAAC,KAAK,CAAW,CAAC;IACtD,CAAC;IACD,OAAO,oBAAC,CAAC,CAAC,IAAI,QAAE,KAAK,CAAC,KAAK,CAAU,CAAC;AACxC,CAAC,CAAC;AAEF,IAAU,CAAC,CAQV;AARD,WAAU,CAAC;IACI,OAAK,GAAG,MAAM,CAAC,GAAG,CAAoB;iBACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM;GAC7B,CAAC;IAEW,MAAI,GAAG,MAAM,CAAC,GAAG,CAAA;;GAE7B,CAAC;AACJ,CAAC,EARS,CAAC,KAAD,CAAC,QAQV"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
import { ColumnDisplayWidget } from './ColumnDisplayWidget';
|
|
4
|
+
import { SmartFilterWidget } from './SmartFilterWidget';
|
|
5
|
+
export const SmartColumnWidget = (props) => {
|
|
6
|
+
return (React.createElement(S.Container, null,
|
|
7
|
+
React.createElement(ColumnDisplayWidget, { label: props.variable.label }),
|
|
8
|
+
React.createElement(SmartFilterWidget, { filter: props.filter, variable: props.variable, filterChanged: props.filterChanged })));
|
|
9
|
+
};
|
|
10
|
+
var S;
|
|
11
|
+
(function (S) {
|
|
12
|
+
S.Container = styled.div `
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: row;
|
|
15
|
+
align-items: center;
|
|
16
|
+
column-gap: 5px;
|
|
17
|
+
`;
|
|
18
|
+
})(S || (S = {}));
|
|
19
|
+
//# sourceMappingURL=SmartColumnWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartColumnWidget.js","sourceRoot":"","sources":["../../../../src/core/query/widgets/SmartColumnWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AASxD,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,KAAK,EAAE,EAAE;IAC3E,OAAO,CACL,oBAAC,CAAC,CAAC,SAAS;QACV,oBAAC,mBAAmB,IAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAI;QACpD,oBAAC,iBAAiB,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,GAAI,CAC7F,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,IAAU,CAAC,CAOV;AAPD,WAAU,CAAC;IACI,WAAS,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;GAKlC,CAAC;AACJ,CAAC,EAPS,CAAC,KAAD,CAAC,QAOV"}
|