@journeyapps-labs/reactor-mod-data-browser 3.4.0 → 3.6.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 +20 -0
- package/dist/@types/actions/schema-model/DeleteSchemaModelAction.d.ts +12 -0
- package/dist/@types/core/AbstractConnection.d.ts +2 -0
- package/dist/@types/core/SchemaModelDefinition.d.ts +20 -0
- package/dist/@types/core/delete-schema-models.d.ts +8 -0
- package/dist/@types/entities/SchemaModelTreePresenterComponent.d.ts +10 -0
- package/dist/@types/forms/types/shared/ui.d.ts +6 -0
- package/dist/@types/index.d.ts +1 -0
- package/dist/@types/panels/query/PageResultsWidget.d.ts +5 -1
- package/dist/@types/panels/query/QueryPanelFactory.d.ts +8 -0
- package/dist/@types/panels/query/TableControlsWidget.d.ts +2 -0
- package/dist/@types/panels/query/table-controls/SelectionControlsWidget.d.ts +6 -0
- package/dist/@types/preferences/QueryControlPreferences.d.ts +14 -2
- package/dist/@types/preferences/SchemaOrderingPreferences.d.ts +22 -0
- package/dist/DataBrowserModule.js +4 -0
- package/dist/DataBrowserModule.js.map +1 -1
- package/dist/actions/schema-model/DeleteSchemaModelAction.js +27 -0
- package/dist/actions/schema-model/DeleteSchemaModelAction.js.map +1 -0
- package/dist/core/AbstractConnection.js +32 -3
- package/dist/core/AbstractConnection.js.map +1 -1
- package/dist/core/SchemaModelDefinition.js +73 -17
- package/dist/core/SchemaModelDefinition.js.map +1 -1
- package/dist/core/delete-schema-models.js +101 -0
- package/dist/core/delete-schema-models.js.map +1 -0
- package/dist/core/query/query-simple/SimpleQueryColumns.js +55 -50
- package/dist/core/query/query-simple/SimpleQueryColumns.js.map +1 -1
- package/dist/core/query/widgets/IDCellDisplayWidget.js +9 -4
- package/dist/core/query/widgets/IDCellDisplayWidget.js.map +1 -1
- package/dist/entities/SchemaModelDefinitionEntityDefinition.js +3 -10
- package/dist/entities/SchemaModelDefinitionEntityDefinition.js.map +1 -1
- package/dist/entities/SchemaModelObjectEntityDefinition.js +5 -0
- package/dist/entities/SchemaModelObjectEntityDefinition.js.map +1 -1
- package/dist/entities/SchemaModelTreePresenterComponent.js +23 -0
- package/dist/entities/SchemaModelTreePresenterComponent.js.map +1 -0
- package/dist/forms/SchemaModelForm.js +31 -29
- package/dist/forms/SchemaModelForm.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/panels/model/ModelPanelWidget.js +12 -8
- package/dist/panels/model/ModelPanelWidget.js.map +1 -1
- package/dist/panels/query/PageResultsWidget.js +26 -6
- package/dist/panels/query/PageResultsWidget.js.map +1 -1
- package/dist/panels/query/QueryPanelFactory.js +39 -4
- package/dist/panels/query/QueryPanelFactory.js.map +1 -1
- package/dist/panels/query/QueryPanelWidget.js +25 -10
- package/dist/panels/query/QueryPanelWidget.js.map +1 -1
- package/dist/panels/query/TableControlsWidget.js +2 -0
- package/dist/panels/query/TableControlsWidget.js.map +1 -1
- package/dist/panels/query/table-controls/SelectionControlsWidget.js +11 -0
- package/dist/panels/query/table-controls/SelectionControlsWidget.js.map +1 -0
- package/dist/preferences/QueryControlPreferences.js +45 -1
- package/dist/preferences/QueryControlPreferences.js.map +1 -1
- package/dist/preferences/SchemaOrderingPreferences.js +76 -0
- package/dist/preferences/SchemaOrderingPreferences.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist-module/bundle.js +74 -74
- package/dist-module/bundle.js.map +1 -1
- package/package.json +7 -6
- package/src/DataBrowserModule.ts +4 -0
- package/src/actions/schema-model/DeleteSchemaModelAction.ts +43 -0
- package/src/core/AbstractConnection.ts +33 -3
- package/src/core/SchemaModelDefinition.ts +97 -17
- package/src/core/delete-schema-models.ts +131 -0
- package/src/core/query/query-simple/SimpleQueryColumns.tsx +81 -74
- package/src/core/query/widgets/IDCellDisplayWidget.tsx +17 -4
- package/src/entities/SchemaModelDefinitionEntityDefinition.ts +3 -13
- package/src/entities/SchemaModelObjectEntityDefinition.ts +4 -0
- package/src/entities/SchemaModelTreePresenterComponent.ts +31 -0
- package/src/forms/SchemaModelForm.tsx +46 -41
- package/src/index.ts +1 -0
- package/src/panels/model/ModelPanelWidget.tsx +15 -8
- package/src/panels/query/PageResultsWidget.tsx +45 -8
- package/src/panels/query/QueryPanelFactory.tsx +23 -0
- package/src/panels/query/QueryPanelWidget.tsx +38 -22
- package/src/panels/query/TableControlsWidget.tsx +4 -0
- package/src/panels/query/table-controls/SelectionControlsWidget.tsx +34 -0
- package/src/preferences/QueryControlPreferences.ts +51 -2
- package/src/preferences/SchemaOrderingPreferences.ts +82 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @journeyapps-labs/reactor-mod-data-browser
|
|
2
2
|
|
|
3
|
+
## 3.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 25ca8e5: Add schema model delete workflows to the data browser.
|
|
8
|
+
- Add a delete action for individual schema model records.
|
|
9
|
+
- Add batch delete for multi-selected query rows.
|
|
10
|
+
- Add query table selection controls and selected-row context menu actions for batch operations.
|
|
11
|
+
- Close open model panels and refresh query views after records are deleted.
|
|
12
|
+
|
|
13
|
+
## 3.5.0
|
|
14
|
+
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
17
|
+
- 794a3d6: Add configurable schema and query display preferences in the data browser.
|
|
18
|
+
- add schema ordering preferences for models and fields, including schema-defined ordering for models and fields/relationships
|
|
19
|
+
- apply shared field ordering consistently across table columns, forms, and filterable schema fields
|
|
20
|
+
- add a query preference to toggle showing the raw ID value in the ID column while keeping the copy button available
|
|
21
|
+
- add a query preference to place table controls at the top, bottom, or both, defaulting to both
|
|
22
|
+
|
|
3
23
|
## 3.4.0
|
|
4
24
|
|
|
5
25
|
### Minor Changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EntityAction, EntityActionEvent } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { SchemaModelObject } from '../../core/SchemaModelObject';
|
|
3
|
+
import { ModelPanelModel } from '../../panels/model/ModelPanelFactory';
|
|
4
|
+
export interface DeleteSchemaModelActionEvent extends EntityActionEvent<SchemaModelObject> {
|
|
5
|
+
sourcePanel?: ModelPanelModel;
|
|
6
|
+
}
|
|
7
|
+
export declare class DeleteSchemaModelAction extends EntityAction<SchemaModelObject, DeleteSchemaModelActionEvent> {
|
|
8
|
+
static ID: string;
|
|
9
|
+
constructor();
|
|
10
|
+
fireEvent(event: DeleteSchemaModelActionEvent): Promise<any>;
|
|
11
|
+
static get(): DeleteSchemaModelAction;
|
|
12
|
+
}
|
|
@@ -38,12 +38,14 @@ export declare abstract class AbstractConnection extends BaseObserver<AbstractCo
|
|
|
38
38
|
};
|
|
39
39
|
}>;
|
|
40
40
|
batchSave(models: SchemaModelObject[]): Promise<void>;
|
|
41
|
+
batchDelete(models: SchemaModelObject[]): Promise<void>;
|
|
41
42
|
getSchemaModelDefinitionByName(name: string): SchemaModelDefinition;
|
|
42
43
|
get isOnline(): boolean;
|
|
43
44
|
get isLoadingOnline(): boolean;
|
|
44
45
|
waitForSchemaModelDefinitionByName(name: string): Promise<SchemaModelDefinition>;
|
|
45
46
|
abstract getConnection(): Promise<Database>;
|
|
46
47
|
protected getSchema(): Promise<Schema>;
|
|
48
|
+
protected getOrderedSchemaObjects(schema: Schema): ObjectType[];
|
|
47
49
|
reload(): Promise<void>;
|
|
48
50
|
init(): Promise<void>;
|
|
49
51
|
protected connectOnline(): Promise<void>;
|
|
@@ -24,6 +24,22 @@ export interface FilterableField {
|
|
|
24
24
|
label: string;
|
|
25
25
|
group: 'Fields' | 'Belongs to';
|
|
26
26
|
}
|
|
27
|
+
export declare enum OrderedSchemaFieldType {
|
|
28
|
+
FIELD = "FIELD",
|
|
29
|
+
BELONGS_TO = "BELONGS_TO"
|
|
30
|
+
}
|
|
31
|
+
export type OrderedSchemaFieldOrRelationship = {
|
|
32
|
+
type: OrderedSchemaFieldType.FIELD;
|
|
33
|
+
object: Variable;
|
|
34
|
+
key: string;
|
|
35
|
+
label: string;
|
|
36
|
+
} | {
|
|
37
|
+
type: OrderedSchemaFieldType.BELONGS_TO;
|
|
38
|
+
object: ObjectType['belongsTo'][string];
|
|
39
|
+
key: string;
|
|
40
|
+
label: string;
|
|
41
|
+
variable: Variable;
|
|
42
|
+
};
|
|
27
43
|
export declare class SchemaModelDefinition extends BaseObserver<SchemaModelDefinitionListener> implements LifecycleModel<ObjectType> {
|
|
28
44
|
protected options: SchemaModelDefinitionOptions;
|
|
29
45
|
cache: Map<string, SchemaModelObject>;
|
|
@@ -49,5 +65,9 @@ export declare class SchemaModelDefinition extends BaseObserver<SchemaModelDefin
|
|
|
49
65
|
variable: Variable;
|
|
50
66
|
relationship: ObjectType['belongsTo'][string];
|
|
51
67
|
} | undefined;
|
|
68
|
+
private getSchemaOrderedFields;
|
|
69
|
+
private getSchemaOrderedBelongsToFields;
|
|
70
|
+
private getAlphabeticalOrderedFields;
|
|
71
|
+
getOrderedFieldsAndRelationships(): OrderedSchemaFieldOrRelationship[];
|
|
52
72
|
getFilterableFields(typeEngine: TypeEngine): FilterableField[];
|
|
53
73
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactorPanelModel } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { SchemaModelObject } from './SchemaModelObject';
|
|
3
|
+
export interface DeleteSchemaModelsOptions {
|
|
4
|
+
models: SchemaModelObject[];
|
|
5
|
+
sourcePanel?: ReactorPanelModel;
|
|
6
|
+
}
|
|
7
|
+
export declare const runDeleteSchemaModels: (options: DeleteSchemaModelsOptions) => Promise<boolean>;
|
|
8
|
+
export declare const deleteSchemaModels: (options: DeleteSchemaModelsOptions) => Promise<boolean>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CachedEntityTreePresenterContext, EntityTreePresenterComponent, ReactorTreeEntity } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { SchemaModelDefinition } from '../core/SchemaModelDefinition';
|
|
3
|
+
declare class SchemaModelTreePresenterContext extends CachedEntityTreePresenterContext<SchemaModelDefinition> {
|
|
4
|
+
getSortedEntities(entities: SchemaModelDefinition[]): SchemaModelDefinition[];
|
|
5
|
+
protected doGenerateTreeNode(entity: SchemaModelDefinition, options: any): ReactorTreeEntity;
|
|
6
|
+
}
|
|
7
|
+
export declare class SchemaModelTreePresenterComponent extends EntityTreePresenterComponent<SchemaModelDefinition> {
|
|
8
|
+
protected _generateContext(): SchemaModelTreePresenterContext;
|
|
9
|
+
}
|
|
10
|
+
export {};
|
|
@@ -239,6 +239,8 @@ declare namespace S {
|
|
|
239
239
|
groupBackground: string;
|
|
240
240
|
even: string;
|
|
241
241
|
odd: string;
|
|
242
|
+
selectedEven: string;
|
|
243
|
+
selectedOdd: string;
|
|
242
244
|
pills: string;
|
|
243
245
|
text: string;
|
|
244
246
|
pillsSpecial: string;
|
|
@@ -496,6 +498,8 @@ declare namespace S {
|
|
|
496
498
|
groupBackground: string;
|
|
497
499
|
even: string;
|
|
498
500
|
odd: string;
|
|
501
|
+
selectedEven: string;
|
|
502
|
+
selectedOdd: string;
|
|
499
503
|
pills: string;
|
|
500
504
|
text: string;
|
|
501
505
|
pillsSpecial: string;
|
|
@@ -754,6 +758,8 @@ declare namespace S {
|
|
|
754
758
|
groupBackground: string;
|
|
755
759
|
even: string;
|
|
756
760
|
odd: string;
|
|
761
|
+
selectedEven: string;
|
|
762
|
+
selectedOdd: string;
|
|
757
763
|
pills: string;
|
|
758
764
|
text: string;
|
|
759
765
|
pillsSpecial: string;
|
package/dist/@types/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export * from './entities/QueryEntityDefinition';
|
|
|
13
13
|
export * from './entities/ConnectionEntityDefinition';
|
|
14
14
|
export * from './entities/ConnectionFactoryEntityDefinition';
|
|
15
15
|
export * from './entities/SchemaModelDefinitionEntityDefinition';
|
|
16
|
+
export * from './entities/SchemaModelTreePresenterComponent';
|
|
16
17
|
export * from './entities/SchemaModelObjectEntityDefinition';
|
|
17
18
|
export * from './panels/query/QueryPanelFactory';
|
|
18
19
|
export * from './panels/model/ModelPanelFactory';
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Page } from '../../core/query/Page';
|
|
2
|
+
import { Page, PageRow } from '../../core/query/Page';
|
|
3
|
+
import { MultiSelectChangeEvent } from '@journeyapps-labs/reactor-mod';
|
|
3
4
|
import { AbstractQuery } from '../../core/query/AbstractQuery';
|
|
5
|
+
import { SchemaModelObject } from '../../core/SchemaModelObject';
|
|
4
6
|
export interface PageResultsWidgetProps {
|
|
5
7
|
page: Page;
|
|
6
8
|
query: AbstractQuery;
|
|
9
|
+
selectedModels: SchemaModelObject[];
|
|
10
|
+
onSelectionChange: (event: MultiSelectChangeEvent<PageRow>) => void;
|
|
7
11
|
scrollTop: number;
|
|
8
12
|
scrollLeft: number;
|
|
9
13
|
onScroll: (offsets: {
|
|
@@ -6,14 +6,22 @@ import { WorkspaceEngine, WorkspaceModelFactoryEvent } from '@projectstorm/react
|
|
|
6
6
|
import { AbstractConnection } from '../../core/AbstractConnection';
|
|
7
7
|
import { SharedConnectionPanelFactory } from '../_shared/SharedConnectionPanelFactory';
|
|
8
8
|
import { Page } from '../../core/query/Page';
|
|
9
|
+
import { SchemaModelObject } from '../../core/SchemaModelObject';
|
|
9
10
|
export declare class QueryPanelModel extends ReactorPanelModel {
|
|
10
11
|
accessor connStore: ConnectionStore;
|
|
11
12
|
accessor query: AbstractQuery;
|
|
12
13
|
accessor current_page: number;
|
|
13
14
|
accessor current_page_data: Page | null;
|
|
15
|
+
accessor selected_models: SchemaModelObject[];
|
|
14
16
|
accessor table_scroll_top: number;
|
|
15
17
|
accessor table_scroll_left: number;
|
|
16
18
|
constructor(query: AbstractQuery);
|
|
19
|
+
clearSelection(): void;
|
|
20
|
+
mergeSelectionForPage(event: {
|
|
21
|
+
page: Page;
|
|
22
|
+
models: SchemaModelObject[];
|
|
23
|
+
}): void;
|
|
24
|
+
reloadQuery(): Promise<void>;
|
|
17
25
|
isSerializable(): boolean;
|
|
18
26
|
toArray(): {
|
|
19
27
|
current_page: number;
|
|
@@ -8,5 +8,7 @@ export interface TableControlsWidgetProps {
|
|
|
8
8
|
query: AbstractQuery;
|
|
9
9
|
onLoadSavedQuery?: (id: string) => Promise<any> | any;
|
|
10
10
|
loading?: boolean;
|
|
11
|
+
selectedCount: number;
|
|
12
|
+
onDeleteSelected: () => Promise<void>;
|
|
11
13
|
}
|
|
12
14
|
export declare const TableControlsWidget: React.FC<TableControlsWidgetProps>;
|
|
@@ -1,7 +1,19 @@
|
|
|
1
|
-
import { PrefsStore } from '@journeyapps-labs/reactor-mod';
|
|
1
|
+
import { PrefsStore, SetSetting } from '@journeyapps-labs/reactor-mod';
|
|
2
2
|
export declare enum QueryControlPreferences {
|
|
3
3
|
SHOW_SORT_CONTROLS = "databrowser/query-controls/show-sort-controls",
|
|
4
4
|
SHOW_FILTER_CONTROLS = "databrowser/query-controls/show-filter-controls",
|
|
5
|
-
FILTER_NULL_FIELDS_IN_RELATIONSHIP_PEEK = "databrowser/query-controls/filter-null-fields-in-relationship-peek"
|
|
5
|
+
FILTER_NULL_FIELDS_IN_RELATIONSHIP_PEEK = "databrowser/query-controls/filter-null-fields-in-relationship-peek",
|
|
6
|
+
SHOW_ID_VALUE_IN_ID_COLUMN = "databrowser/query-controls/show-id-value-in-id-column",
|
|
7
|
+
TABLE_CONTROLS_POSITION = "databrowser/query-controls/table-controls-position"
|
|
8
|
+
}
|
|
9
|
+
export declare enum TableControlsPositionValue {
|
|
10
|
+
TOP = "top",
|
|
11
|
+
BOTTOM = "bottom",
|
|
12
|
+
BOTH = "both"
|
|
13
|
+
}
|
|
14
|
+
export declare class TableControlsPositionPreference extends SetSetting {
|
|
15
|
+
static KEY: QueryControlPreferences;
|
|
16
|
+
constructor();
|
|
17
|
+
static getValue(): TableControlsPositionValue;
|
|
6
18
|
}
|
|
7
19
|
export declare const registerQueryControlPreferences: (prefsStore: PrefsStore) => void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { PrefsStore, SetSetting } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
export declare enum SchemaModelOrderValue {
|
|
3
|
+
ALPHABETICAL = "alphabetical",
|
|
4
|
+
AS_DEFINED_IN_SCHEMA = "as_defined_in_schema"
|
|
5
|
+
}
|
|
6
|
+
export declare class SchemaModelOrderingPreference extends SetSetting {
|
|
7
|
+
static KEY: string;
|
|
8
|
+
constructor();
|
|
9
|
+
static getValue(): SchemaModelOrderValue;
|
|
10
|
+
}
|
|
11
|
+
export declare enum SchemaFieldOrderValue {
|
|
12
|
+
ALPHABETICAL = "alphabetical",
|
|
13
|
+
BELONGS_TO_FIRST = "belongs_to_first",
|
|
14
|
+
BELONGS_TO_LAST = "belongs_to_last",
|
|
15
|
+
AS_DEFINED_IN_SCHEMA = "as_defined_in_schema"
|
|
16
|
+
}
|
|
17
|
+
export declare class SchemaFieldOrderingPreference extends SetSetting {
|
|
18
|
+
static KEY: string;
|
|
19
|
+
constructor();
|
|
20
|
+
static getValue(): SchemaFieldOrderValue;
|
|
21
|
+
}
|
|
22
|
+
export declare const registerSchemaOrderingPreferences: (prefsStore: PrefsStore) => void;
|
|
@@ -17,6 +17,7 @@ import { EditSchemaModelAction } from './actions/schema-model/EditSchemaModelAct
|
|
|
17
17
|
import { TypeEngine } from './forms/TypeEngine';
|
|
18
18
|
import { ViewSchemaModelAsJsonAction } from './actions/schema-model/ViewSchemaModelAsJsonAction';
|
|
19
19
|
import { ViewHasManyAction } from './actions/schema-model/ViewHasManyAction';
|
|
20
|
+
import { DeleteSchemaModelAction } from './actions/schema-model/DeleteSchemaModelAction';
|
|
20
21
|
import { ModelJsonPanelFactory } from './panels/model-json/ModelJsonPanelFactory';
|
|
21
22
|
import { SchemaModelIndexDefinition } from './entities/SchemaModelIndexDefinition';
|
|
22
23
|
import { SavedQueryStore } from './stores/SavedQueryStore';
|
|
@@ -24,6 +25,7 @@ import { SavedQueryEntityDefinition } from './entities/SavedQueryEntityDefinitio
|
|
|
24
25
|
import { OpenSavedQueryAction } from './actions/saved-queries/OpenSavedQueryAction';
|
|
25
26
|
import { RemoveSavedQueryAction } from './actions/saved-queries/RemoveSavedQueryAction';
|
|
26
27
|
import { registerQueryControlPreferences } from './preferences/QueryControlPreferences';
|
|
28
|
+
import { registerSchemaOrderingPreferences } from './preferences/SchemaOrderingPreferences';
|
|
27
29
|
export class DataBrowserModule extends AbstractReactorModule {
|
|
28
30
|
constructor() {
|
|
29
31
|
super({
|
|
@@ -45,11 +47,13 @@ export class DataBrowserModule extends AbstractReactorModule {
|
|
|
45
47
|
actionStore.registerAction(new EditSchemaModelAction());
|
|
46
48
|
actionStore.registerAction(new ViewSchemaModelAsJsonAction());
|
|
47
49
|
actionStore.registerAction(new ViewHasManyAction());
|
|
50
|
+
actionStore.registerAction(new DeleteSchemaModelAction());
|
|
48
51
|
actionStore.registerAction(new OpenSavedQueryAction());
|
|
49
52
|
actionStore.registerAction(new RemoveSavedQueryAction());
|
|
50
53
|
system.addStore(ConnectionStore, connectionStore);
|
|
51
54
|
system.addStore(SavedQueryStore, new SavedQueryStore());
|
|
52
55
|
registerQueryControlPreferences(ioc.get(PrefsStore));
|
|
56
|
+
registerSchemaOrderingPreferences(ioc.get(PrefsStore));
|
|
53
57
|
system.registerDefinition(new ConnectionEntityDefinition());
|
|
54
58
|
system.registerDefinition(new ConnectionFactoryEntityDefinition());
|
|
55
59
|
system.registerDefinition(new SchemaModelDefinitionEntityDefinition());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataBrowserModule.js","sourceRoot":"","sources":["../src/DataBrowserModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEvH,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,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,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;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"DataBrowserModule.js","sourceRoot":"","sources":["../src/DataBrowserModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ActionStore, EntityAction, ioc, setupDeleteConfirmation } from '@journeyapps-labs/reactor-mod';
|
|
2
|
+
import { DataBrowserEntities } from '../../entities';
|
|
3
|
+
import { runDeleteSchemaModels } from '../../core/delete-schema-models';
|
|
4
|
+
export class DeleteSchemaModelAction extends EntityAction {
|
|
5
|
+
constructor() {
|
|
6
|
+
super({
|
|
7
|
+
id: DeleteSchemaModelAction.ID,
|
|
8
|
+
name: 'Delete schema model',
|
|
9
|
+
icon: 'trash',
|
|
10
|
+
target: DataBrowserEntities.SCHEMA_MODEL_OBJECT
|
|
11
|
+
});
|
|
12
|
+
setupDeleteConfirmation({
|
|
13
|
+
action: this
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async fireEvent(event) {
|
|
17
|
+
await runDeleteSchemaModels({
|
|
18
|
+
models: [event.targetEntity],
|
|
19
|
+
sourcePanel: event.sourcePanel
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
static get() {
|
|
23
|
+
return ioc.get(ActionStore).getActionByID(DeleteSchemaModelAction.ID);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
DeleteSchemaModelAction.ID = 'DELETE_SCHEMA_MODEL';
|
|
27
|
+
//# sourceMappingURL=DeleteSchemaModelAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteSchemaModelAction.js","sourceRoot":"","sources":["../../../src/actions/schema-model/DeleteSchemaModelAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,YAAY,EAEZ,GAAG,EACH,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAOxE,MAAM,OAAO,uBAAwB,SAAQ,YAA6D;IAGxG;QACE,KAAK,CAAC;YACJ,EAAE,EAAE,uBAAuB,CAAC,EAAE;YAC9B,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,mBAAmB,CAAC,mBAAmB;SAChD,CAAC,CAAC;QAEH,uBAAuB,CAAC;YACtB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAmC;QACjD,MAAM,qBAAqB,CAAC;YAC1B,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;YAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,GAAG;QACR,OAAO,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,CAA0B,uBAAuB,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC;;AAxBM,0BAAE,GAAG,qBAAqB,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { __classPrivateFieldGet, __classPrivateFieldSet, __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import * as _ from 'lodash';
|
|
3
2
|
import { SchemaModelDefinition } from './SchemaModelDefinition';
|
|
4
3
|
import { v4 } from 'uuid';
|
|
5
4
|
import { BaseObserver } from '@journeyapps-labs/common-utils';
|
|
@@ -7,6 +6,8 @@ import { Collection, LifecycleCollection } from '@journeyapps-labs/lib-reactor-d
|
|
|
7
6
|
import { when } from 'mobx';
|
|
8
7
|
import { computed, observable } from 'mobx';
|
|
9
8
|
import { getDefaultConnectionColor } from './connection-colors';
|
|
9
|
+
import { SchemaModelOrderValue, SchemaModelOrderingPreference } from '../preferences/SchemaOrderingPreferences';
|
|
10
|
+
import * as _ from 'lodash';
|
|
10
11
|
export var ConnectionOnlineState;
|
|
11
12
|
(function (ConnectionOnlineState) {
|
|
12
13
|
ConnectionOnlineState["OFFLINE"] = "offline";
|
|
@@ -81,6 +82,27 @@ let AbstractConnection = (() => {
|
|
|
81
82
|
model.reload();
|
|
82
83
|
}
|
|
83
84
|
}
|
|
85
|
+
async batchDelete(models) {
|
|
86
|
+
var _b, _c;
|
|
87
|
+
if (models.length === 0) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const database = await this.getConnection();
|
|
91
|
+
let batch = new database.Batch();
|
|
92
|
+
for (let model of models) {
|
|
93
|
+
if (!((_b = model === null || model === void 0 ? void 0 : model.model) === null || _b === void 0 ? void 0 : _b.persisted)) {
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
batch.destroy(model.model);
|
|
97
|
+
}
|
|
98
|
+
await batch.execute();
|
|
99
|
+
for (let model of models) {
|
|
100
|
+
if (!((_c = model === null || model === void 0 ? void 0 : model.model) === null || _c === void 0 ? void 0 : _c.persisted)) {
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
model.definition.cache.delete(model.id);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
84
106
|
getSchemaModelDefinitionByName(name) {
|
|
85
107
|
return this.schema_models.items.find((i) => i.definition.name === name);
|
|
86
108
|
}
|
|
@@ -99,10 +121,17 @@ let AbstractConnection = (() => {
|
|
|
99
121
|
const connection = await this.getConnection();
|
|
100
122
|
return connection.schema;
|
|
101
123
|
}
|
|
124
|
+
getOrderedSchemaObjects(schema) {
|
|
125
|
+
const objects = Object.keys(schema.objects).map((key) => schema.objects[key]);
|
|
126
|
+
if (SchemaModelOrderingPreference.getValue() === SchemaModelOrderValue.ALPHABETICAL) {
|
|
127
|
+
return _.sortBy(objects, (object) => (object.label || object.name || '').toLowerCase());
|
|
128
|
+
}
|
|
129
|
+
return objects;
|
|
130
|
+
}
|
|
102
131
|
async reload() {
|
|
103
132
|
await this.schema_models_collection.load(async () => {
|
|
104
133
|
const schema = await this.getSchema();
|
|
105
|
-
return
|
|
134
|
+
return this.getOrderedSchemaObjects(schema);
|
|
106
135
|
});
|
|
107
136
|
}
|
|
108
137
|
async init() { }
|
|
@@ -133,7 +162,7 @@ let AbstractConnection = (() => {
|
|
|
133
162
|
}
|
|
134
163
|
async getSchemaModelDefinitions() {
|
|
135
164
|
const schema = await this.getSchema();
|
|
136
|
-
return
|
|
165
|
+
return this.getOrderedSchemaObjects(schema).map((o) => {
|
|
137
166
|
return new SchemaModelDefinition({
|
|
138
167
|
definition: o,
|
|
139
168
|
connection: this
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractConnection.js","sourceRoot":"","sources":["../../src/core/AbstractConnection.ts"],"names":[],"mappings":";AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"AbstractConnection.js","sourceRoot":"","sources":["../../src/core/AbstractConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,12 @@ import { queue } from 'async';
|
|
|
7
7
|
import { observable } from 'mobx';
|
|
8
8
|
import { IndexModel } from './IndexModel';
|
|
9
9
|
import { STANDARD_MODEL_FIELD_LABELS, StandardModelFields, idVariable } from './query/StandardModelFields';
|
|
10
|
+
import { SchemaFieldOrderValue, SchemaFieldOrderingPreference } from '../preferences/SchemaOrderingPreferences';
|
|
11
|
+
export var OrderedSchemaFieldType;
|
|
12
|
+
(function (OrderedSchemaFieldType) {
|
|
13
|
+
OrderedSchemaFieldType["FIELD"] = "FIELD";
|
|
14
|
+
OrderedSchemaFieldType["BELONGS_TO"] = "BELONGS_TO";
|
|
15
|
+
})(OrderedSchemaFieldType || (OrderedSchemaFieldType = {}));
|
|
10
16
|
let SchemaModelDefinition = (() => {
|
|
11
17
|
var _a, _SchemaModelDefinition_indexes_accessor_storage;
|
|
12
18
|
let _classSuper = BaseObserver;
|
|
@@ -175,6 +181,62 @@ let SchemaModelDefinition = (() => {
|
|
|
175
181
|
relationship
|
|
176
182
|
};
|
|
177
183
|
}
|
|
184
|
+
getSchemaOrderedFields() {
|
|
185
|
+
return Object.keys(this.definition.attributes).map((key) => this.definition.attributes[key]);
|
|
186
|
+
}
|
|
187
|
+
getSchemaOrderedBelongsToFields() {
|
|
188
|
+
return Object.keys(this.definition.belongsTo)
|
|
189
|
+
.map((relationshipName) => {
|
|
190
|
+
const relationship = this.definition.belongsTo[relationshipName];
|
|
191
|
+
const variable = this.getBelongsToIdVariableForRelationship(relationshipName);
|
|
192
|
+
if (!relationship || !variable) {
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
return {
|
|
196
|
+
type: OrderedSchemaFieldType.BELONGS_TO,
|
|
197
|
+
object: relationship,
|
|
198
|
+
key: variable.name,
|
|
199
|
+
label: relationship.name || variable.label || variable.name,
|
|
200
|
+
variable
|
|
201
|
+
};
|
|
202
|
+
})
|
|
203
|
+
.filter((value) => !!value);
|
|
204
|
+
}
|
|
205
|
+
getAlphabeticalOrderedFields() {
|
|
206
|
+
return _.sortBy(this.getSchemaOrderedFields().map((attribute) => {
|
|
207
|
+
return {
|
|
208
|
+
type: OrderedSchemaFieldType.FIELD,
|
|
209
|
+
object: attribute,
|
|
210
|
+
key: attribute.name,
|
|
211
|
+
label: attribute.label || attribute.name
|
|
212
|
+
};
|
|
213
|
+
}), (item) => item.label.toLowerCase());
|
|
214
|
+
}
|
|
215
|
+
getOrderedFieldsAndRelationships() {
|
|
216
|
+
const orderedFields = this.getAlphabeticalOrderedFields();
|
|
217
|
+
const orderedBelongsTo = _.sortBy(this.getSchemaOrderedBelongsToFields(), (item) => item.label.toLowerCase());
|
|
218
|
+
switch (SchemaFieldOrderingPreference.getValue()) {
|
|
219
|
+
case SchemaFieldOrderValue.ALPHABETICAL:
|
|
220
|
+
return _.sortBy([...orderedFields, ...orderedBelongsTo], (item) => item.label.toLowerCase());
|
|
221
|
+
case SchemaFieldOrderValue.BELONGS_TO_FIRST:
|
|
222
|
+
return [...orderedBelongsTo, ...orderedFields];
|
|
223
|
+
case SchemaFieldOrderValue.BELONGS_TO_LAST:
|
|
224
|
+
return [...orderedFields, ...orderedBelongsTo];
|
|
225
|
+
case SchemaFieldOrderValue.AS_DEFINED_IN_SCHEMA:
|
|
226
|
+
default:
|
|
227
|
+
return [
|
|
228
|
+
...this.getSchemaOrderedFields().map((attribute) => {
|
|
229
|
+
return {
|
|
230
|
+
type: OrderedSchemaFieldType.FIELD,
|
|
231
|
+
object: attribute,
|
|
232
|
+
key: attribute.name,
|
|
233
|
+
label: attribute.label || attribute.name
|
|
234
|
+
};
|
|
235
|
+
}),
|
|
236
|
+
...this.getSchemaOrderedBelongsToFields()
|
|
237
|
+
];
|
|
238
|
+
}
|
|
239
|
+
}
|
|
178
240
|
getFilterableFields(typeEngine) {
|
|
179
241
|
var _b;
|
|
180
242
|
return [
|
|
@@ -187,28 +249,22 @@ let SchemaModelDefinition = (() => {
|
|
|
187
249
|
}
|
|
188
250
|
]
|
|
189
251
|
: []),
|
|
190
|
-
...
|
|
191
|
-
.map((
|
|
192
|
-
if (
|
|
193
|
-
return
|
|
252
|
+
...this.getOrderedFieldsAndRelationships()
|
|
253
|
+
.map((entry) => {
|
|
254
|
+
if (entry.type === OrderedSchemaFieldType.BELONGS_TO) {
|
|
255
|
+
return {
|
|
256
|
+
key: entry.key,
|
|
257
|
+
label: entry.label,
|
|
258
|
+
group: 'Belongs to'
|
|
259
|
+
};
|
|
194
260
|
}
|
|
195
|
-
const
|
|
196
|
-
return {
|
|
197
|
-
key: variable.name,
|
|
198
|
-
label: (relationship === null || relationship === void 0 ? void 0 : relationship.name) || variable.label || variable.name,
|
|
199
|
-
group: 'Belongs to'
|
|
200
|
-
};
|
|
201
|
-
})
|
|
202
|
-
.filter((value) => !!value),
|
|
203
|
-
...Object.values(this.definition.attributes)
|
|
204
|
-
.map((attribute) => {
|
|
205
|
-
const handler = typeEngine.getHandler(attribute.type);
|
|
261
|
+
const handler = typeEngine.getHandler(entry.object.type);
|
|
206
262
|
if (!(handler === null || handler === void 0 ? void 0 : handler.setupFilter)) {
|
|
207
263
|
return null;
|
|
208
264
|
}
|
|
209
265
|
return {
|
|
210
|
-
key:
|
|
211
|
-
label:
|
|
266
|
+
key: entry.key,
|
|
267
|
+
label: entry.label,
|
|
212
268
|
group: 'Fields'
|
|
213
269
|
};
|
|
214
270
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaModelDefinition.js","sourceRoot":"","sources":["../../src/core/SchemaModelDefinition.ts"],"names":[],"mappings":";AAEA,OAAO,EAAc,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AACjF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAe,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAU,UAAU,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"SchemaModelDefinition.js","sourceRoot":"","sources":["../../src/core/SchemaModelDefinition.ts"],"names":[],"mappings":"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"}
|