@entropic-bond/crud-panel 1.0.1 → 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/README.md CHANGED
@@ -1 +1 @@
1
- # Crud Panel
1
+ # Crud Panel 2.0
@@ -1,33 +1,29 @@
1
1
  import { Callback, Persistent, Model } from 'entropic-bond';
2
+ import { ProgressController, ProgressEvent } from './progress-controller';
2
3
  export interface CrudControllerEvent<T extends Persistent> {
3
4
  documentChanged?: T;
4
5
  documentCollection?: T[];
5
6
  }
6
7
  export declare abstract class CrudController<T extends Persistent> {
7
- constructor(document: T);
8
+ constructor(document?: T);
9
+ abstract allRequiredPropertiesFilled(): boolean;
10
+ protected abstract createDocument(): T;
8
11
  protected abstract getModel(): Model<T>;
9
- static registerController(documentName: string, construct: ControllerConstructor): void;
10
- static createController(document: Persistent): CrudController<Persistent>;
12
+ protected storeDoc(): Promise<void>;
13
+ protected deleteDoc(): Promise<void>;
14
+ protected findDocs(limit: number): Promise<T[]>;
11
15
  onChange(observer: Callback<CrudControllerEvent<T>>): import("entropic-bond").Unsubscriber;
12
- createDocument(): T;
13
- setDocument(value: T): this;
14
- get document(): T;
15
- storeDocument(document: T): Promise<void>;
16
- deleteDocument(document: T): Promise<void>;
17
- getDocumentCollection(): Promise<T[]>;
16
+ newDocument(): CrudController<T>;
17
+ storeDocument(): Promise<void>;
18
+ deleteDocument(): Promise<void>;
19
+ documentCollection(limit?: number): Promise<T[]>;
20
+ onProgress(observer: Callback<ProgressEvent>): import("entropic-bond").Unsubscriber;
18
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;
19
26
  private _onChange;
20
27
  private _model;
21
28
  private _document;
22
- private static _factories;
23
29
  }
24
- declare type ControllerConstructor = new (document: Persistent) => CrudController<Persistent>;
25
- /**
26
- * Decorator to associate this controller with the document type that it manages.
27
- * This will allow to create a controller from a given document automatically.
28
- *
29
- * @param documentTypeName the document type name that this controller is
30
- * dessigned for.
31
- */
32
- export declare function controllerFor(documentTypeName: string): (constructor: ControllerConstructor) => void;
33
- export {};
@@ -36,93 +36,115 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.controllerFor = exports.CrudController = void 0;
39
+ exports.CrudController = void 0;
40
40
  var entropic_bond_1 = require("entropic-bond");
