@entropic-bond/crud-panel 3.5.3 → 3.7.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/lib/crud-controller.d.ts +18 -5
- package/lib/crud-controller.js +81 -63
- package/lib/crud-controller.js.map +1 -1
- package/lib/crud-controller.spec.d.ts +2 -2
- package/lib/crud-controller.spec.js +52 -17
- package/lib/crud-controller.spec.js.map +1 -1
- package/lib/crud-panel.d.ts +3 -3
- package/lib/crud-panel.js +32 -46
- package/lib/crud-panel.js.map +1 -1
- package/lib/crud-panel.spec.js +63 -68
- package/lib/crud-panel.spec.js.map +1 -1
- package/lib/progress-controller.js +1 -1
- package/lib/progress-controller.js.map +1 -1
- package/package.json +10 -10
package/lib/crud-controller.d.ts
CHANGED
|
@@ -6,17 +6,28 @@ export interface CrudControllerEvent<T extends EntropicComponent> {
|
|
|
6
6
|
documentChanged?: T;
|
|
7
7
|
documentCollection?: T[];
|
|
8
8
|
action?: CrudControllerAction;
|
|
9
|
-
error?: Error;
|
|
9
|
+
/** deprecated */ error?: Error;
|
|
10
10
|
}
|
|
11
11
|
export declare abstract class CrudController<T extends EntropicComponent> {
|
|
12
|
+
static readonly errorMessages: {
|
|
13
|
+
missedDocument: string;
|
|
14
|
+
};
|
|
12
15
|
constructor(document?: T);
|
|
13
16
|
abstract allRequiredPropertiesFilled(): boolean;
|
|
14
17
|
protected abstract createDocument(): T;
|
|
15
18
|
protected abstract getModel(): Model<T>;
|
|
16
19
|
protected storeDoc(): Promise<void>;
|
|
17
20
|
protected deleteDoc(): Promise<void>;
|
|
18
|
-
protected findDocs(limit
|
|
21
|
+
protected findDocs(limit?: number): Promise<T[]>;
|
|
19
22
|
onChange(observer: Callback<CrudControllerEvent<T>>): Unsubscriber;
|
|
23
|
+
/**
|
|
24
|
+
* Notifies the observer of any error that occurs during the execution of the controller.
|
|
25
|
+
* If there are no subscribers to this event, the error will be thrown.
|
|
26
|
+
*
|
|
27
|
+
* @param observer
|
|
28
|
+
* @returns the unsubscriber function
|
|
29
|
+
*/
|
|
30
|
+
onError(observer: Callback<Error>): Unsubscriber;
|
|
20
31
|
protected notifyChange<U extends CrudControllerEvent<T>>(event: U): void;
|
|
21
32
|
newDocument(): CrudController<T>;
|
|
22
33
|
storeDocument(): Promise<void>;
|
|
@@ -24,12 +35,14 @@ export declare abstract class CrudController<T extends EntropicComponent> {
|
|
|
24
35
|
documentCollection(limit?: number): Promise<T[]>;
|
|
25
36
|
onProgress(observer: Callback<ProgressEvent>): Unsubscriber;
|
|
26
37
|
protected get model(): Model<T>;
|
|
27
|
-
setDocument(value: T): CrudController<T>;
|
|
28
|
-
set document(value: T);
|
|
29
|
-
get document(): T;
|
|
38
|
+
setDocument(value: T | undefined): CrudController<T>;
|
|
39
|
+
set document(value: T | undefined);
|
|
40
|
+
get document(): T | undefined;
|
|
30
41
|
protected errorToError(error: any): Error;
|
|
42
|
+
protected get throwOnError(): boolean;
|
|
31
43
|
protected progressController: ProgressController;
|
|
32
44
|
protected onChangeHdl: Observable<CrudControllerEvent<T>>;
|
|
45
|
+
protected onErrorHdl: Observable<Error>;
|
|
33
46
|
private _model;
|
|
34
47
|
private _document;
|
|
35
48
|
private unsubscribeDocument;
|
package/lib/crud-controller.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.CrudController = void 0;
|
|
13
4
|
const entropic_bond_1 = require("entropic-bond");
|
|
@@ -16,79 +7,100 @@ class CrudController {
|
|
|
16
7
|
constructor(document) {
|
|
17
8
|
this.progressController = new progress_controller_1.ProgressController();
|
|
18
9
|
this.onChangeHdl = new entropic_bond_1.Observable();
|
|
10
|
+
this.onErrorHdl = new entropic_bond_1.Observable();
|
|
19
11
|
this.setDocument(document || this.createDocument());
|
|
20
12
|
}
|
|
21
13
|
storeDoc() {
|
|
14
|
+
if (!this.document)
|
|
15
|
+
throw new Error(CrudController.errorMessages.missedDocument);
|
|
22
16
|
return this.model.save(this.document);
|
|
23
17
|
}
|
|
24
18
|
deleteDoc() {
|
|
19
|
+
if (!this.document)
|
|
20
|
+
throw new Error(CrudController.errorMessages.missedDocument);
|
|
25
21
|
return this.model.delete(this.document.id);
|
|
26
22
|
}
|
|
27
23
|
findDocs(limit) {
|
|
28
|
-
|
|
24
|
+
if (!limit)
|
|
25
|
+
return this.model.find().get();
|
|
26
|
+
else
|
|
27
|
+
return this.model.find().limit(limit).get();
|
|
29
28
|
}
|
|
30
29
|
onChange(observer) {
|
|
31
30
|
return this.onChangeHdl.subscribe(observer);
|
|
32
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Notifies the observer of any error that occurs during the execution of the controller.
|
|
34
|
+
* If there are no subscribers to this event, the error will be thrown.
|
|
35
|
+
*
|
|
36
|
+
* @param observer
|
|
37
|
+
* @returns the unsubscriber function
|
|
38
|
+
*/
|
|
39
|
+
onError(observer) {
|
|
40
|
+
return this.onErrorHdl.subscribe(observer);
|
|
41
|
+
}
|
|
33
42
|
notifyChange(event) {
|
|
34
43
|
this.onChangeHdl.notify(event);
|
|
35
44
|
}
|
|
36
45
|
newDocument() {
|
|
37
46
|
return this.setDocument(this.createDocument());
|
|
38
47
|
}
|
|
39
|
-
storeDocument() {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
this.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
48
|
+
async storeDocument() {
|
|
49
|
+
const progressStage = 'Saving main document';
|
|
50
|
+
try {
|
|
51
|
+
this.progressController.notifyBusy(true, progressStage);
|
|
52
|
+
await this.storeDoc();
|
|
53
|
+
this.onChangeHdl.notify({
|
|
54
|
+
documentCollection: await this.documentCollection(),
|
|
55
|
+
action: 'saved'
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
this.onChangeHdl.notify({ error: this.errorToError(error) });
|
|
60
|
+
this.onErrorHdl.notify(this.errorToError(error));
|
|
61
|
+
if (this.throwOnError)
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
this.progressController.notifyBusy(false, progressStage);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async deleteDocument() {
|
|
69
|
+
const progressStage = 'Delete main document';
|
|
70
|
+
try {
|
|
71
|
+
this.progressController.notifyBusy(true, progressStage);
|
|
72
|
+
await this.deleteDoc();
|
|
73
|
+
this.onChangeHdl.notify({
|
|
74
|
+
documentCollection: await this.documentCollection(),
|
|
75
|
+
action: 'deleted'
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
this.onChangeHdl.notify({ error: this.errorToError(error) });
|
|
80
|
+
this.onErrorHdl.notify(this.errorToError(error));
|
|
81
|
+
if (this.throwOnError)
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
this.progressController.notifyBusy(false, progressStage);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async documentCollection(limit) {
|
|
89
|
+
const progressStage = 'Retrieving document collection';
|
|
90
|
+
try {
|
|
91
|
+
this.progressController.notifyBusy(true, progressStage);
|
|
92
|
+
var found = await this.findDocs(limit);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
this.onChangeHdl.notify({ error: this.errorToError(error) });
|
|
96
|
+
this.onErrorHdl.notify(this.errorToError(error));
|
|
97
|
+
if (this.throwOnError)
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
finally {
|
|
101
|
+
this.progressController.notifyBusy(false, progressStage);
|
|
102
|
+
}
|
|
103
|
+
return found;
|
|
92
104
|
}
|
|
93
105
|
onProgress(observer) {
|
|
94
106
|
return this.progressController.onProgress(observer);
|
|
@@ -125,6 +137,12 @@ class CrudController {
|
|
|
125
137
|
return new Error(error.error);
|
|
126
138
|
return new Error(JSON.stringify(error));
|
|
127
139
|
}
|
|
140
|
+
get throwOnError() {
|
|
141
|
+
return this.onErrorHdl.subscribersCount === 0;
|
|
142
|
+
}
|
|
128
143
|
}
|
|
144
|
+
CrudController.errorMessages = {
|
|
145
|
+
missedDocument: 'No document to save',
|
|
146
|
+
};
|
|
129
147
|
exports.CrudController = CrudController;
|
|
130
148
|
//# sourceMappingURL=crud-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-controller.js","sourceRoot":"","sources":["../src/crud-controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crud-controller.js","sourceRoot":"","sources":["../src/crud-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { EntropicComponent, Model } from 'entropic-bond';
|
|
2
2
|
import { CrudController } from './crud-controller';
|
|
3
3
|
export declare class Test extends EntropicComponent {
|
|
4
|
-
set testProp(value: string);
|
|
5
|
-
get testProp(): string;
|
|
4
|
+
set testProp(value: string | undefined);
|
|
5
|
+
get testProp(): string | undefined;
|
|
6
6
|
private _testProp;
|
|
7
7
|
}
|
|
8
8
|
export declare class TestController extends CrudController<Test> {
|
|
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
9
|
exports.TestController = exports.Test = void 0;
|
|
19
10
|
const entropic_bond_1 = require("entropic-bond");
|
|
@@ -68,8 +59,8 @@ describe('Crud Controller', () => {
|
|
|
68
59
|
let controller;
|
|
69
60
|
let datasource;
|
|
70
61
|
let onProgress;
|
|
71
|
-
|
|
72
|
-
datasource = new entropic_bond_1.JsonDataSource(
|
|
62
|
+
beforeAll(() => {
|
|
63
|
+
datasource = new entropic_bond_1.JsonDataSource(JSON.parse(JSON.stringify(mockData)));
|
|
73
64
|
entropic_bond_1.Store.useDataSource(datasource);
|
|
74
65
|
controller = new TestController();
|
|
75
66
|
onProgress = jest.fn();
|
|
@@ -79,18 +70,18 @@ describe('Crud Controller', () => {
|
|
|
79
70
|
beforeEach(() => {
|
|
80
71
|
datasource.simulateDelay(50);
|
|
81
72
|
});
|
|
82
|
-
it('should notify busy on delete', () =>
|
|
73
|
+
it('should notify busy on delete', async () => {
|
|
83
74
|
const promise = controller.deleteDocument();
|
|
84
75
|
expect(onProgress).toHaveBeenLastCalledWith(expect.objectContaining({ busy: true }));
|
|
85
|
-
|
|
76
|
+
await promise;
|
|
86
77
|
expect(onProgress).toHaveBeenLastCalledWith(expect.objectContaining({ busy: false }));
|
|
87
|
-
})
|
|
88
|
-
it('should notify busy on store', () =>
|
|
78
|
+
});
|
|
79
|
+
it('should notify busy on store', async () => {
|
|
89
80
|
const promise = controller.storeDocument();
|
|
90
81
|
expect(onProgress).toHaveBeenLastCalledWith(expect.objectContaining({ busy: true }));
|
|
91
|
-
|
|
82
|
+
await promise;
|
|
92
83
|
expect(onProgress).toHaveBeenLastCalledWith(expect.objectContaining({ busy: false }));
|
|
93
|
-
})
|
|
84
|
+
});
|
|
94
85
|
});
|
|
95
86
|
it('should notify new event', () => {
|
|
96
87
|
const spy = jest.fn();
|
|
@@ -103,5 +94,49 @@ describe('Crud Controller', () => {
|
|
|
103
94
|
controller.setDocument(undefined);
|
|
104
95
|
}).not.toThrow();
|
|
105
96
|
});
|
|
97
|
+
describe('Error handling', () => {
|
|
98
|
+
beforeEach(() => {
|
|
99
|
+
datasource.simulateError({
|
|
100
|
+
store: 'store test error',
|
|
101
|
+
delete: 'delete test error',
|
|
102
|
+
find: 'find test error',
|
|
103
|
+
findById: 'findById test error',
|
|
104
|
+
});
|
|
105
|
+
controller.setDocument(new Test());
|
|
106
|
+
});
|
|
107
|
+
afterEach(() => datasource.simulateError(undefined));
|
|
108
|
+
describe('without observable', () => {
|
|
109
|
+
beforeEach(() => controller.setDocument(new Test()));
|
|
110
|
+
it('should reject of an error on deleteDocument', async () => {
|
|
111
|
+
expect(controller.deleteDocument()).rejects.toThrow('delete test error');
|
|
112
|
+
});
|
|
113
|
+
it('should reject of an error on storeDocument', async () => {
|
|
114
|
+
expect(controller.storeDocument()).rejects.toThrow('store test error');
|
|
115
|
+
});
|
|
116
|
+
it('should reject of an error on documentCollection', async () => {
|
|
117
|
+
expect(controller.documentCollection()).rejects.toThrow('find test error');
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
describe('with observable', () => {
|
|
121
|
+
it('should notify of an error on deleteDocument', async () => {
|
|
122
|
+
const spy = jest.fn();
|
|
123
|
+
controller.onError(spy);
|
|
124
|
+
await controller.deleteDocument();
|
|
125
|
+
expect(spy).toHaveBeenCalledWith(Error('delete test error'));
|
|
126
|
+
});
|
|
127
|
+
it('should notify of an error on storeDocument', async () => {
|
|
128
|
+
const spy = jest.fn();
|
|
129
|
+
controller.onError(spy);
|
|
130
|
+
await controller.storeDocument();
|
|
131
|
+
expect(spy).toHaveBeenCalledWith(Error('store test error'));
|
|
132
|
+
});
|
|
133
|
+
it('should notify of an error on documentCollection', async () => {
|
|
134
|
+
const spy = jest.fn();
|
|
135
|
+
controller.onError(spy);
|
|
136
|
+
await controller.documentCollection();
|
|
137
|
+
expect(spy).toHaveBeenCalledWith(Error('find test error'));
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
});
|
|
106
141
|
});
|
|
107
142
|
//# sourceMappingURL=crud-controller.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-controller.spec.js","sourceRoot":"","sources":["../src/crud-controller.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crud-controller.spec.js","sourceRoot":"","sources":["../src/crud-controller.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/crud-panel.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ declare enum Mode {
|
|
|
8
8
|
}
|
|
9
9
|
export interface CrudCardProps<T extends EntropicComponent> {
|
|
10
10
|
document: T;
|
|
11
|
-
onSelect
|
|
12
|
-
onDelete
|
|
11
|
+
onSelect: (document: T) => void;
|
|
12
|
+
onDelete: (document: T) => void;
|
|
13
13
|
}
|
|
14
14
|
export interface CrudContentViewProps<T extends EntropicComponent> {
|
|
15
15
|
controller: CrudController<T>;
|
|
@@ -32,7 +32,7 @@ interface CrudPanelState<T extends EntropicComponent> {
|
|
|
32
32
|
}
|
|
33
33
|
interface CrudPanelProps<T extends EntropicComponent> {
|
|
34
34
|
controller: CrudController<T>;
|
|
35
|
-
labels
|
|
35
|
+
labels?: CrudPanelLabels | ((controller: CrudController<T>) => CrudPanelLabels);
|
|
36
36
|
layout?: Layout;
|
|
37
37
|
children: [
|
|
38
38
|
((props: CrudContentViewProps<T>) => ReactElement) | ReactElement<CrudContentViewProps<T>>,
|
package/lib/crud-panel.js
CHANGED
|
@@ -22,15 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
26
|
exports.CrudPanel = void 0;
|
|
36
27
|
const entropic_bond_1 = require("entropic-bond");
|
|
@@ -49,25 +40,23 @@ class CrudPanel extends react_1.Component {
|
|
|
49
40
|
mode: Mode.normal,
|
|
50
41
|
};
|
|
51
42
|
}
|
|
52
|
-
componentDidMount() {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
documents: yield controller.documentCollection()
|
|
66
|
-
});
|
|
43
|
+
async componentDidMount() {
|
|
44
|
+
const { controller } = this.props;
|
|
45
|
+
this.unsubscriber = controller.onChange(event => {
|
|
46
|
+
if (event.documentCollection) {
|
|
47
|
+
this.setState({
|
|
48
|
+
documents: event.documentCollection
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
else
|
|
52
|
+
this.setState({});
|
|
53
|
+
});
|
|
54
|
+
this.setState({
|
|
55
|
+
documents: await controller.documentCollection()
|
|
67
56
|
});
|
|
68
57
|
}
|
|
69
58
|
componentWillUnmount() {
|
|
70
|
-
this.unsubscriber();
|
|
59
|
+
this.unsubscriber?.();
|
|
71
60
|
}
|
|
72
61
|
newDocument() {
|
|
73
62
|
this.props.controller.newDocument();
|
|
@@ -81,20 +70,18 @@ class CrudPanel extends react_1.Component {
|
|
|
81
70
|
mode: Mode.edit
|
|
82
71
|
});
|
|
83
72
|
}
|
|
84
|
-
storeDocument(document) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
});
|
|
73
|
+
async storeDocument(document) {
|
|
74
|
+
const { controller, layout } = this.props;
|
|
75
|
+
controller.setDocument(document);
|
|
76
|
+
await controller.storeDocument();
|
|
77
|
+
if (layout === 'formAndItems') {
|
|
78
|
+
this.newDocument();
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.setState({
|
|
82
|
+
mode: Mode.normal,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
98
85
|
}
|
|
99
86
|
invokeContentViewChild(labels) {
|
|
100
87
|
const { children, layout, controller } = this.props;
|
|
@@ -104,7 +91,7 @@ class CrudPanel extends react_1.Component {
|
|
|
104
91
|
return;
|
|
105
92
|
const props = {
|
|
106
93
|
controller: controller,
|
|
107
|
-
submitButtonCaption: mode == Mode.edit ? labels
|
|
94
|
+
submitButtonCaption: mode == Mode.edit ? labels?.updateButtonLabel : labels?.addButtonLabel,
|
|
108
95
|
onSubmit: (document) => this.storeDocument(document),
|
|
109
96
|
onCancel: closeOnCancel
|
|
110
97
|
? () => this.setState({ mode: Mode.normal })
|
|
@@ -114,7 +101,7 @@ class CrudPanel extends react_1.Component {
|
|
|
114
101
|
return (0, react_1.cloneElement)(children[0](props), { key: controller.document.id });
|
|
115
102
|
}
|
|
116
103
|
else {
|
|
117
|
-
return (0, react_1.cloneElement)(children[0],
|
|
104
|
+
return (0, react_1.cloneElement)(children[0], { key: controller.document.id, ...props });
|
|
118
105
|
}
|
|
119
106
|
}
|
|
120
107
|
invokeDetailViewChild(document) {
|
|
@@ -128,14 +115,13 @@ class CrudPanel extends react_1.Component {
|
|
|
128
115
|
return (0, react_1.cloneElement)(children[1](props), { key: document.id });
|
|
129
116
|
}
|
|
130
117
|
else {
|
|
131
|
-
return (0, react_1.cloneElement)(children[1],
|
|
118
|
+
return (0, react_1.cloneElement)(children[1], { key: document.id, ...props });
|
|
132
119
|
}
|
|
133
120
|
}
|
|
134
121
|
render() {
|
|
135
|
-
var _a;
|
|
136
122
|
const { mode, documents } = this.state;
|
|
137
123
|
const { className, cardAddButton, controller } = this.props;
|
|
138
|
-
const docClassName = (0, entropic_bond_1.snakeCase)(
|
|
124
|
+
const docClassName = (0, entropic_bond_1.snakeCase)(controller.document?.className);
|
|
139
125
|
let labels = this.props.labels || {};
|
|
140
126
|
const layout = this.props.layout || 'itemsAlways';
|
|
141
127
|
if (typeof labels === 'function')
|
|
@@ -148,7 +134,7 @@ class CrudPanel extends react_1.Component {
|
|
|
148
134
|
react_1.default.createElement("div", { className: "content-panel" }, this.invokeContentViewChild(labels)),
|
|
149
135
|
(layout === 'itemsAlways' || layout === 'formAndItems' || mode === Mode.normal) &&
|
|
150
136
|
react_1.default.createElement("div", { className: "collection-panel" },
|
|
151
|
-
|
|
137
|
+
documents?.length > 0 &&
|
|
152
138
|
react_1.default.createElement("h3", null, documents.length > 1
|
|
153
139
|
? documentsInCollectionCaption
|
|
154
140
|
: singularDocumentInCollectionCaption || documentsInCollectionCaption),
|
|
@@ -157,7 +143,7 @@ class CrudPanel extends react_1.Component {
|
|
|
157
143
|
react_1.default.createElement("div", { className: "crud-card card-add-button clickable", onClick: () => this.newDocument() },
|
|
158
144
|
react_1.default.createElement("div", { className: "button-element" }, cardAddButton),
|
|
159
145
|
react_1.default.createElement("div", { className: "add-label" }, addNewDocumentLabel)),
|
|
160
|
-
|
|
146
|
+
documents?.length
|
|
161
147
|
? documents.map((document) => this.invokeDetailViewChild(document))
|
|
162
148
|
: react_1.default.createElement("p", null, noDocumentsFoundLabel)))));
|
|
163
149
|
}
|
package/lib/crud-panel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-panel.js","sourceRoot":"","sources":["../src/crud-panel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crud-panel.js","sourceRoot":"","sources":["../src/crud-panel.tsx"],"names":[],"mappings":"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"}
|
package/lib/crud-panel.spec.js
CHANGED
|
@@ -22,15 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
27
|
};
|
|
@@ -71,7 +62,7 @@ const mockData = {
|
|
|
71
62
|
class TestView extends react_1.Component {
|
|
72
63
|
componentDidMount() {
|
|
73
64
|
const { controller } = this.props;
|
|
74
|
-
controller
|
|
65
|
+
controller?.onChange(e => {
|
|
75
66
|
if (e.documentProps)
|
|
76
67
|
this.setState(e.documentProps);
|
|
77
68
|
});
|
|
@@ -79,20 +70,24 @@ class TestView extends react_1.Component {
|
|
|
79
70
|
render() {
|
|
80
71
|
const { controller, onCancel, onSubmit, submitButtonCaption } = this.props;
|
|
81
72
|
const { document } = controller;
|
|
73
|
+
if (!document)
|
|
74
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
82
75
|
return (react_1.default.createElement("div", null,
|
|
83
76
|
react_1.default.createElement("h1", null, viewHeader),
|
|
84
77
|
react_1.default.createElement("input", { placeholder: testViewPlaceholder, value: document.testProp || '', onChange: e => document.testProp = e.target.value }),
|
|
85
|
-
react_1.default.createElement("button", { onClick: () => onSubmit(document) }, submitButtonCaption),
|
|
78
|
+
react_1.default.createElement("button", { onClick: () => onSubmit?.(document) }, submitButtonCaption),
|
|
86
79
|
react_1.default.createElement("button", { onClick: onCancel }, cancelButtonCaption)));
|
|
87
80
|
}
|
|
88
81
|
}
|
|
89
82
|
class TestCard extends react_1.Component {
|
|
90
83
|
render() {
|
|
91
84
|
const { document, onDelete, onSelect } = this.props;
|
|
85
|
+
if (!document)
|
|
86
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
92
87
|
return (react_1.default.createElement("div", null,
|
|
93
|
-
react_1.default.createElement("p", null, document
|
|
94
|
-
react_1.default.createElement("button", { onClick: () => onSelect(document) }, editButtonLabel),
|
|
95
|
-
react_1.default.createElement("button", { onClick: () => onDelete(document) }, deleteButtonLabel)));
|
|
88
|
+
react_1.default.createElement("p", null, document?.testProp),
|
|
89
|
+
react_1.default.createElement("button", { onClick: () => onSelect?.(document) }, editButtonLabel),
|
|
90
|
+
react_1.default.createElement("button", { onClick: () => onDelete?.(document) }, deleteButtonLabel)));
|
|
96
91
|
}
|
|
97
92
|
}
|
|
98
93
|
describe('Crud Panel', () => {
|
|
@@ -100,7 +95,7 @@ describe('Crud Panel', () => {
|
|
|
100
95
|
let notifySpy;
|
|
101
96
|
let renderResult;
|
|
102
97
|
let datasource;
|
|
103
|
-
beforeEach(() =>
|
|
98
|
+
beforeEach(async () => {
|
|
104
99
|
datasource = new entropic_bond_1.JsonDataSource(JSON.parse(JSON.stringify(mockData)));
|
|
105
100
|
entropic_bond_1.Store.useDataSource(datasource);
|
|
106
101
|
controller = new crud_controller_spec_1.TestController();
|
|
@@ -110,8 +105,8 @@ describe('Crud Panel', () => {
|
|
|
110
105
|
react_1.default.createElement(TestView, null),
|
|
111
106
|
react_1.default.createElement(TestCard, null)));
|
|
112
107
|
// await datasource.wait()
|
|
113
|
-
|
|
114
|
-
})
|
|
108
|
+
await react_2.screen.findByRole('heading');
|
|
109
|
+
});
|
|
115
110
|
it('should show add button', () => {
|
|
116
111
|
expect(react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel })).toBeInTheDocument();
|
|
117
112
|
});
|
|
@@ -125,8 +120,8 @@ describe('Crud Panel', () => {
|
|
|
125
120
|
beforeEach(() => {
|
|
126
121
|
user_event_1.default.setup();
|
|
127
122
|
renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels },
|
|
128
|
-
props => react_1.default.createElement(TestView,
|
|
129
|
-
props => react_1.default.createElement(TestCard,
|
|
123
|
+
props => react_1.default.createElement(TestView, { ...props }),
|
|
124
|
+
props => react_1.default.createElement(TestCard, { ...props })));
|
|
130
125
|
});
|
|
131
126
|
it('should show add button', () => {
|
|
132
127
|
expect(react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel })).toBeInTheDocument();
|
|
@@ -141,110 +136,110 @@ describe('Crud Panel', () => {
|
|
|
141
136
|
});
|
|
142
137
|
});
|
|
143
138
|
describe('Working with TestView', () => {
|
|
144
|
-
it('should create an empty document view on add new document button click', () =>
|
|
145
|
-
|
|
139
|
+
it('should create an empty document view on add new document button click', async () => {
|
|
140
|
+
await user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel }));
|
|
146
141
|
expect(react_2.screen.getByRole('heading', { name: viewHeader })).toBeInTheDocument();
|
|
147
142
|
expect(react_2.screen.getByPlaceholderText(testViewPlaceholder)).toHaveDisplayValue('');
|
|
148
|
-
})
|
|
149
|
-
it('should show detail view with document data on edit button click', () =>
|
|
143
|
+
});
|
|
144
|
+
it('should show detail view with document data on edit button click', async () => {
|
|
150
145
|
const testDoc = mockData.Test.test1;
|
|
151
146
|
const editButton = react_2.screen.getAllByRole('button', { name: editButtonLabel });
|
|
152
|
-
|
|
147
|
+
await user_event_1.default.click(editButton[0]);
|
|
153
148
|
expect(react_2.screen.getByRole('heading', { name: viewHeader })).toBeInTheDocument();
|
|
154
149
|
expect(react_2.screen.getByDisplayValue(testDoc.testProp)).toBeInTheDocument();
|
|
155
|
-
})
|
|
156
|
-
it('should refresh document list on new document added', () =>
|
|
157
|
-
|
|
158
|
-
const input =
|
|
159
|
-
|
|
160
|
-
|
|
150
|
+
});
|
|
151
|
+
it('should refresh document list on new document added', async () => {
|
|
152
|
+
await user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel }));
|
|
153
|
+
const input = await react_2.screen.findByPlaceholderText(testViewPlaceholder);
|
|
154
|
+
await user_event_1.default.type(input, 'New and fancy Application');
|
|
155
|
+
await user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.addButtonLabel }));
|
|
161
156
|
const docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
|
|
162
|
-
expect(
|
|
163
|
-
})
|
|
157
|
+
expect(await (0, react_2.within)(docs).findByText('New and fancy Application')).toBeInTheDocument();
|
|
158
|
+
});
|
|
164
159
|
});
|
|
165
160
|
describe('Working with detail card buttons', () => {
|
|
166
|
-
it('should refresh document list on document edited', () =>
|
|
161
|
+
it('should refresh document list on document edited', async () => {
|
|
167
162
|
const editButton = react_2.screen.getAllByRole('button', { name: editButtonLabel });
|
|
168
|
-
|
|
169
|
-
const input =
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
163
|
+
await user_event_1.default.click(editButton[0]);
|
|
164
|
+
const input = await react_2.screen.findByPlaceholderText(testViewPlaceholder);
|
|
165
|
+
await user_event_1.default.click(input);
|
|
166
|
+
await user_event_1.default.paste(' Edited');
|
|
167
|
+
await user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.updateButtonLabel }));
|
|
168
|
+
await (0, react_2.waitFor)(() => expect(notifySpy).toHaveBeenCalled());
|
|
174
169
|
const docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
|
|
175
|
-
expect(
|
|
176
|
-
})
|
|
177
|
-
it('should delete document and remove from the list', () =>
|
|
170
|
+
expect(await (0, react_2.within)(docs).findByText('Test prop 1 Edited')).toBeInTheDocument();
|
|
171
|
+
});
|
|
172
|
+
it('should delete document and remove from the list', async () => {
|
|
178
173
|
expect(react_2.screen.queryByText('Test prop 2')).toBeInTheDocument();
|
|
179
174
|
const deleteButton = react_2.screen.getAllByRole('button', { name: deleteButtonLabel });
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
})
|
|
175
|
+
await user_event_1.default.click(deleteButton[1]);
|
|
176
|
+
await (0, react_2.waitFor)(() => expect(notifySpy).toHaveBeenCalled());
|
|
177
|
+
await (0, react_2.waitFor)(() => expect(react_2.screen.queryByText('Test prop 2')).not.toBeInTheDocument());
|
|
178
|
+
});
|
|
184
179
|
});
|
|
185
180
|
describe('Layout behaviour', () => {
|
|
186
181
|
const itemsView = () => react_2.screen.queryByRole('heading', { name: crudLabels.documentsInCollectionCaption });
|
|
187
182
|
const formView = () => react_2.screen.queryByRole('heading', { name: viewHeader });
|
|
188
183
|
const addButton = () => react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel });
|
|
189
|
-
const renderWith = (layout) =>
|
|
184
|
+
const renderWith = async (layout) => {
|
|
190
185
|
renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels, layout: layout },
|
|
191
186
|
react_1.default.createElement(TestView, null),
|
|
192
187
|
(props) => (react_1.default.createElement("div", null,
|
|
193
188
|
react_1.default.createElement("p", null, props.document.testProp),
|
|
194
189
|
react_1.default.createElement("button", { onClick: () => props.onSelect(props.document) }, editButtonLabel),
|
|
195
190
|
react_1.default.createElement("button", { onClick: () => props.onDelete(props.document) }, deleteButtonLabel)))));
|
|
196
|
-
}
|
|
197
|
-
it('should show always collection items when default layout', () =>
|
|
191
|
+
};
|
|
192
|
+
it('should show always collection items when default layout', async () => {
|
|
198
193
|
expect(itemsView()).toBeInTheDocument();
|
|
199
194
|
expect(formView()).not.toBeInTheDocument();
|
|
200
|
-
|
|
195
|
+
await user_event_1.default.click(addButton());
|
|
201
196
|
expect(itemsView()).toBeInTheDocument();
|
|
202
197
|
expect(formView()).toBeInTheDocument();
|
|
203
|
-
})
|
|
204
|
-
it('should show always collection items when layout set to itemsAlways', () =>
|
|
198
|
+
});
|
|
199
|
+
it('should show always collection items when layout set to itemsAlways', async () => {
|
|
205
200
|
renderWith('itemsAlways');
|
|
206
201
|
expect(itemsView()).toBeInTheDocument();
|
|
207
202
|
expect(formView()).not.toBeInTheDocument();
|
|
208
|
-
|
|
203
|
+
await user_event_1.default.click(addButton());
|
|
209
204
|
expect(itemsView()).toBeInTheDocument();
|
|
210
205
|
expect(formView()).toBeInTheDocument();
|
|
211
|
-
})
|
|
206
|
+
});
|
|
212
207
|
it('should show always form view and items view when layout set to formAndItems', () => {
|
|
213
208
|
renderWith('formAndItems');
|
|
214
209
|
expect(itemsView()).toBeInTheDocument();
|
|
215
210
|
expect(formView()).toBeInTheDocument();
|
|
216
211
|
});
|
|
217
|
-
it('should alternate from form view to items view but not both when layout set to formOrItems', () =>
|
|
212
|
+
it('should alternate from form view to items view but not both when layout set to formOrItems', async () => {
|
|
218
213
|
renderWith('formOrItems');
|
|
219
214
|
expect(itemsView()).toBeInTheDocument();
|
|
220
215
|
expect(formView()).not.toBeInTheDocument();
|
|
221
|
-
|
|
216
|
+
await user_event_1.default.click(addButton());
|
|
222
217
|
expect(itemsView()).not.toBeInTheDocument();
|
|
223
218
|
expect(formView()).toBeInTheDocument();
|
|
224
|
-
})
|
|
219
|
+
});
|
|
225
220
|
});
|
|
226
221
|
describe('Labels', () => {
|
|
227
|
-
it('should show singular when only one existing document', () =>
|
|
222
|
+
it('should show singular when only one existing document', async () => {
|
|
228
223
|
expect(react_2.screen.queryByText('Test prop 2')).toBeInTheDocument();
|
|
229
224
|
const deleteButton = react_2.screen.getAllByRole('button', { name: deleteButtonLabel });
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
const heading =
|
|
225
|
+
await user_event_1.default.click(deleteButton[1]);
|
|
226
|
+
await (0, react_2.waitFor)(() => expect(notifySpy).toHaveBeenCalled());
|
|
227
|
+
const heading = await react_2.screen.findByRole('heading', { name: crudLabels.singularDocumentInCollectionCaption });
|
|
233
228
|
expect(heading).toBeInTheDocument();
|
|
234
|
-
})
|
|
235
|
-
it('should show plural when only one existing document but empty singular caption', () =>
|
|
229
|
+
});
|
|
230
|
+
it('should show plural when only one existing document but empty singular caption', async () => {
|
|
236
231
|
crudLabels.singularDocumentInCollectionCaption = undefined;
|
|
237
232
|
expect(react_2.screen.queryByText('Test prop 2')).toBeInTheDocument();
|
|
238
233
|
const deleteButton = react_2.screen.getAllByRole('button', { name: deleteButtonLabel });
|
|
239
234
|
user_event_1.default.click(deleteButton[1]);
|
|
240
|
-
|
|
235
|
+
await (0, react_2.waitFor)(() => expect(notifySpy).toHaveBeenCalled());
|
|
241
236
|
const heading = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption });
|
|
242
237
|
expect(heading).toBeInTheDocument();
|
|
243
|
-
})
|
|
244
|
-
it('should allow to pass labels as a function', () =>
|
|
238
|
+
});
|
|
239
|
+
it('should allow to pass labels as a function', async () => {
|
|
245
240
|
const labels = (controller) => Object.entries(crudLabels)
|
|
246
241
|
.reduce((prev, [key, label]) => {
|
|
247
|
-
prev[key] = `${label} ${controller.document
|
|
242
|
+
prev[key] = `${label} ${controller.document?.className}`;
|
|
248
243
|
return prev;
|
|
249
244
|
}, {});
|
|
250
245
|
renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: labels },
|
|
@@ -256,7 +251,7 @@ describe('Crud Panel', () => {
|
|
|
256
251
|
const documentClassName = controller.createDocument().className;
|
|
257
252
|
expect(react_2.screen.getByText(`${crudLabels.addNewDocumentLabel} ${documentClassName}`)).toBeInTheDocument();
|
|
258
253
|
expect(react_2.screen.getByText(`${crudLabels.documentsInCollectionCaption} ${documentClassName}`)).toBeInTheDocument();
|
|
259
|
-
})
|
|
254
|
+
});
|
|
260
255
|
it('should not throw on undefined labels', () => {
|
|
261
256
|
expect(() => renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: undefined },
|
|
262
257
|
react_1.default.createElement(TestView, null),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-panel.spec.js","sourceRoot":"","sources":["../src/crud-panel.spec.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crud-panel.spec.js","sourceRoot":"","sources":["../src/crud-panel.spec.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-controller.js","sourceRoot":"","sources":["../src/progress-controller.ts"],"names":[],"mappings":";;;AAAA,iDAAoD;AAkBpD,MAAa,kBAAkB;IAA/B;QA2BS,YAAO,GAA4B,EAAE,CAAA;QACrC,gBAAW,GAA8B,IAAI,0BAAU,EAAiB,CAAA;IACjF,CAAC;IA5BA,UAAU,CAAE,IAAa,EAAE,IAAa;QACvC,IAAI,CAAC,SAAS,CAAC;YACd,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"progress-controller.js","sourceRoot":"","sources":["../src/progress-controller.ts"],"names":[],"mappings":";;;AAAA,iDAAoD;AAkBpD,MAAa,kBAAkB;IAA/B;QA2BS,YAAO,GAA4B,EAAE,CAAA;QACrC,gBAAW,GAA8B,IAAI,0BAAU,EAAiB,CAAA;IACjF,CAAC;IA5BA,UAAU,CAAE,IAAa,EAAE,IAAa;QACvC,IAAI,CAAC,SAAS,CAAC;YACd,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;SACjD,CAAC,CAAA;IACH,CAAC;IAED,SAAS,CAAE,KAAoB;QAC9B,IAAI,CAAC,OAAO,CAAE,KAAK,CAAC,IAAI,CAAE,GAAG,KAAK,CAAA;QAElC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAE,IAAI,CAAC,OAAO,CAAE,CAAC,MAAM,CAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;YACtF,OAAO,IAAI,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAA;QACxD,CAAC,EAAE,CAAC,CAAC,CAAA;QAEL,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,eAAe,GAAG,CAAC;YACzB,eAAe;YACf,MAAM,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC,CAAA;QAEF,IAAK,eAAe,IAAI,CAAC;YAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IAC9C,CAAC;IAED,UAAU,CAAE,EAA2B;QACtC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAE,EAAE,CAAE,CAAA;IACxC,CAAC;CAID;AA7BD,gDA6BC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entropic-bond/crud-panel",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"branches": [
|
|
@@ -44,24 +44,24 @@
|
|
|
44
44
|
},
|
|
45
45
|
"homepage": "https://github.com/entropic-bond/crud-panel#readme",
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@semantic-release/changelog": "^6.0.
|
|
47
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
48
48
|
"@semantic-release/git": "^10.0.1",
|
|
49
49
|
"@testing-library/jest-dom": "^5.16.5",
|
|
50
50
|
"@testing-library/react": "^14.0.0",
|
|
51
51
|
"@testing-library/user-event": "^14.4.3",
|
|
52
|
-
"@types/jest": "^29.
|
|
53
|
-
"@types/react": "^18.0.
|
|
52
|
+
"@types/jest": "^29.5.0",
|
|
53
|
+
"@types/react": "^18.0.33",
|
|
54
54
|
"@types/react-dom": "^18.0.11",
|
|
55
55
|
"fetch-mock": "^9.11.0",
|
|
56
56
|
"git-branch-is": "^4.0.0",
|
|
57
57
|
"husky": "^8.0.3",
|
|
58
|
-
"jest": "^29.
|
|
59
|
-
"jest-environment-jsdom": "^29.
|
|
58
|
+
"jest": "^29.5.0",
|
|
59
|
+
"jest-environment-jsdom": "^29.5.0",
|
|
60
60
|
"react": "^18.2.0",
|
|
61
61
|
"react-dom": "^18.2.0",
|
|
62
|
-
"semantic-release": "^
|
|
63
|
-
"ts-jest": "^29.0
|
|
64
|
-
"typescript": "^
|
|
62
|
+
"semantic-release": "^21.0.1",
|
|
63
|
+
"ts-jest": "^29.1.0",
|
|
64
|
+
"typescript": "^5.0.4"
|
|
65
65
|
},
|
|
66
66
|
"husky": {
|
|
67
67
|
"hooks": {
|
|
@@ -69,6 +69,6 @@
|
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"entropic-bond": "^1.
|
|
72
|
+
"entropic-bond": "^1.41.2"
|
|
73
73
|
}
|
|
74
74
|
}
|