From 6a4182085b98265fc3e0ae38e6e81a02b58852f2 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 16 Aug 2021 10:04:42 -0500 Subject: [PATCH 001/179] Switch enketo-xslt to enketo-transformer --- api/package-lock.json | 576 ++++++++++++++++++++++++++++- api/package.json | 2 +- api/src/services/generate-xform.js | 2 +- api/src/xsl/openrosa2html5form.xsl | 2 +- 4 files changed, 573 insertions(+), 9 deletions(-) diff --git a/api/package-lock.json b/api/package-lock.json index 629cb089d43..88e73dbf340 100644 --- a/api/package-lock.json +++ b/api/package-lock.json @@ -25,6 +25,11 @@ "unified": "^6.1.6" } }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, "abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -62,6 +67,25 @@ "emoji-regex": "~6.1.0" } }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, "argsarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/argsarray/-/argsarray-0.0.1.tgz", @@ -111,6 +135,11 @@ "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", "dev": true }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, "basic-auth": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", @@ -144,6 +173,14 @@ "eurodigit": "^3.1.1" } }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", @@ -172,6 +209,15 @@ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.9.0.tgz", "integrity": "sha512-2ld76tuLBNFekRgmJfT2+3j5MIrP6bFict8WAIT3beq+srz1gcKNAdNKMqHqauQt63NmAa88HfP1/Ypa9Er3HA==" }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -215,6 +261,11 @@ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", "dev": true }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", @@ -225,6 +276,11 @@ "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, "collapse-white-space": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", @@ -318,6 +374,11 @@ } } }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, "concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", @@ -329,6 +390,11 @@ "typedarray": "^0.0.6" } }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -383,11 +449,21 @@ "ms": "2.0.0" } }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -398,6 +474,11 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + }, "diagnostics": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz", @@ -514,10 +595,71 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, - "enketo-xslt": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/enketo-xslt/-/enketo-xslt-1.15.2.tgz", - "integrity": "sha512-wXNkBkUdVUEPTHJfYTgxlkG5VgHgqJzrsFFpjTyV6pMAfY8y5OMRY9+3DjBkyv8mx5j8Hr/FOcNBOyckcHhzPw==" + "enketo-transformer": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/enketo-transformer/-/enketo-transformer-1.43.0.tgz", + "integrity": "sha512-9iel+sgSIA13GQ1n/xQLJiXjRSBWEP4yWuT9u9Q60mBz4WRAFL3BVk+oAdB5Sbytc2D8p4cgL2xhQUwKulPWOQ==", + "requires": { + "body-parser": "1.19.x", + "express": "^5.0.0-alpha.8", + "language-tags": "1.0.5", + "libxslt": "0.9.0", + "request": "^2.88.2", + "string-direction": "0.1.x" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "express": { + "version": "5.0.0-alpha.8", + "resolved": "https://registry.npmjs.org/express/-/express-5.0.0-alpha.8.tgz", + "integrity": "sha512-PL8wTLgaNOiq7GpXt187/yWHkrNSfbr4H0yy+V0fpqJt5wpUzBi9DprAkwGKBFOqWHylJ8EyPy34V5u9YArfng==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "2.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "3.1.0", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-is-absolute": "1.0.1", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "router": "2.0.0-alpha.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + } + } }, "entities": { "version": "1.1.2", @@ -649,6 +791,11 @@ "tough-cookie": "^2.3.3 || ^3.0.1 || ^4.0.0" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -704,6 +851,34 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -712,6 +887,19 @@ "assert-plus": "^1.0.0" } }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "google-libphonenumber": { "version": "3.2.19", "resolved": "https://registry.npmjs.org/google-libphonenumber/-/google-libphonenumber-3.2.19.tgz", @@ -736,6 +924,11 @@ "har-schema": "^2.0.0" } }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, "helmet": { "version": "3.22.0", "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.22.0.tgz", @@ -865,16 +1058,38 @@ "resolved": "https://registry.npmjs.org/ienoopen/-/ienoopen-1.1.0.tgz", "integrity": "sha512-MFs36e/ca6ohEKtinTJ5VvAJ6oDRAYFdYXweUnGY9L9vcoqFOU4n2ZhmJ0C4z/cwGZ3YIQRSB3XZ1+ghZkY5NQ==" }, + "ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "requires": { + "minimatch": "^3.0.4" + } + }, "immediate": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -913,6 +1128,14 @@ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", "dev": true }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, "is-hexadecimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", @@ -996,6 +1219,29 @@ "colornames": "^1.1.1" } }, + "language-subtag-registry": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==" + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "libxslt": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/libxslt/-/libxslt-0.9.0.tgz", + "integrity": "sha512-KEhhIIBefx6CfCo5mxu5iOtXWHUCXVd7NZumwdf21thqaraBkSoyQ/KUEIAtXdQrq/bWJrc/YKN4KQFtzDB9wg==", + "requires": { + "bindings": "^1.3.0", + "nan": "~2.14.0", + "node1-libxmljsmt": "1.0.0" + } + }, "locale": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/locale/-/locale-0.1.0.tgz", @@ -1072,11 +1318,50 @@ "mime-db": "1.47.0" } }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } }, "moment": { "version": "2.29.1", @@ -1112,6 +1397,36 @@ "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" + }, + "needle": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.8.0.tgz", + "integrity": "sha512-ZTq6WYkN/3782H1393me3utVYdq2XyqNUFBsprEE3VMAT0+hP/cItpnITpqsY6ep2yeFE4Tqtqwc74VqUlUYtw==", + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -1135,11 +1450,98 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, + "node-pre-gyp": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.9.1.tgz", + "integrity": "sha1-8RwHUW3ZL4cZnbx+GDjqt81WyeA=", + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "node1-libxmljsmt": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node1-libxmljsmt/-/node1-libxmljsmt-1.0.0.tgz", + "integrity": "sha512-61//60Isrmk6da073DQeCEzehBln/IASrUS4CcRlxTETQaSrflEY5qAWDbzdR6uOJQ48xj+7YTJgrDTnxAO3SQ==", + "requires": { + "bindings": "^1.3.0", + "nan": "~2.14.0", + "node-pre-gyp": "^0.9.1" + } + }, + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" + }, + "npm-packlist": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, "object-path": { "version": "0.11.5", "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.5.tgz", @@ -1158,6 +1560,14 @@ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, "one-time": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", @@ -1192,6 +1602,25 @@ } } }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, "parse-entities": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", @@ -1216,6 +1645,11 @@ "resolved": "https://registry.npmjs.org/pass-stream/-/pass-stream-1.0.0.tgz", "integrity": "sha1-coUK1rIP96JySngPUOJQYgC2HoI=" }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -1475,6 +1909,17 @@ "unpipe": "1.0.0" } }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -1604,6 +2049,48 @@ "through": "~2.3.4" } }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "router": { + "version": "2.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/router/-/router-2.0.0-alpha.1.tgz", + "integrity": "sha512-fz/T/qLkJM6RTtbqGqA1+uZ88ejqJoPyKeJAeXPYjebA7HzV/UyflH4gXWqW/Y6SERnp4kDwNARjqy6se3PcOw==", + "requires": { + "array-flatten": "2.1.1", + "debug": "3.1.0", + "methods": "~1.1.2", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "setprototypeof": "1.1.0", + "utils-merge": "1.0.1" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -1665,11 +2152,21 @@ "send": "0.17.1" } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, "simple-password-tester": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/simple-password-tester/-/simple-password-tester-1.0.0.tgz", @@ -1725,6 +2222,21 @@ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" }, + "string-direction": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/string-direction/-/string-direction-0.1.2.tgz", + "integrity": "sha1-PYRT5ydKLkShQrPchEnftk2a3jo=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -1733,6 +2245,19 @@ "safe-buffer": "~5.1.0" } }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, "structured-source": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-3.0.2.tgz", @@ -1742,6 +2267,32 @@ "boundary": "^1.0.1" } }, + "tar": { + "version": "4.4.17", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.17.tgz", + "integrity": "sha512-q7OwXq6NTdcYIa+k58nEMV3j1euhDhGCs/VRw9ymx/PbH0jtIM2+VTgDE/BW3rbLkrBUXs5fzEKgic5oUciu7g==", + "requires": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, "text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", @@ -1988,6 +2539,14 @@ "unist-util-stringify-position": "^1.1.1" } }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, "winston": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz", @@ -2033,6 +2592,11 @@ "triple-beam": "^1.2.0" } }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, "x-is-string": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", diff --git a/api/package.json b/api/package.json index 5838a8d0d73..0c98d66b343 100644 --- a/api/package.json +++ b/api/package.json @@ -21,7 +21,7 @@ "body-parser": "^1.19.0", "buffer-shims": "^1.0.0", "compression": "^1.7.4", - "enketo-xslt": "^1.15.2", + "enketo-transformer": "^1.43.0", "express": "^4.17.1", "google-libphonenumber": "^3.2.19", "gsm": "^0.1.4", diff --git a/api/src/services/generate-xform.js b/api/src/services/generate-xform.js index 1b5d9aa5bbc..99603340c64 100644 --- a/api/src/services/generate-xform.js +++ b/api/src/services/generate-xform.js @@ -15,7 +15,7 @@ const JAVAROSA_SRC = / src="jr:\/\//gi; const MEDIA_SRC_ATTR = ' data-media-src="'; const FORM_STYLESHEET = path.join(__dirname, '../xsl/openrosa2html5form.xsl'); -const MODEL_STYLESHEET = path.join(__dirname, '../../node_modules/enketo-xslt/xsl/openrosa2xmlmodel.xsl'); +const MODEL_STYLESHEET = path.join(__dirname, '../../node_modules/enketo-transformer/src/xsl/openrosa2xmlmodel.xsl'); const transform = (formXml, stylesheet) => { return new Promise((resolve, reject) => { diff --git a/api/src/xsl/openrosa2html5form.xsl b/api/src/xsl/openrosa2html5form.xsl index 576320b1f41..0cb6a197d53 100644 --- a/api/src/xsl/openrosa2html5form.xsl +++ b/api/src/xsl/openrosa2html5form.xsl @@ -4,7 +4,7 @@ This stylesheet extends the default one to allow for additional input types. --> - + From 0f04c84b6b30bbe2c7579ce62ec8b66159355b34 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 16 Aug 2021 11:27:56 -0500 Subject: [PATCH 002/179] Update enketo-core and jquery versions --- webapp/package-lock.json | 118 +++++++++++++++++++++++---------------- webapp/package.json | 6 +- 2 files changed, 73 insertions(+), 51 deletions(-) diff --git a/webapp/package-lock.json b/webapp/package-lock.json index 5c0fbee0ed0..f91c3cf9ae3 100644 --- a/webapp/package-lock.json +++ b/webapp/package-lock.json @@ -125,9 +125,9 @@ "integrity": "sha512-yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==" }, "bootstrap-datepicker": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/bootstrap-datepicker/-/bootstrap-datepicker-1.7.1.tgz", - "integrity": "sha1-Tuf680iI2+x4NPv52+fEJ34B3a8=", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/bootstrap-datepicker/-/bootstrap-datepicker-1.9.0.tgz", + "integrity": "sha512-9rYYbaVOheGYxjOr/+bJCmRPihfy+LkLSg4fIFMT9Od8WwWB/MB50w0JO1eBgKUMbb7PFHQD5uAfI3ArAxZRXA==", "requires": { "jquery": ">=1.7.1 <4.0.0" } @@ -141,14 +141,6 @@ "moment": "^2.9.0" } }, - "bootstrap-slider-basic": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/bootstrap-slider-basic/-/bootstrap-slider-basic-3.3.0.tgz", - "integrity": "sha1-SZo9I6dgGPe9jGFufqRKo9M4+Ek=", - "requires": { - "jquery": "*" - } - }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -158,26 +150,30 @@ } }, "enketo-core": { - "version": "4.41.6", - "resolved": "https://registry.npmjs.org/enketo-core/-/enketo-core-4.41.6.tgz", - "integrity": "sha512-Acw0iJEIONSW5vH2RHy2203yK/UXDjH849vBWSv2Y0ciZp8EdSOcSSM6+iyBhKLZiT/04Z+cfnw/hiTTbRpZCw==", + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/enketo-core/-/enketo-core-5.18.1.tgz", + "integrity": "sha512-hk3l+EVghy1KTKUr01C5x0Ps3cr8nQMPxwx65E1qpOLuH3mY8TtpiWIy1XXJo4fkX4Wc8dLek8o9YYsVcNripg==", "requires": { - "bootstrap-datepicker": "1.7.x", - "bootstrap-slider-basic": "3.3.x", - "enketo-xpathjs": "1.6.1", - "jquery": "3.2.x", - "jquery-touchswipe": "^1.6.18", - "leaflet": "0.7.x", - "lie": "3.1.x", - "mergexml": "1.1.2", + "bootstrap-datepicker": "1.9.x", + "html5sortable": "^0.13.2", + "jquery": "^3.6.0", + "jquery-touchswipe": "^1.6.19", + "leaflet": "^1.7.1", + "leaflet-draw": "github:enketo/Leaflet.draw#ff73078", + "leaflet.gridlayer.googlemutant": "^0.13.4", + "mergexml": "1.2.1", + "node-forge": "^0.10.0", + "openrosa-xpath-evaluator": "^2.0.7", "signature_pad": "2.3.x" + }, + "dependencies": { + "openrosa-xpath-evaluator": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/openrosa-xpath-evaluator/-/openrosa-xpath-evaluator-2.0.7.tgz", + "integrity": "sha512-Z8qmfjEoPHTMtxHILSdgL0KACruh5G/jLO7KjKN9pZd2Any7eFqrQpvFecr68/ZE/Qy1ydbrYhBGg+i27h0OGw==" + } } }, - "enketo-xpathjs": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/enketo-xpathjs/-/enketo-xpathjs-1.6.1.tgz", - "integrity": "sha1-GOJ3cm6A+kHmsf69zUXlieQWFsc=" - }, "eurodigit": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/eurodigit/-/eurodigit-3.1.3.tgz", @@ -188,6 +184,11 @@ "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" }, + "formidable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz", + "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==" + }, "google-libphonenumber": { "version": "3.2.19", "resolved": "https://registry.npmjs.org/google-libphonenumber/-/google-libphonenumber-3.2.19.tgz", @@ -198,10 +199,10 @@ "resolved": "https://registry.npmjs.org/gsm/-/gsm-0.1.4.tgz", "integrity": "sha1-+CdiTYokdi+lC8Sb/KgsIAbR6wo=" }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + "html5sortable": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/html5sortable/-/html5sortable-0.13.3.tgz", + "integrity": "sha512-rmglSaNttGo4LY33PFW51mgeD1ItvHyfS9cRCD+Cj9Msj/xFaG/sZjLGVtPbtxYJmhY/c8jtw6G07yWhC2ifEw==" }, "inherits": { "version": "2.0.4", @@ -209,9 +210,9 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "jquery": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz", - "integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=" + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" }, "jquery-mousewheel": { "version": "3.1.13", @@ -224,17 +225,18 @@ "integrity": "sha512-b0BGje9reNRU3u6ksAK9QqnX7yBRgLNe/wYG7DOfyDlhBlYjayIT8bSOHmcuvptIDW/ubM9CTW/mnZf9Rohuow==" }, "leaflet": { - "version": "0.7.7", - "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-0.7.7.tgz", - "integrity": "sha1-HjUrpU5j0HZFH6NjyQCJDLLPde4=" - }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "requires": { - "immediate": "~3.0.5" - } + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.7.1.tgz", + "integrity": "sha512-/xwPEBidtg69Q3HlqPdU3DnrXQOvQU/CCHA1tcDQVzOwm91YMYaILjNp7L4Eaw5Z4sOYdbBz6koWyibppd8Zqw==" + }, + "leaflet-draw": { + "version": "github:enketo/Leaflet.draw#ff730785db7fcccbf2485ffcf4dffe1238a7c617", + "from": "github:enketo/Leaflet.draw#ff73078" + }, + "leaflet.gridlayer.googlemutant": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/leaflet.gridlayer.googlemutant/-/leaflet.gridlayer.googlemutant-0.13.4.tgz", + "integrity": "sha512-oC6xUSFJ9HP4WIupXakgiYckdBHuHQeSaxTXsVlcvcpfsuYoJ/HFIrz1bmK4Qr/qKO4fY1MDM6AoewU7Bph8ZQ==" }, "lodash": { "version": "4.17.21", @@ -255,9 +257,14 @@ } }, "mergexml": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/mergexml/-/mergexml-1.1.2.tgz", - "integrity": "sha1-2ocDqzl03lB7Pbrq4xWAIql/vjA=" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/mergexml/-/mergexml-1.2.1.tgz", + "integrity": "sha512-IOW62CoY+QfpzsVrDhNG8hKAZnIRhmMldKfbl6/VAUecW6tUNWWtkWroCW4wSXaZp46GRwtUmZjGWCeK4FTS2w==", + "requires": { + "formidable": "^1.2.1", + "xmldom": "^0.1.27", + "xpath": "0.0.27" + } }, "messageformat": { "version": "2.3.0", @@ -318,6 +325,11 @@ "tslib": "^2.0.0" } }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + }, "object-path": { "version": "0.11.5", "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.5.tgz", @@ -430,6 +442,16 @@ "resolved": "https://registry.npmjs.org/vuvuzela/-/vuvuzela-1.0.3.tgz", "integrity": "sha1-O+FF5YJxxzylUnndhR8SpoIRSws=" }, + "xmldom": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", + "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==" + }, + "xpath": { + "version": "0.0.27", + "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.27.tgz", + "integrity": "sha512-fg03WRxtkCV6ohClePNAECYsmpKKTv5L8y/X3Dn1hQrec3POx2jHZ/0P2qQ6HvsrU1BmeqXcof3NGGueG6LxwQ==" + }, "zone.js": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", diff --git a/webapp/package.json b/webapp/package.json index 41264c1afc9..7109f586c94 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -32,11 +32,11 @@ "bikram-sambat-bootstrap": "^1.5.0", "bootstrap": "^3.4.1", "bootstrap-daterangepicker": "^2.1.30", - "enketo-core": "4.41.6", + "enketo-core": "^5.18.1", "font-awesome": "^4.7.0", "google-libphonenumber": "^3.2.19", "gsm": "^0.1.4", - "jquery": "3.2.x", + "jquery": "^3.6.0", "lodash": "^4.17.21", "lodash-es": "^4.17.21", "messageformat": "^2.3.0", @@ -60,7 +60,7 @@ "zone.js": "^0.11.4" }, "resolutions": { - "**/jquery": "3.2.x", + "**/jquery": "^3.6.0", "**/pouchdb-browser": "^7.2.2", "**/moment": "^2.26.2" }, From 74d0c1ba079982ecaaecf293cebf543d84f777c3 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 13 Aug 2021 14:40:14 -0500 Subject: [PATCH 003/179] Fix Enketo css/js hacks to work with new version --- Gruntfile.js | 9 --------- webapp/src/css/enketo/_widgets.scss | 2 +- webapp/src/css/enketo/enketo.scss | 1 - webapp/src/js/enketo/main.js | 2 +- webapp/src/js/enketo/widgets/phone-widget.js | 16 +++++++++------- 5 files changed, 11 insertions(+), 19 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 2c63f6868ac..1839408500a 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -290,7 +290,6 @@ module.exports = function(grunt) { cwd: 'webapp/node_modules', src: [ 'bootstrap-daterangepicker/**', - 'enketo-core/**', 'font-awesome/**', 'messageformat/**', 'moment/**' @@ -483,7 +482,6 @@ module.exports = function(grunt) { cmd: function() { const modulesToPatch = [ 'bootstrap-daterangepicker', - 'enketo-core', 'font-awesome', 'moment', 'pouchdb-browser', @@ -557,13 +555,6 @@ module.exports = function(grunt) { // patch moment.js to use western arabic (european) numerals in Hindi 'patch webapp/node_modules/moment/locale/hi.js < webapp/patches/moment-hindi-use-euro-numerals.patch', - // patch enketo to always mark the /inputs group as relevant - 'patch webapp/node_modules/enketo-core/src/js/Form.js < webapp/patches/enketo-inputs-always-relevant.patch', - - // patch enketo so forms with no active pages are considered valid - // https://github.com/medic/medic/issues/5484 - 'patch webapp/node_modules/enketo-core/src/js/page.js < webapp/patches/enketo-handle-no-active-pages.patch', - // patch messageformat to add a default plural function for languages not yet supported by make-plural #5705 'patch webapp/node_modules/messageformat/lib/plurals.js < webapp/patches/messageformat-default-plurals.patch', diff --git a/webapp/src/css/enketo/_widgets.scss b/webapp/src/css/enketo/_widgets.scss index f4ab25a43eb..4da8818465f 100644 --- a/webapp/src/css/enketo/_widgets.scss +++ b/webapp/src/css/enketo/_widgets.scss @@ -6,4 +6,4 @@ @import "../../../node_modules/enketo-core/src/widget/time/timepicker-extended.scss"; @import "../../../node_modules/enketo-core/src/widget/datetime/datetimepicker-extended.scss"; @import "../../../node_modules/enketo-core/src/widget/file/filepicker.scss"; -@import "../../../node_modules/enketo-core/src/widget/horizontal-choices/horizontalchoices.scss"; +@import "../../../node_modules/enketo-core/src/widget/columns/columns.scss"; diff --git a/webapp/src/css/enketo/enketo.scss b/webapp/src/css/enketo/enketo.scss index 925ccd5d240..a812f89e526 100644 --- a/webapp/src/css/enketo/enketo.scss +++ b/webapp/src/css/enketo/enketo.scss @@ -12,6 +12,5 @@ @import "../../../node_modules/enketo-core/src/sass/core/main"; @import "../../../node_modules/enketo-core/src/sass/core/pages"; @import "widgets"; -@import "../../../node_modules/enketo-core/src/sass/core/slider"; @import "../../../node_modules/enketo-core/src/sass/core/responsive"; @import "../../../node_modules/enketo-core/src/sass/formhub/main"; diff --git a/webapp/src/js/enketo/main.js b/webapp/src/js/enketo/main.js index a921cc88f28..e623474ee74 100644 --- a/webapp/src/js/enketo/main.js +++ b/webapp/src/js/enketo/main.js @@ -1,4 +1,4 @@ -window.EnketoForm = require('enketo-core/src/js/Form'); +window.EnketoForm = require('enketo-core').Form; require('bootstrap-datepicker/js/locales/bootstrap-datepicker.es'); require('bootstrap-datepicker/js/locales/bootstrap-datepicker.fr'); diff --git a/webapp/src/js/enketo/widgets/phone-widget.js b/webapp/src/js/enketo/widgets/phone-widget.js index 02527d2a7bc..bdc72b10502 100644 --- a/webapp/src/js/enketo/widgets/phone-widget.js +++ b/webapp/src/js/enketo/widgets/phone-widget.js @@ -1,7 +1,7 @@ { 'use strict'; - const FormModel = require( 'enketo-core/src/js/Form-model' ); - const Widget = require( 'enketo-core/src/js/Widget' ); + const FormModel = require( 'enketo-core' ).FormModel; + const Widget = require( 'enketo-core/src/js/widget' ).default; const $ = require( 'jquery' ); const phoneNumber = require('@medic/phone-number'); require( 'enketo-core/src/js/plugins' ); @@ -52,12 +52,14 @@ */ function PhoneWidget( element, options, Settings ) { - this.namespace = pluginName; - Widget.call( this, element, options ); - if ( !Settings ) { - Settings = window.CHTCore.Settings; + if(element) { + this.namespace = pluginName; + Object.assign( this, new Widget( element, options ) ); + if (!Settings) { + Settings = window.CHTCore.Settings; + } + this._init(Settings); } - this._init( Settings ); } //copy the prototype functions from the Widget super class From c858b66589a1ae9d6f8f9c789c1b82ef992dfdbf Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 16 Aug 2021 09:02:57 -0500 Subject: [PATCH 004/179] Remove unused webapp patches --- .../enketo-handle-no-active-pages.patch | 22 ------------------- .../enketo-inputs-always-relevant.patch | 14 ------------ 2 files changed, 36 deletions(-) delete mode 100644 webapp/patches/enketo-handle-no-active-pages.patch delete mode 100644 webapp/patches/enketo-inputs-always-relevant.patch diff --git a/webapp/patches/enketo-handle-no-active-pages.patch b/webapp/patches/enketo-handle-no-active-pages.patch deleted file mode 100644 index 8c504b39458..00000000000 --- a/webapp/patches/enketo-handle-no-active-pages.patch +++ /dev/null @@ -1,22 +0,0 @@ -*** webapp/node_modules/enketo-core/src/js/page.js 2019-09-10 13:09:07.407455858 +1200 ---- webapp/node_modules/enketo-core/src/js/page.new.js 2019-09-10 13:09:35.278897963 +1200 -*************** -*** 274,280 **** - .eq( 0 ) - .trigger( 'fakefocus' ); - -! pageEl.scrollIntoView(); - }, - toggleButtons: function( index ) { - var i = index || this.getCurrentIndex(), ---- 274,283 ---- - .eq( 0 ) - .trigger( 'fakefocus' ); - -! if (pageEl) { -! pageEl.scrollIntoView(); -! console.warn('No active pages found. Make sure your form has at least one relevant input.'); -! } - }, - toggleButtons: function( index ) { - var i = index || this.getCurrentIndex(), diff --git a/webapp/patches/enketo-inputs-always-relevant.patch b/webapp/patches/enketo-inputs-always-relevant.patch deleted file mode 100644 index 1adba315d09..00000000000 --- a/webapp/patches/enketo-inputs-always-relevant.patch +++ /dev/null @@ -1,14 +0,0 @@ -*** unpatched 2018-10-18 19:54:23.332051962 +0200 ---- patched 2018-10-18 19:56:45.975224812 +0200 -*************** -*** 469,474 **** ---- 469,477 ---- - var path = that.input.getName( $node ); - var context; - -+ // /inputs is ALWAYS relevant #4875 -+ if(/\/inputs$/.test(path)) return; -+ - /* - * Copied from branch.js: - * From ac16e4bb3ad53d05b7cf34d57a12ceffa3d08179 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 16 Aug 2021 14:19:12 -0500 Subject: [PATCH 005/179] Bump up the bundle size of main.js --- package.json | 2 +- .../src/js/enketo/bootstrap-datepicker.bm.js | 24 ----------------- .../src/js/enketo/bootstrap-datepicker.hi.js | 26 ------------------- webapp/src/js/enketo/main.js | 4 +-- 4 files changed, 3 insertions(+), 53 deletions(-) delete mode 100644 webapp/src/js/enketo/bootstrap-datepicker.bm.js delete mode 100644 webapp/src/js/enketo/bootstrap-datepicker.hi.js diff --git a/package.json b/package.json index 40ca943721a..71dca2a2923 100755 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "bundlesize": [ { "path": "./build/ddocs/medic/_attachments/main.js", - "maxSize": "800 kB" + "maxSize": "900 kB" }, { "path": "./build/ddocs/medic/_attachments/polyfills-es5.js", diff --git a/webapp/src/js/enketo/bootstrap-datepicker.bm.js b/webapp/src/js/enketo/bootstrap-datepicker.bm.js deleted file mode 100644 index e1d90293ad8..00000000000 --- a/webapp/src/js/enketo/bootstrap-datepicker.bm.js +++ /dev/null @@ -1,24 +0,0 @@ -/* -https://github.com/uxsolutions/bootstrap-datepicker/pull/2431 tracks contribution of this file to bootstrap-datepicker -*/ - -/* eslint-disable */ - -/** - * Bamanankan (bm) translation for bootstrap-datepicker - * Fatou Fall - */ -;(function($){ - $.fn.datepicker.dates['bm'] = { - days: ["Kari","Ntɛnɛn","Tarata","Araba","Alamisa","Juma","Sibiri"], - daysShort: ["Kar","Ntɛ","Tar","Ara","Ala","Jum","Sib"], - daysMin: ["Ka","Nt","Ta","Ar","Al","Ju","Si"], - months: ["Zanwuyekalo","Fewuruyekalo","Marisikalo","Awirilikalo","Mɛkalo","Zuwɛnkalo","Zuluyekalo","Utikalo","Sɛtanburukalo","ɔkutɔburukalo","Nowanburukalo","Desanburukalo"], - monthsShort: ["Zan","Few","Mar","Awi","Mɛ","Zuw","Zul","Uti","Sɛt","ɔku","Now","Des"], - today: "Bi", - monthsTitle: "Kalo", - clear: "Ka jɔsi", - weekStart: 1, - format: "dd/mm/yyyy" - }; -}(jQuery)); diff --git a/webapp/src/js/enketo/bootstrap-datepicker.hi.js b/webapp/src/js/enketo/bootstrap-datepicker.hi.js deleted file mode 100644 index 0757db0d4d2..00000000000 --- a/webapp/src/js/enketo/bootstrap-datepicker.hi.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -This file is forked and unaltered from https://github.com/uxsolutions/bootstrap-datepicker/blob/master/js/locales/bootstrap-datepicker.hi.js -Enketo-core uses bootstrap-datepicker@1.6.4 but Hindi localization wasn't available until 1.8.0. -Solution is to use a duplicated copy of the file to avoid a breaking change to enketo-core. -*/ - -/* eslint-disable */ - -/** - * Hindi translation for bootstrap-datepicker - * Visar Uruqi - */ -; (function($){ - $.fn.datepicker.dates['hi'] = { - days: ["रविवार", "सोमवार", "मंगलवार", "बुधवार", "गुरुवार", "शुक्रवार", "शनिवार"], - daysShort: ["सूर्य", "सोम", "मंगल", "बुध", "गुरु", "शुक्र", "शनि"], - daysMin: ["र", "सो", "मं", "बु", "गु", "शु", "श"], - months: ["जनवरी", "फ़रवरी", "मार्च", "अप्रैल", "मई", "जून", "जुलाई", "अगस्त", "सितम्बर", "अक्टूबर", "नवंबर", "दिसम्बर"], - monthsShort: ["जन", "फ़रवरी", "मार्च", "अप्रैल", "मई", "जून", "जुलाई", "अगस्त", "सितं", "अक्टूबर", "नवं", "दिसम्बर"], - today: "आज", - monthsTitle: "महीने", - clear: "साफ", - weekStart: 1, - format: "dd / mm / yyyy" - }; -}(jQuery)); \ No newline at end of file diff --git a/webapp/src/js/enketo/main.js b/webapp/src/js/enketo/main.js index e623474ee74..deccc96f1b7 100644 --- a/webapp/src/js/enketo/main.js +++ b/webapp/src/js/enketo/main.js @@ -4,8 +4,8 @@ require('bootstrap-datepicker/js/locales/bootstrap-datepicker.es'); require('bootstrap-datepicker/js/locales/bootstrap-datepicker.fr'); require('bootstrap-datepicker/js/locales/bootstrap-datepicker.sw'); require('bootstrap-datepicker/js/locales/bootstrap-datepicker.id'); -require('./bootstrap-datepicker.bm'); -require('./bootstrap-datepicker.hi'); +require('bootstrap-datepicker/js/locales/bootstrap-datepicker.bm'); +require('bootstrap-datepicker/js/locales/bootstrap-datepicker.hi'); require('./bootstrap-datepicker.ceb'); require('./bootstrap-datepicker.hil'); require('./bootstrap-datepicker.tl'); From b424840f75cf57eb076c616621d86fa4e88a1c03 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Tue, 17 Aug 2021 10:55:58 -0500 Subject: [PATCH 006/179] Update the enketo service in webapp to actually be able to load a form --- webapp/src/ts/services/enketo.service.ts | 138 +++++++++++------------ 1 file changed, 65 insertions(+), 73 deletions(-) diff --git a/webapp/src/ts/services/enketo.service.ts b/webapp/src/ts/services/enketo.service.ts index 6b50b1628d9..4726612c222 100644 --- a/webapp/src/ts/services/enketo.service.ts +++ b/webapp/src/ts/services/enketo.service.ts @@ -122,7 +122,7 @@ export class EnketoService { return this.getAttachment(doc._id, this.xmlFormsService.findXFormAttachmentName(doc)); } - private transformXml(form, language) { + private transformXml(form) { return Promise .all([ this.getAttachment(form._id, this.HTML_ATTACHMENT_NAME), @@ -135,24 +135,7 @@ export class EnketoService { $element.text(this.translateService.instant('enketo.' + $element.attr('data-i18n'))); }); - // TODO remove this when our enketo-core dependency is updated as the latest - // version uses the language passed to the constructor - const languages = $html.find('#form-languages option'); - if (languages.length > 1) { // TODO how do we detect a non-localized form? - // for localized forms, change language to user's language - $html - .find('[lang]') - .removeClass('active') - .filter('[lang="' + language + '"], [lang=""]') - .filter((idx, element) => { - // localized forms can support a short and long version for labels - // Enketo takes this into account when switching languages - // https://opendatakit.github.io/xforms-spec/#languages - return !$(element).hasClass('or-form-short') || - ($(element).hasClass('or-form-short') && $(element).siblings( '.or-form-long' ).length === 0 ); - }) - .addClass( 'active' ); - } + $html.find('#form-languages').remove(); const hasContactSummary = $(model).find('> instance[id="contact-summary"]').length === 1; return { @@ -269,7 +252,7 @@ export class EnketoService { }); } - private getEnketoOptions(doc, instanceData) { + private getEnketoForm(wrapper, doc, instanceData) { return Promise .all([ this.enketoPrepopulationDataService.get(doc.model, instanceData), @@ -277,33 +260,28 @@ export class EnketoService { this.languageService.get() ]) .then(([ instanceStr, contactSummary, language ]) => { - const options:any = { + const data:any = { modelStr: doc.model, - instanceStr: instanceStr, - language: language + instanceStr: instanceStr }; if (contactSummary) { - options.external = [ contactSummary ]; + data.external = [ contactSummary ]; } - return options; + const form = wrapper.find('form').first()[0];// TODO This does not seem good. + return new window.EnketoForm(form, data, { language }); }); } private renderFromXmls(xmlFormContext: XmlFormContext) { const { doc, instanceData, titleKey, wrapper } = xmlFormContext; - wrapper - .find('.form-footer') - .addClass('end') - .find('.previous-page,.next-page') - .addClass('disabled'); const formContainer = wrapper.find('.container').first(); formContainer.html(doc.html.get(0)); return this - .getEnketoOptions(doc, instanceData) - .then((options) => { - this.currentForm = new window.EnketoForm(wrapper.find('form').first(), options); + .getEnketoForm(wrapper, doc, instanceData) + .then((form) => { + this.currentForm = form; const loadErrors = this.currentForm.init(); if (loadErrors?.length) { return Promise.reject(new Error(JSON.stringify(loadErrors))); @@ -320,8 +298,9 @@ export class EnketoService { window.history.replaceState({ enketo_page_number: 0 }, ''); this.overrideNavigationButtons(this.currentForm, wrapper); this.addPopStateHandler(this.currentForm, wrapper); + // this.addDynamicUrlListener(); // TODO figure out if we need this new URL listener code... this.forceRecalculate(this.currentForm); - + this.setupNavButtons(wrapper, 0); return this.currentForm; }); } @@ -356,11 +335,16 @@ export class EnketoService { .find('.btn.next-page') .off('.pagemode') .on('click.pagemode',() => { + form.pages - .next() - .then((newPageIndex) => { - if(typeof newPageIndex === 'number') { - window.history.pushState({ enketo_page_number: newPageIndex }, ''); + ._next() + .then((valid) => { + if(valid) { + const currentIndex = form.pages._getCurrentIndex(); + if(typeof currentIndex === 'number') { + window.history.pushState({ enketo_page_number: currentIndex }, ''); + } + this.setupNavButtons($wrapper, currentIndex); } this.forceRecalculate(form); }); @@ -381,16 +365,9 @@ export class EnketoService { $(window).on('popstate.enketo-pagemode', (event:any) => { if(event.originalEvent && event.originalEvent.state && - typeof event.originalEvent.state.enketo_page_number === 'number') { - const targetPage = event.originalEvent.state.enketo_page_number; - - if ($wrapper.find('.container').not(':empty')) { - const pages = form.pages; - const activePages = pages.getAllActive(); - if (activePages) { - pages.flipTo(activePages[targetPage], targetPage); - } - } + typeof event.originalEvent.state.enketo_page_number === 'number' && + $wrapper.find('.container').not(':empty')) { + form.pages._prev(); } }); } @@ -425,31 +402,29 @@ export class EnketoService { valuechangeListener, } = formContext; - return this.languageService.get().then(language => { - const $selector = $(selector); - return this - .transformXml(formDoc, language) - .then(doc => { - this.replaceJavarosaMediaWithLoaders(formDoc, doc.html); - const xmlFormContext: XmlFormContext = { - doc, - wrapper: $selector, - instanceData, - titleKey, - }; - return this.renderFromXmls(xmlFormContext); - }) - .then((form) => { - const formContainer = $selector.find('.container').first(); - this.replaceMediaLoaders(formContainer, formDoc); - this.registerAddrepeatListener($selector, formDoc); - this.registerEditedListener($selector, editedListener); - this.registerValuechangeListener($selector, valuechangeListener); - - window.CHTCore.debugFormModel = () => form.model.getStr(); - return form; - }); - }); + const $selector = $(selector); + return this + .transformXml(formDoc) + .then(doc => { + this.replaceJavarosaMediaWithLoaders(formDoc, doc.html); + const xmlFormContext: XmlFormContext = { + doc, + wrapper: $selector, + instanceData, + titleKey, + }; + return this.renderFromXmls(xmlFormContext); + }) + .then((form) => { + const formContainer = $selector.find('.container').first(); + this.replaceMediaLoaders(formContainer, formDoc); + this.registerAddrepeatListener($selector, formDoc); + this.registerEditedListener($selector, editedListener); + this.registerValuechangeListener($selector, valuechangeListener); + + window.CHTCore.debugFormModel = () => form.model.getStr(); + return form; + }); } render(selector, form, instanceData, editedListener, valuechangeListener) { @@ -689,6 +664,23 @@ export class EnketoService { form.output.update(); } + private setupNavButtons($wrapper, currentIndex) { + if(this.currentForm.pages) { + const lastIndex = this.currentForm.pages.activePages.length - 1; + const footer = $wrapper.find('.form-footer'); + footer.removeClass('end'); + footer.find('.previous-page, .next-page').removeClass('disabled'); + + if (currentIndex >= lastIndex) { + footer.addClass('end'); + footer.find('.next-page').addClass('disabled'); + } + if (currentIndex === 0) { + footer.find('.previous-page').addClass('disabled'); + } + } + } + private saveGeo(geoHandle, docs) { if (!geoHandle) { return docs; From 57aa8a1e78c62d7ee698ea01c6201268d4c80c74 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Tue, 17 Aug 2021 10:58:53 -0500 Subject: [PATCH 007/179] Bump openrosa-xpath-evaluator version --- webapp/package-lock.json | 6 +++--- webapp/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/webapp/package-lock.json b/webapp/package-lock.json index f91c3cf9ae3..3e06379986b 100644 --- a/webapp/package-lock.json +++ b/webapp/package-lock.json @@ -341,9 +341,9 @@ "integrity": "sha512-yhpSxjaWh2AfK+XGAwFX7FQj2isbiUm6mjJxt/e+vsDMEHu8rGApvVN0l8OhDV3laEzVAF+RDw81gw7Gk17rNQ==" }, "openrosa-xpath-evaluator": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/openrosa-xpath-evaluator/-/openrosa-xpath-evaluator-1.5.1.tgz", - "integrity": "sha512-Qgmc3uuU3vcW77Lxil43Blhy9kPQxFLMfsiAjlukN/fNy2MNffe7NTwHwNA37hFnBJKqC+DjOW0JgqS7CYuHmA==" + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/openrosa-xpath-evaluator/-/openrosa-xpath-evaluator-2.0.7.tgz", + "integrity": "sha512-Z8qmfjEoPHTMtxHILSdgL0KACruh5G/jLO7KjKN9pZd2Any7eFqrQpvFecr68/ZE/Qy1ydbrYhBGg+i27h0OGw==" }, "partial-json-parser": { "version": "1.2.2", diff --git a/webapp/package.json b/webapp/package.json index 7109f586c94..af12ccba62a 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -47,7 +47,7 @@ "ngx-cookie-service": "^10.0.1", "object-path": "^0.11.5", "odk-xform-compact-record-representation-for-sms": "^1.0.1", - "openrosa-xpath-evaluator": "^1.5.1", + "openrosa-xpath-evaluator": "^2.0.7", "partial-json-parser": "^1.2.2", "pojo2xml": "^1.7.2", "pouchdb-browser": "^7.2.2", From cb7cb2debb3e59fce5d535e97e8b21f871e1809b Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Tue, 17 Aug 2021 17:55:14 -0500 Subject: [PATCH 008/179] Fix up hacking for openrosa stuff --- webapp/custom-webpack.config.js | 4 +- .../enketo/OpenrosaXpathEvaluatorBinding.js | 14 +---- .../src/js/enketo/medic-xpath-extensions.js | 62 ++++++++++++++++++- 3 files changed, 65 insertions(+), 15 deletions(-) diff --git a/webapp/custom-webpack.config.js b/webapp/custom-webpack.config.js index 7640c02e9f4..c02a05614bc 100644 --- a/webapp/custom-webpack.config.js +++ b/webapp/custom-webpack.config.js @@ -6,9 +6,9 @@ module.exports = { alias: { 'enketo-config': 'src/js/enketo/config.json', 'widgets': 'src/js/enketo/widgets', - './xpath-evaluator-binding': 'src/js/enketo/OpenrosaXpathEvaluatorBinding', + 'enketo/xpath-evaluator-binding': 'src/js/enketo/OpenrosaXpathEvaluatorBinding', 'extended-xpath': 'node_modules/openrosa-xpath-evaluator/src/extended-xpath', - 'openrosa-xpath-extensions': 'node_modules/openrosa-xpath-evaluator/src/openrosa-xpath-extensions', + 'openrosa-extensions': 'node_modules/openrosa-xpath-evaluator/src/openrosa-extensions', // translator for enketo's internal i18n 'translator': 'src/js/enketo/translator', // enketo currently duplicates bootstrap's dropdown code. working to resolve this upstream diff --git a/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js b/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js index 5e2796fae03..3e158d2bd12 100644 --- a/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js +++ b/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js @@ -1,5 +1,5 @@ const ExtendedXpathEvaluator = require('extended-xpath'); -const openrosaExtensions = require('openrosa-xpath-extensions'); +const openrosaExtensions = require('openrosa-extensions'); const medicExtensions = require('./medic-xpath-extensions'); const translator = require('./translator'); @@ -16,17 +16,7 @@ module.exports = function() { const extensions = openrosaExtensions(translator.t); extensions.func = Object.assign(extensions.func, medicExtensions.func); extensions.process = Object.assign(extensions.process, medicExtensions.process); - const wrappedXpathEvaluator = function(v) { - // Node requests (i.e. result types greater than 3 (BOOLEAN) - // should be processed unaltered, as they are passed this - // way from the ExtendedXpathEvaluator. For anything else, - // we will be ask for the most appropriate result type, and - // handle as best we can. - const wrappedResultType = resultType > XPathResult.BOOLEAN_TYPE ? resultType : XPathResult.ANY_TYPE; - const doc = contextPath.ownerDocument; - return doc.evaluate(v, contextPath, namespaceResolver, wrappedResultType, result); - }; - const evaluator = new ExtendedXpathEvaluator(wrappedXpathEvaluator, extensions); + const evaluator = new ExtendedXpathEvaluator(contextPath.ownerDocument, extensions); return evaluator.evaluate(e, contextPath, namespaceResolver, resultType, result); }; window.JsXPathException = diff --git a/webapp/src/js/enketo/medic-xpath-extensions.js b/webapp/src/js/enketo/medic-xpath-extensions.js index 3ba2e15606c..1e77cfd6918 100644 --- a/webapp/src/js/enketo/medic-xpath-extensions.js +++ b/webapp/src/js/enketo/medic-xpath-extensions.js @@ -50,6 +50,52 @@ const getTimezoneOffsetAsTime = function(date) { return direction + hours + ':' + minutes; }; +const RAW_NUMBER = /^(-?[0-9]+)(\.[0-9]+)?$/; +const DATE_STRING = /^\d\d\d\d-\d{1,2}-\d{1,2}(?:T\d\d:\d\d:\d\d(?:Z|[+-]\d\d:\d\d))?$/; +const XPR = { + boolean: function(val) { return { t:'bool', v:val }; }, + number: function(val) { return { t:'num', v:val }; }, + string: function(val) { return { t:'str', v:val }; }, + date: function(val) { + if(!(val instanceof Date)) { + throw new Error('Cannot create date from ' + val + ' (' + (typeof val) + ')'); + } + return { t:'date', v:val }; + } +}; + +const _str = (r) => { + return r.t === 'arr' ? + r.v.length ? r.v[0].toString() : '' : + r.v.toString(); +}; + +const _date = (it) => { + let temp; + let t; + + if(it.v instanceof Date) { + return new Date(it.v); + } + + it = _str(it); + + if(RAW_NUMBER.test(it)) { + // Create a date at 00:00:00 1st Jan 1970 _in the current timezone_ + temp = new Date(1970, 0, 1); + temp.setDate(1 + parseInt(it, 10)); + return temp; + } else if(DATE_STRING.test(it)) { + t = it.indexOf('T'); + if(t !== -1) { + it = it.substring(0, t); + } + temp = it.split('-'); + temp = new Date(temp[0], temp[1]-1, temp[2]); + return temp; + } +}; + module.exports = { getTimezoneOffsetAsTime: getTimezoneOffsetAsTime, toISOLocalString: toISOLocalString, @@ -68,7 +114,21 @@ module.exports = { return { t: 'str', v: '' }; } return { t: 'num', v: result }; - } + }, + 'difference-in-months': function(d1, d2) { + d1 = _date(d1); + d2 = _date(d2); + + if(!d1 || !d2) { + return XPR.string(''); + } + + const months = + ((d2.getFullYear() - d1.getFullYear()) * 12) + + (d2.getMonth() - d1.getMonth()) + + (d2.getDate() < d1.getDate() ? -1 : 0); + return XPR.number(months); + }, }, process: { toExternalResult: function(r) { From ba8c6fb43a8f02798bdd498b427ec4186e56fe38 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 18 Aug 2021 09:16:04 -0500 Subject: [PATCH 009/179] Clean up functions copied from openrosa and add unit tests --- .../src/js/enketo/medic-xpath-extensions.js | 51 +++++++++---------- .../enketo/medic-xpath-extensions.spec.js | 30 +++++++++++ 2 files changed, 53 insertions(+), 28 deletions(-) diff --git a/webapp/src/js/enketo/medic-xpath-extensions.js b/webapp/src/js/enketo/medic-xpath-extensions.js index 1e77cfd6918..f0b13029d7d 100644 --- a/webapp/src/js/enketo/medic-xpath-extensions.js +++ b/webapp/src/js/enketo/medic-xpath-extensions.js @@ -1,3 +1,17 @@ +const RAW_NUMBER = /^(-?[0-9]+)(\.[0-9]+)?$/; +const DATE_STRING = /^\d\d\d\d-\d{1,2}-\d{1,2}(?:T\d\d:\d\d:\d\d(?:Z|[+-]\d\d:\d\d))?$/; +const XPR = { + boolean: function(val) { return { t:'bool', v:val }; }, + number: function(val) { return { t:'num', v:val }; }, + string: function(val) { return { t:'str', v:val }; }, + date: function(val) { + if(!(val instanceof Date)) { + throw new Error('Cannot create date from ' + val + ' (' + (typeof val) + ')'); + } + return { t:'date', v:val }; + } +}; + let zscoreUtil; const isObject = (value) => { @@ -50,49 +64,30 @@ const getTimezoneOffsetAsTime = function(date) { return direction + hours + ':' + minutes; }; -const RAW_NUMBER = /^(-?[0-9]+)(\.[0-9]+)?$/; -const DATE_STRING = /^\d\d\d\d-\d{1,2}-\d{1,2}(?:T\d\d:\d\d:\d\d(?:Z|[+-]\d\d:\d\d))?$/; -const XPR = { - boolean: function(val) { return { t:'bool', v:val }; }, - number: function(val) { return { t:'num', v:val }; }, - string: function(val) { return { t:'str', v:val }; }, - date: function(val) { - if(!(val instanceof Date)) { - throw new Error('Cannot create date from ' + val + ' (' + (typeof val) + ')'); - } - return { t:'date', v:val }; - } -}; - -const _str = (r) => { +const str = (r) => { return r.t === 'arr' ? r.v.length ? r.v[0].toString() : '' : r.v.toString(); }; -const _date = (it) => { - let temp; - let t; - +const date = (it) => { if(it.v instanceof Date) { return new Date(it.v); } - it = _str(it); - + it = str(it); if(RAW_NUMBER.test(it)) { // Create a date at 00:00:00 1st Jan 1970 _in the current timezone_ - temp = new Date(1970, 0, 1); + const temp = new Date(1970, 0, 1); temp.setDate(1 + parseInt(it, 10)); return temp; } else if(DATE_STRING.test(it)) { - t = it.indexOf('T'); + const t = it.indexOf('T'); if(t !== -1) { it = it.substring(0, t); } - temp = it.split('-'); - temp = new Date(temp[0], temp[1]-1, temp[2]); - return temp; + const dateValues = it.split('-'); + return new Date(dateValues[0], dateValues[1]-1, dateValues[2]); } }; @@ -116,8 +111,8 @@ module.exports = { return { t: 'num', v: result }; }, 'difference-in-months': function(d1, d2) { - d1 = _date(d1); - d2 = _date(d2); + d1 = date(d1); + d2 = date(d2); if(!d1 || !d2) { return XPR.string(''); diff --git a/webapp/tests/mocha/unit/enketo/medic-xpath-extensions.spec.js b/webapp/tests/mocha/unit/enketo/medic-xpath-extensions.spec.js index a15cf025dc8..c4f98625fd5 100644 --- a/webapp/tests/mocha/unit/enketo/medic-xpath-extensions.spec.js +++ b/webapp/tests/mocha/unit/enketo/medic-xpath-extensions.spec.js @@ -49,4 +49,34 @@ describe('medic-xpath-extensions', function() { assert.equal(medicXpathExtensions.toISOLocalString(date), '1975-08-19T15:15:30.000-01:00'); }); }); + + describe('#difference-in-months', function() { + [ + [ '2015-10-01', '2015-10-01', 0, ], + [ '2015-09-01', '2015-10-01', 1, ], + [ '2015-09-02', '2015-10-01', 0, ], + [ '2015-10-01', '2015-11-01', 1, ], + [ '2015-10-02', '2015-11-01', 0, ], + [ '2014-10-01', '2015-10-01', 12, ], + [ '2014-10-02', '2015-10-01', 11, ], + [ '2015-10-01', '2014-10-01', -12, ], + ].forEach(function(example) { + const d1 = { t:'str', v:example[0] }; + const d2 = { t:'str', v:example[1] }; + const expectedDifference = example[2]; + + it('should report difference between ' + d1 + ' and ' + d2 + ' as ' + expectedDifference, function() { + assert.equal(func['difference-in-months'](d1, d2).v, expectedDifference); + }); + }); + + it('should return an empty string when the difference cannot be calculated', function() { + // given + const d1 = { t:'str', v:'nonsense' }; + const d2 = { t:'str', v:'2015-09-22' }; + + // expect + assert.equal(func['difference-in-months'](d1, d2).v, ''); + }); + }); }); From 351b30bfb172ae53600a56ece6fa0a5f40e43ca8 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 18 Aug 2021 11:09:11 -0500 Subject: [PATCH 010/179] Fix override language --- webapp/src/ts/services/enketo.service.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/webapp/src/ts/services/enketo.service.ts b/webapp/src/ts/services/enketo.service.ts index 4726612c222..4937cafc677 100644 --- a/webapp/src/ts/services/enketo.service.ts +++ b/webapp/src/ts/services/enketo.service.ts @@ -135,7 +135,9 @@ export class EnketoService { $element.text(this.translateService.instant('enketo.' + $element.attr('data-i18n'))); }); - $html.find('#form-languages').remove(); + // Cannot actually remove the #form-languages dropdown or Enketo will ignore our override language that we + // provide when constructing the EnketoForm. + $html.find('#form-languages').hide(); const hasContactSummary = $(model).find('> instance[id="contact-summary"]').length === 1; return { @@ -267,7 +269,7 @@ export class EnketoService { if (contactSummary) { data.external = [ contactSummary ]; } - const form = wrapper.find('form').first()[0];// TODO This does not seem good. + const form = wrapper.find('form')[0]; return new window.EnketoForm(form, data, { language }); }); } From 3f59f16041eb9cc37c11accc930a53308d4ce6d6 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 18 Aug 2021 13:52:39 -0500 Subject: [PATCH 011/179] Fix forward button functionality --- webapp/src/ts/services/enketo.service.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/webapp/src/ts/services/enketo.service.ts b/webapp/src/ts/services/enketo.service.ts index 4937cafc677..42b3cf978fc 100644 --- a/webapp/src/ts/services/enketo.service.ts +++ b/webapp/src/ts/services/enketo.service.ts @@ -369,7 +369,15 @@ export class EnketoService { event.originalEvent.state && typeof event.originalEvent.state.enketo_page_number === 'number' && $wrapper.find('.container').not(':empty')) { - form.pages._prev(); + + const targetPage = event.originalEvent.state.enketo_page_number; + const pages = form.pages; + const currentIndex = pages._getCurrentIndex(); + if(targetPage > currentIndex) { + pages._next(); + } else { + pages._prev(); + } } }); } From f1f62bc597f5d2cac70be888c46cedff667f07cf Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 18 Aug 2021 17:24:52 -0500 Subject: [PATCH 012/179] Re-introduce the updated enketo-inputs-always-relevant.patch --- Gruntfile.js | 5 +++++ webapp/patches/enketo-inputs-always-relevant.patch | 14 ++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 webapp/patches/enketo-inputs-always-relevant.patch diff --git a/Gruntfile.js b/Gruntfile.js index 1839408500a..7ed9c69f5da 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -290,6 +290,7 @@ module.exports = function(grunt) { cwd: 'webapp/node_modules', src: [ 'bootstrap-daterangepicker/**', + 'enketo-core/**', 'font-awesome/**', 'messageformat/**', 'moment/**' @@ -482,6 +483,7 @@ module.exports = function(grunt) { cmd: function() { const modulesToPatch = [ 'bootstrap-daterangepicker', + 'enketo-core', 'font-awesome', 'moment', 'pouchdb-browser', @@ -555,6 +557,9 @@ module.exports = function(grunt) { // patch moment.js to use western arabic (european) numerals in Hindi 'patch webapp/node_modules/moment/locale/hi.js < webapp/patches/moment-hindi-use-euro-numerals.patch', + // patch enketo to always mark the /inputs group as relevant + 'patch webapp/node_modules/enketo-core/src/js/form.js < webapp/patches/enketo-inputs-always-relevant.patch', + // patch messageformat to add a default plural function for languages not yet supported by make-plural #5705 'patch webapp/node_modules/messageformat/lib/plurals.js < webapp/patches/messageformat-default-plurals.patch', diff --git a/webapp/patches/enketo-inputs-always-relevant.patch b/webapp/patches/enketo-inputs-always-relevant.patch new file mode 100644 index 00000000000..6f62f11f47b --- /dev/null +++ b/webapp/patches/enketo-inputs-always-relevant.patch @@ -0,0 +1,14 @@ +*** unpatched 2021-08-18 15:06:53.161968277 -0500 +--- patched 2021-08-18 15:04:22.093000000 -0500 +*************** +*** 662,667 **** +--- 662,670 ---- + const path = that.input.getName( node ); + let target; + ++ // /inputs is ALWAYS relevant #4875 ++ if(/\/inputs$/.test(path)) return; ++ + /* + * Copied from relevant.js: + * From 660456c65e0520670f76720d1acbf0a2d837e00e Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 23 Aug 2021 11:26:22 -0500 Subject: [PATCH 013/179] Remove the notewidget from the webapp and move markdown logic to api --- api/package-lock.json | 13 ++ api/package.json | 1 + api/src/services/generate-xform.js | 85 ++++++-- .../mocha/services/generate-xform.spec.js | 190 +++++++++++++++++- .../xforms/markdown/form.expected.html | 8 + .../mocha/services/xforms/markdown/form.html | 14 ++ .../xforms/markdown/model.expected.xml | 13 ++ .../mocha/services/xforms/markdown/model.xml | 13 ++ .../mocha/services/xforms/markdown/xform.xml | 68 +++++++ .../xforms/multimedia/form.expected.html | 12 +- .../xforms/nested-root/form.expected.html | 170 ++++++++-------- .../services/xforms/simple/form.expected.html | 18 +- webapp/src/js/enketo/widgets.js | 1 - webapp/src/js/enketo/widgets/notewidget.js | 111 ---------- .../ts/services/integration-api.service.ts | 3 - webapp/src/ts/services/markdown.service.ts | 67 ------ 16 files changed, 478 insertions(+), 309 deletions(-) create mode 100644 api/tests/mocha/services/xforms/markdown/form.expected.html create mode 100644 api/tests/mocha/services/xforms/markdown/form.html create mode 100644 api/tests/mocha/services/xforms/markdown/model.expected.xml create mode 100644 api/tests/mocha/services/xforms/markdown/model.xml create mode 100644 api/tests/mocha/services/xforms/markdown/xform.xml delete mode 100644 webapp/src/js/enketo/widgets/notewidget.js delete mode 100644 webapp/src/ts/services/markdown.service.ts diff --git a/api/package-lock.json b/api/package-lock.json index 88e73dbf340..6e33ff1779d 100644 --- a/api/package-lock.json +++ b/api/package-lock.json @@ -929,6 +929,11 @@ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, "helmet": { "version": "3.22.0", "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.22.0.tgz", @@ -1450,6 +1455,14 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, + "node-html-parser": { + "version": "1.4.9", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-1.4.9.tgz", + "integrity": "sha512-UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw==", + "requires": { + "he": "1.2.0" + } + }, "node-pre-gyp": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.9.1.tgz", diff --git a/api/package.json b/api/package.json index 0c98d66b343..7765b67144e 100644 --- a/api/package.json +++ b/api/package.json @@ -33,6 +33,7 @@ "morgan": "^1.10.0", "mustache": "^4.2.0", "node-cache": "^5.1.2", + "node-html-parser": "^1.2.14", "object-path": "^0.11.5", "openrosa-formlist": "github:medic/openrosa-formlist#sax", "pass-stream": "^1.0.0", diff --git a/api/src/services/generate-xform.js b/api/src/services/generate-xform.js index 99603340c64..1ef46072d41 100644 --- a/api/src/services/generate-xform.js +++ b/api/src/services/generate-xform.js @@ -4,11 +4,11 @@ */ const childProcess = require('child_process'); const path = require('path'); +const htmlParser = require('node-html-parser'); const logger = require('../logger'); const db = require('../db'); const formsService = require('./forms'); -const FORM_ROOT_OPEN = ''; const MODEL_ROOT_OPEN = ''; const ROOT_CLOSE = ''; const JAVAROSA_SRC = / src="jr:\/\//gi; @@ -47,33 +47,90 @@ const transform = (formXml, stylesheet) => { }); }; -const removeLast = (haystack, needle) => { - const index = haystack.lastIndexOf(needle); - if (index === -1) { - return haystack; - } - return haystack.slice(0, index) + haystack.slice(index + needle.length); +const replaceMarkdown = html => { + return html + // headings + .replace(/\n# (.*)\n/gm, '

$1

') + .replace(/\n## (.*)\n/gm, '

$1

') + .replace(/\n### (.*)\n/gm, '

$1

') + .replace(/\n#### (.*)\n/gm, '

$1

') + .replace(/\n##### (.*)\n/gm, '
$1
') + + // font styles + .replace(/__([^\s]([^_]*[^\s])?)__/gm, '$1') + .replace(/\*\*([^\s]([^*]*[^\s])?)\*\*/gm, '$1') + .replace(/\s_([^_\s]([^_]*[^_\s])?)_/gm, ' $1') + .replace(/\*([^*\s]([^*]*[^*\s])?)\*/gm, '$1') + + // urls containing tags + .replace( + /\[([^\]]*)\]\(([^)]*<[^>]*>[^)]*)\)/gm, + '' + + '$1' + + '' + ) + + // plain urls + .replace(/\[([^\]]*)\]\(([^)]+)\)/gm, '$1') + + // new lines + .replace(/\n/gm, '
') + + // convert embedded html + .replace(/<([\s\S]*?)>/gm, '<$1>') + .replace(/&/g, '&') + .replace(/"/g, '"') + .replace(/'/g, '\''); }; -const removeRootNode = (string, node) => { - return removeLast(string.replace(node, ''), ROOT_CLOSE); +// inspired by enketo/enketo-transformer +const replaceAllMarkdown = formString => { + + const form = htmlParser.parse(formString).querySelector('form'); + const replacements = {}; + + const questions = form.querySelectorAll('span.question-label'); + const hints = form.querySelectorAll('span.or-hint'); + const spans = questions.concat(hints); + spans.forEach((span, i) => { + const original = span.innerHTML; + const rendered = replaceMarkdown(original); + if (rendered && original !== rendered) { + const key = `~~~${i}~~~`; + replacements[key] = rendered; + span.set_content(key); + } + }); + + let result = form.toString(); + Object.keys(replacements).forEach(key => { + const replacement = replacements[key]; + if (replacement) { + result = result.replace(key, replacement); + } + }); + return result; }; const generateForm = formXml => { return transform(formXml, FORM_STYLESHEET).then(form => { + form = replaceAllMarkdown(form); // rename the media src attributes so the browser doesn't try and // request them, instead leaving it to custom code in the Enketo // service to load them asynchronously - form = form.replace(JAVAROSA_SRC, MEDIA_SRC_ATTR); - // remove the root node leaving just the HTML to be rendered - return removeRootNode(form, FORM_ROOT_OPEN); + return form.replace(JAVAROSA_SRC, MEDIA_SRC_ATTR); }); }; const generateModel = formXml => { return transform(formXml, MODEL_STYLESHEET).then(model => { // remove the root node leaving just the model - return removeRootNode(model, MODEL_ROOT_OPEN); + model = model.replace(MODEL_ROOT_OPEN, ''); + const index = model.lastIndexOf(ROOT_CLOSE); + if (index === -1) { + return model; + } + return model.slice(0, index) + model.slice(index + ROOT_CLOSE.length); }); }; @@ -116,7 +173,7 @@ const updateAttachments = (accumulator, doc) => { return results; } logger.debug(`Generating html and xml model for enketo form "${doc._id}"`); - return module.exports.generate(form.data.toString()).then(result => { + return generate(form.data.toString()).then(result => { results.push(result); return results; }); diff --git a/api/tests/mocha/services/generate-xform.spec.js b/api/tests/mocha/services/generate-xform.spec.js index 8bd02cdf8a0..7a6611ef7a8 100644 --- a/api/tests/mocha/services/generate-xform.spec.js +++ b/api/tests/mocha/services/generate-xform.spec.js @@ -1,11 +1,12 @@ const { promisify } = require('util'); const readFile = promisify(require('fs').readFile); +const rewire = require('rewire'); const { join } = require('path'); const { expect } = require('chai'); const sinon = require('sinon'); const childProcess = require('child_process'); const db = require('../../../src/db'); -const service = require('../../../src/services/generate-xform'); +const service = rewire('../../../src/services/generate-xform'); const FILES = { xform: 'xform.xml', @@ -70,7 +71,7 @@ describe('generate-xform service', () => { spawned.on.args[2][1](0); } return generate.then(actual => { - expect(actual.form).to.equal(files.expectedForm); + expect(actual.form).to.equal(files.expectedForm.trim()); expect(actual.model).to.equal(files.expectedModel); }); }); @@ -96,6 +97,14 @@ describe('generate-xform service', () => { }); describe('update', () => { + let generate; + let unset; + + beforeEach(() => { + generate = sinon.stub(); + unset = service.__set__('generate', generate); + }); + afterEach(() => unset()); it('errors if no form found', done => { sinon.stub(db.medic, 'get').rejects('boom'); @@ -127,11 +136,11 @@ describe('generate-xform service', () => { 'form.html': { data: Buffer.from(currentForm) }, 'model.xml': { data: Buffer.from(currentModel) } } }); - sinon.stub(service, 'generate').resolves({ form: currentForm, model: currentModel }); + generate.resolves({ form: currentForm, model: currentModel }); sinon.stub(db.medic, 'put'); return service.update('form:exists').then(() => { - expect(service.generate.callCount).to.equal(1); - expect(service.generate.args[0][0]).to.equal(formXml); + expect(generate.callCount).to.equal(1); + expect(generate.args[0][0]).to.equal(formXml); expect(db.medic.put.callCount).to.equal(0); }); }); @@ -143,7 +152,7 @@ describe('generate-xform service', () => { sinon.stub(db.medic, 'get').resolves({ _attachments: { xml: { data: Buffer.from(formXml) } } }); - sinon.stub(service, 'generate').resolves({ form: newForm, model: newModel }); + generate.resolves({ form: newForm, model: newModel }); sinon.stub(db.medic, 'put'); return service.update('form:exists').then(() => { expect(db.medic.put.callCount).to.equal(1); @@ -162,7 +171,7 @@ describe('generate-xform service', () => { 'form.html': { data: Buffer.from(currentForm) }, 'model.xml': { data: Buffer.from(currentModel) } } }); - sinon.stub(service, 'generate').resolves({ form: newForm, model: newModel }); + generate.resolves({ form: newForm, model: newModel }); sinon.stub(db.medic, 'put'); return service.update('form:exists').then(() => { expect(db.medic.put.callCount).to.equal(1); @@ -174,6 +183,15 @@ describe('generate-xform service', () => { describe('updateAll', () => { + let generate; + let unset; + + beforeEach(() => { + generate = sinon.stub(); + unset = service.__set__('generate', generate); + }); + afterEach(() => unset()); + const JSON_FORM_ROW = { doc: { _id: 'a', @@ -226,7 +244,7 @@ describe('generate-xform service', () => { 'model.xml': { data: Buffer.from(currentModel) } } } } ] }); - sinon.stub(service, 'generate').resolves({ form: currentForm, model: currentModel }); + generate.resolves({ form: currentForm, model: currentModel }); sinon.stub(db.medic, 'bulkDocs'); return service.updateAll().then(() => { expect(db.medic.query.callCount).to.equal(1); @@ -252,7 +270,7 @@ describe('generate-xform service', () => { } } ] }); - sinon.stub(service, 'generate').resolves({ form: newForm, model: newModel }); + generate.resolves({ form: newForm, model: newModel }); sinon.stub(db.medic, 'bulkDocs').resolves([ { error: 'some error' } ]); service.updateAll() .then(() => done(new Error('expected error to be thrown'))) @@ -292,7 +310,7 @@ describe('generate-xform service', () => { } } ] }); - sinon.stub(service, 'generate') + generate .onCall(0).resolves({ form: currentForm, model: currentModel }) .onCall(1).resolves({ form: newForm, model: newModel }); sinon.stub(db.medic, 'bulkDocs').resolves([ { ok: true } ]); @@ -306,5 +324,157 @@ describe('generate-xform service', () => { }); }); + describe('replaceAllMarkdown', () => { + + let replaceMarkdown; + let replaceAllMarkdown; + let unset; + + beforeEach(() => { + replaceMarkdown = sinon.stub(); + unset = service.__set__('replaceMarkdown', replaceMarkdown); + replaceAllMarkdown = service.__get__('replaceAllMarkdown'); + }); + afterEach(() => unset()); + + it('strips root node', () => { + const actual = replaceAllMarkdown('
'); + expect(actual).to.equal('
'); + }); + + it('leaves non-markdown labels alone', () => { + const actual = replaceAllMarkdown('
not markdown
'); + expect(actual).to.equal('
not markdown
'); + }); + + it('replaces questions', () => { + replaceMarkdown.returns('def'); + const given = ` + +
+ abc +
+
`; + const expected = `
+ def +
`; + expect(replaceAllMarkdown(given)).to.equal(expected); + expect(replaceMarkdown.callCount).to.equal(1); + expect(replaceMarkdown.args[0][0]).to.equal('abc'); + }); + + it('replaces hints', () => { + replaceMarkdown.returns('def'); + const given = ` + +
+ abc +
+
`; + const expected = `
+ def +
`; + expect(replaceAllMarkdown(given)).to.equal(expected); + expect(replaceMarkdown.callCount).to.equal(1); + expect(replaceMarkdown.args[0][0]).to.equal('abc'); + }); + + it('replaces all questions and hints', () => { + replaceMarkdown.withArgs('1').returns('a'); + replaceMarkdown.withArgs('2').returns('b'); + replaceMarkdown.withArgs('3').returns('c'); + const given = ` + +
+ 1 + 2 + 3 +
+
`; + const expected = `
+ a + b + c +
`; + expect(replaceAllMarkdown(given)).to.equal(expected); + expect(replaceMarkdown.callCount).to.equal(3); + }); + }); + + describe('replaceMarkdown', () => { + + let replaceMarkdown; + + beforeEach(() => { + replaceMarkdown = service.__get__('replaceMarkdown'); + }); + + it('h1', () => { + expect(replaceMarkdown('\n# HELLO\n')).to.equal('

HELLO

'); + }); + + it('h2', () => { + expect(replaceMarkdown('\n## HELLO\n')).to.equal('

HELLO

'); + }); + + it('h3', () => { + expect(replaceMarkdown('\n### HELLO\n')).to.equal('

HELLO

'); + }); + + it('h4', () => { + expect(replaceMarkdown('\n#### HELLO\n')).to.equal('

HELLO

'); + }); + + it('h5', () => { + expect(replaceMarkdown('\n##### HELLO\n')).to.equal('
HELLO
'); + }); + + it('strong with underscore', () => { + expect(replaceMarkdown('__HELLO__')).to.equal('HELLO'); + }); + + it('strong with asterisk', () => { + expect(replaceMarkdown('**HELLO**')).to.equal('HELLO'); + }); + + it('em with underscore', () => { + expect(replaceMarkdown(' _HELLO_')).to.equal(' HELLO'); + }); + + it('em with asterisk', () => { + expect(replaceMarkdown('*HELLO*')).to.equal('HELLO'); + }); + + it('a', () => { + expect(replaceMarkdown('click [here](http://google.com) to search')) + .to.equal('click here to search'); + }); + + it('a with computed URL - #3349', () => { + expect(replaceMarkdown('[Search for ](http://google.com?q=)')) + .to.equal('Search for '); + }); + + it('br', () => { + expect(replaceMarkdown('hello\ncheck for new\nlines')).to.equal('hello
check for new
lines'); + }); + + it('html tags', () => { + expect(replaceMarkdown('hello<blink></blink>')) + .to.equal('hello'); + }); + it('ampersand', () => { + expect(replaceMarkdown('mock & test')).to.equal('mock & test'); + }); + + it('double quote', () => { + expect(replaceMarkdown('mock "test"')).to.equal('mock "test"'); + }); + + it('single quote', () => { + expect(replaceMarkdown('someone's test')).to.equal('someone\'s test'); + }); + + }); }); diff --git a/api/tests/mocha/services/xforms/markdown/form.expected.html b/api/tests/mocha/services/xforms/markdown/form.expected.html new file mode 100644 index 00000000000..733b8b578be --- /dev/null +++ b/api/tests/mocha/services/xforms/markdown/form.expected.html @@ -0,0 +1,8 @@ +
+

Note Demo

+ + +
+
+ +
\ No newline at end of file diff --git a/api/tests/mocha/services/xforms/markdown/form.html b/api/tests/mocha/services/xforms/markdown/form.html new file mode 100644 index 00000000000..68f0b8bf5f3 --- /dev/null +++ b/api/tests/mocha/services/xforms/markdown/form.html @@ -0,0 +1,14 @@ + +
+

Note Demo

+ + +
+
+ +
+
\ No newline at end of file diff --git a/api/tests/mocha/services/xforms/markdown/model.expected.xml b/api/tests/mocha/services/xforms/markdown/model.expected.xml new file mode 100644 index 00000000000..510d88e2122 --- /dev/null +++ b/api/tests/mocha/services/xforms/markdown/model.expected.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/api/tests/mocha/services/xforms/markdown/model.xml b/api/tests/mocha/services/xforms/markdown/model.xml new file mode 100644 index 00000000000..92a1c40bdca --- /dev/null +++ b/api/tests/mocha/services/xforms/markdown/model.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/api/tests/mocha/services/xforms/markdown/xform.xml b/api/tests/mocha/services/xforms/markdown/xform.xml new file mode 100644 index 00000000000..dc0fb353ad9 --- /dev/null +++ b/api/tests/mocha/services/xforms/markdown/xform.xml @@ -0,0 +1,68 @@ + + + + Note Demo + + + + + +# Hello ! + + + + is currently <span style="font-family:monospace">12 weeks</span> pregnant. + + + Remind woman of the **6 STEPS TO A HEALTHY PREGNANCY:** + + <ol style="margin-left:1em; list-style: decimal inside;"><li>Attend regular ANC visits</li><li>Sleep under a treated net **every** night</li><li> is in her **first trimester**. Remind her to take supplements:<ul style="margin-left:1em; list-style: disc inside;"><li>_Take Iron Folate daily_</li></ul></li><li>Eat well: Eat more often than usual and eat a variety of foods to give you strength and to help your baby grow</li><li>Deliver your child at a health center</li><li>Breastfeed the baby **immediately** after birth</ol> + + + Referrals<I class="fa fa-hospital-o"></i> + + + <h4 style="text-align:center;">Click the Submit button at the bottom of the form.</h4> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/api/tests/mocha/services/xforms/multimedia/form.expected.html b/api/tests/mocha/services/xforms/multimedia/form.expected.html index 9990a3d92a1..263fd92c24d 100644 --- a/api/tests/mocha/services/xforms/multimedia/form.expected.html +++ b/api/tests/mocha/services/xforms/multimedia/form.expected.html @@ -1,11 +1,9 @@ - -
-

Multimedia - Demo Form

+ +

Multimedia - Demo Form

-
-
+
+
- diff --git a/api/tests/mocha/services/xforms/nested-root/form.expected.html b/api/tests/mocha/services/xforms/nested-root/form.expected.html index 7925893063e..9074a221a1b 100644 --- a/api/tests/mocha/services/xforms/nested-root/form.expected.html +++ b/api/tests/mocha/services/xforms/nested-root/form.expected.html @@ -1,91 +1,89 @@ - -
-

Delivery

+ +

Delivery

-

Patient---

User---

-

Contact---

Parent---

Parent---

Parent---

-

Contact---

-
-
-
-
-
+

Patient---

User---

+

Contact---

Parent---

Parent---

Parent---

+

Contact---

+
+
+
+
+

's Condition---

What is the outcome for the woman?---* -
This field is required
-
-

Postnatal Danger Sign Check - Woman---

Fever---* -
This field is required
Severe headache---* -
This field is required
Vaginal bleeding---* -
This field is required
Foul smelling vaginal discharge---* -
This field is required
Convulsions---* -
This field is required
-
-

Death Information - Woman---

What was the place of death?---* -
This field is required
Did the woman deliver any babies before she died?---* -
This field is required

-selected(../../condition/woman_outcome, 'deceased')hidden

-
-
-
-
+
This field is required + +

Postnatal Danger Sign Check - Woman---

Fever---* +
This field is required
Severe headache---* +
This field is required
Vaginal bleeding---* +
This field is required
Foul smelling vaginal discharge---* +
This field is required
Convulsions---* +
This field is required
+
+

Death Information - Woman---

What was the place of death?---* +
This field is required
Did the woman deliver any babies before she died?---* +
This field is required

-selected(../../condition/woman_outcome, 'deceased')hidden

+
+
+
+

Delivery Outcome---

How many babies were delivered?---* -
This field is required
How many babies are alive?---* -
0---1---2---3---Other--- -
This field is required
Where did delivery take place?---* -
This field is required
How did she deliver?---* -
This field is required
Who conducted the delivery?---* -
This field is required
-
-

Death Information - Baby---

---

Place of death---* -
This field is required
Was this a stillbirth?---* -
This field is required

--hidden

--hidden

--hidden

-
-
-
-
-
-
-
-

Baby's Condition---

---

What is the condition of baby?---*Select one.--- -
This field is required
Sex---* -
This field is required
Birth weight---* -
This field is required
Birth length---* -
This field is required
What vaccines have they received?---*Select one.--- -
This field is required
Is the child exclusively breastfeeding?---* -
This field is required
Were they initiated on breastfeeding within on hour of delivery?---* -
This field is required
Infected umbilical cord---* -
This field is required
Convulsions---* -
This field is required
Difficulty feeding or drinking---* -
This field is required
Vomits everything---* -
This field is required
Drowsy or unconscious---* -
This field is required
Body stiffness---* -
This field is required
Yellow skin color---* -
This field is required
Fever---* -
This field is required
Blue skin color---* -
This field is required
-
-
-
-
-
-
-
-
-
-
-

Safe Postnatal Practices---

-
-

PNC Visits---

Which PNC visits have taken place so far?---* -
Within 24 hours (check this box if facility delivery)---3 days---7 days---6 weeks---None of the above--- -
Value not allowedThis field is required
-
-
-
-
-
-
-
-
+
This field is required
How many babies are alive?---* +
0---1---2---3---Other--- +
This field is required
Where did delivery take place?---* +
This field is required
How did she deliver?---* +
This field is required
Who conducted the delivery?---* +
This field is required
+ +

Death Information - Baby---

---

Place of death---* +
This field is required
Was this a stillbirth?---* +
This field is required

--hidden

--hidden

--hidden

+
+
+
+
+
+
+
+

Baby's Condition---

---

What is the condition of baby?---*Select one.--- +
This field is required
Sex---* +
This field is required
Birth weight---* +
This field is required
Birth length---* +
This field is required
What vaccines have they received?---*Select one.--- +
This field is required
Is the child exclusively breastfeeding?---* +
This field is required
Were they initiated on breastfeeding within on hour of delivery?---* +
This field is required
Infected umbilical cord---* +
This field is required
Convulsions---* +
This field is required
Difficulty feeding or drinking---* +
This field is required
Vomits everything---* +
This field is required
Drowsy or unconscious---* +
This field is required
Body stiffness---* +
This field is required
Yellow skin color---* +
This field is required
Fever---* +
This field is required
Blue skin color---* +
This field is required
+
+
+
+
+
+
+
+
+
+
+

Safe Postnatal Practices---

+
+

PNC Visits---

Which PNC visits have taken place so far?---* +
Within 24 hours (check this box if facility delivery)---3 days---7 days---6 weeks---None of the above--- +
Value not allowedThis field is required
+
+
+
+
+
+
+
+
-
- + diff --git a/api/tests/mocha/services/xforms/simple/form.expected.html b/api/tests/mocha/services/xforms/simple/form.expected.html index 44426ae5053..939660a6ebc 100644 --- a/api/tests/mocha/services/xforms/simple/form.expected.html +++ b/api/tests/mocha/services/xforms/simple/form.expected.html @@ -1,14 +1,12 @@ - -
-

New Pregnancy (P)

+ +

New Pregnancy (P)

- +
क्या पिछली मासिक जानते है?Est-ce que la femme connaît la date de ses dernières régles?Apakah menstruasi terakhir diketahui?Is the last menstrual period known?গত স্রাবের পরিচিত? -
- - - +
+ + + -
- + diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index c77b0ae611e..7ebe6b58969 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -13,7 +13,6 @@ require( 'enketo-core/src/widget/file/filepicker' ), require( 'enketo-core/src/widget/datetime/datetimepicker-extended' ), require( 'enketo-core/src/widget/horizontal-choices/horizontalchoices' ), - require( './widgets/notewidget' ), require( './widgets/countdown-widget' ), require( './widgets/db-object-widget' ), require( './widgets/phone-widget' ), diff --git a/webapp/src/js/enketo/widgets/notewidget.js b/webapp/src/js/enketo/widgets/notewidget.js deleted file mode 100644 index cbd34e52b63..00000000000 --- a/webapp/src/js/enketo/widgets/notewidget.js +++ /dev/null @@ -1,111 +0,0 @@ -/** - * @preserve Copyright 2012 Martijn van de Rijdt & Modilabs - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -{ - 'use strict'; - const Widget = require( 'enketo-core/src/js/Widget' ); - const $ = require( 'jquery' ); - require( 'enketo-core/src/js/plugins' ); - - const pluginName = 'notewidget'; - - /** - * Enhances notes - * - * @constructor - * @param {Element} element [description] - * @param {(boolean|{touch: boolean, repeat: boolean})} options options - * @param {*=} e event - */ - - function Notewidget( element, options ) { - this.namespace = pluginName; - Widget.call( this, element, options ); - this._init(); - } - - //copy the prototype functions from the Widget super class - Notewidget.prototype = Object.create( Widget.prototype ); - - //ensure the constructor is the new one - Notewidget.prototype.constructor = Notewidget; - - Notewidget.prototype._init = function() { - const $el = $( this.element ); - const markdownToHtml = window.CHTCore.Markdown; - - applyLiveLinkHtml( $el ); - - markdownToHtml.element($el.find( '.question-label' )); - - applyLiveLinkEventHandlers( $el ); - - $el.find( '[readonly]' ).addClass( 'ignore' ); - - if ( $el.is( '.note' ) && !$el.next().is( '.note' ) ) { - $el.addClass( 'last-of-class' ); - } - }; - - Notewidget.prototype.destroy = function( element ) {}; // eslint-disable-line no-unused-vars - - // Replace any markdown-style links containing HTML with hrefs which are - // generated when the link is clicked. - function applyLiveLinkHtml( $el ) { - // The html may include form inputs with values set via javascript, - // explicitly set value attributes otherwise call html() won't include them - $el.find('input').each(function () { - $(this).attr('value', $(this).val()); - }); - - let html = $el.html(); - - html = html.replace( /\[([^\]]*)\]\(([^)]*<[^>]*>[^)]*)\)/gm, - '' + - '$1' ); - - $el.text( '' ).append( html ); - } - - function applyLiveLinkEventHandlers( $el ) { - $el.find( '.live-link' ).each( function() { - const $this = $( this ); - $this.on( 'click', function( e ) { - e.originalEvent.currentTarget.href = $( this ).find( '.href' ).text(); - } ); - } ); - } - - $.fn[ pluginName ] = function( options, event ) { - return this.each( function() { - const $this = $( this ); - let data = $this.data( pluginName ); - - options = options || {}; - - if ( !data && typeof options === 'object' ) { - $this.data( pluginName, ( data = new Notewidget( this, options, event ) ) ); - } else if ( data && typeof options === 'string' ) { - data[ options ]( this ); - } - } ); - }; - - module.exports = { - 'name': pluginName, - 'selector': '.note' - }; -} diff --git a/webapp/src/ts/services/integration-api.service.ts b/webapp/src/ts/services/integration-api.service.ts index bd308aa8426..8c05889ba85 100644 --- a/webapp/src/ts/services/integration-api.service.ts +++ b/webapp/src/ts/services/integration-api.service.ts @@ -3,7 +3,6 @@ import { Injectable } from '@angular/core'; import { LanguageService } from '@mm-services/language.service'; import { Select2SearchService } from '@mm-services/select2-search.service'; import { MRDTService } from '@mm-services/mrdt.service'; -import { MarkdownService } from '@mm-services/markdown.service'; import { SettingsService } from '@mm-services/settings.service'; import { AndroidApiService } from '@mm-services/android-api.service'; import { DbService } from '@mm-services/db.service'; @@ -31,7 +30,6 @@ export class IntegrationApiService { private enketoService:EnketoService, private translateService:TranslateService, private mrdtService:MRDTService, - private markdownService:MarkdownService, private settingsService:SettingsService, // todo simprints private androidApiService:AndroidApiService, @@ -41,7 +39,6 @@ export class IntegrationApiService { this.Select2Search = select2SearchService; this.Enketo = enketoService; this.MRDT = mrdtService; - this.Markdown = markdownService; this.Settings = settingsService; this.AndroidApi = androidApiService; this.Translate = translateService; diff --git a/webapp/src/ts/services/markdown.service.ts b/webapp/src/ts/services/markdown.service.ts deleted file mode 100644 index f51c1386077..00000000000 --- a/webapp/src/ts/services/markdown.service.ts +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Supports a small subset of MarkDown and converts this to HTML: _, __, *, **, []() - * Also converts newline characters - * - * Not supported: escaping and other MarkDown syntax - */ -import { Injectable } from '@angular/core'; - -@Injectable({ - providedIn: 'root', -}) -export class MarkdownService { - basic(html) { - // Convert markdown - html = html.replace(/^# (.*)\n/gm, '

$1

'); - html = html.replace(/^## (.*)\n/gm, '

$1

'); - html = html.replace(/^### (.*)\n/gm, '

$1

'); - html = html.replace(/^#### (.*)\n/gm, '

$1

'); - html = html.replace(/^##### (.*)\n/gm, '
$1
'); - html = html.replace(/__([^\s]([^_]*[^\s])?)__/gm, '$1'); - html = html.replace(/\*\*([^\s]([^*]*[^\s])?)\*\*/gm, '$1'); - html = html.replace(/_([^_\s]([^_]*[^_\s])?)_/gm, '$1'); - html = html.replace(/\*([^*\s]([^*]*[^*\s])?)\*/gm, '$1'); - html = html.replace(/\[([^\]]*)\]\(([^)]+)\)/gm, '$1'); - html = html.replace(/\n/gm, '
'); - - // Convert embedded HTML - html = html.replace(/&/g, '&'); - html = html.replace(/</g, '<'); - html = html.replace(/>/g, '>'); - html = html.replace(/"/g, '"'); - html = html.replace(/'/g, '\''); - - return html; - } - - element(element) { - return this.translateElement(element); - } - - private translateElement(e) { - return e.each((idx, element) => { - let html; - const $childStore = $('
'); - $(element) - .children(':not(input, select, textarea)') - .each((index, element) => { - const name = '$$$' + index; - this - .translateElement($(element).clone()) - .appendTo($childStore); - $(element).replaceWith(name); - }); - - html = this.basic($(element).html()); - - $childStore - .children() - .each((idx, element) => { - const regex = new RegExp('\\$\\$\\$' + idx); - html = html.replace(regex, $(element)[0].outerHTML); - }); - $(element).text('').append(html); - }); - } - -} From ce1c6d1116c347b93415e9645509bf96a3aa122d Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 23 Aug 2021 13:52:00 -0500 Subject: [PATCH 014/179] Update CSS (remove .note, hide language picker, etc) --- webapp/src/css/enketo/medic.less | 31 ++++++++++++------------ webapp/src/ts/services/enketo.service.ts | 4 --- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/webapp/src/css/enketo/medic.less b/webapp/src/css/enketo/medic.less index a8f55ad0c50..a5a21e9964b 100644 --- a/webapp/src/css/enketo/medic.less +++ b/webapp/src/css/enketo/medic.less @@ -14,6 +14,17 @@ .enketo { position: relative; + form { + #form-languages { + display: none; + } + .option-wrapper { + .option-label { + white-space: normal; + } + } + } + #form-title { border-bottom: 1px solid @separator-color; } @@ -76,7 +87,6 @@ label, legend, .btn, - .note, .or-required-msg.active, .or-constraint-msg.active, .or-hint.active, @@ -120,22 +130,11 @@ float: left; } } - .note { - border: 0; - display: block; - padding: 7px 12px; - margin: 15px 0; - } label, - .question, - .note { + .question { padding-left: 20px; padding-right: 20px; } - .note { - border: 0; - font-weight: normal; - } .container { padding: 0; } @@ -146,8 +145,7 @@ .or-appearance-hidden { display: none !important; } - .question, - .note { + .question { input[type="text"], input[type="password"], input[type="url"], @@ -194,6 +192,9 @@ /* inherit all standard TEXT input styles */ &:extend(.enketo input[type="text"]); } + .readonly { + font-weight: normal; + } .invalid-constraint, .invalid-required { margin: 0; diff --git a/webapp/src/ts/services/enketo.service.ts b/webapp/src/ts/services/enketo.service.ts index 42b3cf978fc..c82d410dc6a 100644 --- a/webapp/src/ts/services/enketo.service.ts +++ b/webapp/src/ts/services/enketo.service.ts @@ -135,10 +135,6 @@ export class EnketoService { $element.text(this.translateService.instant('enketo.' + $element.attr('data-i18n'))); }); - // Cannot actually remove the #form-languages dropdown or Enketo will ignore our override language that we - // provide when constructing the EnketoForm. - $html.find('#form-languages').hide(); - const hasContactSummary = $(model).find('> instance[id="contact-summary"]').length === 1; return { html: $html, From 240efcc2bbad0c362951da782a1931640e1d03cf Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 23 Aug 2021 14:50:35 -0500 Subject: [PATCH 015/179] Fix word-breaking in option labels --- webapp/src/css/enketo/medic.less | 1 + webapp/src/js/enketo/widgets/horizontal-choices.js | 0 2 files changed, 1 insertion(+) create mode 100644 webapp/src/js/enketo/widgets/horizontal-choices.js diff --git a/webapp/src/css/enketo/medic.less b/webapp/src/css/enketo/medic.less index a5a21e9964b..5b16afc09f2 100644 --- a/webapp/src/css/enketo/medic.less +++ b/webapp/src/css/enketo/medic.less @@ -21,6 +21,7 @@ .option-wrapper { .option-label { white-space: normal; + word-break: normal; } } } diff --git a/webapp/src/js/enketo/widgets/horizontal-choices.js b/webapp/src/js/enketo/widgets/horizontal-choices.js new file mode 100644 index 00000000000..e69de29bb2d From ce93925d74593b9af99182102b4122a2ffe8dee0 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 25 Aug 2021 09:24:22 -0500 Subject: [PATCH 016/179] Update wdio selector for phone input --- tests/page-objects/contacts/contacts.wdio.page.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/page-objects/contacts/contacts.wdio.page.js b/tests/page-objects/contacts/contacts.wdio.page.js index ba9e83550b2..24f323153ab 100644 --- a/tests/page-objects/contacts/contacts.wdio.page.js +++ b/tests/page-objects/contacts/contacts.wdio.page.js @@ -23,7 +23,7 @@ const dateOfBirthField = () => $('[placeholder="yyyy-mm-dd"]'); const contactSexField = () => $('[data-name="/data/contact/sex"][value="female"]'); const personName = () => $('[name="/data/person/name"]'); const personSexField = () => $('[data-name="/data/person/sex"][value="female"]'); -const personPhoneField = () => $('input.ignore[type="tel"]'); +const personPhoneField = () => $('[name="/data/person/phone"]'); const topContact = () => $('#contacts-list > ul > li:nth-child(1) > a > div.content > div > h4 > span'); const name = () => $('.children h4 span'); const externalIdField = (place) => $(`[name="/data/${place}/external_id"]`); From eb8b474bf9949aa7670792c3759fb0539c0fb27e Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 25 Aug 2021 10:34:46 -0500 Subject: [PATCH 017/179] Update Protractor selector for phone input --- tests/page-objects/forms/add-family-form.po.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/page-objects/forms/add-family-form.po.js b/tests/page-objects/forms/add-family-form.po.js index 693d97e37bf..232d219ee6f 100644 --- a/tests/page-objects/forms/add-family-form.po.js +++ b/tests/page-objects/forms/add-family-form.po.js @@ -33,7 +33,7 @@ module.exports = { }, fillPrimaryTel: async () => { - const primaryTelField = element(by.css('.ignore[type="tel"]')); + const primaryTelField = element(by.css('[name="/data/ephemeral_phone/phone1"]')); await helper.waitUntilReadyNative(primaryTelField); await primaryTelField.clear().sendKeys('+13125551212'); }, From 322fac7bac16d7375e144b4674912b97ad85643e Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 25 Aug 2021 18:13:45 -0500 Subject: [PATCH 018/179] Fix widgets and add new datepicker-widget --- .../contacts/contacts.wdio.page.js | 2 +- .../page-objects/forms/add-family-form.po.js | 2 +- webapp/custom-webpack.config.js | 3 +- webapp/src/js/enketo/widgets.js | 4 +- .../js/enketo/widgets/android-datepicker.js | 12 +- .../widgets/bikram-sambat-datepicker.js | 12 +- .../src/js/enketo/widgets/countdown-widget.js | 12 +- .../js/enketo/widgets/datepicker-widget.js | 16 +++ .../src/js/enketo/widgets/db-object-widget.js | 126 ++++++++++-------- webapp/src/js/enketo/widgets/mrdt.js | 15 ++- webapp/src/js/enketo/widgets/phone-widget.js | 9 +- webapp/src/js/enketo/widgets/simprints.js | 12 +- .../js/enketo/widgets/unselectable-radios.js | 24 ++-- 13 files changed, 140 insertions(+), 109 deletions(-) create mode 100644 webapp/src/js/enketo/widgets/datepicker-widget.js diff --git a/tests/page-objects/contacts/contacts.wdio.page.js b/tests/page-objects/contacts/contacts.wdio.page.js index 24f323153ab..ba9e83550b2 100644 --- a/tests/page-objects/contacts/contacts.wdio.page.js +++ b/tests/page-objects/contacts/contacts.wdio.page.js @@ -23,7 +23,7 @@ const dateOfBirthField = () => $('[placeholder="yyyy-mm-dd"]'); const contactSexField = () => $('[data-name="/data/contact/sex"][value="female"]'); const personName = () => $('[name="/data/person/name"]'); const personSexField = () => $('[data-name="/data/person/sex"][value="female"]'); -const personPhoneField = () => $('[name="/data/person/phone"]'); +const personPhoneField = () => $('input.ignore[type="tel"]'); const topContact = () => $('#contacts-list > ul > li:nth-child(1) > a > div.content > div > h4 > span'); const name = () => $('.children h4 span'); const externalIdField = (place) => $(`[name="/data/${place}/external_id"]`); diff --git a/tests/page-objects/forms/add-family-form.po.js b/tests/page-objects/forms/add-family-form.po.js index 232d219ee6f..693d97e37bf 100644 --- a/tests/page-objects/forms/add-family-form.po.js +++ b/tests/page-objects/forms/add-family-form.po.js @@ -33,7 +33,7 @@ module.exports = { }, fillPrimaryTel: async () => { - const primaryTelField = element(by.css('[name="/data/ephemeral_phone/phone1"]')); + const primaryTelField = element(by.css('.ignore[type="tel"]')); await helper.waitUntilReadyNative(primaryTelField); await primaryTelField.clear().sendKeys('+13125551212'); }, diff --git a/webapp/custom-webpack.config.js b/webapp/custom-webpack.config.js index c02a05614bc..d868358ead3 100644 --- a/webapp/custom-webpack.config.js +++ b/webapp/custom-webpack.config.js @@ -4,8 +4,9 @@ const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPl module.exports = { resolve: { alias: { + // TODO I think this need to be updated to enketo/config and we need to change to a config.js file... 'enketo-config': 'src/js/enketo/config.json', - 'widgets': 'src/js/enketo/widgets', + 'enketo/widgets': 'src/js/enketo/widgets', 'enketo/xpath-evaluator-binding': 'src/js/enketo/OpenrosaXpathEvaluatorBinding', 'extended-xpath': 'node_modules/openrosa-xpath-evaluator/src/extended-xpath', 'openrosa-extensions': 'node_modules/openrosa-xpath-evaluator/src/openrosa-extensions', diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index 7ebe6b58969..373ca3d339c 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -11,8 +11,8 @@ require( 'enketo-core/src/widget/date/datepicker-extended' ), require( 'enketo-core/src/widget/time/timepicker-extended' ), require( 'enketo-core/src/widget/file/filepicker' ), - require( 'enketo-core/src/widget/datetime/datetimepicker-extended' ), - require( 'enketo-core/src/widget/horizontal-choices/horizontalchoices' ), + require('./widgets/datepicker-widget'), + // // require( 'enketo-core/src/widget/horizontal-choices/horizontalchoices' ), // TODO fix me require( './widgets/countdown-widget' ), require( './widgets/db-object-widget' ), require( './widgets/phone-widget' ), diff --git a/webapp/src/js/enketo/widgets/android-datepicker.js b/webapp/src/js/enketo/widgets/android-datepicker.js index f264db86eff..9b565a66706 100644 --- a/webapp/src/js/enketo/widgets/android-datepicker.js +++ b/webapp/src/js/enketo/widgets/android-datepicker.js @@ -15,7 +15,7 @@ */ { 'use strict'; - const Widget = require( 'enketo-core/src/js/Widget' ); + const Widget = require( 'enketo-core/src/js/widget' ).default; const $ = require( 'jquery' ); require( 'enketo-core/src/js/plugins' ); @@ -43,7 +43,7 @@ function Androiddatepicker( element, options ) { this.namespace = pluginName; - Widget.call( this, element, options ); + Object.assign( this, new Widget( element, options ) ); this._init(); } @@ -108,8 +108,8 @@ } ); }; - module.exports = { - 'name': pluginName, - 'selector': 'input[type=date]' - }; + Androiddatepicker.selector = 'input[type=date]'; + Androiddatepicker.condition = Widget.condition; + + module.exports = Androiddatepicker; } diff --git a/webapp/src/js/enketo/widgets/bikram-sambat-datepicker.js b/webapp/src/js/enketo/widgets/bikram-sambat-datepicker.js index c4b6928cc3e..24c3e50a21a 100644 --- a/webapp/src/js/enketo/widgets/bikram-sambat-datepicker.js +++ b/webapp/src/js/enketo/widgets/bikram-sambat-datepicker.js @@ -1,6 +1,6 @@ { 'use strict'; - const Widget = require( 'enketo-core/src/js/Widget' ); + const Widget = require( 'enketo-core/src/js/widget' ).default; const $ = require( 'jquery' ); require( 'enketo-core/src/js/plugins' ); const bikram_sambat_bs = require( 'bikram-sambat-bootstrap' ); @@ -9,7 +9,7 @@ function Bikramsambatdatepicker( element, options ) { this.namespace = pluginName; - Widget.call( this, element, options ); + Object.assign( this, new Widget( element, options ) ); this._init(); } @@ -74,10 +74,10 @@ } ); }; - module.exports = { - 'name': pluginName, - 'selector': 'input[type=date]' - }; + Bikramsambatdatepicker.selector = 'input[type=date]'; + Bikramsambatdatepicker.condition = function() { return true; }; + + module.exports = Bikramsambatdatepicker; } const TEMPLATE = diff --git a/webapp/src/js/enketo/widgets/countdown-widget.js b/webapp/src/js/enketo/widgets/countdown-widget.js index dfb2faca95a..1d31aeba585 100644 --- a/webapp/src/js/enketo/widgets/countdown-widget.js +++ b/webapp/src/js/enketo/widgets/countdown-widget.js @@ -16,7 +16,7 @@ { 'use strict'; - const Widget = require( 'enketo-core/src/js/Widget' ); + const Widget = require( 'enketo-core/src/js/widget' ).default; const $ = require( 'jquery' ); require( 'enketo-core/src/js/plugins' ); @@ -36,7 +36,7 @@ function Timerwidget( element, options ) { this.namespace = pluginName; - Widget.call( this, element, options ); + Object.assign( this, new Widget( element, options ) ); this._init(); } @@ -72,10 +72,10 @@ } ); }; - module.exports = { - 'name': pluginName, - 'selector': '.or-appearance-countdown-timer input', - }; + Timerwidget.selector = '.or-appearance-countdown-timer input'; + Timerwidget.condition = function() { return true; }; + + module.exports = Timerwidget; } function TimerAnimation(canvas, canvasW, canvasH, duration) { diff --git a/webapp/src/js/enketo/widgets/datepicker-widget.js b/webapp/src/js/enketo/widgets/datepicker-widget.js new file mode 100644 index 00000000000..46f779f059b --- /dev/null +++ b/webapp/src/js/enketo/widgets/datepicker-widget.js @@ -0,0 +1,16 @@ +{ + 'use strict'; + const DatepickerExtended = require( 'enketo-core/src/widget/date/datepicker-extended' ).default; + + function Datepicker( element, options ) { + Object.assign(this, new DatepickerExtended(element, options)); + } + + //copy the prototype functions from the DatepickerExtended super class + Datepicker.prototype = Object.create( DatepickerExtended.prototype ); + + Datepicker.selector = DatepickerExtended.selector; + Datepicker.condition = function() { return true; }; + + module.exports = Datepicker; +} diff --git a/webapp/src/js/enketo/widgets/db-object-widget.js b/webapp/src/js/enketo/widgets/db-object-widget.js index a25d0def81c..d25231ad67e 100644 --- a/webapp/src/js/enketo/widgets/db-object-widget.js +++ b/webapp/src/js/enketo/widgets/db-object-widget.js @@ -1,51 +1,63 @@ { 'use strict'; const _ = require('lodash/core'); - const Widget = require('enketo-core/src/js/Widget'); + const Widget = require('enketo-core/src/js/widget').default; const $ = require('jquery'); const CONTACT_TYPE_CLASS_PREFIX = 'or-appearance-type-'; require('enketo-core/src/js/plugins'); const pluginName = 'dbobjectwidget'; + const mainSelector = '.or-appearance-db-object,.or-appearance-select-contact'; /** - * Allows drop-down selectors for db objects. - * - * @constructor - * @param {Element} element [description] - * @param {(boolean|{touch: boolean, repeat: boolean})} options options - * @param {*=} e event - */ - - function Dbobjectwidget( element, options ) { + * Allows drop-down selectors for db objects. + * + * @constructor + * @param {Element} element [description] + * @param {(boolean|{touch: boolean, repeat: boolean})} options options + * @param {*=} e event + */ + function Dbobjectwidget(element, options) { this.namespace = pluginName; - Widget.call( this, element, options ); + Object.assign(this, new Widget(element, options)); this._init(); } //copy the prototype functions from the Widget super class - Dbobjectwidget.prototype = Object.create( Widget.prototype ); + Dbobjectwidget.prototype = Object.create(Widget.prototype); //ensure the constructor is the new one Dbobjectwidget.prototype.constructor = Dbobjectwidget; - Dbobjectwidget.prototype._init = function() { - construct( this.element ); + Dbobjectwidget.prototype._init = function () { + construct(this.element); }; - function construct( element ) { - // timeout needed to let setting the value complete before rendering - setTimeout(function() { - const $question = $( element ); + function construct(element) { - const Select2Search = window.CHTCore.Select2Search; + const $question = $(element).parent(mainSelector); + let $textInput = $question.find('input'); + + const disabled = $textInput.prop('readonly'); + const relevant = $textInput.attr('data-relevant'); + const name = $textInput.attr('name'); + + if (relevant) { + $textInput.removeAttr('data-relevant disabled'); + $question.attr('data-relevant', relevant); + $question.attr('disabled', disabled); + $question.attr('name', name); + } - let $textInput = $question.find('input'); + // timeout needed to let setting the value complete before rendering + setTimeout(function () { + const Select2Search = window.CHTCore.Select2Search; const value = $textInput.val(); - const disabled = $textInput.prop('readonly'); - $textInput.replaceWith($textInput[0].outerHTML.replace(/^/, '')); + $textInput.replaceWith($textInput[0].outerHTML + .replace(/^/, '')); $textInput = $question.find('select'); const preSelectedOption = $('') .attr('value', value) @@ -114,33 +126,32 @@ const node = Enketo.getCurrentForm().model.node(path, index); - // Non-existant nodes still return a value, it's just an empty array - // Real nodes have a value, or at minimum [""] - if (node.getVal().length) { + // Non-existant nodes are undefined + if (typeof node.getVal() !== 'undefined') { node.setVal(value); } }); }; - /** - * This function, implemented on all enketo widgets, is only called when - * cloning repeated sections of a form. It's actually called on the cloned - * copy of a question, and for some reason for this widget needs to destroy - * and then re-create the select2. - * @see https://github.com/medic/medic/issues/3487 - */ - Dbobjectwidget.prototype.destroy = function( element ) { - deconstruct( element ); - construct( element ); + /** TODO I don't think there is a destroy function any more... + * This function, implemented on all enketo widgets, is only called when + * cloning repeated sections of a form. It's actually called on the cloned + * copy of a question, and for some reason for this widget needs to destroy + * and then re-create the select2. + * @see https://github.com/medic/medic/issues/3487 + */ + Dbobjectwidget.prototype.destroy = function (element) { + deconstruct(element); + construct(element); }; /** Reverse the select2 setup steps performed in construct() */ - function deconstruct( element ) { - const $question = $( element ); + function deconstruct(element) { + const $question = $(element).parent(mainSelector); - $question.find( '.select2-container' ).remove(); + $question.find('.select2-container').remove(); - const $selectInput = $question.find( 'select' ); + const $selectInput = $question.find('select'); // At this stage in construct(), the select2 jquery plugin is // initialised. To reverse this, we would call: @@ -148,33 +159,36 @@ // However, calling this here would destroy the select2 for the original // widget, so -do not do it-. - $selectInput.off( 'change.dbobjectwidget' ); + $selectInput.off('change.dbobjectwidget'); - $selectInput.find( 'option' ).remove(); + $selectInput.find('option').remove(); const replacementHtml = $selectInput[0].outerHTML - .replace( /^/, ''); + $selectInput.replaceWith(replacementHtml); } - $.fn[ pluginName ] = function( options, event ) { - return this.each( function() { - const $this = $( this ); - let data = $this.data( pluginName ); + $.fn[pluginName] = function (options, event) { + return this.each(function () { + const $this = $(this); + let data = $this.data(pluginName); options = options || {}; - if ( !data && typeof options === 'object' ) { - $this.data( pluginName, ( data = new Dbobjectwidget( this, options, event ) ) ); - } else if ( data && typeof options === 'string' ) { - data[ options ]( this ); + if (!data && typeof options === 'object') { + $this.data(pluginName, (data = new Dbobjectwidget(this, options, event))); + } else if (data && typeof options === 'string') { + data[options](this); } - } ); + }); }; - module.exports = { - 'name': pluginName, - 'selector': '.or-appearance-db-object,.or-appearance-select-contact', + Dbobjectwidget.selector = `${mainSelector} input[type=text]`; + Dbobjectwidget.condition = Widget.condition; + Dbobjectwidget.list = function () { + return true; }; + + module.exports = Dbobjectwidget; } diff --git a/webapp/src/js/enketo/widgets/mrdt.js b/webapp/src/js/enketo/widgets/mrdt.js index e3845ed4f69..b87e99ebf76 100644 --- a/webapp/src/js/enketo/widgets/mrdt.js +++ b/webapp/src/js/enketo/widgets/mrdt.js @@ -1,10 +1,11 @@ { 'use strict'; - const Widget = require('enketo-core/src/js/Widget'); + const Widget = require( 'enketo-core/src/js/widget' ).default; const $ = require( 'jquery' ); require('enketo-core/src/js/plugins'); const pluginName = 'mrdtwidget'; + const mainSelector = '.or-appearance-mrdt-verify'; /** * @constructor @@ -14,7 +15,7 @@ */ function Mrdtwidget( element, options ) { this.namespace = pluginName; - Widget.call( this, element, options ); + Object.assign( this, new Widget( element, options ) ); this._init(); } @@ -26,7 +27,7 @@ Mrdtwidget.prototype._init = function() { const self = this; - const $el = $( this.element ); + const $el = $( this.element ).parent( mainSelector ); const $input = $el.find( 'input' ); // we need to make it a textarea because text inputs strip out the @@ -91,8 +92,8 @@ } ); }; - module.exports = { - 'name': pluginName, - 'selector': '.or-appearance-mrdt-verify', - }; + Mrdtwidget.selector = `${mainSelector} input`; + Mrdtwidget.condition = function() { return true; }; + + module.exports = Mrdtwidget; } diff --git a/webapp/src/js/enketo/widgets/phone-widget.js b/webapp/src/js/enketo/widgets/phone-widget.js index bdc72b10502..cf673f42ba7 100644 --- a/webapp/src/js/enketo/widgets/phone-widget.js +++ b/webapp/src/js/enketo/widgets/phone-widget.js @@ -121,9 +121,8 @@ } ); }; - module.exports = { - 'name': pluginName, - 'selector': 'input[type="tel"]', - 'widget': PhoneWidget - }; + PhoneWidget.selector = 'input[type="tel"]'; + PhoneWidget.condition = function() { return true; }; + + module.exports = PhoneWidget; } diff --git a/webapp/src/js/enketo/widgets/simprints.js b/webapp/src/js/enketo/widgets/simprints.js index d0d3c02b810..44ebf42f346 100644 --- a/webapp/src/js/enketo/widgets/simprints.js +++ b/webapp/src/js/enketo/widgets/simprints.js @@ -1,6 +1,6 @@ { 'use strict'; - const Widget = require('enketo-core/src/js/Widget'); + const Widget = require( 'enketo-core/src/js/widget' ).default; const $ = require( 'jquery' ); require('enketo-core/src/js/plugins'); @@ -14,7 +14,7 @@ */ function Simprintswidget( element, options ) { this.namespace = pluginName; - Widget.call( this, element, options ); + Object.assign( this, new Widget( element, options ) ); this._init(); } @@ -73,8 +73,8 @@ } ); }; - module.exports = { - 'name': pluginName, - 'selector': '.or-appearance-simprints-reg', - }; + Simprintswidget.selector = '.or-appearance-simprints-reg'; + Simprintswidget.condition = function() { return true; }; + + module.exports = Simprintswidget; } diff --git a/webapp/src/js/enketo/widgets/unselectable-radios.js b/webapp/src/js/enketo/widgets/unselectable-radios.js index b503c82b048..f167574fde1 100644 --- a/webapp/src/js/enketo/widgets/unselectable-radios.js +++ b/webapp/src/js/enketo/widgets/unselectable-radios.js @@ -16,7 +16,7 @@ { 'use strict'; - const Widget = require( 'enketo-core/src/js/Widget' ); + const Widget = require( 'enketo-core/src/js/widget' ).default; const $ = require( 'jquery' ); require( 'enketo-core/src/js/plugins' ); @@ -33,7 +33,7 @@ function Unselectableradios( element, options ) { this.namespace = pluginName; - Widget.call( this, element, options ); + Object.assign( this, new Widget( element, options ) ); this._init(); } @@ -64,14 +64,14 @@ } ); }; - module.exports = { - 'name': pluginName, - // Enketo currently uses `data-required` instead of `required` to denote - // a required field. - // - // This code assumes that we never have dynamicly calculated required - // flags. See https://github.com/enketo/enketo-core/issues/362 for more - // discussion. - 'selector': 'input[type=radio][data-required="true()"]' - }; + // Enketo currently uses `data-required` instead of `required` to denote + // a required field. + // + // This code assumes that we never have dynamicly calculated required + // flags. See https://github.com/enketo/enketo-core/issues/362 for more + // discussion. + Unselectableradios.selector = 'input[type=radio][data-required="true()"]'; + Unselectableradios.condition = Widget.condition; + + module.exports = Unselectableradios; } From c11b7ef0f34951b45a678a3159357c6319fd9490 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Thu, 26 Aug 2021 10:46:11 -0500 Subject: [PATCH 019/179] Fix phone-widget unit tests --- .../karma/js/enketo/widgets/phone-widget.spec.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/webapp/tests/karma/js/enketo/widgets/phone-widget.spec.ts b/webapp/tests/karma/js/enketo/widgets/phone-widget.spec.ts index 5b584ffd573..efc8c9eb789 100644 --- a/webapp/tests/karma/js/enketo/widgets/phone-widget.spec.ts +++ b/webapp/tests/karma/js/enketo/widgets/phone-widget.spec.ts @@ -37,7 +37,7 @@ describe('Enketo: Phone Widget', () => { const input = inputSelector(inputName); const proxyInput = proxySelector(inputName); - new phoneWidget.widget($(phoneWidget.selector)[0], {}, settingsService); + new phoneWidget($(phoneWidget.selector)[0], {}, settingsService); // Check a proxy input field is added, and the real one is hidden. expect($('input').length).to.equal(2); @@ -48,7 +48,7 @@ describe('Enketo: Phone Widget', () => { it('should format input when input value change', () => { buildHtml(); - new phoneWidget.widget($(phoneWidget.selector)[0], {}, settingsService); + new phoneWidget($(phoneWidget.selector)[0], {}, settingsService); const input = inputSelector(inputName); const proxyInput = proxySelector(inputName); @@ -63,7 +63,7 @@ describe('Enketo: Phone Widget', () => { it('should still format if no settings are found', () => { buildHtml(); - new phoneWidget.widget($(phoneWidget.selector)[0], {}, settingsService); + new phoneWidget($(phoneWidget.selector)[0], {}, settingsService); const input = inputSelector(inputName); const proxyInput = proxySelector(inputName); @@ -76,7 +76,7 @@ describe('Enketo: Phone Widget', () => { it('should not format invalid input', () => { buildHtml(); - new phoneWidget.widget($(phoneWidget.selector)[0], {}, settingsService); + new phoneWidget($(phoneWidget.selector)[0], {}, settingsService); const input = inputSelector(inputName); const proxyInput = proxySelector(inputName); const invalid = '+1 (650) 222-33333333'; @@ -90,7 +90,7 @@ describe('Enketo: Phone Widget', () => { it('should keep formatted input when value is valid', () => { buildHtml(); - new phoneWidget.widget($(phoneWidget.selector)[0], {}, settingsService); + new phoneWidget($(phoneWidget.selector)[0], {}, settingsService); const input = inputSelector(inputName); const proxyInput = proxySelector(inputName); const valid = '+16502223333'; @@ -105,7 +105,7 @@ describe('Enketo: Phone Widget', () => { it('should not modify non-phone fields', () => { buildHtml('other'); - new phoneWidget.widget($(phoneWidget.selector)[0], {}, settingsService); + new phoneWidget($(phoneWidget.selector)[0], {}, settingsService); // No extra field expect($('input').length).to.equal(1); From 3e1cc170481e8355a4a5a8c9b7f630fd280b2d70 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Thu, 26 Aug 2021 11:03:27 -0500 Subject: [PATCH 020/179] Convert Enketo config.json to config.js --- webapp/custom-webpack.config.js | 3 +-- webapp/src/js/enketo/config.js | 16 ++++++++++++++++ webapp/src/js/enketo/config.json | 10 ---------- 3 files changed, 17 insertions(+), 12 deletions(-) create mode 100644 webapp/src/js/enketo/config.js delete mode 100644 webapp/src/js/enketo/config.json diff --git a/webapp/custom-webpack.config.js b/webapp/custom-webpack.config.js index d868358ead3..696ccf0c63e 100644 --- a/webapp/custom-webpack.config.js +++ b/webapp/custom-webpack.config.js @@ -4,8 +4,7 @@ const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPl module.exports = { resolve: { alias: { - // TODO I think this need to be updated to enketo/config and we need to change to a config.js file... - 'enketo-config': 'src/js/enketo/config.json', + 'enketo/config': 'src/js/enketo/config.js', 'enketo/widgets': 'src/js/enketo/widgets', 'enketo/xpath-evaluator-binding': 'src/js/enketo/OpenrosaXpathEvaluatorBinding', 'extended-xpath': 'node_modules/openrosa-xpath-evaluator/src/extended-xpath', diff --git a/webapp/src/js/enketo/config.js b/webapp/src/js/enketo/config.js new file mode 100644 index 00000000000..5a483ae81ca --- /dev/null +++ b/webapp/src/js/enketo/config.js @@ -0,0 +1,16 @@ +{ + module.exports = { + 'maps': [ + { + 'tiles': [ 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' ], + 'name': 'streets', + 'attribution': 'Map data © OpenStreetMap contributors' + } + ], + 'repeatOrdinals': false, + 'validateContinuously': false, + 'validatePage': true, + 'swipePage': false, + 'textMaxChars': 2000 + }; +} diff --git a/webapp/src/js/enketo/config.json b/webapp/src/js/enketo/config.json deleted file mode 100644 index e5511f755b1..00000000000 --- a/webapp/src/js/enketo/config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "maps": [ - { - "tiles": [ "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" ], - "name": "streets", - "attribution": "Map data © OpenStreetMap contributors" - } - ], - "swipePage": false -} From 6a9ba75836008fde04bdfa9f004e0c64589129fe Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Thu, 26 Aug 2021 11:14:17 -0500 Subject: [PATCH 021/179] Add custom Enketo file-manager --- webapp/custom-webpack.config.js | 2 ++ webapp/src/js/enketo/file-manager.js | 13 +++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 webapp/src/js/enketo/file-manager.js diff --git a/webapp/custom-webpack.config.js b/webapp/custom-webpack.config.js index 696ccf0c63e..3af11472f94 100644 --- a/webapp/custom-webpack.config.js +++ b/webapp/custom-webpack.config.js @@ -4,9 +4,11 @@ const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPl module.exports = { resolve: { alias: { + // TODO Do we also need mapping for enketo/translator, enketo/dialog? Probably only if we have custom impls. 'enketo/config': 'src/js/enketo/config.js', 'enketo/widgets': 'src/js/enketo/widgets', 'enketo/xpath-evaluator-binding': 'src/js/enketo/OpenrosaXpathEvaluatorBinding', + 'enketo/file-manager': 'src/js/enketo/file-manager', 'extended-xpath': 'node_modules/openrosa-xpath-evaluator/src/extended-xpath', 'openrosa-extensions': 'node_modules/openrosa-xpath-evaluator/src/openrosa-extensions', // translator for enketo's internal i18n diff --git a/webapp/src/js/enketo/file-manager.js b/webapp/src/js/enketo/file-manager.js new file mode 100644 index 00000000000..e099515f91a --- /dev/null +++ b/webapp/src/js/enketo/file-manager.js @@ -0,0 +1,13 @@ +'use strict'; +const fileManager = require( 'enketo-core/src/js/file-manager' ).default; + +fileManager.isTooLarge = function( file ) { + return file && file.size > 32 * 1024; +}; + +fileManager.getMaxSizeReadable = function () { + return '32KB'; +}; + +// Exposing to overwrite enketo's file-manager with these file size defaults +module.exports = fileManager; From 0bfcf9ebeb17c44f8c662ccf040ae1e342c4533d Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Thu, 26 Aug 2021 11:56:45 -0500 Subject: [PATCH 022/179] Add horizonal-choices widget --- webapp/src/js/enketo/widgets.js | 9 ++------- .../js/enketo/widgets/horizontal-choices.js | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index 373ca3d339c..2ff4bb3a50e 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -1,9 +1,4 @@ { - const fileManager = require( 'enketo-core/src/js/file-manager' ); - fileManager.isTooLarge = function( file ) { - return file && file.size > 32 * 1024; - }; - const widgets = [ require( 'enketo-core/src/widget/geo/geopicker' ), require( 'enketo-core/src/widget/table/tablewidget' ), @@ -11,8 +6,8 @@ require( 'enketo-core/src/widget/date/datepicker-extended' ), require( 'enketo-core/src/widget/time/timepicker-extended' ), require( 'enketo-core/src/widget/file/filepicker' ), - require('./widgets/datepicker-widget'), - // // require( 'enketo-core/src/widget/horizontal-choices/horizontalchoices' ), // TODO fix me + require( './widgets/datepicker-widget' ), + require( './widgets/horizontal-choices' ), require( './widgets/countdown-widget' ), require( './widgets/db-object-widget' ), require( './widgets/phone-widget' ), diff --git a/webapp/src/js/enketo/widgets/horizontal-choices.js b/webapp/src/js/enketo/widgets/horizontal-choices.js index e69de29bb2d..7e728b6578c 100644 --- a/webapp/src/js/enketo/widgets/horizontal-choices.js +++ b/webapp/src/js/enketo/widgets/horizontal-choices.js @@ -0,0 +1,19 @@ +{ + 'use strict'; + const Columns = require('enketo-core/src/widget/columns/columns').default; + + function HorizontalChoices(element, options) { + Object.assign(this, new Columns(element, options)); + } + + //copy the prototype functions from the Columns super class + HorizontalChoices.prototype = Object.create(Columns.prototype); + + HorizontalChoices.selector = + '.or-appearance-horizontal, .or-appearance-horizontal-compact'; + HorizontalChoices.condition = function () { + return true; + }; + + module.exports = HorizontalChoices; +} From a6e2afa9d9db7069093554d30b1766a229f8a8ef Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 27 Aug 2021 13:09:21 -0700 Subject: [PATCH 023/179] Fix up the db-object-widget --- .../src/js/enketo/widgets/db-object-widget.js | 53 +++++++------------ 1 file changed, 20 insertions(+), 33 deletions(-) diff --git a/webapp/src/js/enketo/widgets/db-object-widget.js b/webapp/src/js/enketo/widgets/db-object-widget.js index d25231ad67e..282c4b72788 100644 --- a/webapp/src/js/enketo/widgets/db-object-widget.js +++ b/webapp/src/js/enketo/widgets/db-object-widget.js @@ -18,46 +18,33 @@ * @param {(boolean|{touch: boolean, repeat: boolean})} options options * @param {*=} e event */ - function Dbobjectwidget(element, options) { - this.namespace = pluginName; - Object.assign(this, new Widget(element, options)); - this._init(); + class Dbobjectwidget extends Widget { + _init() { + construct(this.element); + } } - //copy the prototype functions from the Widget super class - Dbobjectwidget.prototype = Object.create(Widget.prototype); - - //ensure the constructor is the new one - Dbobjectwidget.prototype.constructor = Dbobjectwidget; - - Dbobjectwidget.prototype._init = function () { - construct(this.element); - }; - function construct(element) { - - const $question = $(element).parent(mainSelector); - let $textInput = $question.find('input'); - - const disabled = $textInput.prop('readonly'); - const relevant = $textInput.attr('data-relevant'); - const name = $textInput.attr('name'); - - if (relevant) { - $textInput.removeAttr('data-relevant disabled'); - $question.attr('data-relevant', relevant); - $question.attr('disabled', disabled); - $question.attr('name', name); - } - // timeout needed to let setting the value complete before rendering - setTimeout(function () { + setTimeout(function() { + const $question = $( element ); + const Select2Search = window.CHTCore.Select2Search; + let $textInput = $question.find('input'); + const value = $textInput.val(); - $textInput.replaceWith($textInput[0].outerHTML - .replace(/^/, '')); + const disabled = $textInput.prop('readonly'); + const relevant = $textInput.attr('data-relevant'); + const name = $textInput.attr('name'); + + if (relevant) { + $textInput.removeAttr('data-relevant disabled'); + $question.attr('data-relevant', relevant); + $question.attr('disabled', disabled); + $question.attr('name', name); + } + $textInput.replaceWith($textInput[0].outerHTML.replace(/^/, '')); $textInput = $question.find('select'); const preSelectedOption = $('') .attr('value', value) From 24361749c82a012baaaf56da41c72d23074526a2 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 27 Aug 2021 13:09:52 -0700 Subject: [PATCH 024/179] Uplift OpenrosaXpathEvaluatorBinding --- webapp/custom-webpack.config.js | 4 +- .../enketo/OpenrosaXpathEvaluatorBinding.js | 68 +++++++++++++------ webapp/src/js/enketo/widgets.js | 2 +- 3 files changed, 49 insertions(+), 25 deletions(-) diff --git a/webapp/custom-webpack.config.js b/webapp/custom-webpack.config.js index 3af11472f94..4660b502e1b 100644 --- a/webapp/custom-webpack.config.js +++ b/webapp/custom-webpack.config.js @@ -4,7 +4,7 @@ const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPl module.exports = { resolve: { alias: { - // TODO Do we also need mapping for enketo/translator, enketo/dialog? Probably only if we have custom impls. + // TODO Do we also need mapping for enketo/dialog? Probably only if we have custom impls. 'enketo/config': 'src/js/enketo/config.js', 'enketo/widgets': 'src/js/enketo/widgets', 'enketo/xpath-evaluator-binding': 'src/js/enketo/OpenrosaXpathEvaluatorBinding', @@ -12,7 +12,7 @@ module.exports = { 'extended-xpath': 'node_modules/openrosa-xpath-evaluator/src/extended-xpath', 'openrosa-extensions': 'node_modules/openrosa-xpath-evaluator/src/openrosa-extensions', // translator for enketo's internal i18n - 'translator': 'src/js/enketo/translator', + 'enketo/translator': 'src/js/enketo/translator', // enketo currently duplicates bootstrap's dropdown code. working to resolve this upstream // https://github.com/enketo/enketo-core/issues/454 '../../js/dropdown.jquery': 'node_modules/bootstrap/js/dropdown', diff --git a/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js b/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js index 3e158d2bd12..85c8d9a0708 100644 --- a/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js +++ b/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js @@ -1,27 +1,51 @@ -const ExtendedXpathEvaluator = require('extended-xpath'); +const ExtendedXPathEvaluator = require('extended-xpath'); const openrosaExtensions = require('openrosa-extensions'); const medicExtensions = require('./medic-xpath-extensions'); -const translator = require('./translator'); +const XPR = require('node_modules/openrosa-xpath-evaluator/src/xpr'); +const {asString, asBoolean, asNumber} = require('node_modules/openrosa-xpath-evaluator/src/utils/xpath-cast'); -module.exports = function() { - // re-implement XPathJS ourselves! - const evaluator = new XPathEvaluator(); - this.xml.jsCreateExpression = function() { - return evaluator.createExpression.apply( evaluator, arguments ); - }; - this.xml.jsCreateNSResolver = function() { - return evaluator.createNSResolver.apply( evaluator, arguments ); - }; - this.xml.jsEvaluate = function(e, contextPath, namespaceResolver, resultType, result) { - const extensions = openrosaExtensions(translator.t); - extensions.func = Object.assign(extensions.func, medicExtensions.func); - extensions.process = Object.assign(extensions.process, medicExtensions.process); - const evaluator = new ExtendedXpathEvaluator(contextPath.ownerDocument, extensions); - return evaluator.evaluate(e, contextPath, namespaceResolver, resultType, result); +const cast = { + string: asString, + boolean: asBoolean, + number: asNumber, +}; + +module.exports = function( ) { + const ore = openrosaExtensions(); + ore.func = Object.assign(ore.func, medicExtensions.func); + ore.process = Object.assign(ore.process, medicExtensions.process); + const evaluator = new ExtendedXPathEvaluator(new XPathEvaluator(), ore); + + evaluator.customXPathFunction = { + add: (name, { fn, args:_args, ret }) => { + if(Object.prototype.hasOwnProperty.call(ore.func, name)) { + throw new Error(`There is already a function with the name: '${name}'`); + } + + const argTypes = _args.map(a => a.t); + const allowedArgTypes = Object.keys(cast); + const unsupportedArgTypes = argTypes.filter(t => !allowedArgTypes.includes(t)); + if(unsupportedArgTypes.length) { + const quoted = unsupportedArgTypes.map(t => `'${t}'`); + throw new Error(`Unsupported arg type(s): ${quoted.join(',')}`); + } + + const allowedRetTypes = Object.keys(XPR); + if(!allowedRetTypes.includes(ret)) { + throw new Error(`Unsupported return type: '${ret}'`); + } + + ore.func[name] = (...args) => { + if(args.length !== argTypes.length) { + throw new Error(`Function "${name}" expected ${argTypes.length} arg(s), but got ${args.length}`); + } + + const convertedArgs = argTypes.map((type, idx) => cast[type](args[idx])); + return XPR[ret](fn(...convertedArgs)); + }; + }, }; - window.JsXPathException = - window.JsXPathExpression = - window.JsXPathNSResolver = - window.JsXPathResult = - window.JsXPathNamespace = true; + + this.xml.jsEvaluate = evaluator.evaluate; + return evaluator; }; diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index 2ff4bb3a50e..fd865fb5ae9 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -3,8 +3,8 @@ require( 'enketo-core/src/widget/geo/geopicker' ), require( 'enketo-core/src/widget/table/tablewidget' ), require( 'enketo-core/src/widget/radio/radiopicker' ), - require( 'enketo-core/src/widget/date/datepicker-extended' ), require( 'enketo-core/src/widget/time/timepicker-extended' ), + require( 'enketo-core/src/widget/columns/columns' ), require( 'enketo-core/src/widget/file/filepicker' ), require( './widgets/datepicker-widget' ), require( './widgets/horizontal-choices' ), From 131b67cac3a6853266004a7e5b1a3fc45b6bf249 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 27 Aug 2021 15:58:43 -0700 Subject: [PATCH 025/179] Remove concat-xpath-string test --- tests/e2e/concatenate-xpath-strings.spec.js | 42 ----------- .../forms/concatenate-strings.po.js | 70 ------------------- 2 files changed, 112 deletions(-) delete mode 100644 tests/e2e/concatenate-xpath-strings.spec.js delete mode 100644 tests/page-objects/forms/concatenate-strings.po.js diff --git a/tests/e2e/concatenate-xpath-strings.spec.js b/tests/e2e/concatenate-xpath-strings.spec.js deleted file mode 100644 index 0117847d1c3..00000000000 --- a/tests/e2e/concatenate-xpath-strings.spec.js +++ /dev/null @@ -1,42 +0,0 @@ -const helper = require('../helper'); -const concatenateStrings = require('../page-objects/forms/concatenate-strings.po'); -const common = require('../page-objects/common/common.po'); -const utils = require('../utils'); -const constants = require('../constants'); -const genericForm = require('../page-objects/forms/generic-form.po'); - -const userContactDoc = { - _id: constants.USER_CONTACT_ID, - name: 'Jack', - date_of_birth: '', - phone: '+64274444444', - alternate_phone: '', - notes: '', - type: 'person', - reported_date: 1478469976421, - parent: { - _id: 'some_parent', - }, -}; - -// If this test starts failing then we need to document in the release notes that we've removed the deprecated -// feature allowing for concatenation of strings -describe('Concatenate xpath strings', () => { - beforeAll(() => concatenateStrings.configureForm(userContactDoc)); - afterEach(() => utils.afterEach()); - - it('concatenates strings', async () => { - await common.goToReportsNative(); - await genericForm.selectFormNative(concatenateStrings.formInternalId); - await helper.waitElementToPresentNative(element(by.css('#concat'))); - - let name = await element(by.name('/concatenate-strings/inputs/full_name')).getAttribute('value'); - expect(name).toEqual('John Doe'); - - await element(by.name('/concatenate-strings/inputs/first_name')).sendKeys('Bruce'); - await element(by.name('/concatenate-strings/inputs/full_name')).click(); - - name = await element(by.name('/concatenate-strings/inputs/full_name')).getAttribute('value'); - expect(name).toEqual('Bruce Wayne'); - }); -}); diff --git a/tests/page-objects/forms/concatenate-strings.po.js b/tests/page-objects/forms/concatenate-strings.po.js deleted file mode 100644 index c10dab054fc..00000000000 --- a/tests/page-objects/forms/concatenate-strings.po.js +++ /dev/null @@ -1,70 +0,0 @@ -const utils = require('../../utils'); -const helper = require('../../helper'); - -const xml = ` - - - photo-upload - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`; - -const formInternalId = 'concatenate-strings'; -const docs = [ - { - _id: `form:${formInternalId}`, - internalId: formInternalId, - title: 'Concatenate Strings', - type: 'form', - _attachments: { - xml: { - content_type: 'application/octet-stream', - data: Buffer.from(xml).toString('base64') - } - } - }]; - -module.exports = { - configureForm: (userContactDoc) => { - return utils.seedTestData(userContactDoc, docs); - }, - - submit: async () => { - const submitButton = element(by.css('[ng-click="onSubmit()"]')); - await helper.clickElementNative(submitButton); - await helper.waitElementToBeVisibleNative(element(by.css('div#reports-content'))); - }, - - reset: () => { - return element(by.css('.icon.icon-refresh')).click(); - }, - - formInternalId: formInternalId, -}; From 6254ff2cf872ca67353e7536ae2de524198b731d Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 30 Aug 2021 08:53:28 -0700 Subject: [PATCH 026/179] Fix z-score functionality/tests --- config/default/forms/app/delivery.xml | 8 ++++---- tests/page-objects/forms/z-score.po.js | 6 +++--- webapp/src/ts/services/z-score.service.ts | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/config/default/forms/app/delivery.xml b/config/default/forms/app/delivery.xml index 55a2a59f63c..4128be54ef4 100644 --- a/config/default/forms/app/delivery.xml +++ b/config/default/forms/app/delivery.xml @@ -1354,7 +1354,7 @@ - + @@ -1377,7 +1377,7 @@ selected(../vaginal_bleeding, 'yes') or selected(../vaginal_discharge, 'yes') or selected(../convulsion, 'yes'), 'yes', 'no')"/> - + @@ -1403,7 +1403,7 @@ selected(../convulsion, 'yes'), 'yes', 'no')"/> - + @@ -1411,7 +1411,7 @@ selected(../convulsion, 'yes'), 'yes', 'no')"/> - + diff --git a/tests/page-objects/forms/z-score.po.js b/tests/page-objects/forms/z-score.po.js index 9529397c515..20ae139d172 100644 --- a/tests/page-objects/forms/z-score.po.js +++ b/tests/page-objects/forms/z-score.po.js @@ -28,9 +28,9 @@ const xml = ` - - - + + + diff --git a/webapp/src/ts/services/z-score.service.ts b/webapp/src/ts/services/z-score.service.ts index 453bc9f043e..b3120e9887a 100644 --- a/webapp/src/ts/services/z-score.service.ts +++ b/webapp/src/ts/services/z-score.service.ts @@ -96,7 +96,7 @@ export class ZScoreService { console.error('Doc "' + this.CONFIGURATION_DOC_ID + '" not found'); return; } - if (!sex || !x || !y) { + if (!sex || x === null || x === undefined || y === null || y === undefined) { // the form may not have been filled out yet return; } From 68c84aeb43b7ce9b1fc25cba78cb7eaaf2a6a0ec Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 30 Aug 2021 10:28:21 -0700 Subject: [PATCH 027/179] Add custom filepicker-widget --- .../translations/messages-bm.properties | 10 ++++++++-- .../translations/messages-en.properties | 6 ++++++ .../translations/messages-es.properties | 10 ++++++++-- .../translations/messages-fr.properties | 8 +++++++- .../translations/messages-hi.properties | 8 +++++++- .../translations/messages-id.properties | 8 +++++++- .../translations/messages-ne.properties | 10 ++++++++-- .../translations/messages-sw.properties | 8 +++++++- tests/page-objects/forms/photo-upload.po.js | 4 ++-- webapp/src/js/enketo/translator.js | 4 ++-- webapp/src/js/enketo/widgets.js | 3 +-- webapp/src/js/enketo/widgets/filepicker-widget.js | 15 +++++++++++++++ 12 files changed, 78 insertions(+), 16 deletions(-) create mode 100644 webapp/src/js/enketo/widgets/filepicker-widget.js diff --git a/ddocs/medic/_attachments/translations/messages-bm.properties b/ddocs/medic/_attachments/translations/messages-bm.properties index c1d001d7a7a..d60b6c621ac 100644 --- a/ddocs/medic/_attachments/translations/messages-bm.properties +++ b/ddocs/medic/_attachments/translations/messages-bm.properties @@ -617,7 +617,13 @@ email.invalid = empty = Bataki sɔrɔla n'ga ci ta kɔnɔ. Aw ye segin ka ci nan masɔ aw ye supɛriwisɛri ladɔniya. enketo.constraint.invalid = enketo.constraint.required = -enketo.form.required = +enketo.form.required = +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = error.403.description = error.403.title = A ma la sɔrɔ error.404.description = @@ -1395,4 +1401,4 @@ year = san year.plural = sanw years = sanw yes = awo -yesterday = kunun \ No newline at end of file +yesterday = kunun diff --git a/ddocs/medic/_attachments/translations/messages-en.properties b/ddocs/medic/_attachments/translations/messages-en.properties index 456664ad28e..99d9f60cec9 100644 --- a/ddocs/medic/_attachments/translations/messages-en.properties +++ b/ddocs/medic/_attachments/translations/messages-en.properties @@ -622,6 +622,12 @@ empty = It looks like you sent an empty message, please try to resend. If you co enketo.constraint.invalid = Value not allowed enketo.constraint.required = This field is required enketo.form.required = required +enketo.filepicker.file = file +enketo.filepicker.placeholder = Click here to upload file. (< {{maxSize}}) +enketo.filepicker.notFound = File {{existing}} could not be found (leave unchanged if already submitted and you want to preserve it). +enketo.filepicker.waitingForPermissions = Waiting for user permissions. +enketo.filepicker.resetWarning = This will remove the {{item}}. Are you sure you want to do this? +enketo.filepicker.toolargeerror = File too large (> {{maxSize}}) error.403.description = You have insufficient privileges to view this page. Talk to an administrator to increase your privileges. error.403.title = Access denied error.404.description = The page you were looking for was not found. diff --git a/ddocs/medic/_attachments/translations/messages-es.properties b/ddocs/medic/_attachments/translations/messages-es.properties index 9e1da3fc84e..cea37517822 100644 --- a/ddocs/medic/_attachments/translations/messages-es.properties +++ b/ddocs/medic/_attachments/translations/messages-es.properties @@ -617,7 +617,13 @@ email.invalid = empty = El mensaje esta en blanco, por favor reenvielo. Si continua teniendo problemas, informe a su supervisor. enketo.constraint.invalid = enketo.constraint.required = -enketo.form.required = +enketo.form.required = +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = error.403.description = No tiene las autorizaciones necesarias para ver esta página. Contacte a un administrador para cambiar sus autorizaciones. error.403.title = Acceso negado error.404.description = La página que buscaba no se encontró @@ -1395,4 +1401,4 @@ year = Año year.plural = Años years = Años yes = Si -yesterday = ayer \ No newline at end of file +yesterday = ayer diff --git a/ddocs/medic/_attachments/translations/messages-fr.properties b/ddocs/medic/_attachments/translations/messages-fr.properties index e48636869ca..8ca4826e3f5 100644 --- a/ddocs/medic/_attachments/translations/messages-fr.properties +++ b/ddocs/medic/_attachments/translations/messages-fr.properties @@ -618,6 +618,12 @@ empty = Nous avons reçu un message vide. SVP réessayer et si vous continuez à enketo.constraint.invalid = Valeur non acceptée enketo.constraint.required = Ce champ est requis enketo.form.required = Requis +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = error.403.description = Vous avez des privilèges insuffisants pour accéder à cette page. Parlez à un administrateur pour augmenter vos privilèges. error.403.title = Accès refusé error.404.description = La page que vous cherchez est introuvable. @@ -1395,4 +1401,4 @@ year = Année year.plural = Années years = ans yes = Oui -yesterday = hier \ No newline at end of file +yesterday = hier diff --git a/ddocs/medic/_attachments/translations/messages-hi.properties b/ddocs/medic/_attachments/translations/messages-hi.properties index df62d241d54..1c220c5b9a1 100644 --- a/ddocs/medic/_attachments/translations/messages-hi.properties +++ b/ddocs/medic/_attachments/translations/messages-hi.properties @@ -618,6 +618,12 @@ empty = आपने एक खाली संदेश भेजा है, enketo.constraint.invalid = यह आंकड़ा मान्य नहीं है enketo.constraint.required = यह फ़ील्ड आवश्यक है I enketo.form.required = आवश्यक +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = error.403.description = इस पेज को देखने की अनुमति आप को नहीं है | अनुमति के लिए अपने प्रशासक से संपर्क करें । error.403.title = प्रवेश वंचित error.404.description = आप जिस पेज को खोज रहे थे वह नहीं मिल पाया | @@ -1395,4 +1401,4 @@ year = साल year.plural = साल years = साल yes = हाँ -yesterday = बिता कल \ No newline at end of file +yesterday = बिता कल diff --git a/ddocs/medic/_attachments/translations/messages-id.properties b/ddocs/medic/_attachments/translations/messages-id.properties index e03c30d6e24..5917792d999 100644 --- a/ddocs/medic/_attachments/translations/messages-id.properties +++ b/ddocs/medic/_attachments/translations/messages-id.properties @@ -618,6 +618,12 @@ empty = Kelihatannya anda mengirimkan pesan kosong, coba kirim kembali. Bila mas enketo.constraint.invalid = Nilai tidak diperbolehkan enketo.constraint.required = Field ini diperlukan enketo.form.required = diperlukan +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = error.403.description = Anda tidak mempunyai hak untuk melihat halaman ini. Bicarakan dengan administrator untuk menaikkan hak anda. error.403.title = Akses ditolak error.404.description = Halaman yang anda cari tidak ditemukan @@ -1395,4 +1401,4 @@ year = Tahun year.plural = Tahun years = tahun yes = Ya -yesterday = kemarin \ No newline at end of file +yesterday = kemarin diff --git a/ddocs/medic/_attachments/translations/messages-ne.properties b/ddocs/medic/_attachments/translations/messages-ne.properties index cff6e69188e..fdf17dd5953 100644 --- a/ddocs/medic/_attachments/translations/messages-ne.properties +++ b/ddocs/medic/_attachments/translations/messages-ne.properties @@ -617,7 +617,13 @@ email.invalid = empty = सन्देश​ खाली छ​ । कृपया फेरि प्रयास गर्नुहोला। enketo.constraint.invalid = enketo.constraint.required = -enketo.form.required = +enketo.form.required = +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = error.403.description = तपाईं यस पृष्ठ हेर्न अपर्याप्त विशेषाधिकार छ । आफ्नो विशेषाधिकार वृद्धि गर्न प्रशासकीय कुरा । error.403.title = त्रुटी शिर्षक error.404.description = के देख थिए पृष्ठ फेला परेन । @@ -1395,4 +1401,4 @@ year = year.plural = years = बर्ष yes = -yesterday = \ No newline at end of file +yesterday = diff --git a/ddocs/medic/_attachments/translations/messages-sw.properties b/ddocs/medic/_attachments/translations/messages-sw.properties index 66bb5ddf8e1..b566b99b29a 100644 --- a/ddocs/medic/_attachments/translations/messages-sw.properties +++ b/ddocs/medic/_attachments/translations/messages-sw.properties @@ -618,6 +618,12 @@ empty = Yaonekana kama umetuma ujumbe mtupu, tafadhali jaribu kutuma tena. Ukien enketo.constraint.invalid = Tarakimu hairuhusiwi enketo.constraint.required = Hii sehemu inahitajika enketo.form.required = Inahitajika +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = error.403.description = Hauruhusiwi kwenye ukurasa huu, mjulishe msimamizi ili kupata usaididzi error.403.title = Haujaruhusiwa error.404.description = Ukurasa unaotafuta haukupatikana @@ -1395,4 +1401,4 @@ year = Mwaka year.plural = Miaka years = mwaka yes = Ndio -yesterday = Jana \ No newline at end of file +yesterday = Jana diff --git a/tests/page-objects/forms/photo-upload.po.js b/tests/page-objects/forms/photo-upload.po.js index 346337fbbda..c85b6c7f6ef 100644 --- a/tests/page-objects/forms/photo-upload.po.js +++ b/tests/page-objects/forms/photo-upload.po.js @@ -54,6 +54,6 @@ module.exports = { reset: () => { element(by.css('.icon.icon-refresh')).click(); }, - imagePreview: () => element(by.css('#photo-upload .file-picker .file-preview img')), - imagePathInput: () => element(by.css('#photo-upload input[type=file]')), + imagePreview: () => element(by.css('form[data-form-id="photo-upload"] .file-picker .file-preview img')), + imagePathInput: () => element(by.css('form[data-form-id="photo-upload"] input[type=file]')), }; diff --git a/webapp/src/js/enketo/translator.js b/webapp/src/js/enketo/translator.js index e8ec9da0e44..c09382491bc 100644 --- a/webapp/src/js/enketo/translator.js +++ b/webapp/src/js/enketo/translator.js @@ -1,6 +1,6 @@ const moment = require('moment'); -function translate(key) { +function translate(key, options) { if(key.indexOf('date.dayofweek.') === 0) { return moment().weekday(key.substring(15)).format('ddd'); } @@ -8,7 +8,7 @@ function translate(key) { return moment().month(parseInt(key.substring(11)) - 1).format('MMM'); } - return window.CHTCore.Translate.instant('enketo.' + key); + return window.CHTCore.Translate.instant('enketo.' + key, options); } module.exports = { diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index fd865fb5ae9..c27688d8ba5 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -4,8 +4,7 @@ require( 'enketo-core/src/widget/table/tablewidget' ), require( 'enketo-core/src/widget/radio/radiopicker' ), require( 'enketo-core/src/widget/time/timepicker-extended' ), - require( 'enketo-core/src/widget/columns/columns' ), - require( 'enketo-core/src/widget/file/filepicker' ), + require( './widgets/filepicker-widget' ), require( './widgets/datepicker-widget' ), require( './widgets/horizontal-choices' ), require( './widgets/countdown-widget' ), diff --git a/webapp/src/js/enketo/widgets/filepicker-widget.js b/webapp/src/js/enketo/widgets/filepicker-widget.js new file mode 100644 index 00000000000..259a6b2e09e --- /dev/null +++ b/webapp/src/js/enketo/widgets/filepicker-widget.js @@ -0,0 +1,15 @@ +{ + 'use strict'; + const Filepicker = require( 'enketo-core/src/widget/file/filepicker' ).default; + + function FilepickerWidget( element, options ) { + Object.assign(this, new Filepicker(element, options)); + } + + //copy the prototype functions from the Filepicker super class + FilepickerWidget.prototype = Object.create( Filepicker.prototype ); + FilepickerWidget.selector = Filepicker.selector; + FilepickerWidget.condition = function() { return true; }; + + module.exports = FilepickerWidget; +} From 693a8a88d3f67e90e4b7db9a8e2c90f83bd76b0c Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Tue, 31 Aug 2021 09:53:28 -0700 Subject: [PATCH 028/179] Try going back to older style of OpenrosaXpathEvaluatorBInding --- config/default/forms/app/delivery.xlsx | Bin 61060 -> 61790 bytes config/default/forms/app/delivery.xml | 32 ++++----- .../enketo/OpenrosaXpathEvaluatorBinding.js | 67 ++++++++---------- 3 files changed, 45 insertions(+), 54 deletions(-) diff --git a/config/default/forms/app/delivery.xlsx b/config/default/forms/app/delivery.xlsx index 620ea314a993dccac5d36576e519a610874d9df3..acac96961acea718c1df9cf92c314ddfe8adb012 100644 GIT binary patch literal 61790 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

c6YXJb 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 literal 61060 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 diff --git a/config/default/forms/app/delivery.xml b/config/default/forms/app/delivery.xml index 4128be54ef4..75d33389a1a 100644 --- a/config/default/forms/app/delivery.xml +++ b/config/default/forms/app/delivery.xml @@ -795,7 +795,7 @@ - + @@ -864,7 +864,7 @@ - +

@@ -905,7 +905,7 @@ - + @@ -1377,10 +1377,10 @@ selected(../vaginal_bleeding, 'yes') or selected(../vaginal_discharge, 'yes') or selected(../convulsion, 'yes'), 'yes', 'no')"/> - + - + @@ -1397,24 +1397,24 @@ selected(../convulsion, 'yes'), 'yes', 'no')"/> - + - + - + - + - + - + - + @@ -1433,9 +1433,9 @@ selected(../convulsion, 'yes'), 'yes', 'no')"/> - + - + @@ -1494,8 +1494,8 @@ selected(../blue_skin, 'yes'), 'yes', 'no')"/> selected(../condition/woman_outcome, 'alive_unwell') or ../delivery_outcome/babies_alive_num > 0"/> - - + + diff --git a/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js b/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js index 85c8d9a0708..337cd07e810 100644 --- a/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js +++ b/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js @@ -1,51 +1,42 @@ -const ExtendedXPathEvaluator = require('extended-xpath'); +const ExtendedXpathEvaluator = require('extended-xpath'); const openrosaExtensions = require('openrosa-extensions'); const medicExtensions = require('./medic-xpath-extensions'); -const XPR = require('node_modules/openrosa-xpath-evaluator/src/xpr'); -const {asString, asBoolean, asNumber} = require('node_modules/openrosa-xpath-evaluator/src/utils/xpath-cast'); - -const cast = { - string: asString, - boolean: asBoolean, - number: asNumber, -}; +const translator = require('./translator'); module.exports = function( ) { - const ore = openrosaExtensions(); + const ore = openrosaExtensions(translator.t); ore.func = Object.assign(ore.func, medicExtensions.func); ore.process = Object.assign(ore.process, medicExtensions.process); - const evaluator = new ExtendedXPathEvaluator(new XPathEvaluator(), ore); - - evaluator.customXPathFunction = { - add: (name, { fn, args:_args, ret }) => { - if(Object.prototype.hasOwnProperty.call(ore.func, name)) { - throw new Error(`There is already a function with the name: '${name}'`); - } - - const argTypes = _args.map(a => a.t); - const allowedArgTypes = Object.keys(cast); - const unsupportedArgTypes = argTypes.filter(t => !allowedArgTypes.includes(t)); - if(unsupportedArgTypes.length) { - const quoted = unsupportedArgTypes.map(t => `'${t}'`); - throw new Error(`Unsupported arg type(s): ${quoted.join(',')}`); - } + const wrappedXpathEvaluator = new XPathEvaluator(); - const allowedRetTypes = Object.keys(XPR); - if(!allowedRetTypes.includes(ret)) { - throw new Error(`Unsupported return type: '${ret}'`); - } + const evaluator = new ExtendedXpathEvaluator(wrappedXpathEvaluator, ore); - ore.func[name] = (...args) => { - if(args.length !== argTypes.length) { - throw new Error(`Function "${name}" expected ${argTypes.length} arg(s), but got ${args.length}`); - } + this.xml.jsCreateExpression = function() { + return evaluator.createExpression.apply( evaluator, arguments ); + }; + this.xml.jsCreateNSResolver = function() { + return evaluator.createNSResolver.apply( evaluator, arguments ); + }; - const convertedArgs = argTypes.map((type, idx) => cast[type](args[idx])); - return XPR[ret](fn(...convertedArgs)); - }; - }, + this.xml.jsEvaluate = function(e, contextPath, namespaceResolver, resultType, result) { + wrappedXpathEvaluator.evaluate = (v) => { + // Node requests (i.e. result types greater than 3 (BOOLEAN) + // should be processed unaltered, as they are passed this + // way from the ExtendedXpathEvaluator. For anything else, + // we will be ask for the most appropriate result type, and + // handle as best we can. + const wrappedResultType = resultType > XPathResult.BOOLEAN_TYPE ? resultType : XPathResult.ANY_TYPE; + const doc = contextPath.ownerDocument; + return doc.evaluate(v, contextPath, namespaceResolver, wrappedResultType, result); + }; + return evaluator.evaluate(e, contextPath, namespaceResolver, resultType, result); }; - this.xml.jsEvaluate = evaluator.evaluate; + window.JsXPathException = + window.JsXPathExpression = + window.JsXPathNSResolver = + window.JsXPathResult = + window.JsXPathNamespace = true; + return evaluator; }; From 126878bb06a00f38261caacf9991b1e47f35d527 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 1 Sep 2021 09:16:14 -0500 Subject: [PATCH 029/179] Use TAB to close date picker during default delivery tests --- tests/page-objects/forms/default-delivery-report.po.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/page-objects/forms/default-delivery-report.po.js b/tests/page-objects/forms/default-delivery-report.po.js index ed6fbd39699..2132c0c19a6 100644 --- a/tests/page-objects/forms/default-delivery-report.po.js +++ b/tests/page-objects/forms/default-delivery-report.po.js @@ -108,7 +108,7 @@ module.exports = { const datePicker = await element(by.xpath( `//*[@data-itext-id="/delivery/delivery_outcome/delivery_date:label"]/..//*[@placeholder="yyyy-mm-dd"]`)); await datePicker.click(); - await datePicker.sendKeys(deliveryDate).sendKeys(protractor.Key.ENTER); + await datePicker.sendKeys(deliveryDate).sendKeys(protractor.Key.TAB); }, //Delivery Place @@ -126,7 +126,7 @@ module.exports = { const basePath = `(//*[@class="repeat-number"])[${deadBabyIndex}]/..//`; const dateOfDeathPicker = await element(by.xpath(`${basePath}*[@placeholder="yyyy-mm-dd"]`)); await dateOfDeathPicker.click(); - await dateOfDeathPicker.sendKeys('').sendKeys(protractor.Key.ENTER); + await dateOfDeathPicker.sendKeys('').sendKeys(protractor.Key.TAB); const placeOfDeathRadio = await element(by.xpath(`${basePath}*[@value="health_facility"]`)); await placeOfDeathRadio.click(); From f9b0dd1abecaf8c757c999d544c03a4b1aebaf94 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 1 Sep 2021 15:06:15 -0500 Subject: [PATCH 030/179] See if anything magical happens when adding the dynamic URL listener --- webapp/src/ts/services/enketo.service.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/webapp/src/ts/services/enketo.service.ts b/webapp/src/ts/services/enketo.service.ts index c82d410dc6a..f8b5d760e36 100644 --- a/webapp/src/ts/services/enketo.service.ts +++ b/webapp/src/ts/services/enketo.service.ts @@ -296,7 +296,7 @@ export class EnketoService { window.history.replaceState({ enketo_page_number: 0 }, ''); this.overrideNavigationButtons(this.currentForm, wrapper); this.addPopStateHandler(this.currentForm, wrapper); - // this.addDynamicUrlListener(); // TODO figure out if we need this new URL listener code... + this.addDynamicUrlListener(); // TODO figure out if we need this new URL listener code... this.forceRecalculate(this.currentForm); this.setupNavButtons(wrapper, 0); return this.currentForm; @@ -687,6 +687,18 @@ export class EnketoService { } } + private dynamicUrlHandler() { + window.location.href = $(this).find('.url').text(); + } + + private addDynamicUrlListener() { + $(document.body).on('click', '.enketo a.dynamic-url', this.dynamicUrlHandler); + } + + private removeDynamicUrlListener() { + $(document.body).off('click', '.enketo a.dynamic-url', this.dynamicUrlHandler); + } + private saveGeo(geoHandle, docs) { if (!geoHandle) { return docs; @@ -743,6 +755,7 @@ export class EnketoService { unload(form) { $(window).off('.enketo-pagemode'); + this.removeDynamicUrlListener(); if (form) { form.resetView(); } From 72b3cf1018d9a2c4820e8eedeab35b4b7f00afc0 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 1 Sep 2021 15:40:16 -0500 Subject: [PATCH 031/179] Reset the Submit button when going to previous page --- webapp/src/ts/services/enketo.service.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/webapp/src/ts/services/enketo.service.ts b/webapp/src/ts/services/enketo.service.ts index f8b5d760e36..3bdb7dae025 100644 --- a/webapp/src/ts/services/enketo.service.ts +++ b/webapp/src/ts/services/enketo.service.ts @@ -354,6 +354,7 @@ export class EnketoService { .off('.pagemode') .on('click.pagemode', () => { window.history.back(); + this.setupNavButtons($wrapper, form.pages._getCurrentIndex() - 1); this.forceRecalculate(form); return false; }); From 731f3e10a7e0d18ea7e6a7ff8e18caa55c3d82ca Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Thu, 2 Sep 2021 10:08:41 -0500 Subject: [PATCH 032/179] Fix default delivery test --- config/default/forms/app/delivery.xlsx | Bin 61790 -> 61805 bytes config/default/forms/app/delivery.xml | 38 +++++++++--------- .../submit-default-delivery-form.specs.js | 4 +- .../forms/default-delivery-report.po.js | 3 +- 4 files changed, 23 insertions(+), 22 deletions(-) diff --git a/config/default/forms/app/delivery.xlsx b/config/default/forms/app/delivery.xlsx index acac96961acea718c1df9cf92c314ddfe8adb012..f9d4ae17465406c691cd525d4ca5979e6e8b6915 100644 GIT binary patch delta 40005 zcmc$^bwHHc)<3QyAxMWvN_Qhj2-2OB($az;-8>>FB_IqXDJ39X(hMObB?8hQ-Q6)W z-vLBD_nvd!d*9!E?~gxb&wloP)>?b*&&pw98ewf30bN-R;X2+G6cm&z$gY${=mb|0 z;A08xRf}uqU&0Zhkj}p_pkiDs@uT%#1F9;N%bGp+-3dqYiw6CZENpG|Ha==9PJ$g9 z_bbs(_j>m9biBqA%D=I~+!lbQUZr)X)9ipx}t%NTasj;Y)uW`R2)sP+x9PN~l77=$KvK zfn$Ply1YjL=ds#y#YE1)03Ina2L-{WSNE`PO^bL+U%5enP5p}c4PJzZz4TQEinDdg z_hO`(@Ry$eeXJB!BS3&A76Paqi$src^@!+emRJZEaiyKvS2^_!^+i?YNBjC8%o^ne zwo?yO?~1jG$Oj-6QDA&}>54^;^FUPkdLYFO>X#;ONK_xlN}sLA4J)@=Qn@7TCxwE7 zq9Hw`as74>B{CvV9Tph@BRZUYX-a5(*qEKe=`+8@vkyYhF&60~qn^PxWTq#=p!4$h0XPiUjKuMV7 zcjO#N(zP+166`sgQ9ZYkl0Z4fcFl6?1uM}I_QPvWr9ky0B)11PeD_BJ)8C7Y>yvm< z`VbyPq=UbV@>)@YR0zo^$U@`#>3yfboX*DuDD8F5cD;ZbZVvk*4$_rAL^HjFE1>VU zNbh7AURMUiVK{l%tyVs#G=Yk;1*t={BPm}ay(g4pNI*Z^M3(VP_ra6M1|J{J{Z9{6 zCI^Ba50p*@f9MZ(9c{Hk043s)lA_XKrAyvU5TS=1U`-2iPk*s(yXivNxGWc;SVakX zaEF4lFU3YI8^ zyfNsM25 zW%Qx2Yk+dT1h-A0gF;9suy1xhpiN7@>Z5iVk*@Tn(4YuJPDVi**Z!T}m~)@rnDRAw zq#JDTUbQ;r^sw-Hgp*Ef&}sl8s5T*(J*kx;UCnLK;WaogiL z2lgurS>V0^LLeS94FWvc$QVa?VdZ|O-M)Vu-e&Cp_Pal zWD;&2A!a{Wq)xUm51PUwV8rO=dvDys_x`JT!cZ(OkD0LFTg9Pk5G=Ex=M#6{QU{xW zNFq)`^R``iL0Gu>EDHWrA$-S(De1xYi#Re?Bq^fa$`1O8GIGs*@-vBGj!>|dwsEN@ zOGi6&tBD6S;1Xc--xGZsdSCSI_OuGM*XItY^XsCBTl&sz0zZ+-F;M{cXzo@9U>~mg z5|gdbMB?ElYd9`8$P1T-ASpmTqeO5h_%Z$j0V*!Gg33v4TOi6ADzW5|=_vb(=qMj5 zic23y!uJc`p&}7he_>*W;{OY!wd#UU+{a947k-$5l3>8dPH(Y zbx#_y$s*iJSmwcJHOyeB*yU(t0Eyh8z$Q&d$}(0`QWIZ{q1J1b0G;0&Dg4|lclXD{ zq7;{ukHI=L>RVEIBX2owLbBBPPC$3y0CalRpAve1Svdnuqv%$K4~lpHhep#p?u=ym z9O)sDCoU~|l1)}XIh#yXP%y3DnHDI?oSxC9ghCIP(^nJ~j#CnK2Qc5LPvK!d{R$s3 zxIk|R?~q86l9*)~V{)lk$~Wlak}IiQ;ixQMqnXKQ4g`;TE2s=f}DA0dFUZl)WXX* zj_{AdGufD&p2fn?)2aNDquG&X30xyX6?WsRP!Z}4H2>R|I2wR?wgk0SgTMp?oc#?; zE!L|`E%Ntx{kj;`E&HIBawXkvglxhdnUEf8F7X|tc4}?v_}MpO>(1@qwa)X`0RH}` z-9-!3Tt?R@xih&H-tITWzh$RW$%JrhzIMQgkSUhtX{V?hUvszVb_4VA-J?KEe}fnP zSXES3<~9QzetLvj_!CtwVv>Z;7P5p+zwm%B313}JN66vd8v;K}+a}pR6a8UN<<)v@ z;Gjui-@t<%nX3%c66vv#AU+awR>!Q-MB^}3vqpwHqAs!k#r5QD^Tt5Rky6-O_mc%>+_Xd$r(7oY^)N{OLzdVvmoUp!c+p9W^Q znUW|=;T~vh?qqG-Fe+$^lnhizh(vg?DU9fB)8^arO`C7+K8nI)$Q_iDhT+fFtHYl` zPl#DCu-mOyvD;r$;Y0|{1o(mM?oeSPNl}*+Nl|l|%*IfAy#l}S0yPj)VVU{*qCZ`2 zc-7L!BV7gmIFkwI0=f4@#mKy5zTQ2}TVaBm3MFnDItF%Wkv|HN=&W2szQT}d0^%8* zutIoZPpypUU_?r(cb4EEpjr|t%n?KVf{?^PtIidfs+O80xCoTE7QSw^JkI(B6b-f1 zOCzsYnuiiW%eZ%N;1`-*WbA@2vPvT}$o&zo&*2*ZStN(zmBP zl6#nxUwQa5fldAVXS4?58}Y zyEk4?%41m^xAS+k@QafhKRfzpYY1?cUS!%B@jJ9BLh~^XS2v&CbET5xA;v5c6bj-6bXwqPwvl zZ#D77rekJ#lwWJD?&%2rWS;G4hMs3^&Q3;ZBD8FS$E8P)WvqBoh|IH6nT>X*54_LP zG`Lm=c<~4Dl9ElhyHr@drwnx8S?-Q~?Ya%}|2$SO<5}MSAkB1x>A8n2H?UX{Gg+mrDW2y0L1^%Ze#}rQv zG*4E?pN@=|@sogh7Q#lyy~{^dN2Q$0tDrN$Bqr~`L6-e zoB-c9!yNVh<}H}l1^t$&udW|9HZU{4bF{lDt?0j6u4_xq>rbGJAu!`c7uO1LaxST? zeTuo#1g&^6IqEpQINx%3bW*n5k-63t;-&jw^rdZ`4cJqEnhWd=aW-8m2Y;*<4y~m) znFFpW%ORs|aFA+ikzTo?ihuRWAL=6zKN>aYg#HFFau2J1a-(4LaO!;`-=@@I=hZ|W z1_~BG?l)ocbCN@x7LRrEnZ?=+0H$^xq$9KKFMPt(`?iDCIpa}Um_oIZDMii9G~8ry zihVrjBp&^ATkaMUY^@k$Lr^Q zBqg`^QdqB|KD=3cJ#XvU&WZTvqlk%X^q;<27|yYUAqn~51r-zDL>AjAae%I(qGxYD z*ksKcBVKy7-hyR7kXp)4H-%3Hjr;@<(wl2zY%H$7c!eu{-BCk*^EHJrqM=Ex4@%~} z?-??o8fYYs!;E2VU4k$ILKw;f_SguAX}RBZP~0q9D3d9M(gQc`e43PV z`?v*DJkT-tS^8YlxF5OF`!Vx<)N`u~FGyAm?_n6}lb@%F2^ud<-IcgwG#DKP1Qcym zNx!qdMtE}ijSs!;F8ZupF=F3i|2+ByZXEl{or)~7G~0X8&Eb{U5_0MGHra*Gw5F%D zn~l@K+nj@MvyXEh9oz3uMnBNl2Wh$N)mbDKty)+#*C;EeOHJ>fo1_d_@2zTN4nB=B z^~-;2*o%7y=@_Y2Rd6Bkf%+}^t;YoZ?^v3$ISUISY)LE0(cevHpE5lmPo>T)jfu%9 zJQQRd5GI~JxtH(6OS)vS_o>7KMB7m}(?g0Gc82--4`$J#kui8o_M&B>|NZF#hB$pTAkn5Vb5&LoPQ1i#A{7w>I7o&%rh|Dz1<*3zPhC zosiQnZHbZuMA}bg^{Ft4-1^%0=g}2&fzQT7EMOrP;jvC~Vb9Z!!yQe@qe+hnB9;D42tW&Jv3|eU>VuDhnZL%5 zUOic;*Ys@ll~-{)YZN%t3r`JZV%1Myc1$N=m%zkl>XvUmt?{&6=~}Esfu7ZDykwn~ z$%pW_k~Z9&gKc?|-WIcpRA@j5^IiLbaO4odC$lnC!gsfIX`Ya4MR5rkQP1y)cTcn+ zy}BP8gV{87%ubkuL#W&_dFOK*aR?tOo8i0G-0fgQ1DXWas(RIj>o<$;UTsYwAzw2q zA6OGeoL-)vG0nUFp0?qnHhRrD80}*ik?#`;V!jSkl~Fr)=js}Hs&|otKya=-Sr1NZ zDNZNBEP7603a1^CUxsdH6t8w^M6~?f>RTnMP%R9p_Y|GoZ(p}%R=ZX{juN}*A` zVLiIf&5ir{p4jzQRq6pXF+D}F3W}Oj687&anVjw(?9+N*q&>AV9=nG6m@<$hOKOt1 zna;7|Ufc1}l2Iu}*s>56M^kAdP?aI+@VqT_;~KqHXNIqsJYv!bbZ~9z4k>!pMh+Y5 zV&mugV~oM5F$e1An_Aw5p-{v#Z&!jH_WtPll`Fd#SN`bjN^n`3&wD-~QMUPOl|Tt2 zJ0bCHUzF(VLER0pz`n^;vfpN8Rc&{l8=p$Oa< z&z$6V6Pdf*@6X_ML$+;7cXg*60%}v&xq${&r5Wv?;O0~*HBo=h%A`oFth^|Ps$QJu zcYn44y#0>;o@rB0U8xFp{C7=ZhZXX9hEZ4uDI&rfBr%C#!4CjJ%#uIkYTLOnXrU(zXM#5UZPi`{E=N9k zt)SQWA_w=1)MZx_foL@$Y$xe~4x*|=jQ{^E0pjcpbg&w>RH zpc|6gpoAbW^TJp&6ZhcFoae(3gct1t_qLxjvCuli4P@&Dw9b(RYe>b zr$U!x6ASCuG!Jf&Q&BB)8fNZ*Z~>x0JJ5{KPs_i3bE_JwZuvowu)2K{U{GTIN@VqArEL?3k{wWsM7OMOCNPlBjfS)lo~pvr941>X7OlZc1(Ff%e5rr>IzK-{dG&J zN`@~j9%3BMo(Mse)b|{*21C?4ku8|42?3Z9{`c2!1aj-S8U&m446R$l9be;lzUJ1^ zIk@`5I7`H5A0rbE@*1*Sdri#U&u<^f0PN2O+;OB1Cfa+4K0f`b=x$X31PRX<1bg>u zE!(J*D8EHhtVEnA)|o#f@q6@qMuUi4Lnz>uc>UeJ0iM;&>!bw)wWjG+U4xxRZmvLD z+4U_)l-rsWGqhR!_9}!v7zoMf2kko@_OCv_HnEf^Gmc<+D0(AhY0Z3am-F3*wGmx) zf$GG8g4EFX$Ww5g&xuhww%>@HLDPfe&%k8n>AAZ(xNq}C_3D)?L2$kQA-Q^Z<+neq zD_213>XZOWv)wSE0RBfY9%r^NuU^qhm8i!?1ifNcs}7fkD}{;z~O?nw>`@Of)J+_#oo|bX5aS`&%WT zvPyA1Eu)^~#^g#53L99!LbGh3>WPNO+PvxMkfZS+0WX3vbPA37>qq_j-6L7WM!N(p zi+6dT@K!rA%AT8$(+d2Y9&io(;q)ao8od|J7M^34m}zBR1MKll69#%Zv`iH43(tyg zJrjX3+s`c>JfyWID|wd)^k_=#+PUZ#KRyXVhOG^6l270>)d@hov`z+2y$>jBZOELP zXO&L&VudH8gC*)hF+50iY@i!6q7y8Gt$@o(vi~WcN#l%}pNE5>AlOBmLP;#B?Tswh zZoYy#4CKWOnCw7Ko2u95TbuVQ(!!{O$zm27$S@D%n`Ez7ZxKREQNlb>tC4n?-g^F=&h;f%{BhMcbb~!2N>bAxQ9Wvg&*#=%XIZEiThx6I^qUmjaK3?~9$;91CUFV`GYVkh(54 zp0zel<)`6UeUL)$yG;{*qFG;Sdr-J8?X7&~c+Y9;?Sl6AT5qzipHcnjxOVXpuBSGS zX;i;gw`_$2Ikp}}mE`UXkd6WEZ92K__pSs?w<%YHq|!`=2*V_^3we`_qOXE(8B-A@ zrtC1wjeqW@Bwdt_mPm7qHSNtRj88NYAcnt8Ma0as_RKt6XG}Yti?qGiA`-oXnP{$& zxrv7tglb4jaMZ0@UdOfffjL<6h`r;n%10ct+xuOh219DX;;$O+(N!@?&5ypvnikQc zHHvbhCLpe6f(VSM2`{)B_dL$C>nzrad|3jsz)OG_CxadtP~$Q)J*_p*_Sm@XXfI4z zCF&Tmh8G!M3jS4nghdm{yr`d;5pgeilz`t7)eEf5GQIToYJ(*B z?$tJeRE%kehi~)u6!#~(Vy`8MMK`DF9(pSYGJ1lg4C%1+LMo zP0&}(E&6+btrxO_{2!yEHK#TzrRz7ReJ|+%@fxvWrLuUo6-!6%Pi3;hC2wU1)fqCO zzqgr^i(L96MBrp!JM}c_Pcr2!HE>V3=z6qly3KIHA6Gp^px{dOp;72f?~f0S}{ z|FJh0FfnAYZO3i%nr=o3uskqJeg(K))jxHm836Q77r{UG8~>}*|G70`4z~z!@gU!wqG!Id;z2O z>;6QsCH)e@br+Uba+QSBg@l{^0SbUtOs?cIM*MDpHae_YqbXA>1ld*S6RqVm(>qm{ zWVJbbre|ckFs-ZVGWPmq`qt}>3nGrGA5HL8%bnErw6BP&bDk+Evqr)^8+M3)BEu~20M_2lc!K8 zz31%V#(k_y*R%Qu6HwWjD6O`u^ZC?+th$@+x7=!n0ioQkh0&8|cOT=jE?vp`G?+*} zuu+w+#=y!Thw*56Ma=0dW^oBXgAQ(@Aj6-)=Yf9^>}&Qr@Di)wtDvipsvxM~s-US5 zt01c!`00C(UrQBAy_!mqik-@ldLxw~^#cEcwV%O^9jPi){#bCx5?g~)y-jbwV@xGV zA|DM!irQ6mTxPmPDj@R8@-dcvgOsmq{&%P45=l~lz7EfOK#x`=%0?kc z7-Qw9zU&@d$5m?tbE06JO;VEHtcdb8`Q`44>>9K8z4TWnF|k7!-EOs{3n{S==a>-% zHfCB1ewcN8q6&URbmVBiZ%-f7AKEfbqt!DmoQHyC z_a0Jp=$op7lZZSWhCXlFT3;H=;qt^-kYQBaGgn!iwLi-Uffq!-@tlVPKCJg zxtbAzAQ7HM>ccNn$+yhAY0Q0i_Exe&bVa5GjYX#T47syr+btgg;DC`fd}>8p-_25b zBDLtUC4G^eR)qt1XCa#^&6pj#K0TVGu=w@6^QTO?U-2Pl4|)>9;`5J_;U7e2AA(6? zavwB9)e1gW}BJftM-0oO#cw2E^W$`^JZBCz9T=k@q_LSun0F{ta>Gmw}=rtdyYNLDN%`` zp~jr-p{Z0ueeUO|&1$t5KH5=CQ@pI#5lR>}8&8Un&&O)si!r_l>3psueK8VuAztj$ zIv;_?(b*p_CR~g*U%+j6lzS}mR}s`FgYT**c0@TD$u=BGl&ZacT-5_+`e;Y$l#(E`au zv+$)Jb7n92TkxfKJz7X!Evk!L(PC^`7`29cyDxybFKEAJ|NRL7m*Kz9^%qm%LJj|W z5wtOCP55>r=Dx_m)%fpEfd9=)|G{^F|E1jjDG`7lsw;rw@iE_S(A*cMXtDp|1o;1j z>o2CjfB39$1e)>f#?5`Pf~)agm;nFczW=Ljz`ri)|A`2|pKHq&4o4%t-B)v8h@-{+ zFDJl%i_u^30se1~2S=bO-){8W7acgCKbyeg&tEP5S61Nh=WnF@zZU@>fBs%U=OS#t zZ_k)-H+1fcK(yF@bOQWm$^F~ZfdBZ3{!Roq0?qk$ljgp7z}0v@0sb)i?@xe#6zIP! z0&t;*e~)XjdW77rt;^)LCvbnVN4TbXl6CN80^(h%y}?>Hx6^D7aXJv}9$d5UW#u8F zNIP|#wT)lf?&)$DHqe_}@v4K|oo+txtTveVjsVyOhc6iHbbFpSY2U2*Y#W@XKA~mm zWtIfRDgi;WN5#Xp{ArKB7`Y$qZ@%f~)a>m6SlMiNIPxIEsK7x!1UpH#Rg-QKUUA3W$dh}mWbWzw8T z*zg>5h@qPJ`);{n<+RQ?6=_XO5Oh>ckSib`mMJM!lxuk&Lz!%aYety~_GXZRm_4@~ zwq|As$hUTS*pQjLAw|PbyUuY;81h+%I&*h;sfXmsl|!Cuf9z17|MP>p(=DKxQE>=L zS)_z_6-VH)!~5_N<7Vk6EZI-P76uC@@I*|6%0E~sytd=ysN20Je`m+Cus-HHIcx)f z?9ONcz{v_+l9MAP16%0k{7S(D^mM#>12{YqhVD8I(!v(DRtmg5U~4^-z{yN?@+5R= z1*n6pt-wweU<+X|*Mk)RfbI{L+fD*|M##dj{mcT`F%-fE+wbB9dmRjx3wxc6l21Uk z_ZKi>b8H*lkfqTBa_B+7MenV zqi4@x(55iq8rVW6hc{$F*n8yYXs`gf-4wPl34K&^0&S`}of{D zG~+$#85f*9>Ah#r#YR5A4hIw%x}4kt+h`$Ht{C?sY%ZUyg-vacJ3~24VbFERiHq<6 zxl(uLVJ+<5OZY8qlnVoKNlNAmGo6s_>|;0cLA|li?R~H?=2FfibaJ5*nm8^9p0*dB zLOZ!(C!CCoN%e??_Vp4l13<=W8|t^$pqnSvC%Xm zq#UA|JF*tPVl~kxEPMcqU>MgQ?2Z1`+XOZveOmCas+qxS$Dg+V;=ezv@8n)UG5$5u zyT%oQMzCQ6T_9y+@CVwL#`SJ(gof^}1I`kF+Yx>N?9;}xC4J1D_@2Sl9)Q{N1Uf1V zhp7wfaCuN^aI}XFa|yR0@<39(S|2G-Rlwu#e3a0m>yf*>sM$dhDqUjt8rg93sfVCR_rMj_z>FE z?pTRtZ7CM|(A(5s~-JP)H;p-pk-r*&O zIwisa$Ma8>R`>hb)}yI*%y^&U*xEPs&>VE&*xID^&?K{^B|}yAD7Gl}D0Ui--vF=t zZzma=Oa$>iX-_PFhYFNuVA7Fy3#ke93vmmT3ONetdM11tgk7BKO~&&8d!mPx~L!N1x6lYhT|C-RDz_t|77u^bB(oVq(T z+cfO|*?+{p#s8asw|_8ZEv7GK8YT#{CEz+`iZnG&Fg0biH0@)FXop4d8SgoZF@UIb zM$WdW^b?Gi`c&6mE82CVKedM@p10gOfO>GebLvfm{HLHBiYtdD9|dfyXAeTCHYhgOa@A&U8SW`lv<-gAqqcW+Hhl3k5- z1+M#f1a{XRNIfWxSv)7+8-7W=wN@8-15(XhtioWA!xyYZStd>OHOP_jR=B7)KyVDtY`+s*S`Bgx+2Bksss!tp+F9tE_X`EIUD zeQy`ynpwEQ#i{YnWEKiD?+$BINylQ4P^2^umrWWF3OZn{1T;E~ODBZVzJ%lxB`|umVK4r1KxNdUpP3 za`5|qwl%>Hvl5gyU(!u(YF#0CA;Ei6aoziUfmy5;lGP=f-0I3l)d)r7F0XQX4$dZ;>Cd>pEgJY?(s&HbvVp1}A{n%4%$>(ibH|+u-QHL) zhS=l{cZ5{=FHpHJNgnvlw#NL#)+0jmR>Qmr6Jzs!~THfg1iN z@CE)9zr#*owJPV8MvYON*`Vup?IlK@tTg%pnI24eXp}z;!*d0gfKc1}adhCzd}RD{ z3w!)p^&K9gglv&&Y9ynntVa7=TV53_UM}l06%lY&9-J^RVq@a8tXY=vR^+E?Kzgc^ z|82xU_>f1U-)U0k^)h|k>zi%Hx13p!N_KjODexteba4h_*A4l&9>HtcXP31;b}uMB z?A{l1l0`89W0wK>I2OUH+ec{eL9*k!F#a#*q>D`$yOzku6$q{qR|Pk(B)MJ*6MSw? zRxgJ6JsWv*2*Gvzs^H=GgR0vftz5XQQyw;Kj3!y-BV*Y>Fk{p592o4v7DzAU$4UD;GxVGBlCNJj;+$ z8{2|pQt+;g0zdvwgZu__J&~EER}F}yqzf;Rrcn*%rp%M3v&UYNKnhne!Qqf(P)3cS z%+O*`k&WV{$(ilUk54Xx|BqF{qT2H~WLN{g&YGI*W^!&xlp=t5=`HJ`6cPVk)&~q~ zL6MI$#2M5-N9IOwRoi%fTbCZHOQpK{WcDOWXHD95Q^4!v*YG%sNYqarM-$jHmU zgpukHCqju~rLhgh;5y6DcrC5J+V0{4u(^JhucnU#^+$x>9xb%t!{cYfm(BPpvy`jG zFd!SEn$xe>-aggPlVUx{gx)hdt8AgliNt&bt%0)e&{;W{q|rwd!>Qx^Je7R9)lx<- zus9OY-Wg(H|AT_|soHsE`U``LoP6cfk@7_)TbVIRQPw;|HXG1*68R`&UAANHsA9{3 zesoW^iHna9FD~-+RkV81LKNmY(tb++XYbyKjsFtgX=u#=Bu4KZnLITDruFyeN>RRW zqYPm5m1wb)f4m9O#D&(xWU=9VO`@ds_LN^Yu|o+wv%fbQ%-7Gt#f}y&FhBonEh%uk z$;uu@A`IF?s28l?J>~m1;-5<&+PyPV`{(5UiMq|}@tHH~+X*#Ry&Zg>K>z=w`d&Bh zu@k6qw_DRjs0CQJ42-U=ZaC9!GJ4X#DV@thV;3> zQEOItF-wg;N;Y#;WzwGh$ISx$aQdFR4)j!OQAimomOn3+khyaBhhFCM(GR4|2iNaZ zdh7&|sP?A8#^$VggZXL*SnRWYGAM0J`Fe4&`;uD@SvqEh1k5g-T~i}^Y%a+cJz5xC&4h=-?g(&i($f$7Kl#E6P zlYE#9Jp+F7yv@NG@EZV|-Epg9%Y2VVzp%q}pMf+AHA8hN-BII1?=s`f$@r+bu-hoq?qaj zB)@Sv%#SIlzJSusqta8NMv;8&9*Oe&(aU%lX|S~a)bB!16Bt|394RHL8EQ;-W%E=s z9eY#uAKkSW$l_+WjX?1Hr6IP~&FJSDhPPu89TvvBhDIRFE*=3r4LyW-PbUsTOb0&* zWPS#8fvK`5Z#jS7b4D!}>qd8DU*0l-V2WsV4e36MtLV?`R$NLITPu6=<-;FvdR4B0 z^W1omY}b&YtC71RJw4Vn96cNkzxNn9W|*e?{m6`uqM~oHo;!!-tCxNnfII5MuM++v zRs-+U{{W$D(JxF52|5#9c!jNalg91?``+=vXOTX?^z@7-9zb!l?1`HK&ShB9e54P0mNg-hR-4%Y7B zptCs9F*;$Zg2&IKE?cIW*3al9dyDi*fx53oh%6|A!|g(4IY^`;32(;DUY=E;`XHN5xiOSNMb0{}XFn<3FpOLKm z{rWjbd4DimoI*V2Go!7k=Fq9WI_oWVb$i3waG(WTVwY$C_~X_FoOm<`?$0y0A9c6n zEk|G8r`sRy6ZpFerL|p)4m(-PiI7q!hRN9vGV;1X#mWlQJ7#ZOhASp73O5}fHB|Pc zs++*7&bHsr@cVbS3ik>M6C(;_2i1TkP1pw>=-_m|y3O`FWOj|)P4uGN$vBlYke=vH z&N_=G6BsA(1N=+3+d=98D&IF&UEk1;68tc7h{;@~QQ7XX33AD7|D}{;(e3rqKz>F5 zUv_S-(6$}-U%Jr3F%DigE8f5{F&HxSncP%C>kBP@rcto8*})H{+oejE4paC5ttM9R zDX9u${6O4~hXU>PWcDyukZ~X7Z>GzTi``G^>>ke?}*;APrBNw(8|{ z8R5GOvoQoOe!2ky&ZoF4mmY0V(Dox#EYNYccHQb9?6h)NPNBKb6v?b%ta*yoZcRVp zWN;UV7z@g8#hQ>47IS3lBD<`I7{DO|6%MY#1nXe8}y?FWti+qL}r_R z7_S_OnqkkDNcu0jvva^Z<9>#!E6{6|?Fb|tI0QEpf8KDNkc*N2c>@Oy3k|{TeYAM+ z{B=yuy!A(N37ln@40?`PwHoM;?!x2LkL-rPm&TAm3yu~0*0I^Valhis{fNXGx@JZ< zC0PY}=tir=Io@wboY!2cb;$yl(KGJ5piBjNS;UQ%?_jzNt|^$QTb26wc6J`)Pha_u zN&?`S$Pb5hp(XWUhLm%PsoV%5&69Og`T&3bhfnZiyN{;C`v_y8x}V&s={!KK zea?cf|H%3OU|auSTAg~RHrwB9&Kbascl~s~6EX&%6yP2 zB^~uk`~4qyi0-75zio;>3%9rYE%TCuz}{IY8|mY zm9N>z;K@2Q$+rWHbFxZRCutf#68`Ff(hujU6+G7V|DIJfypBIl35$Fc@!91(M#tQ8 zdMkpP6sAYIm`;$<-V)>%i&4$`~+YI zRAH295=Ba8{47}>7hY#Z?5H=SA#`D=sMM)mGKC$+jfsR$*0|-_Y5Ky}hO7oSoiCj9 z@aP?zBG89R^1o^?(qs!5_EMEm0XO~6xQG;7U(d*1c=Kj10s>lt7CW4Lkq%JpVFtJ= ztiH2wU`v)G(RZi>VZ8d0?|2Y5vAB!~ra7uHM#}!~H_~=$Di6p5^UYKLLiE@%4muZ1 ztMbo+HEt5?Sr#)cs{Vr?ZaEy>NxbpH#qIOF;&YKz0%ZTOpyTK7iT8kEFaA;ZpFzDr zmVI6InM1iVT4$3a6%FsBEDMK?NsCI2+5~|mxq!=NW93)Sk8J$B%=(KfC5{E`5gcp` zzoK_m`B?J8Lpp^{_2`_@Nn9{7UVA~IKD_=J(sk^Jy{xY^-BtgoHtcnq7&{S$WfAYo z`hNYH{uQF!%)N%tQD4u`UWj!w_xcPgBCoSmd6nR*KCS?L1UUtmpq8XMkqzMaS>WdH zrvIs`g%68B=pGjdGUz0d7$_6aB3swriN*=y@qkUt!4Wqmqa*Uu)kGylp5+7Cj;g;0 z)r{W@keg;>^^wG}4hSF{!*A&F)piTx=))sjjF<-nl^;cVB_|(FfN4#>vSIz`T-zE~ zyp)IA;yGR5cfyWIydJQftK)^gL%~EZ;Q z$Pb?+V+yW1-M3gT<&e1W@+WuhQ&ejFNr?atsQb_bgx}EsXrcTGmf@y?J~wsuDLp)B zcPtsw+Xe7kqBNC8D0R6_;Zuh zh;o)i2@unR{7zWZA=8Wg!Y>Yw653Sa{y8*O=O!|&hko}Y5|_zFAB;so) z_hBeXcft?6!nSXC{{}XSe?}V|6qw$lV4EN324O|xftF&>fRS;kurGwEF~yaO&I}-A zm0$f$hCj0`2EEAN>O#Xt^v((&2440BB--)%T;f>gneJ+M|8n#JnM*-sq)6|418`@a zO7NyQo9XuRz@J6iueuQUmD$5#Mdl36kWV&A{Yw{FFUx)u)15%vT&5#NHdRF9&JZ7L z6T|5yFX@=kT!I^USyrVvUKhNmZ7~;rD{lX}c=#>Y!d(sg$B>notsUg44!RVkm$JQ4 z1WKZsmsLYgsV7d=xd+>Oe$gqqbYXv4FwDcX0dLdYB|C603zrmU91%Q3uODPwa1(;Y zw=F&@tDyycmJL!z{m>=Jj+En`ofJkloT~NOn#2GdyqEt{_0XwDVuLqmGwJG=Tt6%* zc&Pn}5oZ1!UO*5)l6|T*SW2?Mk!j~`eFh*wxC~fwD+t?mgQ;W#%8a)DUUErL*U*2Z zZoWvY5L#!bOqP3r7Cz0R#71}&0g%@pmEKIcbjjeaw_Zr8hv~qovU-T8&}-wdX%gc@ zU=peDB05?t}VAB8P>Fja!!GG-kat@FDw1Zz2MDt_9!qlb=YyI5OBzcglzF>yz+`~%;o-?A(v zBY4f56!_mU4iBL;9dm)}DhV;5I&dnRAY=?(bil)w8&+lj;WzUW&&e!);xoOvOPo*_1y zrS`pUwpFk4Gt5qN9P(S)M8EfYsQ;xOIAV7yoeMgr$Rg;3*Jag5d7;SU@UlG_ifIYY zKY=5>OZ{`Rwk^~OtNc^)^9RrTdoSan^gS3S$;y!QejM@PqwOrgP3{Tn$wT3F_q<26 zO2oDoKitl7vr3bNLMOnMj3JDOwiO3#(OP@o4VcS>rGQ_B-`|{os@fUozRGX=(UuI- z_Bg8M?MrCFn&d?16Cm`mQp&UwF|pev7B2oer3&w;{)V7TN0sG&Y^45dP~pF_TZ>La z;GVJO)e(NJMKh>mAvbITf+i9I|Iirx)wlbTdWb!LJjCIh5V02*n)+zSWQfD_eN0!b zobh{?RZ2n&qEULUE!io%?2c@MKZ~tdkt|$(;;>&{=O3g53JIBiiYe~AW487_QK?|D zRi)0nBCCo_^4{p$m(*bbpX)!080Ag@42Y!XH(?obO{g9%MOc zq11TF3mr_K=RAPK!R}{Qc2-tdQlXzWzY0Bh7M6KNAGhg%+wnSPJAyZ_%}pmTZ-4OO zHN@9K|MtAhkaP&KWlU`RiWAk)b+emB4+wE2{Wy$7V{y##j66p;?+-F3ceUqyoO+HQOr;~PB4AhF{TuPnH2dr@*ZXd-=U$GbAW5tvY8&plq+2br06$Gp9|kG&s11bfN~fufc@Rwf zLuF@Rrt{K83$?@C<4A`jxLD%x9uR&P>`>}m-n|idw8jsAlwW3qoQq^t|ELgS^_tY^ zUz~^Cr59~$L{BhTUqzJpsi4-!y%Mr+({7LHHGR?CM8O{&!$QxGY%jIEsTNQ)o<{|9 z6;`Z1d5EcnsNs9pkVOmG*@xpm8Q^^|j>6+}TZ|Cvl^?c|d@R;`zuPG^oqD^|mCiXm znVONV$1GQ`Mn8oFo8OD6-0Cl{A6ZBE(F*P`KT#E&(`J?`yq2q*;3FYe=7XGjEvJE~ zkRTVKx<1w;i};<*_4xYN6gN@C8UxsA+#^U1*^k!cJ2L(e!=!I{2A~-nB_CUR=?EdY498u+2~`>ecQS_1haY*e}6rt25?kL+>n+zf_ptk&FP3Z|CT zL;uz}PpzT@)Uy_X$(E6_h#P3xjZqL9-@N(uBBj|dI>*S)VB#d^%a>~$rJ}E!Np03^ z2A2U)Wc>GA|j(^Oek;{dp*rXE4jO9+;Ds|h5vrvtKg%nmU&RN)`2UGoMaIs3-|G&<@ z1Rl!vdta$2NhK25D%rP^eaR?UijX~9vSz8s8c&KOp&CnNdna4QzQ@?tvJR4cgzWn= zWEt~&W(-De@B4lKf1gjE5%b*ldCq;#bzkSY&tv@Kze{;BmK{nzKDp27KvJo7x_Pdd zP@A~qLU$xK`>2Z_lhfv6Lz_R+Uu#4735RQ6rH20`^BjTm-_-yf9@+#A1l`v&;j0xI z#<*qOC*c)Y#+6Q={J!C9y!02cruFY7efPbHEu#ZmI&T;8T9KAq-rwoXwbHznKTgs4 zjTydo6JGe_Gryb{VoTg@nlO7f(*BBt=S1JN&!x(X=?J3KiXAes^q|vYd9L*W#&(AX zmZwl?lZtwp-C4vHelw?YBD||Nshl&CnILoW;G8K6BUPNj#knzi`bB(RA;d}i*f;h&bb7bjn?tLxG5NJm{ z@V|{aVouR3v^g#?ru)AJmI?UJ1G}29!G}-5yC#Ra-{@QRBg47$t@K_HG*vHg3`Lf9#BSUFP8UZL`xPON{jyiY{kwvbX6LKogCs{X0w98uoPx ziaZO`bNI*l^b;GJvUq(bd;6vCyx*99QhYgIl-p>OWa^(SwdpCG*0Oi#ENVVy zw{CQcBHhNFU-f-gLkevjaA6FB2<0VB+MY`Pz>;|#t39T4Jbu4Uz9?y)3;cgfvyYvM ziJGjNzzdDF?caCWviPmavFbSSi)cDKbXO}cTc&EN7*-ML-4z=ZLs*7<3JLc~;2MHF zVG{)Zk>*5bSJ)v6olsn16D^1^n+shrY>TvhVU2C>woYlQoxJd_RcGh&{7H&_Z=+uI zZ4wUdSI?d+y?Lcgjm z-L8w^c}X~V0htsJL^)7zj~3q%=Qmd~HuuOa9$0emDoQ4d)JA+4)2Dd662Nj{~7t`Bt)rRDZEiTL&akQ0{A0F$v*g9Os~ zMPS`6RF9Z+mR!82|5YG+`O^((^Is=`%2X683*oDrym5{^#1{P^5aAx_j+MSHq%Gz} zv+W!Y&UEB_435WAr;{iDwg3^?QyVIKDR^b9sox2D?=exJJ67#|&_wCoF}?DhtNiIn z%gd9W9@GG%4`wCIR-@=v-PhrksSo#3V5F=8{K3?GXYmOg%M~^5(%PznI{Rq#JpW6o znoNHLS5@EBX|YvzgIeTiA14%i9;?BYz3#$F!&0Q!y>numO!^ROpEe@p^9}a)0ZbSWq@q2 zP_`{pknRq9NEtMY_sc1r+fFc9#gzZV@C)V&^^0W30>y(CGwaOe8^#g&Z9`Rc(>XS$ zRCfkHIiP6PT_dt#wyg3&_hnzFm zD(2-w%aMa`)L5}GDyW2L2jddCvGhzjk|ypCb{RXYM_ULB+^4;DC^?Vay$ zD5*VTR}eFO-UXrDdxLBY{9gWjMPwy)SNOMW#B2n*4Mxq>aS7GWmq}i9{f}_Ajb@pp zVSU}|+|+-uEq;H2ORD$Ne_iwAi~3gU_}ad!r@=t5?!uT^L8#c6x8eC6SGYj5l09lcjk0b`)3Hq)TipjkK$Zt*)GWf-8oxvN zyFirR?t;XBPSJsUH{}+_MS3;KM7FWNMC@Q}R?G7CJ-7h~Js#0h%5&bK=WrVbt_Fv( z{UJkvKNaC%iW(KMjWI>PKQ|Yf*$aMPj=RkAC!V^W)luJj*i~Iv?A{WhBnm0ND@t|;iI5|pwaLVbzsUdzYa)jjWQmu9Ad8;=(} zBInTo@SeCKx9y46*ZR#`}i0~=Zo6g<^o9x05 zd12cLbMKe?dT;*_aO(hwDKAbt%Pc*KcwyWPDmHF))&3J;QM-&}iVd2m;=fQiGvA<9kLyRP1bnJ8@S6VK)hO5Hk~hzhT5a7C0>F>qpiZ@mI5{QIc@O3sn0 zLH0gx9PJsu^Fl{ugJ5UU6{ zfo>nwht$|_YWqOF(rnP@5jyaryCu!jbVvwxz3hJKDnt(!xibSW9ILrKMJ$b*FYy#s zy^6Ru6Dr*uz3hjqhF)SBIo?Ie6XTTf%Sf?(Rz6%Fb~BisPxE*5V2GU=c2A(^w`+nB zpl|4V#g^nlv_~)r#f7W}kbs4OO;7f;_KZlE+}StrA@CoHoNM_HhT=XOCWSuG+@=P+ zgKi9Sys3JitJ0^4)Lh=`yjK%N%-T|~wuGRayTGe{P;Bl2pbZhQgp}Xc@6CmIJL);D z=PDSEv?f~QOimBsYo9=39#o3g|+Q3b;(g3 zyGspUvpZ#GnA1BrgK9iyPaBm{JxhNY5ln{*R|1{}xMe`PNyLx02aVoT9KXwjDj zt~#KFW26?T#@P9Fa^46(zt?#(^WY76>&@0lP(5Z3Z!vMe#lN?$DnT5;X{^=GM7298 z>jDH_cdKGLmx@x$_SItjte`IU##6&xCNIA5-IY=H9bO@(7;OIG>^D$5w*ke&ZJpbH zj+cFuB}{RYouK9XT|vj|I-VafNvnRJtn)(5d!!!a0G6V#Xrh4e*7#tBkNV%2GUBfQ zZ|YS)f~rLnEqK<8)1pC*%iWU7Lv|z0h0Gs5@xVK)_xz;~4PP0B4s4;B!$bB#35dZS zt@2!gYG#R-h6fQ((CJhEprju&{Gv6pw@VJ7T8AlUcBkClW7I~L9fkrsinhz%b7~)q z|892KFFs=_8wtGP482?lQvWvn$4hC}b1*KK0hFiRNmoHXWVB65( zl#+I%lbYNq|A{#pDCO`+Bsnim8nrdcY0efFVR{(n?})f6OHq_Mit}RO9||#h{Pu=__#O_<*R*Z_9l(wy%`g`1FnJ*$TA|wlpkc2{8NI1 zrXT!Q(?OU;m4TKY0WD_-K+~sK_@7hjx$N*Z6;YVawFyu~&XpoazhJqJ1KIw^ukS;s zc1vj6NRCs_K$kDiN?vw8;th3kSrl_`&*b-}cH2F)FY(X-UJKbAJNQ0C|KG>XLrWII zQ+(k+INhlne82ejd*?E3R}$gWDwY$?fA)6Drnmp@YyfwTh4*$Y=26mKTVyi&`yK_8JnhIF~j(aPoo#ICly$4h5LE>R$z2&3H zEI-Uei>sBQlsbq{4T-aSXNM`Yj=HY2DY;xS)X|<j3nDdb8Fv8G6DyniL-$l!RSOc1g)Mq3@; z!aX+FBRAg?vZ$9+AHS2H?;F7M1Ud`biX7S6ibB%!i1wR56BgGt$@jsz4LE(yx-dNz zb#U<)T!m$G0*%aHBkL-jjtgo9jyt>-yp2RWy5ba<8>9QSxgxk*M!DtB#Q?s|71KmV zN<>8#>dahuz8gF8Ec(}I$O-rlrB%56U)QW!{C3I}6=B%1(PJO1e<&SFkuCUtzkySW zz%O_s3;ZcJr_ceZFZ?eIk|NR}rmyvI4;$dZGFg3_Fn&PNZ4*WiAq!vEW_6=M%J{FF z{b4unP-e`&A+1MJf%kKV*g3Qv9+FAPSQ7-7h#o+;3Af6-H%@`#-ws%ap^*kWbVeVD zzGm6$^}0dR|Fxp2f>1d1h0$KM&BsQXhP@BFIcNXQApX3ftk8neLqL+qxMcD8ibNj# z>X#oY650-s15%>fHolgn3jF^t@p*WSHs;VtO~sh;!JfH{QH!E>nW4WpiMF48$2^}a zgD?v`eDE1OxzGsQqWaD`kqhXyNXbPx{2uWeYJrkmHN~UpO-atmpvYllPP1tg25&Gd zu3s0;^D1-+KcVMLgyy&Voj>FJaq=4C1-H=nr!6@Gh$A z-(edQi;7-_{b=iUWlB`LMtxXQzk~-osa?)T77`)kJQx0WNHmuyjsEQf*p0iqq1Obh z5?KKxMS)v1B2v;~ULen-&~d0xix>K7n*!*cSDPTP{vtNDsqNMTFbE@9Tw{{{ltGe~ zpC6XvG?jW_(1u2qcZP<2edbuPsm-wwAovchyxpy))Aj97 z_O&I$9r;275ww6CL*pKLn_TA)7q}2%zMiLt;{#8oL6I+r{P2+j=ZD&=X1WR?K8y+;a{J_og`M2=k%6*&OyQgw!x}F@nZ*gss-TIP~nVY=k^*t9>z3Q zQ=I-E`;URJueOw@FF3Z9mqbt5@#gyw?!cYF4<_IS$Bj+So;^T3wg%uuT#f*{bX5Yw zlo*+XPeJJwz%& zL=uCLqs>g=S&2KHDkZ1l(r)sp)PnL_R?L>B1pK)jMpSJvfB&UXTt>3F9y2VG9l4w$ zVlPy&xQ_{&B+`F-*xZHv)N@+K9jXE~$-o^f<8}oV%VxFzqPd}7&Solnc1vpT@}#85 zBsW7KB)*=(ScYQ1DhP#%>3T0QY)N7&v@i_*pu!jNyaIE6<{x`v~ zfa?$W9I{+q^H`TqZasVC4hsq238WFYF?*w(){4`zv2WePdJ|Gnkz$8J^a zci%(>I?Mp1_xKz#Ir>V$QwJXF3PN`f0B%?QUH3_G@@|E}T{Q-~(*JnU#*^B6e_@OU z^ZIMe^UW%WS9lvCmMGgMork6>%m_>S`RYH07Ho!%$_Y>wJ&1VCB~5O)G}b_HAn z+fGE5P31OQq%!)k?LEDh@@#Fbn6O-_;OA=H(>t^0P3>LvoY^A^=jN226plT#VN+vd zuH)s7l*WwtdiK*U83LW}@-H{!kE(bYz9w;zf^kTHEX7N$b!9KJ0*v+v??dc|`gRLk zRd;AND1I!Du7YhGe;faJnT_nCIdE{S_@{AoGC%7h&I3H4*7PvF{2hAqdBWsl(q$*d z(a|=J5#>?J$4{q5sb9^*!!JT*>&}bVMie&oMu2}vyZ2m+gEXB!JbI6?>C%!>V(EBZ z$sWAiz(dCUO4m!%i6VDTcOaj0@Kwx`2zV_MaM!!feSdUd1Gxjl;#!1bqd_@1&Z9{! zu1L}N5(y>V(?)>vt-SkNw{XbxJA&=DsL_d@SJm=fZT8S-%yzCrlGS$o*PUV*F4d;n z^*^3UQ)1p<1MUsh#~T5Q*R&6BaZOsjPk^xkkrFBJ!&wgxG$Pr)zQW4v0^%VoGywF zsu_mZ{^;QCIFh_?E5GH1Hz*z!|J79iljUYN`M%DT zkI2awbQ5#08aZCTEU`KS9Z6hxj=c+#{-xvB5cSrZsydUyRI|Z%T@>l$77a6!AXlD2@JG)EuX;AQ)?=r`-j5{C zg}v`01kxc>t>YoRfs^hsCi{Kuu8A0*P=S`!vq+bfaQwPJy}6jS5uY1TE&1zR<~pe* z*ztn_ylw6*;ey<0(-L#?<~Em(BxmCLF&?Jxojfo}YeSj~&HpOMYZj%fD#M{pYhp9D z5txU3)v0^?6OY^Lt7e4T+229gF+~xUaf>Qy90`?eX1t7Z3pwu#~?OyV!LsEroTB7hLOYAYXQ{$_s zt3$al27k4!v{akI(F>BoFB5h~seXs1uQ@a@mdhbL+n;MJkq+gqp;usntg&XZKp4(s zpMgl6X?!a>7g5yYkRL^>N~fQSrf#@2mE-v_-|6hJP5nCb8BKMv%K)cDP;g$1T#adz zQu6BI?q&-*XnzCWrJ=~W2`fLJj3K>{o+i_!)ugv;uJuaWD^UI}L`QNcL@8Npam`ON z+C*aYa7-l^G`5aIvcu1y9@VFN`??ZO0B`%a@{fggMH{%64$+LAa2Tu{;50J&?B^l9 zi12H}576Y-1~qQs;X7sdK#Vs-Ah%Gwmfi#+qOQoVDu3xn1(uQvo#*=W1u zcTCW_GZ*~mPU4e&K^ZqM>wUV=bOhR0%X6uq`3_rEnN(2{ySzP$IetzFlJh7CqXGH#O2^DQoPa4YOuDbqoXCCxh~ zuZ~mfPk;gqf`Sw({#N_h=@)u3z$w%`KH%LVzs~c0=gPR%`?L}=GPV*A z?WyG#Z*0AzH-fkDnH>ekQP;3>vR+zv&I>dmPv;&?67SfYi?%9;l2 zj7nNT3%;Jd5^zlK6fE+X9z87Om>$D}rE0~=$;gDE>_+MUSBf@nLx|UCiw8$wJ-99| z{%p2jT?Ov*b0N&V|UXtzn%dX?nW&d4~f(CzIBM8v4fyqkTlAE8W08Mci^ zYR9M_dAX4_$(3ANdvB@TY;che_$!0=8-^JhhoP`xCg_XrM=wQGHlkehR3;>w-{m2} zAsSmD=$B!?MZo}Pl3|9lBWW(9$7eN3*biu48@DipN*zAvLg7~mZ}MYJ^1lC z^^hO}fya@K5FIX2UQNGu)f^c&!Cz-0@#!q|6bzX%ziP>4ZEJ6H&=(uk0w*G}x5A}5 zxw0H_$#r^W`E!+^63>Z6p|9au_dg0YX|UZ1>VibAR?q$oKF!eTjSDywIT1mG zB2t_8x;d}wc-(2+heA#@)?~bXC--GJK+)yQq7d zJt`~jeW8`@dHMxOba6bB<}=B*fZ1DS=QhsK{aYZtP# z@PBA6c{R9#oM8vSFUtA=baspr9~t%+UGV_8vZ~0P^Zqd=mZt0aZkR_ywH}Qgu#s53 zAL9afwCN^MyqmVHPrcQN)UQZ2O3Z{MSYIU&bTJ*1`j_mH7b-Ov3qTes-NO-u)M$ZT z{=y~{TIn}3DFqshgKTaL<+*WAgE5Ow@WaHn{&31E_mi--wz%a9z z;aq8TQvy*j5&Z6CcKi6HTSg(W+p)cO^0}%m`;zPA${tPNGmgSY{E0a5v#qo$DdI+n z_E<>lcZl;`YS3;7+J;sVM8C#!7dRAX7v)~JqC7{xkb0}G-KaD*4Sd=CM%VseP4H*D zk(7_|^8tUF&z@yvv98}yJn>1kdXv1zr?Jm6UdP`jf@n;XUiY~WjGe#czIhBJ2K5A{ z0>L+a**@snE}*0$9H<;f>lumJ_Se`FcEz!dR|4#gxz&mjlT&A-Wvs6z#l7SXbmdC@ z6)4A*%2cVjMTx-`O3Ktvr|fWY%!#?r#f|SM$8`Y~E}&{x49l4KVtlEfud7b7^Y}p< zJL|4VXTR(z`9_jZ7-D@PqQ>*63Uhhl7PAmA_tAh#chK$6QSbMTffNTpxWAfJ&$-((_bYDRMC*$r?#cJF-eR*)Z=p7P6BVl4OV_I;0y*o z7QptPT+BV@OM?8Hwc@*b0$uN+%@w4-Ij}^+zwA&uV-e##V}|ryRl;neyPb~qm5$`MK^!SX^=CCC#q(DpW3&Mw&04m$-Z^h(63!|k~`IIm6DY@+nNyt25EW3h#Y{N;`@|1V3 ztR@|{Z}ZikIspFJuDdp3fx+99zj0`@;@RKr6|(i*P-MmkHe$*om5kw)RLvxb(>`j# zvoO#7-*^jv=ZOyGK zk$*=`D=cmmS>*2UD9(Yr&%z6wE~LIBz{68HcqR^gs0F^0XK|XH#PI;&JC{wBC-^NB zi<>?knJPPAs&zYr;8^hR;##{%U{ZCkfP4RvD1Vxg3fW0vao5PA0Ee6p!P@WUQ`?kZ z_EmcZx6}M2LWbH+WT3Sn(|WokPFGL*+~VgPmvc`qdl#Z@c1_?I?ujdC9_k1qcciw* zeUlhydnbjs_JpFV56)ez?Rgo@Lyst-v3;xu+*#8!4cnmgeT=95DYoCuEuq~Goj;_p z;p4gFCdHZ74wdUWN19`R2H!{z@b^T;H6}@aPH%3UuwJ5V8o#4tXjNNsQ|8f%?IfA2 zlxn~NoDj*$0>X_+x%gQ7-DH_ZiBveJ3>I1ws(bM4A}G~9Si2POl-r4g;qc4{<6kAvx zJhQPBJS({rQ^*JPLYRrg5n2;m*TxUDe`LCUE2t2{3Lt+ zJnnv!(bea0YphL$n@;WfvM-tnHu~E_z9JuNMuQ#|WUHTD`W3c{J}nA*{wuhP#M3N> zvZM(N8Nu5fiUTklX-K;*NCU~|{GlnR$pE!DMWSI-Grue$eNjH1Qe;Q? zY#iss-Ak-4CH7s>*nkv8Wqp9^4so$hh^-=-Yy`}QXjX4@;Xz?Db{o0T;Urln?SeKh zhMwpbmdiQ`exM*J=DaP=>B!&aO6=Q*^ZF0;>2VR=(Vvf&JX^ufIrNKP2dB4CFR_X% zxCW9GDE%O#g0SHipEZ(9UxFt_MXa`ffXSdwH0_)HUYslZb8t5B>^3{C92|5^(hP4d z)N_#WU~=K=>RJV84HPv%r+5m*)aPN({B`U{xx7T$MCaO#2}R8L5A$K;D-&+GD=&fZ zN)TnrJ4DmE?8=0V_0t)34sPv)r@*_E0@|PoC`N|G1#QA&VB*oSp42y1l+o*tq!RnG zwV)jRXRc-$HK_%q{fh%H7D{cXmuws&1V&$W)HnN&oP8MB5bm-PLWS`dK?p4+%=ywupYFk8>Z@BQ zv}K6K41Wgn`Tz$zMPji`GCp6m3}Jn-HwbX);^;A0s9tgqhhn44VNakYgS1ey9~`n6 zwnb36Gp?`YUJTF1Yj>O39icrgvd5gihpG3P_cIEH$ihYx$T-JEnuBK&r3dgUu)TIH z&@)4ftf%^zjKHY+%|q>JBiF}8QZ$!24!j*=mHC!7a=ApY`(NgBk@8)=L5oA!t$Xtj zla>s^Wepe_bwAGRU3~#1{VBLd6ME?~)NyPtepS2$?1}5n8r?BPg$QCtTuC1`r%0sIInZ+u72Z>f^V_I#ZNj)Q&iQ2rWPfC5s-l1&MjV9BO}P_Q=2iz-GG<$;Fg;SDu(1HW^O%6v;+v{ltt zCtp(;<+b`de<@LKQbyzB!tJLw>g`q(MlV-*{)|N($6MN@+z;j^ds^0VXev88)Up;Z z8ncLpx+%BAHHgcnLWsR$_uu%}hLX%hAJp4i+*SyhK){VzSDDE|b^C(?72R^G*AsK^ z!l>Ij?_A<4M4Qlx{P2#;HNhC zS{m(7yC(RoZo8QWA6QS{?!X~jR|`6}>-de8X&o1)H8n$6?iRrVMWG?wT)#mJNV2uz z=AX9GEO#@_0IEY!c_H>TpkDl|*ui%{NvK<69j{J+lwTwE@hHfSm4rhUO zFdyafNq3k>MU?{nj9JVC-K_Pu44zz7R!(KNn>1{mroSAx-Crb&!}LXvBMb57`9L5@h``h6-LY|Cc5iCH=2_~ zX8L5-84H1he&+Ma%ri`Vl2Q@UP4>>JKwqzis7JgE^F|;Ov$Q-FATu(1u{tP-DkvPG z8jV_iV1bd{=pQsv9jDqDoSR;5GWvkI?NX=hGXh}O^RpJm7wXbvfTGw0z(X>iqy)R@ zDBjwqioN=40ux?mgslPA(X)#s8;_R9(7wKD*!8-S_cD?}yq-k@1){x_YvNeovt9nW zu1Y&^!bB*u;gqj$0-`;78r4_ivAXO_HO#DfR&|-Vudhhjpt^S=VGTePd9Dp(x?8<~ z1fU2z>$qIgJ2;Vmz`D6%rl+ScGJS;rW_U_QT5=t;G2P2-L}e|*?63-LEs-u>xxZRc z(u;Y3?Qdfaq5?b~do1_&=7FEg!ra?F@kU%3Uj87lAUZcvF^Bm_ZfX-p;3Ol8rMQjgas+waZX$q>iR0E;JP^L!Ip zNl$GwkJKUD*VnIY3=OT8i(uEr+GeN{8cJnWo#GSfFcX7GLG~(ueFFxFrkz{>xKvIq ztwc-99LIWMe~l$dQrclxN9>KHTP)nInOE1qnD9J>olhIN*3nu5Y@{P<_$?NvPxve~ zA*c|o7;&@VxeZ4|@j5_>nTeK`mXww%&IiN|I@emifAw|7L@%p03A!x*8eSeD`<3TB z)8|WtT^||y)!NtT+Zu>n98Xhq_H%a{Nh7Q8yS+HK(S34qq$JbAb!~QTW8u)_6}QES z8`q0_(zIu$0W4;*eYJnAj@?B%;o=Oc$RE3~lJv?5aCKScThpK4qk<4!9ch*E#Jn)- zTwnMF#jMt?A!Ja6812Ph!!xaKi`~{&HnLTMRuENTSUoIe_E!);He~~i1wU|%jNJd4 z2}`Fl2}z;MKJfp0_MRX)K|)SWPD18#25L7YOp1F=m=edo{+trUzcNp&P=Y_#m=R>u z)nOzdQHQ!si?QH-l65R7eq|pC$>I?b5;_v%uR0E>nhp(gbov;6i1lfPJ%^xlGn~x0 z%bt;kf(>&dBvB9mvj({La2k|8;@nR{LJJOkl=v+q>dGV}E;jt8_O`ZW zc8(5$d@i;&zuk&PB0tl4_+AncK`Igwa3Z3weCUrEF1!`XQg%r7JtQPA!S@{_dIt$f zGL&rMUnA delta 39571 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 diff --git a/config/default/forms/app/delivery.xml b/config/default/forms/app/delivery.xml index 75d33389a1a..b18388c7801 100644 --- a/config/default/forms/app/delivery.xml +++ b/config/default/forms/app/delivery.xml @@ -795,7 +795,7 @@ - + @@ -864,7 +864,7 @@ - + @@ -905,7 +905,7 @@ - + @@ -1377,10 +1377,10 @@ selected(../vaginal_bleeding, 'yes') or selected(../vaginal_discharge, 'yes') or selected(../convulsion, 'yes'), 'yes', 'no')"/> - + - + @@ -1397,24 +1397,24 @@ selected(../convulsion, 'yes'), 'yes', 'no')"/> - + - + - + - - - - + + + + - + - + @@ -1433,14 +1433,14 @@ selected(../convulsion, 'yes'), 'yes', 'no')"/> - + - + - + - + @@ -1495,7 +1495,7 @@ selected(../condition/woman_outcome, 'alive_unwell') or ../delivery_outcome/babies_alive_num > 0"/> - + diff --git a/tests/e2e/forms/submit-default-delivery-form.specs.js b/tests/e2e/forms/submit-default-delivery-form.specs.js index 9f5b3cf2e91..45733da9c4c 100644 --- a/tests/e2e/forms/submit-default-delivery-form.specs.js +++ b/tests/e2e/forms/submit-default-delivery-form.specs.js @@ -5,6 +5,7 @@ const utils = require('../../utils'); const userData = require('../../page-objects/forms/data/user.po.data'); const _ = require('lodash'); const { assert } = require('chai'); +const moment = require('moment'); describe('Submit Default Delivery Report', () => { const { userContactDoc, docs } = userData; @@ -41,8 +42,7 @@ describe('Submit Default Delivery Report', () => { await deliveryReport.selectBabiesDeliveredButton(); await deliveryReport.enterNoOfBabiesDelivered(6); await deliveryReport.selectBabiesAliveButton(3); - - await deliveryReport.enterDeliveryDate(''); + await deliveryReport.enterDeliveryDate(moment().format('YYYY-MM-DD')); await deliveryReport.selectDeliveryPlaceButton(); await deliveryReport.selectDeliveryMethod(); diff --git a/tests/page-objects/forms/default-delivery-report.po.js b/tests/page-objects/forms/default-delivery-report.po.js index 2132c0c19a6..0f05347c608 100644 --- a/tests/page-objects/forms/default-delivery-report.po.js +++ b/tests/page-objects/forms/default-delivery-report.po.js @@ -2,6 +2,7 @@ const utils = require('../../utils'); const helper = require('../../helper'); const fs = require('fs'); const { element, by } = require('protractor'); +const moment = require('moment'); const xml = fs.readFileSync(`${__dirname}/../../../config/default/forms/app/delivery.xml`, 'utf8'); @@ -126,7 +127,7 @@ module.exports = { const basePath = `(//*[@class="repeat-number"])[${deadBabyIndex}]/..//`; const dateOfDeathPicker = await element(by.xpath(`${basePath}*[@placeholder="yyyy-mm-dd"]`)); await dateOfDeathPicker.click(); - await dateOfDeathPicker.sendKeys('').sendKeys(protractor.Key.TAB); + await dateOfDeathPicker.sendKeys(moment().format('YYYY-MM-DD')).sendKeys(protractor.Key.TAB); const placeOfDeathRadio = await element(by.xpath(`${basePath}*[@value="health_facility"]`)); await placeOfDeathRadio.click(); From 450cd7e3361fa980eddfbb4043caf3dc076599c7 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Tue, 7 Sep 2021 16:28:58 -0500 Subject: [PATCH 033/179] Clean up custom xpath functions and add tests --- .../src/js/enketo/medic-xpath-extensions.js | 85 +++++++++++-------- .../enketo/medic-xpath-extensions.spec.js | 51 +++++++---- 2 files changed, 83 insertions(+), 53 deletions(-) diff --git a/webapp/src/js/enketo/medic-xpath-extensions.js b/webapp/src/js/enketo/medic-xpath-extensions.js index f0b13029d7d..00b4e543497 100644 --- a/webapp/src/js/enketo/medic-xpath-extensions.js +++ b/webapp/src/js/enketo/medic-xpath-extensions.js @@ -1,15 +1,11 @@ +const moment = require('moment'); + +const DATE_STRING = /^\d\d\d\d-\d{1,2}-\d{1,2}(?:T\d\d:\d\d:\d\d\.?\d?\d?(?:Z|[+-]\d\d:\d\d)|.*)?$/; const RAW_NUMBER = /^(-?[0-9]+)(\.[0-9]+)?$/; -const DATE_STRING = /^\d\d\d\d-\d{1,2}-\d{1,2}(?:T\d\d:\d\d:\d\d(?:Z|[+-]\d\d:\d\d))?$/; const XPR = { - boolean: function(val) { return { t:'bool', v:val }; }, - number: function(val) { return { t:'num', v:val }; }, - string: function(val) { return { t:'str', v:val }; }, - date: function(val) { - if(!(val instanceof Date)) { - throw new Error('Cannot create date from ' + val + ' (' + (typeof val) + ')'); - } - return { t:'date', v:val }; - } + number: v => ({ t:'num', v }), + string: v => ({ t:'str', v }), + date: v => ({ t:'date', v }), }; let zscoreUtil; @@ -32,8 +28,6 @@ const getValue = function(resultObject) { return resultObject.v; }; -const now_and_today = function() { return { t: 'date', v: new Date() }; }; - const toISOLocalString = function(date) { if (date.toString() === 'Invalid Date') { return date.toString(); @@ -64,30 +58,44 @@ const getTimezoneOffsetAsTime = function(date) { return direction + hours + ':' + minutes; }; -const str = (r) => { +const asString = (r) => { return r.t === 'arr' ? - r.v.length ? r.v[0].toString() : '' : + r.v.length ? r.v[0].textContent || '' : '' : r.v.toString(); }; -const date = (it) => { - if(it.v instanceof Date) { - return new Date(it.v); - } - - it = str(it); - if(RAW_NUMBER.test(it)) { +// Copied from https://github.com/enketo/openrosa-xpath-evaluator/blob/master/src/openrosa-extensions.js +const asDate = (r) => { + let temp; + const dateSinceUnixEpoch = (days) => { // Create a date at 00:00:00 1st Jan 1970 _in the current timezone_ - const temp = new Date(1970, 0, 1); - temp.setDate(1 + parseInt(it, 10)); - return temp; - } else if(DATE_STRING.test(it)) { - const t = it.indexOf('T'); - if(t !== -1) { - it = it.substring(0, t); + const date = new Date(1970, 0, 1); + date.setDate(1 + days); + return date; + }; + switch(r.t) { + case 'bool': return new Date(NaN); + case 'date': return r.v; + case 'num': return dateSinceUnixEpoch(r.v); + case 'arr': + default: + r = asString(r); + if(RAW_NUMBER.test(r)) { + return dateSinceUnixEpoch(parseInt(r, 10)); + } else if(DATE_STRING.test(r)) { + temp = r.indexOf('T'); + if(temp !== -1) { + r = r.substring(0, temp); + } + temp = r.split('-'); + if(moment({ year: temp[0], month: temp[1], day: temp[2] }).isValid()) { + const zeroPad = (n, len) => n.padStart(len || 2, '0'); + const time = `${zeroPad(temp[0])}-${zeroPad(temp[1])}-${zeroPad(temp[2])}`+ + 'T00:00:00.000' + getTimezoneOffsetAsTime(new Date(r)); + return new Date(time); + } } - const dateValues = it.split('-'); - return new Date(dateValues[0], dateValues[1]-1, dateValues[2]); + return new Date(r); } }; @@ -98,23 +106,26 @@ module.exports = { zscoreUtil = _zscoreUtil; }, func: { - now: now_and_today, - today: now_and_today, + today: function() { + return XPR.date(new Date()); + }, 'z-score': function() { const args = Array.from(arguments).map(function(arg) { return getValue(arg); }); const result = zscoreUtil.apply(null, args); if (!result) { - return { t: 'str', v: '' }; + return XPR.string(''); } - return { t: 'num', v: result }; + return XPR.number(result); }, 'difference-in-months': function(d1, d2) { - d1 = date(d1); - d2 = date(d2); + d1 = asDate(d1); + d2 = asDate(d2); + + const isValidDate = (d) => d instanceof Date && !isNaN(d); - if(!d1 || !d2) { + if(!d1 || !d2 || !isValidDate(d1) || !isValidDate(d2)) { return XPR.string(''); } diff --git a/webapp/tests/mocha/unit/enketo/medic-xpath-extensions.spec.js b/webapp/tests/mocha/unit/enketo/medic-xpath-extensions.spec.js index c4f98625fd5..f9c65b17b8f 100644 --- a/webapp/tests/mocha/unit/enketo/medic-xpath-extensions.spec.js +++ b/webapp/tests/mocha/unit/enketo/medic-xpath-extensions.spec.js @@ -11,20 +11,13 @@ describe('medic-xpath-extensions', function() { done(); }); - describe('now() and today()', function() { - it('should have the same implementation', function() { - assert.equal(func.today, func.now); - assert.equal(func.now, func.today); - }); - }); - - describe('now()', function() { + describe('today()', function() { it('returns a result of type `date`', function() { - assert.equal(func.now().t, 'date'); + assert.equal(func.today().t, 'date'); }); it('returns a value which is instance of Date', function() { - assert.ok(func.now().v instanceof Date); + assert.ok(func.today().v instanceof Date); }); }); @@ -59,7 +52,7 @@ describe('medic-xpath-extensions', function() { [ '2015-10-02', '2015-11-01', 0, ], [ '2014-10-01', '2015-10-01', 12, ], [ '2014-10-02', '2015-10-01', 11, ], - [ '2015-10-01', '2014-10-01', -12, ], + [ '2015-10-01T00:00:00.000', '2014-10-01T11:11:11.111', -12, ], ].forEach(function(example) { const d1 = { t:'str', v:example[0] }; const d2 = { t:'str', v:example[1] }; @@ -70,13 +63,39 @@ describe('medic-xpath-extensions', function() { }); }); + it('should report difference between date objects', function() { + const d1 = { t:'date', v:new Date('2015-09-22') }; + const d2 = { t:'date', v:new Date('2014-09-22') }; + + assert.equal(func['difference-in-months'](d1, d2).v, -12); + }); + + it('should report difference between day counts', function() { + const num1 = { t:'num', v:10 }; + const num2 = { t:'num', v:50 }; + const str1 = { t:'str', v:'10' }; + const str2 = { t:'str', v:'50' }; + + assert.equal(func['difference-in-months'](num1, str2).v, 1); + assert.equal(func['difference-in-months'](str1, num2).v, 1); + }); + + it('should report difference between element arrays', function() { + const d1 = { t:'arr', v:[{ textContent: '2015-09-22' }] }; + const d2 = { t:'arr', v:[{ textContent: '2014-09-22' }] }; + + assert.equal(func['difference-in-months'](d1, d2).v, -12); + }); + it('should return an empty string when the difference cannot be calculated', function() { - // given - const d1 = { t:'str', v:'nonsense' }; - const d2 = { t:'str', v:'2015-09-22' }; + const invalidStr = { t:'str', v:'nonsense' }; + const bool = { t:'bool', v:true }; + const nonsense = { t:'nonsense', v:'2015-09-22' }; + const valid = { t:'str', v:'2015-09-22' }; - // expect - assert.equal(func['difference-in-months'](d1, d2).v, ''); + assert.equal(func['difference-in-months'](invalidStr, valid).v, ''); + assert.equal(func['difference-in-months'](valid, bool).v, ''); + assert.equal(func['difference-in-months'](nonsense, valid).v, ''); }); }); }); From c967023ddd6c651db39a9db3f3606f685a95db34 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Thu, 2 Sep 2021 12:35:04 -0500 Subject: [PATCH 034/179] Revert "See if anything magical happens when adding the dynamic URL listener" This reverts commit 68eb8f8a237740db136c12db60f9e95267b8cbe7. --- webapp/src/ts/services/enketo.service.ts | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/webapp/src/ts/services/enketo.service.ts b/webapp/src/ts/services/enketo.service.ts index 3bdb7dae025..73f8fde4f4a 100644 --- a/webapp/src/ts/services/enketo.service.ts +++ b/webapp/src/ts/services/enketo.service.ts @@ -296,7 +296,6 @@ export class EnketoService { window.history.replaceState({ enketo_page_number: 0 }, ''); this.overrideNavigationButtons(this.currentForm, wrapper); this.addPopStateHandler(this.currentForm, wrapper); - this.addDynamicUrlListener(); // TODO figure out if we need this new URL listener code... this.forceRecalculate(this.currentForm); this.setupNavButtons(wrapper, 0); return this.currentForm; @@ -688,18 +687,6 @@ export class EnketoService { } } - private dynamicUrlHandler() { - window.location.href = $(this).find('.url').text(); - } - - private addDynamicUrlListener() { - $(document.body).on('click', '.enketo a.dynamic-url', this.dynamicUrlHandler); - } - - private removeDynamicUrlListener() { - $(document.body).off('click', '.enketo a.dynamic-url', this.dynamicUrlHandler); - } - private saveGeo(geoHandle, docs) { if (!geoHandle) { return docs; @@ -756,7 +743,6 @@ export class EnketoService { unload(form) { $(window).off('.enketo-pagemode'); - this.removeDynamicUrlListener(); if (form) { form.resetView(); } From aaa5e119d4a2eaffd793ae8e60d974476f0a840f Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Tue, 7 Sep 2021 17:03:45 -0500 Subject: [PATCH 035/179] Add note about headless to TESTING doc --- TESTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/TESTING.md b/TESTING.md index 93904645338..1b9c5ba83d1 100644 --- a/TESTING.md +++ b/TESTING.md @@ -64,6 +64,8 @@ Adding a test identifier a good option for cases where a CSS selector would othe ## Debugging Documented here are two ways to run individual tests and have your IDE break on the specific test. +> When debugging it can be helpful to disable the headless browser mode so that you can see the browser window as the tests run. To do this, remove `--headless` from the [tests/conf.js](tests/conf.js) file for the Protractor tests and the [tests/wdio.conf.js](tests/wdio.conf.js) file for the WebdriverID tests. + ### Visual Studio Code #### Setting up Vscode for e2e debugging. From 39aaaf7674c16f831990299db1edb3b718639ef3 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Tue, 7 Sep 2021 17:05:41 -0500 Subject: [PATCH 036/179] Clean up Openrosa Xpath binding --- .../src/js/enketo/OpenrosaXpathEvaluatorBinding.js | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js b/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js index 337cd07e810..85ab0d41d26 100644 --- a/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js +++ b/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js @@ -11,13 +11,6 @@ module.exports = function( ) { const evaluator = new ExtendedXpathEvaluator(wrappedXpathEvaluator, ore); - this.xml.jsCreateExpression = function() { - return evaluator.createExpression.apply( evaluator, arguments ); - }; - this.xml.jsCreateNSResolver = function() { - return evaluator.createNSResolver.apply( evaluator, arguments ); - }; - this.xml.jsEvaluate = function(e, contextPath, namespaceResolver, resultType, result) { wrappedXpathEvaluator.evaluate = (v) => { // Node requests (i.e. result types greater than 3 (BOOLEAN) @@ -32,11 +25,5 @@ module.exports = function( ) { return evaluator.evaluate(e, contextPath, namespaceResolver, resultType, result); }; - window.JsXPathException = - window.JsXPathExpression = - window.JsXPathNSResolver = - window.JsXPathResult = - window.JsXPathNamespace = true; - return evaluator; }; From cb78fa48c9d2a5ebb9e92c2ddabd5b416cfce568 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 8 Sep 2021 09:02:54 -0500 Subject: [PATCH 037/179] Add test for Enketo language --- .../karma/ts/services/enketo.service.spec.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/webapp/tests/karma/ts/services/enketo.service.spec.ts b/webapp/tests/karma/ts/services/enketo.service.spec.ts index c4f9491dd5d..297230692dd 100644 --- a/webapp/tests/karma/ts/services/enketo.service.spec.ts +++ b/webapp/tests/karma/ts/services/enketo.service.spec.ts @@ -256,6 +256,25 @@ describe('Enketo service', () => { }); }); + it('passes users language to Enketo', () => { + const data = '123'; + UserContact.resolves({ contact_id: '123' }); + dbGetAttachment + .onFirstCall().resolves('
my form
') + .onSecondCall().resolves('my model'); + enketoInit.returns([]); + FileReader.utf8 + .onFirstCall().resolves('
my form
') + .onSecondCall().resolves('my model'); + EnketoPrepopulationData.resolves(data); + Language.resolves('sw'); + return service.render($('
'), mockEnketoDoc('myform'), data).then(() => { + expect(Language.callCount).to.equal(1); + expect(EnketoForm.callCount).to.equal(1); + expect(EnketoForm.args[0][2].language).to.equal('sw'); + }); + }); + it('passes xml instance data through to Enketo', () => { const data = '123'; UserContact.resolves({ contact_id: '123' }); From fa0aca083e83c39cc1f98354528f95c70c4f1cb8 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 8 Sep 2021 09:28:20 -0500 Subject: [PATCH 038/179] Reset default delivery form --- config/default/forms/app/delivery.xlsx | Bin 61805 -> 61791 bytes config/default/forms/app/delivery.xml | 54 ++++++++++++------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/config/default/forms/app/delivery.xlsx b/config/default/forms/app/delivery.xlsx index f9d4ae17465406c691cd525d4ca5979e6e8b6915..4ae6ba0281988755b432ddc04852948442df9d5c 100644 GIT binary patch literal 61791 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 literal 61805 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 M>jCOyJpldme|gcdyZ`_I diff --git a/config/default/forms/app/delivery.xml b/config/default/forms/app/delivery.xml index b18388c7801..0b80d8a5c3d 100644 --- a/config/default/forms/app/delivery.xml +++ b/config/default/forms/app/delivery.xml @@ -795,7 +795,7 @@ - + @@ -985,9 +985,9 @@ - + - + @@ -1208,28 +1208,28 @@ static_instance-babies_alive-0 - 0 0 + 0 static_instance-babies_alive-1 - 1 1 + 1 static_instance-babies_alive-2 - 2 2 + 2 static_instance-babies_alive-3 - 3 3 + 3 static_instance-babies_alive-4 - 4 other + 4 @@ -1293,28 +1293,28 @@ static_instance-pnc_visits-0 - 0 within_24_hrs + 0 static_instance-pnc_visits-1 - 3 3_days + 3 static_instance-pnc_visits-2 - 7 7_days + 7 static_instance-pnc_visits-3 - 42 6_weeks + 42 static_instance-pnc_visits-4 - 0 none + 0
@@ -1354,7 +1354,7 @@ - + @@ -1377,10 +1377,10 @@ selected(../vaginal_bleeding, 'yes') or selected(../vaginal_discharge, 'yes') or selected(../convulsion, 'yes'), 'yes', 'no')"/> - + - + @@ -1397,24 +1397,24 @@ selected(../convulsion, 'yes'), 'yes', 'no')"/> - + - + - + - + - + - + - + @@ -1433,9 +1433,9 @@ selected(../convulsion, 'yes'), 'yes', 'no')"/> - + - + @@ -1494,8 +1494,8 @@ selected(../blue_skin, 'yes'), 'yes', 'no')"/> selected(../condition/woman_outcome, 'alive_unwell') or ../delivery_outcome/babies_alive_num > 0"/> - - + + From 72d9184ff57c76bdf809db8d6943eea7132c6704 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 8 Sep 2021 09:42:38 -0500 Subject: [PATCH 039/179] Clean up Openrosa Xpath binding --- webapp/custom-webpack.config.js | 4 +--- webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/webapp/custom-webpack.config.js b/webapp/custom-webpack.config.js index 4660b502e1b..8be3b789df0 100644 --- a/webapp/custom-webpack.config.js +++ b/webapp/custom-webpack.config.js @@ -4,15 +4,13 @@ const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPl module.exports = { resolve: { alias: { - // TODO Do we also need mapping for enketo/dialog? Probably only if we have custom impls. 'enketo/config': 'src/js/enketo/config.js', 'enketo/widgets': 'src/js/enketo/widgets', 'enketo/xpath-evaluator-binding': 'src/js/enketo/OpenrosaXpathEvaluatorBinding', 'enketo/file-manager': 'src/js/enketo/file-manager', + 'enketo/translator': 'src/js/enketo/translator', 'extended-xpath': 'node_modules/openrosa-xpath-evaluator/src/extended-xpath', 'openrosa-extensions': 'node_modules/openrosa-xpath-evaluator/src/openrosa-extensions', - // translator for enketo's internal i18n - 'enketo/translator': 'src/js/enketo/translator', // enketo currently duplicates bootstrap's dropdown code. working to resolve this upstream // https://github.com/enketo/enketo-core/issues/454 '../../js/dropdown.jquery': 'node_modules/bootstrap/js/dropdown', diff --git a/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js b/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js index 85ab0d41d26..834ac404f91 100644 --- a/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js +++ b/webapp/src/js/enketo/OpenrosaXpathEvaluatorBinding.js @@ -3,7 +3,7 @@ const openrosaExtensions = require('openrosa-extensions'); const medicExtensions = require('./medic-xpath-extensions'); const translator = require('./translator'); -module.exports = function( ) { +module.exports = function() { const ore = openrosaExtensions(translator.t); ore.func = Object.assign(ore.func, medicExtensions.func); ore.process = Object.assign(ore.process, medicExtensions.process); @@ -24,6 +24,4 @@ module.exports = function( ) { }; return evaluator.evaluate(e, contextPath, namespaceResolver, resultType, result); }; - - return evaluator; }; From 75bfb800682c10f4e9cd126292a98a6d03005a82 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 8 Sep 2021 10:26:30 -0500 Subject: [PATCH 040/179] Remove unnecessary datepicker and filepicker widgets --- webapp/src/js/enketo/widgets.js | 13 +++++++------ .../src/js/enketo/widgets/datepicker-widget.js | 16 ---------------- .../src/js/enketo/widgets/filepicker-widget.js | 15 --------------- 3 files changed, 7 insertions(+), 37 deletions(-) delete mode 100644 webapp/src/js/enketo/widgets/datepicker-widget.js delete mode 100644 webapp/src/js/enketo/widgets/filepicker-widget.js diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index c27688d8ba5..163997807bb 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -1,11 +1,12 @@ { const widgets = [ - require( 'enketo-core/src/widget/geo/geopicker' ), - require( 'enketo-core/src/widget/table/tablewidget' ), - require( 'enketo-core/src/widget/radio/radiopicker' ), - require( 'enketo-core/src/widget/time/timepicker-extended' ), - require( './widgets/filepicker-widget' ), - require( './widgets/datepicker-widget' ), + require( 'enketo-core/src/widget/geo/geopicker' ).default, + require( 'enketo-core/src/widget/table/tablewidget' ).default, + require( 'enketo-core/src/widget/radio/radiopicker' ).default, + require( 'enketo-core/src/widget/time/timepicker-extended' ).default, + require( 'enketo-core/src/widget/columns/columns' ).default, + require( 'enketo-core/src/widget/file/filepicker' ).default, + require( 'enketo-core/src/widget/date/datepicker-extended' ).default, require( './widgets/horizontal-choices' ), require( './widgets/countdown-widget' ), require( './widgets/db-object-widget' ), diff --git a/webapp/src/js/enketo/widgets/datepicker-widget.js b/webapp/src/js/enketo/widgets/datepicker-widget.js deleted file mode 100644 index 46f779f059b..00000000000 --- a/webapp/src/js/enketo/widgets/datepicker-widget.js +++ /dev/null @@ -1,16 +0,0 @@ -{ - 'use strict'; - const DatepickerExtended = require( 'enketo-core/src/widget/date/datepicker-extended' ).default; - - function Datepicker( element, options ) { - Object.assign(this, new DatepickerExtended(element, options)); - } - - //copy the prototype functions from the DatepickerExtended super class - Datepicker.prototype = Object.create( DatepickerExtended.prototype ); - - Datepicker.selector = DatepickerExtended.selector; - Datepicker.condition = function() { return true; }; - - module.exports = Datepicker; -} diff --git a/webapp/src/js/enketo/widgets/filepicker-widget.js b/webapp/src/js/enketo/widgets/filepicker-widget.js deleted file mode 100644 index 259a6b2e09e..00000000000 --- a/webapp/src/js/enketo/widgets/filepicker-widget.js +++ /dev/null @@ -1,15 +0,0 @@ -{ - 'use strict'; - const Filepicker = require( 'enketo-core/src/widget/file/filepicker' ).default; - - function FilepickerWidget( element, options ) { - Object.assign(this, new Filepicker(element, options)); - } - - //copy the prototype functions from the Filepicker super class - FilepickerWidget.prototype = Object.create( Filepicker.prototype ); - FilepickerWidget.selector = Filepicker.selector; - FilepickerWidget.condition = function() { return true; }; - - module.exports = FilepickerWidget; -} From 41feb8fb357a366783c3a624d2460cb6985fe39a Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 8 Sep 2021 14:12:46 -0500 Subject: [PATCH 041/179] Remove unnecessary horizontal-choices widget --- webapp/src/js/enketo/widgets.js | 1 - .../js/enketo/widgets/horizontal-choices.js | 19 ------------------- 2 files changed, 20 deletions(-) delete mode 100644 webapp/src/js/enketo/widgets/horizontal-choices.js diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index 163997807bb..062373dc919 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -7,7 +7,6 @@ require( 'enketo-core/src/widget/columns/columns' ).default, require( 'enketo-core/src/widget/file/filepicker' ).default, require( 'enketo-core/src/widget/date/datepicker-extended' ).default, - require( './widgets/horizontal-choices' ), require( './widgets/countdown-widget' ), require( './widgets/db-object-widget' ), require( './widgets/phone-widget' ), diff --git a/webapp/src/js/enketo/widgets/horizontal-choices.js b/webapp/src/js/enketo/widgets/horizontal-choices.js deleted file mode 100644 index 7e728b6578c..00000000000 --- a/webapp/src/js/enketo/widgets/horizontal-choices.js +++ /dev/null @@ -1,19 +0,0 @@ -{ - 'use strict'; - const Columns = require('enketo-core/src/widget/columns/columns').default; - - function HorizontalChoices(element, options) { - Object.assign(this, new Columns(element, options)); - } - - //copy the prototype functions from the Columns super class - HorizontalChoices.prototype = Object.create(Columns.prototype); - - HorizontalChoices.selector = - '.or-appearance-horizontal, .or-appearance-horizontal-compact'; - HorizontalChoices.condition = function () { - return true; - }; - - module.exports = HorizontalChoices; -} From aa2d2054f4b6d5d3b70821372ed928270cc30510 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 8 Sep 2021 15:12:29 -0500 Subject: [PATCH 042/179] Convert all widgets to classes that extend Widget --- .../js/enketo/widgets/android-datepicker.js | 91 ++++++--------- .../widgets/bikram-sambat-datepicker.js | 95 +++++++-------- .../src/js/enketo/widgets/countdown-widget.js | 41 +++---- .../src/js/enketo/widgets/db-object-widget.js | 56 ++------- webapp/src/js/enketo/widgets/mrdt.js | 110 ++++++++---------- webapp/src/js/enketo/widgets/phone-widget.js | 66 ++++------- webapp/src/js/enketo/widgets/simprints.js | 80 ++++++------- .../js/enketo/widgets/unselectable-radios.js | 45 +++---- 8 files changed, 222 insertions(+), 362 deletions(-) diff --git a/webapp/src/js/enketo/widgets/android-datepicker.js b/webapp/src/js/enketo/widgets/android-datepicker.js index 9b565a66706..56fb8a75801 100644 --- a/webapp/src/js/enketo/widgets/android-datepicker.js +++ b/webapp/src/js/enketo/widgets/android-datepicker.js @@ -35,63 +35,51 @@ * @see https://github.com/medic/medic-android/blob/30182529f75ce6e37571cdd627cbb3d7c7000845/src/main/java/org/medicmobile/webapp/mobile/MedicAndroidJavascript.java#L91 * @see https://github.com/medic/medic-android/blob/30182529f75ce6e37571cdd627cbb3d7c7000845/src/main/java/org/medicmobile/webapp/mobile/EmbeddedBrowserActivity.java#L84 * - * @constructor - * @param {Element} element [description] - * @param {(boolean|{touch: boolean, repeat: boolean})} options options - * @param {*=} e event + * @extends Widget */ - - function Androiddatepicker( element, options ) { - this.namespace = pluginName; - Object.assign( this, new Widget( element, options ) ); - this._init(); - } - - //copy the prototype functions from the Widget super class - Androiddatepicker.prototype = Object.create( Widget.prototype ); - - //ensure the constructor is the new one - Androiddatepicker.prototype.constructor = Androiddatepicker; - - Androiddatepicker.prototype._init = function() { - if ( !window.medicmobile_android || typeof window.medicmobile_android.datePicker !== 'function' ) { - return; + class Androiddatepicker extends Widget { + static get selector() { + return 'input[type=date]'; } - const el = this.element; - - window.CHTCore.Language - .get() - .then( function( language ) { - if ( language.indexOf( 'ne' ) === 0 ) { - return; - } - - const $el = $( el ); - $el.attr( 'type', 'text' ); - - $el.on( 'click', function() { - // Assign a random ID every time we trigger the click listener. - // This avoids any potential collisions from e.g. cloned elements. - // Magic number: 9007199254740991 is Number.MAX_SAFE_INTEGER, but - // the named constant is not supported everywhere. - const $el = $(this); - const randomId = Math.floor( Math.random() * 9007199254740991 ); - const selector = 'input[data-mm-android-dp=' + randomId + ']'; - const val = $el.val(); + _init() { + if ( !window.medicmobile_android || typeof window.medicmobile_android.datePicker !== 'function' ) { + return; + } - $el.attr( 'data-mm-android-dp', randomId ); + const el = this.element; - if ( val ) { - window.medicmobile_android.datePicker( selector, val ); - } else { - window.medicmobile_android.datePicker( selector ); + window.CHTCore.Language + .get() + .then( function( language ) { + if ( language.indexOf( 'ne' ) === 0 ) { + return; } - }); - }); - }; - Androiddatepicker.prototype.destroy = function( element ) {}; // eslint-disable-line no-unused-vars + const $el = $( el ); + $el.attr( 'type', 'text' ); + + $el.on( 'click', function() { + // Assign a random ID every time we trigger the click listener. + // This avoids any potential collisions from e.g. cloned elements. + // Magic number: 9007199254740991 is Number.MAX_SAFE_INTEGER, but + // the named constant is not supported everywhere. + const $el = $(this); + const randomId = Math.floor( Math.random() * 9007199254740991 ); + const selector = 'input[data-mm-android-dp=' + randomId + ']'; + const val = $el.val(); + + $el.attr( 'data-mm-android-dp', randomId ); + + if ( val ) { + window.medicmobile_android.datePicker( selector, val ); + } else { + window.medicmobile_android.datePicker( selector ); + } + }); + }); + } + } $.fn[ pluginName ] = function( options, event ) { return this.each( function() { @@ -108,8 +96,5 @@ } ); }; - Androiddatepicker.selector = 'input[type=date]'; - Androiddatepicker.condition = Widget.condition; - module.exports = Androiddatepicker; } diff --git a/webapp/src/js/enketo/widgets/bikram-sambat-datepicker.js b/webapp/src/js/enketo/widgets/bikram-sambat-datepicker.js index 24c3e50a21a..a395655796e 100644 --- a/webapp/src/js/enketo/widgets/bikram-sambat-datepicker.js +++ b/webapp/src/js/enketo/widgets/bikram-sambat-datepicker.js @@ -7,58 +7,50 @@ const pluginName = 'bikramsambatdatepicker'; - function Bikramsambatdatepicker( element, options ) { - this.namespace = pluginName; - Object.assign( this, new Widget( element, options ) ); - this._init(); + class Bikramsambatdatepicker extends Widget { + static get selector() { + return 'input[type=date]'; + } + + _init() { + const el = this.element; + + window.CHTCore.Language + .get() + .then( function( language ) { + const $el = $( el ); + + // Here we support the appearance="bikram-sambat" attribute as + // well to maintain compatibility with collect. + if ( language.indexOf( 'ne' ) !== 0 && + $el.parent('.or-appearance-bikram-sambat').length === 0) { + return; + } + + const $parent = $el.parent(); + const $realDateInput = $parent.children( 'input[type=date]' ); + const initialVal = $realDateInput.val(); + + // Remove datepicker-extended widget: + $parent.children( '.widget.date' ).remove(); + // Hide standard date input (datepicker-extended may not have removed it + // previously due to badSamsung bug). + $realDateInput.hide(); + + $parent.append( TEMPLATE ); + + bikram_sambat_bs.initListeners( $parent, $realDateInput ); + + if ( initialVal ) { + bikram_sambat_bs.setDate_greg_text( + $parent.children( '.bikram-sambat-input-group' ), + $realDateInput, + initialVal ); + } + }); + } } - //copy the prototype functions from the Widget super class - Bikramsambatdatepicker.prototype = Object.create( Widget.prototype ); - - //ensure the constructor is the new one - Bikramsambatdatepicker.prototype.constructor = Bikramsambatdatepicker; - - Bikramsambatdatepicker.prototype._init = function() { - const el = this.element; - - window.CHTCore.Language - .get() - .then( function( language ) { - const $el = $( el ); - - // Here we support the appearance="bikram-sambat" attribute as - // well to maintain compatibility with collect. - if ( language.indexOf( 'ne' ) !== 0 && - $el.parent('.or-appearance-bikram-sambat').length === 0) { - return; - } - - const $parent = $el.parent(); - const $realDateInput = $parent.children( 'input[type=date]' ); - const initialVal = $realDateInput.val(); - - // Remove datepicker-extended widget: - $parent.children( '.widget.date' ).remove(); - // Hide standard date input (datepicker-extended may not have removed it - // previously due to badSamsung bug). - $realDateInput.hide(); - - $parent.append( TEMPLATE ); - - bikram_sambat_bs.initListeners( $parent, $realDateInput ); - - if ( initialVal ) { - bikram_sambat_bs.setDate_greg_text( - $parent.children( '.bikram-sambat-input-group' ), - $realDateInput, - initialVal ); - } - }); - }; - - Bikramsambatdatepicker.prototype.destroy = function( element ) {}; // eslint-disable-line no-unused-vars - $.fn[ pluginName ] = function( options, event ) { return this.each( function() { const $this = $( this ); @@ -74,9 +66,6 @@ } ); }; - Bikramsambatdatepicker.selector = 'input[type=date]'; - Bikramsambatdatepicker.condition = function() { return true; }; - module.exports = Bikramsambatdatepicker; } diff --git a/webapp/src/js/enketo/widgets/countdown-widget.js b/webapp/src/js/enketo/widgets/countdown-widget.js index 1d31aeba585..9ade9cda252 100644 --- a/webapp/src/js/enketo/widgets/countdown-widget.js +++ b/webapp/src/js/enketo/widgets/countdown-widget.js @@ -28,34 +28,22 @@ /** * Countdown timer. * - * @constructor - * @param {Element} element [description] - * @param {(boolean|{touch: boolean, repeat: boolean})} options options - * @param {*=} e event + * @extends Widget */ + class Timerwidget extends Widget { + static get selector() { + return '.or-appearance-countdown-timer input'; + } - function Timerwidget( element, options ) { - this.namespace = pluginName; - Object.assign( this, new Widget( element, options ) ); - this._init(); - } - - //copy the prototype functions from the Widget super class - Timerwidget.prototype = Object.create( Widget.prototype ); - - //ensure the constructor is the new one - Timerwidget.prototype.constructor = Timerwidget; - - Timerwidget.prototype._init = function() { - const $el = $( this.element ); - const $label = $el.parent(); - - const canvas = $(''.replace(/%s/g, DIM)); - $label.append(canvas); - new TimerAnimation(canvas[0], DIM, DIM, parseInt($el.val()) || DEFAULT_TIME); - }; + _init() { + const $el = $( this.element ); + const $label = $el.parent(); - Timerwidget.prototype.destroy = function( element ) {}; // eslint-disable-line no-unused-vars + const canvas = $(''.replace(/%s/g, DIM)); + $label.append(canvas); + new TimerAnimation(canvas[0], DIM, DIM, parseInt($el.val()) || DEFAULT_TIME); + } + } $.fn[ pluginName ] = function( options, event ) { return this.each( function() { @@ -72,9 +60,6 @@ } ); }; - Timerwidget.selector = '.or-appearance-countdown-timer input'; - Timerwidget.condition = function() { return true; }; - module.exports = Timerwidget; } diff --git a/webapp/src/js/enketo/widgets/db-object-widget.js b/webapp/src/js/enketo/widgets/db-object-widget.js index 282c4b72788..c01f0193d37 100644 --- a/webapp/src/js/enketo/widgets/db-object-widget.js +++ b/webapp/src/js/enketo/widgets/db-object-widget.js @@ -13,15 +13,20 @@ /** * Allows drop-down selectors for db objects. * - * @constructor - * @param {Element} element [description] - * @param {(boolean|{touch: boolean, repeat: boolean})} options options - * @param {*=} e event + * @extends Widget */ class Dbobjectwidget extends Widget { + static get selector() { + return `${mainSelector} input[type=text]`; + } + _init() { construct(this.element); } + + list() { + return true; + } } function construct(element) { @@ -120,42 +125,7 @@ }); }; - /** TODO I don't think there is a destroy function any more... - * This function, implemented on all enketo widgets, is only called when - * cloning repeated sections of a form. It's actually called on the cloned - * copy of a question, and for some reason for this widget needs to destroy - * and then re-create the select2. - * @see https://github.com/medic/medic/issues/3487 - */ - Dbobjectwidget.prototype.destroy = function (element) { - deconstruct(element); - construct(element); - }; - - /** Reverse the select2 setup steps performed in construct() */ - function deconstruct(element) { - const $question = $(element).parent(mainSelector); - - $question.find('.select2-container').remove(); - - const $selectInput = $question.find('select'); - - // At this stage in construct(), the select2 jquery plugin is - // initialised. To reverse this, we would call: - // $selectInput.data( 'select2' ).destroy(); - // However, calling this here would destroy the select2 for the original - // widget, so -do not do it-. - - $selectInput.off('change.dbobjectwidget'); - - $selectInput.find('option').remove(); - - const replacementHtml = $selectInput[0].outerHTML - .replace(/^/, ''); - $input.replaceWith(textarea); - const $translate = window.CHTCore.Translate; - const MRDT = window.CHTCore.MRDT; + // we need to make it a textarea because text inputs strip out the + // \n (new line) characters which breaks the encoded file content. + const textarea = $input[0].outerHTML + .replace(/^/, ''); + $input.replaceWith(textarea); + const $translate = window.CHTCore.Translate; + const MRDT = window.CHTCore.MRDT; - if ( !MRDT.enabled() ) { - $translate.get( 'mrdt.disabled' ).then((label) => { - $el.append( '

' + label + '

' ); - }); - return; - } + if ( !MRDT.enabled() ) { + $translate.get( 'mrdt.disabled' ).then((label) => { + $el.append( '

' + label + '

' ); + }); + return; + } - $el.on( 'click', '.btn.mrdt-verify', function() { - MRDT.verify().then((data = {}) => { - const image = data.image; - const timeTaken = data.timeTaken; - $( self.element ) - .find( 'textarea' ) - .val( image ) - .trigger( 'change' ); - $( self.element ) - .find( '.mrdt-preview' ) - .attr('src', 'data:image/png;base64, ' + image); - if (timeTaken) { + $el.on( 'click', '.btn.mrdt-verify', function() { + MRDT.verify().then((data = {}) => { + const image = data.image; + const timeTaken = data.timeTaken; $( self.element ) - .siblings( '.or-appearance-mrdt-time-taken' ) - .find( 'input' ) - .val( timeTaken ) + .find( 'textarea' ) + .val( image ) .trigger( 'change' ); - } + $( self.element ) + .find( '.mrdt-preview' ) + .attr('src', 'data:image/png;base64, ' + image); + if (timeTaken) { + $( self.element ) + .siblings( '.or-appearance-mrdt-time-taken' ) + .find( 'input' ) + .val( timeTaken ) + .trigger( 'change' ); + } + } ); } ); - } ); - $translate.get( 'mrdt.verify' ).then((label) => { - $el.append( - '
' + - '
' - ); - } ); - }; - - Mrdtwidget.prototype.destroy = function( element ) {}; // eslint-disable-line no-unused-vars + $translate.get( 'mrdt.verify' ).then((label) => { + $el.append( + '' + + '
' + ); + } ); + } + } $.fn[ pluginName ] = function( options, event ) { return this.each( function() { @@ -92,8 +81,5 @@ } ); }; - Mrdtwidget.selector = `${mainSelector} input`; - Mrdtwidget.condition = function() { return true; }; - module.exports = Mrdtwidget; } diff --git a/webapp/src/js/enketo/widgets/phone-widget.js b/webapp/src/js/enketo/widgets/phone-widget.js index cf673f42ba7..0ae1aa45ff2 100644 --- a/webapp/src/js/enketo/widgets/phone-widget.js +++ b/webapp/src/js/enketo/widgets/phone-widget.js @@ -45,51 +45,36 @@ /** * Allows validated phonenumber entry. * - * @constructor - * @param {Element} element [description] - * @param {(boolean|{touch: boolean, repeat: boolean})} options options - * @param {*=} e event + * @extends Widget */ - - function PhoneWidget( element, options, Settings ) { - if(element) { - this.namespace = pluginName; - Object.assign( this, new Widget( element, options ) ); - if (!Settings) { - Settings = window.CHTCore.Settings; - } - this._init(Settings); + class PhoneWidget extends Widget { + static get selector() { + return 'input[type="tel"]'; } - } - //copy the prototype functions from the Widget super class - PhoneWidget.prototype = Object.create( Widget.prototype ); + _init() { + const $input = $( this.element ); - //ensure the constructor is the new one - PhoneWidget.prototype.constructor = PhoneWidget; + // Add a proxy input field, which will send its input, formatted, to the real input field. + // TODO(estellecomment): format the visible field onBlur to user-friendly format. + const $proxyInput = $input.clone(); + $proxyInput.addClass('ignore'); + $proxyInput.removeAttr('data-relevant'); + $proxyInput.removeAttr('name'); + $input.before( $proxyInput ); + $proxyInput.val( $input.val() ); - PhoneWidget.prototype._init = function( Settings ) { - const $input = $( this.element ); + $input.hide(); - // Add a proxy input field, which will send its input, formatted, to the real input field. - // TODO(estellecomment): format the visible field onBlur to user-friendly format. - const $proxyInput = $input.clone(); - $proxyInput.addClass('ignore'); - $proxyInput.removeAttr('data-relevant'); - $proxyInput.removeAttr('name'); - $input.before( $proxyInput ); - $proxyInput.val( $input.val() ); + // TODO(estellecomment): move this to a catch clause, when settings aren't found. + formatAndCopy( $proxyInput, $input, {} ); - $input.hide(); - - // TODO(estellecomment): move this to a catch clause, when settings aren't found. - formatAndCopy( $proxyInput, $input, {} ); - - this.builtPromise = Settings.get() - .then( function( settings ) { - formatAndCopy( $proxyInput, $input, settings ); - } ); - }; + this.builtPromise = window.CHTCore.Settings.get() + .then( function( settings ) { + formatAndCopy( $proxyInput, $input, settings ); + } ); + } + } function formatAndCopy( $from, $to, settings ) { $from.change( function() { @@ -104,8 +89,6 @@ return phoneNumber.normalize( settings, value ) || value; } - PhoneWidget.prototype.destroy = function( /* element */) {}; - $.fn[ pluginName ] = function( options, event ) { return this.each( function() { const $this = $( this ); @@ -121,8 +104,5 @@ } ); }; - PhoneWidget.selector = 'input[type="tel"]'; - PhoneWidget.condition = function() { return true; }; - module.exports = PhoneWidget; } diff --git a/webapp/src/js/enketo/widgets/simprints.js b/webapp/src/js/enketo/widgets/simprints.js index 44ebf42f346..a6d96f0ff27 100644 --- a/webapp/src/js/enketo/widgets/simprints.js +++ b/webapp/src/js/enketo/widgets/simprints.js @@ -7,56 +7,45 @@ const pluginName = 'simprintswidget'; /** - * @constructor - * @param {Element} element [description] - * @param {(boolean|{touch: boolean, repeat: boolean})} options options - * @param {*=} e event + * @extends Widget */ - function Simprintswidget( element, options ) { - this.namespace = pluginName; - Object.assign( this, new Widget( element, options ) ); - this._init(); - } - - //copy the prototype functions from the Widget super class - Simprintswidget.prototype = Object.create( Widget.prototype ); - - //ensure the constructor is the new one - Simprintswidget.prototype.constructor = Simprintswidget; + class Simprintswidget extends Widget { + static get selector() { + return '.or-appearance-simprints-reg'; + } - Simprintswidget.prototype._init = function() { - const $el = $( this.element ); - const $input = $el.find( 'input' ); - $input.attr( 'disabled', true ); - const $translate = window.CHTCore.Translate; - // todo migrate when simprints are migrated - //const service = angularServices.get( 'Simprints' ); - const service = { - enabled: () => {}, - register: () => Promise.resolve(), - }; + _init() { + const $el = $( this.element ); + const $input = $el.find( 'input' ); + $input.attr( 'disabled', true ); + const $translate = window.CHTCore.Translate; + // todo migrate when simprints are migrated + //const service = angularServices.get( 'Simprints' ); + const service = { + enabled: () => {}, + register: () => Promise.resolve(), + }; - if ( !service.enabled() ) { - $translate.get( 'simprints.disabled' ).then(function( label ) { - $el.append( '

' + label + '

' ); - }); - return; - } + if ( !service.enabled() ) { + $translate.get( 'simprints.disabled' ).then(function( label ) { + $el.append( '

' + label + '

' ); + }); + return; + } - $el.on( 'click', '.btn.simprints-register', function() { - service.register().then( function(simprintsId) { - $input.val( simprintsId ).trigger( 'change' ); + $el.on( 'click', '.btn.simprints-register', function() { + service.register().then( function(simprintsId) { + $input.val( simprintsId ).trigger( 'change' ); + } ); } ); - } ); - $translate.get( 'simprints.register' ).then( function( label ) { - $el.append( '' ); - } ); - }; - - Simprintswidget.prototype.destroy = function( element ) {}; // eslint-disable-line no-unused-vars + $translate.get( 'simprints.register' ).then( function( label ) { + $el.append( '' ); + } ); + } + } $.fn[ pluginName ] = function( options, event ) { return this.each( function() { @@ -73,8 +62,5 @@ } ); }; - Simprintswidget.selector = '.or-appearance-simprints-reg'; - Simprintswidget.condition = function() { return true; }; - module.exports = Simprintswidget; } diff --git a/webapp/src/js/enketo/widgets/unselectable-radios.js b/webapp/src/js/enketo/widgets/unselectable-radios.js index f167574fde1..3857d49570c 100644 --- a/webapp/src/js/enketo/widgets/unselectable-radios.js +++ b/webapp/src/js/enketo/widgets/unselectable-radios.js @@ -25,30 +25,24 @@ /** * Prevent required radio buttons from being unchecked. * - * @constructor - * @param {Element} element [description] - * @param {(boolean|{touch: boolean, repeat: boolean})} options options - * @param {*=} e event + * @extends Widget */ - - function Unselectableradios( element, options ) { - this.namespace = pluginName; - Object.assign( this, new Widget( element, options ) ); - this._init(); + class Unselectableradios extends Widget { + static get selector() { + // Enketo currently uses `data-required` instead of `required` to denote + // a required field. + // + // This code assumes that we never have dynamically calculated required + // flags. See https://github.com/enketo/enketo-core/issues/362 for more + // discussion. + return 'input[type=radio][data-required="true()"]'; + } + + _init() { + $( this.element ).addClass( 'no-unselect' ); + } } - //copy the prototype functions from the Widget super class - Unselectableradios.prototype = Object.create( Widget.prototype ); - - //ensure the constructor is the new one - Unselectableradios.prototype.constructor = Unselectableradios; - - Unselectableradios.prototype._init = function() { - $( this.element ).addClass( 'no-unselect' ); - }; - - Unselectableradios.prototype.destroy = function( element ) {}; // eslint-disable-line no-unused-vars - $.fn[ pluginName ] = function( options, event ) { return this.each( function() { const $this = $( this ); @@ -64,14 +58,5 @@ } ); }; - // Enketo currently uses `data-required` instead of `required` to denote - // a required field. - // - // This code assumes that we never have dynamicly calculated required - // flags. See https://github.com/enketo/enketo-core/issues/362 for more - // discussion. - Unselectableradios.selector = 'input[type=radio][data-required="true()"]'; - Unselectableradios.condition = Widget.condition; - module.exports = Unselectableradios; } From b56d555671f286d4d48e7d8f5fbf157a02aa81c8 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 8 Sep 2021 16:16:55 -0500 Subject: [PATCH 043/179] Fix phone widget issues --- webapp/src/js/enketo/widgets/phone-widget.js | 44 +++++++++++-------- .../js/enketo/widgets/phone-widget.spec.ts | 9 ---- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/webapp/src/js/enketo/widgets/phone-widget.js b/webapp/src/js/enketo/widgets/phone-widget.js index 0ae1aa45ff2..1f11c4b5fc0 100644 --- a/webapp/src/js/enketo/widgets/phone-widget.js +++ b/webapp/src/js/enketo/widgets/phone-widget.js @@ -48,32 +48,40 @@ * @extends Widget */ class PhoneWidget extends Widget { + constructor( element, options, Settings ) { + super(element, options); + if ( !Settings ) { + Settings = window.CHTCore.Settings; + } + construct(element, Settings); + } + static get selector() { return 'input[type="tel"]'; } + } - _init() { - const $input = $( this.element ); + function construct(element, Settings) { + const $input = $( element ); - // Add a proxy input field, which will send its input, formatted, to the real input field. - // TODO(estellecomment): format the visible field onBlur to user-friendly format. - const $proxyInput = $input.clone(); - $proxyInput.addClass('ignore'); - $proxyInput.removeAttr('data-relevant'); - $proxyInput.removeAttr('name'); - $input.before( $proxyInput ); - $proxyInput.val( $input.val() ); + // Add a proxy input field, which will send its input, formatted, to the real input field. + // TODO(estellecomment): format the visible field onBlur to user-friendly format. + const $proxyInput = $input.clone(); + $proxyInput.addClass('ignore'); + $proxyInput.removeAttr('data-relevant'); + $proxyInput.removeAttr('name'); + $input.before( $proxyInput ); + $proxyInput.val( $input.val() ); - $input.hide(); + $input.hide(); - // TODO(estellecomment): move this to a catch clause, when settings aren't found. - formatAndCopy( $proxyInput, $input, {} ); + // TODO(estellecomment): move this to a catch clause, when settings aren't found. + formatAndCopy( $proxyInput, $input, {} ); - this.builtPromise = window.CHTCore.Settings.get() - .then( function( settings ) { - formatAndCopy( $proxyInput, $input, settings ); - } ); - } + this.builtPromise = Settings.get() + .then( function( settings ) { + formatAndCopy( $proxyInput, $input, settings ); + } ); } function formatAndCopy( $from, $to, settings ) { diff --git a/webapp/tests/karma/js/enketo/widgets/phone-widget.spec.ts b/webapp/tests/karma/js/enketo/widgets/phone-widget.spec.ts index efc8c9eb789..584eb9831a5 100644 --- a/webapp/tests/karma/js/enketo/widgets/phone-widget.spec.ts +++ b/webapp/tests/karma/js/enketo/widgets/phone-widget.spec.ts @@ -101,13 +101,4 @@ describe('Enketo: Phone Widget', () => { expect(input.val()).to.equal(valid); }); - - it('should not modify non-phone fields', () => { - buildHtml('other'); - - new phoneWidget($(phoneWidget.selector)[0], {}, settingsService); - - // No extra field - expect($('input').length).to.equal(1); - }); }); From cb88e10e96d0ed246afbd595ce89519583cd5a14 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Thu, 9 Sep 2021 10:56:26 -0500 Subject: [PATCH 044/179] Fix flaking contact summary test --- webapp/tests/karma/ts/services/contact-summary.service.spec.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/webapp/tests/karma/ts/services/contact-summary.service.spec.ts b/webapp/tests/karma/ts/services/contact-summary.service.spec.ts index a0ee97a8c49..f4b9add81e3 100644 --- a/webapp/tests/karma/ts/services/contact-summary.service.spec.ts +++ b/webapp/tests/karma/ts/services/contact-summary.service.spec.ts @@ -152,8 +152,7 @@ describe('ContactSummary service', () => { expect(consoleErrorMock.callCount).to.equal(1); expect(consoleErrorMock.args[0][0].startsWith('Configuration error in contact-summary')).to.be.true; expect(feedbackService.submit.callCount).to.equal(1); - expect(feedbackService.submit.args[0][0]) - .to.equal('Configuration error in contact-summary function: Cannot read property \'field\' of undefined'); + expect(feedbackService.submit.args[0][0].startsWith('Configuration error in contact-summary')).to.be.true; }); }); From d5dda2a9a2e1af393cf8cb5c7ca224ad10fb7bb4 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Thu, 9 Sep 2021 15:50:34 -0500 Subject: [PATCH 045/179] Refactor phone-widget to return promise from constructor --- webapp/src/js/enketo/widgets/phone-widget.js | 48 +++++++++----------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/webapp/src/js/enketo/widgets/phone-widget.js b/webapp/src/js/enketo/widgets/phone-widget.js index 1f11c4b5fc0..dab3933bd3a 100644 --- a/webapp/src/js/enketo/widgets/phone-widget.js +++ b/webapp/src/js/enketo/widgets/phone-widget.js @@ -48,40 +48,34 @@ * @extends Widget */ class PhoneWidget extends Widget { - constructor( element, options, Settings ) { + constructor( element, options, Settings = window.CHTCore.Settings ) { super(element, options); - if ( !Settings ) { - Settings = window.CHTCore.Settings; - } - construct(element, Settings); - } - static get selector() { - return 'input[type="tel"]'; - } - } + const $input = $( this.element ); - function construct(element, Settings) { - const $input = $( element ); + // Add a proxy input field, which will send its input, formatted, to the real input field. + // TODO(estellecomment): format the visible field onBlur to user-friendly format. + const $proxyInput = $input.clone(); + $proxyInput.addClass('ignore'); + $proxyInput.removeAttr('data-relevant'); + $proxyInput.removeAttr('name'); + $input.before( $proxyInput ); + $proxyInput.val( $input.val() ); - // Add a proxy input field, which will send its input, formatted, to the real input field. - // TODO(estellecomment): format the visible field onBlur to user-friendly format. - const $proxyInput = $input.clone(); - $proxyInput.addClass('ignore'); - $proxyInput.removeAttr('data-relevant'); - $proxyInput.removeAttr('name'); - $input.before( $proxyInput ); - $proxyInput.val( $input.val() ); + $input.hide(); - $input.hide(); + // TODO(estellecomment): move this to a catch clause, when settings aren't found. + formatAndCopy( $proxyInput, $input, {} ); - // TODO(estellecomment): move this to a catch clause, when settings aren't found. - formatAndCopy( $proxyInput, $input, {} ); + return Settings.get() + .then( function( settings ) { + formatAndCopy( $proxyInput, $input, settings ); + } ); + } - this.builtPromise = Settings.get() - .then( function( settings ) { - formatAndCopy( $proxyInput, $input, settings ); - } ); + static get selector() { + return 'input[type="tel"]'; + } } function formatAndCopy( $from, $to, settings ) { From d1701d16ba795097927c459259f9a2ac57c654ce Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 8 Sep 2021 15:19:17 -0500 Subject: [PATCH 046/179] Remove weird function code from widgets and see what breaks --- .../src/js/enketo/widgets/android-datepicker.js | 17 ----------------- .../enketo/widgets/bikram-sambat-datepicker.js | 17 ----------------- .../src/js/enketo/widgets/countdown-widget.js | 17 ----------------- .../src/js/enketo/widgets/db-object-widget.js | 17 ----------------- webapp/src/js/enketo/widgets/mrdt.js | 16 ---------------- webapp/src/js/enketo/widgets/phone-widget.js | 17 ----------------- webapp/src/js/enketo/widgets/simprints.js | 17 ----------------- .../js/enketo/widgets/unselectable-radios.js | 17 ----------------- 8 files changed, 135 deletions(-) diff --git a/webapp/src/js/enketo/widgets/android-datepicker.js b/webapp/src/js/enketo/widgets/android-datepicker.js index 56fb8a75801..3ff0b502948 100644 --- a/webapp/src/js/enketo/widgets/android-datepicker.js +++ b/webapp/src/js/enketo/widgets/android-datepicker.js @@ -19,8 +19,6 @@ const $ = require( 'jquery' ); require( 'enketo-core/src/js/plugins' ); - const pluginName = 'androiddatepicker'; - /** * Work around a bug in some versions of Android Browser and Android WebView * which cause datepickers to fail to re-display after they have been @@ -81,20 +79,5 @@ } } - $.fn[ pluginName ] = function( options, event ) { - return this.each( function() { - const $this = $( this ); - let data = $this.data( pluginName ); - - options = options || {}; - - if ( !data && typeof options === 'object' ) { - $this.data( pluginName, ( data = new Androiddatepicker( this, options, event ) ) ); - } else if ( data && typeof options === 'string' ) { - data[ options ]( this ); - } - } ); - }; - module.exports = Androiddatepicker; } diff --git a/webapp/src/js/enketo/widgets/bikram-sambat-datepicker.js b/webapp/src/js/enketo/widgets/bikram-sambat-datepicker.js index a395655796e..c420cabb3bd 100644 --- a/webapp/src/js/enketo/widgets/bikram-sambat-datepicker.js +++ b/webapp/src/js/enketo/widgets/bikram-sambat-datepicker.js @@ -5,8 +5,6 @@ require( 'enketo-core/src/js/plugins' ); const bikram_sambat_bs = require( 'bikram-sambat-bootstrap' ); - const pluginName = 'bikramsambatdatepicker'; - class Bikramsambatdatepicker extends Widget { static get selector() { return 'input[type=date]'; @@ -51,21 +49,6 @@ } } - $.fn[ pluginName ] = function( options, event ) { - return this.each( function() { - const $this = $( this ); - let data = $this.data( pluginName ); - - options = options || {}; - - if ( !data && typeof options === 'object' ) { - $this.data( pluginName, ( data = new Bikramsambatdatepicker( this, options, event ) ) ); - } else if ( data && typeof options === 'string' ) { - data[ options ]( this ); - } - } ); - }; - module.exports = Bikramsambatdatepicker; } diff --git a/webapp/src/js/enketo/widgets/countdown-widget.js b/webapp/src/js/enketo/widgets/countdown-widget.js index 9ade9cda252..df6ca8e0b35 100644 --- a/webapp/src/js/enketo/widgets/countdown-widget.js +++ b/webapp/src/js/enketo/widgets/countdown-widget.js @@ -20,8 +20,6 @@ const $ = require( 'jquery' ); require( 'enketo-core/src/js/plugins' ); - const pluginName = 'timerwidget'; - const DIM = 320; const DEFAULT_TIME = 60; @@ -45,21 +43,6 @@ } } - $.fn[ pluginName ] = function( options, event ) { - return this.each( function() { - const $this = $( this ); - let data = $this.data( pluginName ); - - options = options || {}; - - if ( !data && typeof options === 'object' ) { - $this.data( pluginName, ( data = new Timerwidget( this, options, event ) ) ); - } else if ( data && typeof options === 'string' ) { - data[ options ]( this ); - } - } ); - }; - module.exports = Timerwidget; } diff --git a/webapp/src/js/enketo/widgets/db-object-widget.js b/webapp/src/js/enketo/widgets/db-object-widget.js index c01f0193d37..8b229ecfed7 100644 --- a/webapp/src/js/enketo/widgets/db-object-widget.js +++ b/webapp/src/js/enketo/widgets/db-object-widget.js @@ -7,7 +7,6 @@ require('enketo-core/src/js/plugins'); - const pluginName = 'dbobjectwidget'; const mainSelector = '.or-appearance-db-object,.or-appearance-select-contact'; /** @@ -125,21 +124,5 @@ }); }; - // TODO Need to figure out if we still need this block. - $.fn[pluginName] = function (options, event) { - return this.each(function () { - const $this = $(this); - let data = $this.data(pluginName); - - options = options || {}; - - if (!data && typeof options === 'object') { - $this.data(pluginName, (data = new Dbobjectwidget(this, options, event))); - } else if (data && typeof options === 'string') { - data[options](this); - } - }); - }; - module.exports = Dbobjectwidget; } diff --git a/webapp/src/js/enketo/widgets/mrdt.js b/webapp/src/js/enketo/widgets/mrdt.js index 9459bd39f8c..dd19a604f78 100644 --- a/webapp/src/js/enketo/widgets/mrdt.js +++ b/webapp/src/js/enketo/widgets/mrdt.js @@ -4,7 +4,6 @@ const $ = require( 'jquery' ); require('enketo-core/src/js/plugins'); - const pluginName = 'mrdtwidget'; const mainSelector = '.or-appearance-mrdt-verify'; /** @@ -66,20 +65,5 @@ } } - $.fn[ pluginName ] = function( options, event ) { - return this.each( function() { - const $this = $( this ); - let data = $this.data( pluginName ); - - options = options || {}; - - if ( !data && typeof options === 'object' ) { - $this.data( pluginName, ( data = new Mrdtwidget( this, options, event ) ) ); - } else if ( data && typeof options === 'string' ) { - data[ options ]( this ); - } - } ); - }; - module.exports = Mrdtwidget; } diff --git a/webapp/src/js/enketo/widgets/phone-widget.js b/webapp/src/js/enketo/widgets/phone-widget.js index dab3933bd3a..8c568715342 100644 --- a/webapp/src/js/enketo/widgets/phone-widget.js +++ b/webapp/src/js/enketo/widgets/phone-widget.js @@ -6,8 +6,6 @@ const phoneNumber = require('@medic/phone-number'); require( 'enketo-core/src/js/plugins' ); - const pluginName = 'phonewidget'; - // Set up enketo validation for `phone` input type FormModel.prototype.types.tel = { validate: function( fieldValue ) { @@ -91,20 +89,5 @@ return phoneNumber.normalize( settings, value ) || value; } - $.fn[ pluginName ] = function( options, event ) { - return this.each( function() { - const $this = $( this ); - let data = $this.data( pluginName ); - - options = options || {}; - - if ( !data && typeof options === 'object' ) { - $this.data( pluginName, ( data = new PhoneWidget( this, options, event ) ) ); - } else if ( data && typeof options === 'string' ) { - data[ options ]( this ); - } - } ); - }; - module.exports = PhoneWidget; } diff --git a/webapp/src/js/enketo/widgets/simprints.js b/webapp/src/js/enketo/widgets/simprints.js index a6d96f0ff27..b43c21bd68c 100644 --- a/webapp/src/js/enketo/widgets/simprints.js +++ b/webapp/src/js/enketo/widgets/simprints.js @@ -4,8 +4,6 @@ const $ = require( 'jquery' ); require('enketo-core/src/js/plugins'); - const pluginName = 'simprintswidget'; - /** * @extends Widget */ @@ -47,20 +45,5 @@ } } - $.fn[ pluginName ] = function( options, event ) { - return this.each( function() { - const $this = $( this ); - let data = $this.data( pluginName ); - - options = options || {}; - - if ( !data && typeof options === 'object' ) { - $this.data( pluginName, ( data = new Simprintswidget( this, options, event ) ) ); - } else if ( data && typeof options === 'string' ) { - data[ options ]( this ); - } - } ); - }; - module.exports = Simprintswidget; } diff --git a/webapp/src/js/enketo/widgets/unselectable-radios.js b/webapp/src/js/enketo/widgets/unselectable-radios.js index 3857d49570c..5cd1cbfdb5f 100644 --- a/webapp/src/js/enketo/widgets/unselectable-radios.js +++ b/webapp/src/js/enketo/widgets/unselectable-radios.js @@ -20,8 +20,6 @@ const $ = require( 'jquery' ); require( 'enketo-core/src/js/plugins' ); - const pluginName = 'unselectableradios'; - /** * Prevent required radio buttons from being unchecked. * @@ -43,20 +41,5 @@ } } - $.fn[ pluginName ] = function( options, event ) { - return this.each( function() { - const $this = $( this ); - let data = $this.data( pluginName ); - - options = options || {}; - - if ( !data && typeof options === 'object' ) { - $this.data( pluginName, ( data = new Unselectableradios( this, options, event ) ) ); - } else if ( data && typeof options === 'string' ) { - data[ options ]( this ); - } - } ); - }; - module.exports = Unselectableradios; } From c2ad0a35cd5d8aee8a88c64a9be7eeb1d189aea2 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 8 Sep 2021 18:20:21 -0500 Subject: [PATCH 047/179] Add additional enketo widgets --- webapp/src/js/enketo/widgets.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index 062373dc919..98994bc7c66 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -7,6 +7,13 @@ require( 'enketo-core/src/widget/columns/columns' ).default, require( 'enketo-core/src/widget/file/filepicker' ).default, require( 'enketo-core/src/widget/date/datepicker-extended' ).default, + require( 'enketo-core/src/widget/select-media/select-media' ).default, + require( 'enketo-core/src/widget/range/range-widget' ).default, + require( 'enketo-core/src/widget/rank/rank-widget' ).default, + require( 'enketo-core/src/widget/url/url-widget' ).default, + require( 'enketo-core/src/widget/text-max/text-max' ).default, + require( 'enketo-core/src/widget/rating/rating' ).default, + require( 'enketo-core/src/widget/thousands-sep/thousands-sep' ).default, require( './widgets/countdown-widget' ), require( './widgets/db-object-widget' ), require( './widgets/phone-widget' ), From 5b2a3541d51f05f182403b27624239ab982d2043 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 8 Sep 2021 18:20:41 -0500 Subject: [PATCH 048/179] Add in all widget translactions --- .../translations/messages-bm.properties | 32 +++++++++++++++---- .../translations/messages-en.properties | 18 +++++++++++ .../translations/messages-es.properties | 32 +++++++++++++++---- .../translations/messages-fr.properties | 30 +++++++++++++---- .../translations/messages-hi.properties | 30 +++++++++++++---- .../translations/messages-id.properties | 30 +++++++++++++---- .../translations/messages-ne.properties | 32 +++++++++++++++---- .../translations/messages-sw.properties | 30 +++++++++++++---- 8 files changed, 189 insertions(+), 45 deletions(-) diff --git a/ddocs/medic/_attachments/translations/messages-bm.properties b/ddocs/medic/_attachments/translations/messages-bm.properties index d60b6c621ac..cda0521faff 100644 --- a/ddocs/medic/_attachments/translations/messages-bm.properties +++ b/ddocs/medic/_attachments/translations/messages-bm.properties @@ -617,13 +617,31 @@ email.invalid = empty = Bataki sɔrɔla n'ga ci ta kɔnɔ. Aw ye segin ka ci nan masɔ aw ye supɛriwisɛri ladɔniya. enketo.constraint.invalid = enketo.constraint.required = -enketo.form.required = -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = +enketo.form.required = +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = +enketo.drawwidget.drawing = +enketo.drawwidget.signature = +enketo.drawwidget.annotation = +enketo.geopicker.accuracy = +enketo.geopicker.altitude = +enketo.geopicker.closepolygon = +enketo.geopicker.kmlcoords = +enketo.geopicker.kmlpaste = +enketo.geopicker.latitude = +enketo.geopicker.longitude = +enketo.geopicker.points = +enketo.geopicker.searchPlaceholder = +enketo.geopicker.removePoint = +enketo.selectpicker.noneselected = +enketo.selectpicker.numberselected = +enketo.imagemap.svgNotFound = +enketo.rankwidget.tapstart = +enketo.rankwidget.clickstart = error.403.description = error.403.title = A ma la sɔrɔ error.404.description = diff --git a/ddocs/medic/_attachments/translations/messages-en.properties b/ddocs/medic/_attachments/translations/messages-en.properties index 99d9f60cec9..6989f414b2c 100644 --- a/ddocs/medic/_attachments/translations/messages-en.properties +++ b/ddocs/medic/_attachments/translations/messages-en.properties @@ -628,6 +628,24 @@ enketo.filepicker.notFound = File {{existing}} could not be found (leave unchang enketo.filepicker.waitingForPermissions = Waiting for user permissions. enketo.filepicker.resetWarning = This will remove the {{item}}. Are you sure you want to do this? enketo.filepicker.toolargeerror = File too large (> {{maxSize}}) +enketo.drawwidget.drawing = drawing +enketo.drawwidget.signature = signature +enketo.drawwidget.annotation = file and drawing +enketo.geopicker.accuracy = accuracy (m) +enketo.geopicker.altitude = altitude (m) +enketo.geopicker.closepolygon = close polygon +enketo.geopicker.kmlcoords = KML coordinates +enketo.geopicker.kmlpaste = paste KML coordinates here +enketo.geopicker.latitude = latitude (x.y °) +enketo.geopicker.longitude = longitude (x.y °) +enketo.geopicker.points = points +enketo.geopicker.searchPlaceholder = search for place or address +enketo.geopicker.removePoint = This will completely remove the current geopoint from the list of geopoints and cannot be undone. Are you sure you want to do this? +enketo.selectpicker.noneselected = none selected +enketo.selectpicker.numberselected = {{number}} selected +enketo.imagemap.svgNotFound = SVG image could not be found +enketo.rankwidget.tapstart = Tap to start +enketo.rankwidget.clickstart = Click to start error.403.description = You have insufficient privileges to view this page. Talk to an administrator to increase your privileges. error.403.title = Access denied error.404.description = The page you were looking for was not found. diff --git a/ddocs/medic/_attachments/translations/messages-es.properties b/ddocs/medic/_attachments/translations/messages-es.properties index cea37517822..0960da8ba50 100644 --- a/ddocs/medic/_attachments/translations/messages-es.properties +++ b/ddocs/medic/_attachments/translations/messages-es.properties @@ -617,13 +617,31 @@ email.invalid = empty = El mensaje esta en blanco, por favor reenvielo. Si continua teniendo problemas, informe a su supervisor. enketo.constraint.invalid = enketo.constraint.required = -enketo.form.required = -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = +enketo.form.required = +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = +enketo.drawwidget.drawing = +enketo.drawwidget.signature = +enketo.drawwidget.annotation = +enketo.geopicker.accuracy = +enketo.geopicker.altitude = +enketo.geopicker.closepolygon = +enketo.geopicker.kmlcoords = +enketo.geopicker.kmlpaste = +enketo.geopicker.latitude = +enketo.geopicker.longitude = +enketo.geopicker.points = +enketo.geopicker.searchPlaceholder = +enketo.geopicker.removePoint = +enketo.selectpicker.noneselected = +enketo.selectpicker.numberselected = +enketo.imagemap.svgNotFound = +enketo.rankwidget.tapstart = +enketo.rankwidget.clickstart = error.403.description = No tiene las autorizaciones necesarias para ver esta página. Contacte a un administrador para cambiar sus autorizaciones. error.403.title = Acceso negado error.404.description = La página que buscaba no se encontró diff --git a/ddocs/medic/_attachments/translations/messages-fr.properties b/ddocs/medic/_attachments/translations/messages-fr.properties index 8ca4826e3f5..155e9514faa 100644 --- a/ddocs/medic/_attachments/translations/messages-fr.properties +++ b/ddocs/medic/_attachments/translations/messages-fr.properties @@ -618,12 +618,30 @@ empty = Nous avons reçu un message vide. SVP réessayer et si vous continuez à enketo.constraint.invalid = Valeur non acceptée enketo.constraint.required = Ce champ est requis enketo.form.required = Requis -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = +enketo.drawwidget.drawing = +enketo.drawwidget.signature = +enketo.drawwidget.annotation = +enketo.geopicker.accuracy = +enketo.geopicker.altitude = +enketo.geopicker.closepolygon = +enketo.geopicker.kmlcoords = +enketo.geopicker.kmlpaste = +enketo.geopicker.latitude = +enketo.geopicker.longitude = +enketo.geopicker.points = +enketo.geopicker.searchPlaceholder = +enketo.geopicker.removePoint = +enketo.selectpicker.noneselected = +enketo.selectpicker.numberselected = +enketo.imagemap.svgNotFound = +enketo.rankwidget.tapstart = +enketo.rankwidget.clickstart = error.403.description = Vous avez des privilèges insuffisants pour accéder à cette page. Parlez à un administrateur pour augmenter vos privilèges. error.403.title = Accès refusé error.404.description = La page que vous cherchez est introuvable. diff --git a/ddocs/medic/_attachments/translations/messages-hi.properties b/ddocs/medic/_attachments/translations/messages-hi.properties index 1c220c5b9a1..448cac4237d 100644 --- a/ddocs/medic/_attachments/translations/messages-hi.properties +++ b/ddocs/medic/_attachments/translations/messages-hi.properties @@ -618,12 +618,30 @@ empty = आपने एक खाली संदेश भेजा है, enketo.constraint.invalid = यह आंकड़ा मान्य नहीं है enketo.constraint.required = यह फ़ील्ड आवश्यक है I enketo.form.required = आवश्यक -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = +enketo.drawwidget.drawing = +enketo.drawwidget.signature = +enketo.drawwidget.annotation = +enketo.geopicker.accuracy = +enketo.geopicker.altitude = +enketo.geopicker.closepolygon = +enketo.geopicker.kmlcoords = +enketo.geopicker.kmlpaste = +enketo.geopicker.latitude = +enketo.geopicker.longitude = +enketo.geopicker.points = +enketo.geopicker.searchPlaceholder = +enketo.geopicker.removePoint = +enketo.selectpicker.noneselected = +enketo.selectpicker.numberselected = +enketo.imagemap.svgNotFound = +enketo.rankwidget.tapstart = +enketo.rankwidget.clickstart = error.403.description = इस पेज को देखने की अनुमति आप को नहीं है | अनुमति के लिए अपने प्रशासक से संपर्क करें । error.403.title = प्रवेश वंचित error.404.description = आप जिस पेज को खोज रहे थे वह नहीं मिल पाया | diff --git a/ddocs/medic/_attachments/translations/messages-id.properties b/ddocs/medic/_attachments/translations/messages-id.properties index 5917792d999..d7cc0d69e7f 100644 --- a/ddocs/medic/_attachments/translations/messages-id.properties +++ b/ddocs/medic/_attachments/translations/messages-id.properties @@ -618,12 +618,30 @@ empty = Kelihatannya anda mengirimkan pesan kosong, coba kirim kembali. Bila mas enketo.constraint.invalid = Nilai tidak diperbolehkan enketo.constraint.required = Field ini diperlukan enketo.form.required = diperlukan -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = +enketo.drawwidget.drawing = +enketo.drawwidget.signature = +enketo.drawwidget.annotation = +enketo.geopicker.accuracy = +enketo.geopicker.altitude = +enketo.geopicker.closepolygon = +enketo.geopicker.kmlcoords = +enketo.geopicker.kmlpaste = +enketo.geopicker.latitude = +enketo.geopicker.longitude = +enketo.geopicker.points = +enketo.geopicker.searchPlaceholder = +enketo.geopicker.removePoint = +enketo.selectpicker.noneselected = +enketo.selectpicker.numberselected = +enketo.imagemap.svgNotFound = +enketo.rankwidget.tapstart = +enketo.rankwidget.clickstart = error.403.description = Anda tidak mempunyai hak untuk melihat halaman ini. Bicarakan dengan administrator untuk menaikkan hak anda. error.403.title = Akses ditolak error.404.description = Halaman yang anda cari tidak ditemukan diff --git a/ddocs/medic/_attachments/translations/messages-ne.properties b/ddocs/medic/_attachments/translations/messages-ne.properties index fdf17dd5953..5c11d6199c5 100644 --- a/ddocs/medic/_attachments/translations/messages-ne.properties +++ b/ddocs/medic/_attachments/translations/messages-ne.properties @@ -617,13 +617,31 @@ email.invalid = empty = सन्देश​ खाली छ​ । कृपया फेरि प्रयास गर्नुहोला। enketo.constraint.invalid = enketo.constraint.required = -enketo.form.required = -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = +enketo.form.required = +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = +enketo.drawwidget.drawing = +enketo.drawwidget.signature = +enketo.drawwidget.annotation = +enketo.geopicker.accuracy = +enketo.geopicker.altitude = +enketo.geopicker.closepolygon = +enketo.geopicker.kmlcoords = +enketo.geopicker.kmlpaste = +enketo.geopicker.latitude = +enketo.geopicker.longitude = +enketo.geopicker.points = +enketo.geopicker.searchPlaceholder = +enketo.geopicker.removePoint = +enketo.selectpicker.noneselected = +enketo.selectpicker.numberselected = +enketo.imagemap.svgNotFound = +enketo.rankwidget.tapstart = +enketo.rankwidget.clickstart = error.403.description = तपाईं यस पृष्ठ हेर्न अपर्याप्त विशेषाधिकार छ । आफ्नो विशेषाधिकार वृद्धि गर्न प्रशासकीय कुरा । error.403.title = त्रुटी शिर्षक error.404.description = के देख थिए पृष्ठ फेला परेन । diff --git a/ddocs/medic/_attachments/translations/messages-sw.properties b/ddocs/medic/_attachments/translations/messages-sw.properties index b566b99b29a..bc3486873d5 100644 --- a/ddocs/medic/_attachments/translations/messages-sw.properties +++ b/ddocs/medic/_attachments/translations/messages-sw.properties @@ -618,12 +618,30 @@ empty = Yaonekana kama umetuma ujumbe mtupu, tafadhali jaribu kutuma tena. Ukien enketo.constraint.invalid = Tarakimu hairuhusiwi enketo.constraint.required = Hii sehemu inahitajika enketo.form.required = Inahitajika -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = +enketo.filepicker.file = +enketo.filepicker.placeholder = +enketo.filepicker.notFound = +enketo.filepicker.waitingForPermissions = +enketo.filepicker.resetWarning = +enketo.filepicker.toolargeerror = +enketo.drawwidget.drawing = +enketo.drawwidget.signature = +enketo.drawwidget.annotation = +enketo.geopicker.accuracy = +enketo.geopicker.altitude = +enketo.geopicker.closepolygon = +enketo.geopicker.kmlcoords = +enketo.geopicker.kmlpaste = +enketo.geopicker.latitude = +enketo.geopicker.longitude = +enketo.geopicker.points = +enketo.geopicker.searchPlaceholder = +enketo.geopicker.removePoint = +enketo.selectpicker.noneselected = +enketo.selectpicker.numberselected = +enketo.imagemap.svgNotFound = +enketo.rankwidget.tapstart = +enketo.rankwidget.clickstart = error.403.description = Hauruhusiwi kwenye ukurasa huu, mjulishe msimamizi ili kupata usaididzi error.403.title = Haujaruhusiwa error.404.description = Ukurasa unaotafuta haukupatikana From de6840fa4331aa0cda52b8829ce1f7081b7a6748 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Thu, 9 Sep 2021 13:47:50 -0500 Subject: [PATCH 049/179] Bump up enketo-transformer and node-html-parser to latest versions --- api/package-lock.json | 123 +++++++++++++++++++++++++++++++++--------- api/package.json | 4 +- 2 files changed, 99 insertions(+), 28 deletions(-) diff --git a/api/package-lock.json b/api/package-lock.json index 6e33ff1779d..7805dfb0739 100644 --- a/api/package-lock.json +++ b/api/package-lock.json @@ -78,9 +78,9 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -198,6 +198,11 @@ "type-is": "~1.6.17" } }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, "boundary": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/boundary/-/boundary-1.0.1.tgz", @@ -428,6 +433,63 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + }, + "dependencies": { + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + }, + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } + } + }, + "css-what": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", + "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==" + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -596,14 +658,14 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, "enketo-transformer": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/enketo-transformer/-/enketo-transformer-1.43.0.tgz", - "integrity": "sha512-9iel+sgSIA13GQ1n/xQLJiXjRSBWEP4yWuT9u9Q60mBz4WRAFL3BVk+oAdB5Sbytc2D8p4cgL2xhQUwKulPWOQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enketo-transformer/-/enketo-transformer-2.0.0.tgz", + "integrity": "sha512-08xOL0OlpsxS8Wb4dc1v6Y5aTMa/J7iwxwd/wcgHukiCklrbYneTgOsncswviejU4QzYLO7XZhJnAsmWW/Dgww==", "requires": { "body-parser": "1.19.x", "express": "^5.0.0-alpha.8", "language-tags": "1.0.5", - "libxslt": "0.9.0", + "libxslt": "0.10.0", "request": "^2.88.2", "string-direction": "0.1.x" }, @@ -1238,13 +1300,13 @@ } }, "libxslt": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/libxslt/-/libxslt-0.9.0.tgz", - "integrity": "sha512-KEhhIIBefx6CfCo5mxu5iOtXWHUCXVd7NZumwdf21thqaraBkSoyQ/KUEIAtXdQrq/bWJrc/YKN4KQFtzDB9wg==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/libxslt/-/libxslt-0.10.0.tgz", + "integrity": "sha512-COIaTGdrgnhZzk8II6vTDiNSI+Z/HcrpXVondyLsy2z9JuIOX5i4NKFsEFyySvYGcv9vgmbQiI8OV8x8R/rTOg==", "requires": { - "bindings": "^1.3.0", - "nan": "~2.14.0", - "node1-libxmljsmt": "1.0.0" + "bindings": "^1.5.0", + "nan": "~2.14.2", + "node1-libxmljsmt-myh": "1.0.4" } }, "locale": { @@ -1408,9 +1470,9 @@ "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" }, "needle": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.8.0.tgz", - "integrity": "sha512-ZTq6WYkN/3782H1393me3utVYdq2XyqNUFBsprEE3VMAT0+hP/cItpnITpqsY6ep2yeFE4Tqtqwc74VqUlUYtw==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", + "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", "requires": { "debug": "^3.2.6", "iconv-lite": "^0.4.4", @@ -1456,10 +1518,11 @@ "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, "node-html-parser": { - "version": "1.4.9", - "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-1.4.9.tgz", - "integrity": "sha512-UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-4.1.4.tgz", + "integrity": "sha512-Uk9zI1IhGrPTfUyhRvImKGZspsqJ0ss6aRysGfkDuPDPfLisMlInYT/3FCydsC2UamzPPhpOax9xbTVUsO6n8Q==", "requires": { + "css-select": "^4.1.3", "he": "1.2.0" } }, @@ -1487,10 +1550,10 @@ } } }, - "node1-libxmljsmt": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node1-libxmljsmt/-/node1-libxmljsmt-1.0.0.tgz", - "integrity": "sha512-61//60Isrmk6da073DQeCEzehBln/IASrUS4CcRlxTETQaSrflEY5qAWDbzdR6uOJQ48xj+7YTJgrDTnxAO3SQ==", + "node1-libxmljsmt-myh": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node1-libxmljsmt-myh/-/node1-libxmljsmt-myh-1.0.4.tgz", + "integrity": "sha512-2Kncs49q0NDz6MvIS5ipOnbs7TxzFXZSvdcvN6dunwCMixOdwcMqAlzRCsy3WxeoHqeGTlA/gCKj/NiR282kqw==", "requires": { "bindings": "^1.3.0", "nan": "~2.14.0", @@ -1540,6 +1603,14 @@ "set-blocking": "~2.0.0" } }, + "nth-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "requires": { + "boolbase": "^1.0.0" + } + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -2281,9 +2352,9 @@ } }, "tar": { - "version": "4.4.17", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.17.tgz", - "integrity": "sha512-q7OwXq6NTdcYIa+k58nEMV3j1euhDhGCs/VRw9ymx/PbH0jtIM2+VTgDE/BW3rbLkrBUXs5fzEKgic5oUciu7g==", + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", "requires": { "chownr": "^1.1.4", "fs-minipass": "^1.2.7", diff --git a/api/package.json b/api/package.json index 7765b67144e..ba45686feeb 100644 --- a/api/package.json +++ b/api/package.json @@ -21,7 +21,7 @@ "body-parser": "^1.19.0", "buffer-shims": "^1.0.0", "compression": "^1.7.4", - "enketo-transformer": "^1.43.0", + "enketo-transformer": "^2.0.0", "express": "^4.17.1", "google-libphonenumber": "^3.2.19", "gsm": "^0.1.4", @@ -33,7 +33,7 @@ "morgan": "^1.10.0", "mustache": "^4.2.0", "node-cache": "^5.1.2", - "node-html-parser": "^1.2.14", + "node-html-parser": "^4.1.4", "object-path": "^0.11.5", "openrosa-formlist": "github:medic/openrosa-formlist#sax", "pass-stream": "^1.0.0", From 9eace41408c52447d3cf92632c6c5c23785afd57 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 10 Sep 2021 09:38:07 -0500 Subject: [PATCH 050/179] Reset the maxSize for the main.js bundle --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 71dca2a2923..40ca943721a 100755 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "bundlesize": [ { "path": "./build/ddocs/medic/_attachments/main.js", - "maxSize": "900 kB" + "maxSize": "800 kB" }, { "path": "./build/ddocs/medic/_attachments/polyfills-es5.js", From e1f8fca4b7b7f1e3d1e2474f722bcfc86a99a97d Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 10 Sep 2021 10:58:09 -0500 Subject: [PATCH 051/179] Update z-score function to properly load value from input node --- tests/page-objects/forms/z-score.po.js | 6 +++--- webapp/src/js/enketo/medic-xpath-extensions.js | 2 +- webapp/src/ts/services/z-score.service.ts | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/page-objects/forms/z-score.po.js b/tests/page-objects/forms/z-score.po.js index 20ae139d172..9529397c515 100644 --- a/tests/page-objects/forms/z-score.po.js +++ b/tests/page-objects/forms/z-score.po.js @@ -28,9 +28,9 @@ const xml = ` - - - + + + diff --git a/webapp/src/js/enketo/medic-xpath-extensions.js b/webapp/src/js/enketo/medic-xpath-extensions.js index 00b4e543497..6f448f87a4d 100644 --- a/webapp/src/js/enketo/medic-xpath-extensions.js +++ b/webapp/src/js/enketo/medic-xpath-extensions.js @@ -22,7 +22,7 @@ const getValue = function(resultObject) { // input fields, evaluated as `UNORDERED_NODE_ITERATOR_TYPE`, are received as arrays with one element if (resultObject.t === 'arr' && resultObject.v.length) { - return resultObject.v[0]; + return asString(resultObject); } return resultObject.v; diff --git a/webapp/src/ts/services/z-score.service.ts b/webapp/src/ts/services/z-score.service.ts index b3120e9887a..b5d0f246c92 100644 --- a/webapp/src/ts/services/z-score.service.ts +++ b/webapp/src/ts/services/z-score.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@angular/core'; import { ChangesService } from '@mm-services/changes.service'; import { DbService } from '@mm-services/db.service'; +import { isNil } from 'lodash'; @Injectable({ providedIn: 'root' @@ -96,7 +97,7 @@ export class ZScoreService { console.error('Doc "' + this.CONFIGURATION_DOC_ID + '" not found'); return; } - if (!sex || x === null || x === undefined || y === null || y === undefined) { + if (!sex || isNil(x) || isNil(y)) { // the form may not have been filled out yet return; } From abf6976ae6152138ff288c0cff246c834b7e7576 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 10 Sep 2021 11:00:04 -0500 Subject: [PATCH 052/179] Revert "Reset the maxSize for the main.js bundle" This reverts commit 9eace41408c52447d3cf92632c6c5c23785afd57. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 40ca943721a..71dca2a2923 100755 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "bundlesize": [ { "path": "./build/ddocs/medic/_attachments/main.js", - "maxSize": "800 kB" + "maxSize": "900 kB" }, { "path": "./build/ddocs/medic/_attachments/polyfills-es5.js", From 69a3c22e8760a49cb5e41ffbb5c965d772bcd132 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 10 Sep 2021 12:15:06 -0500 Subject: [PATCH 053/179] Go to 950 kB on bundle size --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 71dca2a2923..66238ca6b12 100755 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "bundlesize": [ { "path": "./build/ddocs/medic/_attachments/main.js", - "maxSize": "900 kB" + "maxSize": "950 kB" }, { "path": "./build/ddocs/medic/_attachments/polyfills-es5.js", From 87f8b264a0320cfe72d976c1f75d1db7bfa2d397 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 13 Sep 2021 10:39:28 -0500 Subject: [PATCH 054/179] Add additional enketo widgets --- webapp/src/css/enketo/_widgets.scss | 13 +++++++++++++ webapp/src/js/enketo/widgets.js | 9 +++++++++ 2 files changed, 22 insertions(+) diff --git a/webapp/src/css/enketo/_widgets.scss b/webapp/src/css/enketo/_widgets.scss index 4da8818465f..5ee48bc5d4b 100644 --- a/webapp/src/css/enketo/_widgets.scss +++ b/webapp/src/css/enketo/_widgets.scss @@ -7,3 +7,16 @@ @import "../../../node_modules/enketo-core/src/widget/datetime/datetimepicker-extended.scss"; @import "../../../node_modules/enketo-core/src/widget/file/filepicker.scss"; @import "../../../node_modules/enketo-core/src/widget/columns/columns.scss"; +@import "../../../node_modules/enketo-core/src/widget/select-media/select-media.scss"; +@import "../../../node_modules/enketo-core/src/widget/range/range-widget.scss"; +@import "../../../node_modules/enketo-core/src/widget/rank/rank-widget.scss"; +@import "../../../node_modules/enketo-core/src/widget/url/url-widget.scss"; +@import "../../../node_modules/enketo-core/src/widget/rating/rating.scss"; +@import "../../../node_modules/enketo-core/src/widget/thousands-sep/thousands-sep.scss"; +@import "../../../node_modules/enketo-core/src/widget/draw/draw-widget.scss"; +@import "../../../node_modules/enketo-core/src/widget/select-likert/likertitem.scss"; +@import "../../../node_modules/enketo-core/src/widget/select-desktop/selectpicker.scss"; +@import "../../../node_modules/enketo-core/src/widget/select-mobile/selectpicker.scss"; +@import "../../../node_modules/enketo-core/src/widget/select-autocomplete/autocomplete.scss"; +@import "../../../node_modules/enketo-core/src/widget/analog-scale/analog-scalepicker.scss"; +@import "../../../node_modules/enketo-core/src/widget/textarea/textarea.scss"; diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index 98994bc7c66..bb5a41b0dd0 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -7,6 +7,8 @@ require( 'enketo-core/src/widget/columns/columns' ).default, require( 'enketo-core/src/widget/file/filepicker' ).default, require( 'enketo-core/src/widget/date/datepicker-extended' ).default, + require( 'enketo-core/src/widget/datetime/datetimepicker-extended' ).default, + require( 'enketo-core/src/widget/note/notewidget' ).default, require( 'enketo-core/src/widget/select-media/select-media' ).default, require( 'enketo-core/src/widget/range/range-widget' ).default, require( 'enketo-core/src/widget/rank/rank-widget' ).default, @@ -14,6 +16,13 @@ require( 'enketo-core/src/widget/text-max/text-max' ).default, require( 'enketo-core/src/widget/rating/rating' ).default, require( 'enketo-core/src/widget/thousands-sep/thousands-sep' ).default, + require( 'enketo-core/src/widget/draw/draw-widget' ).default, + require( 'enketo-core/src/widget/select-likert/likertitem' ).default, + require( 'enketo-core/src/widget/select-desktop/selectpicker' ).default, + require( 'enketo-core/src/widget/select-mobile/selectpicker' ).default, + require( 'enketo-core/src/widget/select-autocomplete/autocomplete' ).default, + require( 'enketo-core/src/widget/analog-scale/analog-scalepicker' ).default, + require( 'enketo-core/src/widget/textarea/textarea' ).default, require( './widgets/countdown-widget' ), require( './widgets/db-object-widget' ), require( './widgets/phone-widget' ), From c0357185e871fbda18bf7c08b0c992db39f85a8a Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 13 Sep 2021 18:00:06 -0500 Subject: [PATCH 055/179] Remove autocomplete widget --- webapp/src/css/enketo/_widgets.scss | 1 - webapp/src/js/enketo/widgets.js | 1 - 2 files changed, 2 deletions(-) diff --git a/webapp/src/css/enketo/_widgets.scss b/webapp/src/css/enketo/_widgets.scss index 5ee48bc5d4b..d9f5f99613b 100644 --- a/webapp/src/css/enketo/_widgets.scss +++ b/webapp/src/css/enketo/_widgets.scss @@ -17,6 +17,5 @@ @import "../../../node_modules/enketo-core/src/widget/select-likert/likertitem.scss"; @import "../../../node_modules/enketo-core/src/widget/select-desktop/selectpicker.scss"; @import "../../../node_modules/enketo-core/src/widget/select-mobile/selectpicker.scss"; -@import "../../../node_modules/enketo-core/src/widget/select-autocomplete/autocomplete.scss"; @import "../../../node_modules/enketo-core/src/widget/analog-scale/analog-scalepicker.scss"; @import "../../../node_modules/enketo-core/src/widget/textarea/textarea.scss"; diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index bb5a41b0dd0..deba1945cd9 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -20,7 +20,6 @@ require( 'enketo-core/src/widget/select-likert/likertitem' ).default, require( 'enketo-core/src/widget/select-desktop/selectpicker' ).default, require( 'enketo-core/src/widget/select-mobile/selectpicker' ).default, - require( 'enketo-core/src/widget/select-autocomplete/autocomplete' ).default, require( 'enketo-core/src/widget/analog-scale/analog-scalepicker' ).default, require( 'enketo-core/src/widget/textarea/textarea' ).default, require( './widgets/countdown-widget' ), From b8c375d47f1f1b9781868822e0bdfd6d210720a4 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 13 Sep 2021 18:00:11 -0500 Subject: [PATCH 056/179] Update xsl to support new enketo types --- DEVELOPMENT.md | 6 ++++++ api/src/xsl/openrosa2html5form.xsl | 10 ++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 7c08a081ec5..3a56c567649 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -180,6 +180,12 @@ Follow the steps below to use an Android device with a development build of your 1. Assuming your IP is `192.168.0.3`, start `nginx-local-ip` to connect to: * The CHT API running via `grunt` or `horti`, execute `APP_URL=http://192.168.0.3:5988 docker-compose up` and then access it at [https://192-168-0-3.my.local-ip.co/](https://192-168-0-3.my.local-ip.co/) * The CHT API running via `docker`, the ports are remapped, so execute `HTTP=8080 HTTPS=8443 APP_URL=https://192.168.0.3 docker-compose up` and then access it at [https://192-168-0-3.my.local-ip.co:8443/](https://192-168-0-3.my.local-ip.co:8443/) +1. The HTTP/HTTPS ports (`80`/`443`) and your local webapp port (e.g. `5988`) need to be accessible from the LAN and not blocked by your firewall. If you are using the UFW firewall (in a Linux environment) you can allow traffic on these ports _just from your local LAN_ with the following commands: + +```.sh +$ sudo ufw allow proto tcp from 192.168.0.0/24 to any port 80,443,5988 +$ sudo ufw allow proto tcp from any to 192.168.0.0/24 port 80,443,5988 +``` ### Remote Proxies diff --git a/api/src/xsl/openrosa2html5form.xsl b/api/src/xsl/openrosa2html5form.xsl index 0cb6a197d53..4f9e33434e0 100644 --- a/api/src/xsl/openrosa2html5form.xsl +++ b/api/src/xsl/openrosa2html5form.xsl @@ -5,21 +5,23 @@ This stylesheet extends the default one to allow for additional input types. - + radio checkbox hidden - datetime + number + datetime-local date file time + text number + test="$xml_type = 'decimal' or $xml_type = 'float' or $xml_type = 'double' or $xml_type = 'int' or $xml_type = 'integer'" + >number tel text From 2e8aa47a61e99ddc9a7bfbed9104dbe04757c25a Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 13 Sep 2021 17:59:03 -0500 Subject: [PATCH 057/179] Add new widgets demo form --- .../forms/app/enketo_widgets.json | 13 + .../forms/app/enketo_widgets.xlsx | Bin 0 -> 19447 bytes .../forms/app/enketo_widgets.xml | 1744 +++++++++++++++++ .../forms/app/widgets-media/images/a.png | Bin 0 -> 18941 bytes .../forms/app/widgets-media/images/b.png | Bin 0 -> 18770 bytes .../forms/app/widgets-media/images/c.png | Bin 0 -> 15148 bytes .../forms/app/widgets-media/images/d.png | Bin 0 -> 14175 bytes .../forms/app/widgets-media/images/happy.png | Bin 0 -> 15330 bytes .../app/widgets-media/images/kingfisher.png | Bin 0 -> 66723 bytes .../app/widgets-media/images/nuthatch.png | Bin 0 -> 42081 bytes .../forms/app/widgets-media/images/pigeon.png | Bin 0 -> 28177 bytes .../forms/app/widgets-media/images/sad.png | Bin 0 -> 14526 bytes 12 files changed, 1757 insertions(+) create mode 100644 demo-forms/enketo_widgets/forms/app/enketo_widgets.json create mode 100644 demo-forms/enketo_widgets/forms/app/enketo_widgets.xlsx create mode 100644 demo-forms/enketo_widgets/forms/app/enketo_widgets.xml create mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/a.png create mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/b.png create mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/c.png create mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/d.png create mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/happy.png create mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/kingfisher.png create mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/nuthatch.png create mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/pigeon.png create mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/sad.png diff --git a/demo-forms/enketo_widgets/forms/app/enketo_widgets.json b/demo-forms/enketo_widgets/forms/app/enketo_widgets.json new file mode 100644 index 00000000000..3054c903a11 --- /dev/null +++ b/demo-forms/enketo_widgets/forms/app/enketo_widgets.json @@ -0,0 +1,13 @@ +{ + "title": [ + { + "locale": "en", + "content": "Enketo Widgets" + } + ], + "context": { + "place": true, + "person": true, + "expression": true + } +} diff --git a/demo-forms/enketo_widgets/forms/app/enketo_widgets.xlsx b/demo-forms/enketo_widgets/forms/app/enketo_widgets.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1794e5b59a20d8b97e0c7dc70c485500913786b2 GIT binary patch literal 19447 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 MxEPon>^wj`0N)U6-~a#s literal 0 HcmV?d00001 diff --git a/demo-forms/enketo_widgets/forms/app/enketo_widgets.xml b/demo-forms/enketo_widgets/forms/app/enketo_widgets.xml new file mode 100644 index 00000000000..20079e6bb18 --- /dev/null +++ b/demo-forms/enketo_widgets/forms/app/enketo_widgets.xml @@ -0,0 +1,1744 @@ + + + + Enketo Widgets + + + + + City + + + The Netherlands + + + United States + + + Country + + + Neighborhood + + + Cascading Selects with Radio Buttons + + + City + + + The Netherlands + + + United States + + + Country + + + Neighborhood + + + Cascading Selects with Pulldowns + + + Cascading Select widgets + + + Date widget (this one loads a default value set in the form) + + + Month-year widget + + + Year widget (year only) + + + Date and time widget + + + Time widget + + + Date and time widgets + + + This shows the outcome of a hidden calculation: + + + Note widget. In notes you can emphasize _words_ or _multiple words_ or __strongly emphasize something__. +You can also use a line break to start a new sentence. + +The decimal number you entered was . + + + kingfisher + jr://images/kingfisher.png + + + nuthatch + jr://images/nuthatch.png + + + pigeon + jr://images/pigeon.png + + + You can also add media to choices. Choose your favorite bird. + + + Acknowledge widget + + + Display widgets + + + Geopoint widget that hides input fields by default + + + Geopoint with map Widget + + + Geoshape widget + + + Geotrace widget + + + Geo widgets + + + This form showcases the different available _widgets_. + +The hints explain how these widgets were created. The form logo was added by simply uploading a file called *form_logo.png* as part of the form media. + +The XLS Form source is [here](https://docs.google.com/spreadsheet/ccc?key=0Al3Mw5sknZoPdEpPa29tamFCc1o2bmFVR3RaemlSRXc&usp=sharing). + + + Annotate image widget + + + Audio widget + + + Draw widget + + + File widget (any type) + + + Image widget + + + Signature widget + + + Video widget + + + Media input widgets + + + Decimal widget (allows only number > 10.51 and < 18.39) + + + Integer widget (try entering a number > 10) + + + Number widgets + + + Distress widget + + + Range widget 1 + + + Range widget 2 + + + Range widget 3 + + + Range picker widget 4 + + + Rating widget 5 + + + Range widgets + + + Fixed number of columns (2), and no buttons + + + No buttons + + + Table with image labels (alternative method) + + + Brian + + + Michael + + + option a + + + option b + + + option c + + + option d + + + option 1 + + + option 2 + + + option 3 + + + option 4 + + + option 5 + + + option 6 + + + option 7 + + + option 8 + + + Select one widget + + + kingfisher + jr://images/kingfisher.png + + + nuthatch + jr://images/nuthatch.png + + + pigeon + jr://images/pigeon.png + + + Select one autocomplete widget + + + option 1 + + + option 2 + + + option 3 + + + option 4 + + + option 5 + + + option 6 + + + option 7 + + + option 8 + + + Select one widget displaying horizontally in columns + + + Don't Know + + + Not Applicable + + + No + + + Yes + + + Select one widget displaying horizontally + + + strongly disagree + + + disagree + + + neither agree nor disagree + + + agree + + + strongly agree + + + Select one displaying as a Likert item + + + option a + + + option b + + + option c + + + option d + + + Select one: pulldown + + + Select multiple widget + + + Don't Know + + + Not Applicable + + + No + + + Yes + + + Select multiple widget displaying horizontally in columns + + + option a + + + option b + + + option c + + + option d + + + Select multiple widget displaying horizontally + + + option a + + + option b + + + option c + + + option d + + + Select multiple: pulldown + + + Don't Know + + + Not Applicable + + + No + + + Yes + + + Q1 + + + Don't Know + + + Not Applicable + + + No + + + Yes + + + Question 2 + + + Don't Know + + + Not Applicable + + + No + + + Yes + + + Table + + + Table (alternative method) + + + Don't Know + + + Not Applicable + + + No + + + Yes + + + Don't Know + + + Not Applicable + + + No + + + Yes + + + Q1 + + + Don't Know + + + Not Applicable + + + No + + + Yes + + + Question 2 + + + Table + + + Select widgets + + + Barcode widget + + + Multiline Text widget in enketo (in ODK collect this a normal text field) + + + Text widget for phonenumber-like input + + + Text widget + + + URL widget + + + Text widgets + + + strongly disagree + + + disagree + + + neither agree nor disagree + + + agree + + + strongly agree + + + Amsterdam + + + Denver + + + New York City + + + Los Angeles + + + Rotterdam + + + Dronten + + + The Netherlands + + + United States + + + Mexico + + + Costa Rica + + + USA + + + The Netherlands + + + South Africa + + + Maldives + + + option a + + + option b + + + option c + + + option d + + + kingfisher + jr://images/kingfisher.png + + + pigeon + jr://images/pigeon.png + + + nuthatch + jr://images/nuthatch.png + + + option 1 + + + option 2 + + + option 3 + + + option 4 + + + option 5 + + + option 6 + + + option 7 + + + option 8 + + + Bronx + + + Harlem + + + Bel Air + + + Westerpark + + + Park Hill + + + Harbor + + + Dam + + + Downtown + + + Harbor + + + Yes + + + No + + + Don't Know + + + Not Applicable + + + + + + + + + + + + https://enketo.org + + + + 18.31 + + + + + + + + + + + 2010-06-15 + + + + + + + + + 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-list-0 + a + + + static_instance-list-1 + b + + + static_instance-list-2 + c + + + static_instance-list-3 + d + + + + + + + static_instance-list1-0 + king + + + static_instance-list1-1 + pig + + + static_instance-list1-2 + nut + + + + + + + static_instance-list2-0 + 1 + + + static_instance-list2-1 + 2 + + + static_instance-list2-2 + 3 + + + static_instance-list2-3 + 4 + + + static_instance-list2-4 + 5 + + + static_instance-list2-5 + 6 + + + static_instance-list2-6 + 7 + + + static_instance-list2-7 + 8 + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + static_instance-yes_no-2 + dk + + + static_instance-yes_no-3 + na + + + + + + + static_instance-agree5-0 + 1 + + + static_instance-agree5-1 + 2 + + + static_instance-agree5-2 + 3 + + + static_instance-agree5-3 + 4 + + + static_instance-agree5-4 + 5 + + + + + + + static_instance-holiday-0 + a + + + static_instance-holiday-1 + b + + + static_instance-holiday-2 + c + + + static_instance-holiday-3 + d + + + static_instance-holiday-4 + e + + + static_instance-holiday-5 + f + + + + + + + static_instance-a_b-0 + a + + + static_instance-a_b-1 + b + + + + + + + static_instance-a_b_c_d-0 + a + + + static_instance-a_b_c_d-1 + b + + + static_instance-a_b_c_d-2 + c + + + static_instance-a_b_c_d-3 + d + + + + + + + static_instance-happy_sad-0 + happy + + + static_instance-happy_sad-1 + sad + + + + + + + static_instance-countries-0 + nl + + + static_instance-countries-1 + usa + + + + + + + static_instance-cities-0 + nl + ams + + + static_instance-cities-1 + usa + den + + + static_instance-cities-2 + usa + nyc + + + static_instance-cities-3 + usa + la + + + static_instance-cities-4 + nl + rot + + + static_instance-cities-5 + nl + dro + + + + + + + static_instance-neighborhoods-0 + nyc + usa + bronx + + + static_instance-neighborhoods-1 + nyc + usa + harlem + + + static_instance-neighborhoods-2 + la + usa + belair + + + static_instance-neighborhoods-3 + ams + nl + wes + + + static_instance-neighborhoods-4 + den + usa + parkhill + + + static_instance-neighborhoods-5 + rot + nl + haven + + + static_instance-neighborhoods-6 + ams + nl + dam + + + static_instance-neighborhoods-7 + rot + nl + centrum + + + static_instance-neighborhoods-8 + dro + nl + havendr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/a.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/a.png new file mode 100644 index 0000000000000000000000000000000000000000..ddb351eb9d70a61a062cd0c82a9cecc02367bdaa GIT binary patch literal 18941 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 literal 0 HcmV?d00001 diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/c.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/c.png new file mode 100644 index 0000000000000000000000000000000000000000..75e18524891ed0d5c0f07af56556676f741fc938 GIT binary patch literal 15148 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%0DN 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 LtH{;Lm<0bHPNyQ8 literal 0 HcmV?d00001 diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/d.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/d.png new file mode 100644 index 0000000000000000000000000000000000000000..18dd962fe1cfe66623216f2d0275d35f3bfcc29b GIT binary patch literal 14175 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 literal 0 HcmV?d00001 diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/happy.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/happy.png new file mode 100644 index 0000000000000000000000000000000000000000..d6627407d2a2eebcd1d14be4d60edf6e89e789f2 GIT binary patch literal 15330 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 literal 0 HcmV?d00001 diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/kingfisher.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/kingfisher.png new file mode 100644 index 0000000000000000000000000000000000000000..7515204ca6222dcb36bf61a4c9d550dbf492afdf GIT binary patch literal 66723 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 literal 0 HcmV?d00001 diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/nuthatch.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/nuthatch.png new file mode 100644 index 0000000000000000000000000000000000000000..02c027675d77cca2cecac9245e9398bcfe6a0431 GIT binary patch literal 42081 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 literal 0 HcmV?d00001 diff --git a/demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/b.png b/demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/b.png new file mode 100644 index 0000000000000000000000000000000000000000..3b48f5f71b233efaf98b9986cbec23b47b3b4951 GIT binary patch literal 14168 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 NNlsn1LE1dx{{Vb0-opR@ literal 0 HcmV?d00001 diff --git a/demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/c.png b/demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/c.png new file mode 100644 index 0000000000000000000000000000000000000000..1b4e9e21a00038341461264345392664f2f8810d GIT binary patch literal 8426 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�uFxmpHVNq!q^mJ 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%0D^<`N7pFi$mux!{vb z{5_U{Visr|(r}TJ=bAbO?$kq5NXScoh(d;ETCPp(>8sg~hRRC8bkuq?>^_G@zbd}* zyvkBk$1;>;zLo+~2D~aSdS8-|EtUcCxm@sw5}2>PZSmO3xI!>@KdBP8!sXtWldXz zuqb@j&zbrI8@|NiZ}l>(<(<DhRxDO3xR(cBPP)EVz7HiK+FmU9^C> zk-2fMtZ^j$CZy*dkqIT*<-kF{3#>KE3+HrPGsmaIK3Pz2y4355yq5!aQ=LQ=2|S%l;V1gguMcliBDZQ zApsl`jyR%Nrq)D_Rkc^QoO!}>s&c`>kyO$lsJr<1gGo-H`OVpP>QU%~_d=^qflwhCt^OnX{J(ruHCq(|l za6%3f5Fs`Sf2v&MQApd}Is*6n?%XL(3bdL4t8!|y|$_}#NZ%n5mvf*Tq%wX~9DHz6c8FxD`INmNs{oT8Nq ztNOoowVuN=ewL>bic3NIM|) zU;NO;dHj?AKM!&wN@aoA0l0?`hdmQw>2YnbQVUqi4If;8=tLeKV6GIIAC6A)>9t<1 z$E9JWapqo3TFmOu{bE~nf5Gj%dk8~+?}KlVJ+;YYV?gU<+|95%NM{l)og`s`V`$K6 z0B;U`wMbQ@m!U?$Pwe@G8sNP*u)8%dRU>eGyRh0EWKWbD9LQnnNo0Y{kYMcLlIB}7 z@y{tqj45j-b%n`eq>K1&vJkw)&uLaLXqn@q(5@>or2%DEq)+O()7MapWrO}r!!aPB z{-->$JvVk#8o$22;7;I`GOoU{B&E%;m|;i4j?rn z3PlR}UFK!F11v5e%W(5_zyp&$rjB;&s%l2KcK1;rh2`9_M4c##Yt|+z>c&NlE@_@Q zhmG*z-Z;>LNW#qHr9-qMl`@6%Ke7isKfa6`J-!p|{e9+#QYN$B#g=4S>4=HuTiHumql0keYc-6>a zVvet$Z&y#$M~lzfKYsnXq(M*BQfZpF0M5{wL=8~c9>QmUcZ{?#8if;gH5)7F6AA>j1~lyA(4&BU%~cxdXK@j49`OKs0>14;QTl~XeaK<@Hz z1y`{V#vrv}NOJ9?m$dn|D*Kp|$W9R`>GdF)Nq&(1VDh+v)3jcr z%={Ypb$;%^HJT6|wqTlp@ljag{)O9Ns7O6Ag-xa><1<_z;!WVobEySNP=H5jd6Z=)Qqb&|43rv;S-QZ zhTv!dfu8{3@_!kd&?s7z?=+@>wb>X03lj`UvuK)_xv60zjCDanM_1*D(%>6$7qH+X zeTSvRm1R3)aoi@>E8hy`eHV$OfGb@gu1-#->xCE!bM~TKC%tF|uFj zT;1H7eXgiiPJeKpxeo1o(raxT`z}D9pr~qCrKV6Kn??r=C~JQG_|bZIN)Ac8=*pY6 zSJ$VXI&(Xy|N4=<=PoQiRjomxQnx!zNd*UYWfI97-;%FeE{zs>KUi*<W2ldHp> zZ^hGe{7Xv$9+!!gm3C%21@mMSo2kE&Ht&sM_}xx(2a&T}6L`Xr@?+&10G=CFk@cS{ zaUAJD)zEKC?$N-vPH`@noJ=1mD$}%5AiTfvhctRCUiJXPv$VF)j1O!`yY7irAexhC zzWHDfUqnKz_=S}NRaWMnmFHdL`=q%A%fm+nYA$uJVKW{n)dWt5b+0~Py>*mYhVxz& zCpZ$(r^Dy+r`s9YBsA%WyXs>7m89y#)<`+z`Uy^|fX?vkm2-rF^KkaP<2r@x-=8O* zmxC!5@WcBtG@P(G%-L5Q`?{!`#GAnkGgvJ5x3nvE1sFFjncpmOOMYgsH_hmb+G@MYr(?bgnRrzHK(V zaBAnHT?Cp+a9-l>X%-1QQ^q%sLwW1rhxaWuv25!1j)Af2pd45C+heM1elwrS9(2EJ z@$e!FW1LBQF2a}+@2BGr*?Tp$YSI`583ZKKVSnoN-hdiv8&C5ehJa zOv1=zs!W$oNQ<1p$WgxQhnRpP^6B7>1M|uhXcFMzAT&!1vdO<`u%F3A{(c^P# znpPc!026X#304pph>cK*{O1$;nK~`rej`6^JfLMWtJ5*lkxKqhU>vj6OWE;o`=MDc z``f&$wtm^w4t|dF)-Eb&erx|c&~joGXgd^|6Q%mb8CiA+|Iz3eg}P&wyuzZ!c8PO6 z9&_sNFXWx4N2q#m85F=mRwRMYSt*&OZPA0&~_Q%gMVY(L%@WH8K3m#k!v$a&Q z6Gew%4h8vR{K*E=d%JXJq0i(J?4xO?U6yWcF)TmJ>;V5;k`p1!F>DKC!ubG-NX`L~ zmD0p^nf<<5U|GS_Bc}A(7)DKV0xqvgkTd65;HNO8Rr{4lm&h=bIp>xT(8t0@mZe#t ziQLb)<3y;=?S6TU%Rlc*`(>CmU9P<`Fb_z6A-g=)4>+CN{WnfuOqvBZTbL$Z!2`Q> ztoqz;Q*rgq{Y>vx0N;2bqSn$qzrr=1EI-fSzrR=%kyIMN00Z zfFz#20A*6vEQSAFX7~FW;>EX#t|h%tK69HT90ptsASbxd{brLlN-HGmh#MQxR@2za zD=Os9{yX%0SJPUDblm#mI8p6)thOCO>vXGKLq6ejtS>~xlC(ik$2|INhP2CL?eq6Y zjQaN~RMb-VoWJ^-b(RSO)={**eKq+%>B`Csu03tfnM!J!jd6IKPmxe>k>1X9yLeNZ zrX*U|>Q%E6ME)j0T)T6BvCr9>!vJfb#l#%AB82^=4JAMg*{(&%_%`yRYqXH{7Y?>% zpVe_qONUg!;=nDrU6FMb*B_rJrkYR@B!EsJisKA*@2kw9$PfrthpALpp9re;5{0DwHKQ4q*o;~0=COHP}_W?PM0hEsPP;sd;UU&e)n=3on= zOb{86@DTs!LXyQr52aTG5382(>h$Dm4|%TM=*E)IrFE3aT#wvA;b*w8SX-_DimExdjG5BdU-|Cnf};IAU>_Fuix(qr<8%}y;d@H3V1nW#Eb|LisX_H zb(2_<_g!0;TkCq&iWJ;fw$YUhFLzJgg`2S5fabKm)Rd44zs*+j3i6tHeM_=r&Q||g zHFW@0#fjQuHdLoeT3FUL=S!Qk;UZKX;HjFZ?syceG>9qEP4l!13lr>dG5H4*N8V9< z&GEa!?bk~_HInh-ko*EUU0a41&`Pd|e59Pwh<<$ZG?^;+R>*z;A4LfNKhw^`eN}|@ z;Y_)FSTK~MEAa!}hgxg6X^!7&vbpr-KjC?%>7tLY1~5;w5XI*|3S@K-QqN6;TwqpG zd^#rsti($hW)U802RIcKF2F6U%8)W-fv0v-{Qp{jX~57@TU#r}ltYOm?$j(0oX1Xz z5*q|)-VhRokaRGC7j$*I@)ZO#|Mo-_Zm*(4fALTt-R5x<@8)3Wba%@Ye;#XD*crO- z4G`xT8{G42S@^TgmiGqa-(PgEy#6HXD%$anEp)zLYU`&?IpKKc@s~v46#DPdOke=r z8@gg-%U|Cro17U*tx+Kl%Hi0*4$-L44E*)imb2N_nV2DI;FAwm6BmyVU-9grN=0%U zm1xOqm)t?yilD_?>B#uaHxwADvS9~JLerq7#_Kg=PJ%q~F$qU3B+J0BFIQMXy?at) zla?Z(Ce|$Lr5C}$&F#R|OTw{lcbCt8okE^%Q6aAKBm*evlhukO>bR*AMpWo{Z9f-&5x=VLD4oAtkb-KkeZf8F|G_SkRH>hMw!A@ znshZt@eVPEi>RJokW|2Xuon@X1xjLhm^-XXk(dl`4EjraEn~^pI6vopaZOlhfv-4E zmn2{KIbe1c_x0}WfOvTs_``4t3{k$s~~3;?&jFPWYVg%Fr>#9Of710KNb_WH+b22kLwHZ ze4ZY3%GXDSH~jFz_oHr-9(C`<2ByPWCrxO) zX${Rp_SVBYV~n`*!ofoI<#v}(FjuS0Mwz0&sapOP4qeKxmlM1K%jT5^J(KbH{WFR- z4Q$MYZ2(vlQ(hKMg;5g=fu5D(a=$4?b@RUuWNrc?xU508=?Z*7TMO`_CZ$}Y%19Qu z>panxr_-3_6s9_K1L_&ttg4YHx)d4835{wR!;;|-92E^%Nn%7Fa}u*>#(Jkh z$13eM2>_oLZOU-{lAX=SH(OhWDJyOZ={V%z;wf8>KaN{?RYzA#)xOGC*MYOMnuj+; z3`ZG&GuIC`mPLdmq>41kfto_~qi=Kh!;=##(S+l3f6v8S(De24f41FSZc_^PV)zW> z_i&qH?mi!oXg+S6%(;X52a(cPBCR?2x34|`E4S>UnvRxHD?W?6_0+p3)HadHlRIGO zG;q2Krkl>6wFQUnZ0HLW|r;Yq4B)}ge<5@PBmRumJ^el0UGoXWCMfoVr8k~U(D3f zCH9q6BxQumbIXVHld8(JwQRV+=f6o(F5KnT5r+ik?#@AonplIiBHRiZVa z?a<)@A?H2;jPUagD;r-rpTh?nvHjvl15&h-b=EqfPvDU{Lnyq*6Uo3SrQ4ryI`6T9 z_eL=#(~r)ptIW2VWqZs~BQY$y=|5i@P6)y=u^sac?bt@AbE?PaGsogeN~&rG2ViFJ zsRKw@w=+Cx=@6M(g}RlU`}!zrt3>$^d}CLWx#h3Zm<1()cHV%34XChoX`3V)RPqN z17j@)npj(^jERUGR@*3%6YQcGN8mf8x$NTDG#K^G*$%f9f@Rd$hP7}%uCQRm&`XM{ zVvV-!wP+WM4s*okU{WFWcAQZ{{EG*zoFa+5O7o(M#HCWcOOu$mMRF5vETECI5=6z~ zCiMmYs=vofn@XuXZHZ~cXIiObbL4)CG}~kaz7MKDER}ifI6S_;y{k58+ctU=bR>xX zj9bQ7?c`&bLF0EH9*IfWzoBrv#&i z$c-^CUG8W`rO2N?QDsbe*lZg$ zowsqkdUR=d0j~-8h1qL!5YymX;$<*UF^a#7`$bi-7?IG(82$iqFl^6VvS%fXQo#*6 zaF-dVo#e#TR}am{m~U_t3^_0xhO&vqYd~}WO)XSWJQ)IvR;spQm5RO}AD|p%9lwNm z>%u~0^2F&X^TT3kzyF5$n7tFl$+hBBW!&%}?Z5|)JrxZ&9aUBoYzFg-%|&*$0}j=F z(^S6MA~uE_zIOYNrfP%B&ew^zPlz;LJg2F%J3uPzN1bWFz_xLcky2RrQ4L2gG8n6^ zm-op!JGoY7Cu_F)ODulfFNUi4qOE2Go7IT*9%}aNk!;3=cILU-_q^X^V%V+KJA9o3 zl!bjn_{?kDn|oGTmj=a*P3=&DYXbn0SlMC+zY~7GY^9~xUCsLXt4f0w@ACMRRE2T3 z+0`_nMA?vqKw%P^C7t6F^H&YXf+PxgYQ6XE%6aS0!IlKKluy|-SU3E;_VQ5+mIJ5k z8u^h;vjFPxpd#uOIHWo;WfTe?imRd&M)$0=9xOT|JMF^-Ov8 z>pHY{y0b{Oc>=Y`b37R1Y^@Z;^Yn&mnx2C199DsTUL`Qm$Pb55f1Xv14o4@~dPslv zJ5Rna0fdl6PQhi1Hjnt$QxFXeEe?`Kj#N{^l`xceVfM3lFcWmVr6g5|LZYv(y1gAp z^<|Li-xtep0j~?tyz=2;qGVpI_`C~{L)2~%qChR#tk+koX4MjGr)*71R@?cMtwF8G zmtbsanxNFA>|q`DZN5>5e%lHpB#kL_alFQik+Pt1k^hGmFJ<|$Px6c3+>YU8YfB&Z z*Ztk*K3Bn!OxZ3uXMg(7@YQXJvV!A^OkAGzJ< z{X7aTRHJ6N!988>kR)*bD6hc@guox4ojTTgMbdeBLmd)2AHVpGMeKP&TTvA>#WbO} zx9EguA%nGj8Qcyk=0TM=fFG3_MKAn;BE9Nr_l6&UlBm!c=~4spiYcp6tA)L*iL(SQ ztPj3?8Rp+iBZg)+PF6AbxzAJ>ldZC|V@J}Lm#Ye7$svTIPFPG?xaWZc#l!!GkzWjA zlnT17cmNBPTcB!c=5KhRaCl>kTv~c#3|7)8VAfK<^x1n}GR_d$;|U@V#)Z<6m+VF#%=~bxuI#>wom)%*h=ZSYGlSguZlx{rmecuw%7_Q6|*L zl&A-)iclv2Gw1Sj=(Q7LU0dzI7{41GE(0iw>wXFd>^W2;5l>q1y5bDS(Zi_Nl3(`j z!;L!FeB>DF+Kcda2Itj_v_sfwr%oZV+7pv1I@-DCS*D?yM?TwtR^ttH)?#Qxg#soHnIbaWPji^w9R?DbO zzw^iWj=HGLpNZy&v&1Ncv12f&298!rMSVsIfZ4fRWV|&S?%u!zpsUb-60^{Ot&g?& z@wI=4)J3^NO}dSE^5>6Cm8l2SDAI3zn7gNF+0yfk4vC`e*g>daJwLkcLN{Z9a1uZ` zfCxCik#v&JUt$$HB#N|(R0d7<`KHSh!6~9xVLmOzg!?VQXF%kcWTo!TL0w7VFPtnb zVoi1xjVLHr%+`nf@SfMB675HY_XHz*EOnn4hIkhb7!Sw4}1gSEntN|t=>-!EZT{V!+~sS3x=!~^aY9YEBObv>Uurgoa` z`#UFnn+9azr>9PsE6BC6No6}#*ClMe`fmRQak;%YY)^?cSq=muDM-V!9@$)saOyaF3fupS6Lvm4bm>jhHcCU)(N>USt+;{pMN=1| z7_m>mvlm2j)ldQD6xln{1&h3%y=A;zIyM-j*ew}z5N$1>6*R??04_GGMlL)jbg^$GXDzyESE0FIu#nIztx)nm$uo8VV%rlK5_; zK(fI54)nfyev;SIlDBMKpCpS`$>z+h-La!g5a-}NAK6+vK$_aUX$4OFh$^D}V9~AZ zM7ieCK1YHm5;mz|+TUfG@<^Cei+A^|(t`F{DVRd0iqJ2MYx#RV4y_@sYj%diKtc5R z+iWXVj?W4l=l~H61L^+)$Syb0_Vy3Cc5R#0l{&+IkAAnq(&jpcN5{N7Y%!kLsG&;r zMxNjP;SYTJ=u-mEVe|S8_K#25KiDUqmD$;vewOuuo}T#YN4mH0!b_lp&+{Jl>eKDI1NE|v;}VL;${ z_jrNewKYs{;$Nu37 zD{B=>@REl=H&3H6MSCd_PrBXywCE_R`o6UlV@dBTx zuXd@`Ym~AkD5k;o?OOz~#Ls^AAGmpalVUMPghaizlyFAp4#yWye&h3Z z{8{}f1W2+(y;fy?a~;FbX*Ew6_ItSYl*xF^cr;D^AHFcjV7+=6ZiqH zSI0w~x=6t@9Q_@mywIaJQZf@XyXnl8h?mGODzwO`TOF@}md0A7^q| zx!r1`O348G@aUL!r^9$WLe(|0*$nliB{WrGIv(M94&7dt!=qzv-MGch)(#OdjZP0m zSCQigdpu@!eS_g>!eD5#bN4ffm1SPMew{#V9gpE~!rJOODa)kQYBK0{nM}s$x{hU; z)RxN0%F>H?@%k-Z5b^8Zd_$#LqFO1^?{$$?70pQTRS$F@;qi8u-gLys`@66%VS=tDhsitA1BeFs&SvC<}~v`!p{2q{3Uz%n>X*? z;!JJY%>kyVvc8f_d{{4W`xoo?3-exaNr}H$t}Z^lxfG-qb5rR`?RoXj^R9vy=~pQf z3mhCB^P69M#c(j9kjo)SA#vmoM1tMDcQ}qiu~4AXY~#2NmX=1AWQYZ?-t6+^>2t!+ z$_UQ?$wWP-Uo4@^c*iPaGm`Yi^d%uezODva)NV1^Q>G7RUzr+9efB!XpB$F|d z$-rnb<;IP>IBo=Zqz#2R_|bplQ76sZoTVB6h}rs8Wpihp)wMd^ZkLmj2F*r;$!Lu2 zxWt51SBkSs0hxR*i>}KUhK{DI$g;pR3=CaQ5J9tyqN*~grlKecj$;#rkjbQxWr&Fg z{RC0e9}L-h-=NtZ(cJ$%?_c~DFA}6PIoj)+Nh7QXe9y)-3_Qmno6d0i?nl(uuJO(9 ze#73IcQ}E@&=C|217dIS@-rp@1ka7C&MkrFtpLyYsmYk>j9rzCWyOUs8x{ur2(EBc z7YYOMLAM{2es{>zZ(niR>=XMQ8|$mwTi&9+T;t#V{I_(wLp;}KfBy&|aRP}V)>oIw zS{Z)v>#v9feE!Kp>a`-nkxHSEA(PVB-9JE+6l5gcJbTJgz0PDZMu^0y?AKra3K22!*}{@cGJ4r2&H4h~LOTB<`VIPLbxXVX-2MO4FJrnFR~Tq`5Q z9fBYkGf9#_k(FeN9?u?ebHLm9oDn`_;4?S$juR+vI%Cd0Hd{)@5sD^|6q$;ap;As0 zMKGEA42KRUr+r34oBj8{$97^=-J(`sP4GrfU$U`thtIzJ#~4KwB~xVL{S6Z-!*AXR z?ybqxvMN&KpW$_r$pjDy>0+4?Uq+V4vmlPo0qEz`6u}j*sd#P`da?Nu2zkyYK*S51 z+A}kXvl2r#Rqb&c#d0B&rBukGDS}52Z?aNfqS@-Bt0s=?Gnv{K$`(mb$mK9~72CEG znOr7AtJP*QneyWK3u=`Lr9y#XF^6HO$yKGCGzFHGVK^ER_&$}&5>XV=?RIINw%ED3 z&5c{PkaPvtaTpJ6WJRal=_TrXP2+oCexKie`v(f8GB@u(VDIn*--n~42B)nSm8A-Q z`A`1@qJVyxAiqcwk}PI>e|feRl#ylWVnrxj z)L)Wx(d|l70&bHekR|#2WAlUa`RRlt31lTHF*HrWOexgsd6p_^Ha3dv?9?z#g)neQ zr%dYgC0u*LX}d$Qwt|r@k}DQyHaf&{n%(0e>9j#QrJxFrC>BJLgdjwT7EhMvMb2U- zNZ|wa?DI3xvw7(UKSx}$3X(o>J2lr>$(F7@PFt3o&6wme7WZ!7V1I89KY(6u%y?pB zyAF!3GIbn$Ke>5dUt7k|w3)>=WV1P%%@&RukWN{2noS-(`k1wqDnaN|tFLfye1dKm zcz&YU)HDstvTz)a{lg<-B5vK-X8YO>rBaDEZ{Og0KBLi;-e7?3I#`)B4<3BPtCuf$ z`s^82I!zQtbUXbS077MLV~uJh$9lcan^!L=7V|8xR7qR{nr{#;+@8h7 zM&+!6n+wLX@RDZ2;Ipq^3{rt4iy510b|!c3Ys!`G_$+XvcxI9&fh6D6< zQYe=))Rwa3GAgiUUc7!rZxFD1G$5DJ$){ChqI1XUSzWT= z04U~#B+Q?Z%v4W8S_sPdAYJ$!en|2+_eMT%aJdl8$ai+OAIHH|{?YfpgX`FAt}T;G zXK8f?w7We{8%=E2XMJOfsqJ99F2!P&?TuBIDrMg9?vqNViA9W+Nh2f~cRJzz-8IG6caSs%L4=_x3yMie zh(A)U##cJovq$o|<@kJt;7ms;ExZ8IY)vRhVj(lmZ-ma}#S0mGK49ayhU9E=5h3FE z%vK`dy-G2vD$vx3jHQycRI(YBOiE+3o+g;=(i=LIm$w1Ibl77!4SDu*pIk0OshCB@ zMHYfcQ5J>$VlL>;rKU3oub6}I&MBoXXVP<v(Q2J{9KWIaWr*&>t4Qz}=G6_w5HYxMg=3`3`JdPKEk@#(`QK6#jDxtb z0ubTsk~EsTEakk^kmbY-Ls4UNGep&6LVrj(6O%TkoSe2OFj!SM!=R9-y8^m{NMd& zKYpA~sj}+^9G$kQEmhDonLv{H=GpUvg(SnqTAgmM%Xnh*(MJy{<#P}P+<)*8&kuO> z_8py0pBGP_@#S|u!FMNQG8rUEVLX{qt}an7*9gOilSYfBTAj7EB)FbEd(Lz;LDyu8 zxh$5M3qPgJfH!n+PFM zT`HoT!S2mtVfxMK#leaYU~-U~Kyw9XI*Tr}tT{W%&m`{2r6(lx}ZCsaRsvPqtJ?M@NJ~ zfR)bjs~RJBeDqaoPkVMx!2qHz8}~ zdG_Lja`hU$p3Pt|=J4>Cc6We~BvL7pVj+uVrMPkXI=!LI5C7yJv%a~*(zEgAeJ%&<{N+Zx zsP7OL#1b**z$X^iyU{t9>MTg5SqA3(j6+JcK|~88WGR-;9UNsO6nrviK_MM89S?c_ z%@b0Z&g$w8@ArBTyDTl`kj0F$vM~6M7dlC?pxhT1r&Dva=f%HO%suYUohv zf~kc>p&Xp_IqA6=*&=ZqGqJ~1t92X~CbolXkJ#C$(LOz(kW2H)qx+;%7OIro1nuv> zgIHqs=maSa_~@fMl#5x0w#sp{iPCDJswy|OH~8t#zv1Ss+c>^Q7)5kjZS3)st&JU2 z0hS(-PG?E!Hr1km2r~q}PrKXa;lq23r(GTyvw@V?Rvl+W1^kKa<-^BT3B%wPYT-_q?h+1$Cu-q9G8HlN%mpx~e>i8dpe)2Ysv1o3$Q zUx=m_n$x+d-1+QP#0x7}&V5hCg4gQVH;@fkdwg)xl#g2-yf9(4OR|FNhcsI~Oikj} z^=rI(on)o))aT&v2wl^7aPKzz`+FRpG&pXyDHpPQ|GOU%1UAi17sE(y>VrlA03N+b zL_t(x8YY#>64$o3=nba~M-##*qS@_Ck*iexNl2FZqdb>9Ktd$Q1#VqQ%`i>&RljZ@>O6mC7>xVT2omELF28!k#UlW|VgbkZ**iF5 zd3BYafBlpoHpu6T6w4)KNn(9{ozcW&@^+V6!9o_GND_|iq3Jmqtsd|9j*w-AUVp$~ zIK>ZRcHi$|nkK{&uII75vP3qe(P%WW%vHwI5H}biloX@UltF($rIcfJc^Na6A(bhS zPFa+SMLgfdo{o@WpKLlsw|&CD_!s{v%he?`Rj1J%^3@-nP$^k+S&J)iy6WFffz zxNc(>L}!h|6@SwIhz+P%4C?d6*_nuD_L#p2)(^r;7xW8frn+Z>nG2poOdMU*mS=bS zk`$25Mtu3%4)D%zQk#(habUdvq>bY933Cy1tH_fgjcT<`pB?9U@+)Y zDCGI%(L+v;4|(|THdflib^@Ng+9g#eVx-gDym=GHo-!E?2|S-+Z^Z6QW4W|cr9T+p z+hdmNMQ-1@&gRxKs;;1_GP!J;JGXC;HZ>G36g>j5@VG(5monOXhKnyA_h+N0%i}99 z*RU5a#HFjb4>VBo0*<*_l(SJ(bfyAb=*BNH)Ky(882Klc!(FqlZ#m=o>7{jS?wCl z02dL6Xra6i($!jcUJZ6Z9G#8H;tQ(DMc)%3iv&Z7lmv{dfN4l5{(x$wfMH0;l0UOy z7m4ijY@aXY_0ktJ;^eAC`arN=^#V1p(DS2zmIL(=!S;t z*km(l48tOm$zd5P*^G&znLK;(mi6@w9zFV)SR}yN)8i9l3GUv$MWZ_;lP~e)*^8tG ztuAqJe8TZ@1BsY7Z{Oj00i)g!NyKE*Y5XwYsBucluux@*=g(ho+UTJuI_*xEZ~pL% zcB_LV1P|`tWov5_$8k_pm2#n4cw=1X04~70(WOUyywFLXi5A4AP1<=jB_PIK>6+0zhf|T+1^|l+e@^qp3r;*JJ*-4Hf5q~61pO&*UD^d zZxV};D4soP;!E`H**tkcJ1wr(r&o9W7xsr|zv#K;;zFGpU&?Zey;QtVW}K^%L^MM` zMv1xE+@pWdLTC1M^M20f!73J9p~d;x2yuLl>zO~p7MI>ImmAH+rZ4$9^7lTv``EB7Sy7dQSyU+CITJKh zp+BAy$56~=A@sR<>j4{En|PjwV^8rtk4E#9VlhXhn5SCGBPkkdo0~|A!1sNctpSoG z5zR(Yqmh$rvP9yNH?cD)M)K z_xChTTjX+Su3x{7=QtFL8Me1qlZgpd~& zAyFKk*TGyG;9m^<#aw+lUpLQ@qtBKB@rUoC&W8FIwJTS&tMWhm{-=)-LVmxyPo+{} zJee>YO#p@7V94IV0lsbH*;8C6U~Er`i74jt1YyX^Y8_oyI5|2Xm$n#BTz>lZzvQIR zp=HcFzz9R!Gd z2fANAV0+yFJsGQt5>;w|fN=Z1d(S=hoB)+tg;KeO%jKfm?c($K@p}CO_7)m_vr8Zl zq*iZ{-Pjnj!~=lm9i(0LPn`Sa(ov%_RZk(L?TDMKvI(U`aMqpnovhh` zI`M*<7?D{vab0Y<>QkvlI+L*|4p9k#Bd|t2fzW0I zG(>*jBZ7y?p!T~n|lk~uUFBVu*@DFlwc3kQBWS~O4+h9gmE zm$@sxfBcmBXbhj%icrv; zETqz0TvbS<6NKl2WV360`sq(-H5#N7DO$}AiDVLw&x6o(Hn(oDp54G72ypN29X8k3 zsg#>+ZQmlj6sOU-;O+4N)mjrxGibM(6s|6*SL!@_@)VcQ2PO;_^m`_{u5s_)EljgJ zJRR+pG_7`*Uavo{ot&9*Cd=m@zuju36lP zsnIi_|MbC~FU)>N56^|z*|~wok@o64YxOnjK2ejHP!XY1Kze6^Y zA)mj*Fg(0Dd`&Fo<8OZX8Qwscjjdg3jV8%-axjc2<##5gc!IXbH~=7jk_ zXr#^>}GjYrJ@QN;o>tz5BbIot^UNn?JI= zvW(9k!0!uTX%=&l7%!h6QYn_n6>4~b2@H>yl}rXSo!75k)9ZI>G#j)V4K!0?nHJLO zp=%bFWul=^`68`lR`~V5{+89HWi%Z}R&{j3j)vv>Z0Oi~7mNWRwfnY1Pov8%+nS1c z0tkN0uW4gm`wq02ZnSK{ER`~e8GHyiP(T@10W)qyDW*g!uK!+nUg5~BDug)vO!U9| z{J|Hx;npuMOMLz9W4yi)%~qRgt-*XO!d%EpIOxag@eqoJIe2}@*;x+V7&tQ@ym~__ zmB#P$Q>@hZ{>eVll$49*0j*Fs`S^of456dDJVc{GKK$qd4i670jo=p%dD=g^84TaFE5_Ip;2vd=gu8E?G|4>d`PF$#n1(xfA%q8a_|0qN~IzJzlW8j zB$}}3o7OmTwBga|a~qTk1;U{SKA&qa1<{-nA>n|K>@0MllCA9)UK6-!I5`>wo#`O8 z$T0*Z7}cWoW8A4WIz|M9nyJOawn5AqS%R?SR6{q}15@irF*WL(@JiKzhNhGk8bXr_ zF=as4)5iP>O~Ir!rQw>?pQCzO&N>dXX>e{8f=!qr+S{$lcwW2tsM%N zJEYP}JbwHbDKz2>3w-zeBiy>dyQ3pMe6T%`s?qeJ;p~K&W0@w=NR*?a6XFXuZ9=uo zlt{2cJ1UA`%YZYwadl(Uo>@m?4~i6?A~W`5vgf2pQ~3qMz?Ryd<{SveP{4^DD{ovl z-S&i?W8kPru^bH;(#A6zP6wSv!eT^tw3TjJxz?gosS*eVh($s~B0-kZNldeg&+DO9 zYjAveh8UXFE-ft+3AVOsosAETwsvV5qTZl>F7zq{*@V^bxPR*hwk>AJ^K0 zboxuZZuYXadW}T&A$2?l@&{b^_<;~jnJ(jl#K*sfl*g?!?43v z2pi5k>uVqar`dL>^lrWSMYG+}Q>hfGWP`T04;t0FF!3*9j2_q*J>eVfNm zp7F=8zM)pH@$;X5P9mA${QQD?wZ_hk9o#M#tyYaxD$cjxKIW=ar`hduczl9snrNDf zTCK(2-uJj%1JBU&i&L7dI)PxAX0uJN-{<7yoLaTQg9q=^ladcV`jB3)&)47VQOM=^ zmxmcvtY~j{)I^8~3S7mzrF1i7) z-n^yV?z6IzVR?Cxlk+o7YoM!Sc6zj$uV^=0v|3GG9UhY}H7HjvDOD>Jie)Y@ikzKX z@%ZrpJ=0=)J4<3QMP@Zcqg99=Xd)(7R+ZQG#B9IocanFis%^-ClbjU9M>}ng*$0uaX&+!Hnb9dDLH* z$>hwkV1i`{Tjm_RFl#1V&Q^wqS+8k!kjpWFTG)D20b;B_ zF}g9tm{{(7?PBt>#z=~Kot^79YVeG?P>8-I=}W=mr!R;{!swbtC=?_W4D)Og=7LxFwCmvBY1U1Zm&SEZ?dtq zj3vS2)w#E`i`(s@-KtS8Rp>U`eD(DncXn^l?Y6nNIHg!D;_>)#`2&>870%Aial724 z(`i;$S2#Jp;PR@1Zn)@M7WGDhfH#OH^fA;k&SIK{+oiFxyf{?YlQwxoDIKM$(=0?z z2Z6m5kk??7!dCB&8Y)ewg92*?f+Xx*fN>DXKOYcK;WIHnLWHC46b>;nF=UsGFpx2H zBq!y9Q1|{BLV{8il@N+@^)O@V6P!;^mPH^G!Q1cC>vf1k=WuxpBJ)Yw?H*6}pVI3zxqEw?X01-Q(?J?tGTAi> zR|UG=E}GC-T~Bl4#t!>WpVMyFY1X0DY;b;jN;DRxTCGv7R5*C~f}QOh)>fCP)LLi~ zo;-R)C=g;U8s){y1Ck37idRKCJxMB+CcTivrMU)joR)>94WX&w8b`a+p;Ri8-MVQH zAe@blnEHNJmUOz^*�J2<8d9X%u&sv>f~ZG4sX{vj<<-z(C5VR?6YHM^2bej`t&#BmF>+9LcsuwsX;S02;K($ zuE6gPq8SEmub27QJk@dyQ$oF7B^V6SYPQ(f*}(0R1Nn1pkP$}un{Qqp(e6kxt1GsB zdS*;d7;`v

  • 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 VK;W<-Q||x(002ovPDHLkV1lx7D_sBp literal 0 HcmV?d00001 diff --git a/demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/sad.png b/demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/sad.png new file mode 100644 index 0000000000000000000000000000000000000000..dc244b163fc2b11eb075a4d3cf8b1d7498574158 GIT binary patch literal 13789 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 delta 15810 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 S!UKa4i-(schnf-p4gY@|bH#uF diff --git a/demo-forms/enketo_widgets/forms/app/enketo_widgets.xml b/demo-forms/enketo_widgets/forms/app/enketo_widgets.xml index 82a628307c4..23dbe089621 100644 --- a/demo-forms/enketo_widgets/forms/app/enketo_widgets.xml +++ b/demo-forms/enketo_widgets/forms/app/enketo_widgets.xml @@ -112,24 +112,15 @@ The decimal number you entered was - Annotate image widget - Audio widget - - Draw widget - File widget (any type) Image widget - - Signature widget - Video widget @@ -166,21 +157,57 @@ The hints explain how these widgets were created. Range widgets + + jr://images/a.png + + + jr://images/b.png + + + jr://images/c.png + + + jr://images/d.png + Fixed number of columns (2), and no buttons + + jr://images/a.png + + + jr://images/b.png + No buttons Table with image labels (alternative method) + + jr://images/happy.png + + + jr://images/sad.png + Brian + + jr://images/happy.png + + + jr://images/sad.png + Michael + + jr://images/happy.png + + + jr://images/sad.png + option a @@ -472,6 +499,24 @@ The hints explain how these widgets were created. Text widgets + + jr://images/a.png + + + jr://images/b.png + + + jr://images/a.png + + + jr://images/b.png + + + jr://images/c.png + + + jr://images/d.png + strongly disagree @@ -511,6 +556,12 @@ The hints explain how these widgets were created. United States + + jr://images/happy.png + + + jr://images/sad.png + Mexico @@ -542,16 +593,16 @@ The hints explain how these widgets were created. option d - jr://images/kingfisher.png kingfisher + jr://images/kingfisher.png - jr://images/pigeon.png pigeon + jr://images/pigeon.png - jr://images/nuthatch.png nuthatch + jr://images/nuthatch.png option 1 @@ -698,9 +749,6 @@ The hints explain how these widgets were created. - - - )}WObv2+bNcva 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 diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/c.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/c.png deleted file mode 100644 index 75e18524891ed0d5c0f07af56556676f741fc938..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15148 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%0DN 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 LtH{;Lm<0bHPNyQ8 diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/d.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/d.png deleted file mode 100644 index 18dd962fe1cfe66623216f2d0275d35f3bfcc29b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14175 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 diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/happy.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/happy.png deleted file mode 100644 index d6627407d2a2eebcd1d14be4d60edf6e89e789f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15330 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 diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/kingfisher.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/kingfisher.png deleted file mode 100644 index 7515204ca6222dcb36bf61a4c9d550dbf492afdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66723 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 diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/nuthatch.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/nuthatch.png deleted file mode 100644 index 02c027675d77cca2cecac9245e9398bcfe6a0431..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42081 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

    8zI+M)_DQUd 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 h?X$n_fxpon_Af5mK diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/pigeon.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/pigeon.png deleted file mode 100644 index 462e78f53e4dcc4e569fdcece8e35d547b88bb87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28177 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ⅅ4oV{Ovezo!+%JsVW_x)sRbi9=z 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 Date: Fri, 24 Sep 2021 14:57:36 -0500 Subject: [PATCH 070/179] Add dynamic-url widget --- .../forms/app/enketo_widgets.xlsx | Bin 18999 -> 18976 bytes .../forms/app/enketo_widgets.xml | 107 ++++++++---------- webapp/src/js/enketo/widgets.js | 7 +- webapp/src/js/enketo/widgets/dynamic-url.js | 23 ++++ .../js/enketo/widgets/dynamic-url.spec.ts | 52 +++++++++ 5 files changed, 128 insertions(+), 61 deletions(-) create mode 100644 webapp/src/js/enketo/widgets/dynamic-url.js create mode 100644 webapp/tests/karma/js/enketo/widgets/dynamic-url.spec.ts diff --git a/demo-forms/enketo_widgets/forms/app/enketo_widgets.xlsx b/demo-forms/enketo_widgets/forms/app/enketo_widgets.xlsx index 6a59a57368387095bd69bb9eafa5cb1b8ccd848c..4c2106995d0183fbb354125b9154b5007372bd49 100644 GIT binary patch delta 11256 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 delta 11264 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

  • 8zI+M)_DQUd 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 h?X$n_fxpon_Af5mK literal 0 HcmV?d00001 diff --git a/demo-forms/enketo_widgets/forms/app/widgets-media/images/pigeon.png b/demo-forms/enketo_widgets/forms/app/widgets-media/images/pigeon.png new file mode 100644 index 0000000000000000000000000000000000000000..462e78f53e4dcc4e569fdcece8e35d547b88bb87 GIT binary patch literal 28177 zcmV)AK*Ya^P)1^@s6-LSf_0009eX+uL$Nkc;* zP;zf(X>4Tx0C)j~lubw!VHn5%vyB9?2GN%Y#n8bdR3-~j0@L*?Q?_N*ObKG0eRrK4 zXQ!FnEkz=P=$LhkE>=W`h)&_5L#H}K1etY-prb_)1zsYy|2vbrV^qE{GrxJB|NDHs z!vIx}QjTLqG+@fkyUE^|c6xM7+x!|;s74fADZ_I*5{Utysg=+5YxOM@X<2HNvDW)G ze5-bu5KuHKcVq)TEO|WO3B0oEDw|RJBu+ zGaQ$3B0I<}MI$R?J|OFM+O)~CZ>m^~%c}YWBk^(HLv`P%3?|12*3PeqJw?e%vmVe%@gY*74Lb z3U1NYvM}W(5Y!v&X8hzD{fmR1d{qmuz&Va=0s5~1H$MXV9|GGS1Bq&2s1=dRY&W>_ z;v(k)bmp9C*UV1jwPsyEqIK|Sh1O>qO$}PgvNYf2X|C{uTNLRgOj!la*l4~Q(c@Tn%LH-wCL(4H<0gV%$`1SJ+Jo}w`VwD<$#&*8wxmb%C_P> z7paNV*yHh&WX4xiCm)mZkUZxV2W3p(elB$)L9V4eIhpI1nqA!6J~J`IGm@-WGZUTh z-~7fcBxT-x)ZBF}|C?uRk!Ki%1pyN_?>00f(Tf-w;lM=>8G1}AOj@O1&}zcNd~MmI$sFQpd^Oai2xV%-IOEB# zW%ot0#W&&STg&#Z=~4T9_DM}8*Rr~JW-0o7He3yB|Ff%L(z2`YtQ(oz5bAOJ~3 zK~#7F?7e4jGEWmHs@ z>#FLmn&zvDj2G|Sci%PV9)HeF=`W7I7=iaW0xkdIU;SUtZLDuRzmfR2arIhS68~D0 zf3GOCapk2e$|UM4M+VOo_g$&wqnEmJNEO6f%Q%G zt-02l8H8qCzR|~Dt)Z7q zUw&;&+w_r-`bCB{@KJ4e?+M_^unxe|1pV9ym^7dBX7$}}fUwVJ$n6Soa$bL6oy|S*XJimOeSy(Xov-TE2|Y5H6<^un93yi9{PWb_*E*}eKM zHg8Hxt=eP3gjlJROrJBF{%APkbSAX>bBU@MR%#Gd2q@ydlm_NNKJ;~D5 zcadLLTX8islihE`V0q2pHp^KD-&d<^v-C&j?4ALht4+x!&|IxVZStGk&H=$X^7AIe zvP+a{`3nHLYLrZqa7NGbRVcR34%tSIOTTNE-{;q6{Z`mWE^_Ae%IlJ&d@@^FThjV^6(+wx6@|3E zwwBt^d9JTAwd-qg|9n%vz{LAc<{FBYGkqKDT<3m%w6JQctYJr&b76li?+H84*;ShXq|Yig+YcKpm%zcuCW z1}-i^@a2r~2Eft^V8m?(q^+$a7^ZSNPp`M8LLmdFfOvXcU0Y9U09yh`HrChq0$BJ6 zT5H@}=i27G8hc}V@;2q)jb%RA-#0oP&02e-&o=8({j=8qo@S4J5Z5*_PBxkTb_nX5 z4Mt(&3u}Ceh16PXO-qZ*X?AWVEiTTbYGoznx_~00ySqD;+RLfj(UrP7yHjOjHLXc{ z)E1| zb7ugW1psIf7z3+NMYXyL)ml&OprV#k0B^K#-kEmZcV8MD8c9{i*4kX%=UZxLXe=~ggB3#8`Q(F18}ath2+NNq*RMV@m`ty}Hj&1*ZcDrO?oGuK-3QnIy+Litvv}#tpHGaM<;c(ref=QI&tD?sv;@u+qV~NR8Fg4ANe4e>C8BbD09X<>NuF!#*3{A62}4|fG!@}()&hu5oj8%IODpNgr=JR*2P%f72KM5}qzXD4ywB}gB%A$g z9LMaXx9}d@URS-Rj$VxCW!G;2dYF*Sk-zNWOOznL+7x*5n|IT9i;OLzcx!7B9_L&- zKR%w8mzUBi64c7dVp^D8N`sx9FvFGf`Mq7~vllL;|2)@{4)rgk_O3y?vO&3J?%ON* zoz-;o_>t7s-j*JH{4p*;3K_K+bjm8mHyvsRSKjCr2dDA*#^1MC{T+F{k%Zq7;K{Jb zY(T>@Albyew)y?{ zW3$J(u4(hiJ#yBtXmT2H7q@X$fSYr!rE5ILtX>g5eg@1bewKu768gho%???bV zGV3k=&Q`)DlpRdG_ikat1fIsvEmZe`J*s*{{aCJ0y=lyIQeKb_`gCsJEy7XYKUy_!~349-_lxu-w9d*4_(1W?VFOR2BW zm3q53Qb$)eoO1!v1?Ev&qY>+9qT7(jrf25T!9xdA|3Gi>L(r@sVe3j-VxVa0<^9t zRnmBx4c_HF$N(m;8FzvW+TiUvHE9GkqlJDVT@8ih3RBNz5vu?!bIB4zNHP!)8AQwF`i1Z6BpCY(XC*WlWB2zJ{2)ZB$Ud1<^I$@+y+pTz%-pG z4i^!_5z|YhV3s9AT>#4b{Ct{SSPAqi6JA78+d%Vt;N5rA=*UQ17wZIiRug^I(f%+- z=)-wuJvPl-aMuA(5&kAu?75Cbl`Vz#G&M7wUV7ohbPgTO#KbvF5woeke<1aZ45r?` zfwYXSWI0l?-_G`6KP zXHKI?Tu6O=eIc%|g$X0WCLcKns$rZQP?~+;b-+^v>y*GcYw#l~?>Znov$NCbr$6~& zdh7Mq(<5+Ua15lO9Du6eS zCVCBW)sxgAQ7G{7-0X5XdhBR=?6Hr7=?c7G3I?L)*^l%=|6>Fi0P3y-o{Us6RU56T z9c-Za;qS!0xwcwa$6Q=6O2tdduBYXqaYmIx+UGWXKw(_hJjIv%2??3>f89H^k8{g=jxaz5F3T)JN?Z=ai$YkcmiziZ=~k1y3_M}FO3`FYH3 z)|YIa>&|PB;1IZ3?$Om_#OJLF1CRDz+N zo1PEM<;zc=JejtQj)ieGo>9BVlT^uZX=?m&_a9EUt@K*}y1^DVisexSb5jrGcOUT3 zJNX z85|r4eU1`TS63N6s+2n6ji%=pz%1=)=KO5<^hhGtz%Y6gUYNKL0M^yj5r`(%F36|e zZMAL;@9NVG;6*$#6E{vC^XKY2*9d@j9q>pYS|Kx)CA7t*-t@>L&%)R)Vm+TutuVBp zB(%yaX|}qYo_^}-^ww)@>CHD@4boI9b*8ObhB20|h8d!}vj-hdd$?VQf#&As(&S_X zca3)RhAl{P^lZ6)b~fB`InFJAM4A=hDd5{mf@u>L2XEN=~InTD!OHK&jXT z<1Cqhujxd3>nfr9L2Lt?2|#@)601w_O8`;{4Rl%MA^EwiW-(`INLACU6sIWf`Fb!xcg-+;XbrjRfG1nsQs*my=F&B8 zJAvA*7M2!VV(BxV`5bN(j>7IO2T=>{fzuzYJhJ7B6v=Vd^I%9i;y%G zjw&X#(u+m)71IA_RV>I6Jb>7jo4HjvZrlxj0`rTBFaO+d(;A+OdT!w1yAF8rHs{zT zzL_+g*)v@dCHU=m1;)AnHmIV+8QnUT9)J9)a63JQv^2XgpGIM*%V3@D+qZ(T*8&qQ z&kHo`X$Tuu3FbMXD{zu8z+?+dGR{kQBrbx9-g)O833N<~%(6yQ+miv$T}Gzzf%^cz z??T`aF#KE{^N5$!{#s7|9>Zo97gw-~-# zZK=Ib!XXS19YA^e-S^Vj^XCJImf&xev3ZHbpnr(=Xq!)-2*)!eIf0dR9qr1PNn7#J zK5D>IV}fIyWz4WH86kn>*W?)E^Zo|xGUnS?$dK24T3yk+BL7^{Jlix5*Len183qc6 zcXUCmGSe78t1!W(Vn=%Tp+^H#RMu9)ywORxO%aj2r@tqi2T%&_`1foZ31{rsJ2NG5&dVUr$Uq$+ZZDThL8HgK~09twt11m_IV!W518yb z0$vWJ>hH@wUTgU9_ADxvwqfeI^ttT0te$#u7aj3WlX90`qeu;SEdmYVyPUqtTlXs7MJHzrFAhK#Jtgce}AfWPo(L&b0I-#L4WAM{g^0v0g_BF z)CQpGWoX>j3fB1}M-Rb2;mHV~WEdyYDe?BEV8Qw89FpP0to_eh#V~vTC+U8o_6mWN{i@+)>gXHlMn4lW9WATh`E{h z)YaaJw_$f$L)x0hk!%TOx~){ep{yf~pC2dMv@?8+q*(%~CXEbaHye?!UaxrmQ8<1k zfXBtIEz6GpF*ddn@f&*;jBhHXG%+)k7G}`jbc`h2zS8*N9g-a{nbtoqA27trQ z708uQ5QBZ)X=a5KESy)TD(S(;_opt(96EF!e`frfw~waPg-SYyGO&$!uQ?dyJ~Yc} zq!$SWTtnX@P<2AiPM$u4jvDnN#?;EnJZ*$=re38lIB#mr8c+|+wx{v8*F5s;S)a3O zH~QCSe49P52huC+vRqBtsIUCeKyF^lYTW#N)idAC1o>_cdw$DDbc9;!zi*_{d=Rfy zHXAI4s|FzTW#eAxf3lmBEz5Ou;NS(HqV1}>29L5x+!tLvaO^_r?rTqz7cRmFEu`s1 zl!vEC&n7f)sdA6Eal{*xKH%@)q}S5J;AgWHhjU=XuV;Osn5D*Q<++Ek-Lm*7{FlqyS@B3AHX z#+-5b1f~dH_3*Ym_@Z{Fi}*4ZN+f;4Rb!sqKI@3#{qQ<^F)FoncMx5{c^PxZ*p974 zRvbxZV6aWL5E2)S7t<+;(VHu~%$P**B--C#UK_N)p~dG~7GPQTIQ7Ov)m_R@^NI62 zACvsv4ShGXAvDuB^dN=ucJb|T72t_`H}uD98b3GmpwC4cvWDE~GuJAoge3E-aZ@o} zmkl9$WqBmT|ji#q`kL-}gp^;xvcxn3(q>KJwq_k_(u<-G*kjBwzZ}shYzN=-*^+ugIx_w7dVAg z5DsjyjNab>2IkC365sLr{Z)0xo(gPO!#=*`X9{?9+Yo@3@#CrBj}vPQN>T{U0}3t zee0WChs;6ROyMgj6_}c0o|~M?o5v(K`GVV6{AUVyq=N?UEimaie+fNHkf8;D#xQ2B z_={6yOPyQ7YSEI0yZiKZP3>Ti9)O|%Af1>VPqV9wscW>Kj2md35!s7n)3>Zea?CEW zj7?08r{|ylbCi)-+WGiiVCj~QddyRQeoK|!=7;lkL#bjMCF}{p`ovhOniR7{@a1cp*I`I z&Aa)%#_N{IAzkv|e^+`8FW=c<=k;t5*FITu9fbj=k4A~Eka{l2O9kH_NLZ;2BPYPK zvbd3o8~8U9!rar|o7Q2f+m->Kj=t1OxN+A;JJJ~d2*wh%l<^I+Edv9C5nJ}&fdkCPICL3hk!AbRX$+nO%lXu(4ULaSy!{+lc`yf^9ayI&EY`Z3BSTNeHzH5N!~Syw3G1 zq)CiWlDwf&t{{P}K>8#{Wq6@>_$L*GisfzaKO0(VdB;V9179aRsWViiED;BFztX@ktPQclMTHPt41lCNpu zx_ei&6W>(;6PXxlhM4y?uuTsl{@~DHB#jyw9)@&vqA!|CufFnX`1%BIMq9#J-f#Z- zmsez;{QQQ2toD3fPki6-!*{%308h>YUGbg2p24;Mw|clZH<`R_((`vl-a`speqXHO zyR+|X67p-#wS&t6A5z6$b#d}6KmhN8J81>;M1mS2b|FMTq6+H(iVQM<0}#30lD}Kk z)8GRXmBNzNkz7Xo0L5^XQ%z z$ZNP>Og+TT_mi5X8|Hb}uKTfrb*0_A?n7!@NN>LRDx?yHBaZWuGov|f$AY^CXnp9n z6cO&pLut#2(i&bsYMQxd^6s_3I)Dr$jjn-J*7Ym|a8%}r)i8+jy$b#SI3!(Mx2zI0 zrL%R-^&;CWp;RUp5F4PtbepGV9dARWur{zx7rxFNm^;RCEZe>N{`Ah9Z<3VZ!3fVW zEJ$;OS;~0X4UO-;$TQu$m`8qx2{+_ejAQz_H9~I+U?MxU0np^UjY+%1X;hNL#1_Cr z1@u3yFw|n40{l+9ypfU_<_qu^ybdC}+b%%@TfkzNwP3`-a;>WvUE9EF8|jgU_NT`H zn6WJ*JlB%mefyojI;&tE_xO_J{wyE&EautJr$#`*-ZaA|ZB@i;r7N+B46wSJaCHE} z;CNyVoyr2gHJBEiSpEY8fua0io_W9mrWs%ZyOh8{GTlqWewiqt6H|q_X#}2UaCj7k znGN7@l<(^9O_Hy--Z_BjVge=N0B#{!s@|V@;JG1`$zVJ9R~(>a$3Ld04n;>6jp543CdHj94F<+=7GSj?SSsfh7qaKd+qj)vUR6i~b-(7Rm<~ncB zO<|sx+H98N`5a*K@4V8>%27Uk=QnTDw*&0tPft$3?@ULCu(PB=RKU^x5;hosM(kp; zN!ux=+7PqwtzuErh5VDExqi=C85DtBn}G?R2CIz`$?mbD! zWz1pSi?Ul$s^Q7^|1(xK7-Sx2_4S%L!pUuKr%PZVw%bzqL%TLo2{I)wBts164D$lk z!Y^4xU31CTs(siT%0+5 z9E&I;5cz2Y9Dd)4LoDG$R$1-(;+V0$4Il^}2YbA3$qoPjAOJ~3K~#g}NeM`v1~Dpp za@smdsbnr5WN-nk1OP2#2(5xe%zz<)2mpNpeQDpGy{QM~pcn>U4(bDG0X(MowM#mG zt%C6aaKLO{6Z@2T2X94Lxt`9QQE4fVXFk!6ⅅ4oV{Ovezo!+%JsVW_x)sRbi9=z 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 Date: Thu, 16 Sep 2021 16:34:25 -0500 Subject: [PATCH 058/179] Update readme doc --- DEVELOPMENT.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 3a56c567649..e723a270f3f 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -180,13 +180,16 @@ Follow the steps below to use an Android device with a development build of your 1. Assuming your IP is `192.168.0.3`, start `nginx-local-ip` to connect to: * The CHT API running via `grunt` or `horti`, execute `APP_URL=http://192.168.0.3:5988 docker-compose up` and then access it at [https://192-168-0-3.my.local-ip.co/](https://192-168-0-3.my.local-ip.co/) * The CHT API running via `docker`, the ports are remapped, so execute `HTTP=8080 HTTPS=8443 APP_URL=https://192.168.0.3 docker-compose up` and then access it at [https://192-168-0-3.my.local-ip.co:8443/](https://192-168-0-3.my.local-ip.co:8443/) -1. The HTTP/HTTPS ports (`80`/`443`) and your local webapp port (e.g. `5988`) need to be accessible from the LAN and not blocked by your firewall. If you are using the UFW firewall (in a Linux environment) you can allow traffic on these ports _just from your local LAN_ with the following commands: +1. The HTTP/HTTPS ports (`80`/`443`) need to accept traffic from the IP address of your host machine and your local webapp port (e.g. `5988`) needs to accept traffic from the IP address of the `nginx-local-ip` container (on the Docker network). If you are using the UFW firewall (in a Linux environment) you can allow traffic on these ports with the following commands: + +> Since local IP addresses can change over time, ranges are used in these rules so that the firewall configuration does not have to be updated each time a new address is assigned. ```.sh -$ sudo ufw allow proto tcp from 192.168.0.0/24 to any port 80,443,5988 -$ sudo ufw allow proto tcp from any to 192.168.0.0/24 port 80,443,5988 +$ sudo ufw allow proto tcp from 192.168.0.0/16 to any port 80,443 +$ sudo ufw allow proto tcp from 172.16.0.0/16 to any port 5988 ``` + ### Remote Proxies `ngrok` and `pagekite` are remote proxies that route local traffic between your client and the CHT via a remote SSL terminator. While easy and handy, they introduce latency and are sometimes throttled. From 1d619ce82ec453513f4159840107202be85801d5 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 17 Sep 2021 11:21:37 -0500 Subject: [PATCH 059/179] Dedupe webapp --- webapp/package-lock.json | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/webapp/package-lock.json b/webapp/package-lock.json index 3e06379986b..69599a25ed0 100644 --- a/webapp/package-lock.json +++ b/webapp/package-lock.json @@ -165,13 +165,6 @@ "node-forge": "^0.10.0", "openrosa-xpath-evaluator": "^2.0.7", "signature_pad": "2.3.x" - }, - "dependencies": { - "openrosa-xpath-evaluator": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/openrosa-xpath-evaluator/-/openrosa-xpath-evaluator-2.0.7.tgz", - "integrity": "sha512-Z8qmfjEoPHTMtxHILSdgL0KACruh5G/jLO7KjKN9pZd2Any7eFqrQpvFecr68/ZE/Qy1ydbrYhBGg+i27h0OGw==" - } } }, "eurodigit": { @@ -204,6 +197,11 @@ "resolved": "https://registry.npmjs.org/html5sortable/-/html5sortable-0.13.3.tgz", "integrity": "sha512-rmglSaNttGo4LY33PFW51mgeD1ItvHyfS9cRCD+Cj9Msj/xFaG/sZjLGVtPbtxYJmhY/c8jtw6G07yWhC2ifEw==" }, + "immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" + }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -368,11 +366,6 @@ "vuvuzela": "1.0.3" }, "dependencies": { - "immediate": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" - }, "uuid": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.1.0.tgz", From 9c75516bebc9091fa2be02c5237a376a53653b1e Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 17 Sep 2021 11:31:27 -0500 Subject: [PATCH 060/179] Try building without extra widgets --- package.json | 2 +- webapp/src/js/enketo/widgets.js | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 66238ca6b12..40ca943721a 100755 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "bundlesize": [ { "path": "./build/ddocs/medic/_attachments/main.js", - "maxSize": "950 kB" + "maxSize": "800 kB" }, { "path": "./build/ddocs/medic/_attachments/polyfills-es5.js", diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index deba1945cd9..27315b82d25 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -9,19 +9,19 @@ require( 'enketo-core/src/widget/date/datepicker-extended' ).default, require( 'enketo-core/src/widget/datetime/datetimepicker-extended' ).default, require( 'enketo-core/src/widget/note/notewidget' ).default, - require( 'enketo-core/src/widget/select-media/select-media' ).default, - require( 'enketo-core/src/widget/range/range-widget' ).default, - require( 'enketo-core/src/widget/rank/rank-widget' ).default, - require( 'enketo-core/src/widget/url/url-widget' ).default, - require( 'enketo-core/src/widget/text-max/text-max' ).default, - require( 'enketo-core/src/widget/rating/rating' ).default, - require( 'enketo-core/src/widget/thousands-sep/thousands-sep' ).default, - require( 'enketo-core/src/widget/draw/draw-widget' ).default, - require( 'enketo-core/src/widget/select-likert/likertitem' ).default, - require( 'enketo-core/src/widget/select-desktop/selectpicker' ).default, - require( 'enketo-core/src/widget/select-mobile/selectpicker' ).default, - require( 'enketo-core/src/widget/analog-scale/analog-scalepicker' ).default, - require( 'enketo-core/src/widget/textarea/textarea' ).default, + // require( 'enketo-core/src/widget/select-media/select-media' ).default, + // require( 'enketo-core/src/widget/range/range-widget' ).default, + // require( 'enketo-core/src/widget/rank/rank-widget' ).default, + // require( 'enketo-core/src/widget/url/url-widget' ).default, + // require( 'enketo-core/src/widget/text-max/text-max' ).default, + // require( 'enketo-core/src/widget/rating/rating' ).default, + // require( 'enketo-core/src/widget/thousands-sep/thousands-sep' ).default, + // require( 'enketo-core/src/widget/draw/draw-widget' ).default, + // require( 'enketo-core/src/widget/select-likert/likertitem' ).default, + // require( 'enketo-core/src/widget/select-desktop/selectpicker' ).default, + // require( 'enketo-core/src/widget/select-mobile/selectpicker' ).default, + // require( 'enketo-core/src/widget/analog-scale/analog-scalepicker' ).default, + // require( 'enketo-core/src/widget/textarea/textarea' ).default, require( './widgets/countdown-widget' ), require( './widgets/db-object-widget' ), require( './widgets/phone-widget' ), From c559bdbc6a24f7ff1ffab8d524a8e4306a06c2cf Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 17 Sep 2021 14:25:34 -0500 Subject: [PATCH 061/179] Drop the CSS too --- webapp/src/css/enketo/_widgets.scss | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/webapp/src/css/enketo/_widgets.scss b/webapp/src/css/enketo/_widgets.scss index d9f5f99613b..7ba5cf49192 100644 --- a/webapp/src/css/enketo/_widgets.scss +++ b/webapp/src/css/enketo/_widgets.scss @@ -7,15 +7,15 @@ @import "../../../node_modules/enketo-core/src/widget/datetime/datetimepicker-extended.scss"; @import "../../../node_modules/enketo-core/src/widget/file/filepicker.scss"; @import "../../../node_modules/enketo-core/src/widget/columns/columns.scss"; -@import "../../../node_modules/enketo-core/src/widget/select-media/select-media.scss"; -@import "../../../node_modules/enketo-core/src/widget/range/range-widget.scss"; -@import "../../../node_modules/enketo-core/src/widget/rank/rank-widget.scss"; -@import "../../../node_modules/enketo-core/src/widget/url/url-widget.scss"; -@import "../../../node_modules/enketo-core/src/widget/rating/rating.scss"; -@import "../../../node_modules/enketo-core/src/widget/thousands-sep/thousands-sep.scss"; -@import "../../../node_modules/enketo-core/src/widget/draw/draw-widget.scss"; -@import "../../../node_modules/enketo-core/src/widget/select-likert/likertitem.scss"; -@import "../../../node_modules/enketo-core/src/widget/select-desktop/selectpicker.scss"; -@import "../../../node_modules/enketo-core/src/widget/select-mobile/selectpicker.scss"; -@import "../../../node_modules/enketo-core/src/widget/analog-scale/analog-scalepicker.scss"; -@import "../../../node_modules/enketo-core/src/widget/textarea/textarea.scss"; +//@import "../../../node_modules/enketo-core/src/widget/select-media/select-media.scss"; +//@import "../../../node_modules/enketo-core/src/widget/range/range-widget.scss"; +//@import "../../../node_modules/enketo-core/src/widget/rank/rank-widget.scss"; +//@import "../../../node_modules/enketo-core/src/widget/url/url-widget.scss"; +//@import "../../../node_modules/enketo-core/src/widget/rating/rating.scss"; +//@import "../../../node_modules/enketo-core/src/widget/thousands-sep/thousands-sep.scss"; +//@import "../../../node_modules/enketo-core/src/widget/draw/draw-widget.scss"; +//@import "../../../node_modules/enketo-core/src/widget/select-likert/likertitem.scss"; +//@import "../../../node_modules/enketo-core/src/widget/select-desktop/selectpicker.scss"; +//@import "../../../node_modules/enketo-core/src/widget/select-mobile/selectpicker.scss"; +//@import "../../../node_modules/enketo-core/src/widget/analog-scale/analog-scalepicker.scss"; +//@import "../../../node_modules/enketo-core/src/widget/textarea/textarea.scss"; From 6e3fbc4b4611e71391398ac4aeb80d161464f1f9 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 17 Sep 2021 16:27:59 -0500 Subject: [PATCH 062/179] dedupe the webapp dependencies --- webapp/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/webapp/package-lock.json b/webapp/package-lock.json index 69599a25ed0..94ffc3348f1 100644 --- a/webapp/package-lock.json +++ b/webapp/package-lock.json @@ -159,7 +159,7 @@ "jquery": "^3.6.0", "jquery-touchswipe": "^1.6.19", "leaflet": "^1.7.1", - "leaflet-draw": "github:enketo/Leaflet.draw#ff73078", + "leaflet-draw": "leaflet-draw@github:enketo/Leaflet.draw#ff73078", "leaflet.gridlayer.googlemutant": "^0.13.4", "mergexml": "1.2.1", "node-forge": "^0.10.0", @@ -228,8 +228,8 @@ "integrity": "sha512-/xwPEBidtg69Q3HlqPdU3DnrXQOvQU/CCHA1tcDQVzOwm91YMYaILjNp7L4Eaw5Z4sOYdbBz6koWyibppd8Zqw==" }, "leaflet-draw": { - "version": "github:enketo/Leaflet.draw#ff730785db7fcccbf2485ffcf4dffe1238a7c617", - "from": "github:enketo/Leaflet.draw#ff73078" + "version": "github:enketo/Leaflet.draw#ff73078", + "from": "leaflet-draw@github:enketo/Leaflet.draw#ff73078" }, "leaflet.gridlayer.googlemutant": { "version": "0.13.4", From 6b2762754e5bb5de6030d4e44faa4a74635ad1f5 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 17 Sep 2021 16:28:34 -0500 Subject: [PATCH 063/179] Add alias to exclude node-forge from bundle --- webapp/custom-webpack.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/webapp/custom-webpack.config.js b/webapp/custom-webpack.config.js index 8be3b789df0..440e40a4387 100644 --- a/webapp/custom-webpack.config.js +++ b/webapp/custom-webpack.config.js @@ -29,6 +29,7 @@ module.exports = { // the builder throws an error if the paths are not resolved '../../../build/images/layers.png': 'src/img/layers.png', '../../../build/images/layers-2x.png': 'src/img/layers.png', + 'node-forge': '', } }, plugins: [ From 1921b973da81c9d6433d41dd663c2f26ee2d8cc2 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Fri, 17 Sep 2021 16:41:42 -0500 Subject: [PATCH 064/179] Bump the bundle size back up to 820 just to get a build --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 40ca943721a..348edbe9fe8 100755 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "bundlesize": [ { "path": "./build/ddocs/medic/_attachments/main.js", - "maxSize": "800 kB" + "maxSize": "820 kB" }, { "path": "./build/ddocs/medic/_attachments/polyfills-es5.js", From 7b6c7ebf49da70be4bb72659df866a27458441b0 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 20 Sep 2021 13:59:14 -0500 Subject: [PATCH 065/179] Bump the bundleSize to 825 kB and add widgets back in except draw/rank --- package.json | 2 +- webapp/custom-webpack.config.js | 3 +++ webapp/src/css/enketo/_widgets.scss | 22 ++++++++++------------ webapp/src/js/enketo/widgets.js | 24 +++++++++++------------- 4 files changed, 25 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 348edbe9fe8..7a14e32f2a2 100755 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "bundlesize": [ { "path": "./build/ddocs/medic/_attachments/main.js", - "maxSize": "820 kB" + "maxSize": "825 kB" }, { "path": "./build/ddocs/medic/_attachments/polyfills-es5.js", diff --git a/webapp/custom-webpack.config.js b/webapp/custom-webpack.config.js index 440e40a4387..3ec5690595d 100644 --- a/webapp/custom-webpack.config.js +++ b/webapp/custom-webpack.config.js @@ -29,6 +29,9 @@ module.exports = { // the builder throws an error if the paths are not resolved '../../../build/images/layers.png': 'src/img/layers.png', '../../../build/images/layers-2x.png': 'src/img/layers.png', + // Exclude the node-forge dependency from the bundle. This breaks the `digest` xForm function from + // openrosa-xpath-evaluator, but keeping it in adds 72.51KB to the bundle size. + // https://github.com/medic/cht-core/issues/7324 'node-forge': '', } }, diff --git a/webapp/src/css/enketo/_widgets.scss b/webapp/src/css/enketo/_widgets.scss index 7ba5cf49192..f8fe688fc11 100644 --- a/webapp/src/css/enketo/_widgets.scss +++ b/webapp/src/css/enketo/_widgets.scss @@ -7,15 +7,13 @@ @import "../../../node_modules/enketo-core/src/widget/datetime/datetimepicker-extended.scss"; @import "../../../node_modules/enketo-core/src/widget/file/filepicker.scss"; @import "../../../node_modules/enketo-core/src/widget/columns/columns.scss"; -//@import "../../../node_modules/enketo-core/src/widget/select-media/select-media.scss"; -//@import "../../../node_modules/enketo-core/src/widget/range/range-widget.scss"; -//@import "../../../node_modules/enketo-core/src/widget/rank/rank-widget.scss"; -//@import "../../../node_modules/enketo-core/src/widget/url/url-widget.scss"; -//@import "../../../node_modules/enketo-core/src/widget/rating/rating.scss"; -//@import "../../../node_modules/enketo-core/src/widget/thousands-sep/thousands-sep.scss"; -//@import "../../../node_modules/enketo-core/src/widget/draw/draw-widget.scss"; -//@import "../../../node_modules/enketo-core/src/widget/select-likert/likertitem.scss"; -//@import "../../../node_modules/enketo-core/src/widget/select-desktop/selectpicker.scss"; -//@import "../../../node_modules/enketo-core/src/widget/select-mobile/selectpicker.scss"; -//@import "../../../node_modules/enketo-core/src/widget/analog-scale/analog-scalepicker.scss"; -//@import "../../../node_modules/enketo-core/src/widget/textarea/textarea.scss"; +@import "../../../node_modules/enketo-core/src/widget/select-media/select-media.scss"; +@import "../../../node_modules/enketo-core/src/widget/range/range-widget.scss"; +@import "../../../node_modules/enketo-core/src/widget/url/url-widget.scss"; +@import "../../../node_modules/enketo-core/src/widget/rating/rating.scss"; +@import "../../../node_modules/enketo-core/src/widget/thousands-sep/thousands-sep.scss"; +@import "../../../node_modules/enketo-core/src/widget/select-likert/likertitem.scss"; +@import "../../../node_modules/enketo-core/src/widget/select-desktop/selectpicker.scss"; +@import "../../../node_modules/enketo-core/src/widget/select-mobile/selectpicker.scss"; +@import "../../../node_modules/enketo-core/src/widget/analog-scale/analog-scalepicker.scss"; +@import "../../../node_modules/enketo-core/src/widget/textarea/textarea.scss"; diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index 27315b82d25..1c9f9832486 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -9,19 +9,17 @@ require( 'enketo-core/src/widget/date/datepicker-extended' ).default, require( 'enketo-core/src/widget/datetime/datetimepicker-extended' ).default, require( 'enketo-core/src/widget/note/notewidget' ).default, - // require( 'enketo-core/src/widget/select-media/select-media' ).default, - // require( 'enketo-core/src/widget/range/range-widget' ).default, - // require( 'enketo-core/src/widget/rank/rank-widget' ).default, - // require( 'enketo-core/src/widget/url/url-widget' ).default, - // require( 'enketo-core/src/widget/text-max/text-max' ).default, - // require( 'enketo-core/src/widget/rating/rating' ).default, - // require( 'enketo-core/src/widget/thousands-sep/thousands-sep' ).default, - // require( 'enketo-core/src/widget/draw/draw-widget' ).default, - // require( 'enketo-core/src/widget/select-likert/likertitem' ).default, - // require( 'enketo-core/src/widget/select-desktop/selectpicker' ).default, - // require( 'enketo-core/src/widget/select-mobile/selectpicker' ).default, - // require( 'enketo-core/src/widget/analog-scale/analog-scalepicker' ).default, - // require( 'enketo-core/src/widget/textarea/textarea' ).default, + require( 'enketo-core/src/widget/select-media/select-media' ).default, + require( 'enketo-core/src/widget/range/range-widget' ).default, + require( 'enketo-core/src/widget/url/url-widget' ).default, + require( 'enketo-core/src/widget/text-max/text-max' ).default, + require( 'enketo-core/src/widget/rating/rating' ).default, + require( 'enketo-core/src/widget/thousands-sep/thousands-sep' ).default, + require( 'enketo-core/src/widget/select-likert/likertitem' ).default, + require( 'enketo-core/src/widget/select-desktop/selectpicker' ).default, + require( 'enketo-core/src/widget/select-mobile/selectpicker' ).default, + require( 'enketo-core/src/widget/analog-scale/analog-scalepicker' ).default, + require( 'enketo-core/src/widget/textarea/textarea' ).default, require( './widgets/countdown-widget' ), require( './widgets/db-object-widget' ), require( './widgets/phone-widget' ), From 9f68e296b8437bf1b8a6b3f7293a399851360ed7 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Mon, 20 Sep 2021 14:21:51 -0500 Subject: [PATCH 066/179] Reset non-english translation files --- .../translations/messages-bm.properties | 26 +------------------ .../translations/messages-es.properties | 26 +------------------ .../translations/messages-fr.properties | 26 +------------------ .../translations/messages-hi.properties | 26 +------------------ .../translations/messages-id.properties | 26 +------------------ .../translations/messages-ne.properties | 26 +------------------ .../translations/messages-sw.properties | 26 +------------------ 7 files changed, 7 insertions(+), 175 deletions(-) diff --git a/ddocs/medic/_attachments/translations/messages-bm.properties b/ddocs/medic/_attachments/translations/messages-bm.properties index cda0521faff..c1d001d7a7a 100644 --- a/ddocs/medic/_attachments/translations/messages-bm.properties +++ b/ddocs/medic/_attachments/translations/messages-bm.properties @@ -618,30 +618,6 @@ empty = Bataki sɔrɔla n'ga ci ta kɔnɔ. Aw ye segin ka ci nan masɔ aw ye sup enketo.constraint.invalid = enketo.constraint.required = enketo.form.required = -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = -enketo.drawwidget.drawing = -enketo.drawwidget.signature = -enketo.drawwidget.annotation = -enketo.geopicker.accuracy = -enketo.geopicker.altitude = -enketo.geopicker.closepolygon = -enketo.geopicker.kmlcoords = -enketo.geopicker.kmlpaste = -enketo.geopicker.latitude = -enketo.geopicker.longitude = -enketo.geopicker.points = -enketo.geopicker.searchPlaceholder = -enketo.geopicker.removePoint = -enketo.selectpicker.noneselected = -enketo.selectpicker.numberselected = -enketo.imagemap.svgNotFound = -enketo.rankwidget.tapstart = -enketo.rankwidget.clickstart = error.403.description = error.403.title = A ma la sɔrɔ error.404.description = @@ -1419,4 +1395,4 @@ year = san year.plural = sanw years = sanw yes = awo -yesterday = kunun +yesterday = kunun \ No newline at end of file diff --git a/ddocs/medic/_attachments/translations/messages-es.properties b/ddocs/medic/_attachments/translations/messages-es.properties index 0960da8ba50..9e1da3fc84e 100644 --- a/ddocs/medic/_attachments/translations/messages-es.properties +++ b/ddocs/medic/_attachments/translations/messages-es.properties @@ -618,30 +618,6 @@ empty = El mensaje esta en blanco, por favor reenvielo. Si continua teniendo pro enketo.constraint.invalid = enketo.constraint.required = enketo.form.required = -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = -enketo.drawwidget.drawing = -enketo.drawwidget.signature = -enketo.drawwidget.annotation = -enketo.geopicker.accuracy = -enketo.geopicker.altitude = -enketo.geopicker.closepolygon = -enketo.geopicker.kmlcoords = -enketo.geopicker.kmlpaste = -enketo.geopicker.latitude = -enketo.geopicker.longitude = -enketo.geopicker.points = -enketo.geopicker.searchPlaceholder = -enketo.geopicker.removePoint = -enketo.selectpicker.noneselected = -enketo.selectpicker.numberselected = -enketo.imagemap.svgNotFound = -enketo.rankwidget.tapstart = -enketo.rankwidget.clickstart = error.403.description = No tiene las autorizaciones necesarias para ver esta página. Contacte a un administrador para cambiar sus autorizaciones. error.403.title = Acceso negado error.404.description = La página que buscaba no se encontró @@ -1419,4 +1395,4 @@ year = Año year.plural = Años years = Años yes = Si -yesterday = ayer +yesterday = ayer \ No newline at end of file diff --git a/ddocs/medic/_attachments/translations/messages-fr.properties b/ddocs/medic/_attachments/translations/messages-fr.properties index 155e9514faa..e48636869ca 100644 --- a/ddocs/medic/_attachments/translations/messages-fr.properties +++ b/ddocs/medic/_attachments/translations/messages-fr.properties @@ -618,30 +618,6 @@ empty = Nous avons reçu un message vide. SVP réessayer et si vous continuez à enketo.constraint.invalid = Valeur non acceptée enketo.constraint.required = Ce champ est requis enketo.form.required = Requis -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = -enketo.drawwidget.drawing = -enketo.drawwidget.signature = -enketo.drawwidget.annotation = -enketo.geopicker.accuracy = -enketo.geopicker.altitude = -enketo.geopicker.closepolygon = -enketo.geopicker.kmlcoords = -enketo.geopicker.kmlpaste = -enketo.geopicker.latitude = -enketo.geopicker.longitude = -enketo.geopicker.points = -enketo.geopicker.searchPlaceholder = -enketo.geopicker.removePoint = -enketo.selectpicker.noneselected = -enketo.selectpicker.numberselected = -enketo.imagemap.svgNotFound = -enketo.rankwidget.tapstart = -enketo.rankwidget.clickstart = error.403.description = Vous avez des privilèges insuffisants pour accéder à cette page. Parlez à un administrateur pour augmenter vos privilèges. error.403.title = Accès refusé error.404.description = La page que vous cherchez est introuvable. @@ -1419,4 +1395,4 @@ year = Année year.plural = Années years = ans yes = Oui -yesterday = hier +yesterday = hier \ No newline at end of file diff --git a/ddocs/medic/_attachments/translations/messages-hi.properties b/ddocs/medic/_attachments/translations/messages-hi.properties index 448cac4237d..df62d241d54 100644 --- a/ddocs/medic/_attachments/translations/messages-hi.properties +++ b/ddocs/medic/_attachments/translations/messages-hi.properties @@ -618,30 +618,6 @@ empty = आपने एक खाली संदेश भेजा है, enketo.constraint.invalid = यह आंकड़ा मान्य नहीं है enketo.constraint.required = यह फ़ील्ड आवश्यक है I enketo.form.required = आवश्यक -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = -enketo.drawwidget.drawing = -enketo.drawwidget.signature = -enketo.drawwidget.annotation = -enketo.geopicker.accuracy = -enketo.geopicker.altitude = -enketo.geopicker.closepolygon = -enketo.geopicker.kmlcoords = -enketo.geopicker.kmlpaste = -enketo.geopicker.latitude = -enketo.geopicker.longitude = -enketo.geopicker.points = -enketo.geopicker.searchPlaceholder = -enketo.geopicker.removePoint = -enketo.selectpicker.noneselected = -enketo.selectpicker.numberselected = -enketo.imagemap.svgNotFound = -enketo.rankwidget.tapstart = -enketo.rankwidget.clickstart = error.403.description = इस पेज को देखने की अनुमति आप को नहीं है | अनुमति के लिए अपने प्रशासक से संपर्क करें । error.403.title = प्रवेश वंचित error.404.description = आप जिस पेज को खोज रहे थे वह नहीं मिल पाया | @@ -1419,4 +1395,4 @@ year = साल year.plural = साल years = साल yes = हाँ -yesterday = बिता कल +yesterday = बिता कल \ No newline at end of file diff --git a/ddocs/medic/_attachments/translations/messages-id.properties b/ddocs/medic/_attachments/translations/messages-id.properties index d7cc0d69e7f..e03c30d6e24 100644 --- a/ddocs/medic/_attachments/translations/messages-id.properties +++ b/ddocs/medic/_attachments/translations/messages-id.properties @@ -618,30 +618,6 @@ empty = Kelihatannya anda mengirimkan pesan kosong, coba kirim kembali. Bila mas enketo.constraint.invalid = Nilai tidak diperbolehkan enketo.constraint.required = Field ini diperlukan enketo.form.required = diperlukan -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = -enketo.drawwidget.drawing = -enketo.drawwidget.signature = -enketo.drawwidget.annotation = -enketo.geopicker.accuracy = -enketo.geopicker.altitude = -enketo.geopicker.closepolygon = -enketo.geopicker.kmlcoords = -enketo.geopicker.kmlpaste = -enketo.geopicker.latitude = -enketo.geopicker.longitude = -enketo.geopicker.points = -enketo.geopicker.searchPlaceholder = -enketo.geopicker.removePoint = -enketo.selectpicker.noneselected = -enketo.selectpicker.numberselected = -enketo.imagemap.svgNotFound = -enketo.rankwidget.tapstart = -enketo.rankwidget.clickstart = error.403.description = Anda tidak mempunyai hak untuk melihat halaman ini. Bicarakan dengan administrator untuk menaikkan hak anda. error.403.title = Akses ditolak error.404.description = Halaman yang anda cari tidak ditemukan @@ -1419,4 +1395,4 @@ year = Tahun year.plural = Tahun years = tahun yes = Ya -yesterday = kemarin +yesterday = kemarin \ No newline at end of file diff --git a/ddocs/medic/_attachments/translations/messages-ne.properties b/ddocs/medic/_attachments/translations/messages-ne.properties index 5c11d6199c5..cff6e69188e 100644 --- a/ddocs/medic/_attachments/translations/messages-ne.properties +++ b/ddocs/medic/_attachments/translations/messages-ne.properties @@ -618,30 +618,6 @@ empty = सन्देश​ खाली छ​ । कृपया फेर enketo.constraint.invalid = enketo.constraint.required = enketo.form.required = -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = -enketo.drawwidget.drawing = -enketo.drawwidget.signature = -enketo.drawwidget.annotation = -enketo.geopicker.accuracy = -enketo.geopicker.altitude = -enketo.geopicker.closepolygon = -enketo.geopicker.kmlcoords = -enketo.geopicker.kmlpaste = -enketo.geopicker.latitude = -enketo.geopicker.longitude = -enketo.geopicker.points = -enketo.geopicker.searchPlaceholder = -enketo.geopicker.removePoint = -enketo.selectpicker.noneselected = -enketo.selectpicker.numberselected = -enketo.imagemap.svgNotFound = -enketo.rankwidget.tapstart = -enketo.rankwidget.clickstart = error.403.description = तपाईं यस पृष्ठ हेर्न अपर्याप्त विशेषाधिकार छ । आफ्नो विशेषाधिकार वृद्धि गर्न प्रशासकीय कुरा । error.403.title = त्रुटी शिर्षक error.404.description = के देख थिए पृष्ठ फेला परेन । @@ -1419,4 +1395,4 @@ year = year.plural = years = बर्ष yes = -yesterday = +yesterday = \ No newline at end of file diff --git a/ddocs/medic/_attachments/translations/messages-sw.properties b/ddocs/medic/_attachments/translations/messages-sw.properties index bc3486873d5..66bb5ddf8e1 100644 --- a/ddocs/medic/_attachments/translations/messages-sw.properties +++ b/ddocs/medic/_attachments/translations/messages-sw.properties @@ -618,30 +618,6 @@ empty = Yaonekana kama umetuma ujumbe mtupu, tafadhali jaribu kutuma tena. Ukien enketo.constraint.invalid = Tarakimu hairuhusiwi enketo.constraint.required = Hii sehemu inahitajika enketo.form.required = Inahitajika -enketo.filepicker.file = -enketo.filepicker.placeholder = -enketo.filepicker.notFound = -enketo.filepicker.waitingForPermissions = -enketo.filepicker.resetWarning = -enketo.filepicker.toolargeerror = -enketo.drawwidget.drawing = -enketo.drawwidget.signature = -enketo.drawwidget.annotation = -enketo.geopicker.accuracy = -enketo.geopicker.altitude = -enketo.geopicker.closepolygon = -enketo.geopicker.kmlcoords = -enketo.geopicker.kmlpaste = -enketo.geopicker.latitude = -enketo.geopicker.longitude = -enketo.geopicker.points = -enketo.geopicker.searchPlaceholder = -enketo.geopicker.removePoint = -enketo.selectpicker.noneselected = -enketo.selectpicker.numberselected = -enketo.imagemap.svgNotFound = -enketo.rankwidget.tapstart = -enketo.rankwidget.clickstart = error.403.description = Hauruhusiwi kwenye ukurasa huu, mjulishe msimamizi ili kupata usaididzi error.403.title = Haujaruhusiwa error.404.description = Ukurasa unaotafuta haukupatikana @@ -1419,4 +1395,4 @@ year = Mwaka year.plural = Miaka years = mwaka yes = Ndio -yesterday = Jana +yesterday = Jana \ No newline at end of file From d78b75f0c2fc7bb32803f4e527294331487459f8 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Tue, 21 Sep 2021 12:20:26 -0500 Subject: [PATCH 067/179] Re-add the autocomplete widget --- demo-forms/autocomplete.xml | 375 ---------------------------- demo-forms/cascading-selects.xml | 135 ---------- demo-forms/enketo_widgets/README.MD | 11 + demo-forms/geopoint.xml | 24 -- webapp/src/css/enketo/_widgets.scss | 1 + webapp/src/js/enketo/widgets.js | 1 + 6 files changed, 13 insertions(+), 534 deletions(-) delete mode 100644 demo-forms/autocomplete.xml delete mode 100644 demo-forms/cascading-selects.xml create mode 100644 demo-forms/enketo_widgets/README.MD delete mode 100644 demo-forms/geopoint.xml diff --git a/demo-forms/autocomplete.xml b/demo-forms/autocomplete.xml deleted file mode 100644 index d8127538726..00000000000 --- a/demo-forms/autocomplete.xml +++ /dev/null @@ -1,375 +0,0 @@ - - - - Enketo Autocomplete Issue - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AFG - - - - DZA - - - - AGO - - - - BHR - - - - BWA - - - - BGD - - - - MMR - - - - BEN - - - - BTN - - - - BDI - - - - TCD - - - - LKA - - - - COG - - - - COD - - - - CMR - - - - COM - - - - CAF - - - - CPV - - - - DJI - - - - GNQ - - - - ERI - - - - ETH - - - - GMB - - - - GAB - - - - GHA - - - - GIN - - - - IND - - - - IRN - - - - CIV - - - - IRQ - - - - JOR - - - - KEN - - - - PRK - - - - KWT - - - - LBN - - - - LBR - - - - LSO - - - - LBY - - - - MDG - - - - MYT - - - - MWI - - - - MLI - - - - MAR - - - - MUS - - - - MRT - - - - OMN - - - - MDV - - - - MOZ - - - - NER - - - - NGA - - - - NPL - - - - PAK - - - - GNB - - - - QAT - - - - REU - - - - RWA - - - - SYC - - - - SEN - - - - SHN - - - - SLE - - - - SOM - - - - SYR - - - - ARE - - - - THA - - - - TGO - - - - STP - - - - TUN - - - - TZA - - - - UGA - - - - BFA - - - - ESH - - - - SWZ - - - - ZMB - - - - ZWE - - - - SAU - - - - YEM - - - - ZAF - - - - NAM - - - - TLS - - - - PSE - - - - IDN - - - - EGY - - - - SDN - - - - SSD - - - - diff --git a/demo-forms/cascading-selects.xml b/demo-forms/cascading-selects.xml deleted file mode 100644 index 1042b096b7b..00000000000 --- a/demo-forms/cascading-selects.xml +++ /dev/null @@ -1,135 +0,0 @@ - - - - Outreach - - - - - Taveta - - - Sio Port - - - Other - - - Busia - - - Malaba - - - Other - - - Kenya - - - Uganda - - - Other - - - - - - - - - - - - - - - - - - static_instance-sites-0 - kenya - taveta - - - static_instance-sites-1 - kenya - sio_port - - - static_instance-sites-2 - kenya - other - - - static_instance-sites-3 - uganda - busia - - - static_instance-sites-4 - uganda - malaba - - - static_instance-sites-5 - uganda - other - - - - - - - static_instance-countries-0 - kenya - - - static_instance-countries-1 - uganda - - - static_instance-countries-2 - other - - - - - - - - - - - - - - - - kenya - - - - uganda - - - - other - - - - - - - - - - - - - - - - diff --git a/demo-forms/enketo_widgets/README.MD b/demo-forms/enketo_widgets/README.MD new file mode 100644 index 00000000000..df002a3ac28 --- /dev/null +++ b/demo-forms/enketo_widgets/README.MD @@ -0,0 +1,11 @@ +# Applying Sample Custom Contact Types + + +1. Download the current JSON settings file from your instance. This is found under the hamburger menu in the upper right under "App Management" -> "Backup app code" -> "Download current settings". The resulting file will be named `settings_YEAR-MONTH-DAY.json`. We'll now refer to this as the `app_settings.json` file, as that's what it's called when using `medic-conf`. +1. Edit the `app_settings.json` file and replace the existing `contact_types` JSON with the contents of [contact_types.json](contact_types.json). Use care to ensure the JSON file is still valid. If the JSON isn't valid, you will see a red "Upload failed" below the upload button. +1. Upload the changed `app_settings.json` file by navigating to the same spot as it step #1, but choose "Upload application code" instead. +1. Download the English language file from the "App Management" -> "Display" -> "Languages" -> "English" -> "Download" +1. Add the translation keys in [en_translations](en_translations.properties) to the end of the `messages-en.properties` file you downloaded in the prior step. +1. Upload the edited `messages-en.properties` translation file from "App Management" -> "Display" -> "Languages" -> "English" -> "Upload" +1. Upload the included contact forms with `medic-conf`. Ensure you're in the `cht-core/demo-forms/custom_contacts` directory and call: `medic-conf upload-contact-forms` +1. Now you will have a few custom contact types added to your instance. For example if you choose to "Add place" the option for "New NGO" will now be visible and you when you select "Add Person" for a facility you will see "New Doctor". diff --git a/demo-forms/geopoint.xml b/demo-forms/geopoint.xml deleted file mode 100644 index 76d7f31fea5..00000000000 --- a/demo-forms/geopoint.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - Geopoint Demo Form - - - - - - - - - - - - - - - - - - - - - diff --git a/webapp/src/css/enketo/_widgets.scss b/webapp/src/css/enketo/_widgets.scss index f8fe688fc11..9bc33362d00 100644 --- a/webapp/src/css/enketo/_widgets.scss +++ b/webapp/src/css/enketo/_widgets.scss @@ -17,3 +17,4 @@ @import "../../../node_modules/enketo-core/src/widget/select-mobile/selectpicker.scss"; @import "../../../node_modules/enketo-core/src/widget/analog-scale/analog-scalepicker.scss"; @import "../../../node_modules/enketo-core/src/widget/textarea/textarea.scss"; +@import "../../../node_modules/enketo-core/src/widget/select-autocomplete/autocomplete.scss"; diff --git a/webapp/src/js/enketo/widgets.js b/webapp/src/js/enketo/widgets.js index 1c9f9832486..2c88654888e 100644 --- a/webapp/src/js/enketo/widgets.js +++ b/webapp/src/js/enketo/widgets.js @@ -20,6 +20,7 @@ require( 'enketo-core/src/widget/select-mobile/selectpicker' ).default, require( 'enketo-core/src/widget/analog-scale/analog-scalepicker' ).default, require( 'enketo-core/src/widget/textarea/textarea' ).default, + require( 'enketo-core/src/widget/select-autocomplete/autocomplete' ).default, require( './widgets/countdown-widget' ), require( './widgets/db-object-widget' ), require( './widgets/phone-widget' ), From ef71ca04ef34218976bf8105c294e6bf34cdcbfc Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Tue, 21 Sep 2021 12:20:48 -0500 Subject: [PATCH 068/179] Clean up demo forms --- demo-forms/enketo_widgets/README.MD | 3 +- .../forms/app/enketo_widgets.xlsx | Bin 19447 -> 19084 bytes .../forms/app/enketo_widgets.xml | 42 +++++++++--------- demo-forms/readme.md | 16 ++++--- 4 files changed, 32 insertions(+), 29 deletions(-) diff --git a/demo-forms/enketo_widgets/README.MD b/demo-forms/enketo_widgets/README.MD index df002a3ac28..9e44bb94661 100644 --- a/demo-forms/enketo_widgets/README.MD +++ b/demo-forms/enketo_widgets/README.MD @@ -1,5 +1,6 @@ -# Applying Sample Custom Contact Types +# Enketo Widgets Demo Form +This form can be used to test the various supported Enketo widgets. It contains a sub-set of the Enketo widgets showcased [here](https://enke.to/x/widgets). 1. Download the current JSON settings file from your instance. This is found under the hamburger menu in the upper right under "App Management" -> "Backup app code" -> "Download current settings". The resulting file will be named `settings_YEAR-MONTH-DAY.json`. We'll now refer to this as the `app_settings.json` file, as that's what it's called when using `medic-conf`. 1. Edit the `app_settings.json` file and replace the existing `contact_types` JSON with the contents of [contact_types.json](contact_types.json). Use care to ensure the JSON file is still valid. If the JSON isn't valid, you will see a red "Upload failed" below the upload button. diff --git a/demo-forms/enketo_widgets/forms/app/enketo_widgets.xlsx b/demo-forms/enketo_widgets/forms/app/enketo_widgets.xlsx index 1794e5b59a20d8b97e0c7dc70c485500913786b2..1e540ad1eff1e4e2a49754b877f9eb68ec01bf38 100644 GIT binary patch delta 14944 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 delta 15374 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 C7r+$& diff --git a/demo-forms/enketo_widgets/forms/app/enketo_widgets.xml b/demo-forms/enketo_widgets/forms/app/enketo_widgets.xml index 20079e6bb18..82a628307c4 100644 --- a/demo-forms/enketo_widgets/forms/app/enketo_widgets.xml +++ b/demo-forms/enketo_widgets/forms/app/enketo_widgets.xml @@ -110,9 +110,7 @@ The decimal number you entered was This form showcases the different available _widgets_. -The hints explain how these widgets were created. The form logo was added by simply uploading a file called *form_logo.png* as part of the form media. - -The XLS Form source is [here](https://docs.google.com/spreadsheet/ccc?key=0Al3Mw5sknZoPdEpPa29tamFCc1o2bmFVR3RaemlSRXc&usp=sharing). +The hints explain how these widgets were created. Annotate image widget @@ -544,16 +542,16 @@ The XLS Form source is [here](https://docs.google.com/spreadsheet/ccc?key=0Al3Mw option d - kingfisher jr://images/kingfisher.png + kingfisher - pigeon jr://images/pigeon.png + pigeon - nuthatch jr://images/nuthatch.png + nuthatch option 1 @@ -621,7 +619,7 @@ The XLS Form source is [here](https://docs.google.com/spreadsheet/ccc?key=0Al3Mw - + @@ -922,33 +920,33 @@ The XLS Form source is [here](https://docs.google.com/spreadsheet/ccc?key=0Al3Mw static_instance-cities-0 - nl ams + nl static_instance-cities-1 - usa den + usa static_instance-cities-2 - usa nyc + usa static_instance-cities-3 - usa la + usa static_instance-cities-4 - nl rot + nl static_instance-cities-5 - nl dro + nl @@ -956,57 +954,57 @@ The XLS Form source is [here](https://docs.google.com/spreadsheet/ccc?key=0Al3Mw static_instance-neighborhoods-0 - nyc usa bronx + nyc static_instance-neighborhoods-1 - nyc usa harlem + nyc static_instance-neighborhoods-2 - la usa belair + la static_instance-neighborhoods-3 - ams nl wes + ams static_instance-neighborhoods-4 - den usa parkhill + den static_instance-neighborhoods-5 - rot nl haven + rot static_instance-neighborhoods-6 - ams nl dam + ams static_instance-neighborhoods-7 - rot nl centrum + rot static_instance-neighborhoods-8 - dro nl havendr + dro diff --git a/demo-forms/readme.md b/demo-forms/readme.md index 675af5cf61c..c9470c751ce 100644 --- a/demo-forms/readme.md +++ b/demo-forms/readme.md @@ -2,7 +2,7 @@ ## Intro -These forms can be used to quickly test specific XForm features. For example, if you load the `geopoint` form, you can test the Enketo Geopoint feature in an isolated way without having to worry if other form fields might be causing issues. +These forms can be used to quickly test specific XForm features. For example, if you load the `date-input` form, you can test the Bikram Sambat date picker in an isolated way without having to worry if other form fields might be causing issues. ## Loading @@ -11,18 +11,22 @@ The forms can be loaded via the [web admin GUI](https://docs.communityhealthtool ### Admin Web GUI 1. Log into your CHT instance as an admin user. Go to the "App Forms" in "App Management" section at `/admin/#/forms` -1. At the top of the page under "Upload app forms", under "XML" choose "Browse..." and find the XML of the form you want to add in the `demo-forms` directory (eg. `geopoint.xml`). +1. At the top of the page under "Upload app forms", under "XML" choose "Browse..." and find the XML of the form you want to add in the `demo-forms` directory (eg. `date-input.xml`). 1. Under "Meta" choose "Browse..." again and select `app-form.properties.json` 1. Submit the new form by clicking "Upload". You should see a brief spinner and the "Upload app forms" section will reset to being empty as you first found it. -1. Navigate back to the reports page of the app at `/#/reports/` and under the lower left "Submit report", you should now see your new form (e.g. "Geopoint Demo Form"). +1. Navigate back to the reports page of the app at `/#/reports/` and under the lower left "Submit report", you should now see your new form (e.g. "Date Input - Demo Form"). ### medic conf -1. Copy the form you want to upload from the `demo-forms` to the `config/default/forms/app` directory. For the `geopoint.xml` form, if you were in the root of this repo, that would be: `cp demo-forms/geopoint.xml config/default/forms/app/` +1. Copy the form you want to upload from the `demo-forms` to the `config/default/forms/app` directory. For the `date-input.xml` form, if you were in the root of this repo, that would be: `cp demo-forms/date-input.xml config/default/forms/app/` 1. Change to the default config `cd config/default` -1. Run `medic-conf` specifying the `upload-app-forms` command along with the specific form you want to upload. This example uses the `geopoint` form. Note that the trailing `.xml` is not included: `medic-conf --local upload-app-forms -- geopoint` +1. Run `medic-conf` specifying the `upload-app-forms` command along with the specific form you want to upload. This example uses the `date-input` form. Note that the trailing `.xml` is not included: `medic-conf --local upload-app-forms -- date-input` ### Custom contact types -See [custom_contacts](custom_contacts/README.MD) for sample forms and config for a few custom contact types. \ No newline at end of file +See [custom_contacts](custom_contacts/README.MD) for sample forms and config for a few custom contact types. + +### Enketo Widgets + + From da16779188a791b776a91c6b9fe2f91e65b1e7f8 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Tue, 21 Sep 2021 15:52:30 -0500 Subject: [PATCH 069/179] More cleanup on the demo form add proper public domain images --- demo-forms/enketo_widgets/README.MD | 11 +- .../app/enketo_widgets-media/images/a.png | Bin 0 -> 11872 bytes .../app/enketo_widgets-media/images/b.png | Bin 0 -> 14168 bytes .../app/enketo_widgets-media/images/c.png | Bin 0 -> 8426 bytes .../app/enketo_widgets-media/images/d.png | Bin 0 -> 13444 bytes .../app/enketo_widgets-media/images/happy.png | Bin 0 -> 14004 bytes .../images/kingfisher.png | Bin 0 -> 49526 bytes .../enketo_widgets-media/images/nuthatch.png | Bin 0 -> 64522 bytes .../enketo_widgets-media/images/pigeon.png | Bin 0 -> 72324 bytes .../app/enketo_widgets-media/images/sad.png | Bin 0 -> 13789 bytes .../forms/app/enketo_widgets.xlsx | Bin 19084 -> 18999 bytes .../forms/app/enketo_widgets.xml | 111 ++++++++++++------ .../forms/app/widgets-media/images/a.png | Bin 18941 -> 0 bytes .../forms/app/widgets-media/images/b.png | Bin 18770 -> 0 bytes .../forms/app/widgets-media/images/c.png | Bin 15148 -> 0 bytes .../forms/app/widgets-media/images/d.png | Bin 14175 -> 0 bytes .../forms/app/widgets-media/images/happy.png | Bin 15330 -> 0 bytes .../app/widgets-media/images/kingfisher.png | Bin 66723 -> 0 bytes .../app/widgets-media/images/nuthatch.png | Bin 42081 -> 0 bytes .../forms/app/widgets-media/images/pigeon.png | Bin 28177 -> 0 bytes .../forms/app/widgets-media/images/sad.png | Bin 14526 -> 0 bytes demo-forms/readme.md | 2 +- 22 files changed, 76 insertions(+), 48 deletions(-) create mode 100644 demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/a.png create mode 100644 demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/b.png create mode 100644 demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/c.png create mode 100644 demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/d.png create mode 100644 demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/happy.png create mode 100644 demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/kingfisher.png create mode 100644 demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/nuthatch.png create mode 100644 demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/pigeon.png create mode 100644 demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/sad.png delete mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/a.png delete mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/b.png delete mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/c.png delete mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/d.png delete mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/happy.png delete mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/kingfisher.png delete mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/nuthatch.png delete mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/pigeon.png delete mode 100644 demo-forms/enketo_widgets/forms/app/widgets-media/images/sad.png diff --git a/demo-forms/enketo_widgets/README.MD b/demo-forms/enketo_widgets/README.MD index 9e44bb94661..989f016757b 100644 --- a/demo-forms/enketo_widgets/README.MD +++ b/demo-forms/enketo_widgets/README.MD @@ -2,11 +2,6 @@ This form can be used to test the various supported Enketo widgets. It contains a sub-set of the Enketo widgets showcased [here](https://enke.to/x/widgets). -1. Download the current JSON settings file from your instance. This is found under the hamburger menu in the upper right under "App Management" -> "Backup app code" -> "Download current settings". The resulting file will be named `settings_YEAR-MONTH-DAY.json`. We'll now refer to this as the `app_settings.json` file, as that's what it's called when using `medic-conf`. -1. Edit the `app_settings.json` file and replace the existing `contact_types` JSON with the contents of [contact_types.json](contact_types.json). Use care to ensure the JSON file is still valid. If the JSON isn't valid, you will see a red "Upload failed" below the upload button. -1. Upload the changed `app_settings.json` file by navigating to the same spot as it step #1, but choose "Upload application code" instead. -1. Download the English language file from the "App Management" -> "Display" -> "Languages" -> "English" -> "Download" -1. Add the translation keys in [en_translations](en_translations.properties) to the end of the `messages-en.properties` file you downloaded in the prior step. -1. Upload the edited `messages-en.properties` translation file from "App Management" -> "Display" -> "Languages" -> "English" -> "Upload" -1. Upload the included contact forms with `medic-conf`. Ensure you're in the `cht-core/demo-forms/custom_contacts` directory and call: `medic-conf upload-contact-forms` -1. Now you will have a few custom contact types added to your instance. For example if you choose to "Add place" the option for "New NGO" will now be visible and you when you select "Add Person" for a facility you will see "New Doctor". +## Usage + +Since this form contains media, `cht-conf` should be used to upload the form to your instance (the `upload-app-forms` operation will upload the images). diff --git a/demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/a.png b/demo-forms/enketo_widgets/forms/app/enketo_widgets-media/images/a.png new file mode 100644 index 0000000000000000000000000000000000000000..c171f2fb7f194e4194731c065596c214bff1fc6e GIT binary patch literal 11872 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