41
+ var progress_controller_1 = require("./progress-controller");
41
42
  var CrudController = /** @class */ (function () {
42
43
  function CrudController(document) {
43
- this._document = document;
44
+ this.progressController = new progress_controller_1.ProgressController();
44
45
  this._onChange = new entropic_bond_1.Observable();
46
+ this._document = document || this.createDocument();
45
47
  }
46
- CrudController.registerController = function (documentName, construct) {
47
- this._factories[documentName] = function (document) {
48
- return new construct(document);
49
- };
48
+ CrudController.prototype.storeDoc = function () {
49
+ return this.model.save(this.document);
50
50
  };
51
- CrudController.createController = function (document) {
52
- if (!this._factories[document.className])
53
- throw new Error("You should register " + document.className + " controller prior to use in the CRUD system");
54
- var factory = this._factories[document.className];
55
- return factory(document);
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
56
  };
57
57
  CrudController.prototype.onChange = function (observer) {
58
58
  return this._onChange.subscribe(observer);
59
59
  };
60
- CrudController.prototype.createDocument = function () {
61
- this._document = entropic_bond_1.Persistent.createInstance(this.document.className);
62
- this._onChange.notify({ documentChanged: this._document });
63
- return this._document;
64
- };
65
- CrudController.prototype.setDocument = function (value) {
66
- if (this._document != value) {
67
- this._document = value;
68
- this._onChange.notify({ documentChanged: value });
69
- }
70
- return this;
60
+ CrudController.prototype.newDocument = function () {
61
+ return this.setDocument(this.createDocument());
71
62
  };
72
- Object.defineProperty(CrudController.prototype, "document", {
73
- get: function () {
74
- return this._document;
75
- },
76
- enumerable: false,
77
- configurable: true
78
- });
79
- CrudController.prototype.storeDocument = function (document) {
63
+ CrudController.prototype.storeDocument = function () {
80
64
  return __awaiter(this, void 0, void 0, function () {
81
- var _a, _b;
65
+ var progressStage, _a, _b;
82
66
  var _c;
83
67
  return __generator(this, function (_d) {
84
68
  switch (_d.label) {
85
- case 0: return [4 /*yield*/, this.model.save(document)];
69
+ case 0:
70
+ progressStage = 'Saving main document';
71
+ _d.label = 1;
86
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:
87
77
  _d.sent();
88
- this._document = document;
89
78
  _b = (_a = this._onChange).notify;
90
- _c = {
91
- documentChanged: this._document !== document ? document : undefined
92
- };
93
- return [4 /*yield*/, this.getDocumentCollection()];
94
- case 2:
79
+ _c = {};
80
+ return [4 /*yield*/, this.documentCollection()];
81
+ case 3:
95
82
  _b.apply(_a, [(_c.documentCollection = _d.sent(),
96
83
  _c)]);
97
- return [2 /*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*/];
98
89
  }
99
90
  });
100
91
  });
101
92
  };
102
- CrudController.prototype.deleteDocument = function (document) {
93
+ CrudController.prototype.deleteDocument = function () {
103
94
  return __awaiter(this, void 0, void 0, function () {
104
- var _a, _b;
95
+ var progressStage, _a, _b;
105
96
  var _c;
106
97
  return __generator(this, function (_d) {
107
98
  switch (_d.label) {
108
- case 0: return [4 /*yield*/, this.model.delete(document.id)];
99
+ case 0:
100
+ progressStage = 'Delete main document';
101
+ _d.label = 1;
109
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:
110
107
  _d.sent();
111
108
  _b = (_a = this._onChange).notify;
112
- _c = {
113
- documentChanged: document
114
- };
115
- return [4 /*yield*/, this.getDocumentCollection()];
116
- case 2:
109
+ _c = {};
110
+ return [4 /*yield*/, this.documentCollection()];
111
+ case 3:
117
112
  _b.apply(_a, [(_c.documentCollection = _d.sent(),
118
113
  _c)]);
119
- return [2 /*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*/];
119
+ }
120
+ });
121
+ });
122
+ };
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];
120
142
  }
121
143
  });
122
144
  });
123
145
  };
124
- CrudController.prototype.getDocumentCollection = function () {
125
- return this.model.find().get();
146
+ CrudController.prototype.onProgress = function (observer) {
147
+ return this.progressController.onProgress(observer);
126
148
  };
127
149
  Object.defineProperty(CrudController.prototype, "model", {
128
150
  get: function () {
@@ -131,21 +153,24 @@ var CrudController = /** @class */ (function () {
131
153
  enumerable: false,
132
154
  configurable: true
133
155
  });
134
- CrudController._factories = {};
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
+ });
135
173
  return CrudController;
136
174
  }());
137
175
  exports.CrudController = CrudController;
