@deltablot/malle 0.3.0 → 0.6.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 +23 -1
- 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";
|
|
@@ -51,10 +52,12 @@ export class Malle {
|
|
|
51
52
|
onEdit: undefined,
|
|
52
53
|
onEnter: Action.Submit,
|
|
53
54
|
placeholder: '',
|
|
55
|
+
requireDiff: true,
|
|
54
56
|
selectOptions: [],
|
|
55
57
|
submit: '',
|
|
56
58
|
submitClasses: [],
|
|
57
59
|
tooltip: '',
|
|
60
|
+
inputValue: '',
|
|
58
61
|
};
|
|
59
62
|
return Object.assign(defaultOptions, options);
|
|
60
63
|
}
|
|
@@ -80,6 +83,15 @@ export class Malle {
|
|
|
80
83
|
if (!this.form.reportValidity()) {
|
|
81
84
|
return false;
|
|
82
85
|
}
|
|
86
|
+
if (this.opt.requireDiff) {
|
|
87
|
+
const newValue = this.opt.inputType === InputType.Select ?
|
|
88
|
+
this.input.options[this.input.selectedIndex].text : this.input.value;
|
|
89
|
+
if (this.original.innerText === newValue) {
|
|
90
|
+
this.debug('original value is same as new value, reverting without calling fun');
|
|
91
|
+
this.form.replaceWith(this.original);
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
83
95
|
const value = this.opt.fun.call(this, this.input.value, this.original, event, this.input);
|
|
84
96
|
this.original.innerText = this.opt.inputType === InputType.Select ? this.input.options[this.input.selectedIndex].text : value;
|
|
85
97
|
this.form.replaceWith(this.original);
|
|
@@ -134,7 +146,17 @@ export class Malle {
|
|
|
134
146
|
this.opt.inputClasses.forEach(cl => {
|
|
135
147
|
input.classList.add(cl);
|
|
136
148
|
});
|
|
137
|
-
|
|
149
|
+
let value;
|
|
150
|
+
if (this.opt.inputValue) {
|
|
151
|
+
value = this.opt.inputValue;
|
|
152
|
+
}
|
|
153
|
+
if (this.original.dataset.maInputValue) {
|
|
154
|
+
value = this.original.dataset.maInputValue;
|
|
155
|
+
}
|
|
156
|
+
if (!value) {
|
|
157
|
+
value = this.original.innerText;
|
|
158
|
+
}
|
|
159
|
+
input.value = value;
|
|
138
160
|
if (this.opt.placeholder) {
|
|
139
161
|
input.placeholder = this.opt.placeholder;
|
|
140
162
|
}
|
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.6.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
|
}
|