@entropic-bond/crud-panel 1.0.0 → 2.0.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,35 @@
1
1
  import { Callback, Persistent, Model } from 'entropic-bond';
2
+ interface ProgressStage {
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
13
  export interface CrudControllerEvent<T extends Persistent> {
3
14
  documentChanged?: T;
4
15
  documentCollection?: T[];
5
16
  }
6
17
  export declare abstract class CrudController<T extends Persistent> {
7
- constructor(document: T);
18
+ constructor();
19
+ abstract allRequiredPropertiesFilled(): boolean;
20
+ abstract createDocument(): T;
8
21
  protected abstract getModel(): Model<T>;
9
- static registerController(documentName: string, construct: ControllerConstructor): void;
10
- static createController(document: Persistent): CrudController<Persistent>;
11
22
  onChange(observer: Callback<CrudControllerEvent<T>>): import("entropic-bond").Unsubscriber;
12
- createDocument(): T;
13
- setDocument(value: T): this;
14
- get document(): T;
15
23
  storeDocument(document: T): Promise<void>;
16
24
  deleteDocument(document: T): Promise<void>;
17
25
  getDocumentCollection(): Promise<T[]>;
26
+ onProgress(observer: Callback<ProgressEvent>): import("entropic-bond").Unsubscriber;
27
+ protected notifyProgress(stageId: string, progress: ProgressStage): void;
28
+ protected resetProgress(): void;
18
29
  protected get model(): Model<T>;
19
30
  private _onChange;
20
31
  private _model;
21
- private _document;
22
- private static _factories;
32
+ private _progressStage;
33
+ private _onProgress;
23
34
  }
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
35
  export {};
@@ -1,4 +1,15 @@
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
+ };
2
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -36,60 +47,40 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
47
  }
37
48
  };
38
49
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.controllerFor = exports.CrudController = void 0;
50
+ exports.CrudController = void 0;
40
51
  var entropic_bond_1 = require("entropic-bond");