138
- /**
139
- * Decorator to associate this controller with the document type that it manages.
140
- * This will allow to create a controller from a given document automatically.
141
- *
142
- * @param documentTypeName the document type name that this controller is
143
- * dessigned for.
144
- */
145
- function controllerFor(documentTypeName) {
146
- return function (constructor) {
147
- CrudController.registerController(documentTypeName, constructor);
148
- };
149
- }
150
- exports.controllerFor = controllerFor;
151
176
  //# sourceMappingURL=crud-controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crud-controller.js","sourceRoot":"","sources":["../src/crud-controller.ts"],"names":[],"mappings":"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"}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAoH;AACpH,qDAAkD;AAElD,IAAM,QAAQ,GAAG;IAChB,IAAI,EAAE;QACL,KAAK,EAAC;YACL,WAAW,EAAE,MAAM;YACnB,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,aAAa;SACvB;QACD,KAAK,EAAC;YACL,WAAW,EAAE,MAAM;YACnB,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,aAAa;SACvB;KACD;CACD,CAAA;AAGD;IAA0B,wBAAiB;IAA3C;;IAUA,CAAC;IATA,sBAAI,0BAAQ;aAIZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAA;QACtB,CAAC;aAND,UAAc,KAAa;YAC1B,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAE,CAAA;QACpC,CAAC;;;OAAA;IAMW;QAAX,0BAAU;2CAA0B;IATzB,IAAI;QADhB,IAAA,uCAAuB,EAAE,MAAM,CAAE;OACrB,IAAI,CAUhB;IAAD,WAAC;CAAA,AAVD,CAA0B,iCAAiB,GAU1C;AAVY,oBAAI;AAYjB;IAAoC,kCAAoB;IAAxD;;IAaA,CAAC;IAXA,uCAAc,GAAd;QACC,OAAO,IAAI,IAAI,EAAE,CAAA;IAClB,CAAC;IAES,iCAAQ,GAAlB;QACC,OAAO,qBAAK,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAA;IAChC,CAAC;IAED,oDAA2B,GAA3B;QACC,OAAO,IAAI,CAAA;IACZ,CAAC;IACF,qBAAC;AAAD,CAAC,AAbD,CAAoC,gCAAc,GAajD;AAbY,wCAAc;AAe3B,QAAQ,CAAE,iBAAiB,EAAE;IAC5B,IAAI,UAA0B,CAAA;IAC9B,IAAI,UAA0B,CAAA;IAC9B,IAAI,UAAqB,CAAA;IAEzB,UAAU,CAAC;QACV,UAAU,GAAG,IAAI,8BAAc,cAAM,QAAQ,EAAG,CAAA;QAChD,qBAAK,CAAC,aAAa,CAAE,UAAU,CAAE,CAAA;QACjC,UAAU,GAAG,IAAI,cAAc,EAAE,CAAA;QACjC,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;QACtB,UAAU,CAAC,UAAU,CAAE,UAAU,CAAE,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAE,iBAAiB,EAAE;QAE5B,UAAU,CAAC;YACV,UAAU,CAAC,aAAa,CAAE,EAAE,CAAE,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,8BAA8B,EAAE;;;;;wBAC7B,OAAO,GAAG,UAAU,CAAC,cAAc,EAAE,CAAA;wBAC3C,MAAM,CAAE,UAAU,CAAE,CAAC,wBAAwB,CAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAE,CAAA;wBACxF,qBAAM,OAAO,EAAA;;wBAAb,SAAa,CAAA;wBACb,MAAM,CAAE,UAAU,CAAE,CAAC,wBAAwB,CAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAE,CAAA;;;;aACzF,CAAC,CAAA;QAEF,EAAE,CAAE,6BAA6B,EAAE;;;;;wBAC5B,OAAO,GAAG,UAAU,CAAC,aAAa,EAAE,CAAA;wBAC1C,MAAM,CAAE,UAAU,CAAE,CAAC,wBAAwB,CAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAE,CAAA;wBACxF,qBAAM,OAAO,EAAA;;wBAAb,SAAa,CAAA;wBACb,MAAM,CAAE,UAAU,CAAE,CAAC,wBAAwB,CAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAE,CAAA;;;;aACzF,CAAC,CAAA;IAEH,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -8,11 +8,11 @@ declare enum Mode {
8
8
  }
9
9
  export interface CrudCardProps<T extends Persistent> {
10
10
  document: T;
11
- onSelect: (document: T) => void;
12
- onDelete: (document: T) => void;
11
+ onSelect?: (document: T) => void;
12
+ onDelete?: (document: T) => void;
13
13
  }
