diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index b65dba6..a487760 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -599,9 +599,8 @@ "dev": true }, "@types/mithril": { - "version": "1.1.16", - "resolved": "https://registry.npmjs.org/@types/mithril/-/mithril-1.1.16.tgz", - "integrity": "sha512-+HlRvSpKwXP8RXh1hrIcgSHQ/Fh+5O9nYfG7fgNN7PGr2K03G+hLoiA+HXzmUJCsQfPEuNiBQ+TwRl6n7kerSw==", + "version": "github:MithrilJS/mithril.d.ts#fa4408680aec957d87140a5c4f25bd5902b58136", + "from": "github:MithrilJS/mithril.d.ts#next", "dev": true }, "@types/mongodb": { @@ -5775,9 +5774,9 @@ } }, "mithril": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/mithril/-/mithril-1.1.6.tgz", - "integrity": "sha512-fWcUrQTCqu8M916rj1MFGlHaPh65rznPu6U/N2U9g81H89klDCIptSK5bnkNkC+jyi3sJIXjyGhSQjUnR8jzZA==", + "version": "2.0.0-rc.8", + "resolved": "https://registry.npmjs.org/mithril/-/mithril-2.0.0-rc.8.tgz", + "integrity": "sha512-7XvrXBW/b/NfSAP6VdMW+g9qq6tc2Pq+DPesVXsbo25W3EBfHFFDHIMk3mQV8UcBpA2qV4xXYplel4JClB7BXA==", "dev": true }, "mixin-deep": { diff --git a/package.json b/package.json index a0f205b..167314d 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@types/koa-router": "^7.0.40", "@types/koa-static": "^4.0.1", "@types/libxmljs": "^0.18.3", - "@types/mithril": "^1.1.16", + "@types/mithril": "github:MithrilJS/mithril.d.ts#next", "@types/mongodb": "^3.1.28", "@types/parsimmon": "^1.10.0", "@types/seedrandom": "^2.4.28", @@ -54,7 +54,7 @@ "eslint": "^5.16.0", "eslint-config-prettier": "^4.3.0", "esm": "^3.2.25", - "mithril": "^1.1.6", + "mithril": "^2.0.0-rc.8", "postcss": "^7.0.16", "postcss-cssnext": "^3.1.0", "postcss-import": "^12.0.1", diff --git a/ui/change-password-component.ts b/ui/change-password-component.ts index 3a080a1..4f58a0c 100644 --- a/ui/change-password-component.ts +++ b/ui/change-password-component.ts @@ -40,7 +40,9 @@ const component: ClosureComponent = (): Component => { type: "text", value: vnode.state["username"], disabled: !!username, - oninput: m.withAttr("value", v => (vnode.state["username"] = v)), + oninput: e => { + vnode.state["username"] = e.target.value; + }, oncreate: _vnode => { (_vnode.dom as HTMLSelectElement).focus(); } @@ -64,7 +66,9 @@ const component: ClosureComponent = (): Component => { name: f, type: "password", value: vnode.state[f], - oninput: m.withAttr("value", v => (vnode.state[f] = v)) + oninput: e => { + vnode.state[f] = e.target.value; + } }) ) ); diff --git a/ui/files-page.ts b/ui/files-page.ts index 951f115..a11c647 100644 --- a/ui/files-page.ts +++ b/ui/files-page.ts @@ -104,13 +104,14 @@ function putActionHandler(action, _object): Promise { object ); - m.request({ - method: "PUT", - headers: headers, - url: `/api/files/${encodeURIComponent(id)}`, - serialize: body => body, // Identity function to prevent JSON.parse on blob data - data: file - }) + store + .xhrRequest({ + method: "PUT", + headers: headers, + url: `/api/files/${encodeURIComponent(id)}`, + serialize: body => body, // Identity function to prevent JSON.parse on blob data + body: file + }) .then(() => { notifications.push( "success", diff --git a/ui/login-page.ts b/ui/login-page.ts index 8f52c38..b34e127 100644 --- a/ui/login-page.ts +++ b/ui/login-page.ts @@ -48,7 +48,9 @@ export const component: ClosureComponent = (): Component => { oncreate: vnode2 => { (vnode2.dom as HTMLInputElement).focus(); }, - oninput: m.withAttr("value", v => (vnode.state["username"] = v)) + oninput: e => { + vnode.state["username"] = e.target.value; + } }) ), m( @@ -58,7 +60,9 @@ export const component: ClosureComponent = (): Component => { name: "password", type: "password", value: vnode.state["password"], - oninput: m.withAttr("value", v => (vnode.state["password"] = v)) + oninput: e => { + vnode.state["password"] = e.target.value; + } }) ), m( diff --git a/ui/store.ts b/ui/store.ts index 92bff74..f040a03 100644 --- a/ui/store.ts +++ b/ui/store.ts @@ -555,7 +555,7 @@ export function postTasks(deviceId, tasks): Promise { return xhrRequest({ method: "POST", url: `/api/devices/${encodeURIComponent(deviceId)}/tasks`, - data: tasks, + body: tasks, extract: xhr => { if (xhr.status !== 200) throw new Error(xhr.response); const connectionRequestStatus = xhr.getResponseHeader( @@ -576,7 +576,7 @@ export function updateTags(deviceId, tags): Promise { return xhrRequest({ method: "POST", url: `/api/devices/${encodeURIComponent(deviceId)}/tags`, - data: tags + body: tags }); } @@ -593,7 +593,7 @@ export function putResource(resourceType, id, object): Promise { return xhrRequest({ method: "PUT", url: `/api/${resourceType}/${encodeURIComponent(id)}`, - data: object + body: object }); } @@ -631,13 +631,13 @@ export function changePassword( newPassword, authPassword? ): Promise { - const data = { newPassword }; - if (authPassword) data["authPassword"] = authPassword; + const body = { newPassword }; + if (authPassword) body["authPassword"] = authPassword; return xhrRequest({ method: "PUT", url: `/api/users/${username}/password`, background: true, - data + body }); } @@ -646,7 +646,7 @@ export function logIn(username, password): Promise { method: "POST", url: "/login", background: true, - data: { username, password } + body: { username, password } }); }