41
52
  var CrudController = /** @class */ (function () {
42
- function CrudController(document) {
43
- this._document = document;
53
+ function CrudController() {
54
+ this._progressStage = {};
44
55
  this._onChange = new entropic_bond_1.Observable();
56
+ this._onProgress = new entropic_bond_1.Observable();
45
57
  }
46
- CrudController.registerController = function (documentName, construct) {
47
- this._factories[documentName] = function (document) {
48
- return new construct(document);
49
- };
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);
56
- };
57
58
  CrudController.prototype.onChange = function (observer) {
58
59
  return this._onChange.subscribe(observer);
59
60
  };
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;
71
- };
72
- Object.defineProperty(CrudController.prototype, "document", {
73
- get: function () {
74
- return this._document;
75
- },
76
- enumerable: false,
77
- configurable: true
78
- });
79
61
  CrudController.prototype.storeDocument = function (document) {
80
62
  return __awaiter(this, void 0, void 0, function () {
81
63
  var _a, _b;
82
64
  var _c;
83
65
  return __generator(this, function (_d) {
84
66
  switch (_d.label) {
85
- case 0: return [4 /*yield*/, this.model.save(document)];
67
+ case 0:
68
+ this.notifyProgress('storeMainDocument', {
69
+ name: 'Store main document',
70
+ progress: 0.2,
71
+ total: 1
72
+ });
73
+ return [4 /*yield*/, this.model.save(document)];
86
74
  case 1:
87
75
  _d.sent();
88
- this._document = document;
76
+ this.notifyProgress('storeMainDocument', {
77
+ name: 'Store main document',
78
+ progress: 1,
79
+ total: 1
80
+ });
81
+ this.resetProgress();
89
82
  _b = (_a = this._onChange).notify;
90
- _c = {
91
- documentChanged: this._document !== document ? document : undefined
92
- };
83
+ _c = {};
93
84
  return [4 /*yield*/, this.getDocumentCollection()];
94
85
  case 2:
95
86
  _b.apply(_a, [(_c.documentCollection = _d.sent(),
@@ -105,13 +96,23 @@ var CrudController = /** @class */ (function () {
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
+ this.notifyProgress('deleteMainDocument', {
101
+ name: 'Delete main document',
102
+ progress: 0.2,
103
+ total: 1
104
+ });
105
+ return [4 /*yield*/, this.model.delete(document.id)];
109
106
  case 1:
110
107
  _d.sent();
108
+ this.notifyProgress('deleteMainDocument', {
109
+ name: 'Delete main document',
110
+ progress: 1,
111
+ total: 1
112
+ });
113
+ this.resetProgress();
111
114
  _b = (_a = this._onChange).notify;
112
- _c = {
113
- documentChanged: document
114
- };
115
+ _c = {};
115
116
  return [4 /*yield*/, this.getDocumentCollection()];
116
117
  case 2:
117
118
  _b.apply(_a, [(_c.documentCollection = _d.sent(),
@@ -124,6 +125,22 @@ var CrudController = /** @class */ (function () {
124
125
  CrudController.prototype.getDocumentCollection = function () {
125
126
  return this.model.find().get();
126
127
  };
128
+ CrudController.prototype.onProgress = function (observer) {
129
+ return this._onProgress.subscribe(observer);
130
+ };
131
+ CrudController.prototype.notifyProgress = function (stageId, progress) {
132
+ this._progressStage[stageId] = progress;
133
+ var overallProgress = Object.values(this._progressStage).reduce(function (prev, stage, _i, arr) {
134
+ return prev + stage.progress / stage.total / arr.length;
135
+ }, 0);
136
+ this._onProgress.notify({
137
+ stages: __assign({}, this._progressStage),
138
+ overallProgress: overallProgress
139
+ });
140
+ };
141
+ CrudController.prototype.resetProgress = function () {
142
+ this._progressStage = {};
143
+ };
127
144
  Object.defineProperty(CrudController.prototype, "model", {
128
145
  get: function () {
129
146
  return this._model || (this._model = this.getModel());
@@ -131,21 +148,7 @@ var CrudController = /** @class */ (function () {
131
148
  enumerable: false,
132
149
  configurable: true
133
150
  });
134
- CrudController._factories = {};
135
151
  return CrudController;
136
152
  }());
137
153
  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
154
  //# 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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"}
@@ -8,11 +8,12 @@ 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
+ declare type ProgressBarElement = (progress: number) => JSX.Element;
14
15
  export interface CrudContentViewProps<T extends Persistent> {
15
- controller: CrudController<T>;
16
+ document: T;
16
17
  submitButtonCaption: string;
17
18
  onSubmit: (document: T) => void;
18
19
  onCancel: () => void;
@@ -24,10 +25,12 @@ export interface CrudPanelLabels {
24
25
  documentsInCollectionCaption: string;
25
26
  noDocumentsFoundLabel: string;
26
27
  }
27
- export declare type Layout = 'formOrItems' | 'formAlways' | 'itemsAlways' | 'formAndItems';
28
+ export declare type Layout = 'formOrItems' | 'itemsAlways' | 'formAndItems';
28
29
  interface CrudPanelState<T extends Persistent> {
29
30
  documents: T[];
30
31
  mode: Mode;
32
+ progress: number;
33
+ document: T;
31
34
  }
32
35
  interface CrudPanelProps<T extends Persistent> {
33
36
  controller: CrudController<T>;
@@ -37,6 +40,11 @@ interface CrudPanelProps<T extends Persistent> {
37
40
  ((props: CrudContentViewProps<T>) => ReactElement) | ReactElement<CrudContentViewProps<T>>,
38
41
  ((props: CrudCardProps<T>) => ReactElement) | ReactElement<CrudCardProps<T>>
39
42
  ];
43
+ className?: string;
44
+ cardAddButton?: boolean | JSX.Element;
45
+ progressBar?: ProgressBarElement;
46
+ header?: string | JSX.Element;
47
+ footer?: string | JSX.Element;
40
48
  }
41
49
  export declare class CrudPanel<T extends Persistent> extends Component<CrudPanelProps<T>, CrudPanelState<T>> {
42
50
  constructor(props: CrudPanelProps<T>);
@@ -49,5 +57,6 @@ export declare class CrudPanel<T extends Persistent> extends Component<CrudPanel
49
57
  private invokeDetailViewChild;
50
58
  render(): JSX.Element;
51
59
  private unsubscriber;
60
+ private progressUnsubscriber;
52
61
  }
53
62
  export {};
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,9 @@ 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
+ progress: 0,
101
+ document: props.controller.createDocument()
99
102
  };
100
103
  return _this;
101
104
  }
@@ -117,6 +120,7 @@ var CrudPanel = /** @class */ (function (_super) {
117
120
  else
118
121
  _this.setState({});
119
122
  });
123
+ this.progressUnsubscriber = controller.onProgress(function (e) { return _this.setState({ progress: e.overallProgress }); });
120
124
  _a = this.setState;
121
125
  _b = {};
122
126
  return [4 /*yield*/, controller.getDocumentCollection()];
@@ -130,44 +134,66 @@ var CrudPanel = /** @class */ (function (_super) {
130
134
  };
131
135
  CrudPanel.prototype.componentWillUnmount = function () {
132
136
  this.unsubscriber();
137
+ this.progressUnsubscriber();
133
138
  };
134
139
  CrudPanel.prototype.newDocument = function () {
135
140
  var controller = this.props.controller;
136
- controller.createDocument();
137
141
  this.setState({
138
- mode: Mode.add
142
+ mode: Mode.add,
143
+ document: controller.createDocument()
139
144
  });
140
145
  };
141
146
  CrudPanel.prototype.editDocument = function (document) {
142
- var controller = this.props.controller;
143
- controller.setDocument(document);
144
147
  this.setState({
148
+ document: document,
145
149
  mode: Mode.edit
146
150
  });
147
151
  };
148
152
  CrudPanel.prototype.storeDocument = function (document) {
149
- var controller = this.props.controller;
150
- controller.storeDocument(document);
151
- this.setState({
152
- mode: Mode.normal
153
+ return __awaiter(this, void 0, void 0, function () {
154
+ var _a, controller, layout;
155
+ return __generator(this, function (_b) {
156
+ switch (_b.label) {
157
+ case 0:
158
+ _a = this.props, controller = _a.controller, layout = _a.layout;
159
+ return [4 /*yield*/, controller.storeDocument(document)];
160
+ case 1:
161
+ _b.sent();
162
+ if (layout === 'formAndItems') {
163
+ this.newDocument();
164
+ }
165
+ else {
166
+ this.setState({
167
+ mode: Mode.normal,
168
+ progress: 0
169
+ });
170
+ }
171
+ return [2 /*return*/];
172
+ }
173
+ });
153
174
  });
154
175
  };
155
176
  CrudPanel.prototype.invokeContentViewChild = function (labels) {
156
177
  var _this = this;
157
- var _a = this.props, children = _a.children, controller = _a.controller;
158
- var mode = this.state.mode;
178
+ var _a = this.props, children = _a.children, layout = _a.layout;
179
+ var _b = this.state, mode = _b.mode, document = _b.document;
159
180
  var addButtonLabel = labels.addButtonLabel, updateButtonLabel = labels.updateButtonLabel;
181
+ var closeOnCancel = layout !== 'formAndItems';
182
+ if (!document)
183
+ return;
160
184
  var props = {
161
- controller: controller,
162
- submitButtonCaption: mode == Mode.add ? addButtonLabel : updateButtonLabel,
185
+ document: document,
186
+ submitButtonCaption: mode == Mode.edit ? updateButtonLabel : addButtonLabel,
163
187
  onSubmit: function (document) { return _this.storeDocument(document); },
164
- onCancel: function () { return _this.setState({ mode: Mode.normal }); }
188
+ onCancel: closeOnCancel
189
+ ? function () { return _this.setState({ mode: Mode.normal }); }
190
+ : function () { return _this.newDocument(); },
165
191
  };
166
192
  if (typeof children[0] === 'function') {
167
- return react_1.cloneElement(children[0](props), { key: controller.document.id });
193
+ return (0, react_1.cloneElement)(children[0](props), { key: document.id });
168
194
  }
169
195
  else {
170
- return react_1.cloneElement(children[0], __assign({ key: controller.document.id }, props));
196
+ return (0, react_1.cloneElement)(children[0], __assign({ key: document.id }, props));
171
197
  }
172
198
  };
173
199
  CrudPanel.prototype.invokeDetailViewChild = function (document) {
@@ -179,33 +205,40 @@ var CrudPanel = /** @class */ (function (_super) {
179
205
  onDelete: function (document) { return controller.deleteDocument(document); }
180
206
  };
181
207
  if (typeof children[1] === 'function') {
182
- return react_1.cloneElement(children[1](props), { key: document.id });
208
+ return (0, react_1.cloneElement)(children[1](props), { key: document.id });
183
209
  }
184
210
  else {
185
- return react_1.cloneElement(children[1], __assign({ key: document.id }, props));
211
+ return (0, react_1.cloneElement)(children[1], __assign({ key: document.id }, props));
186
212
  }
187
213
  };
188
214
  CrudPanel.prototype.render = function () {
189
215
  var _this = this;
190
- var _a = this.state, mode = _a.mode, documents = _a.documents;
191
- var controller = this.props.controller;
216
+ var _a = this.state, mode = _a.mode, documents = _a.documents, progress = _a.progress, document = _a.document;
217
+ var _b = this.props, controller = _b.controller, className = _b.className, cardAddButton = _b.cardAddButton, progressBar = _b.progressBar;
218
+ var docClassName = (0, entropic_bond_1.snakeCase)(document === null || document === void 0 ? void 0 : document.className);
192
219
  var labels = this.props.labels;
193
220
  var layout = this.props.layout || 'itemsAlways';
194
221
  if (typeof labels === 'function')
195
222
  labels = labels(controller);
196
223
  var addNewDocumentLabel = labels.addNewDocumentLabel, documentsInCollectionCaption = labels.documentsInCollectionCaption, noDocumentsFoundLabel = labels.noDocumentsFoundLabel;
197
- return (react_1.default.createElement("div", { className: "crud-panel" },
198
- mode === Mode.normal &&
224
+ return (react_1.default.createElement("div", { className: "crud-panel ".concat(docClassName, " ").concat(className || '') },
225
+ mode === Mode.normal && layout !== 'formAndItems' && !cardAddButton &&
199
226
  react_1.default.createElement("button", { onClick: function () { return _this.newDocument(); } }, addNewDocumentLabel),
200
- (layout === 'formAlways' || layout === 'formAndItems'
201
- || mode === Mode.add || mode === Mode.edit) &&
202
- react_1.default.createElement("div", { className: "content-panel" }, this.invokeContentViewChild(labels)),
227
+ (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))),
203
231
  (layout === 'itemsAlways' || layout === 'formAndItems' || mode === Mode.normal) &&
204
232
  react_1.default.createElement("div", { className: "collection-panel" },
205
233
  react_1.default.createElement("h3", null, documentsInCollectionCaption),
206
- react_1.default.createElement("div", { className: "documents" }, documents.length
207
- ? documents.map(function (document) { return _this.invokeDetailViewChild(document); })
208
- : react_1.default.createElement("p", null, noDocumentsFoundLabel)))));
234
+ react_1.default.createElement("div", { className: "documents" },
235
+ cardAddButton &&
236
+ react_1.default.createElement("div", { className: "card-add-button clickable", onClick: function () { return _this.newDocument(); } },
237
+ cardAddButton,
238
+ addNewDocumentLabel),
239
+ documents.length
240
+ ? documents.map(function (document) { return _this.invokeDetailViewChild(document); })
241
+ : react_1.default.createElement("p", null, noDocumentsFoundLabel)))));
209
242
  };
210
243
  return CrudPanel;
211
244
  }(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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"}
@@ -132,7 +132,7 @@ var Test = /** @class */ (function (_super) {
132
132
  return this._testProp;
133
133
  },
134
134
  set: function (value) {
135
- this._testProp = value;
135
+ this.changeProp('testProp', value);
136
136
  },
137
137
  enumerable: false,
138
138
  configurable: true
@@ -141,18 +141,24 @@ var Test = /** @class */ (function (_super) {
141
141
  entropic_bond_1.persistent
142
142
  ], Test.prototype, "_testProp", void 0);
143
143
  Test = __decorate([
144
- entropic_bond_1.registerPersistentClass('Test')
144
+ (0, entropic_bond_1.registerPersistentClass)('Test')
145
145
  ], Test);
146
146
  return Test;
147
- }(entropic_bond_1.Persistent));
147
+ }(entropic_bond_1.EntropicComponent));
148
148
  var TestController = /** @class */ (function (_super) {
149
149
  __extends(TestController, _super);
150
150
  function TestController() {
151
- return _super.call(this, new Test()) || this;
151
+ return _super !== null && _super.apply(this, arguments) || this;
152
152
  }
153
+ TestController.prototype.createDocument = function () {
154
+ return new Test();
155
+ };
153
156
  TestController.prototype.getModel = function () {
154
157
  return entropic_bond_1.Store.getModel('Test');
155
158
  };
159
+ TestController.prototype.allRequiredPropertiesFilled = function () {
160
+ return true;
161
+ };
156
162
  return TestController;
157
163
  }(crud_controller_1.CrudController));
158
164
  var TestView = /** @class */ (function (_super) {
@@ -160,12 +166,17 @@ var TestView = /** @class */ (function (_super) {
160
166
  function TestView() {
161
167
  return _super !== null && _super.apply(this, arguments) || this;
162
168
  }
169
+ TestView.prototype.componentDidMount = function () {
170
+ var _this = this;
171
+ var document = this.props.document;
172
+ document.onChange(function () { return _this.setState({}); });
173
+ };
163
174
  TestView.prototype.render = function () {
164
- var _a = this.props, controller = _a.controller, onCancel = _a.onCancel, onSubmit = _a.onSubmit, submitButtonCaption = _a.submitButtonCaption;
175
+ var _a = this.props, document = _a.document, onCancel = _a.onCancel, onSubmit = _a.onSubmit, submitButtonCaption = _a.submitButtonCaption;
165
176
  return (react_1.default.createElement("div", null,
166
177
  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),
178
+ react_1.default.createElement("input", { placeholder: testViewPlaceholder, value: document.testProp || '', onChange: function (e) { return document.testProp = e.target.value; } }),
179
+ react_1.default.createElement("button", { onClick: function () { return onSubmit(document); } }, submitButtonCaption),
169
180
  react_1.default.createElement("button", { onClick: onCancel }, cancelButtonCaption)));
170
181
  };
171
182
  return TestView;
@@ -190,36 +201,39 @@ describe('Crud Panel', function () {
190
201
  var renderResult;
191
202
  beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
192
203
  return __generator(this, function (_a) {
193
- switch (_a.label) {
194
- case 0:
195
- entropic_bond_1.Store.useDataSource(new entropic_bond_1.JsonDataSource(__assign({}, mockData)));
196
- controller = new TestController();
197
- notifySpy = jest.fn();
198
- controller.onChange(notifySpy);
199
- renderResult = react_2.render(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels },
200
- react_1.default.createElement(TestView, null),
201
- react_1.default.createElement(TestCard, null)));
202
- return [4 /*yield*/, react_2.screen.findByText(crudLabels.addNewDocumentLabel)];
203
- case 1:
204
- _a.sent();
205
- return [2 /*return*/];
206
- }
204
+ entropic_bond_1.Store.useDataSource(new entropic_bond_1.JsonDataSource(__assign({}, mockData)));
205
+ controller = new TestController();
206
+ notifySpy = jest.fn();
207
+ controller.onChange(notifySpy);
208
+ renderResult = (0, react_2.render)(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels },
209
+ react_1.default.createElement(TestView, null),
210
+ react_1.default.createElement(TestCard, null)));
211
+ return [2 /*return*/];
207
212
  });
208
213
  }); });
214
+ it('should show add button', function () {
215
+ expect(react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel })).toBeInTheDocument();
216
+ });
209
217
  it('should show existing documents', function () {
210
218
  var docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
211
- expect(react_2.within(docs).getByText('Test prop 1')).toBeInTheDocument();
212
- expect(react_2.within(docs).getByText('Test prop 2')).toBeInTheDocument();
219
+ expect((0, react_2.within)(docs).getByText('Test prop 1')).toBeInTheDocument();
220
+ expect((0, react_2.within)(docs).getByText('Test prop 2')).toBeInTheDocument();
213
221
  expect(docs.children.length).toBe(2);
214
222
  });
215
223
  describe('Accepts children as functions', function () {
216
224
  beforeEach(function () {
217
- renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels, layout: 'formAndItems' },
225
+ renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels },
218
226
  function (props) { return react_1.default.createElement(TestView, __assign({}, props)); },
219
227
  function (props) { return react_1.default.createElement(TestCard, __assign({}, props)); }));
220
228
  });
221
- it('should show panels', function () {
222
- expect(react_2.screen.getByPlaceholderText(testViewPlaceholder)).toBeInTheDocument();
229
+ it('should show add button', function () {
230
+ expect(react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel })).toBeInTheDocument();
231
+ });
232
+ it('should show existing documents', function () {
233
+ var docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
234
+ expect((0, react_2.within)(docs).getByText('Test prop 1')).toBeInTheDocument();
235
+ expect((0, react_2.within)(docs).getByText('Test prop 2')).toBeInTheDocument();
236
+ expect(docs.children.length).toBe(2);
223
237
  expect(react_2.screen.getAllByRole('button', { name: editButtonLabel })[0]).toBeInTheDocument();
224
238
  expect(react_2.screen.getAllByRole('button', { name: deleteButtonLabel })[0]).toBeInTheDocument();
225
239
  });
@@ -246,11 +260,12 @@ describe('Crud Panel', function () {
246
260
  return [4 /*yield*/, react_2.screen.findByPlaceholderText(testViewPlaceholder)];
247
261
  case 1:
248
262
  input = _b.sent();
249
- user_event_1.default.type(input, 'New and fancy Application');
263
+ // fireEvent.change( input, { target: { value: 'New and fancy Application' }})
264
+ user_event_1.default.type(input, 'New and fancy Application'); // does not work!!
250
265
  user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.addButtonLabel }));
251
266
  docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
252
267
  _a = expect;
253
- return [4 /*yield*/, react_2.within(docs).findByText('New and fancy Application')];
268
+ return [4 /*yield*/, (0, react_2.within)(docs).findByText('New and fancy Application')];
254
269
  case 2:
255
270
  _a.apply(void 0, [_b.sent()]).toBeInTheDocument();
256
271
  return [2 /*return*/];
@@ -271,12 +286,12 @@ describe('Crud Panel', function () {
271
286
  input = _b.sent();
272
287
  user_event_1.default.paste(input, ' Edited');
273
288
  user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.updateButtonLabel }));
274
- return [4 /*yield*/, react_2.waitFor(function () { return expect(notifySpy).toHaveBeenCalled(); })];
289
+ return [4 /*yield*/, (0, react_2.waitFor)(function () { return expect(notifySpy).toHaveBeenCalled(); })];
275
290
  case 2:
276
291
  _b.sent();
277
292
  docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
278
293
  _a = expect;
279
- return [4 /*yield*/, react_2.within(docs).findByText('Test prop 1 Edited')];
294
+ return [4 /*yield*/, (0, react_2.within)(docs).findByText('Test prop 1 Edited')];
280
295
  case 3:
281
296
  _a.apply(void 0, [_b.sent()]).toBeInTheDocument();
282
297
  return [2 /*return*/];
@@ -291,7 +306,7 @@ describe('Crud Panel', function () {
291
306
  expect(react_2.screen.queryByText('Test prop 2')).toBeInTheDocument();
292
307
  deleteButton = react_2.screen.getAllByRole('button', { name: deleteButtonLabel });
293
308
  user_event_1.default.click(deleteButton[1]);
294
- return [4 /*yield*/, react_2.waitFor(function () { return expect(notifySpy).toHaveBeenCalled(); })];
309
+ return [4 /*yield*/, (0, react_2.waitFor)(function () { return expect(notifySpy).toHaveBeenCalled(); })];
295
310
  case 1:
296
311
  _a.sent();
297
312
  expect(react_2.screen.queryByText('Test prop 2')).not.toBeInTheDocument();
@@ -306,19 +321,13 @@ describe('Crud Panel', function () {
306
321
  var addButton = function () { return react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel }); };
307
322
  var renderWith = function (layout) { return __awaiter(void 0, void 0, void 0, function () {
308
323
  return __generator(this, function (_a) {
309
- switch (_a.label) {
310
- case 0:
311
- renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels, layout: layout },
312
- react_1.default.createElement(TestView, null),
313
- function (props) { return (react_1.default.createElement("div", null,
314
- react_1.default.createElement("p", null, props.document.testProp),
315
- react_1.default.createElement("button", { onClick: function () { return props.onSelect(props.document); } }, editButtonLabel),
316
- react_1.default.createElement("button", { onClick: function () { return props.onDelete(props.document); } }, deleteButtonLabel))); }));
317
- return [4 /*yield*/, react_2.screen.findByText(crudLabels.addNewDocumentLabel)];
318
- case 1:
319
- _a.sent();
320
- return [2 /*return*/];
321
- }
324
+ renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels, layout: layout },
325
+ react_1.default.createElement(TestView, null),
326
+ function (props) { return (react_1.default.createElement("div", null,
327
+ react_1.default.createElement("p", null, props.document.testProp),
328
+ react_1.default.createElement("button", { onClick: function () { return props.onSelect(props.document); } }, editButtonLabel),
329
+ react_1.default.createElement("button", { onClick: function () { return props.onDelete(props.document); } }, deleteButtonLabel))); }));
330
+ return [2 /*return*/];
322
331
  });
323
332
  }); };
324
333
  it('should show always collection items when default layout', function () {
@@ -336,21 +345,10 @@ describe('Crud Panel', function () {
336
345
  expect(itemsView()).toBeInTheDocument();
337
346
  expect(formView()).toBeInTheDocument();
338
347
  });
339
- it('should show always form view when layout set to formAlways', function () {
340
- renderWith('formAlways');
341
- expect(itemsView()).toBeInTheDocument();
342
- expect(formView()).toBeInTheDocument();
343
- user_event_1.default.click(addButton());
344
- expect(itemsView()).not.toBeInTheDocument();
345
- expect(formView()).toBeInTheDocument();
346
- });
347
348
  it('should show always form view and items view when layout set to formAndItems', function () {
348
349
  renderWith('formAndItems');
349
350
  expect(itemsView()).toBeInTheDocument();
350
351
  expect(formView()).toBeInTheDocument();
351
- user_event_1.default.click(addButton());
352
- expect(itemsView()).toBeInTheDocument();
353
- expect(formView()).toBeInTheDocument();
354
352
  });
355
353
  it('should alternate from form view to items view but not both when layout set to formOrItems', function () {
356
354
  renderWith('formOrItems');
@@ -362,29 +360,24 @@ describe('Crud Panel', function () {
362
360
  });
363
361
  });
364
362
  it('should allow to pass labels as a function', function () { return __awaiter(void 0, void 0, void 0, function () {
365
- var labels;
363
+ var labels, documentClassName;
366
364
  return __generator(this, function (_a) {
367
- switch (_a.label) {
368
- case 0:
369
- labels = function (controller) { return Object.entries(crudLabels)
370
- .reduce(function (prev, _a) {
371
- var key = _a[0], label = _a[1];
372
- prev[key] = label + " " + controller.document.className;
373
- return prev;
374
- }, {}); };
375
- renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: labels },
376
- react_1.default.createElement(TestView, null),
377
- function (props) { return (react_1.default.createElement("div", null,
378
- react_1.default.createElement("p", null, props.document.testProp),
379
- react_1.default.createElement("button", { onClick: function () { return props.onSelect(props.document); } }, editButtonLabel),
380
- react_1.default.createElement("button", { onClick: function () { return props.onDelete(props.document); } }, deleteButtonLabel))); }));
381
- return [4 /*yield*/, react_2.screen.findByText(crudLabels.addNewDocumentLabel, { exact: false })];
382
- case 1:
383
- _a.sent();
384
- expect(react_2.screen.getByText(crudLabels.addNewDocumentLabel + " " + controller.document.className)).toBeInTheDocument();
385
- expect(react_2.screen.getByText(crudLabels.documentsInCollectionCaption + " " + controller.document.className)).toBeInTheDocument();
386
- return [2 /*return*/];
387
- }
365
+ labels = function (controller) { return Object.entries(crudLabels)
366
+ .reduce(function (prev, _a) {
367
+ var key = _a[0], label = _a[1];
368
+ prev[key] = "".concat(label, " ").concat(controller.createDocument().className);
369
+ return prev;
370
+ }, {}); };
371
+ renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: labels },
372
+ react_1.default.createElement(TestView, null),
373
+ function (props) { return (react_1.default.createElement("div", null,
374
+ react_1.default.createElement("p", null, props.document.testProp),
375
+ react_1.default.createElement("button", { onClick: function () { return props.onSelect(props.document); } }, editButtonLabel),
376
+ react_1.default.createElement("button", { onClick: function () { return props.onDelete(props.document); } }, deleteButtonLabel))); }));
377
+ documentClassName = controller.createDocument().className;
378
+ expect(react_2.screen.getByText("".concat(crudLabels.addNewDocumentLabel, " ").concat(documentClassName))).toBeInTheDocument();
379
+ expect(react_2.screen.getByText("".concat(crudLabels.documentsInCollectionCaption, " ").concat(documentClassName))).toBeInTheDocument();
380
+ return [2 /*return*/];
388
381
  });
389
382
  }); });