14
14
  export interface CrudContentViewProps<T extends Persistent> {
15
- controller: CrudController<T>;
15
+ document: T;
16
16
  submitButtonCaption: string;
17
17
  onSubmit: (document: T) => void;
18
18
  onCancel: () => void;
@@ -24,7 +24,7 @@ export interface CrudPanelLabels {
24
24
  documentsInCollectionCaption: string;
25
25
  noDocumentsFoundLabel: string;
26
26
  }
27
- export declare type Layout = 'formOrItems' | 'formAlways' | 'itemsAlways' | 'formAndItems';
27
+ export declare type Layout = 'formOrItems' | 'itemsAlways' | 'formAndItems';
28
28
  interface CrudPanelState<T extends Persistent> {
29
29
  documents: T[];
30
30
  mode: Mode;
@@ -38,6 +38,9 @@ interface CrudPanelProps<T extends Persistent> {
38
38
  ((props: CrudCardProps<T>) => ReactElement) | ReactElement<CrudCardProps<T>>
39
39
  ];
40
40
  className?: string;
41
+ cardAddButton?: boolean | JSX.Element;
42
+ header?: string | JSX.Element;
43
+ footer?: string | JSX.Element;
41
44
  }
42
45
  export declare class CrudPanel<T extends Persistent> extends Component<CrudPanelProps<T>, CrudPanelState<T>> {
43
46
  constructor(props: CrudPanelProps<T>);
package/lib/crud-panel.js CHANGED
@@ -82,6 +82,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
82
82
  };
83
83
  Object.defineProperty(exports, "__esModule", { value: true });
84
84
  exports.CrudPanel = void 0;
85
+ var entropic_bond_1 = require("entropic-bond");
85
86
  var react_1 = __importStar(require("react"));
86
87
  var Mode;
87
88
  (function (Mode) {
@@ -95,7 +96,8 @@ var CrudPanel = /** @class */ (function (_super) {
95
96
  var _this = _super.call(this, props) || this;
96
97
  _this.state = {
97
98
  documents: [],
98
- mode: Mode.normal
99
+ mode: Mode.normal,
100
+ // document: props.controller.newDocument()
99
101
  };
100
102
  return _this;
101
103
  }
@@ -119,7 +121,7 @@ var CrudPanel = /** @class */ (function (_super) {
119
121
  });
120
122
  _a = this.setState;
121
123
  _b = {};
122
- return [4 /*yield*/, controller.getDocumentCollection()];
124
+ return [4 /*yield*/, controller.documentCollection()];
123
125
  case 1:
124
126
  _a.apply(this, [(_b.documents = _c.sent(),
125
127
  _b)]);
@@ -132,35 +134,36 @@ var CrudPanel = /** @class */ (function (_super) {
132
134
  this.unsubscriber();
133
135
  };
134
136
  CrudPanel.prototype.newDocument = function () {
135
- var controller = this.props.controller;
136
- controller.createDocument();
137
+ this.props.controller.newDocument();
137
138
  this.setState({
138
- mode: Mode.add
139
+ mode: Mode.add,
140
+ // document: controller.newDocument()
139
141
  });
140
142
  };
141
143
  CrudPanel.prototype.editDocument = function (document) {
142
- var controller = this.props.controller;
143
- controller.setDocument(document);
144
+ this.props.controller.setDocument(document);
144
145
  this.setState({
146
+ // document,
145
147
  mode: Mode.edit
146
148
  });
147
149
  };
148
150
  CrudPanel.prototype.storeDocument = function (document) {
149
151
  return __awaiter(this, void 0, void 0, function () {
150
- var _a, controller, layout;
152
+ var _a, controller, layout, controller1;
151
153
  return __generator(this, function (_b) {
152
154
  switch (_b.label) {
153
155
  case 0:
154
156
  _a = this.props, controller = _a.controller, layout = _a.layout;
155
- return [4 /*yield*/, controller.storeDocument(document)];
157
+ controller1 = controller.setDocument(document);
158
+ return [4 /*yield*/, controller.storeDocument()];
156
159
  case 1:
157
160
  _b.sent();
158
- if (layout === 'formAlways' || layout === 'formAndItems') {
161
+ if (layout === 'formAndItems') {
159
162
  this.newDocument();
160
163
  }
161
164
  else {
162
165
  this.setState({
163
- mode: Mode.normal
166
+ mode: Mode.normal,
164
167
  });
165
168
  }
166
169
  return [2 /*return*/];
@@ -170,23 +173,25 @@ var CrudPanel = /** @class */ (function (_super) {
170
173
  };
171
174
  CrudPanel.prototype.invokeContentViewChild = function (labels) {
172
175
  var _this = this;
173
- var _a = this.props, children = _a.children, controller = _a.controller, layout = _a.layout;
176
+ var _a = this.props, children = _a.children, layout = _a.layout, controller = _a.controller;
174
177
  var mode = this.state.mode;
175
178
  var addButtonLabel = labels.addButtonLabel, updateButtonLabel = labels.updateButtonLabel;
176
- var closeOnCancel = layout !== 'formAlways' && layout !== 'formAndItems';
179
+ var closeOnCancel = layout !== 'formAndItems';
180
+ if (!document)
181
+ return;
177
182
  var props = {
178
- controller: controller,
183
+ document: controller.document,
179
184
  submitButtonCaption: mode == Mode.edit ? updateButtonLabel : addButtonLabel,
180
185
  onSubmit: function (document) { return _this.storeDocument(document); },
181
186
  onCancel: closeOnCancel
182
187
  ? function () { return _this.setState({ mode: Mode.normal }); }
183
- : function () { return _this.newDocument(); }
188
+ : function () { return _this.newDocument(); },
184
189
  };
185
190
  if (typeof children[0] === 'function') {
186
- return react_1.cloneElement(children[0](props), { key: controller.document.id });
191
+ return (0, react_1.cloneElement)(children[0](props), { key: controller.document.id });
187
192
  }
188
193
  else {
189
- return react_1.cloneElement(children[0], __assign({ key: controller.document.id }, props));
194
+ return (0, react_1.cloneElement)(children[0], __assign({ key: controller.document.id }, props));
190
195
  }
191
196
  };
192
197
  CrudPanel.prototype.invokeDetailViewChild = function (document) {
@@ -195,36 +200,42 @@ var CrudPanel = /** @class */ (function (_super) {
195
200
  var props = {
196
201
  document: document,
197
202
  onSelect: function (document) { return _this.editDocument(document); },
198
- onDelete: function (document) { return controller.deleteDocument(document); }
203
+ onDelete: function (document) { return controller.setDocument(document).deleteDocument(); }
199
204
  };
200
205
  if (typeof children[1] === 'function') {
201
- return react_1.cloneElement(children[1](props), { key: document.id });
206
+ return (0, react_1.cloneElement)(children[1](props), { key: document.id });
202
207
  }
203
208
  else {
204
- return react_1.cloneElement(children[1], __assign({ key: document.id }, props));
209
+ return (0, react_1.cloneElement)(children[1], __assign({ key: document.id }, props));
205
210
  }
206
211
  };
207
212
  CrudPanel.prototype.render = function () {
208
213
  var _this = this;
209
- var _a = this.state, mode = _a.mode, documents = _a.documents;
210
- var _b = this.props, controller = _b.controller, className = _b.className;
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);
211
218
  var labels = this.props.labels;
212
219
  var layout = this.props.layout || 'itemsAlways';
213
220
  if (typeof labels === 'function')
214
221
  labels = labels(controller);
215
222
  var addNewDocumentLabel = labels.addNewDocumentLabel, documentsInCollectionCaption = labels.documentsInCollectionCaption, noDocumentsFoundLabel = labels.noDocumentsFoundLabel;
216
- return (react_1.default.createElement("div", { className: "crud-panel " + (className || '') },
217
- mode === Mode.normal && layout !== 'formAlways' && layout !== 'formAndItems' &&
223
+ return (react_1.default.createElement("div", { className: "crud-panel ".concat(docClassName, " ").concat(className || '') },
224
+ mode === Mode.normal && layout !== 'formAndItems' && !cardAddButton &&
218
225
  react_1.default.createElement("button", { onClick: function () { return _this.newDocument(); } }, addNewDocumentLabel),
219
- (layout === 'formAlways' || layout === 'formAndItems'
220
- || mode === Mode.add || mode === Mode.edit) &&
226
+ (layout === 'formAndItems' || mode === Mode.add || mode === Mode.edit) &&
221
227
  react_1.default.createElement("div", { className: "content-panel" }, this.invokeContentViewChild(labels)),
222
228
  (layout === 'itemsAlways' || layout === 'formAndItems' || mode === Mode.normal) &&
223
229
  react_1.default.createElement("div", { className: "collection-panel" },
224
230
  react_1.default.createElement("h3", null, documentsInCollectionCaption),
225
- react_1.default.createElement("div", { className: "documents" }, documents.length
226
- ? documents.map(function (document) { return _this.invokeDetailViewChild(document); })
227
- : react_1.default.createElement("p", null, noDocumentsFoundLabel)))));
231
+ react_1.default.createElement("div", { className: "documents" },
232
+ cardAddButton &&
233
+ react_1.default.createElement("div", { className: "card-add-button clickable", onClick: function () { return _this.newDocument(); } },
234
+ cardAddButton,
235
+ addNewDocumentLabel),
236
+ documents.length
237
+ ? documents.map(function (document) { return _this.invokeDetailViewChild(document); })
238
+ : react_1.default.createElement("p", null, noDocumentsFoundLabel)))));
228
239
  };
229
240
  return CrudPanel;
230
241
  }(react_1.Component));
@@ -1 +1 @@
1
- {"version":3,"file":"crud-panel.js","sourceRoot":"","sources":["../src/crud-panel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud-panel.js","sourceRoot":"","sources":["../src/crud-panel.tsx"],"names":[],"mappings":"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"}
@@ -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 crud_controller_1 = require("./crud-controller");
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,50 +116,22 @@ 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._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
- entropic_bond_1.registerPersistentClass('Test')
145
- ], Test);
146
- return Test;
147
- }(entropic_bond_1.Persistent));
148
- var TestController = /** @class */ (function (_super) {
149
- __extends(TestController, _super);
150
- function TestController() {
151
- return _super.call(this, new Test()) || this;
152
- }
153
- TestController.prototype.getModel = function () {
154
- return entropic_bond_1.Store.getModel('Test');
155
- };
156
- return TestController;
157
- }(crud_controller_1.CrudController));
158
119
  var TestView = /** @class */ (function (_super) {
159
120
  __extends(TestView, _super);
160
121
  function TestView() {
161
122
  return _super !== null && _super.apply(this, arguments) || this;
162
123
  }
124
+ TestView.prototype.componentDidMount = function () {
125
+ var _this = this;
126
+ var document = this.props.document;
127
+ document.onChange(function () { return _this.setState({}); });
128
+ };
163
129
  TestView.prototype.render = function () {
164
- var _a = this.props, controller = _a.controller, onCancel = _a.onCancel, onSubmit = _a.onSubmit, submitButtonCaption = _a.submitButtonCaption;
130
+ var _a = this.props, document = _a.document, onCancel = _a.onCancel, onSubmit = _a.onSubmit, submitButtonCaption = _a.submitButtonCaption;
165
131
  return (react_1.default.createElement("div", null,
166
132
  react_1.default.createElement("h1", null, viewHeader),
167
- react_1.default.createElement("input", { placeholder: testViewPlaceholder, value: controller.document.testProp, onChange: function (e) { return controller.document.testProp = e.target.value; } }),
168
- react_1.default.createElement("button", { onClick: function () { return onSubmit(controller.document); } }, submitButtonCaption),
133
+ react_1.default.createElement("input", { placeholder: testViewPlaceholder, value: document.testProp || '', onChange: function (e) { return document.testProp = e.target.value; } }),
134
+ react_1.default.createElement("button", { onClick: function () { return onSubmit(document); } }, submitButtonCaption),
169
135
  react_1.default.createElement("button", { onClick: onCancel }, cancelButtonCaption)));
170
136
  };
171
137
  return TestView;
@@ -188,32 +154,49 @@ describe('Crud Panel', function () {
188
154
  var controller;
189
155
  var notifySpy;
190
156
  var renderResult;
157
+ var datasource;
191
158
  beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
192
159
  return __generator(this, function (_a) {
193
- entropic_bond_1.Store.useDataSource(new entropic_bond_1.JsonDataSource(__assign({}, mockData)));
194
- controller = new TestController();
195
- notifySpy = jest.fn();
196
- controller.onChange(notifySpy);
197
- renderResult = react_2.render(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels },
198
- react_1.default.createElement(TestView, null),
199
- react_1.default.createElement(TestCard, null)));
200
- return [2 /*return*/];
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
+ }
201
175
  });
202
176
  }); });
177
+ it('should show add button', function () {
178
+ expect(react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel })).toBeInTheDocument();
179
+ });
203
180
  it('should show existing documents', function () {
204
181
  var docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
205
- expect(react_2.within(docs).getByText('Test prop 1')).toBeInTheDocument();
206
- expect(react_2.within(docs).getByText('Test prop 2')).toBeInTheDocument();
182
+ expect((0, react_2.within)(docs).getByText('Test prop 1')).toBeInTheDocument();
183
+ expect((0, react_2.within)(docs).getByText('Test prop 2')).toBeInTheDocument();
207
184
  expect(docs.children.length).toBe(2);
208
185
  });
209
186
  describe('Accepts children as functions', function () {
210
187
  beforeEach(function () {
211
- renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels, layout: 'formAndItems' },
188
+ renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels },
212
189
  function (props) { return react_1.default.createElement(TestView, __assign({}, props)); },
213
190
  function (props) { return react_1.default.createElement(TestCard, __assign({}, props)); }));
214
191
  });
215
- it('should show panels', function () {
216
- expect(react_2.screen.getByPlaceholderText(testViewPlaceholder)).toBeInTheDocument();
192
+ it('should show add button', function () {
193
+ expect(react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel })).toBeInTheDocument();
194
+ });
195
+ it('should show existing documents', function () {
196
+ var docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
197
+ expect((0, react_2.within)(docs).getByText('Test prop 1')).toBeInTheDocument();
198
+ expect((0, react_2.within)(docs).getByText('Test prop 2')).toBeInTheDocument();
199
+ expect(docs.children.length).toBe(2);
217
200
  expect(react_2.screen.getAllByRole('button', { name: editButtonLabel })[0]).toBeInTheDocument();
218
201
  expect(react_2.screen.getAllByRole('button', { name: deleteButtonLabel })[0]).toBeInTheDocument();
219
202
  });
@@ -244,7 +227,7 @@ describe('Crud Panel', function () {
244
227
  user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.addButtonLabel }));
