@deltablot/malle 0.1.1 → 0.4.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 +14 -12
- package/dist/main.js +28 -3
- package/dist/main.js.map +1 -1
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
# malle
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="https://i.imgur.com/nvWVtu2.png" />
|
|
5
|
+
</p>
|
|
4
6
|
|
|
5
|
-
# WARNING: ALPHA VERSION!!
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
Edit in place library with **no dependencies** and small footprint.
|
|
9
|
+
|
|
10
|
+

|
|
11
|
+
[](https://badge.fury.io/js/@deltablot%2Fmalle)
|
|
12
|
+
[](https://github.com/deltablot/malle/blob/master/LICENSE)
|
|
8
13
|
|
|
9
14
|
## Description
|
|
10
15
|
|
|
@@ -21,18 +26,17 @@ The user provided function will typically POST to an endpoint to get some JSON b
|
|
|
21
26
|
## Installation
|
|
22
27
|
|
|
23
28
|
~~~bash
|
|
24
|
-
npm i malle
|
|
29
|
+
npm i @deltablot/malle
|
|
25
30
|
# or
|
|
26
|
-
yarn add malle
|
|
31
|
+
yarn add @deltablot/malle
|
|
27
32
|
~~~
|
|
28
33
|
|
|
29
34
|
## Quickstart
|
|
30
35
|
|
|
31
|
-
|
|
32
|
-
import { Malle } from 'malle';
|
|
36
|
+
This is a minimal example:
|
|
33
37
|
|
|
34
|
-
|
|
35
|
-
};
|
|
38
|
+
~~~javascript
|
|
39
|
+
import { Malle } from '@deltablot/malle';
|
|
36
40
|
|
|
37
41
|
// now create the malle
|
|
38
42
|
const malle = new Malle({
|
|
@@ -49,9 +53,7 @@ const malle = new Malle({
|
|
|
49
53
|
body: JSON.stringify({ 'name': value, 'id': original.dataset.id }),
|
|
50
54
|
});
|
|
51
55
|
},
|
|
52
|
-
});
|
|
53
|
-
// and listen for events
|
|
54
|
-
malle.listen();
|
|
56
|
+
}).listen(); // directly start listening after object creation
|
|
55
57
|
~~~
|
|
56
58
|
|
|
57
59
|
In this example, when a user clicks on an element with `data-malleable='true'`, the function in the `fun` option will be called. The element will be replaced by a `form` containing the `input` and optionally action buttons (Submit, Cancel).
|
package/dist/main.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export var InputType;
|
|
8
8
|
(function (InputType) {
|
|
9
|
+
InputType["Datetime"] = "datetime-local";
|
|
9
10
|
InputType["Email"] = "email";
|
|
10
11
|
InputType["Number"] = "number";
|
|
11
12
|
InputType["Select"] = "select";
|
|
@@ -48,6 +49,9 @@ export class Malle {
|
|
|
48
49
|
listenNow: false,
|
|
49
50
|
listenOn: '[data-malleable="true"]',
|
|
50
51
|
onBlur: Action.Submit,
|
|
52
|
+
onEdit: undefined,
|
|
53
|
+
onEnter: Action.Submit,
|
|
54
|
+
placeholder: '',
|
|
51
55
|
selectOptions: [],
|
|
52
56
|
submit: '',
|
|
53
57
|
submitClasses: [],
|
|
@@ -65,6 +69,7 @@ export class Malle {
|
|
|
65
69
|
}
|
|
66
70
|
});
|
|
67
71
|
this.debug(`malle now listening for ${this.opt.event} events on elements with selector: ${this.opt.listenOn}`);
|
|
72
|
+
return this;
|
|
68
73
|
}
|
|
69
74
|
debug(msg) {
|
|
70
75
|
if (this.opt.debug) {
|
|
@@ -72,6 +77,7 @@ export class Malle {
|
|
|
72
77
|
}
|
|
73
78
|
}
|
|
74
79
|
submit(event) {
|
|
80
|
+
event.preventDefault();
|
|
75
81
|
if (!this.form.reportValidity()) {
|
|
76
82
|
return false;
|
|
77
83
|
}
|
|
@@ -81,9 +87,11 @@ export class Malle {
|
|
|
81
87
|
return true;
|
|
82
88
|
}
|
|
83
89
|
cancel(event) {
|
|
90
|
+
event.preventDefault();
|
|
84
91
|
this.debug(event);
|
|
85
92
|
this.debug('reverting to original element');
|
|
86
93
|
this.form.replaceWith(this.original);
|
|
94
|
+
return true;
|
|
87
95
|
}
|
|
88
96
|
handleBlur(event) {
|
|
89
97
|
let blurAction = this.opt.onBlur;
|
|
@@ -96,10 +104,18 @@ export class Malle {
|
|
|
96
104
|
this[blurAction](event);
|
|
97
105
|
}
|
|
98
106
|
handleKeypress(event) {
|
|
99
|
-
if (event.key
|
|
100
|
-
return
|
|
107
|
+
if (event.key !== 'Enter' || this.opt.inputType === InputType.Textarea) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
let enterAction = this.opt.onEnter;
|
|
111
|
+
if (this.original.dataset.maEnter) {
|
|
112
|
+
enterAction = this.original.dataset.maEnter;
|
|
113
|
+
}
|
|
114
|
+
if (enterAction === Action.Ignore) {
|
|
115
|
+
event.preventDefault();
|
|
116
|
+
return;
|
|
101
117
|
}
|
|
102
|
-
|
|
118
|
+
this[enterAction](event);
|
|
103
119
|
}
|
|
104
120
|
getInput() {
|
|
105
121
|
let inputElement = 'input';
|
|
@@ -120,6 +136,12 @@ export class Malle {
|
|
|
120
136
|
input.classList.add(cl);
|
|
121
137
|
});
|
|
122
138
|
input.value = this.original.innerText;
|
|
139
|
+
if (this.opt.placeholder) {
|
|
140
|
+
input.placeholder = this.opt.placeholder;
|
|
141
|
+
}
|
|
142
|
+
if (this.original.dataset.maPlaceholder) {
|
|
143
|
+
input.placeholder = this.original.dataset.maPlaceholder;
|
|
144
|
+
}
|
|
123
145
|
if (this.opt.inputType === InputType.Select) {
|
|
124
146
|
this.opt.selectOptions.forEach(o => {
|
|
125
147
|
var _a;
|
|
@@ -170,6 +192,9 @@ export class Malle {
|
|
|
170
192
|
}
|
|
171
193
|
this.input = input;
|
|
172
194
|
this.form = form;
|
|
195
|
+
if (typeof this.opt.onEdit === 'function') {
|
|
196
|
+
this.opt.onEdit(this.original, event, this.input);
|
|
197
|
+
}
|
|
173
198
|
}
|
|
174
199
|
}
|
|
175
200
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deltablot/malle",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Make text elements malleable",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"repository": "https://github.com/deltablot/malle",
|
|
@@ -14,10 +14,14 @@
|
|
|
14
14
|
"scripts": {
|
|
15
15
|
"build": "tsc",
|
|
16
16
|
"lint": "eslint src",
|
|
17
|
-
"
|
|
17
|
+
"dev-server": "docker run --rm -it --name malle-dev -p 4813:80 -v $(pwd):/usr/share/nginx/html:ro -d nginx:stable-alpine",
|
|
18
|
+
"pre-commit": "npm run lint && npm run test",
|
|
19
|
+
"stop-dev": "docker stop malle-dev",
|
|
20
|
+
"test": "jest",
|
|
18
21
|
"watch": "tsc --watch"
|
|
19
22
|
},
|
|
20
23
|
"devDependencies": {
|
|
24
|
+
"@types/jest": "^27.4.1",
|
|
21
25
|
"@typescript-eslint/eslint-plugin": "^5.5.0",
|
|
22
26
|
"@typescript-eslint/parser": "^5.5.0",
|
|
23
27
|
"eslint": "^8.3.0",
|
|
@@ -25,6 +29,8 @@
|
|
|
25
29
|
"eslint-plugin-import": "^2.25.3",
|
|
26
30
|
"eslint-plugin-node": "^11.1.0",
|
|
27
31
|
"eslint-plugin-promise": "^5.2.0",
|
|
32
|
+
"jest": "^27.5.1",
|
|
33
|
+
"ts-jest": "^27.1.3",
|
|
28
34
|
"typescript": "^4.0.2"
|
|
29
35
|
}
|
|
30
36
|
}
|