@entropic-bond/crud-panel 2.0.0 → 2.1.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 +15 -21
- package/lib/crud-controller.js +86 -64
- package/lib/crud-controller.js.map +1 -1
- package/lib/crud-controller.spec.d.ts +12 -0
- package/lib/crud-controller.spec.js +176 -0
- package/lib/crud-controller.spec.js.map +1 -0
- package/lib/crud-panel.d.ts +0 -5
- package/lib/crud-panel.js +20 -23
- package/lib/crud-panel.js.map +1 -1
- package/lib/crud-panel.spec.js +41 -77
- package/lib/crud-panel.spec.js.map +1 -1
- package/lib/progress-controller.d.ts +22 -0
- package/lib/progress-controller.js +35 -0
- package/lib/progress-controller.js.map +1 -0
- package/lib/progress-controller.spec.d.ts +1 -0
- package/lib/progress-controller.spec.js +139 -0
- package/lib/progress-controller.spec.js.map +1 -0
- package/package.json +2 -2
package/lib/crud-controller.d.ts
CHANGED
|
@@ -1,35 +1,29 @@
|
|
|
1
1
|
import { Callback, Persistent, Model } from 'entropic-bond';
|
|
2
|
-
|
|
3
|
-
name: string;
|
|
4
|
-
progress: number;
|
|
5
|
-
total: number;
|
|
6
|
-
}
|
|
7
|
-
export interface ProgressEvent {
|
|
8
|
-
stages: {
|
|
9
|
-
[stageId: string]: ProgressStage;
|
|
10
|
-
};
|
|
11
|
-
overallProgress: number;
|
|
12
|
-
}
|
|
2
|
+
import { ProgressController, ProgressEvent } from './progress-controller';
|
|
13
3
|
export interface CrudControllerEvent<T extends Persistent> {
|
|
14
4
|
documentChanged?: T;
|
|
15
5
|
documentCollection?: T[];
|
|
16
6
|
}
|
|
17
7
|
export declare abstract class CrudController<T extends Persistent> {
|
|
18
|
-
constructor();
|
|
8
|
+
constructor(document?: T);
|
|
19
9
|
abstract allRequiredPropertiesFilled(): boolean;
|
|
20
|
-
abstract createDocument(): T;
|
|
10
|
+
protected abstract createDocument(): T;
|
|
21
11
|
protected abstract getModel(): Model<T>;
|
|
12
|
+
protected storeDoc(): Promise<void>;
|
|
13
|
+
protected deleteDoc(): Promise<void>;
|
|
14
|
+
protected findDocs(limit: number): Promise<T[]>;
|
|
22
15
|
onChange(observer: Callback<CrudControllerEvent<T>>): import("entropic-bond").Unsubscriber;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
16
|
+
newDocument(): CrudController<T>;
|
|
17
|
+
storeDocument(): Promise<void>;
|
|
18
|
+
deleteDocument(): Promise<void>;
|
|
19
|
+
documentCollection(limit?: number): Promise<T[]>;
|
|
26
20
|
onProgress(observer: Callback<ProgressEvent>): import("entropic-bond").Unsubscriber;
|
|
27
|
-
protected notifyProgress(stageId: string, progress: ProgressStage): void;
|
|
28
|
-
protected resetProgress(): void;
|
|
29
21
|
protected get model(): Model<T>;
|
|
22
|
+
setDocument(value: T): CrudController<T>;
|
|
23
|
+
set document(value: T);
|
|
24
|
+
get document(): T;
|
|
25
|
+
protected progressController: ProgressController;
|
|
30
26
|
private _onChange;
|
|
31
27
|
private _model;
|
|
32
|
-
private
|
|
33
|
-
private _onProgress;
|
|
28
|
+
private _document;
|
|
34
29
|
}
|
|
35
|
-
export {};
|
package/lib/crud-controller.js
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -49,97 +38,113 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
49
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
39
|
exports.CrudController = void 0;
|
|
51
40
|
var entropic_bond_1 = require("entropic-bond");
|
|
41
|
+
var progress_controller_1 = require("./progress-controller");
|
|
52
42
|
var CrudController = /** @class */ (function () {
|
|
53
|
-
function CrudController() {
|
|
54
|
-
this.
|
|
43
|
+
function CrudController(document) {
|
|
44
|
+
this.progressController = new progress_controller_1.ProgressController();
|
|
55
45
|
this._onChange = new entropic_bond_1.Observable();
|
|
56
|
-
this.
|
|
46
|
+
this._document = document || this.createDocument();
|
|
57
47
|
}
|
|
48
|
+
CrudController.prototype.storeDoc = function () {
|
|
49
|
+
return this.model.save(this.document);
|
|
50
|
+
};
|
|
51
|
+
CrudController.prototype.deleteDoc = function () {
|
|
52
|
+
return this.model.delete(this.document.id);
|
|
53
|
+
};
|
|
54
|
+
CrudController.prototype.findDocs = function (limit) {
|
|
55
|
+
return this.model.find().limit(limit).get();
|
|
56
|
+
};
|
|
58
57
|
CrudController.prototype.onChange = function (observer) {
|
|
59
58
|
return this._onChange.subscribe(observer);
|
|
60
59
|
};
|
|
61
|
-
CrudController.prototype.
|
|
60
|
+
CrudController.prototype.newDocument = function () {
|
|
61
|
+
return this.setDocument(this.createDocument());
|
|
62
|
+
};
|
|
63
|
+
CrudController.prototype.storeDocument = function () {
|
|
62
64
|
return __awaiter(this, void 0, void 0, function () {
|
|
63
|
-
var _a, _b;
|
|
65
|
+
var progressStage, _a, _b;
|
|
64
66
|
var _c;
|
|
65
67
|
return __generator(this, function (_d) {
|
|
66
68
|
switch (_d.label) {
|
|
67
69
|
case 0:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
progress: 0.2,
|
|
71
|
-
total: 1
|
|
72
|
-
});
|
|
73
|
-
return [4 /*yield*/, this.model.save(document)];
|
|
70
|
+
progressStage = 'Saving main document';
|
|
71
|
+
_d.label = 1;
|
|
74
72
|
case 1:
|
|
73
|
+
_d.trys.push([1, , 4, 5]);
|
|
74
|
+
this.progressController.notifyBusy(true, progressStage);
|
|
75
|
+
return [4 /*yield*/, this.storeDoc()];
|
|
76
|
+
case 2:
|
|
75
77
|
_d.sent();
|
|
76
|
-
this.notifyProgress('storeMainDocument', {
|
|
77
|
-
name: 'Store main document',
|
|
78
|
-
progress: 1,
|
|
79
|
-
total: 1
|
|
80
|
-
});
|
|
81
|
-
this.resetProgress();
|
|
82
78
|
_b = (_a = this._onChange).notify;
|
|
83
79
|
_c = {};
|
|
84
|
-
return [4 /*yield*/, this.
|
|
85
|
-
case
|
|
80
|
+
return [4 /*yield*/, this.documentCollection()];
|
|
81
|
+
case 3:
|
|
86
82
|
_b.apply(_a, [(_c.documentCollection = _d.sent(),
|
|
87
83
|
_c)]);
|
|
88
|
-
return [
|
|
84
|
+
return [3 /*break*/, 5];
|
|
85
|
+
case 4:
|
|
86
|
+
this.progressController.notifyBusy(false, progressStage);
|
|
87
|
+
return [7 /*endfinally*/];
|
|
88
|
+
case 5: return [2 /*return*/];
|
|
89
89
|
}
|
|
90
90
|
});
|
|
91
91
|
});
|
|
92
92
|
};
|
|
93
|
-
CrudController.prototype.deleteDocument = function (
|
|
93
|
+
CrudController.prototype.deleteDocument = function () {
|
|
94
94
|
return __awaiter(this, void 0, void 0, function () {
|
|
95
|
-
var _a, _b;
|
|
95
|
+
var progressStage, _a, _b;
|
|
96
96
|
var _c;
|
|
97
97
|
return __generator(this, function (_d) {
|
|
98
98
|
switch (_d.label) {
|
|
99
99
|
case 0:
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
progress: 0.2,
|
|
103
|
-
total: 1
|
|
104
|
-
});
|
|
105
|
-
return [4 /*yield*/, this.model.delete(document.id)];
|
|
100
|
+
progressStage = 'Delete main document';
|
|
101
|
+
_d.label = 1;
|
|
106
102
|
case 1:
|
|
103
|
+
_d.trys.push([1, , 4, 5]);
|
|
104
|
+
this.progressController.notifyBusy(true, progressStage);
|
|
105
|
+
return [4 /*yield*/, this.deleteDoc()];
|
|
106
|
+
case 2:
|
|
107
107
|
_d.sent();
|
|
108
|
-
this.notifyProgress('deleteMainDocument', {
|
|
109
|
-
name: 'Delete main document',
|
|
110
|
-
progress: 1,
|
|
111
|
-
total: 1
|
|
112
|
-
});
|
|
113
|
-
this.resetProgress();
|
|
114
108
|
_b = (_a = this._onChange).notify;
|
|
115
109
|
_c = {};
|
|
116
|
-
return [4 /*yield*/, this.
|
|
117
|
-
case
|
|
110
|
+
return [4 /*yield*/, this.documentCollection()];
|
|
111
|
+
case 3:
|
|
118
112
|
_b.apply(_a, [(_c.documentCollection = _d.sent(),
|
|
119
113
|
_c)]);
|
|
120
|
-
return [
|
|
114
|
+
return [3 /*break*/, 5];
|
|
115
|
+
case 4:
|
|
116
|
+
this.progressController.notifyBusy(false, progressStage);
|
|
117
|
+
return [7 /*endfinally*/];
|
|
118
|
+
case 5: return [2 /*return*/];
|
|
121
119
|
}
|
|
122
120
|
});
|
|
123
121
|
});
|
|
124
122
|
};
|
|
125
|
-
CrudController.prototype.
|
|
126
|
-
return this
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
123
|
+
CrudController.prototype.documentCollection = function (limit) {
|
|
124
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
125
|
+
var progressStage, found;
|
|
126
|
+
return __generator(this, function (_a) {
|
|
127
|
+
switch (_a.label) {
|
|
128
|
+
case 0:
|
|
129
|
+
progressStage = 'Retrieving document collection';
|
|
130
|
+
_a.label = 1;
|
|
131
|
+
case 1:
|
|
132
|
+
_a.trys.push([1, , 3, 4]);
|
|
133
|
+
this.progressController.notifyBusy(true, progressStage);
|
|
134
|
+
return [4 /*yield*/, this.findDocs(limit)];
|
|
135
|
+
case 2:
|
|
136
|
+
found = _a.sent();
|
|
137
|
+
return [3 /*break*/, 4];
|
|
138
|
+
case 3:
|
|
139
|
+
this.progressController.notifyBusy(false, progressStage);
|
|
140
|
+
return [7 /*endfinally*/];
|
|
141
|
+
case 4: return [2 /*return*/, found];
|
|
142
|
+
}
|
|
143
|
+
});
|
|
139
144
|
});
|
|
140
145
|
};
|
|
141
|
-
CrudController.prototype.
|
|
142
|
-
this.
|
|
146
|
+
CrudController.prototype.onProgress = function (observer) {
|
|
147
|
+
return this.progressController.onProgress(observer);
|
|
143
148
|
};
|
|
144
149
|
Object.defineProperty(CrudController.prototype, "model", {
|
|
145
150
|
get: function () {
|
|
@@ -148,6 +153,23 @@ var CrudController = /** @class */ (function () {
|
|
|
148
153
|
enumerable: false,
|
|
149
154
|
configurable: true
|
|
150
155
|
});
|
|
156
|
+
CrudController.prototype.setDocument = function (value) {
|
|
157
|
+
if (this._document !== value) {
|
|
158
|
+
this._document = value;
|
|
159
|
+
this._onChange.notify({ documentChanged: this._document });
|
|
160
|
+
}
|
|
161
|
+
return this;
|
|
162
|
+
};
|
|
163
|
+
Object.defineProperty(CrudController.prototype, "document", {
|
|
164
|
+
get: function () {
|
|
165
|
+
return this._document;
|
|
166
|
+
},
|
|
167
|
+
set: function (value) {
|
|
168
|
+
this.setDocument(value);
|
|
169
|
+
},
|
|
170
|
+
enumerable: false,
|
|
171
|
+
configurable: true
|
|
172
|
+
});
|
|
151
173
|
return CrudController;
|
|
152
174
|
}());
|
|
153
175
|
exports.CrudController = CrudController;
|
|
@@ -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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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EntropicComponent, Model } from 'entropic-bond';
|
|
2
|
+
import { CrudController } from './crud-controller';
|
|
3
|
+
export declare class Test extends EntropicComponent {
|
|
4
|
+
set testProp(value: string);
|
|
5
|
+
get testProp(): string;
|
|
6
|
+
private _testProp;
|
|
7
|
+
}
|
|
8
|
+
export declare class TestController extends CrudController<Test> {
|
|
9
|
+
createDocument(): Test;
|
|
10
|
+
protected getModel(): Model<Test>;
|
|
11
|
+
allRequiredPropertiesFilled(): boolean;
|
|
12
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __assign = (this && this.__assign) || function () {
|
|
18
|
+
__assign = Object.assign || function(t) {
|
|
19
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
+
s = arguments[i];
|
|
21
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
+
t[p] = s[p];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
return __assign.apply(this, arguments);
|
|
27
|
+
};
|
|
28
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
29
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
30
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
31
|
+
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;
|
|
32
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
33
|
+
};
|
|
34
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
35
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
36
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
37
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
38
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
39
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
40
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
44
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
45
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
46
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
47
|
+
function step(op) {
|
|
48
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
49
|
+
while (_) try {
|
|
50
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
51
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
52
|
+
switch (op[0]) {
|
|
53
|
+
case 0: case 1: t = op; break;
|
|
54
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
55
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
56
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
57
|
+
default:
|
|
58
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
59
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
60
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
61
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
62
|
+
if (t[2]) _.ops.pop();
|
|
63
|
+
_.trys.pop(); continue;
|
|
64
|
+
}
|
|
65
|
+
op = body.call(thisArg, _);
|
|
66
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
67
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
71
|
+
exports.TestController = exports.Test = void 0;
|
|
72
|
+
var entropic_bond_1 = require("entropic-bond");
|
|
73
|
+
var crud_controller_1 = require("./crud-controller");
|
|
74
|
+
var mockData = {
|
|
75
|
+
Test: {
|
|
76
|
+
test1: {
|
|
77
|
+
__className: 'Test',
|
|
78
|
+
id: 'test1',
|
|
79
|
+
testProp: 'Test prop 1'
|
|
80
|
+
},
|
|
81
|
+
test2: {
|
|
82
|
+
__className: 'Test',
|
|
83
|
+
id: 'test2',
|
|
84
|
+
testProp: 'Test prop 2'
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
var Test = /** @class */ (function (_super) {
|
|
89
|
+
__extends(Test, _super);
|
|
90
|
+
function Test() {
|
|
91
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
92
|
+
}
|
|
93
|
+
Object.defineProperty(Test.prototype, "testProp", {
|
|
94
|
+
get: function () {
|
|
95
|
+
return this._testProp;
|
|
96
|
+
},
|
|
97
|
+
set: function (value) {
|
|
98
|
+
this.changeProp('testProp', value);
|
|
99
|
+
},
|
|
100
|
+
enumerable: false,
|
|
101
|
+
configurable: true
|
|
102
|
+
});
|
|
103
|
+
__decorate([
|
|
104
|
+
entropic_bond_1.persistent
|
|
105
|
+
], Test.prototype, "_testProp", void 0);
|
|
106
|
+
Test = __decorate([
|
|
107
|
+
(0, entropic_bond_1.registerPersistentClass)('Test')
|
|
108
|
+
], Test);
|
|
109
|
+
return Test;
|
|
110
|
+
}(entropic_bond_1.EntropicComponent));
|
|
111
|
+
exports.Test = Test;
|
|
112
|
+
var TestController = /** @class */ (function (_super) {
|
|
113
|
+
__extends(TestController, _super);
|
|
114
|
+
function TestController() {
|
|
115
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
116
|
+
}
|
|
117
|
+
TestController.prototype.createDocument = function () {
|
|
118
|
+
return new Test();
|
|
119
|
+
};
|
|
120
|
+
TestController.prototype.getModel = function () {
|
|
121
|
+
return entropic_bond_1.Store.getModel('Test');
|
|
122
|
+
};
|
|
123
|
+
TestController.prototype.allRequiredPropertiesFilled = function () {
|
|
124
|
+
return true;
|
|
125
|
+
};
|
|
126
|
+
return TestController;
|
|
127
|
+
}(crud_controller_1.CrudController));
|
|
128
|
+
exports.TestController = TestController;
|
|
129
|
+
describe('Crud Controller', function () {
|
|
130
|
+
var controller;
|
|
131
|
+
var datasource;
|
|
132
|
+
var onProgress;
|
|
133
|
+
beforeEach(function () {
|
|
134
|
+
datasource = new entropic_bond_1.JsonDataSource(__assign({}, mockData));
|
|
135
|
+
entropic_bond_1.Store.useDataSource(datasource);
|
|
136
|
+
controller = new TestController();
|
|
137
|
+
onProgress = jest.fn();
|
|
138
|
+
controller.onProgress(onProgress);
|
|
139
|
+
});
|
|
140
|
+
describe('Long operations', function () {
|
|
141
|
+
beforeEach(function () {
|
|
142
|
+
datasource.simulateDelay(50);
|
|
143
|
+
});
|
|
144
|
+
it('should notify busy on delete', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
145
|
+
var promise;
|
|
146
|
+
return __generator(this, function (_a) {
|
|
147
|
+
switch (_a.label) {
|
|
148
|
+
case 0:
|
|
149
|
+
promise = controller.deleteDocument();
|
|
150
|
+
expect(onProgress).toHaveBeenLastCalledWith(expect.objectContaining({ busy: true }));
|
|
151
|
+
return [4 /*yield*/, promise];
|
|
152
|
+
case 1:
|
|
153
|
+
_a.sent();
|
|
154
|
+
expect(onProgress).toHaveBeenLastCalledWith(expect.objectContaining({ busy: false }));
|
|
155
|
+
return [2 /*return*/];
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
}); });
|
|
159
|
+
it('should notify busy on store', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
160
|
+
var promise;
|
|
161
|
+
return __generator(this, function (_a) {
|
|
162
|
+
switch (_a.label) {
|
|
163
|
+
case 0:
|
|
164
|
+
promise = controller.storeDocument();
|
|
165
|
+
expect(onProgress).toHaveBeenLastCalledWith(expect.objectContaining({ busy: true }));
|
|
166
|
+
return [4 /*yield*/, promise];
|
|
167
|
+
case 1:
|
|
168
|
+
_a.sent();
|
|
169
|
+
expect(onProgress).toHaveBeenLastCalledWith(expect.objectContaining({ busy: false }));
|
|
170
|
+
return [2 /*return*/];
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}); });
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
//# sourceMappingURL=crud-controller.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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
|
@@ -11,7 +11,6 @@ export interface CrudCardProps<T extends Persistent> {
|
|
|
11
11
|
onSelect?: (document: T) => void;
|
|
12
12
|
onDelete?: (document: T) => void;
|
|
13
13
|
}
|
|
14
|
-
declare type ProgressBarElement = (progress: number) => JSX.Element;
|
|
15
14
|
export interface CrudContentViewProps<T extends Persistent> {
|
|
16
15
|
document: T;
|
|
17
16
|
submitButtonCaption: string;
|
|
@@ -29,8 +28,6 @@ export declare type Layout = 'formOrItems' | 'itemsAlways' | 'formAndItems';
|
|
|
29
28
|
interface CrudPanelState<T extends Persistent> {
|
|
30
29
|
documents: T[];
|
|
31
30
|
mode: Mode;
|
|
32
|
-
progress: number;
|
|
33
|
-
document: T;
|
|
34
31
|
}
|
|
35
32
|
interface CrudPanelProps<T extends Persistent> {
|
|
36
33
|
controller: CrudController<T>;
|
|
@@ -42,7 +39,6 @@ interface CrudPanelProps<T extends Persistent> {
|
|
|
42
39
|
];
|
|
43
40
|
className?: string;
|
|
44
41
|
cardAddButton?: boolean | JSX.Element;
|
|
45
|
-
progressBar?: ProgressBarElement;
|
|
46
42
|
header?: string | JSX.Element;
|
|
47
43
|
footer?: string | JSX.Element;
|
|
48
44
|
}
|
|
@@ -57,6 +53,5 @@ export declare class CrudPanel<T extends Persistent> extends Component<CrudPanel
|
|
|
57
53
|
private invokeDetailViewChild;
|
|
58
54
|
render(): JSX.Element;
|
|
59
55
|
private unsubscriber;
|
|
60
|
-
private progressUnsubscriber;
|
|
61
56
|
}
|
|
62
57
|
export {};
|
package/lib/crud-panel.js
CHANGED
|
@@ -97,8 +97,7 @@ var CrudPanel = /** @class */ (function (_super) {
|
|
|
97
97
|
_this.state = {
|
|
98
98
|
documents: [],
|
|
99
99
|
mode: Mode.normal,
|
|
100
|
-
|
|
101
|
-
document: props.controller.createDocument()
|
|
100
|
+
// document: props.controller.newDocument()
|
|
102
101
|
};
|
|
103
102
|
return _this;
|
|
104
103
|
}
|
|
@@ -120,10 +119,9 @@ var CrudPanel = /** @class */ (function (_super) {
|
|
|
120
119
|
else
|
|
121
120
|
_this.setState({});
|
|
122
121
|
});
|
|
123
|
-
this.progressUnsubscriber = controller.onProgress(function (e) { return _this.setState({ progress: e.overallProgress }); });
|
|
124
122
|
_a = this.setState;
|
|
125
123
|
_b = {};
|
|
126
|
-
return [4 /*yield*/, controller.
|
|
124
|
+
return [4 /*yield*/, controller.documentCollection()];
|
|
127
125
|
case 1:
|
|
128
126
|
_a.apply(this, [(_b.documents = _c.sent(),
|
|
129
127
|
_b)]);
|
|
@@ -134,29 +132,30 @@ var CrudPanel = /** @class */ (function (_super) {
|
|
|
134
132
|
};
|
|
135
133
|
CrudPanel.prototype.componentWillUnmount = function () {
|
|
136
134
|
this.unsubscriber();
|
|
137
|
-
this.progressUnsubscriber();
|
|
138
135
|
};
|
|
139
136
|
CrudPanel.prototype.newDocument = function () {
|
|
140
|
-
|
|
137
|
+
this.props.controller.newDocument();
|
|
141
138
|
this.setState({
|
|
142
139
|
mode: Mode.add,
|
|
143
|
-
document: controller.
|
|
140
|
+
// document: controller.newDocument()
|
|
144
141
|
});
|
|
145
142
|
};
|
|
146
143
|
CrudPanel.prototype.editDocument = function (document) {
|
|
144
|
+
this.props.controller.setDocument(document);
|
|
147
145
|
this.setState({
|
|
148
|
-
|
|
146
|
+
// document,
|
|
149
147
|
mode: Mode.edit
|
|
150
148
|
});
|
|
151
149
|
};
|
|
152
150
|
CrudPanel.prototype.storeDocument = function (document) {
|
|
153
151
|
return __awaiter(this, void 0, void 0, function () {
|
|
154
|
-
var _a, controller, layout;
|
|
152
|
+
var _a, controller, layout, controller1;
|
|
155
153
|
return __generator(this, function (_b) {
|
|
156
154
|
switch (_b.label) {
|
|
157
155
|
case 0:
|
|
158
156
|
_a = this.props, controller = _a.controller, layout = _a.layout;
|
|
159
|
-
|
|
157
|
+
controller1 = controller.setDocument(document);
|
|
158
|
+
return [4 /*yield*/, controller.storeDocument()];
|
|
160
159
|
case 1:
|
|
161
160
|
_b.sent();
|
|
162
161
|
if (layout === 'formAndItems') {
|
|
@@ -165,7 +164,6 @@ var CrudPanel = /** @class */ (function (_super) {
|
|
|
165
164
|
else {
|
|
166
165
|
this.setState({
|
|
167
166
|
mode: Mode.normal,
|
|
168
|
-
progress: 0
|
|
169
167
|
});
|
|
170
168
|
}
|
|
171
169
|
return [2 /*return*/];
|
|
@@ -175,14 +173,14 @@ var CrudPanel = /** @class */ (function (_super) {
|
|
|
175
173
|
};
|
|
176
174
|
CrudPanel.prototype.invokeContentViewChild = function (labels) {
|
|
177
175
|
var _this = this;
|
|
178
|
-
var _a = this.props, children = _a.children, layout = _a.layout;
|
|
179
|
-
var
|
|
176
|
+
var _a = this.props, children = _a.children, layout = _a.layout, controller = _a.controller;
|
|
177
|
+
var mode = this.state.mode;
|
|
180
178
|
var addButtonLabel = labels.addButtonLabel, updateButtonLabel = labels.updateButtonLabel;
|
|
181
179
|
var closeOnCancel = layout !== 'formAndItems';
|
|
182
180
|
if (!document)
|
|
183
181
|
return;
|
|
184
182
|
var props = {
|
|
185
|
-
document: document,
|
|
183
|
+
document: controller.document,
|
|
186
184
|
submitButtonCaption: mode == Mode.edit ? updateButtonLabel : addButtonLabel,
|
|
187
185
|
onSubmit: function (document) { return _this.storeDocument(document); },
|
|
188
186
|
onCancel: closeOnCancel
|
|
@@ -190,10 +188,10 @@ var CrudPanel = /** @class */ (function (_super) {
|
|
|
190
188
|
: function () { return _this.newDocument(); },
|
|
191
189
|
};
|
|
192
190
|
if (typeof children[0] === 'function') {
|
|
193
|
-
return (0, react_1.cloneElement)(children[0](props), { key: document.id });
|
|
191
|
+
return (0, react_1.cloneElement)(children[0](props), { key: controller.document.id });
|
|
194
192
|
}
|
|
195
193
|
else {
|
|
196
|
-
return (0, react_1.cloneElement)(children[0], __assign({ key: document.id }, props));
|
|
194
|
+
return (0, react_1.cloneElement)(children[0], __assign({ key: controller.document.id }, props));
|
|
197
195
|
}
|
|
198
196
|
};
|
|
199
197
|
CrudPanel.prototype.invokeDetailViewChild = function (document) {
|
|
@@ -202,7 +200,7 @@ var CrudPanel = /** @class */ (function (_super) {
|
|
|
202
200
|
var props = {
|
|
203
201
|
document: document,
|
|
204
202
|
onSelect: function (document) { return _this.editDocument(document); },
|
|
205
|
-
onDelete: function (document) { return controller.
|
|
203
|
+
onDelete: function (document) { return controller.setDocument(document).deleteDocument(); }
|
|
206
204
|
};
|
|
207
205
|
if (typeof children[1] === 'function') {
|
|
208
206
|
return (0, react_1.cloneElement)(children[1](props), { key: document.id });
|
|
@@ -213,9 +211,10 @@ var CrudPanel = /** @class */ (function (_super) {
|
|
|
213
211
|
};
|
|
214
212
|
CrudPanel.prototype.render = function () {
|
|
215
213
|
var _this = this;
|
|
216
|
-
var _a
|
|
217
|
-
var _b = this.
|
|
218
|
-
var
|
|
214
|
+
var _a;
|
|
215
|
+
var _b = this.state, mode = _b.mode, documents = _b.documents;
|
|
216
|
+
var _c = this.props, className = _c.className, cardAddButton = _c.cardAddButton, controller = _c.controller;
|
|
217
|
+
var docClassName = (0, entropic_bond_1.snakeCase)((_a = controller.document) === null || _a === void 0 ? void 0 : _a.className);
|
|
219
218
|
var labels = this.props.labels;
|
|
220
219
|
var layout = this.props.layout || 'itemsAlways';
|
|
221
220
|
if (typeof labels === 'function')
|
|
@@ -225,9 +224,7 @@ var CrudPanel = /** @class */ (function (_super) {
|
|
|
225
224
|
mode === Mode.normal && layout !== 'formAndItems' && !cardAddButton &&
|
|
226
225
|
react_1.default.createElement("button", { onClick: function () { return _this.newDocument(); } }, addNewDocumentLabel),
|
|
227
226
|
(layout === 'formAndItems' || mode === Mode.add || mode === Mode.edit) &&
|
|
228
|
-
react_1.default.createElement("div", { className: "content-panel" },
|
|
229
|
-
this.invokeContentViewChild(labels),
|
|
230
|
-
progress > 0 && (progressBar === null || progressBar === void 0 ? void 0 : progressBar(progress * 100))),
|
|
227
|
+
react_1.default.createElement("div", { className: "content-panel" }, this.invokeContentViewChild(labels)),
|
|
231
228
|
(layout === 'itemsAlways' || layout === 'formAndItems' || mode === Mode.normal) &&
|
|
232
229
|
react_1.default.createElement("div", { className: "collection-panel" },
|
|
233
230
|
react_1.default.createElement("h3", null, documentsInCollectionCaption),
|
package/lib/crud-panel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-panel.js","sourceRoot":"","sources":["../src/crud-panel.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAmE;AACnE,6CAAoE;AAGpE,IAAK,IAA0B;AAA/B,WAAK,IAAI;IAAG,mCAAM,CAAA;IAAE,6BAAG,CAAA;IAAE,+BAAI,CAAA;AAAC,CAAC,EAA1B,IAAI,KAAJ,IAAI,QAAsB;
|
|
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
|
@@ -37,12 +37,6 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
37
37
|
}) : function(o, v) {
|
|
38
38
|
o["default"] = v;
|
|
39
39
|
});
|
|
40
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
41
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
42
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
43
|
-
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;
|
|
44
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
45
|
-
};
|
|
46
40
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
47
41
|
if (mod && mod.__esModule) return mod;
|
|
48
42
|
var result = {};
|
|
@@ -95,7 +89,7 @@ var react_2 = require("@testing-library/react");
|
|
|
95
89
|
var user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
96
90
|
var entropic_bond_1 = require("entropic-bond");
|
|
97
91
|
var crud_panel_1 = require("./crud-panel");
|
|
98
|
-
var
|
|
92
|
+
var crud_controller_spec_1 = require("./crud-controller.spec");
|
|
99
93
|
var crudLabels = {
|
|
100
94
|
addNewDocumentLabel: 'Add new document',
|
|
101
95
|
addButtonLabel: 'Add',
|
|
@@ -122,45 +116,6 @@ var mockData = {
|
|
|
122
116
|
}
|
|
123
117
|
}
|
|
124
118
|
};
|
|
125
|
-
var Test = /** @class */ (function (_super) {
|
|
126
|
-
__extends(Test, _super);
|
|
127
|
-
function Test() {
|
|
128
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
129
|
-
}
|
|
130
|
-
Object.defineProperty(Test.prototype, "testProp", {
|
|
131
|
-
get: function () {
|
|
132
|
-
return this._testProp;
|
|
133
|
-
},
|
|
134
|
-
set: function (value) {
|
|
135
|
-
this.changeProp('testProp', value);
|
|
136
|
-
},
|
|
137
|
-
enumerable: false,
|
|
138
|
-
configurable: true
|
|
139
|
-
});
|
|
140
|
-
__decorate([
|
|
141
|
-
entropic_bond_1.persistent
|
|
142
|
-
], Test.prototype, "_testProp", void 0);
|
|
143
|
-
Test = __decorate([
|
|
144
|
-
(0, entropic_bond_1.registerPersistentClass)('Test')
|
|
145
|
-
], Test);
|
|
146
|
-
return Test;
|
|
147
|
-
}(entropic_bond_1.EntropicComponent));
|
|
148
|
-
var TestController = /** @class */ (function (_super) {
|
|
149
|
-
__extends(TestController, _super);
|
|
150
|
-
function TestController() {
|
|
151
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
152
|
-
}
|
|
153
|
-
TestController.prototype.createDocument = function () {
|
|
154
|
-
return new Test();
|
|
155
|
-
};
|
|
156
|
-
TestController.prototype.getModel = function () {
|
|
157
|
-
return entropic_bond_1.Store.getModel('Test');
|
|
158
|
-
};
|
|
159
|
-
TestController.prototype.allRequiredPropertiesFilled = function () {
|
|
160
|
-
return true;
|
|
161
|
-
};
|
|
162
|
-
return TestController;
|
|
163
|
-
}(crud_controller_1.CrudController));
|
|
164
119
|
var TestView = /** @class */ (function (_super) {
|
|
165
120
|
__extends(TestView, _super);
|
|
166
121
|
function TestView() {
|
|
@@ -199,16 +154,24 @@ describe('Crud Panel', function () {
|
|
|
199
154
|
var controller;
|
|
200
155
|
var notifySpy;
|
|
201
156
|
var renderResult;
|
|
157
|
+
var datasource;
|
|
202
158
|
beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
203
159
|
return __generator(this, function (_a) {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
160
|
+
switch (_a.label) {
|
|
161
|
+
case 0:
|
|
162
|
+
datasource = new entropic_bond_1.JsonDataSource(__assign({}, mockData));
|
|
163
|
+
entropic_bond_1.Store.useDataSource(datasource);
|
|
164
|
+
controller = new crud_controller_spec_1.TestController();
|
|
165
|
+
notifySpy = jest.fn();
|
|
166
|
+
controller.onChange(notifySpy);
|
|
167
|
+
renderResult = (0, react_2.render)(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels },
|
|
168
|
+
react_1.default.createElement(TestView, null),
|
|
169
|
+
react_1.default.createElement(TestCard, null)));
|
|
170
|
+
return [4 /*yield*/, datasource.wait()];
|
|
171
|
+
case 1:
|
|
172
|
+
_a.sent();
|
|
173
|
+
return [2 /*return*/];
|
|
174
|
+
}
|
|
212
175
|
});
|
|
213
176
|
}); });
|
|
214
177
|
it('should show add button', function () {
|
|
@@ -260,8 +223,7 @@ describe('Crud Panel', function () {
|
|
|
260
223
|
return [4 /*yield*/, react_2.screen.findByPlaceholderText(testViewPlaceholder)];
|
|
261
224
|
case 1:
|
|
262
225
|
input = _b.sent();
|
|
263
|
-
|
|
264
|
-
user_event_1.default.type(input, 'New and fancy Application'); // does not work!!
|
|
226
|
+
user_event_1.default.type(input, 'New and fancy Application');
|
|
265
227
|
user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.addButtonLabel }));
|
|
266
228
|
docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
|
|
267
229
|
_a = expect;
|
|
@@ -359,26 +321,28 @@ describe('Crud Panel', function () {
|
|
|
359
321
|
expect(formView()).toBeInTheDocument();
|
|
360
322
|
});
|
|
361
323
|
});
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
react_1.default.createElement(
|
|
373
|
-
|
|
374
|
-
react_1.default.createElement("
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
324
|
+
describe('Labels', function () {
|
|
325
|
+
it('should allow to pass labels as a function', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
326
|
+
var labels, documentClassName;
|
|
327
|
+
return __generator(this, function (_a) {
|
|
328
|
+
labels = function (controller) { return Object.entries(crudLabels)
|
|
329
|
+
.reduce(function (prev, _a) {
|
|
330
|
+
var key = _a[0], label = _a[1];
|
|
331
|
+
prev[key] = "".concat(label, " ").concat(controller.document.className);
|
|
332
|
+
return prev;
|
|
333
|
+
}, {}); };
|
|
334
|
+
renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: labels },
|
|
335
|
+
react_1.default.createElement(TestView, null),
|
|
336
|
+
function (props) { return (react_1.default.createElement("div", null,
|
|
337
|
+
react_1.default.createElement("p", null, props.document.testProp),
|
|
338
|
+
react_1.default.createElement("button", { onClick: function () { return props.onSelect(props.document); } }, editButtonLabel),
|
|
339
|
+
react_1.default.createElement("button", { onClick: function () { return props.onDelete(props.document); } }, deleteButtonLabel))); }));
|
|
340
|
+
documentClassName = controller.createDocument().className;
|
|
341
|
+
expect(react_2.screen.getByText("".concat(crudLabels.addNewDocumentLabel, " ").concat(documentClassName))).toBeInTheDocument();
|
|
342
|
+
expect(react_2.screen.getByText("".concat(crudLabels.documentsInCollectionCaption, " ").concat(documentClassName))).toBeInTheDocument();
|
|
343
|
+
return [2 /*return*/];
|
|
344
|
+
});
|
|
345
|
+
}); });
|
|
346
|
+
});
|
|
383
347
|
});
|
|
384
348
|
//# sourceMappingURL=crud-panel.spec.js.map
|
|
@@ -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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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Callback } from 'entropic-bond';
|
|
2
|
+
interface ProgressStage {
|
|
3
|
+
name: string;
|
|
4
|
+
progress: number;
|
|
5
|
+
total: number;
|
|
6
|
+
}
|
|
7
|
+
interface ProgressStageCollection {
|
|
8
|
+
[stageName: string]: ProgressStage;
|
|
9
|
+
}
|
|
10
|
+
export interface ProgressEvent {
|
|
11
|
+
busy: boolean;
|
|
12
|
+
stages: ProgressStageCollection;
|
|
13
|
+
overallProgress: number;
|
|
14
|
+
}
|
|
15
|
+
export declare class ProgressController {
|
|
16
|
+
notifyBusy(busy: boolean, name?: string): void;
|
|
17
|
+
pushStage(stage: ProgressStage): void;
|
|
18
|
+
onProgress(cb: Callback<ProgressEvent>): import("entropic-bond").Unsubscriber;
|
|
19
|
+
private _stages;
|
|
20
|
+
private _onProgress;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProgressController = void 0;
|
|
4
|
+
var entropic_bond_1 = require("entropic-bond");
|
|
5
|
+
var ProgressController = /** @class */ (function () {
|
|
6
|
+
function ProgressController() {
|
|
7
|
+
this._stages = {};
|
|
8
|
+
this._onProgress = new entropic_bond_1.Observable();
|
|
9
|
+
}
|
|
10
|
+
ProgressController.prototype.notifyBusy = function (busy, name) {
|
|
11
|
+
this.pushStage({
|
|
12
|
+
name: name,
|
|
13
|
+
progress: busy ? 0 : 1, total: 1
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
ProgressController.prototype.pushStage = function (stage) {
|
|
17
|
+
this._stages[stage.name] = stage;
|
|
18
|
+
var overallProgress = Object.values(this._stages).reduce(function (prev, stage, _i, arr) {
|
|
19
|
+
return prev + stage.progress / stage.total / arr.length;
|
|
20
|
+
}, 0);
|
|
21
|
+
this._onProgress.notify({
|
|
22
|
+
busy: overallProgress < 1,
|
|
23
|
+
overallProgress: overallProgress,
|
|
24
|
+
stages: this._stages
|
|
25
|
+
});
|
|
26
|
+
if (overallProgress >= 1)
|
|
27
|
+
this._stages = {};
|
|
28
|
+
};
|
|
29
|
+
ProgressController.prototype.onProgress = function (cb) {
|
|
30
|
+
return this._onProgress.subscribe(cb);
|
|
31
|
+
};
|
|
32
|
+
return ProgressController;
|
|
33
|
+
}());
|
|
34
|
+
exports.ProgressController = ProgressController;
|
|
35
|
+
//# sourceMappingURL=progress-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-controller.js","sourceRoot":"","sources":["../src/progress-controller.ts"],"names":[],"mappings":";;;AAAA,+CAAoD;AAkBpD;IAAA;QA2BS,YAAO,GAA4B,EAAE,CAAA;QACrC,gBAAW,GAA8B,IAAI,0BAAU,EAAiB,CAAA;IACjF,CAAC;IA5BA,uCAAU,GAAV,UAAY,IAAa,EAAE,IAAa;QACvC,IAAI,CAAC,SAAS,CAAC;YACd,IAAI,MAAA;YAAE,QAAQ,EAAE,IAAI,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;SACrC,CAAC,CAAA;IACH,CAAC;IAED,sCAAS,GAAT,UAAW,KAAoB;QAC9B,IAAI,CAAC,OAAO,CAAE,KAAK,CAAC,IAAI,CAAE,GAAG,KAAK,CAAA;QAElC,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAE,IAAI,CAAC,OAAO,CAAE,CAAC,MAAM,CAAE,UAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG;YAClF,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,iBAAA;YACf,MAAM,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC,CAAA;QAEF,IAAK,eAAe,IAAI,CAAC;YAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IAC9C,CAAC;IAED,uCAAU,GAAV,UAAY,EAA2B;QACtC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAE,EAAE,CAAE,CAAA;IACxC,CAAC;IAIF,yBAAC;AAAD,CAAC,AA7BD,IA6BC;AA7BY,gDAAkB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var progress_controller_1 = require("./progress-controller");
|
|
4
|
+
describe('Progress Controller', function () {
|
|
5
|
+
var observer;
|
|
6
|
+
var controller;
|
|
7
|
+
beforeEach(function () {
|
|
8
|
+
observer = jest.fn();
|
|
9
|
+
controller = new progress_controller_1.ProgressController();
|
|
10
|
+
controller.onProgress(observer);
|
|
11
|
+
});
|
|
12
|
+
describe('Single stage', function () {
|
|
13
|
+
it('should notify on push stage', function () {
|
|
14
|
+
var stage = { name: 'test stage', progress: 0, total: 1 };
|
|
15
|
+
controller.pushStage(stage);
|
|
16
|
+
expect(observer).toHaveBeenCalledWith({
|
|
17
|
+
busy: true,
|
|
18
|
+
overallProgress: 0,
|
|
19
|
+
stages: { 'test stage': stage }
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
it('should advance progress', function () {
|
|
23
|
+
var stage = { name: 'test stage', progress: 0, total: 1 };
|
|
24
|
+
controller.pushStage(stage);
|
|
25
|
+
stage.progress = 0.5;
|
|
26
|
+
controller.pushStage(stage);
|
|
27
|
+
expect(observer).toHaveBeenLastCalledWith({
|
|
28
|
+
busy: true,
|
|
29
|
+
overallProgress: 0.5,
|
|
30
|
+
stages: { 'test stage': stage }
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
it('should notify not busy on completion', function () {
|
|
34
|
+
var stage = { name: 'test stage', progress: 0, total: 1 };
|
|
35
|
+
controller.pushStage(stage);
|
|
36
|
+
stage.progress = 0.5;
|
|
37
|
+
controller.pushStage(stage);
|
|
38
|
+
stage.progress = 1;
|
|
39
|
+
controller.pushStage(stage);
|
|
40
|
+
expect(observer).toHaveBeenLastCalledWith({
|
|
41
|
+
busy: false,
|
|
42
|
+
overallProgress: 1,
|
|
43
|
+
stages: { 'test stage': stage }
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
it('should notify only new stages after completion', function () {
|
|
47
|
+
var stage = { name: 'test stage', progress: 1, total: 1 };
|
|
48
|
+
controller.pushStage(stage);
|
|
49
|
+
expect(observer).toHaveBeenLastCalledWith(expect.objectContaining({ busy: false }));
|
|
50
|
+
controller.pushStage({ name: 'new operation stage', progress: 0, total: 1 });
|
|
51
|
+
expect(observer).toHaveBeenLastCalledWith({
|
|
52
|
+
busy: true,
|
|
53
|
+
overallProgress: 0,
|
|
54
|
+
stages: { 'new operation stage': expect.anything() }
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
it('should accept ratios different from 1', function () {
|
|
58
|
+
var stage = { name: 'test stage', progress: 30, total: 100 };
|
|
59
|
+
controller.pushStage(stage);
|
|
60
|
+
expect(observer).toHaveBeenCalledWith({
|
|
61
|
+
busy: true,
|
|
62
|
+
overallProgress: 0.3,
|
|
63
|
+
stages: { 'test stage': stage }
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
describe('Multiple stages', function () {
|
|
68
|
+
it('should accumulate subsequent pushed stages', function () {
|
|
69
|
+
var stage1 = { name: 'test stage1', progress: 0, total: 1 };
|
|
70
|
+
var stage2 = { name: 'test stage2', progress: 0, total: 1 };
|
|
71
|
+
controller.pushStage(stage1);
|
|
72
|
+
expect(observer).toHaveBeenLastCalledWith({
|
|
73
|
+
busy: true,
|
|
74
|
+
overallProgress: 0,
|
|
75
|
+
stages: { 'test stage1': stage1 }
|
|
76
|
+
});
|
|
77
|
+
controller.pushStage(stage2);
|
|
78
|
+
expect(observer).toHaveBeenLastCalledWith({
|
|
79
|
+
busy: true,
|
|
80
|
+
overallProgress: 0,
|
|
81
|
+
stages: {
|
|
82
|
+
'test stage1': stage1,
|
|
83
|
+
'test stage2': stage2
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
it('should calculate overall progress from multiple stages', function () {
|
|
88
|
+
var stage1 = { name: 'test stage1', progress: 0.1, total: 1 };
|
|
89
|
+
var stage2 = { name: 'test stage2', progress: 0.5, total: 1 };
|
|
90
|
+
controller.pushStage(stage1);
|
|
91
|
+
controller.pushStage(stage2);
|
|
92
|
+
expect(observer).toHaveBeenLastCalledWith({
|
|
93
|
+
busy: true,
|
|
94
|
+
overallProgress: 0.3,
|
|
95
|
+
stages: expect.anything()
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
it('should calculate overall progress from multiple stages with some stages finished', function () {
|
|
99
|
+
var stage1 = { name: 'test stage1', progress: 0.1, total: 1 };
|
|
100
|
+
var stage2 = { name: 'test stage2', progress: 0.5, total: 1 };
|
|
101
|
+
controller.pushStage(stage1);
|
|
102
|
+
controller.pushStage(stage2);
|
|
103
|
+
stage1.progress = 1;
|
|
104
|
+
controller.pushStage(stage1);
|
|
105
|
+
expect(observer).toHaveBeenLastCalledWith({
|
|
106
|
+
busy: true,
|
|
107
|
+
overallProgress: 0.75,
|
|
108
|
+
stages: expect.anything()
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
it('should notify not busy when all stages finished', function () {
|
|
112
|
+
var stage1 = { name: 'test stage1', progress: 0.1, total: 1 };
|
|
113
|
+
var stage2 = { name: 'test stage2', progress: 0.5, total: 1 };
|
|
114
|
+
controller.pushStage(stage1);
|
|
115
|
+
controller.pushStage(stage2);
|
|
116
|
+
stage1.progress = 1;
|
|
117
|
+
controller.pushStage(stage1);
|
|
118
|
+
stage2.progress = 1;
|
|
119
|
+
controller.pushStage(stage2);
|
|
120
|
+
expect(observer).toHaveBeenLastCalledWith({
|
|
121
|
+
busy: false,
|
|
122
|
+
overallProgress: 1,
|
|
123
|
+
stages: expect.anything()
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
it('should accept progress with different ratios', function () {
|
|
127
|
+
var stage1 = { name: 'test stage1', progress: 0.1, total: 1 };
|
|
128
|
+
var stage2 = { name: 'test stage2', progress: 50, total: 100 };
|
|
129
|
+
controller.pushStage(stage1);
|
|
130
|
+
controller.pushStage(stage2);
|
|
131
|
+
expect(observer).toHaveBeenLastCalledWith({
|
|
132
|
+
busy: true,
|
|
133
|
+
overallProgress: 0.3,
|
|
134
|
+
stages: expect.anything()
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
//# sourceMappingURL=progress-controller.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-controller.spec.js","sourceRoot":"","sources":["../src/progress-controller.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entropic-bond/crud-panel",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"branches": [
|
|
@@ -68,6 +68,6 @@
|
|
|
68
68
|
}
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"entropic-bond": "^1.
|
|
71
|
+
"entropic-bond": "^1.19.0"
|
|
72
72
|
}
|
|
73
73
|
}
|