245
228
  docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
246
229
  _a = expect;
247
- return [4 /*yield*/, react_2.within(docs).findByText('New and fancy Application')];
230
+ return [4 /*yield*/, (0, react_2.within)(docs).findByText('New and fancy Application')];
248
231
  case 2:
249
232
  _a.apply(void 0, [_b.sent()]).toBeInTheDocument();
250
233
  return [2 /*return*/];
@@ -265,12 +248,12 @@ describe('Crud Panel', function () {
265
248
  input = _b.sent();
266
249
  user_event_1.default.paste(input, ' Edited');
267
250
  user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.updateButtonLabel }));
268
- return [4 /*yield*/, react_2.waitFor(function () { return expect(notifySpy).toHaveBeenCalled(); })];
251
+ return [4 /*yield*/, (0, react_2.waitFor)(function () { return expect(notifySpy).toHaveBeenCalled(); })];
269
252
  case 2:
270
253
  _b.sent();
271
254
  docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
272
255
  _a = expect;
273
- return [4 /*yield*/, react_2.within(docs).findByText('Test prop 1 Edited')];
256
+ return [4 /*yield*/, (0, react_2.within)(docs).findByText('Test prop 1 Edited')];
274
257
  case 3:
275
258
  _a.apply(void 0, [_b.sent()]).toBeInTheDocument();
