@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.
Files changed (138) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +3 -0
  3. package/dist/@types/DataBrowserModule.d.ts +7 -0
  4. package/dist/@types/actions/connections/AddConnectionAction.d.ts +10 -0
  5. package/dist/@types/actions/connections/RemoveConnectionAction.d.ts +10 -0
  6. package/dist/@types/actions/schema-definitions/CreateModelAction.d.ts +9 -0
  7. package/dist/@types/actions/schema-definitions/QuerySchemaModelAction.d.ts +9 -0
  8. package/dist/@types/actions/schema-model/EditSchemaModelAction.d.ts +9 -0
  9. package/dist/@types/core/AbstractConnection.d.ts +34 -0
  10. package/dist/@types/core/AbstractConnectionFactory.d.ts +11 -0
  11. package/dist/@types/core/SchemaModelDefinition.d.ts +20 -0
  12. package/dist/@types/core/SchemaModelObject.d.ts +16 -0
  13. package/dist/@types/core/query/AbstractQuery.d.ts +22 -0
  14. package/dist/@types/core/query/Page.d.ts +24 -0
  15. package/dist/@types/core/query/SimpleQuery.d.ts +37 -0
  16. package/dist/@types/core/types/ManualConnection.d.ts +15 -0
  17. package/dist/@types/core/types/ManualConnectionFactory.d.ts +9 -0
  18. package/dist/@types/entities/ConnectionEntityDefinition.d.ts +9 -0
  19. package/dist/@types/entities/ConnectionFactoryEntityDefinition.d.ts +9 -0
  20. package/dist/@types/entities/QueryEntityDefinition.d.ts +9 -0
  21. package/dist/@types/entities/SchemaModelDefinitionEntityDefinition.d.ts +13 -0
  22. package/dist/@types/entities/SchemaModelObjectEntityDefinition.d.ts +14 -0
  23. package/dist/@types/entities.d.ts +7 -0
  24. package/dist/@types/forms/APIConnectionForm.d.ts +12 -0
  25. package/dist/@types/forms/SchemaModelForm.d.ts +11 -0
  26. package/dist/@types/forms/inputs/LocationInput.d.ts +13 -0
  27. package/dist/@types/index.d.ts +25 -0
  28. package/dist/@types/panels/model/ModelPanelFactory.d.ts +28 -0
  29. package/dist/@types/panels/model/ModelPanelWidget.d.ts +6 -0
  30. package/dist/@types/panels/query/PageResultsWidget.d.ts +8 -0
  31. package/dist/@types/panels/query/QueryPanelFactory.d.ts +33 -0
  32. package/dist/@types/panels/query/QueryPanelWidget.d.ts +6 -0
  33. package/dist/@types/panels/query/TableControlsWidget.d.ts +10 -0
  34. package/dist/@types/stores/ConnectionStore.d.ts +20 -0
  35. package/dist/DataBrowserModule.js +45 -0
  36. package/dist/DataBrowserModule.js.map +1 -0
  37. package/dist/actions/connections/AddConnectionAction.js +48 -0
  38. package/dist/actions/connections/AddConnectionAction.js.map +1 -0
  39. package/dist/actions/connections/RemoveConnectionAction.js +43 -0
  40. package/dist/actions/connections/RemoveConnectionAction.js.map +1 -0
  41. package/dist/actions/schema-definitions/CreateModelAction.js +45 -0
  42. package/dist/actions/schema-definitions/CreateModelAction.js.map +1 -0
  43. package/dist/actions/schema-definitions/QuerySchemaModelAction.js +47 -0
  44. package/dist/actions/schema-definitions/QuerySchemaModelAction.js.map +1 -0
  45. package/dist/actions/schema-model/EditSchemaModelAction.js +46 -0
  46. package/dist/actions/schema-model/EditSchemaModelAction.js.map +1 -0
  47. package/dist/core/AbstractConnection.js +71 -0
  48. package/dist/core/AbstractConnection.js.map +1 -0
  49. package/dist/core/AbstractConnectionFactory.js +6 -0
  50. package/dist/core/AbstractConnectionFactory.js.map +1 -0
  51. package/dist/core/SchemaModelDefinition.js +31 -0
  52. package/dist/core/SchemaModelDefinition.js.map +1 -0
  53. package/dist/core/SchemaModelObject.js +51 -0
  54. package/dist/core/SchemaModelObject.js.map +1 -0
  55. package/dist/core/query/AbstractQuery.js +18 -0
  56. package/dist/core/query/AbstractQuery.js.map +1 -0
  57. package/dist/core/query/Page.js +65 -0
  58. package/dist/core/query/Page.js.map +1 -0
  59. package/dist/core/query/SimpleQuery.js +197 -0
  60. package/dist/core/query/SimpleQuery.js.map +1 -0
  61. package/dist/core/types/ManualConnection.js +23 -0
  62. package/dist/core/types/ManualConnection.js.map +1 -0
  63. package/dist/core/types/ManualConnectionFactory.js +50 -0
  64. package/dist/core/types/ManualConnectionFactory.js.map +1 -0
  65. package/dist/entities/ConnectionEntityDefinition.js +75 -0
  66. package/dist/entities/ConnectionEntityDefinition.js.map +1 -0
  67. package/dist/entities/ConnectionFactoryEntityDefinition.js +60 -0
  68. package/dist/entities/ConnectionFactoryEntityDefinition.js.map +1 -0
  69. package/dist/entities/QueryEntityDefinition.js +60 -0
  70. package/dist/entities/QueryEntityDefinition.js.map +1 -0
  71. package/dist/entities/SchemaModelDefinitionEntityDefinition.js +76 -0
  72. package/dist/entities/SchemaModelDefinitionEntityDefinition.js.map +1 -0
  73. package/dist/entities/SchemaModelObjectEntityDefinition.js +76 -0
  74. package/dist/entities/SchemaModelObjectEntityDefinition.js.map +1 -0
  75. package/dist/entities.js +9 -0
  76. package/dist/entities.js.map +1 -0
  77. package/dist/forms/APIConnectionForm.js +31 -0
  78. package/dist/forms/APIConnectionForm.js.map +1 -0
  79. package/dist/forms/SchemaModelForm.js +87 -0
  80. package/dist/forms/SchemaModelForm.js.map +1 -0
  81. package/dist/forms/inputs/LocationInput.js +74 -0
  82. package/dist/forms/inputs/LocationInput.js.map +1 -0
  83. package/dist/index.js +26 -0
  84. package/dist/index.js.map +1 -0
  85. package/dist/panels/model/ModelPanelFactory.js +94 -0
  86. package/dist/panels/model/ModelPanelFactory.js.map +1 -0
  87. package/dist/panels/model/ModelPanelWidget.js +46 -0
  88. package/dist/panels/model/ModelPanelWidget.js.map +1 -0
  89. package/dist/panels/query/PageResultsWidget.js +24 -0
  90. package/dist/panels/query/PageResultsWidget.js.map +1 -0
  91. package/dist/panels/query/QueryPanelFactory.js +94 -0
  92. package/dist/panels/query/QueryPanelFactory.js.map +1 -0
  93. package/dist/panels/query/QueryPanelWidget.js +41 -0
  94. package/dist/panels/query/QueryPanelWidget.js.map +1 -0
  95. package/dist/panels/query/TableControlsWidget.js +52 -0
  96. package/dist/panels/query/TableControlsWidget.js.map +1 -0
  97. package/dist/stores/ConnectionStore.js +93 -0
  98. package/dist/stores/ConnectionStore.js.map +1 -0
  99. package/dist/tsconfig.tsbuildinfo +1 -0
  100. package/dist-module/bundle.js +49 -0
  101. package/dist-module/bundle.js.LICENSE.txt +16 -0
  102. package/dist-module/bundle.js.map +1 -0
  103. package/package.json +41 -0
  104. package/reactor.config.json +4 -0
  105. package/src/DataBrowserModule.ts +54 -0
  106. package/src/actions/connections/AddConnectionAction.tsx +33 -0
  107. package/src/actions/connections/RemoveConnectionAction.tsx +28 -0
  108. package/src/actions/schema-definitions/CreateModelAction.ts +32 -0
  109. package/src/actions/schema-definitions/QuerySchemaModelAction.ts +36 -0
  110. package/src/actions/schema-model/EditSchemaModelAction.ts +33 -0
  111. package/src/core/AbstractConnection.ts +104 -0
  112. package/src/core/AbstractConnectionFactory.ts +14 -0
  113. package/src/core/SchemaModelDefinition.ts +44 -0
  114. package/src/core/SchemaModelObject.ts +46 -0
  115. package/src/core/query/AbstractQuery.ts +43 -0
  116. package/src/core/query/Page.ts +59 -0
  117. package/src/core/query/SimpleQuery.tsx +218 -0
  118. package/src/core/types/ManualConnection.ts +35 -0
  119. package/src/core/types/ManualConnectionFactory.tsx +36 -0
  120. package/src/entities/ConnectionEntityDefinition.tsx +79 -0
  121. package/src/entities/ConnectionFactoryEntityDefinition.tsx +54 -0
  122. package/src/entities/QueryEntityDefinition.ts +46 -0
  123. package/src/entities/SchemaModelDefinitionEntityDefinition.ts +82 -0
  124. package/src/entities/SchemaModelObjectEntityDefinition.ts +78 -0
  125. package/src/entities.ts +7 -0
  126. package/src/forms/APIConnectionForm.tsx +48 -0
  127. package/src/forms/SchemaModelForm.tsx +116 -0
  128. package/src/forms/inputs/LocationInput.tsx +104 -0
  129. package/src/index.ts +27 -0
  130. package/src/panels/model/ModelPanelFactory.tsx +78 -0
  131. package/src/panels/model/ModelPanelWidget.tsx +76 -0
  132. package/src/panels/query/PageResultsWidget.tsx +52 -0
  133. package/src/panels/query/QueryPanelFactory.tsx +76 -0
  134. package/src/panels/query/QueryPanelWidget.tsx +72 -0
  135. package/src/panels/query/TableControlsWidget.tsx +85 -0
  136. package/src/stores/ConnectionStore.ts +87 -0
  137. package/tsconfig.json +14 -0
  138. 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,3 @@
1
+ # Reactor module Databrowser
2
+
3
+ This module acts as the scaffolding and core for the databrowser experience.
@@ -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,6 @@
1
+ import * as React from 'react';
2
+ import { ModelPanelModel } from './ModelPanelFactory';
3
+ export interface QueryPanelWidgetProps {
4
+ model: ModelPanelModel;
5
+ }
6
+ export declare const ModelPanelWidget: React.FC<QueryPanelWidgetProps>;
@@ -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,6 @@
1
+ import * as React from 'react';
2
+ import { QueryPanelModel } from './QueryPanelFactory';
3
+ export interface QueryPanelWidgetProps {
4
+ model: QueryPanelModel;
5
+ }
6
+ export declare const QueryPanelWidget: React.FC<QueryPanelWidgetProps>;
@@ -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"}