@entropic-bond/crud-panel 3.9.1 → 3.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/crud-controller.d.ts +9 -2
- package/lib/crud-controller.js +26 -0
- package/lib/crud-controller.js.map +1 -1
- package/lib/crud-panel.js +5 -2
- package/lib/crud-panel.js.map +1 -1
- package/package.json +12 -12
- package/lib/crud-controller.spec.d.ts +0 -14
- package/lib/crud-controller.spec.js +0 -168
- package/lib/crud-controller.spec.js.map +0 -1
- package/lib/crud-panel.spec.d.ts +0 -1
- package/lib/crud-panel.spec.js +0 -262
- package/lib/crud-panel.spec.js.map +0 -1
- package/lib/progress-controller.spec.d.ts +0 -1
- package/lib/progress-controller.spec.js +0 -139
- package/lib/progress-controller.spec.js.map +0 -1
package/lib/crud-controller.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Callback, EntropicComponent, Model, Observable, PropChangeEvent, Unsubscriber } from 'entropic-bond';
|
|
1
|
+
import { Callback, ClassPropNames, EntropicComponent, Model, Observable, PropChangeEvent, Unsubscriber } from 'entropic-bond';
|
|
2
2
|
import { ProgressController, ProgressEvent } from './progress-controller';
|
|
3
3
|
type CrudControllerAction = 'saved' | 'deleted' | 'populated';
|
|
4
4
|
export interface CrudControllerEvent<T extends EntropicComponent> {
|
|
@@ -8,14 +8,20 @@ export interface CrudControllerEvent<T extends EntropicComponent> {
|
|
|
8
8
|
action?: CrudControllerAction;
|
|
9
9
|
/** deprecated */ error?: Error;
|
|
10
10
|
}
|
|
11
|
+
type ValidatorFunction<V> = (value: V) => boolean;
|
|
11
12
|
export declare abstract class CrudController<T extends EntropicComponent> {
|
|
12
13
|
static readonly errorMessages: {
|
|
13
14
|
missedDocument: string;
|
|
14
15
|
};
|
|
15
16
|
constructor(document?: T);
|
|
16
|
-
abstract allRequiredPropertiesFilled(): boolean;
|
|
17
17
|
protected abstract createDocument(): T;
|
|
18
18
|
protected abstract getModel(): Model<T>;
|
|
19
|
+
allRequiredPropertiesFilled(): boolean;
|
|
20
|
+
get nonFilledRequiredProperties(): ClassPropNames<T>[];
|
|
21
|
+
get requiredProperties(): ClassPropNames<T>[];
|
|
22
|
+
addValidator<P extends ClassPropNames<T>>(prop: P, validatorFn: ValidatorFunction<T[P]>): void;
|
|
23
|
+
removeValidator(prop: ClassPropNames<T>): void;
|
|
24
|
+
private validateProp;
|
|
19
25
|
protected storeDoc(): Promise<void>;
|
|
20
26
|
protected deleteDoc(): Promise<void>;
|
|
21
27
|
protected findDocs(limit?: number): Promise<T[]>;
|
|
@@ -62,5 +68,6 @@ export declare abstract class CrudController<T extends EntropicComponent> {
|
|
|
62
68
|
private _document;
|
|
63
69
|
private unsubscribeDocument;
|
|
64
70
|
private _filter;
|
|
71
|
+
private validator;
|
|
65
72
|
}
|
|
66
73
|
export {};
|
package/lib/crud-controller.js
CHANGED
|
@@ -8,8 +8,34 @@ class CrudController {
|
|
|
8
8
|
this.progressController = new progress_controller_1.ProgressController();
|
|
9
9
|
this.onChangeHdl = new entropic_bond_1.Observable();
|
|
10
10
|
this.onErrorHdl = new entropic_bond_1.Observable();
|
|
11
|
+
this.validator = {};
|
|
11
12
|
this.setDocument(document || this.createDocument());
|
|
12
13
|
}
|
|
14
|
+
allRequiredPropertiesFilled() {
|
|
15
|
+
return this.nonFilledRequiredProperties.length <= 0;
|
|
16
|
+
}
|
|
17
|
+
get nonFilledRequiredProperties() {
|
|
18
|
+
return this.requiredProperties.filter(prop => this.validateProp(prop));
|
|
19
|
+
}
|
|
20
|
+
get requiredProperties() {
|
|
21
|
+
if (!this.document)
|
|
22
|
+
throw new Error(CrudController.errorMessages.missedDocument);
|
|
23
|
+
return this.document.getPersistentProperties()
|
|
24
|
+
.filter(prop => prop.required)
|
|
25
|
+
.map(prop => prop.name);
|
|
26
|
+
}
|
|
27
|
+
addValidator(prop, validatorFn) {
|
|
28
|
+
this.validator[prop] = validatorFn;
|
|
29
|
+
}
|
|
30
|
+
removeValidator(prop) {
|
|
31
|
+
delete this.validator[prop];
|
|
32
|
+
}
|
|
33
|
+
validateProp(prop) {
|
|
34
|
+
if (!this.document)
|
|
35
|
+
throw new Error(CrudController.errorMessages.missedDocument);
|
|
36
|
+
const propVal = this.document[prop];
|
|
37
|
+
return this.validator[prop] ? !this.validator[prop](propVal) : !propVal;
|
|
38
|
+
}
|
|
13
39
|
storeDoc() {
|
|
14
40
|
if (!this.document)
|
|
15
41
|
throw new Error(CrudController.errorMessages.missedDocument);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-controller.js","sourceRoot":"","sources":["../src/crud-controller.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"crud-controller.js","sourceRoot":"","sources":["../src/crud-controller.ts"],"names":[],"mappings":";;;AAAA,iDAA6H;AAC7H,+DAAyE;AAiBzE,MAAsB,cAAc;IAKnC,YAAa,QAAY;QAoNf,uBAAkB,GAAuB,IAAI,wCAAkB,EAAE,CAAA;QACjE,gBAAW,GAAuC,IAAI,0BAAU,EAA0B,CAAA;QAC1F,eAAU,GAAsB,IAAI,0BAAU,EAAS,CAAA;QAKzD,cAAS,GAAG,EAA4B,CAAA;QA1N/C,IAAI,CAAC,WAAW,CAAE,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAE,CAAA;IACtD,CAAC;IAKD,2BAA2B;QAC1B,OAAO,IAAI,CAAC,2BAA2B,CAAC,MAAM,IAAI,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,2BAA2B;QAC9B,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAE,IAAI,CAAE,CAAC,CAAA;IAC1E,CAAC;IAED,IAAI,kBAAkB;QACrB,IAAK,CAAC,IAAI,CAAC,QAAQ;YAAG,MAAM,IAAI,KAAK,CAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAE,CAAA;QAEpF,OAAO,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE;aAC5C,MAAM,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAE;aAC/B,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAyB,CAAA;IAClD,CAAC;IAED,YAAY,CAA+B,IAAO,EAAE,WAAoC;QACvF,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,GAAG,WAAW,CAAA;IACrC,CAAC;IAED,eAAe,CAAE,IAAuB;QACvC,OAAO,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAA;IAC9B,CAAC;IAEO,YAAY,CAAE,IAAuB;QAC5C,IAAK,CAAC,IAAI,CAAC,QAAQ;YAAG,MAAM,IAAI,KAAK,CAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAE,CAAA;QAEpF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAE,IAAI,CAAE,CAAA;QACrC,OAAO,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAA,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAE,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7E,CAAC;IAES,QAAQ;QACjB,IAAK,CAAC,IAAI,CAAC,QAAQ;YAAG,MAAM,IAAI,KAAK,CAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAE,CAAA;QACpF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,QAAQ,CAAE,CAAA;IACxC,CAAC;IAES,SAAS;QAClB,IAAK,CAAC,IAAI,CAAC,QAAQ;YAAG,MAAM,IAAI,KAAK,CAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAE,CAAA;QACpF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAE,CAAA;IAC7C,CAAC;IAES,KAAK,CAAC,QAAQ,CAAE,KAAc;QACvC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAE7B,IAAK,KAAK;YAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAE,KAAK,CAAE,CAAA;QAEzC,OAAO,KAAK,CAAC,GAAG,EAAE,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAE,MAAkC;QAClD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAChF,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,QAAQ,CAAE,QAA0C;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAE,QAAQ,CAAE,CAAA;IAC9C,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAE,QAAyB;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAE,QAAQ,CAAE,CAAA;IAC7C,CAAC;IAES,YAAY,CAAoC,KAAQ;QACjE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAE,KAAK,CAAE,CAAA;IACjC,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,cAAc,EAAE,CAAE,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,aAAa;QAClB,MAAM,aAAa,GAAG,sBAAsB,CAAA;QAE5C,IAAI;YACH,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAE,IAAI,EAAE,aAAa,CAAE,CAAA;YACzD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;YAErB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACvB,kBAAkB,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE;gBACnD,MAAM,EAAE,OAAO;aACf,CAAC,CAAA;SACF;QACD,OAAO,KAAK,EAAG;YACd,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAE,KAAK,CAAE,EAAE,CAAC,CAAA;YAC9D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAE,IAAI,CAAC,YAAY,CAAE,KAAK,CAAE,CAAC,CAAA;YACnD,IAAK,IAAI,CAAC,YAAY;gBAAG,MAAM,KAAK,CAAA;SACpC;gBACO;YACP,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAE,KAAK,EAAE,aAAa,CAAE,CAAA;SAC1D;IACF,CAAC;IAED,KAAK,CAAC,cAAc;QACnB,MAAM,aAAa,GAAG,sBAAsB,CAAA;QAC5C,IAAI;YACH,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAE,IAAI,EAAE,aAAa,CAAE,CAAA;YACzD,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;YAEtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACvB,kBAAkB,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE;gBACnD,MAAM,EAAE,SAAS;aACjB,CAAC,CAAA;SACF;QACD,OAAO,KAAK,EAAG;YACd,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAE,KAAK,CAAE,EAAE,CAAC,CAAA;YAC9D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAE,IAAI,CAAC,YAAY,CAAE,KAAK,CAAE,CAAC,CAAA;YACnD,IAAK,IAAI,CAAC,YAAY;gBAAG,MAAM,KAAK,CAAA;SACpC;gBACO;YACP,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAE,KAAK,EAAE,aAAa,CAAE,CAAA;SAC1D;IACF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAE,KAAc;QACvC,MAAM,aAAa,GAAG,gCAAgC,CAAA;QAEtD,IAAI;YACH,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAE,IAAI,EAAE,aAAa,CAAE,CAAA;YACzD,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAA;SACxC;QACD,OAAO,KAAK,EAAG;YACd,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAE,KAAK,CAAE,EAAE,CAAC,CAAA;YAC9D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAE,IAAI,CAAC,YAAY,CAAE,KAAK,CAAE,CAAC,CAAA;YACnD,IAAK,IAAI,CAAC,YAAY;gBAAG,MAAM,KAAK,CAAA;SACpC;gBACO;YACP,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAE,KAAK,EAAE,aAAa,CAAE,CAAA;SAC1D;QAGD,IAAK,CAAC,IAAI,CAAC,OAAO;YAAG,OAAO,KAAM,CAAA;QAClC,OAAO,KAAM,CAAC,MAAM,CAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAE,GAAG,CAAE,CAAC,CAAA;IACpD,CAAC;IAED,UAAU,CAAE,QAAiC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAE,QAAQ,CAAE,CAAA;IACtD,CAAC;IAED,IAAc,KAAK;QAClB,OAAO,IAAI,CAAC,MAAM,IAAI,CAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,CAAA;IACxD,CAAC;IAED,WAAW,CAAE,KAAoB;QAChC,IAAK,IAAI,CAAC,SAAS,KAAK,KAAK,EAAG;YAE/B,IAAK,IAAI,CAAC,mBAAmB;gBAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAE1D,IAAK,KAAK,EAAG;gBACZ,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,QAAQ,CAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAE,CAAE,CAAA;aAChG;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;YACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;SAC5D;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,IAAI,QAAQ,CAAE,KAAoB;QACjC,IAAI,CAAC,WAAW,CAAE,KAAK,CAAE,CAAA;IAC1B,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,SAAS,CAAA;IACtB,CAAC;IAED;;;;;;OAMG;IACO,YAAY,CAAE,KAA2B;QAClD,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAE,KAAK,CAAE,EAAE,CAAC,CAAA;QAC/E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAE,IAAI,CAAC,YAAY,CAAE,KAAK,CAAE,CAAC,CAAA;QACnD,IAAK,IAAI,CAAC,YAAY;YAAG,MAAM,IAAI,CAAC,YAAY,CAAE,KAAK,CAAE,CAAA;IAC1D,CAAC;IAES,YAAY,CAAE,KAAU;QACjC,IAAK,KAAK,YAAY,KAAK;YAAG,OAAO,KAAK,CAAA;QAC1C,IAAK,OAAO,KAAK,KAAK,QAAQ;YAAG,OAAO,IAAI,KAAK,CAAE,KAAK,CAAE,CAAA;QAC1D,IAAK,MAAM,IAAI,KAAK;YAAG,OAAO,IAAI,KAAK,CAAE,KAAK,CAAC,IAAI,CAAE,CAAA;QACrD,IAAK,SAAS,IAAI,KAAK;YAAG,OAAO,IAAI,KAAK,CAAE,KAAK,CAAC,KAAK,CAAE,CAAA;QACzD,OAAO,IAAI,KAAK,CAAE,IAAI,CAAC,SAAS,CAAE,KAAK,CAAE,CAAE,CAAA;IAC5C,CAAC;IAED,IAAc,YAAY;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,KAAK,CAAC,CAAA;IAC9C,CAAC;;AAvNF,wCAiOC;AAhOgB,4BAAa,GAAG;IAC/B,cAAc,EAAE,qBAAqB;CACrC,AAF4B,CAE5B"}
|
package/lib/crud-panel.js
CHANGED
|
@@ -129,7 +129,9 @@ class CrudPanel extends react_1.Component {
|
|
|
129
129
|
const { addNewDocumentLabel, singularDocumentInCollectionCaption, documentsInCollectionCaption, noDocumentsFoundLabel } = labels;
|
|
130
130
|
return (react_1.default.createElement("div", { className: `crud-panel ${docClassName} ${className || ''}` },
|
|
131
131
|
mode === Mode.normal && layout !== 'formAndItems' && !cardAddButton &&
|
|
132
|
-
react_1.default.createElement("
|
|
132
|
+
react_1.default.createElement("div", { className: "header" },
|
|
133
|
+
this.props.header || react_1.default.createElement(react_1.default.Fragment, null),
|
|
134
|
+
react_1.default.createElement("button", { onClick: () => this.newDocument() }, addNewDocumentLabel)),
|
|
133
135
|
(layout === 'formAndItems' || mode === Mode.add || mode === Mode.edit) &&
|
|
134
136
|
react_1.default.createElement("div", { className: "content-panel" }, this.invokeContentViewChild(labels)),
|
|
135
137
|
(layout === 'itemsAlways' || layout === 'formAndItems' || mode === Mode.normal) &&
|
|
@@ -145,7 +147,8 @@ class CrudPanel extends react_1.Component {
|
|
|
145
147
|
react_1.default.createElement("div", { className: "add-label" }, addNewDocumentLabel)),
|
|
146
148
|
documents?.length
|
|
147
149
|
? documents.map((document) => this.invokeDetailViewChild(document))
|
|
148
|
-
: react_1.default.createElement("p", null, noDocumentsFoundLabel)))
|
|
150
|
+
: react_1.default.createElement("p", null, noDocumentsFoundLabel))),
|
|
151
|
+
this.props.footer || react_1.default.createElement(react_1.default.Fragment, null)));
|
|
149
152
|
}
|
|
150
153
|
}
|
|
151
154
|
exports.CrudPanel = CrudPanel;
|
package/lib/crud-panel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-panel.js","sourceRoot":"","sources":["../src/crud-panel.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA0E;AAC1E,+CAAoE;AAGpE,IAAK,IAA0B;AAA/B,WAAK,IAAI;IAAG,mCAAM,CAAA;IAAE,6BAAG,CAAA;IAAE,+BAAI,CAAA;AAAC,CAAC,EAA1B,IAAI,KAAJ,IAAI,QAAsB;AA6C/B,MAAa,SAAuC,SAAQ,iBAA+C;IAE1G,YAAa,KAAwB;QACpC,KAAK,CAAE,KAAK,CAAE,CAAA;QAEd,IAAI,CAAC,KAAK,GAAG;YACZ,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,IAAI,CAAC,MAAM;SACjB,CAAA;IACF,CAAC;IAEQ,KAAK,CAAC,iBAAiB;QAC/B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAEjC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAE,KAAK,CAAC,EAAE;YAChD,IAAK,KAAK,CAAC,kBAAkB,EAAG;gBAC/B,IAAI,CAAC,QAAQ,CAAC;oBACb,SAAS,EAAE,KAAK,CAAC,kBAAkB;iBACnC,CAAC,CAAA;aACF;;gBACI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC;YACb,SAAS,EAAE,MAAM,UAAU,CAAC,kBAAkB,EAAE;SAChD,CAAC,CAAA;IACH,CAAC;IAEQ,oBAAoB;QAC5B,IAAI,CAAC,YAAY,EAAE,EAAE,CAAA;IACtB,CAAC;IAEO,WAAW;QAClB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAA;QAEnC,IAAI,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAA;IACH,CAAC;IAEO,YAAY,CAAE,QAAW;QAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAA;QAE7C,IAAI,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,CAAC,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAE,QAAW;QACvC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACzC,UAAU,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAA;QAClC,MAAM,UAAU,CAAC,aAAa,EAAE,CAAA;QAEhC,IAAK,MAAM,KAAK,cAAc,EAAG;YAChC,IAAI,CAAC,WAAW,EAAE,CAAA;SAClB;aACI;YACJ,IAAI,CAAC,QAAQ,CAAC;gBACb,IAAI,EAAE,IAAI,CAAC,MAAM;aACjB,CAAC,CAAA;SACF;IACF,CAAC;IAEO,sBAAsB,CAAE,MAAwB;QACvD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACnD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3B,MAAM,aAAa,GAAG,MAAM,KAAK,cAAc,CAAA;QAC/C,IAAK,CAAC,UAAU,CAAC,QAAQ;YAAG,OAAM;QAElC,MAAM,KAAK,GAA4B;YACtC,UAAU,EAAE,UAAU;YACtB,mBAAmB,EAAE,IAAI,IAAE,IAAI,CAAC,IAAI,CAAA,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,cAAc;YACxF,QAAQ,EAAE,CAAE,QAAW,EAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAE,QAAQ,CAAE;YAC3D,QAAQ,EAAE,aAAa;gBACtB,CAAC,CAAC,GAAE,EAAE,CAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1C,CAAC,CAAC,GAAE,EAAE,CAAA,IAAI,CAAC,WAAW,EAAE;SACzB,CAAA;QAED,IAAK,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,UAAU,EAAG;YACxC,OAAO,IAAA,oBAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;SAC1E;aACI;YACJ,OAAO,IAAA,oBAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;SAC5E;IACF,CAAC;IAEO,qBAAqB,CAAE,QAAW;QACzC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAE3C,MAAM,KAAK,GAAqB;YAC/B,QAAQ;YACR,QAAQ,EAAE,CAAC,QAAW,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAE,QAAQ,CAAE;YACxD,QAAQ,EAAE,CAAC,QAAW,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAC,cAAc,EAAE;SAC9E,CAAA;QAED,IAAK,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,UAAU,EAAG;YACxC,OAAO,IAAA,oBAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,KAAK,CAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAE,CAAA;SACjE;aACI;YACJ,OAAO,IAAA,oBAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,CAAE,CAAA;SAClE;IACF,CAAC;IAEQ,MAAM;QACd,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACtC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3D,MAAM,YAAY,GAAG,IAAA,yBAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAE,CAAA;QAChE,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAqB,CAAA;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,aAAa,CAAA;QAEjD,IAAK,OAAO,MAAM,KAAK,UAAU;YAAG,MAAM,GAAG,MAAM,CAAE,UAAU,CAAE,CAAA;QAEjE,MAAM,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAA;QAEhI,OAAO,CACN,uCAAK,SAAS,EAAE,cAAe,YAAa,IAAK,SAAS,IAAI,EAAG,EAAE;YAEhE,IAAI,KAAK,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,cAAc,IAAI,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"crud-panel.js","sourceRoot":"","sources":["../src/crud-panel.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": "3.
|
|
3
|
+
"version": "3.10.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"branches": [
|
|
@@ -46,22 +46,22 @@
|
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@semantic-release/changelog": "^6.0.3",
|
|
48
48
|
"@semantic-release/git": "^10.0.1",
|
|
49
|
-
"@testing-library/jest-dom": "^
|
|
49
|
+
"@testing-library/jest-dom": "^6.1.3",
|
|
50
50
|
"@testing-library/react": "^14.0.0",
|
|
51
|
-
"@testing-library/user-event": "^14.
|
|
52
|
-
"@types/jest": "^29.5.
|
|
53
|
-
"@types/react": "^18.2.
|
|
54
|
-
"@types/react-dom": "^18.2.
|
|
51
|
+
"@testing-library/user-event": "^14.5.1",
|
|
52
|
+
"@types/jest": "^29.5.5",
|
|
53
|
+
"@types/react": "^18.2.22",
|
|
54
|
+
"@types/react-dom": "^18.2.7",
|
|
55
55
|
"fetch-mock": "^9.11.0",
|
|
56
56
|
"git-branch-is": "^4.0.0",
|
|
57
57
|
"husky": "^8.0.3",
|
|
58
|
-
"jest": "^29.
|
|
59
|
-
"jest-environment-jsdom": "^29.
|
|
58
|
+
"jest": "^29.7.0",
|
|
59
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
60
60
|
"react": "^18.2.0",
|
|
61
61
|
"react-dom": "^18.2.0",
|
|
62
|
-
"semantic-release": "^
|
|
63
|
-
"ts-jest": "^29.1.
|
|
64
|
-
"typescript": "^5.
|
|
62
|
+
"semantic-release": "^22.0.5",
|
|
63
|
+
"ts-jest": "^29.1.1",
|
|
64
|
+
"typescript": "^5.2.2"
|
|
65
65
|
},
|
|
66
66
|
"husky": {
|
|
67
67
|
"hooks": {
|
|
@@ -69,6 +69,6 @@
|
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"entropic-bond": "^1.
|
|
72
|
+
"entropic-bond": "^1.46.1"
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -1,14 +0,0 @@
|
|
|
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 | undefined);
|
|
5
|
-
get testProp(): string | undefined;
|
|
6
|
-
private _testProp;
|
|
7
|
-
}
|
|
8
|
-
export declare class TestController extends CrudController<Test> {
|
|
9
|
-
createDocument(): Test;
|
|
10
|
-
protected getModel(): Model<Test>;
|
|
11
|
-
allRequiredPropertiesFilled(): boolean;
|
|
12
|
-
notifyNewEvent(): void;
|
|
13
|
-
callManagedThrow(): void;
|
|
14
|
-
}
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.TestController = exports.Test = void 0;
|
|
10
|
-
const entropic_bond_1 = require("entropic-bond");
|
|
11
|
-
const crud_controller_1 = require("./crud-controller");
|
|
12
|
-
const mockData = {
|
|
13
|
-
Test: {
|
|
14
|
-
test1: {
|
|
15
|
-
__className: 'Test',
|
|
16
|
-
id: 'test1',
|
|
17
|
-
testProp: 'Test prop 1'
|
|
18
|
-
},
|
|
19
|
-
test2: {
|
|
20
|
-
__className: 'Test',
|
|
21
|
-
id: 'test2',
|
|
22
|
-
testProp: 'Test prop 2'
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
let Test = exports.Test = class Test extends entropic_bond_1.EntropicComponent {
|
|
27
|
-
set testProp(value) {
|
|
28
|
-
this.changeProp('testProp', value);
|
|
29
|
-
}
|
|
30
|
-
get testProp() {
|
|
31
|
-
return this._testProp;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
__decorate([
|
|
35
|
-
entropic_bond_1.persistent
|
|
36
|
-
], Test.prototype, "_testProp", void 0);
|
|
37
|
-
exports.Test = Test = __decorate([
|
|
38
|
-
(0, entropic_bond_1.registerPersistentClass)('Test')
|
|
39
|
-
], Test);
|
|
40
|
-
class TestController extends crud_controller_1.CrudController {
|
|
41
|
-
createDocument() {
|
|
42
|
-
return new Test();
|
|
43
|
-
}
|
|
44
|
-
getModel() {
|
|
45
|
-
return entropic_bond_1.Store.getModel('Test');
|
|
46
|
-
}
|
|
47
|
-
allRequiredPropertiesFilled() {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
notifyNewEvent() {
|
|
51
|
-
this.notifyChange({
|
|
52
|
-
newEvent: 'new event fired'
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
callManagedThrow() {
|
|
56
|
-
this.managedThrow(new Error('test error'));
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.TestController = TestController;
|
|
60
|
-
describe('Crud Controller', () => {
|
|
61
|
-
let controller;
|
|
62
|
-
let datasource;
|
|
63
|
-
let onProgress;
|
|
64
|
-
beforeEach(() => {
|
|
65
|
-
datasource = new entropic_bond_1.JsonDataSource(JSON.parse(JSON.stringify(mockData)));
|
|
66
|
-
entropic_bond_1.Store.useDataSource(datasource);
|
|
67
|
-
controller = new TestController();
|
|
68
|
-
onProgress = jest.fn();
|
|
69
|
-
controller.onProgress(onProgress);
|
|
70
|
-
});
|
|
71
|
-
describe('Long operations', () => {
|
|
72
|
-
beforeEach(() => {
|
|
73
|
-
datasource.simulateDelay(50);
|
|
74
|
-
});
|
|
75
|
-
it('should notify busy on delete', async () => {
|
|
76
|
-
const promise = controller.deleteDocument();
|
|
77
|
-
expect(onProgress).toHaveBeenLastCalledWith(expect.objectContaining({ busy: true }));
|
|
78
|
-
await promise;
|
|
79
|
-
expect(onProgress).toHaveBeenLastCalledWith(expect.objectContaining({ busy: false }));
|
|
80
|
-
});
|
|
81
|
-
it('should notify busy on store', async () => {
|
|
82
|
-
const promise = controller.storeDocument();
|
|
83
|
-
expect(onProgress).toHaveBeenLastCalledWith(expect.objectContaining({ busy: true }));
|
|
84
|
-
await promise;
|
|
85
|
-
expect(onProgress).toHaveBeenLastCalledWith(expect.objectContaining({ busy: false }));
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
it('should notify new event', () => {
|
|
89
|
-
const spy = jest.fn();
|
|
90
|
-
controller.onChange(spy);
|
|
91
|
-
controller.notifyNewEvent();
|
|
92
|
-
expect(spy).toHaveBeenCalledWith({ newEvent: 'new event fired' });
|
|
93
|
-
});
|
|
94
|
-
it('should not throw setting an undefined document', () => {
|
|
95
|
-
expect(() => {
|
|
96
|
-
controller.setDocument(undefined);
|
|
97
|
-
}).not.toThrow();
|
|
98
|
-
});
|
|
99
|
-
it('should notify on filter set', async () => {
|
|
100
|
-
const spy = jest.fn();
|
|
101
|
-
controller.onChange(spy);
|
|
102
|
-
await controller.setFilter(() => true);
|
|
103
|
-
expect(spy).toHaveBeenCalledWith({ documentCollection: expect.anything() });
|
|
104
|
-
});
|
|
105
|
-
it('should return a filtered collection', async () => {
|
|
106
|
-
const collection = await controller.documentCollection();
|
|
107
|
-
expect(collection.length).toBe(2);
|
|
108
|
-
controller.setFilter(doc => doc.id === 'test1');
|
|
109
|
-
const filteredCollection = await controller.documentCollection();
|
|
110
|
-
expect(filteredCollection.length).toBe(1);
|
|
111
|
-
});
|
|
112
|
-
describe('Error handling', () => {
|
|
113
|
-
beforeEach(() => {
|
|
114
|
-
datasource.simulateError({
|
|
115
|
-
store: 'store test error',
|
|
116
|
-
delete: 'delete test error',
|
|
117
|
-
find: 'find test error',
|
|
118
|
-
findById: 'findById test error',
|
|
119
|
-
});
|
|
120
|
-
controller.setDocument(new Test());
|
|
121
|
-
});
|
|
122
|
-
afterEach(() => datasource.simulateError(undefined));
|
|
123
|
-
describe('without observable', () => {
|
|
124
|
-
beforeEach(() => controller.setDocument(new Test()));
|
|
125
|
-
it('should throw on managedThrow', () => {
|
|
126
|
-
expect(() => {
|
|
127
|
-
controller.callManagedThrow();
|
|
128
|
-
}).toThrow('test error');
|
|
129
|
-
});
|
|
130
|
-
it('should reject of an error on deleteDocument', async () => {
|
|
131
|
-
expect(controller.deleteDocument()).rejects.toThrow('delete test error');
|
|
132
|
-
});
|
|
133
|
-
it('should reject of an error on storeDocument', async () => {
|
|
134
|
-
expect(controller.storeDocument()).rejects.toThrow('store test error');
|
|
135
|
-
});
|
|
136
|
-
it('should reject of an error on documentCollection', async () => {
|
|
137
|
-
expect(controller.documentCollection()).rejects.toThrow('find test error');
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
describe('with observable', () => {
|
|
141
|
-
it('should notify of an error on managedThrow', () => {
|
|
142
|
-
const spy = jest.fn();
|
|
143
|
-
controller.onError(spy);
|
|
144
|
-
controller.callManagedThrow();
|
|
145
|
-
expect(spy).toHaveBeenCalledWith(Error('test error'));
|
|
146
|
-
});
|
|
147
|
-
it('should notify of an error on deleteDocument', async () => {
|
|
148
|
-
const spy = jest.fn();
|
|
149
|
-
controller.onError(spy);
|
|
150
|
-
await controller.deleteDocument();
|
|
151
|
-
expect(spy).toHaveBeenCalledWith(Error('delete test error'));
|
|
152
|
-
});
|
|
153
|
-
it('should notify of an error on storeDocument', async () => {
|
|
154
|
-
const spy = jest.fn();
|
|
155
|
-
controller.onError(spy);
|
|
156
|
-
await controller.storeDocument();
|
|
157
|
-
expect(spy).toHaveBeenCalledWith(Error('store test error'));
|
|
158
|
-
});
|
|
159
|
-
it('should notify of an error on documentCollection', async () => {
|
|
160
|
-
const spy = jest.fn();
|
|
161
|
-
controller.onError(spy);
|
|
162
|
-
await controller.documentCollection();
|
|
163
|
-
expect(spy).toHaveBeenCalledWith(Error('find test error'));
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
//# sourceMappingURL=crud-controller.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crud-controller.spec.js","sourceRoot":"","sources":["../src/crud-controller.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/crud-panel.spec.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/lib/crud-panel.spec.js
DELETED
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const react_1 = __importStar(require("react"));
|
|
30
|
-
const react_2 = require("@testing-library/react");
|
|
31
|
-
const user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
32
|
-
const entropic_bond_1 = require("entropic-bond");
|
|
33
|
-
const crud_panel_1 = require("./crud-panel");
|
|
34
|
-
const crud_controller_spec_1 = require("./crud-controller.spec");
|
|
35
|
-
const crudLabels = {
|
|
36
|
-
addNewDocumentLabel: 'Add new document',
|
|
37
|
-
addButtonLabel: 'Add',
|
|
38
|
-
updateButtonLabel: 'Update',
|
|
39
|
-
documentsInCollectionCaption: 'Existing documents',
|
|
40
|
-
singularDocumentInCollectionCaption: 'Existing document',
|
|
41
|
-
noDocumentsFoundLabel: 'No documents found',
|
|
42
|
-
};
|
|
43
|
-
const testViewPlaceholder = 'Test View Placeholder';
|
|
44
|
-
const editButtonLabel = 'Edit';
|
|
45
|
-
const deleteButtonLabel = 'Delete';
|
|
46
|
-
const cancelButtonCaption = 'Cancel';
|
|
47
|
-
const viewHeader = 'View header';
|
|
48
|
-
const mockData = {
|
|
49
|
-
Test: {
|
|
50
|
-
test1: {
|
|
51
|
-
__className: 'Test',
|
|
52
|
-
id: 'test1',
|
|
53
|
-
testProp: 'Test prop 1'
|
|
54
|
-
},
|
|
55
|
-
test2: {
|
|
56
|
-
__className: 'Test',
|
|
57
|
-
id: 'test2',
|
|
58
|
-
testProp: 'Test prop 2'
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
class TestView extends react_1.Component {
|
|
63
|
-
componentDidMount() {
|
|
64
|
-
const { controller } = this.props;
|
|
65
|
-
controller?.onChange(e => {
|
|
66
|
-
if (e.documentProps)
|
|
67
|
-
this.setState(e.documentProps);
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
render() {
|
|
71
|
-
const { controller, onCancel, onSubmit, submitButtonCaption } = this.props;
|
|
72
|
-
const { document } = controller;
|
|
73
|
-
if (!document)
|
|
74
|
-
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
75
|
-
return (react_1.default.createElement("div", null,
|
|
76
|
-
react_1.default.createElement("h1", null, viewHeader),
|
|
77
|
-
react_1.default.createElement("input", { placeholder: testViewPlaceholder, value: document.testProp || '', onChange: e => document.testProp = e.target.value }),
|
|
78
|
-
react_1.default.createElement("button", { onClick: () => onSubmit?.(document) }, submitButtonCaption),
|
|
79
|
-
react_1.default.createElement("button", { onClick: onCancel }, cancelButtonCaption)));
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
class TestCard extends react_1.Component {
|
|
83
|
-
render() {
|
|
84
|
-
const { document, onDelete, onSelect } = this.props;
|
|
85
|
-
if (!document)
|
|
86
|
-
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
87
|
-
return (react_1.default.createElement("div", null,
|
|
88
|
-
react_1.default.createElement("p", null, document?.testProp),
|
|
89
|
-
react_1.default.createElement("button", { onClick: () => onSelect?.(document) }, editButtonLabel),
|
|
90
|
-
react_1.default.createElement("button", { onClick: () => onDelete?.(document) }, deleteButtonLabel)));
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
describe('Crud Panel', () => {
|
|
94
|
-
let controller;
|
|
95
|
-
let notifySpy;
|
|
96
|
-
let renderResult;
|
|
97
|
-
let datasource;
|
|
98
|
-
beforeEach(async () => {
|
|
99
|
-
datasource = new entropic_bond_1.JsonDataSource(JSON.parse(JSON.stringify(mockData)));
|
|
100
|
-
entropic_bond_1.Store.useDataSource(datasource);
|
|
101
|
-
controller = new crud_controller_spec_1.TestController();
|
|
102
|
-
notifySpy = jest.fn();
|
|
103
|
-
controller.onChange(notifySpy);
|
|
104
|
-
renderResult = (0, react_2.render)(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels },
|
|
105
|
-
react_1.default.createElement(TestView, null),
|
|
106
|
-
react_1.default.createElement(TestCard, null)));
|
|
107
|
-
// await datasource.wait()
|
|
108
|
-
await react_2.screen.findByRole('heading');
|
|
109
|
-
});
|
|
110
|
-
it('should show add button', () => {
|
|
111
|
-
expect(react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel })).toBeInTheDocument();
|
|
112
|
-
});
|
|
113
|
-
it('should show existing documents', () => {
|
|
114
|
-
const docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
|
|
115
|
-
expect((0, react_2.within)(docs).getByText('Test prop 1')).toBeInTheDocument();
|
|
116
|
-
expect((0, react_2.within)(docs).getByText('Test prop 2')).toBeInTheDocument();
|
|
117
|
-
expect(docs.children.length).toBe(2);
|
|
118
|
-
});
|
|
119
|
-
describe('Accepts children as functions', () => {
|
|
120
|
-
beforeEach(() => {
|
|
121
|
-
user_event_1.default.setup();
|
|
122
|
-
renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels },
|
|
123
|
-
props => react_1.default.createElement(TestView, { ...props }),
|
|
124
|
-
props => react_1.default.createElement(TestCard, { ...props })));
|
|
125
|
-
});
|
|
126
|
-
it('should show add button', () => {
|
|
127
|
-
expect(react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel })).toBeInTheDocument();
|
|
128
|
-
});
|
|
129
|
-
it('should show existing documents', () => {
|
|
130
|
-
const docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
|
|
131
|
-
expect((0, react_2.within)(docs).getByText('Test prop 1')).toBeInTheDocument();
|
|
132
|
-
expect((0, react_2.within)(docs).getByText('Test prop 2')).toBeInTheDocument();
|
|
133
|
-
expect(docs.children.length).toBe(2);
|
|
134
|
-
expect(react_2.screen.getAllByRole('button', { name: editButtonLabel })[0]).toBeInTheDocument();
|
|
135
|
-
expect(react_2.screen.getAllByRole('button', { name: deleteButtonLabel })[0]).toBeInTheDocument();
|
|
136
|
-
});
|
|
137
|
-
});
|
|
138
|
-
describe('Working with TestView', () => {
|
|
139
|
-
it('should create an empty document view on add new document button click', async () => {
|
|
140
|
-
await user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel }));
|
|
141
|
-
expect(react_2.screen.getByRole('heading', { name: viewHeader })).toBeInTheDocument();
|
|
142
|
-
expect(react_2.screen.getByPlaceholderText(testViewPlaceholder)).toHaveDisplayValue('');
|
|
143
|
-
});
|
|
144
|
-
it('should show detail view with document data on edit button click', async () => {
|
|
145
|
-
const testDoc = mockData.Test.test1;
|
|
146
|
-
const editButton = react_2.screen.getAllByRole('button', { name: editButtonLabel });
|
|
147
|
-
await user_event_1.default.click(editButton[0]);
|
|
148
|
-
expect(react_2.screen.getByRole('heading', { name: viewHeader })).toBeInTheDocument();
|
|
149
|
-
expect(react_2.screen.getByDisplayValue(testDoc.testProp)).toBeInTheDocument();
|
|
150
|
-
});
|
|
151
|
-
it('should refresh document list on new document added', async () => {
|
|
152
|
-
await user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel }));
|
|
153
|
-
const input = await react_2.screen.findByPlaceholderText(testViewPlaceholder);
|
|
154
|
-
await user_event_1.default.type(input, 'New and fancy Application');
|
|
155
|
-
await user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.addButtonLabel }));
|
|
156
|
-
const docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
|
|
157
|
-
expect(await (0, react_2.within)(docs).findByText('New and fancy Application')).toBeInTheDocument();
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
describe('Working with detail card buttons', () => {
|
|
161
|
-
it('should refresh document list on document edited', async () => {
|
|
162
|
-
const editButton = react_2.screen.getAllByRole('button', { name: editButtonLabel });
|
|
163
|
-
await user_event_1.default.click(editButton[0]);
|
|
164
|
-
const input = await react_2.screen.findByPlaceholderText(testViewPlaceholder);
|
|
165
|
-
await user_event_1.default.click(input);
|
|
166
|
-
await user_event_1.default.paste(' Edited');
|
|
167
|
-
await user_event_1.default.click(react_2.screen.getByRole('button', { name: crudLabels.updateButtonLabel }));
|
|
168
|
-
await (0, react_2.waitFor)(() => expect(notifySpy).toHaveBeenCalled());
|
|
169
|
-
const docs = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption }).nextElementSibling;
|
|
170
|
-
expect(await (0, react_2.within)(docs).findByText('Test prop 1 Edited')).toBeInTheDocument();
|
|
171
|
-
});
|
|
172
|
-
it('should delete document and remove from the list', async () => {
|
|
173
|
-
expect(react_2.screen.queryByText('Test prop 2')).toBeInTheDocument();
|
|
174
|
-
const deleteButton = react_2.screen.getAllByRole('button', { name: deleteButtonLabel });
|
|
175
|
-
await user_event_1.default.click(deleteButton[1]);
|
|
176
|
-
await (0, react_2.waitFor)(() => expect(notifySpy).toHaveBeenCalled());
|
|
177
|
-
await (0, react_2.waitFor)(() => expect(react_2.screen.queryByText('Test prop 2')).not.toBeInTheDocument());
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
describe('Layout behaviour', () => {
|
|
181
|
-
const itemsView = () => react_2.screen.queryByRole('heading', { name: crudLabels.documentsInCollectionCaption });
|
|
182
|
-
const formView = () => react_2.screen.queryByRole('heading', { name: viewHeader });
|
|
183
|
-
const addButton = () => react_2.screen.getByRole('button', { name: crudLabels.addNewDocumentLabel });
|
|
184
|
-
const renderWith = async (layout) => {
|
|
185
|
-
renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: crudLabels, layout: layout },
|
|
186
|
-
react_1.default.createElement(TestView, null),
|
|
187
|
-
(props) => (react_1.default.createElement("div", null,
|
|
188
|
-
react_1.default.createElement("p", null, props.document.testProp),
|
|
189
|
-
react_1.default.createElement("button", { onClick: () => props.onSelect(props.document) }, editButtonLabel),
|
|
190
|
-
react_1.default.createElement("button", { onClick: () => props.onDelete(props.document) }, deleteButtonLabel)))));
|
|
191
|
-
};
|
|
192
|
-
it('should show always collection items when default layout', async () => {
|
|
193
|
-
expect(itemsView()).toBeInTheDocument();
|
|
194
|
-
expect(formView()).not.toBeInTheDocument();
|
|
195
|
-
await user_event_1.default.click(addButton());
|
|
196
|
-
expect(itemsView()).toBeInTheDocument();
|
|
197
|
-
expect(formView()).toBeInTheDocument();
|
|
198
|
-
});
|
|
199
|
-
it('should show always collection items when layout set to itemsAlways', async () => {
|
|
200
|
-
renderWith('itemsAlways');
|
|
201
|
-
expect(itemsView()).toBeInTheDocument();
|
|
202
|
-
expect(formView()).not.toBeInTheDocument();
|
|
203
|
-
await user_event_1.default.click(addButton());
|
|
204
|
-
expect(itemsView()).toBeInTheDocument();
|
|
205
|
-
expect(formView()).toBeInTheDocument();
|
|
206
|
-
});
|
|
207
|
-
it('should show always form view and items view when layout set to formAndItems', () => {
|
|
208
|
-
renderWith('formAndItems');
|
|
209
|
-
expect(itemsView()).toBeInTheDocument();
|
|
210
|
-
expect(formView()).toBeInTheDocument();
|
|
211
|
-
});
|
|
212
|
-
it('should alternate from form view to items view but not both when layout set to formOrItems', async () => {
|
|
213
|
-
renderWith('formOrItems');
|
|
214
|
-
expect(itemsView()).toBeInTheDocument();
|
|
215
|
-
expect(formView()).not.toBeInTheDocument();
|
|
216
|
-
await user_event_1.default.click(addButton());
|
|
217
|
-
expect(itemsView()).not.toBeInTheDocument();
|
|
218
|
-
expect(formView()).toBeInTheDocument();
|
|
219
|
-
});
|
|
220
|
-
});
|
|
221
|
-
describe('Labels', () => {
|
|
222
|
-
it('should show singular when only one existing document', async () => {
|
|
223
|
-
expect(react_2.screen.queryByText('Test prop 2')).toBeInTheDocument();
|
|
224
|
-
const deleteButton = react_2.screen.getAllByRole('button', { name: deleteButtonLabel });
|
|
225
|
-
await user_event_1.default.click(deleteButton[1]);
|
|
226
|
-
await (0, react_2.waitFor)(() => expect(notifySpy).toHaveBeenCalled());
|
|
227
|
-
const heading = await react_2.screen.findByRole('heading', { name: crudLabels.singularDocumentInCollectionCaption });
|
|
228
|
-
expect(heading).toBeInTheDocument();
|
|
229
|
-
});
|
|
230
|
-
it('should show plural when only one existing document but empty singular caption', async () => {
|
|
231
|
-
crudLabels.singularDocumentInCollectionCaption = undefined;
|
|
232
|
-
expect(react_2.screen.queryByText('Test prop 2')).toBeInTheDocument();
|
|
233
|
-
const deleteButton = react_2.screen.getAllByRole('button', { name: deleteButtonLabel });
|
|
234
|
-
user_event_1.default.click(deleteButton[1]);
|
|
235
|
-
await (0, react_2.waitFor)(() => expect(notifySpy).toHaveBeenCalled());
|
|
236
|
-
const heading = react_2.screen.getByRole('heading', { name: crudLabels.documentsInCollectionCaption });
|
|
237
|
-
expect(heading).toBeInTheDocument();
|
|
238
|
-
});
|
|
239
|
-
it('should allow to pass labels as a function', async () => {
|
|
240
|
-
const labels = (controller) => Object.entries(crudLabels)
|
|
241
|
-
.reduce((prev, [key, label]) => {
|
|
242
|
-
prev[key] = `${label} ${controller.document?.className}`;
|
|
243
|
-
return prev;
|
|
244
|
-
}, {});
|
|
245
|
-
renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: labels },
|
|
246
|
-
react_1.default.createElement(TestView, null),
|
|
247
|
-
(props) => (react_1.default.createElement("div", null,
|
|
248
|
-
react_1.default.createElement("p", null, props.document.testProp),
|
|
249
|
-
react_1.default.createElement("button", { onClick: () => props.onSelect(props.document) }, editButtonLabel),
|
|
250
|
-
react_1.default.createElement("button", { onClick: () => props.onDelete(props.document) }, deleteButtonLabel)))));
|
|
251
|
-
const documentClassName = controller.createDocument().className;
|
|
252
|
-
expect(react_2.screen.getByText(`${crudLabels.addNewDocumentLabel} ${documentClassName}`)).toBeInTheDocument();
|
|
253
|
-
expect(react_2.screen.getByText(`${crudLabels.documentsInCollectionCaption} ${documentClassName}`)).toBeInTheDocument();
|
|
254
|
-
});
|
|
255
|
-
it('should not throw on undefined labels', () => {
|
|
256
|
-
expect(() => renderResult.rerender(react_1.default.createElement(crud_panel_1.CrudPanel, { controller: controller, labels: undefined },
|
|
257
|
-
react_1.default.createElement(TestView, null),
|
|
258
|
-
react_1.default.createElement(TestCard, null)))).not.toThrow();
|
|
259
|
-
});
|
|
260
|
-
});
|
|
261
|
-
});
|
|
262
|
-
//# sourceMappingURL=crud-panel.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crud-panel.spec.js","sourceRoot":"","sources":["../src/crud-panel.spec.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const progress_controller_1 = require("./progress-controller");
|
|
4
|
-
describe('Progress Controller', () => {
|
|
5
|
-
let observer;
|
|
6
|
-
let controller;
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
observer = jest.fn();
|
|
9
|
-
controller = new progress_controller_1.ProgressController();
|
|
10
|
-
controller.onProgress(observer);
|
|
11
|
-
});
|
|
12
|
-
describe('Single stage', () => {
|
|
13
|
-
it('should notify on push stage', () => {
|
|
14
|
-
const 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', () => {
|
|
23
|
-
const 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', () => {
|
|
34
|
-
const 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', () => {
|
|
47
|
-
const 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', () => {
|
|
58
|
-
const 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', () => {
|
|
68
|
-
it('should accumulate subsequent pushed stages', () => {
|
|
69
|
-
const stage1 = { name: 'test stage1', progress: 0, total: 1 };
|
|
70
|
-
const 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', () => {
|
|
88
|
-
const stage1 = { name: 'test stage1', progress: 0.1, total: 1 };
|
|
89
|
-
const 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', () => {
|
|
99
|
-
const stage1 = { name: 'test stage1', progress: 0.1, total: 1 };
|
|
100
|
-
const 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', () => {
|
|
112
|
-
const stage1 = { name: 'test stage1', progress: 0.1, total: 1 };
|
|
113
|
-
const 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', () => {
|
|
127
|
-
const stage1 = { name: 'test stage1', progress: 0.1, total: 1 };
|
|
128
|
-
const 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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress-controller.spec.js","sourceRoot":"","sources":["../src/progress-controller.spec.ts"],"names":[],"mappings":"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"}
|