276
259
  return [2 /*return*/];
@@ -285,7 +268,7 @@ describe('Crud Panel', function () {
285
268
  expect(react_2.screen.queryByText('Test prop 2')).toBeInTheDocument();
286
269
  deleteButton = react_2.screen.getAllByRole('button', { name: deleteButtonLabel });
287
270
  user_event_1.default.click(deleteButton[1]);
288
- return [4 /*yield*/, react_2.waitFor(function () { return expect(notifySpy).toHaveBeenCalled(); })];
271
+ return [4 /*yield*/, (0, react_2.waitFor)(function () { return expect(notifySpy).toHaveBeenCalled(); })];
289
272
  case 1:
290
273
  _a.sent();
291
274
  expect(react_2.screen.queryByText('Test prop 2')).not.toBeInTheDocument();
@@ -338,25 +321,28 @@ describe('Crud Panel', function () {
338
321
  expect(formView()).toBeInTheDocument();
339
322
  });
340
323
  });
341
- it('should allow to pass labels as a function', function () { return __awaiter(void 0, void 0, void 0, function () {
342
- var labels;
343
- return __generator(this, function (_a) {
344
- labels = function (controller) { return Object.entries(crudLabels)
345
- .reduce(function (prev, _a) {
346
- var key = _a[0], label = _a[1];
347
- prev[key] = label + " " + controller.document.className;
348
- return prev;
349
- }, {}); };
350
- renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: labels },
351
- react_1.default.createElement(TestView, null),
352
- function (props) { return (react_1.default.createElement("div", null,
353
- react_1.default.createElement("p", null, props.document.testProp),
354
- react_1.default.createElement("button", { onClick: function () { return props.onSelect(props.document); } }, editButtonLabel),
355
- react_1.default.createElement("button", { onClick: function () { return props.onDelete(props.document); } }, deleteButtonLabel))); }));
356
- expect(react_2.screen.getByText(crudLabels.addNewDocumentLabel + " " + controller.document.className)).toBeInTheDocument();
357
- expect(react_2.screen.getByText(crudLabels.documentsInCollectionCaption + " " + controller.document.className)).toBeInTheDocument();
358
- return [2 /*return*/];
359
- });
360
- }); });
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
+ });
361
347
  });