390
383
  });
@@ -1 +1 @@
1
- {"version":3,"file":"crud-panel.spec.js","sourceRoot":"","sources":["../src/crud-panel.spec.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAwC;AACxC,gDAAsF;AACtF,2EAAmD;AACnD,+CAA6G;AAC7G,2CAAsG;AACtG,qDAAkD;AAElD,IAAM,UAAU,GAAoB;IACnC,mBAAmB,EAAE,kBAAkB;IACvC,cAAc,EAAE,KAAK;IACrB,iBAAiB,EAAE,QAAQ;IAC3B,4BAA4B,EAAE,oBAAoB;IAClD,qBAAqB,EAAE,oBAAoB;CAC3C,CAAA;AAED,IAAM,mBAAmB,GAAG,uBAAuB,CAAA;AACnD,IAAM,eAAe,GAAG,MAAM,CAAA;AAC9B,IAAM,iBAAiB,GAAG,QAAQ,CAAA;AAClC,IAAM,mBAAmB,GAAG,QAAQ,CAAA;AACpC,IAAM,UAAU,GAAG,aAAa,CAAA;AAEhC,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;IAAmB,wBAAU;IAA7B;;IAUA,CAAC;IATA,sBAAI,0BAAQ;aAIZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAA;QACtB,CAAC;aAND,UAAc,KAAa;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACvB,CAAC;;;OAAA;IAMW;QAAX,0BAAU;2CAA0B;IAThC,IAAI;QADT,uCAAuB,CAAE,MAAM,CAAE;OAC5B,IAAI,CAUT;IAAD,WAAC;CAAA,AAVD,CAAmB,0BAAU,GAU5B;AAED;IAA6B,kCAAoB;IAChD;eACC,kBAAO,IAAI,IAAI,EAAE,CAAE;IACpB,CAAC;IAES,iCAAQ,GAAlB;QACC,OAAO,qBAAK,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAA;IAChC,CAAC;IACF,qBAAC;AAAD,CAAC,AARD,CAA6B,gCAAc,GAQ1C;AAED;IAAuB,4BAA8C;IAArE;;IAiBA,CAAC;IAhBA,yBAAM,GAAN;QACO,IAAA,KAA0D,IAAI,CAAC,KAAK,EAAlE,UAAU,gBAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAA,EAAE,mBAAmB,yBAAe,CAAA;QAE1E,OAAO,CACN;YACC,0CAAM,UAAU,CAAO;YACvB,yCACC,WAAW,EAAG,mBAAmB,EACjC,KAAK,EAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,EACpC,QAAQ,EAAG,UAAA,CAAC,IAAI,OAAA,UAAU,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAA7C,CAA6C,GAC5D;YACF,0CAAQ,OAAO,EAAG,cAAI,OAAA,QAAQ,CAAE,UAAU,CAAC,QAAQ,CAAE,EAA/B,CAA+B,IAAK,mBAAmB,CAAW;YACxF,0CAAQ,OAAO,EAAG,QAAQ,IAAK,mBAAmB,CAAW,CACxD,CACN,CAAA;IACF,CAAC;IACF,eAAC;AAAD,CAAC,AAjBD,CAAuB,iBAAS,GAiB/B;AAED;IAAuB,4BAAuC;IAA9D;;IAYA,CAAC;IAXA,yBAAM,GAAN;QACO,IAAA,KAAmC,IAAI,CAAC,KAAK,EAA3C,QAAQ,cAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAe,CAAA;QAEnD,OAAO,CACN;YACC,yCAAK,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAM;YAC7B,0CAAQ,OAAO,EAAG,cAAI,OAAA,QAAQ,CAAE,QAAQ,CAAE,EAApB,CAAoB,IAAK,eAAe,CAAW;YACzE,0CAAQ,OAAO,EAAG,cAAI,OAAA,QAAQ,CAAE,QAAQ,CAAE,EAApB,CAAoB,IAAK,iBAAiB,CAAW,CACtE,CACN,CAAA;IACF,CAAC;IACF,eAAC;AAAD,CAAC,AAZD,CAAuB,iBAAS,GAY/B;AAED,QAAQ,CAAE,YAAY,EAAE;IACvB,IAAI,UAA0B,CAAA;IAC9B,IAAI,SAA8B,CAAA;IAClC,IAAI,YAA0B,CAAA;IAE9B,UAAU,CAAE;;;;oBACX,qBAAK,CAAC,aAAa,CAAE,IAAI,8BAAc,cAAM,QAAQ,EAAG,CAAE,CAAA;oBAC1D,UAAU,GAAG,IAAI,cAAc,EAAE,CAAA;oBACjC,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;oBACrB,UAAU,CAAC,QAAQ,CAAE,SAAS,CAAE,CAAA;oBAEhC,YAAY,GAAG,cAAM,CACpB,8BAAC,sBAAS,IAAC,UAAU,EAAG,UAAU,EAAG,MAAM,EAAG,UAAU;wBACvD,8BAAC,QAAQ,OAAG;wBACZ,8BAAC,QAAQ,OAAG,CACD,CACZ,CAAA;oBAED,qBAAM,cAAM,CAAC,UAAU,CAAE,UAAU,CAAC,mBAAmB,CAAE,EAAA;;oBAAzD,SAAyD,CAAA;;;;SACzD,CAAC,CAAA;IAEF,EAAE,CAAE,gCAAgC,EAAE;QACrC,IAAM,IAAI,GAAG,cAAM,CAAC,SAAS,CAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,4BAA4B,EAAE,CAC5D,CAAC,kBAAiC,CAAA;QAGnC,MAAM,CAAE,cAAM,CAAE,IAAI,CAAE,CAAC,SAAS,CAAE,aAAa,CAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;QACvE,MAAM,CAAE,cAAM,CAAE,IAAI,CAAE,CAAC,SAAS,CAAE,aAAa,CAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;QACvE,MAAM,CAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAE,CAAC,IAAI,CAAE,CAAC,CAAE,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAE,+BAA+B,EAAE;QAC1C,UAAU,CAAC;YACV,YAAY,CAAC,QAAQ,CACpB,8BAAC,sBAAS,IAAC,UAAU,EAAG,UAAU,EAAG,MAAM,EAAG,UAAU,EAAG,MAAM,EAAE,cAAc;gBAC9E,UAAA,KAAK,IAAI,OAAA,8BAAC,QAAQ,eAAK,KAAK,EAAG,EAAtB,CAAsB;gBAC/B,UAAA,KAAK,IAAI,OAAA,8BAAC,QAAQ,eAAK,KAAK,EAAG,EAAtB,CAAsB,CACtB,CACZ,CAAA;QACF,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,oBAAoB,EAAE;YACzB,MAAM,CAAE,cAAM,CAAC,oBAAoB,CAAE,mBAAmB,CAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;YAChF,MAAM,CAAE,cAAM,CAAC,YAAY,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,iBAAiB,EAAE,CAAA;YAC1F,MAAM,CAAE,cAAM,CAAC,YAAY,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,iBAAiB,EAAE,CAAA;QAC7F,CAAC,CAAC,CAAA;IAEH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAE,uBAAuB,EAAE;QAElC,EAAE,CAAE,uEAAuE,EAAE;YAC5E,oBAAS,CAAC,KAAK,CAAE,cAAM,CAAC,SAAS,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,mBAAmB,EAAE,CAAE,CAAE,CAAA;YAEzF,MAAM,CAAE,cAAM,CAAC,SAAS,CAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAE,CAAC,iBAAiB,EAAE,CAAA;YAChF,MAAM,CACL,cAAM,CAAC,oBAAoB,CAAE,mBAAmB,CAAE,CAClD,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,iEAAiE,EAAE;YACtE,IAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAA;YACnC,IAAM,UAAU,GAAG,cAAM,CAAC,YAAY,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAE,CAAA;YAC7E,oBAAS,CAAC,KAAK,CAAE,UAAU,CAAC,CAAC,CAAC,CAAE,CAAA;YAEhC,MAAM,CAAE,cAAM,CAAC,SAAS,CAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAE,CAAC,iBAAiB,EAAE,CAAA;YAChF,MAAM,CAAE,cAAM,CAAC,iBAAiB,CAAE,OAAO,CAAC,QAAQ,CAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;QAC3E,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,oDAAoD,EAAE;;;;;wBACzD,oBAAS,CAAC,KAAK,CAAE,cAAM,CAAC,SAAS,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,mBAAmB,EAAC,CAAE,CAAC,CAAA;wBAEzE,qBAAM,cAAM,CAAC,qBAAqB,CAAE,mBAAmB,CAAE,EAAA;;wBAAjE,KAAK,GAAG,SAAyD;wBACvE,oBAAS,CAAC,IAAI,CAAE,KAAK,EAAE,2BAA2B,CAAE,CAAA;wBAEpD,oBAAS,CAAC,KAAK,CAAE,cAAM,CAAC,SAAS,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,cAAc,EAAE,CAAE,CAAE,CAAA;wBAC9E,IAAI,GAAG,cAAM,CAAC,SAAS,CAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,4BAA4B,EAAE,CAC5D,CAAC,kBAAiC,CAAA;wBACnC,KAAA,MAAM,CAAA;wBACL,qBAAM,cAAM,CAAE,IAAI,CAAE,CAAC,UAAU,CAAE,2BAA2B,CAAE,EAAA;;wBAD/D,kBACC,SAA8D,EAC9D,CAAC,iBAAiB,EAAE,CAAA;;;;aACrB,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAE,kCAAkC,EAAE;QAE7C,EAAE,CAAE,iDAAiD,EAAE;;;;;wBAChD,UAAU,GAAG,cAAM,CAAC,YAAY,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAE,CAAA;wBAC7E,oBAAS,CAAC,KAAK,CAAE,UAAU,CAAC,CAAC,CAAC,CAAE,CAAA;wBAElB,qBAAM,cAAM,CAAC,qBAAqB,CAAE,mBAAmB,CAAE,EAAA;;wBAAjE,KAAK,GAAG,SAAyD;wBACvE,oBAAS,CAAC,KAAK,CAAE,KAAK,EAAE,SAAS,CAAE,CAAA;wBACnC,oBAAS,CAAC,KAAK,CAAE,cAAM,CAAC,SAAS,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAE,CAAE,CAAA;wBACvF,qBAAM,eAAO,CAAE,cAAI,OAAA,MAAM,CAAE,SAAS,CAAE,CAAC,gBAAgB,EAAE,EAAtC,CAAsC,CAAE,EAAA;;wBAA3D,SAA2D,CAAA;wBAErD,IAAI,GAAG,cAAM,CAAC,SAAS,CAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,4BAA4B,EAAE,CAC5D,CAAC,kBAAiC,CAAA;wBACnC,KAAA,MAAM,CAAA;wBACL,qBAAM,cAAM,CAAE,IAAI,CAAE,CAAC,UAAU,CAAE,oBAAoB,CAAE,EAAA;;wBADxD,kBACC,SAAuD,EACvD,CAAC,iBAAiB,EAAE,CAAA;;;;aACrB,CAAC,CAAA;QAEF,EAAE,CAAE,iDAAiD,EAAE;;;;;wBACtD,MAAM,CAAE,cAAM,CAAC,WAAW,CAAE,aAAa,CAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;wBAE3D,YAAY,GAAG,cAAM,CAAC,YAAY,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAE,CAAA;wBACjF,oBAAS,CAAC,KAAK,CAAE,YAAY,CAAC,CAAC,CAAC,CAAE,CAAA;wBAClC,qBAAM,eAAO,CAAE,cAAI,OAAA,MAAM,CAAE,SAAS,CAAE,CAAC,gBAAgB,EAAE,EAAtC,CAAsC,CAAE,EAAA;;wBAA3D,SAA2D,CAAA;wBAE3D,MAAM,CAAE,cAAM,CAAC,WAAW,CAAE,aAAa,CAAE,CAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAA;;;;aACrE,CAAC,CAAA;IAEH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAE,kBAAkB,EAAE;QAC7B,IAAM,SAAS,GAAG,cAAI,OAAA,cAAM,CAAC,WAAW,CAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,4BAA4B,EAAE,CAAE,EAAlF,CAAkF,CAAA;QACxG,IAAM,QAAQ,GAAG,cAAI,OAAA,cAAM,CAAC,WAAW,CAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAE,EAArD,CAAqD,CAAA;QAC1E,IAAM,SAAS,GAAG,cAAI,OAAA,cAAM,CAAC,SAAS,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,mBAAmB,EAAE,CAAE,EAAtE,CAAsE,CAAA;QAC5F,IAAM,UAAU,GAAG,UAAQ,MAAc;;;;wBACxC,YAAY,CAAC,QAAQ,CACpB,8BAAC,sBAAS,IAAC,UAAU,EAAG,UAAU,EAAG,MAAM,EAAG,UAAU,EAAG,MAAM,EAAG,MAAM;4BACzE,8BAAC,QAAQ,OAAG;4BACV,UAAE,KAA0B,IAAM,OAAA,CAClC;gCACC,yCAAK,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAM;gCAClC,0CAAQ,OAAO,EAAG,cAAI,OAAA,KAAK,CAAC,QAAQ,CAAE,KAAK,CAAC,QAAQ,CAAE,EAAhC,CAAgC,IACnD,eAAe,CACT;gCACT,0CAAQ,OAAO,EAAG,cAAI,OAAA,KAAK,CAAC,QAAQ,CAAE,KAAK,CAAC,QAAQ,CAAE,EAAhC,CAAgC,IACnD,iBAAiB,CACX,CACJ,CACP,EAVmC,CAUnC,CACU,CACZ,CAAA;wBACD,qBAAM,cAAM,CAAC,UAAU,CAAE,UAAU,CAAC,mBAAmB,CAAE,EAAA;;wBAAzD,SAAyD,CAAA;;;;aACzD,CAAA;QAGD,EAAE,CAAE,yDAAyD,EAAE;YAC9D,MAAM,CAAE,SAAS,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;YACzC,MAAM,CAAE,QAAQ,EAAE,CAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAA;YAE5C,oBAAS,CAAC,KAAK,CAAE,SAAS,EAAE,CAAE,CAAA;YAE9B,MAAM,CAAE,SAAS,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;YACzC,MAAM,CAAE,QAAQ,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,oEAAoE,EAAE;YACzE,UAAU,CAAE,aAAa,CAAE,CAAA;YAC3B,MAAM,CAAE,SAAS,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;YACzC,MAAM,CAAE,QAAQ,EAAE,CAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAA;YAE5C,oBAAS,CAAC,KAAK,CAAE,SAAS,EAAE,CAAE,CAAA;YAE9B,MAAM,CAAE,SAAS,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;YACzC,MAAM,CAAE,QAAQ,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,4DAA4D,EAAE;YACjE,UAAU,CAAE,YAAY,CAAE,CAAA;YAC1B,MAAM,CAAE,SAAS,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;YACzC,MAAM,CAAE,QAAQ,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;YAExC,oBAAS,CAAC,KAAK,CAAE,SAAS,EAAE,CAAE,CAAA;YAE9B,MAAM,CAAE,SAAS,EAAE,CAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAA;YAC7C,MAAM,CAAE,QAAQ,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,6EAA6E,EAAE;YAClF,UAAU,CAAE,cAAc,CAAE,CAAA;YAC5B,MAAM,CAAE,SAAS,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;YACzC,MAAM,CAAE,QAAQ,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;YAExC,oBAAS,CAAC,KAAK,CAAE,SAAS,EAAE,CAAE,CAAA;YAE9B,MAAM,CAAE,SAAS,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;YACzC,MAAM,CAAE,QAAQ,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,2FAA2F,EAAE;YAChG,UAAU,CAAE,aAAa,CAAE,CAAA;YAC3B,MAAM,CAAE,SAAS,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;YACzC,MAAM,CAAE,QAAQ,EAAE,CAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAA;YAE5C,oBAAS,CAAC,KAAK,CAAE,SAAS,EAAE,CAAE,CAAA;YAE9B,MAAM,CAAE,SAAS,EAAE,CAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAA;YAC7C,MAAM,CAAE,QAAQ,EAAE,CAAE,CAAC,iBAAiB,EAAE,CAAA;QACzC,CAAC,CAAC,CAAA;IAEH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAE,2CAA2C,EAAE;;;;;oBAC1C,MAAM,GAAG,UAAE,UAAgC,IAAM,OAAA,MAAM,CAAC,OAAO,CAAE,UAAU,CAAE;yBAClF,MAAM,CAAE,UAAE,IAAI,EAAE,EAAc;4BAAZ,GAAG,QAAA,EAAE,KAAK,QAAA;wBAC5B,IAAI,CAAE,GAAG,CAAE,GAAO,KAAK,SAAM,UAAU,CAAC,QAAQ,CAAC,SAAY,CAAA;wBAC7D,OAAO,IAAI,CAAA;oBACZ,CAAC,EAAC,EAAE,CAAoB,EAJ+B,CAI/B,CAAA;oBAExB,YAAY,CAAC,QAAQ,CACpB,8BAAC,sBAAS,IAAC,UAAU,EAAG,UAAU,EAAG,MAAM,EAAG,MAAM;wBACnD,8BAAC,QAAQ,OAAG;wBACV,UAAE,KAA0B,IAAM,OAAA,CAClC;4BACC,yCAAK,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAM;4BAClC,0CAAQ,OAAO,EAAG,cAAI,OAAA,KAAK,CAAC,QAAQ,CAAE,KAAK,CAAC,QAAQ,CAAE,EAAhC,CAAgC,IACnD,eAAe,CACT;4BACT,0CAAQ,OAAO,EAAG,cAAI,OAAA,KAAK,CAAC,QAAQ,CAAE,KAAK,CAAC,QAAQ,CAAE,EAAhC,CAAgC,IACnD,iBAAiB,CACX,CACJ,CACP,EAVmC,CAUnC,CACU,CACZ,CAAA;oBACD,qBAAM,cAAM,CAAC,UAAU,CAAE,UAAU,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAA;;oBAA1E,SAA0E,CAAA;oBAE1E,MAAM,CACL,cAAM,CAAC,SAAS,CAAM,UAAU,CAAC,mBAAmB,SAAM,UAAU,CAAC,QAAQ,CAAC,SAAY,CAAE,CAC5F,CAAC,iBAAiB,EAAE,CAAA;oBACrB,MAAM,CACL,cAAM,CAAC,SAAS,CAAM,UAAU,CAAC,4BAA4B,SAAM,UAAU,CAAC,QAAQ,CAAC,SAAY,CAAE,CACrG,CAAC,iBAAiB,EAAE,CAAA;;;;SACrB,CAAC,CAAA;AAEH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"crud-panel.spec.js","sourceRoot":"","sources":["../src/crud-panel.spec.tsx"],"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.0",
3
+ "version": "2.0.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.17.2"
72
72
  }
73
73
  }