@journeyapps-labs/reactor-mod-data-browser 0.0.0-dev-20250825225306
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 +42 -0
- package/README.md +3 -0
- package/dist/@types/DataBrowserModule.d.ts +7 -0
- package/dist/@types/actions/connections/AddConnectionAction.d.ts +10 -0
- package/dist/@types/actions/connections/RemoveConnectionAction.d.ts +10 -0
- package/dist/@types/actions/schema-definitions/CreateModelAction.d.ts +9 -0
- package/dist/@types/actions/schema-definitions/QuerySchemaModelAction.d.ts +9 -0
- package/dist/@types/actions/schema-model/EditSchemaModelAction.d.ts +9 -0
- package/dist/@types/core/AbstractConnection.d.ts +34 -0
- package/dist/@types/core/AbstractConnectionFactory.d.ts +11 -0
- package/dist/@types/core/SchemaModelDefinition.d.ts +20 -0
- package/dist/@types/core/SchemaModelObject.d.ts +16 -0
- package/dist/@types/core/query/AbstractQuery.d.ts +22 -0
- package/dist/@types/core/query/Page.d.ts +24 -0
- package/dist/@types/core/query/SimpleQuery.d.ts +37 -0
- package/dist/@types/core/types/ManualConnection.d.ts +15 -0
- package/dist/@types/core/types/ManualConnectionFactory.d.ts +9 -0
- package/dist/@types/entities/ConnectionEntityDefinition.d.ts +9 -0
- package/dist/@types/entities/ConnectionFactoryEntityDefinition.d.ts +9 -0
- package/dist/@types/entities/QueryEntityDefinition.d.ts +9 -0
- package/dist/@types/entities/SchemaModelDefinitionEntityDefinition.d.ts +13 -0
- package/dist/@types/entities/SchemaModelObjectEntityDefinition.d.ts +14 -0
- package/dist/@types/entities.d.ts +7 -0
- package/dist/@types/forms/APIConnectionForm.d.ts +12 -0
- package/dist/@types/forms/SchemaModelForm.d.ts +11 -0
- package/dist/@types/forms/inputs/LocationInput.d.ts +13 -0
- package/dist/@types/index.d.ts +25 -0
- package/dist/@types/panels/model/ModelPanelFactory.d.ts +28 -0
- package/dist/@types/panels/model/ModelPanelWidget.d.ts +6 -0
- package/dist/@types/panels/query/PageResultsWidget.d.ts +8 -0
- package/dist/@types/panels/query/QueryPanelFactory.d.ts +33 -0
- package/dist/@types/panels/query/QueryPanelWidget.d.ts +6 -0
- package/dist/@types/panels/query/TableControlsWidget.d.ts +10 -0
- package/dist/@types/stores/ConnectionStore.d.ts +20 -0
- package/dist/DataBrowserModule.js +45 -0
- package/dist/DataBrowserModule.js.map +1 -0
- package/dist/actions/connections/AddConnectionAction.js +48 -0
- package/dist/actions/connections/AddConnectionAction.js.map +1 -0
- package/dist/actions/connections/RemoveConnectionAction.js +43 -0
- package/dist/actions/connections/RemoveConnectionAction.js.map +1 -0
- package/dist/actions/schema-definitions/CreateModelAction.js +45 -0
- package/dist/actions/schema-definitions/CreateModelAction.js.map +1 -0
- package/dist/actions/schema-definitions/QuerySchemaModelAction.js +47 -0
- package/dist/actions/schema-definitions/QuerySchemaModelAction.js.map +1 -0
- package/dist/actions/schema-model/EditSchemaModelAction.js +46 -0
- package/dist/actions/schema-model/EditSchemaModelAction.js.map +1 -0
- package/dist/core/AbstractConnection.js +71 -0
- package/dist/core/AbstractConnection.js.map +1 -0
- package/dist/core/AbstractConnectionFactory.js +6 -0
- package/dist/core/AbstractConnectionFactory.js.map +1 -0
- package/dist/core/SchemaModelDefinition.js +31 -0
- package/dist/core/SchemaModelDefinition.js.map +1 -0
- package/dist/core/SchemaModelObject.js +51 -0
- package/dist/core/SchemaModelObject.js.map +1 -0
- package/dist/core/query/AbstractQuery.js +18 -0
- package/dist/core/query/AbstractQuery.js.map +1 -0
- package/dist/core/query/Page.js +65 -0
- package/dist/core/query/Page.js.map +1 -0
- package/dist/core/query/SimpleQuery.js +197 -0
- package/dist/core/query/SimpleQuery.js.map +1 -0
- package/dist/core/types/ManualConnection.js +23 -0
- package/dist/core/types/ManualConnection.js.map +1 -0
- package/dist/core/types/ManualConnectionFactory.js +50 -0
- package/dist/core/types/ManualConnectionFactory.js.map +1 -0
- package/dist/entities/ConnectionEntityDefinition.js +75 -0
- package/dist/entities/ConnectionEntityDefinition.js.map +1 -0
- package/dist/entities/ConnectionFactoryEntityDefinition.js +60 -0
- package/dist/entities/ConnectionFactoryEntityDefinition.js.map +1 -0
- package/dist/entities/QueryEntityDefinition.js +60 -0
- package/dist/entities/QueryEntityDefinition.js.map +1 -0
- package/dist/entities/SchemaModelDefinitionEntityDefinition.js +76 -0
- package/dist/entities/SchemaModelDefinitionEntityDefinition.js.map +1 -0
- package/dist/entities/SchemaModelObjectEntityDefinition.js +76 -0
- package/dist/entities/SchemaModelObjectEntityDefinition.js.map +1 -0
- package/dist/entities.js +9 -0
- package/dist/entities.js.map +1 -0
- package/dist/forms/APIConnectionForm.js +31 -0
- package/dist/forms/APIConnectionForm.js.map +1 -0
- package/dist/forms/SchemaModelForm.js +87 -0
- package/dist/forms/SchemaModelForm.js.map +1 -0
- package/dist/forms/inputs/LocationInput.js +74 -0
- package/dist/forms/inputs/LocationInput.js.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/panels/model/ModelPanelFactory.js +94 -0
- package/dist/panels/model/ModelPanelFactory.js.map +1 -0
- package/dist/panels/model/ModelPanelWidget.js +46 -0
- package/dist/panels/model/ModelPanelWidget.js.map +1 -0
- package/dist/panels/query/PageResultsWidget.js +24 -0
- package/dist/panels/query/PageResultsWidget.js.map +1 -0
- package/dist/panels/query/QueryPanelFactory.js +94 -0
- package/dist/panels/query/QueryPanelFactory.js.map +1 -0
- package/dist/panels/query/QueryPanelWidget.js +41 -0
- package/dist/panels/query/QueryPanelWidget.js.map +1 -0
- package/dist/panels/query/TableControlsWidget.js +52 -0
- package/dist/panels/query/TableControlsWidget.js.map +1 -0
- package/dist/stores/ConnectionStore.js +93 -0
- package/dist/stores/ConnectionStore.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist-module/bundle.js +49 -0
- package/dist-module/bundle.js.LICENSE.txt +16 -0
- package/dist-module/bundle.js.map +1 -0
- package/package.json +41 -0
- package/reactor.config.json +4 -0
- package/src/DataBrowserModule.ts +54 -0
- package/src/actions/connections/AddConnectionAction.tsx +33 -0
- package/src/actions/connections/RemoveConnectionAction.tsx +28 -0
- package/src/actions/schema-definitions/CreateModelAction.ts +32 -0
- package/src/actions/schema-definitions/QuerySchemaModelAction.ts +36 -0
- package/src/actions/schema-model/EditSchemaModelAction.ts +33 -0
- package/src/core/AbstractConnection.ts +104 -0
- package/src/core/AbstractConnectionFactory.ts +14 -0
- package/src/core/SchemaModelDefinition.ts +44 -0
- package/src/core/SchemaModelObject.ts +46 -0
- package/src/core/query/AbstractQuery.ts +43 -0
- package/src/core/query/Page.ts +59 -0
- package/src/core/query/SimpleQuery.tsx +218 -0
- package/src/core/types/ManualConnection.ts +35 -0
- package/src/core/types/ManualConnectionFactory.tsx +36 -0
- package/src/entities/ConnectionEntityDefinition.tsx +79 -0
- package/src/entities/ConnectionFactoryEntityDefinition.tsx +54 -0
- package/src/entities/QueryEntityDefinition.ts +46 -0
- package/src/entities/SchemaModelDefinitionEntityDefinition.ts +82 -0
- package/src/entities/SchemaModelObjectEntityDefinition.ts +78 -0
- package/src/entities.ts +7 -0
- package/src/forms/APIConnectionForm.tsx +48 -0
- package/src/forms/SchemaModelForm.tsx +116 -0
- package/src/forms/inputs/LocationInput.tsx +104 -0
- package/src/index.ts +27 -0
- package/src/panels/model/ModelPanelFactory.tsx +78 -0
- package/src/panels/model/ModelPanelWidget.tsx +76 -0
- package/src/panels/query/PageResultsWidget.tsx +52 -0
- package/src/panels/query/QueryPanelFactory.tsx +76 -0
- package/src/panels/query/QueryPanelWidget.tsx +72 -0
- package/src/panels/query/TableControlsWidget.tsx +85 -0
- package/src/stores/ConnectionStore.ts +87 -0
- package/tsconfig.json +14 -0
- package/webpack.config.js +9 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# @journeyapps-labs/reactor-mod-data-browser
|
|
2
|
+
|
|
3
|
+
## 0.0.0-dev-20250825225306
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 8cc96ec: - displays media directly inside Sector
|
|
8
|
+
- add media input fields to form editing
|
|
9
|
+
- status bar for schema model editing
|
|
10
|
+
- make query reload button show load status
|
|
11
|
+
- Add support for Locations
|
|
12
|
+
- Pull in Reactor changes: Version Packages reactor#36
|
|
13
|
+
|
|
14
|
+
## 2.0.2
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- 375d338: Add support for Day and number type
|
|
19
|
+
|
|
20
|
+
## 2.0.1
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- 0f04f63: Fix an issue with text not showing correctly and also improve array items
|
|
25
|
+
|
|
26
|
+
## 2.0.0
|
|
27
|
+
|
|
28
|
+
### Major Changes
|
|
29
|
+
|
|
30
|
+
- 3438cf4: Name of connection changed to an EntityDescription and also export shared db library
|
|
31
|
+
|
|
32
|
+
## 1.1.0
|
|
33
|
+
|
|
34
|
+
### Minor Changes
|
|
35
|
+
|
|
36
|
+
- cd5ddb0: Export various classes and types
|
|
37
|
+
|
|
38
|
+
## 1.0.0
|
|
39
|
+
|
|
40
|
+
### Major Changes
|
|
41
|
+
|
|
42
|
+
- 60d9391: First release
|
package/README.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AbstractReactorModule } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { Container } from '@journeyapps-labs/common-ioc';
|
|
3
|
+
export declare class DataBrowserModule extends AbstractReactorModule {
|
|
4
|
+
constructor();
|
|
5
|
+
register(ioc: Container): void;
|
|
6
|
+
init(ioc: Container): Promise<any>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EntityAction, EntityActionEvent } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { AbstractConnectionFactory } from '../../core/AbstractConnectionFactory';
|
|
3
|
+
import { ConnectionStore } from '../../stores/ConnectionStore';
|
|
4
|
+
export declare class AddConnectionAction extends EntityAction<AbstractConnectionFactory> {
|
|
5
|
+
static ID: string;
|
|
6
|
+
accessor connectionStore: ConnectionStore;
|
|
7
|
+
constructor();
|
|
8
|
+
fireEvent(event: EntityActionEvent<AbstractConnectionFactory>): Promise<any>;
|
|
9
|
+
static get(): AddConnectionAction;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EntityAction, EntityActionEvent } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { ConnectionStore } from '../../stores/ConnectionStore';
|
|
3
|
+
import { AbstractConnection } from '../../core/AbstractConnection';
|
|
4
|
+
export declare class RemoveConnectionAction extends EntityAction<AbstractConnection> {
|
|
5
|
+
static ID: string;
|
|
6
|
+
accessor connectionStore: ConnectionStore;
|
|
7
|
+
constructor();
|
|
8
|
+
fireEvent(event: EntityActionEvent<AbstractConnection>): Promise<any>;
|
|
9
|
+
static get(): RemoveConnectionAction;
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EntityAction, EntityActionEvent, WorkspaceStore } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { SchemaModelDefinition } from '../../core/SchemaModelDefinition';
|
|
3
|
+
export declare class CreateModelAction extends EntityAction<SchemaModelDefinition> {
|
|
4
|
+
static ID: string;
|
|
5
|
+
accessor workspaceStore: WorkspaceStore;
|
|
6
|
+
constructor();
|
|
7
|
+
fireEvent(event: EntityActionEvent<SchemaModelDefinition>): Promise<any>;
|
|
8
|
+
static get(): CreateModelAction;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EntityAction, EntityActionEvent, WorkspaceStore } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { SchemaModelDefinition } from '../../core/SchemaModelDefinition';
|
|
3
|
+
export declare class QuerySchemaModelAction extends EntityAction<SchemaModelDefinition> {
|
|
4
|
+
static ID: string;
|
|
5
|
+
accessor workspaceStore: WorkspaceStore;
|
|
6
|
+
constructor();
|
|
7
|
+
fireEvent(event: EntityActionEvent<SchemaModelDefinition>): Promise<any>;
|
|
8
|
+
static get(): QuerySchemaModelAction;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EntityAction, EntityActionEvent, WorkspaceStore } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { SchemaModelObject } from '../../core/SchemaModelObject';
|
|
3
|
+
export declare class EditSchemaModelAction extends EntityAction<SchemaModelObject> {
|
|
4
|
+
static ID: string;
|
|
5
|
+
accessor workspaceStore: WorkspaceStore;
|
|
6
|
+
constructor();
|
|
7
|
+
fireEvent(event: EntityActionEvent<SchemaModelObject>): Promise<any>;
|
|
8
|
+
static get(): EditSchemaModelAction;
|
|
9
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Database, ObjectType } from '@journeyapps/db';
|
|
2
|
+
import { Schema } from '@journeyapps/parser-schema';
|
|
3
|
+
import { AbstractConnectionFactory } from './AbstractConnectionFactory';
|
|
4
|
+
import { SchemaModelDefinition } from './SchemaModelDefinition';
|
|
5
|
+
import { BaseObserver } from '@journeyapps-labs/common-utils';
|
|
6
|
+
import { Collection, LifecycleCollection } from '@journeyapps-labs/lib-reactor-data-layer';
|
|
7
|
+
import { EntityDescription } from '@journeyapps-labs/reactor-mod';
|
|
8
|
+
export interface AbstractConnectionSerialized {
|
|
9
|
+
factory: string;
|
|
10
|
+
id: string;
|
|
11
|
+
payload: any;
|
|
12
|
+
}
|
|
13
|
+
export interface AbstractConnectionListener {
|
|
14
|
+
removed: () => any;
|
|
15
|
+
}
|
|
16
|
+
export declare abstract class AbstractConnection extends BaseObserver<AbstractConnectionListener> {
|
|
17
|
+
factory: AbstractConnectionFactory;
|
|
18
|
+
id: string;
|
|
19
|
+
schema_models_collection: Collection<ObjectType>;
|
|
20
|
+
schema_models: LifecycleCollection<ObjectType, SchemaModelDefinition>;
|
|
21
|
+
constructor(factory: AbstractConnectionFactory);
|
|
22
|
+
getSchemaModelDefinitionByName(name: string): SchemaModelDefinition;
|
|
23
|
+
waitForSchemaModelDefinitionByName(name: string): Promise<SchemaModelDefinition>;
|
|
24
|
+
abstract getConnection(): Promise<Database>;
|
|
25
|
+
protected getSchema(): Promise<Schema>;
|
|
26
|
+
reload(): Promise<void>;
|
|
27
|
+
init(): Promise<void>;
|
|
28
|
+
protected getSchemaModelDefinitions(): Promise<SchemaModelDefinition[]>;
|
|
29
|
+
remove(): void;
|
|
30
|
+
serialize(): AbstractConnectionSerialized;
|
|
31
|
+
get name(): EntityDescription;
|
|
32
|
+
abstract _serialize(): any;
|
|
33
|
+
abstract _deSerialize(data: ReturnType<this['_serialize']>): Promise<any>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AbstractConnection } from './AbstractConnection';
|
|
2
|
+
export interface ConnectionFactoryOptions {
|
|
3
|
+
label: string;
|
|
4
|
+
key: string;
|
|
5
|
+
}
|
|
6
|
+
export declare abstract class AbstractConnectionFactory<T extends AbstractConnection = AbstractConnection> {
|
|
7
|
+
options: ConnectionFactoryOptions;
|
|
8
|
+
constructor(options: ConnectionFactoryOptions);
|
|
9
|
+
abstract generateConnection(): T;
|
|
10
|
+
abstract generateConnectionFromUI(): Promise<T | null>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AbstractConnection } from './AbstractConnection';
|
|
2
|
+
import { ObjectType } from '@journeyapps/parser-schema';
|
|
3
|
+
import { Collection } from '@journeyapps/db';
|
|
4
|
+
import { SchemaModelObject } from './SchemaModelObject';
|
|
5
|
+
import { LifecycleModel } from '@journeyapps-labs/lib-reactor-data-layer';
|
|
6
|
+
export interface SchemaModelDefinitionOptions {
|
|
7
|
+
connection: AbstractConnection;
|
|
8
|
+
definition: ObjectType;
|
|
9
|
+
}
|
|
10
|
+
export declare class SchemaModelDefinition implements LifecycleModel<ObjectType> {
|
|
11
|
+
protected options: SchemaModelDefinitionOptions;
|
|
12
|
+
constructor(options: SchemaModelDefinitionOptions);
|
|
13
|
+
get key(): string;
|
|
14
|
+
dispose(): void;
|
|
15
|
+
patch(data: ObjectType): void;
|
|
16
|
+
get connection(): AbstractConnection;
|
|
17
|
+
get definition(): ObjectType;
|
|
18
|
+
getCollection(): Promise<Collection<import("@journeyapps/db").DatabaseObject>>;
|
|
19
|
+
generateNewModelObject(): Promise<SchemaModelObject>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DatabaseObject } from '@journeyapps/db';
|
|
2
|
+
import { SchemaModelDefinition } from './SchemaModelDefinition';
|
|
3
|
+
import { AbstractMedia, MediaEngine } from '@journeyapps-labs/reactor-mod';
|
|
4
|
+
export interface SchemaModelObjectOptions {
|
|
5
|
+
definition: SchemaModelDefinition;
|
|
6
|
+
model?: DatabaseObject;
|
|
7
|
+
}
|
|
8
|
+
export declare class SchemaModelObject {
|
|
9
|
+
options: SchemaModelObjectOptions;
|
|
10
|
+
accessor mediaEngine: MediaEngine;
|
|
11
|
+
private _mediaCache;
|
|
12
|
+
constructor(options: SchemaModelObjectOptions);
|
|
13
|
+
get definition(): SchemaModelDefinition;
|
|
14
|
+
get model(): DatabaseObject;
|
|
15
|
+
getMedia(field: string): Promise<AbstractMedia<import("@journeyapps-labs/reactor-mod").AbstractMediaOptions>>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Page } from './Page';
|
|
2
|
+
import { AbstractConnection } from '../AbstractConnection';
|
|
3
|
+
import { ConnectionStore } from '../../stores/ConnectionStore';
|
|
4
|
+
import { TableColumn } from '@journeyapps-labs/reactor-mod';
|
|
5
|
+
export interface AbstractQueryEncoded {
|
|
6
|
+
type: string;
|
|
7
|
+
connection_id: string;
|
|
8
|
+
definition: string;
|
|
9
|
+
}
|
|
10
|
+
export declare abstract class AbstractQuery<T extends AbstractQueryEncoded = AbstractQueryEncoded> {
|
|
11
|
+
protected type: string;
|
|
12
|
+
protected connection: AbstractConnection;
|
|
13
|
+
id: string;
|
|
14
|
+
constructor(type: string, connection: AbstractConnection);
|
|
15
|
+
abstract getSimpleName(): string;
|
|
16
|
+
abstract load(): Promise<any>;
|
|
17
|
+
abstract getColumns(): TableColumn[];
|
|
18
|
+
abstract get totalPages(): number;
|
|
19
|
+
abstract getPage(number: number): Page;
|
|
20
|
+
serialize(): T;
|
|
21
|
+
deserialize(connectionStore: ConnectionStore, data: T): Promise<void>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SchemaModelObject } from '../SchemaModelObject';
|
|
2
|
+
import { TableRow } from '@journeyapps-labs/reactor-mod';
|
|
3
|
+
import { Collection, DatabaseObject } from '@journeyapps/db';
|
|
4
|
+
import { SchemaModelDefinition } from '../SchemaModelDefinition';
|
|
5
|
+
export interface PageRow extends TableRow {
|
|
6
|
+
model: SchemaModelObject;
|
|
7
|
+
definition: SchemaModelDefinition;
|
|
8
|
+
}
|
|
9
|
+
export interface PageOptions {
|
|
10
|
+
collection: () => Promise<Collection<DatabaseObject>>;
|
|
11
|
+
offset: number;
|
|
12
|
+
limit: number;
|
|
13
|
+
definition: SchemaModelDefinition;
|
|
14
|
+
index: number;
|
|
15
|
+
}
|
|
16
|
+
export declare class Page {
|
|
17
|
+
protected options: PageOptions;
|
|
18
|
+
accessor models: SchemaModelObject[];
|
|
19
|
+
accessor loading: boolean;
|
|
20
|
+
constructor(options: PageOptions);
|
|
21
|
+
get index(): number;
|
|
22
|
+
load(): Promise<void>;
|
|
23
|
+
asRows(): PageRow[];
|
|
24
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { AbstractQuery, AbstractQueryEncoded } from './AbstractQuery';
|
|
2
|
+
import { TableColumn } from '@journeyapps-labs/reactor-mod';
|
|
3
|
+
import { ConnectionStore } from '../../stores/ConnectionStore';
|
|
4
|
+
import * as db from '@journeyapps/db';
|
|
5
|
+
import { Promise, Variable } from '@journeyapps/db';
|
|
6
|
+
import { Page, PageRow } from './Page';
|
|
7
|
+
import { SchemaModelDefinition } from '../SchemaModelDefinition';
|
|
8
|
+
import * as React from 'react';
|
|
9
|
+
export interface SimpleQueryOptions {
|
|
10
|
+
definition?: SchemaModelDefinition;
|
|
11
|
+
limit?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface SimpleQueryEncoded extends AbstractQueryEncoded {
|
|
14
|
+
limit: number;
|
|
15
|
+
definition: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class SimpleQuery extends AbstractQuery<SimpleQueryEncoded> {
|
|
18
|
+
options: SimpleQueryOptions;
|
|
19
|
+
accessor connStore: ConnectionStore;
|
|
20
|
+
accessor _totalPages: number;
|
|
21
|
+
accessor _pages: Page[];
|
|
22
|
+
constructor(options?: SimpleQueryOptions);
|
|
23
|
+
getCollection(): globalThis.Promise<db.database.Collection<db.database.DatabaseObject>>;
|
|
24
|
+
load(): globalThis.Promise<void>;
|
|
25
|
+
getPage(number: number): Page;
|
|
26
|
+
get totalPages(): number;
|
|
27
|
+
serialize(): SimpleQueryEncoded;
|
|
28
|
+
deserialize(connectionStore: ConnectionStore, data: SimpleQueryEncoded): Promise<void>;
|
|
29
|
+
getColumns(): TableColumn[];
|
|
30
|
+
getSimpleName(): string;
|
|
31
|
+
}
|
|
32
|
+
export interface CellDisplayWidgetProps {
|
|
33
|
+
row: PageRow;
|
|
34
|
+
cell: any;
|
|
35
|
+
variable: Variable;
|
|
36
|
+
}
|
|
37
|
+
export declare const CellDisplayWidget: React.FC<CellDisplayWidgetProps>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ApiCredentialOptions, Database } from '@journeyapps/db';
|
|
2
|
+
import { AbstractConnection } from '../AbstractConnection';
|
|
3
|
+
import { ManualConnectionFactory } from './ManualConnectionFactory';
|
|
4
|
+
import { EntityDescription } from '@journeyapps-labs/reactor-mod';
|
|
5
|
+
export interface ManualConnectionDetails extends ApiCredentialOptions {
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class ManualConnection extends AbstractConnection {
|
|
9
|
+
protected options?: ManualConnectionDetails;
|
|
10
|
+
constructor(factory: ManualConnectionFactory, options?: ManualConnectionDetails);
|
|
11
|
+
getConnection(): Promise<Database>;
|
|
12
|
+
_serialize(): ManualConnectionDetails;
|
|
13
|
+
_deSerialize(data: ManualConnectionDetails): Promise<any>;
|
|
14
|
+
get name(): EntityDescription;
|
|
15
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AbstractConnectionFactory } from '../AbstractConnectionFactory';
|
|
2
|
+
import { ManualConnection } from './ManualConnection';
|
|
3
|
+
import { DialogStore2 } from '@journeyapps-labs/reactor-mod';
|
|
4
|
+
export declare class ManualConnectionFactory extends AbstractConnectionFactory<ManualConnection> {
|
|
5
|
+
accessor dialogStore: DialogStore2;
|
|
6
|
+
constructor();
|
|
7
|
+
generateConnectionFromUI(): Promise<ManualConnection | null>;
|
|
8
|
+
generateConnection(): ManualConnection;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EntityDefinition } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { ConnectionStore } from '../stores/ConnectionStore';
|
|
3
|
+
import { AbstractConnection } from '../core/AbstractConnection';
|
|
4
|
+
export declare class ConnectionEntityDefinition extends EntityDefinition<AbstractConnection> {
|
|
5
|
+
accessor connectionStore: ConnectionStore;
|
|
6
|
+
constructor();
|
|
7
|
+
matchEntity(t: any): boolean;
|
|
8
|
+
getEntityUID(t: AbstractConnection): string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EntityDefinition } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { ConnectionStore } from '../stores/ConnectionStore';
|
|
3
|
+
import { AbstractConnectionFactory } from '../core/AbstractConnectionFactory';
|
|
4
|
+
export declare class ConnectionFactoryEntityDefinition extends EntityDefinition<AbstractConnectionFactory> {
|
|
5
|
+
accessor connectionStore: ConnectionStore;
|
|
6
|
+
constructor();
|
|
7
|
+
matchEntity(t: any): boolean;
|
|
8
|
+
getEntityUID(t: AbstractConnectionFactory): string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EntityDefinition } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { ConnectionStore } from '../stores/ConnectionStore';
|
|
3
|
+
import { AbstractQuery } from '../core/query/AbstractQuery';
|
|
4
|
+
export declare class QueryEntityDefinition extends EntityDefinition<AbstractQuery> {
|
|
5
|
+
accessor connectionStore: ConnectionStore;
|
|
6
|
+
constructor();
|
|
7
|
+
matchEntity(t: any): boolean;
|
|
8
|
+
getEntityUID(t: AbstractQuery): string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EntityDefinition } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { ConnectionStore } from '../stores/ConnectionStore';
|
|
3
|
+
import { SchemaModelDefinition } from '../core/SchemaModelDefinition';
|
|
4
|
+
export interface SchemaModelDefinitionEntityDefinitionEncoded {
|
|
5
|
+
connection_id: string;
|
|
6
|
+
type: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class SchemaModelDefinitionEntityDefinition extends EntityDefinition<SchemaModelDefinition> {
|
|
9
|
+
accessor connectionStore: ConnectionStore;
|
|
10
|
+
constructor();
|
|
11
|
+
matchEntity(t: any): boolean;
|
|
12
|
+
getEntityUID(t: SchemaModelDefinition): string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EntityDefinition } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { ConnectionStore } from '../stores/ConnectionStore';
|
|
3
|
+
import { SchemaModelObject } from '../core/SchemaModelObject';
|
|
4
|
+
export interface SchemaModelObjectEntityDefinitionEncoded {
|
|
5
|
+
connection_id: string;
|
|
6
|
+
type: string;
|
|
7
|
+
id: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class SchemaModelObjectEntityDefinition extends EntityDefinition<SchemaModelObject> {
|
|
10
|
+
accessor connectionStore: ConnectionStore;
|
|
11
|
+
constructor();
|
|
12
|
+
matchEntity(t: any): boolean;
|
|
13
|
+
getEntityUID(t: SchemaModelObject): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare enum DataBrowserEntities {
|
|
2
|
+
CONNECTION = "databrowser/connection",
|
|
3
|
+
CONNECTION_FACTORY = "databrowser/connection_factory",
|
|
4
|
+
SCHEMA_MODEL_DEFINITION = "databrowser/schema_model_definition",
|
|
5
|
+
SCHEMA_MODEL_OBJECT = "databrowser/schema_model_object",
|
|
6
|
+
QUERY = "databrowser/query"
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FormModel } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { ManualConnection } from '../core/types/ManualConnection';
|
|
3
|
+
import { ManualConnectionFactory } from '../core/types/ManualConnectionFactory';
|
|
4
|
+
export interface APIConnectionFormValue {
|
|
5
|
+
name: string;
|
|
6
|
+
base_url: string;
|
|
7
|
+
api_token: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class APIConnectionForm extends FormModel<APIConnectionFormValue> {
|
|
10
|
+
constructor(value?: APIConnectionFormValue);
|
|
11
|
+
generateConnection(factory: ManualConnectionFactory): ManualConnection;
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FormModel } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { SchemaModelDefinition } from '../core/SchemaModelDefinition';
|
|
3
|
+
import { SchemaModelObject } from '../core/SchemaModelObject';
|
|
4
|
+
export interface SchemaModelFormOptions {
|
|
5
|
+
definition: SchemaModelDefinition;
|
|
6
|
+
object?: SchemaModelObject;
|
|
7
|
+
}
|
|
8
|
+
export declare class SchemaModelForm extends FormModel {
|
|
9
|
+
protected options: SchemaModelFormOptions;
|
|
10
|
+
constructor(options: SchemaModelFormOptions);
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FormInput, FormInputGenerics, FormInputOptions, FormInputRenderOptions, NumberInput } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Location } from '@journeyapps/db';
|
|
4
|
+
export declare class LocationInput extends FormInput<FormInputGenerics & {
|
|
5
|
+
VALUE: Location;
|
|
6
|
+
}> {
|
|
7
|
+
latitude: NumberInput;
|
|
8
|
+
longitude: NumberInput;
|
|
9
|
+
constructor(options: FormInputOptions<Location>);
|
|
10
|
+
setValue(value: Location): void;
|
|
11
|
+
update(): void;
|
|
12
|
+
renderControl(options: FormInputRenderOptions): React.JSX.Element;
|
|
13
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DataBrowserModule } from './DataBrowserModule';
|
|
2
|
+
export * from './entities';
|
|
3
|
+
export * from './core/SchemaModelDefinition';
|
|
4
|
+
export * from './core/SchemaModelObject';
|
|
5
|
+
export * from './core/AbstractConnection';
|
|
6
|
+
export * from './core/AbstractConnectionFactory';
|
|
7
|
+
export * from './core/query/SimpleQuery';
|
|
8
|
+
export * from './core/query/AbstractQuery';
|
|
9
|
+
export * from './core/query/Page';
|
|
10
|
+
export * from './core/types/ManualConnectionFactory';
|
|
11
|
+
export * from './core/types/ManualConnection';
|
|
12
|
+
export * from './entities/QueryEntityDefinition';
|
|
13
|
+
export * from './entities/ConnectionEntityDefinition';
|
|
14
|
+
export * from './entities/ConnectionFactoryEntityDefinition';
|
|
15
|
+
export * from './entities/SchemaModelDefinitionEntityDefinition';
|
|
16
|
+
export * from './entities/SchemaModelObjectEntityDefinition';
|
|
17
|
+
export * from './panels/query/QueryPanelFactory';
|
|
18
|
+
export * from './panels/model/ModelPanelFactory';
|
|
19
|
+
export * from './stores/ConnectionStore';
|
|
20
|
+
export * from './actions/connections/AddConnectionAction';
|
|
21
|
+
export * from './actions/connections/RemoveConnectionAction';
|
|
22
|
+
export * from './actions/schema-definitions/CreateModelAction';
|
|
23
|
+
export * from './actions/schema-definitions/QuerySchemaModelAction';
|
|
24
|
+
export * from './actions/schema-model/EditSchemaModelAction';
|
|
25
|
+
export default DataBrowserModule;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactorPanelFactory, ReactorPanelModel } from '@journeyapps-labs/reactor-mod';
|
|
3
|
+
import { ConnectionStore } from '../../stores/ConnectionStore';
|
|
4
|
+
import { WorkspaceModelFactoryEvent } from '@projectstorm/react-workspaces-core';
|
|
5
|
+
import { SchemaModelDefinition } from '../../core/SchemaModelDefinition';
|
|
6
|
+
import { SchemaModelObject } from '../../core/SchemaModelObject';
|
|
7
|
+
export interface ModelPanelModelOptions {
|
|
8
|
+
definition: SchemaModelDefinition;
|
|
9
|
+
model?: SchemaModelObject;
|
|
10
|
+
}
|
|
11
|
+
export declare class ModelPanelModel extends ReactorPanelModel {
|
|
12
|
+
accessor connStore: ConnectionStore;
|
|
13
|
+
accessor definition: SchemaModelDefinition;
|
|
14
|
+
accessor model: SchemaModelObject;
|
|
15
|
+
constructor(options?: ModelPanelModelOptions);
|
|
16
|
+
encodeEntities(): {
|
|
17
|
+
definition: SchemaModelDefinition;
|
|
18
|
+
model: SchemaModelObject;
|
|
19
|
+
};
|
|
20
|
+
decodeEntities(data: ReturnType<this['encodeEntities']>): void;
|
|
21
|
+
}
|
|
22
|
+
export declare class ModelPanelFactory extends ReactorPanelFactory<ModelPanelModel> {
|
|
23
|
+
static TYPE: string;
|
|
24
|
+
constructor();
|
|
25
|
+
getSimpleName(model: ModelPanelModel): string;
|
|
26
|
+
_generateModel(): ModelPanelModel;
|
|
27
|
+
generatePanelContent(event: WorkspaceModelFactoryEvent<ModelPanelModel>): React.JSX.Element;
|
|
28
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Page } from '../../core/query/Page';
|
|
3
|
+
import { AbstractQuery } from '../../core/query/AbstractQuery';
|
|
4
|
+
export interface PageResultsWidgetProps {
|
|
5
|
+
page: Page;
|
|
6
|
+
query: AbstractQuery;
|
|
7
|
+
}
|
|
8
|
+
export declare const PageResultsWidget: React.FC<PageResultsWidgetProps>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactorPanelFactory, ReactorPanelModel } from '@journeyapps-labs/reactor-mod';
|
|
3
|
+
import { AbstractQuery } from '../../core/query/AbstractQuery';
|
|
4
|
+
import { ConnectionStore } from '../../stores/ConnectionStore';
|
|
5
|
+
import { WorkspaceModelFactoryEvent } from '@projectstorm/react-workspaces-core';
|
|
6
|
+
export declare class QueryPanelModel extends ReactorPanelModel {
|
|
7
|
+
accessor connStore: ConnectionStore;
|
|
8
|
+
accessor query: AbstractQuery;
|
|
9
|
+
accessor current_page: number;
|
|
10
|
+
constructor(query: AbstractQuery);
|
|
11
|
+
toArray(): {
|
|
12
|
+
current_page: number;
|
|
13
|
+
_encoded: {};
|
|
14
|
+
id: string;
|
|
15
|
+
expandVertical: boolean;
|
|
16
|
+
expandHorizontal: boolean;
|
|
17
|
+
type: string;
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
};
|
|
21
|
+
fromArray(data: ReturnType<this['toArray']>, engine: any): void;
|
|
22
|
+
encodeEntities(): {
|
|
23
|
+
query: AbstractQuery<import("../../core/query/AbstractQuery").AbstractQueryEncoded>;
|
|
24
|
+
};
|
|
25
|
+
decodeEntities(data: ReturnType<this['encodeEntities']>): void;
|
|
26
|
+
}
|
|
27
|
+
export declare class QueryPanelFactory extends ReactorPanelFactory<QueryPanelModel> {
|
|
28
|
+
static TYPE: string;
|
|
29
|
+
constructor();
|
|
30
|
+
getSimpleName(model: QueryPanelModel): string;
|
|
31
|
+
_generateModel(): QueryPanelModel;
|
|
32
|
+
generatePanelContent(event: WorkspaceModelFactoryEvent<QueryPanelModel>): React.JSX.Element;
|
|
33
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { AbstractQuery } from '../../core/query/AbstractQuery';
|
|
3
|
+
import { Page } from '../../core/query/Page';
|
|
4
|
+
export interface TableControlsWidgetProps {
|
|
5
|
+
current_page: Page;
|
|
6
|
+
goToPage?: (index: number) => any;
|
|
7
|
+
className?: any;
|
|
8
|
+
query: AbstractQuery;
|
|
9
|
+
}
|
|
10
|
+
export declare const TableControlsWidget: React.FC<TableControlsWidgetProps>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AbstractStore } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { AbstractConnection, AbstractConnectionSerialized } from '../core/AbstractConnection';
|
|
3
|
+
import { AbstractConnectionFactory } from '../core/AbstractConnectionFactory';
|
|
4
|
+
export interface ConnectionStoreSerialized {
|
|
5
|
+
connections: AbstractConnectionSerialized[];
|
|
6
|
+
}
|
|
7
|
+
export declare class ConnectionStore extends AbstractStore<ConnectionStoreSerialized> {
|
|
8
|
+
protected accessor _connections: Set<AbstractConnection>;
|
|
9
|
+
protected _connectionFactories: Map<string, AbstractConnectionFactory>;
|
|
10
|
+
constructor();
|
|
11
|
+
get connections(): AbstractConnection[];
|
|
12
|
+
get connectionFactories(): AbstractConnectionFactory<AbstractConnection>[];
|
|
13
|
+
protected serialize(): ConnectionStoreSerialized;
|
|
14
|
+
getConnectionByID(id: string): AbstractConnection;
|
|
15
|
+
waitForReadyForConnection(id: string): Promise<AbstractConnection>;
|
|
16
|
+
deserializeConnection(data: AbstractConnectionSerialized): Promise<AbstractConnection>;
|
|
17
|
+
protected deserialize(data: ConnectionStoreSerialized): Promise<void>;
|
|
18
|
+
registerConnectionFactory(factory: AbstractConnectionFactory): void;
|
|
19
|
+
addConnection(connection: AbstractConnection): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { AbstractReactorModule, System, WorkspaceStore } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { ConnectionStore } from './stores/ConnectionStore';
|
|
3
|
+
import { ConnectionEntityDefinition } from './entities/ConnectionEntityDefinition';
|
|
4
|
+
import { ManualConnectionFactory } from './core/types/ManualConnectionFactory';
|
|
5
|
+
import { ConnectionFactoryEntityDefinition } from './entities/ConnectionFactoryEntityDefinition';
|
|
6
|
+
import { AddConnectionAction } from './actions/connections/AddConnectionAction';
|
|
7
|
+
import { RemoveConnectionAction } from './actions/connections/RemoveConnectionAction';
|
|
8
|
+
import { SchemaModelDefinitionEntityDefinition } from './entities/SchemaModelDefinitionEntityDefinition';
|
|
9
|
+
import { QueryPanelFactory } from './panels/query/QueryPanelFactory';
|
|
10
|
+
import { QuerySchemaModelAction } from './actions/schema-definitions/QuerySchemaModelAction';
|
|
11
|
+
import { QueryEntityDefinition } from './entities/QueryEntityDefinition';
|
|
12
|
+
import { ModelPanelFactory } from './panels/model/ModelPanelFactory';
|
|
13
|
+
import { CreateModelAction } from './actions/schema-definitions/CreateModelAction';
|
|
14
|
+
import { SchemaModelObjectEntityDefinition } from './entities/SchemaModelObjectEntityDefinition';
|
|
15
|
+
import { EditSchemaModelAction } from './actions/schema-model/EditSchemaModelAction';
|
|
16
|
+
export class DataBrowserModule extends AbstractReactorModule {
|
|
17
|
+
constructor() {
|
|
18
|
+
super({
|
|
19
|
+
name: 'Data Browser'
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
register(ioc) {
|
|
23
|
+
const system = ioc.get(System);
|
|
24
|
+
const workspaceStore = ioc.get(WorkspaceStore);
|
|
25
|
+
let connectionStore = new ConnectionStore();
|
|
26
|
+
connectionStore.registerConnectionFactory(new ManualConnectionFactory());
|
|
27
|
+
system.registerAction(new AddConnectionAction());
|
|
28
|
+
system.registerAction(new RemoveConnectionAction());
|
|
29
|
+
system.registerAction(new QuerySchemaModelAction());
|
|
30
|
+
system.registerAction(new CreateModelAction());
|
|
31
|
+
system.registerAction(new EditSchemaModelAction());
|
|
32
|
+
system.addStore(ConnectionStore, connectionStore);
|
|
33
|
+
system.registerDefinition(new ConnectionEntityDefinition());
|
|
34
|
+
system.registerDefinition(new ConnectionFactoryEntityDefinition());
|
|
35
|
+
system.registerDefinition(new SchemaModelDefinitionEntityDefinition());
|
|
36
|
+
system.registerDefinition(new SchemaModelObjectEntityDefinition());
|
|
37
|
+
system.registerDefinition(new QueryEntityDefinition());
|
|
38
|
+
workspaceStore.registerFactory(new QueryPanelFactory());
|
|
39
|
+
workspaceStore.registerFactory(new ModelPanelFactory());
|
|
40
|
+
}
|
|
41
|
+
async init(ioc) {
|
|
42
|
+
await ioc.get(ConnectionStore).init();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=DataBrowserModule.js.map
|
|
@@ -0,0 +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,MAAM,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;CACF"}
|