From 3d726defc610e97680ef1589ef5811c04863937a Mon Sep 17 00:00:00 2001 From: Dovydas Navickas Date: Wed, 6 Sep 2017 16:59:07 +0300 Subject: [PATCH 1/3] Implemented componentWillReceiveProps in base-form. Form disabling updated in form-store. --- common/config/rush/npm-shrinkwrap.json | 342 +++++++++--------- .../react-forms/src/abstractions/base-form.ts | 15 +- packages/react-forms/src/contracts/form.ts | 2 +- .../src/stores/form-store-helpers.ts | 6 +- packages/react-forms/src/stores/form-store.ts | 13 +- 5 files changed, 202 insertions(+), 176 deletions(-) diff --git a/common/config/rush/npm-shrinkwrap.json b/common/config/rush/npm-shrinkwrap.json index 87535ad..1463ad6 100644 --- a/common/config/rush/npm-shrinkwrap.json +++ b/common/config/rush/npm-shrinkwrap.json @@ -21,14 +21,14 @@ "integrity": "sha512-7YJQbllem83umRzZ+ry6RZFAbBWNoHvbiW6tE5VEAJIoX6F22hrKrBw3ibRvHm2zPnOhZGrZJusAbp1zZKcLzQ==" }, "@types/chokidar": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@types/chokidar/-/chokidar-1.7.1.tgz", - "integrity": "sha512-pfP/MJTFi3qKkCeXT5Mjd7Rgn4/Uj1k5vAeBY21InkFRMvaY6Vku5Q48SyMlXlomvPHDlAEdYixzFniZpiEHbA==" + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@types/chokidar/-/chokidar-1.7.2.tgz", + "integrity": "sha512-OVvw9OGISByWrQZNWZiFwX7I1Vq62h9WkHQWYievugh+zD/is69Set/zkvaF/a1TIHHGdwpXMUuAeEZgulMk5A==" }, "@types/classnames": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.2.tgz", - "integrity": "sha512-NxpHT+d/H1WX7DiAVJtlOqxj7l80tvIjusbFuPoJ+m/mdpH4sM8ngYG9nxz5ffx1ZvTSFeLd5sp7KoqpkX2jMw==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.3.tgz", + "integrity": "sha512-x15/Io+JdzrkM9gnX6SWUs/EmqQzd65TD9tcZIAQ1VIdb93XErNuYmB7Yho8JUCE189ipUSESsWvGvYXRRIvYA==" }, "@types/enzyme": { "version": "2.8.6", @@ -41,19 +41,19 @@ "integrity": "sha1-jtIE2g9U6cjq7DGx7skeJRMtCCw=" }, "@types/flux": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@types/flux/-/flux-3.1.2.tgz", - "integrity": "sha512-F6h3DL43B9VHUiXfAtIRa7DhZMTe+yLMohHYBsRjStdjVA8cFZl7As8+bFfk307l+P5bIBv5Yx4bsvR+nTVb0Q==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/flux/-/flux-3.1.3.tgz", + "integrity": "sha512-kYTn2rZDfg4WEUjkpJFs6+0S9kIN+Z9SYzEYhf5DbKXH+XfQ5oEClxF/ANN1/K/SqFeQnzqvRJG1G/7J6OO4Kg==" }, "@types/glob": { - "version": "5.0.31", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.31.tgz", - "integrity": "sha512-O6uyCgmMT58nQCdkxvDlil19iYodPTpWPtJc4tWAyjMTZUHjJyXaTJpxDfnuNyzTsLGba+AXIeYwFu3Y8lo+Jw==" + "version": "5.0.32", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.32.tgz", + "integrity": "sha512-DMcj5b67Alb/e4KhpzyvphC5nVDHn1oCOGZao3oBddZVMH5vgI/cvdp+O/kcxZGZaPqs0ZLAsK4YrjbtZHO05g==" }, "@types/glob-stream": { - "version": "3.1.30", - "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-3.1.30.tgz", - "integrity": "sha1-uFOZC0Ckz+aoDsDS+t9o2AYPeLE=" + "version": "3.1.31", + "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-3.1.31.tgz", + "integrity": "sha512-UxdJkuoXh48URR4gJSAQAXSTeo98KTsEalJc+7wNmWrkK+8/z/V71tddUYzxtM/nlDJEKHW5Fbyh02KuHwlytg==" }, "@types/gulp": { "version": "4.0.4", @@ -66,14 +66,14 @@ "integrity": "sha512-2A0stT6b61DANLErAfSkeQ77N+A3FbR7ardUJUP3xm9f4W8qtG9ispBYDUX42Fl1EbR0rqSV3IWjbB6ew7hXRw==" }, "@types/jest": { - "version": "20.0.7", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-20.0.7.tgz", - "integrity": "sha512-Z+PeT/6aDDYvaDWxyDKdsYJsUKM0ycIRXn3E8aA6TOqAXkEbpHBAqDcL5nX/dJ07wr5/cBym21fro+zS0ycMNA==" + "version": "20.0.8", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-20.0.8.tgz", + "integrity": "sha512-+vFMPCwOffrTy685X9Kj+Iz83I56Q8j0JK6xvsm6TA5qxbtPUJZcXtJY05WMGlhCKp/9qbpRCwyOp6GkMuyuLg==" }, "@types/minimatch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.0.tgz", - "integrity": "sha512-BnRgLPs1oy9gV8b4dAW8jilIa7Kpe3uNucAvv4RkY7Yt6rj9E6Kk4Qa/18LOSinA+XDBPdzx3MqYPEP5mw8rDA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.1.tgz", + "integrity": "sha512-rUO/jz10KRSyA9SHoCWQ8WX9BICyj5jZYu1/ucKEJKb4KzLZCKMURdYbadP157Q6Zl1x0vHsrU+Z/O0XlhYQDw==" }, "@types/mkdirp": { "version": "0.3.29", @@ -86,9 +86,9 @@ "integrity": "sha1-pNgMCC/v5x5Ap8DwfR5lVbu8e1I=" }, "@types/node": { - "version": "8.0.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.24.tgz", - "integrity": "sha512-c3Npme+2JGqxW8+B+aXdN5SPIlCf1C8WxQC6Ea39rO/ASPosnMkWVR16mDJtRE+2dr2xwOQ7DiLxb+wO/TWuPg==" + "version": "8.0.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.26.tgz", + "integrity": "sha512-wbKN0MB4XsjdnSE04HiCzLoBDirGCM6zXrqavSj44nZnPFYpnrTF64E9O6Xmf0ca/IuKK/BHUcXwMiwk92gW6Q==" }, "@types/prop-types": { "version": "15.5.1", @@ -96,14 +96,14 @@ "integrity": "sha1-Hs9SYhKZ5luFU3Qzf7Ef0tEGb8E=" }, "@types/react": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/@types/react/-/react-15.6.1.tgz", - "integrity": "sha512-tfKYi5NyVcZH8zkF9JTbPpTcebanZpkxEYXQUlpeqg4kV8gC3LeM4acPD4y53Yx0etWChURVx+Rj9aoxTcyBkA==" + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-15.6.2.tgz", + "integrity": "sha512-bLBaCTgyuGM8cXV9zG4XpHtfPJBSyAW5MwyRUOhHqmVn6a/x5q9rYx1ewmNN5PHpfTCSFlUTdrG+bX/qQQ2THQ==" }, "@types/react-dom": { - "version": "15.5.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-15.5.3.tgz", - "integrity": "sha512-fbOEw/SVkp8iOLKvHnpDwJ/TytEogvN6shdY1G3o9gvbuypre1KYSQ81nPy7ZgQQ1mOJJkl2WNVmZNeZ1FjAQA==" + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-15.5.4.tgz", + "integrity": "sha512-70jxjspCatgOXpRptyp/T8bag5prWMvd/rjc5trY3xiKQJOFfWMxGI8pSEJMHi9KQRAhpiLCbJLzcbVFX/nw2w==" }, "@types/react-router": { "version": "4.0.15", @@ -126,9 +126,9 @@ "integrity": "sha512-/GVAjL1Y8puvZab63n8tsuBiYwZt1bApMdx58/msQ9ID5T05ov+wm/ZV1DvYC/DKKEygpTJViqQvkh5Rhrl4CA==" }, "@types/tapable": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-0.2.3.tgz", - "integrity": "sha1-CIiw8gzH5Y4cIqGIi06WPu+qgQo=" + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-0.2.4.tgz", + "integrity": "sha512-pclMAvhPnXJcJu1ZZ8bQthuUcdDWzDuxDdbSf6l1U6s4fP6EBiZpPsOZYqFOrbqDV97sXGFSsb6AUpiLfv4xIA==" }, "@types/uglify-js": { "version": "2.6.29", @@ -146,24 +146,24 @@ "integrity": "sha1-b2GgvnWiLp72LfaLSAxovONE/l8=" }, "@types/validator": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-6.2.2.tgz", - "integrity": "sha512-ucoZO5gK7SJnMFrXLiMboPRnG9KwYN3PleaFc4uoEw/Ejrs8+osBs5XRDNjHfa5wFwc1jvFnn+rEe4DsRkwT8g==" + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-6.2.3.tgz", + "integrity": "sha512-CPxAHOkxHkKUmjR/hWeEvY/SvnvxlGn83kw64b0qNx+HUmM5+pONOGvN9aHUqMxE66veFuI3J0UMH2YJgkaz5g==" }, "@types/vinyl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.0.tgz", - "integrity": "sha1-/SE79/QTbd4h/hiVUAsSwYb4wmg=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.1.tgz", + "integrity": "sha512-Joudabfn2ZofU2usW04y8OLmN75u7ZQkW0MCT3AnoBf5oUBp5iQ3Pgfz9+y1RdWkzhCPZo9/wBJ7FMWW2JrY0g==" }, "@types/vinyl-fs": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/@types/vinyl-fs/-/vinyl-fs-2.4.6.tgz", - "integrity": "sha512-y/XqVdYR8govxXq/dkVO49YOepePjhM29exURFJO3UTnsjIfpohXhJl1T35kKNwmEnSV97HNzcHGLfgAcbnsZQ==" + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/@types/vinyl-fs/-/vinyl-fs-2.4.7.tgz", + "integrity": "sha512-9g/M58+azoeebBVzPEdo2O0ScBrXXKu9CqBlZYXe/EVG+b1beLfkFVH7mKpZnJGQz95HR8VPu8QUAoqUqO9q4Q==" }, "@types/webpack": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-3.0.9.tgz", - "integrity": "sha512-xXqusBBKbYb8fA1jtE3iO75uRW1ejqGuH93V+6fhbfNY59ndKjfhftJVxcSaYAMDjmFTRBHy82d+513JKuHD5g==" + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-3.0.10.tgz", + "integrity": "sha512-Xjv1QuWFCVwjxnpcgcdvtR6G4w0tCUpV1Mi5+LPN8w89a/qu8NVbTm1zhD7ZWzvvjE5fMtYNchFHcbjV3u2jyg==" }, "@types/yargs": { "version": "8.0.2", @@ -298,14 +298,14 @@ } }, "array-last": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.1.1.tgz", - "integrity": "sha1-9GWPmI2SEya1itARPPdtM3x7IKo=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.2.0.tgz", + "integrity": "sha1-CISmfsKsKggTP8APZnec/tsBCYY=", "dependencies": { "is-number": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", - "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=" } } }, @@ -445,9 +445,9 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dependencies": { "core-js": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz", - "integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" } } }, @@ -457,9 +457,9 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dependencies": { "core-js": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz", - "integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" } } }, @@ -557,9 +557,9 @@ } }, "browserify-aes": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", - "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.8.tgz", + "integrity": "sha512-WYCMOT/PtGTlpOKFht0YJFYcPy6pLCR98CtWfzK13zoynLlBMvAdEMSRGmgnJCw2M2j/5qxBkinZQFobieM8dQ==" }, "browserify-cipher": { "version": "1.0.0", @@ -647,9 +647,9 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=" }, "ci-info": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.0.0.tgz", - "integrity": "sha1-3FKF8rTiUYIWg2gcOBwziPRuxTQ=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz", + "integrity": "sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ==" }, "cipher-base": { "version": "1.0.4", @@ -917,9 +917,9 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=" }, "diff": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.0.tgz", - "integrity": "sha512-w0XZubFWn0Adlsapj9EAWX0FqWdO4tz8kc3RiYdWLh4k/V8PTb6i0SMgXt0vRM3zyKnT8tKO7mUlieRQHIjMNg==" + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", + "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==" }, "diffie-hellman": { "version": "5.0.2", @@ -1010,9 +1010,9 @@ "integrity": "sha1-B9XOaRJBJA+4F78sSxjW5TAkDfY=" }, "enzyme-matchers": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/enzyme-matchers/-/enzyme-matchers-3.8.0.tgz", - "integrity": "sha1-4uCj4LnXbZ7zGsv1/2YCydVu0Ds=" + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/enzyme-matchers/-/enzyme-matchers-3.8.2.tgz", + "integrity": "sha1-vzyNLf6j03LkiVzyLdo/UVRhSDM=" }, "enzyme-to-json": { "version": "1.5.1", @@ -1030,9 +1030,9 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=" }, "es-abstract": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.8.0.tgz", - "integrity": "sha512-Cf9/h5MrXtExM20gSS55YFrGKCyPrRBjIVBtVyy8vmlsDfe0NPKMWj65tPLgzyfPuapWxh5whpXCtW4+AW5mRg==" + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.8.2.tgz", + "integrity": "sha512-dvhwFL3yjQxNNsOWx6exMlaDrRHCRGMQlnx5lsXDCZ/J7G/frgIIl94zhZSp/galVAYp7VzPi1OrAHta89/yGQ==" }, "es-to-primitive": { "version": "1.1.1", @@ -1040,9 +1040,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=" }, "es5-ext": { - "version": "0.10.27", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.27.tgz", - "integrity": "sha512-3KXJRYzKXTd7xfFy5uZsJCXue55fAYQ035PRjyYk2PicllxIwcW9l3AbM/eGaw3vgVAUW4tl4xg9AXDEI6yw0w==" + "version": "0.10.30", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.30.tgz", + "integrity": "sha1-cUGhaDZpfbq/qq7uQUlc4p9SyTk=" }, "es6-iterator": { "version": "2.0.1", @@ -1142,9 +1142,9 @@ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" }, "evp_bytestokey": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", - "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==" }, "exec-sh": { "version": "0.2.0", @@ -1857,9 +1857,9 @@ } }, "function-bind": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz", - "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "function.prototype.name": { "version": "1.0.3", @@ -2066,9 +2066,9 @@ "optional": true, "dependencies": { "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "optional": true } } @@ -2406,9 +2406,9 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "istanbul-api": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.11.tgz", - "integrity": "sha1-/MC0YeKzvaceMFFVE4I4doJX2d4=" + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.14.tgz", + "integrity": "sha1-JbxXAffGgMD//5E95G42GaOm5oA=" }, "istanbul-lib-coverage": { "version": "1.1.1", @@ -2421,9 +2421,9 @@ "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==" }, "istanbul-lib-instrument": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.4.tgz", - "integrity": "sha1-6f2SDkdn89Ge3HZeLWs/XMvQ7qg=" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz", + "integrity": "sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI=" }, "istanbul-lib-report": { "version": "1.1.1", @@ -2443,9 +2443,9 @@ "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==" }, "istanbul-reports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha512-P8G873A0kW24XRlxHVGhMJBhQ8gWAec+dae7ZxOBzxT4w+a9ATSPvRVK3LB1RAJ9S8bg2tOyWHAGW40Zd2dKfw==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=" }, "jest": { "version": "20.0.4", @@ -2555,14 +2555,14 @@ "integrity": "sha1-1Ii8RhKvLCRumG6K52caCZFj1AM=" }, "jest-enzyme": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/jest-enzyme/-/jest-enzyme-3.8.0.tgz", - "integrity": "sha1-lNRjRvsQ7qJFzBD9Pg0wNONTvN0=" + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/jest-enzyme/-/jest-enzyme-3.8.2.tgz", + "integrity": "sha1-sDUsqQGTtKzBVQkgbsaN3EHZi20=" }, "jest-haste-map": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.4.tgz", - "integrity": "sha1-ZT61XIic48Ah97lGk/IKQVm63wM=" + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.5.tgz", + "integrity": "sha512-0IKAQjUvuZjMCNi/0VNQQF74/H9KB67hsHJqGiwTWQC6XO5Azs7kLWm+6Q/dwuhvDUvABDOBMFK2/FwZ3sZ07Q==" }, "jest-jasmine2": { "version": "20.0.4", @@ -3038,6 +3038,18 @@ } } }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dependencies": { + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=" + } + } + }, "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", @@ -3069,14 +3081,14 @@ "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=" }, "mime-db": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", - "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=" + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" }, "mime-types": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", - "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=" + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=" }, "mimic-fn": { "version": "1.1.0", @@ -3124,9 +3136,9 @@ "integrity": "sha1-yLhSHZWN8KTydoAl22nHGe5O8c4=" }, "nan": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz", - "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", + "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=", "optional": true }, "native-promise-only": { @@ -3259,9 +3271,16 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=" }, "object.pick": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.2.0.tgz", - "integrity": "sha1-tTkr7peC2m2ft9avr1OXefEjTCs=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } }, "object.reduce": { "version": "1.0.1", @@ -3631,9 +3650,9 @@ "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" }, "regex-cache": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", - "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=" + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==" }, "remove-trailing-separator": { "version": "1.1.0", @@ -3743,21 +3762,9 @@ "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" }, "semver-greatest-satisfied-range": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.0.0.tgz", - "integrity": "sha1-T7RB4qjSbEC1mDJ1VzGN4nKlWKA=", - "dependencies": { - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" - } - } - }, - "semver-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", - "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=" }, "set-blocking": { "version": "2.0.0", @@ -3820,9 +3827,9 @@ "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==" }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "source-map-loader": { "version": "0.2.1", @@ -3842,9 +3849,9 @@ } }, "source-map-support": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.16.tgz", - "integrity": "sha512-A6vlydY7H/ljr4L2UOhDSajQdZQ6dMD7cLH0pzwcmwLyc9u8PNI4WGtnfDDzX7uzGL6c/T+ORL97Zlh+S4iOrg==" + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.17.tgz", + "integrity": "sha512-30c1Ch8FSjV0FwC253iftbbj0dU/OXoSg1LAEGZJUlGgjTNj6cu+DVqJWWIZJY5RXLWV4eFtR+4ouo0VIOYOTg==" }, "sparkles": { "version": "1.0.0", @@ -3894,9 +3901,9 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=" }, "stream-exhaust": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.1.tgz", - "integrity": "sha1-wMRFXlTOWhecqHNuczNLTn/WdVM=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==" }, "stream-http": { "version": "2.7.2", @@ -3977,6 +3984,11 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=" + }, "symbol-tree": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", @@ -4110,14 +4122,14 @@ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" }, "ts-jest": { - "version": "20.0.10", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-20.0.10.tgz", - "integrity": "sha1-Gek4bmyJDTHCpk6TjtwMhPyTfrw=" + "version": "20.0.14", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-20.0.14.tgz", + "integrity": "sha512-aygKypLeCKVCpAqxEjpE5j4y4lBbh14UU+puQk/LcH3yBT0nRFQs0NzQoE6vgxhg6p1kl4Q5BkfiJdnuGwzqIg==" }, "ts-loader": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-2.3.3.tgz", - "integrity": "sha512-BX/BZF2BWr4wKrzw+sI3eam04cocz46HX/ERt2YZZYTgyOdUPlRnuVoukKaFIGyTE3vo5uYYGTCvKuKiUJUffg==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-2.3.4.tgz", + "integrity": "sha512-OTFLRAX5LdIbdB9VOBzgdF4/FubWnZUTbxaAZeN70TvMCFVeaRIWcLGGvowlKwpObNih9KDScWYmLnYzDL2P7A==", "dependencies": { "ansi-styles": { "version": "3.2.0", @@ -4140,9 +4152,9 @@ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=" }, "supports-color": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.1.tgz", - "integrity": "sha512-qxzYsob3yv6U+xMzPrv170y8AwGP7i74g+pbixCfD6rgso8BscLT2qXIuz6TpOaiJZ3mFgT5O9lyT9nMU4LfaA==" + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==" } } }, @@ -4152,14 +4164,14 @@ "integrity": "sha1-vIAEFkaRkjp5/oN4u+s9ogF1OOw=" }, "tslint": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.6.0.tgz", - "integrity": "sha1-CIqmxgJmIzOGULKQCCirPt9Z9s8=" + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.7.0.tgz", + "integrity": "sha1-wl4NDJL6EgHCvDDoROCOaCtPNVI=" }, "tsutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.8.0.tgz", - "integrity": "sha1-AWAXNymzvxOGKN0UoVN+AIUdgUo=" + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.8.2.tgz", + "integrity": "sha1-LBSGukMSYIRbCsb5Aq/Z1wio6mo=" }, "tty-browserify": { "version": "0.0.0", @@ -4193,9 +4205,9 @@ "integrity": "sha1-A6wGNqNIGRRPvL4K4u2av2wZqQg=" }, "typescript": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.2.tgz", - "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.5.2.tgz", + "integrity": "sha1-A4qV99m7tCCxvzW6MdTFwd0//jQ=" }, "ua-parser-js": { "version": "0.7.14", @@ -4203,9 +4215,9 @@ "integrity": "sha1-EQ1T+kw/MmwSEpK76skE0uAzh8o=" }, "uglify-js": { - "version": "3.0.27", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.27.tgz", - "integrity": "sha512-HD8CmxPXUI62v5tweiulMcP/apAtx1DXGcNZkhKQZyC+MTrTsoCBb8yPAwVrbvpgw3EpRU76bRe6axjIiCYcQg==" + "version": "3.0.28", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.28.tgz", + "integrity": "sha512-0h/qGay016GG2lVav3Kz174F3T2Vjlz2v6HCt+WDQpoXfco0hWwF5gHK9yh88mUYvIC+N7Z8NT8WpjSp1yoqGA==" }, "uglify-to-browserify": { "version": "1.0.2", @@ -4399,9 +4411,9 @@ "integrity": "sha512-qeUx4nIbeLL53qqNTs3kObPBMkUVDrOjEfp/hTvMlx21qL2MsGNr8/tXCoX/lS12dLl9qtZaXv2qfBEctPScDg==", "dependencies": { "acorn": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", - "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", + "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==" }, "ajv": { "version": "5.2.2", @@ -4419,9 +4431,9 @@ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=" }, "supports-color": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.1.tgz", - "integrity": "sha512-qxzYsob3yv6U+xMzPrv170y8AwGP7i74g+pbixCfD6rgso8BscLT2qXIuz6TpOaiJZ3mFgT5O9lyT9nMU4LfaA==" + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==" } } }, diff --git a/packages/react-forms/src/abstractions/base-form.ts b/packages/react-forms/src/abstractions/base-form.ts index 7a90132..90c9622 100644 --- a/packages/react-forms/src/abstractions/base-form.ts +++ b/packages/react-forms/src/abstractions/base-form.ts @@ -48,12 +48,6 @@ export abstract class BaseForm e return this.FormStore.GetState().Form.Error == null; } - public componentWillUnmount(): void { - if (this.props.destroyOnUnmount) { - this.FormStoresHandler.UnregisterForm(this.FormId); - } - } - public componentDidMount(): void { const props: TProps = this.props; if (props.onMount != null) { @@ -61,6 +55,15 @@ export abstract class BaseForm e } } + public componentWillReceiveProps(nextProps: FormContracts.FormProps): void { + this.FormStore.UpdateFormProps(nextProps); + } + + public componentWillUnmount(): void { + if (this.props.destroyOnUnmount) { + this.FormStoresHandler.UnregisterForm(this.FormId); + } + } public abstract render(): JSX.Element | null; /* diff --git a/packages/react-forms/src/contracts/form.ts b/packages/react-forms/src/contracts/form.ts index 251ad28..8aaa6ef 100644 --- a/packages/react-forms/src/contracts/form.ts +++ b/packages/react-forms/src/contracts/form.ts @@ -27,7 +27,7 @@ export interface FormChildContext { } export interface FormState { - Props: FormStateProps; + Props: FormPropsRecord; Validating: boolean; Disabled: boolean; Error?: FormErrorRecord; diff --git a/packages/react-forms/src/stores/form-store-helpers.ts b/packages/react-forms/src/stores/form-store-helpers.ts index 61ff0f7..b505669 100644 --- a/packages/react-forms/src/stores/form-store-helpers.ts +++ b/packages/react-forms/src/stores/form-store-helpers.ts @@ -1,5 +1,6 @@ import * as React from "react"; import { FieldStorePropsRecord } from "../contracts/field"; +import { FormPropsRecord } from "../contracts"; export const FIELDS_GROUP_SEPARATOR = "."; @@ -56,7 +57,10 @@ export namespace FormStoreHelpers { return result; } - export function PropsEqual(newProps: FieldStorePropsRecord, oldProps: FieldStorePropsRecord): boolean { + export function PropsEqual( + newProps: FieldStorePropsRecord | FormPropsRecord, + oldProps: FieldStorePropsRecord | FormPropsRecord + ): boolean { const newKeys = newProps.keySeq().toArray(); const oldKeys = oldProps.keySeq().toArray(); diff --git a/packages/react-forms/src/stores/form-store.ts b/packages/react-forms/src/stores/form-store.ts index 811c474..2de5374 100644 --- a/packages/react-forms/src/stores/form-store.ts +++ b/packages/react-forms/src/stores/form-store.ts @@ -264,11 +264,18 @@ export class FormStore extends ActionEmitter { } public UpdateFormProps(props: FormProps): void { + const propsRecord = recordify(props); + + if (this.State.Form.Props == null || + FormStoreHelpers.PropsEqual(propsRecord, this.State.Form.Props)) { + return; + } + this.State = this.State.withMutations(state => { state.Form = state.Form.withMutations(formState => { - formState.Props = recordify(props); - if (props != null && props.disabled === true) { - formState.Disabled = true; + formState.Props = propsRecord; + if (props != null && props.disabled != null) { + formState.Disabled = props.disabled; } }); return this.RecalculateDependentFormStatuses(state); From 6407a51310d8092feb7364f58d2fb907e1ec296e Mon Sep 17 00:00:00 2001 From: Dovydas Navickas Date: Wed, 6 Sep 2017 17:26:11 +0300 Subject: [PATCH 2/3] Main dependencies updated. --- package.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index accc6b1..d19e017 100644 --- a/package.json +++ b/package.json @@ -10,16 +10,16 @@ "rush-tools": "ts-node ./tools/rush-tools.ts" }, "devDependencies": { - "@microsoft/rush": "^3.0.11", - "@microsoft/rush-lib": "^3.0.11", - "@microsoft/ts-command-line": "^2.0.2", - "@types/semver": "^5.3.32", - "@types/shelljs": "^0.7.2", + "@microsoft/rush": "^3.0.15", + "@microsoft/rush-lib": "^3.0.15", + "@microsoft/ts-command-line": "^2.0.6", + "@types/semver": "^5.4.0", + "@types/shelljs": "^0.7.4", "mz": "^2.6.0", - "semver": "^5.3.0", + "semver": "^5.4.1", "shelljs": "^0.7.8", - "ts-node": "^3.1.0", - "typescript": "^2.4.2" + "ts-node": "^3.3.0", + "typescript": "^2.5.2" }, "dependencies": {} } From b08c92899149e57a62db465d568c026526be8ac7 Mon Sep 17 00:00:00 2001 From: Dovydas Navickas Date: Wed, 6 Sep 2017 17:41:59 +0300 Subject: [PATCH 3/3] Rush dependencies fixed. --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index d19e017..f7c3273 100644 --- a/package.json +++ b/package.json @@ -10,9 +10,9 @@ "rush-tools": "ts-node ./tools/rush-tools.ts" }, "devDependencies": { - "@microsoft/rush": "^3.0.15", - "@microsoft/rush-lib": "^3.0.15", - "@microsoft/ts-command-line": "^2.0.6", + "@microsoft/rush": "3.0.11", + "@microsoft/rush-lib": "3.0.11", + "@microsoft/ts-command-line": "2.0.6", "@types/semver": "^5.4.0", "@types/shelljs": "^0.7.4", "mz": "^2.6.0",