362
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": "1.0.1",
3
+ "version": "2.1.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "branches": [
@@ -44,23 +44,23 @@
44
44
  },
45
45
  "homepage": "https://github.com/entropic-bond/crud-panel#readme",
46
46
  "devDependencies": {
47
- "@semantic-release/changelog": "^5.0.1",
48
- "@semantic-release/git": "^9.0.0",
49
- "@testing-library/jest-dom": "^5.14.1",
50
- "@testing-library/react": "^12.0.0",
51
- "@testing-library/user-event": "^13.2.1",
52
- "@types/jest": "^26.0.23",
53
- "@types/react": "^17.0.15",
54
- "@types/react-dom": "^17.0.9",
47
+ "@semantic-release/changelog": "^6.0.1",
48
+ "@semantic-release/git": "^10.0.1",
49
+ "@testing-library/jest-dom": "^5.16.1",
50
+ "@testing-library/react": "^12.1.2",
51
+ "@testing-library/user-event": "^13.5.0",
52
+ "@types/jest": "^27.4.0",
53
+ "@types/react": "^17.0.38",
54
+ "@types/react-dom": "^17.0.11",
55
55
  "fetch-mock": "^9.11.0",
56
56
  "git-branch-is": "^4.0.0",
57
- "husky": "^6.0.0",
58
- "jest": "^27.0.5",
57
+ "husky": "^7.0.4",
58
+ "jest": "^27.4.7",
59
59
  "react": "^17.0.2",
60
60
  "react-dom": "^17.0.2",
61
- "semantic-release": "^17.4.4",
62
- "ts-jest": "^27.0.3",
63
- "typescript": "^4.3.4"
61
+ "semantic-release": "^18.0.1",
62
+ "ts-jest": "^27.1.2",
63
+ "typescript": "^4.5.4"
64
64
  },
65
65
  "husky": {
66
66
  "hooks": {
@@ -68,6 +68,6 @@
68
68
  }
69
69
  },
70
70
  "dependencies": {
71
- "entropic-bond": "^1.9.9"
71
+ "entropic-bond": "^1.19.0"
72
72
  }
73
73
  }