diff --git a/frontend/config/webpack.config.dev.js b/frontend/config/webpack.config.dev.js
index 0686bd6d87..bfcdcc41a9 100644
--- a/frontend/config/webpack.config.dev.js
+++ b/frontend/config/webpack.config.dev.js
@@ -128,6 +128,11 @@ module.exports = {
require.resolve('./polyfills'),
require.resolve('react-dev-utils/webpackHotDevClient'),
paths.appSrc + "/pages/org-admin",
+ ],
+ viewFileUMind: [
+ require.resolve('./polyfills'),
+ require.resolve('react-dev-utils/webpackHotDevClient'),
+ paths.appSrc + "/view-file-umind.js",
]
},
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index f7c5ee8830..cb7b18feda 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -4,6 +4,287 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+ "@ant-design/icons": {
+ "version": "1.1.16",
+ "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-1.1.16.tgz",
+ "integrity": "sha512-0zNVP5JYBJkfMi9HotN6QBQjF3SFmUlumJNJXZIH+pZWp/5EbrCczzlG3YTmBWoyRHAsuOGIjSFIy8v/76DTPg=="
+ },
+ "@ant-design/icons-react": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@ant-design/icons-react/-/icons-react-1.1.2.tgz",
+ "integrity": "sha512-7Fgt9d8ABgxrhZxsFjHk/VpPcxodQJJhbJO8Lsh7u58pGN4NoxxW++92naeGTXCyqZsbDPBReP+SC0bdBtbsGQ==",
+ "requires": {
+ "ant-design-palettes": "^1.1.3",
+ "babel-runtime": "^6.26.0"
+ }
+ },
+ "@antv/attr": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/@antv/attr/-/attr-0.0.7.tgz",
+ "integrity": "sha512-dgvJ2j6Sn7of8AET9ykTseS8mjwisLcAGf/UCkEaMLCduCr6hQtwAEBIZnEpk0b04QlD5pu0kqV93B1ItnvCPw==",
+ "requires": {
+ "@antv/util": "~1.2.5"
+ },
+ "dependencies": {
+ "@antv/util": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.2.5.tgz",
+ "integrity": "sha512-yz1AjXSEjNu9O5kK9pqKq69f/Iliu/IA3XXljUcfrlbUtmUJ0CH1tB5I60vPqfaKaUPhz+/35K+56yqaCsGmqA==",
+ "requires": {
+ "@antv/gl-matrix": "^2.7.1"
+ }
+ }
+ }
+ },
+ "@antv/component": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/@antv/component/-/component-0.0.9.tgz",
+ "integrity": "sha512-AcI6oG0Ot9svKieA3AowQuGmwsIjQpC2XJv71FRua/3b0IaWnF3K93vyJnmsWej+CQnXPE68JZaIjdgtAcgTwg==",
+ "requires": {
+ "@antv/attr": "~0.0.7",
+ "@antv/g": "~3.2.2",
+ "@antv/util": "~1.2.5",
+ "wolfy87-eventemitter": "~5.1.0"
+ },
+ "dependencies": {
+ "@antv/g": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@antv/g/-/g-3.2.2.tgz",
+ "integrity": "sha512-mBuFnoWS6zIRy+MhpGDJxq1tHJj0o1mp0ifWPRiIFO3rlZLcNHf0D/Ww+UoC5+d8GZTz+6JqIzmxCZ3EZ4LmdQ==",
+ "requires": {
+ "@antv/gl-matrix": "~2.7.1",
+ "@antv/util": "~1.2.3",
+ "d3-ease": "~1.0.3",
+ "d3-interpolate": "~1.1.5",
+ "d3-timer": "~1.0.6",
+ "wolfy87-eventemitter": "~5.1.0"
+ }
+ },
+ "@antv/util": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.2.5.tgz",
+ "integrity": "sha512-yz1AjXSEjNu9O5kK9pqKq69f/Iliu/IA3XXljUcfrlbUtmUJ0CH1tB5I60vPqfaKaUPhz+/35K+56yqaCsGmqA==",
+ "requires": {
+ "@antv/gl-matrix": "^2.7.1"
+ }
+ },
+ "wolfy87-eventemitter": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.1.0.tgz",
+ "integrity": "sha1-NcGsDdGsDBXjXZgVCPwiCEoToBE="
+ }
+ }
+ },
+ "@antv/g": {
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/@antv/g/-/g-3.3.5.tgz",
+ "integrity": "sha512-VCfxmQ5ntIf4QHku6w7TnOWHVkfIzOkXVXx99WLYPau8HgLuM4iD9y7isG5T7VpRBAmV+Ow3RJHqL3vHFY2Low==",
+ "requires": {
+ "@antv/gl-matrix": "~2.7.1",
+ "@antv/util": "~1.3.1",
+ "d3-ease": "~1.0.3",
+ "d3-interpolate": "~1.1.5",
+ "d3-timer": "~1.0.6",
+ "wolfy87-eventemitter": "~5.1.0"
+ },
+ "dependencies": {
+ "wolfy87-eventemitter": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.1.0.tgz",
+ "integrity": "sha1-NcGsDdGsDBXjXZgVCPwiCEoToBE="
+ }
+ }
+ },
+ "@antv/g6": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/@antv/g6/-/g6-2.2.6.tgz",
+ "integrity": "sha512-xxuXYjxw7o97PRo94e3pXHbsdHYdd+oKzy20ig91F61Bb7ddlHZg0I6ReU+skfS83cffqozgS+eZ9GWAUkS9UQ==",
+ "requires": {
+ "@antv/component": "~0.0.4",
+ "@antv/g": "^3.3.0",
+ "@antv/hierarchy": "~0.3.13",
+ "@antv/scale": "^0.0.1",
+ "@antv/util": "^1.2.0",
+ "d3": "^5.4.0",
+ "d3-sankey": "^0.7.1",
+ "d3-svg-legend": "^2.25.6",
+ "dagre": "~0.8.2",
+ "dom-to-image": "^2.6.0",
+ "lodash": "~4.17.4",
+ "wolfy87-eventemitter": "~5.2.4"
+ }
+ },
+ "@antv/gl-matrix": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/@antv/gl-matrix/-/gl-matrix-2.7.1.tgz",
+ "integrity": "sha512-oOWcVNlpELIKi9x+Mm1Vwbz8pXfkbJKykoCIOJ/dNK79hSIANbpXJ5d3Rra9/wZqK6MC961B7sybFhPlLraT3Q=="
+ },
+ "@antv/hierarchy": {
+ "version": "0.3.15",
+ "resolved": "https://registry.npmjs.org/@antv/hierarchy/-/hierarchy-0.3.15.tgz",
+ "integrity": "sha512-TxgrQrNayVLgimfbWti+QIMVEEt+Pc8dodMC4ypMSAsJ6Yj8JXmcibgego7j7dFRqnlzyUdaiNCQUMBgl2cQvQ==",
+ "requires": {
+ "@antv/util": "^1.2.4"
+ }
+ },
+ "@antv/scale": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/@antv/scale/-/scale-0.0.1.tgz",
+ "integrity": "sha512-SZ5nRe57tYq1dOJLPwwc+8iQFeHXXMTq3Me9UKYmnSvy9uh0GMoe0OwqkwJuFDsGJjJ4iyM/JNuvb0mwCC+Nhw==",
+ "requires": {
+ "@antv/util": "~1.0.6",
+ "fecha": "~2.3.3"
+ },
+ "dependencies": {
+ "@antv/util": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.0.12.tgz",
+ "integrity": "sha512-lRQ98e4g6qHgZ78ak5HJq6tCQRfofcdIi5H7mXIubp2mpfQHaez2eMKxmPAvHTyD3At74gNP8qjFdzHsPcXsXA=="
+ }
+ }
+ },
+ "@antv/util": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz",
+ "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==",
+ "requires": {
+ "@antv/gl-matrix": "^2.7.1"
+ }
+ },
+ "@babel/code-frame": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
+ "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/core": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.3.4.tgz",
+ "integrity": "sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/generator": "^7.3.4",
+ "@babel/helpers": "^7.2.0",
+ "@babel/parser": "^7.3.4",
+ "@babel/template": "^7.2.2",
+ "@babel/traverse": "^7.3.4",
+ "@babel/types": "^7.3.4",
+ "convert-source-map": "^1.1.0",
+ "debug": "^4.1.0",
+ "json5": "^2.1.0",
+ "lodash": "^4.17.11",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz",
+ "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==",
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.11",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "json5": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
+ "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz",
+ "integrity": "sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==",
+ "requires": {
+ "@babel/types": "^7.3.4",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.11",
+ "source-map": "^0.5.0",
+ "trim-right": "^1.0.1"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz",
+ "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==",
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.11",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+ }
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
"@babel/helper-module-imports": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
@@ -12,6 +293,72 @@
"@babel/types": "^7.0.0"
}
},
+ "@babel/helper-split-export-declaration": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz",
+ "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==",
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz",
+ "integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==",
+ "requires": {
+ "@babel/template": "^7.1.2",
+ "@babel/traverse": "^7.1.5",
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
+ "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "@babel/parser": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz",
+ "integrity": "sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ=="
+ },
"@babel/runtime": {
"version": "7.3.4",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.4.tgz",
@@ -27,6 +374,67 @@
}
}
},
+ "@babel/template": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz",
+ "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.2.2",
+ "@babel/types": "^7.2.2"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz",
+ "integrity": "sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/generator": "^7.3.4",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.0.0",
+ "@babel/parser": "^7.3.4",
+ "@babel/types": "^7.3.4",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.11"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz",
+ "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==",
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.11",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "globals": {
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz",
+ "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw=="
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+ }
+ }
+ },
"@babel/types": {
"version": "7.3.3",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.3.tgz",
@@ -123,9 +531,9 @@
"integrity": "sha512-8KtjFl4D0vJBTl1H64ciXHz5oyUtqnnJI65wAa1IBKwA+xmF/++DWeV1i+O9/DK135ZVhrERfgW2EGvu50ZMNQ=="
},
"@seafile/seafile-editor": {
- "version": "0.1.74",
- "resolved": "https://registry.npmjs.org/@seafile/seafile-editor/-/seafile-editor-0.1.74.tgz",
- "integrity": "sha512-UcrBC876lrhsppjcVfOwZV0J83Uol34Iyl1NBAtvvMsF5K6Xyc8pPBKaUxjqgxZ19y4GWhyX7HChS4/qMFVd6Q==",
+ "version": "0.1.76",
+ "resolved": "https://registry.npmjs.org/@seafile/seafile-editor/-/seafile-editor-0.1.76.tgz",
+ "integrity": "sha512-YquIVAJu/fENg880VHMWEsg00EFl4tyucuXuWTpWr17GC+2TxIpA57HmhNZLnj8UloGhjSTkP09kz2K7Br//mg==",
"requires": {
"@seafile/slate-react": "0.1.4",
"autoprefixer": "7.1.6",
@@ -269,6 +677,11 @@
}
}
},
+ "@types/d3-selection": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-1.0.10.tgz",
+ "integrity": "sha1-3PsN3837GtJq6kNRMjdx4a6pboQ="
+ },
"@types/node": {
"version": "11.9.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-11.9.6.tgz",
@@ -380,6 +793,14 @@
}
}
},
+ "add-dom-event-listener": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz",
+ "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==",
+ "requires": {
+ "object-assign": "4.x"
+ }
+ },
"address": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz",
@@ -469,6 +890,95 @@
"color-convert": "^1.9.0"
}
},
+ "ant-design-palettes": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/ant-design-palettes/-/ant-design-palettes-1.1.3.tgz",
+ "integrity": "sha512-UpkkTp8egEN21KZNvY7sTcabLlkHvLvS71EVPk4CYi77Z9AaGGCaVn7i72tbOgWDrQp2wjIg8WgMbKBdK7GtWA==",
+ "requires": {
+ "tinycolor2": "^1.4.1"
+ }
+ },
+ "antd": {
+ "version": "3.13.6",
+ "resolved": "https://registry.npmjs.org/antd/-/antd-3.13.6.tgz",
+ "integrity": "sha512-V98EecoaKhHAxulhj07Uy9K4Hxzi+JkmdgYtimZIlaVnAGG3rIfIVgKVkWRK8uHTvvUZJtRIB621BNkhuHW1wQ==",
+ "requires": {
+ "@ant-design/icons": "~1.1.16",
+ "@ant-design/icons-react": "~1.1.2",
+ "array-tree-filter": "^2.1.0",
+ "babel-runtime": "6.x",
+ "classnames": "~2.2.6",
+ "create-react-class": "^15.6.3",
+ "create-react-context": "0.2.2",
+ "css-animation": "^1.5.0",
+ "dom-closest": "^0.2.0",
+ "enquire.js": "^2.1.6",
+ "lodash": "^4.17.11",
+ "moment": "^2.24.0",
+ "omit.js": "^1.0.0",
+ "prop-types": "^15.6.2",
+ "raf": "^3.4.0",
+ "rc-animate": "^2.5.4",
+ "rc-calendar": "~9.10.3",
+ "rc-cascader": "~0.17.0",
+ "rc-checkbox": "~2.1.5",
+ "rc-collapse": "~1.10.2",
+ "rc-dialog": "~7.3.0",
+ "rc-drawer": "~1.7.6",
+ "rc-dropdown": "~2.4.1",
+ "rc-editor-mention": "^1.1.7",
+ "rc-form": "^2.4.0",
+ "rc-input-number": "~4.3.7",
+ "rc-menu": "~7.4.12",
+ "rc-notification": "~3.3.0",
+ "rc-pagination": "~1.17.7",
+ "rc-progress": "~2.3.0",
+ "rc-rate": "~2.5.0",
+ "rc-select": "^8.6.7",
+ "rc-slider": "~8.6.5",
+ "rc-steps": "~3.3.0",
+ "rc-switch": "~1.9.0",
+ "rc-table": "~6.4.0",
+ "rc-tabs": "~9.6.0",
+ "rc-time-picker": "~3.6.1",
+ "rc-tooltip": "~3.7.3",
+ "rc-tree": "~1.14.6",
+ "rc-tree-select": "~2.5.0",
+ "rc-trigger": "^2.6.2",
+ "rc-upload": "~2.6.0",
+ "rc-util": "^4.5.1",
+ "react-lazy-load": "^3.0.13",
+ "react-lifecycles-compat": "^3.0.4",
+ "react-slick": "~0.23.2",
+ "resize-observer-polyfill": "^1.5.0",
+ "shallowequal": "^1.1.0",
+ "warning": "~4.0.2"
+ },
+ "dependencies": {
+ "create-react-context": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz",
+ "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==",
+ "requires": {
+ "fbjs": "^0.8.0",
+ "gud": "^1.0.0"
+ }
+ },
+ "moment": {
+ "version": "2.24.0",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
+ "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
+ },
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
"anymatch": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
@@ -563,6 +1073,11 @@
"resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
"integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys="
},
+ "array-tree-filter": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
+ "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
+ },
"array-union": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
@@ -654,6 +1169,14 @@
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
},
+ "async-validator": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz",
+ "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==",
+ "requires": {
+ "babel-runtime": "6.x"
+ }
+ },
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@@ -2650,11 +3173,24 @@
"resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
"integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E="
},
+ "component-classes": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz",
+ "integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=",
+ "requires": {
+ "component-indexof": "0.0.3"
+ }
+ },
"component-emitter": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
},
+ "component-indexof": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz",
+ "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ="
+ },
"component-inherit": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
@@ -2782,9 +3318,10 @@
}
},
"core-js": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
- "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
+ "version": "2.6.5",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz",
+ "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==",
+ "dev": true
},
"core-util-is": {
"version": "1.0.2",
@@ -2933,6 +3470,15 @@
"resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
"integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4="
},
+ "css-animation": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/css-animation/-/css-animation-1.5.0.tgz",
+ "integrity": "sha512-hWYoWiOZ7Vr20etzLh3kpWgtC454tW5vn4I6rLANDgpzNSkO7UfOqyCEeaoBSG9CYWQpRkFWTWbWW8o3uZrNLw==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "component-classes": "^1.2.5"
+ }
+ },
"css-color-names": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
@@ -3197,6 +3743,352 @@
"es5-ext": "^0.10.9"
}
},
+ "d3": {
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/d3/-/d3-5.9.1.tgz",
+ "integrity": "sha512-JceuBn5VVWySPQc9EA0gfq0xQVgEQXGokHhe+359bmgGeUITLK2r2b9idMzquQne9DKxb7JDCE1gDRXe9OIF2Q==",
+ "requires": {
+ "d3-array": "1",
+ "d3-axis": "1",
+ "d3-brush": "1",
+ "d3-chord": "1",
+ "d3-collection": "1",
+ "d3-color": "1",
+ "d3-contour": "1",
+ "d3-dispatch": "1",
+ "d3-drag": "1",
+ "d3-dsv": "1",
+ "d3-ease": "1",
+ "d3-fetch": "1",
+ "d3-force": "1",
+ "d3-format": "1",
+ "d3-geo": "1",
+ "d3-hierarchy": "1",
+ "d3-interpolate": "1",
+ "d3-path": "1",
+ "d3-polygon": "1",
+ "d3-quadtree": "1",
+ "d3-random": "1",
+ "d3-scale": "2",
+ "d3-scale-chromatic": "1",
+ "d3-selection": "1",
+ "d3-shape": "1",
+ "d3-time": "1",
+ "d3-time-format": "2",
+ "d3-timer": "1",
+ "d3-transition": "1",
+ "d3-voronoi": "1",
+ "d3-zoom": "1"
+ }
+ },
+ "d3-array": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
+ "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw=="
+ },
+ "d3-axis": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz",
+ "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ=="
+ },
+ "d3-brush": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.6.tgz",
+ "integrity": "sha512-lGSiF5SoSqO5/mYGD5FAeGKKS62JdA1EV7HPrU2b5rTX4qEJJtpjaGLJngjnkewQy7UnGstnFd3168wpf5z76w==",
+ "requires": {
+ "d3-dispatch": "1",
+ "d3-drag": "1",
+ "d3-interpolate": "1",
+ "d3-selection": "1",
+ "d3-transition": "1"
+ }
+ },
+ "d3-chord": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz",
+ "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==",
+ "requires": {
+ "d3-array": "1",
+ "d3-path": "1"
+ }
+ },
+ "d3-collection": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz",
+ "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A=="
+ },
+ "d3-color": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.2.3.tgz",
+ "integrity": "sha512-x37qq3ChOTLd26hnps36lexMRhNXEtVxZ4B25rL0DVdDsGQIJGB18S7y9XDwlDD6MD/ZBzITCf4JjGMM10TZkw=="
+ },
+ "d3-contour": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz",
+ "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==",
+ "requires": {
+ "d3-array": "^1.1.1"
+ }
+ },
+ "d3-dispatch": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz",
+ "integrity": "sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g=="
+ },
+ "d3-drag": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.3.tgz",
+ "integrity": "sha512-8S3HWCAg+ilzjJsNtWW1Mutl74Nmzhb9yU6igspilaJzeZVFktmY6oO9xOh5TDk+BM2KrNFjttZNoJJmDnkjkg==",
+ "requires": {
+ "d3-dispatch": "1",
+ "d3-selection": "1"
+ }
+ },
+ "d3-dsv": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.1.1.tgz",
+ "integrity": "sha512-1EH1oRGSkeDUlDRbhsFytAXU6cAmXFzc52YUe6MRlPClmWb85MP1J5x+YJRzya4ynZWnbELdSAvATFW/MbxaXw==",
+ "requires": {
+ "commander": "2",
+ "iconv-lite": "0.4",
+ "rw": "1"
+ }
+ },
+ "d3-ease": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.5.tgz",
+ "integrity": "sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ=="
+ },
+ "d3-fetch": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.1.2.tgz",
+ "integrity": "sha512-S2loaQCV/ZeyTyIF2oP8D1K9Z4QizUzW7cWeAOAS4U88qOt3Ucf6GsmgthuYSdyB2HyEm4CeGvkQxWsmInsIVA==",
+ "requires": {
+ "d3-dsv": "1"
+ }
+ },
+ "d3-force": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.0.tgz",
+ "integrity": "sha512-PFLcDnRVANHMudbQlIB87gcfQorEsDIAvRpZ2bNddfM/WxdsEkyrEaOIPoydhH1I1V4HPjNLGOMLXCA0AuGQ9w==",
+ "requires": {
+ "d3-collection": "1",
+ "d3-dispatch": "1",
+ "d3-quadtree": "1",
+ "d3-timer": "1"
+ }
+ },
+ "d3-format": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.3.2.tgz",
+ "integrity": "sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ=="
+ },
+ "d3-geo": {
+ "version": "1.11.3",
+ "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.3.tgz",
+ "integrity": "sha512-n30yN9qSKREvV2fxcrhmHUdXP9TNH7ZZj3C/qnaoU0cVf/Ea85+yT7HY7i8ySPwkwjCNYtmKqQFTvLFngfkItQ==",
+ "requires": {
+ "d3-array": "1"
+ }
+ },
+ "d3-hierarchy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz",
+ "integrity": "sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w=="
+ },
+ "d3-interpolate": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.1.6.tgz",
+ "integrity": "sha512-mOnv5a+pZzkNIHtw/V6I+w9Lqm9L5bG3OTXPM5A+QO0yyVMQ4W1uZhR+VOJmazaOZXri2ppbiZ5BUNWT0pFM9A==",
+ "requires": {
+ "d3-color": "1"
+ }
+ },
+ "d3-path": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.7.tgz",
+ "integrity": "sha512-q0cW1RpvA5c5ma2rch62mX8AYaiLX0+bdaSM2wxSU9tXjU4DNvkx9qiUvjkuWCj3p22UO/hlPivujqMiR9PDzA=="
+ },
+ "d3-polygon": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.5.tgz",
+ "integrity": "sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w=="
+ },
+ "d3-quadtree": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.6.tgz",
+ "integrity": "sha512-NUgeo9G+ENQCQ1LsRr2qJg3MQ4DJvxcDNCiohdJGHt5gRhBW6orIB5m5FJ9kK3HNL8g9F4ERVoBzcEwQBfXWVA=="
+ },
+ "d3-random": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz",
+ "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ=="
+ },
+ "d3-sankey": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.7.1.tgz",
+ "integrity": "sha1-0imDImj8aaf+yEgD6WwiVqYUxSE=",
+ "requires": {
+ "d3-array": "1",
+ "d3-collection": "1",
+ "d3-shape": "^1.2.0"
+ }
+ },
+ "d3-scale": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz",
+ "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==",
+ "requires": {
+ "d3-array": "^1.2.0",
+ "d3-collection": "1",
+ "d3-format": "1",
+ "d3-interpolate": "1",
+ "d3-time": "1",
+ "d3-time-format": "2"
+ }
+ },
+ "d3-scale-chromatic": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.3.3.tgz",
+ "integrity": "sha512-BWTipif1CimXcYfT02LKjAyItX5gKiwxuPRgr4xM58JwlLocWbjPLI7aMEjkcoOQXMkYsmNsvv3d2yl/OKuHHw==",
+ "requires": {
+ "d3-color": "1",
+ "d3-interpolate": "1"
+ }
+ },
+ "d3-selection": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.0.tgz",
+ "integrity": "sha512-EYVwBxQGEjLCKF2pJ4+yrErskDnz5v403qvAid96cNdCMr8rmCYfY5RGzWz24mdIbxmDf6/4EAH+K9xperD5jg=="
+ },
+ "d3-shape": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.4.tgz",
+ "integrity": "sha512-izaz4fOpOnY3CD17hkZWNxbaN70sIGagLR/5jb6RS96Y+6VqX+q1BQf1av6QSBRdfULi3Gb8Js4CzG4+KAPjMg==",
+ "requires": {
+ "d3-path": "1"
+ }
+ },
+ "d3-svg-legend": {
+ "version": "2.25.6",
+ "resolved": "https://registry.npmjs.org/d3-svg-legend/-/d3-svg-legend-2.25.6.tgz",
+ "integrity": "sha1-jY3BvWk8N47ki2+CPook5o8uGtI=",
+ "requires": {
+ "@types/d3-selection": "1.0.10",
+ "d3-array": "1.0.1",
+ "d3-dispatch": "1.0.1",
+ "d3-format": "1.0.2",
+ "d3-scale": "1.0.3",
+ "d3-selection": "1.0.2",
+ "d3-transition": "1.0.3"
+ },
+ "dependencies": {
+ "d3-array": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.0.1.tgz",
+ "integrity": "sha1-N1wCh0/NlsFu2fG89bSnvlPzWOc="
+ },
+ "d3-dispatch": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.1.tgz",
+ "integrity": "sha1-S9ZaQ87P9DGN653yRVKqi/KBqEA="
+ },
+ "d3-format": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.0.2.tgz",
+ "integrity": "sha1-E4YYMgtLvrQ7XA/zBRkHn7vXN14="
+ },
+ "d3-scale": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-1.0.3.tgz",
+ "integrity": "sha1-T56PDMLqDzkl/wSsJ63AkEX6TJA=",
+ "requires": {
+ "d3-array": "1",
+ "d3-collection": "1",
+ "d3-color": "1",
+ "d3-format": "1",
+ "d3-interpolate": "1",
+ "d3-time": "1",
+ "d3-time-format": "2"
+ }
+ },
+ "d3-selection": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.0.2.tgz",
+ "integrity": "sha1-rmYq/UcCrJxdoDmyEHoXZPockHA="
+ },
+ "d3-transition": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.0.3.tgz",
+ "integrity": "sha1-kdyYa92zCXNjkyCoXbcs5KsaJ7s=",
+ "requires": {
+ "d3-color": "1",
+ "d3-dispatch": "1",
+ "d3-ease": "1",
+ "d3-interpolate": "1",
+ "d3-selection": "1",
+ "d3-timer": "1"
+ }
+ }
+ }
+ },
+ "d3-time": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.11.tgz",
+ "integrity": "sha512-Z3wpvhPLW4vEScGeIMUckDW7+3hWKOQfAWg/U7PlWBnQmeKQ00gCUsTtWSYulrKNA7ta8hJ+xXc6MHrMuITwEw=="
+ },
+ "d3-time-format": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.3.tgz",
+ "integrity": "sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA==",
+ "requires": {
+ "d3-time": "1"
+ }
+ },
+ "d3-timer": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.9.tgz",
+ "integrity": "sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg=="
+ },
+ "d3-transition": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.2.0.tgz",
+ "integrity": "sha512-VJ7cmX/FPIPJYuaL2r1o1EMHLttvoIuZhhuAlRoOxDzogV8iQS6jYulDm3xEU3TqL80IZIhI551/ebmCMrkvhw==",
+ "requires": {
+ "d3-color": "1",
+ "d3-dispatch": "1",
+ "d3-ease": "1",
+ "d3-interpolate": "1",
+ "d3-selection": "^1.1.0",
+ "d3-timer": "1"
+ }
+ },
+ "d3-voronoi": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz",
+ "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg=="
+ },
+ "d3-zoom": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.7.3.tgz",
+ "integrity": "sha512-xEBSwFx5Z9T3/VrwDkMt+mr0HCzv7XjpGURJ8lWmIC8wxe32L39eWHIasEe/e7Ox8MPU4p1hvH8PKN2olLzIBg==",
+ "requires": {
+ "d3-dispatch": "1",
+ "d3-drag": "1",
+ "d3-interpolate": "1",
+ "d3-selection": "1",
+ "d3-transition": "1"
+ }
+ },
+ "dagre": {
+ "version": "0.8.4",
+ "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.4.tgz",
+ "integrity": "sha512-Dj0csFDrWYKdavwROb9FccHfTC4fJbyF/oJdL9LNZJ8WUvl968P6PAKEriGqfbdArVJEmmfA+UyumgWEwcHU6A==",
+ "requires": {
+ "graphlib": "^2.1.7",
+ "lodash": "^4.17.4"
+ }
+ },
"damerau-levenshtein": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz",
@@ -3415,6 +4307,19 @@
"esutils": "^2.0.2"
}
},
+ "dom-align": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.8.1.tgz",
+ "integrity": "sha512-0EPUDSr/Cha3IlS60bFTVj1eq7weXdzDNpdQDSfjsqAeftNPIW27wxmXpglboh10C0qV7/FdOvhp278XHkiM6Q=="
+ },
+ "dom-closest": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/dom-closest/-/dom-closest-0.2.0.tgz",
+ "integrity": "sha1-69n5HRvyLo1vR3h2u80+yQIWwM8=",
+ "requires": {
+ "dom-matches": ">=1.0.1"
+ }
+ },
"dom-converter": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz",
@@ -3435,6 +4340,16 @@
"resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz",
"integrity": "sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg=="
},
+ "dom-matches": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-matches/-/dom-matches-2.0.0.tgz",
+ "integrity": "sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw="
+ },
+ "dom-scroll-into-view": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-1.2.1.tgz",
+ "integrity": "sha1-6PNnMt0ImwIBqI14Fdw/iObWbH4="
+ },
"dom-serializer": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
@@ -3451,6 +4366,11 @@
}
}
},
+ "dom-to-image": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/dom-to-image/-/dom-to-image-2.6.0.tgz",
+ "integrity": "sha1-ilA2CAiMh7HCL5A0rgMuGJiVWGc="
+ },
"dom-urls": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/dom-urls/-/dom-urls-1.1.0.tgz",
@@ -3510,6 +4430,23 @@
"resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz",
"integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU="
},
+ "draft-js": {
+ "version": "0.10.5",
+ "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.10.5.tgz",
+ "integrity": "sha512-LE6jSCV9nkPhfVX2ggcRLA4FKs6zWq9ceuO/88BpXdNCS7mjRTgs0NsV6piUCJX9YxMsB9An33wnkMmU2sD2Zg==",
+ "requires": {
+ "fbjs": "^0.8.15",
+ "immutable": "~3.7.4",
+ "object-assign": "^4.1.0"
+ },
+ "dependencies": {
+ "immutable": {
+ "version": "3.7.6",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz",
+ "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks="
+ }
+ }
+ },
"duplexer": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
@@ -3655,6 +4592,11 @@
"tapable": "^0.2.7"
}
},
+ "enquire.js": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz",
+ "integrity": "sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ="
+ },
"entities": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
@@ -4211,6 +5153,11 @@
"integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=",
"dev": true
},
+ "eventlistener": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/eventlistener/-/eventlistener-0.0.1.tgz",
+ "integrity": "sha1-7Suqu4UiJ68rz4iRUscsY8pTLrg="
+ },
"events": {
"version": "1.1.1",
"resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz",
@@ -4436,6 +5383,11 @@
"ua-parser-js": "^0.7.9"
},
"dependencies": {
+ "core-js": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
+ },
"promise": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
@@ -4446,6 +5398,11 @@
}
}
},
+ "fecha": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz",
+ "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg=="
+ },
"figures": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
@@ -4722,15 +5679,13 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true,
- "optional": true
+ "dev": true
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
- "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -4747,22 +5702,19 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true,
- "optional": true
+ "dev": true
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true,
- "optional": true
+ "dev": true
},
"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=",
- "dev": true,
- "optional": true
+ "dev": true
},
"core-util-is": {
"version": "1.0.2",
@@ -4893,8 +5845,7 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true,
- "optional": true
+ "dev": true
},
"ini": {
"version": "1.3.5",
@@ -4908,7 +5859,6 @@
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
- "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -4925,7 +5875,6 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
- "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -4934,15 +5883,13 @@
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true,
- "optional": true
+ "dev": true
},
"minipass": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz",
"integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==",
"dev": true,
- "optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
@@ -4963,7 +5910,6 @@
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
- "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -5052,8 +5998,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "dev": true,
- "optional": true
+ "dev": true
},
"object-assign": {
"version": "4.1.1",
@@ -5067,7 +6012,6 @@
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
- "optional": true,
"requires": {
"wrappy": "1"
}
@@ -5205,7 +6149,6 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
- "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -5340,6 +6283,26 @@
"assert-plus": "^1.0.0"
}
},
+ "gg-editor": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/gg-editor/-/gg-editor-2.0.1.tgz",
+ "integrity": "sha512-4m/DfLZdQvDWECeyjXE3MCMh6DgVBNmwwnbb+/g1lRbu/osnMesE6KdTLRZcrFm/zGg4y2BhQBLQU9SCeDih8A==",
+ "requires": {
+ "@antv/g6": "^2.2.6",
+ "gg-editor-core": "1.3.3",
+ "lodash": "^4.17.10"
+ }
+ },
+ "gg-editor-core": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/gg-editor-core/-/gg-editor-core-1.3.3.tgz",
+ "integrity": "sha512-AcRms0GgiABZ6u9tz2LIAPU9+w8r6xvab2k6a3JOOC8TbKIcH6stjRa8QTh+FLGUPGarlRS28QSFcrPKkSCbYA==",
+ "requires": {
+ "@antv/g6": "^2.2.6",
+ "ant-design-palettes": "^1.1.3",
+ "wolfy87-eventemitter": "^5.2.5"
+ }
+ },
"git-package-json": {
"version": "1.4.9",
"resolved": "https://registry.npmjs.org/git-package-json/-/git-package-json-1.4.9.tgz",
@@ -5544,6 +6507,14 @@
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
},
+ "graphlib": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.7.tgz",
+ "integrity": "sha512-TyI9jIy2J4j0qgPmOOrHTCtpPqJGN/aurBwc6ZT+bRii+di1I+Wv3obRhVrmBEXet+qkMaEX67dXrwsd3QQM6w==",
+ "requires": {
+ "lodash": "^4.17.5"
+ }
+ },
"growly": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
@@ -5573,6 +6544,11 @@
"duplexer": "^0.1.1"
}
},
+ "hammerjs": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
+ "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE="
+ },
"handle-thing": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz",
@@ -5881,8 +6857,7 @@
"hoist-non-react-statics": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz",
- "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w==",
- "dev": true
+ "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w=="
},
"home-or-tmp": {
"version": "2.0.0",
@@ -6543,6 +7518,11 @@
"define-properties": "^1.1.1"
}
},
+ "is-negative-zero": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
+ "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE="
+ },
"is-npm": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
@@ -6722,6 +7702,11 @@
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
},
+ "ismobilejs": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-0.5.1.tgz",
+ "integrity": "sha512-QX4STsOcBYqlTjVGuAdP1MiRVxtiUbRHOKH0v7Gn1EvfUVIQnrSdgCM4zB4VCZuIejnb2NUMUx0Bwd3EIG6yyA=="
+ },
"isobject": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
@@ -7225,6 +8210,14 @@
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
+ "json2mq": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz",
+ "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=",
+ "requires": {
+ "string-convert": "^0.2.0"
+ }
+ },
"json3": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
@@ -7429,6 +8422,11 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
},
+ "lodash._getnative": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U="
+ },
"lodash._reinterpolate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
@@ -7460,6 +8458,16 @@
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
},
+ "lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo="
+ },
+ "lodash.isarray": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U="
+ },
"lodash.isequal": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
@@ -7475,6 +8483,16 @@
"resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
"integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0="
},
+ "lodash.keys": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "requires": {
+ "lodash._getnative": "^3.0.0",
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
+ }
+ },
"lodash.memoize": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
@@ -7497,6 +8515,11 @@
"lodash._reinterpolate": "~3.0.0"
}
},
+ "lodash.throttle": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
+ "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ="
+ },
"lodash.tonumber": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/lodash.tonumber/-/lodash.tonumber-4.0.3.tgz",
@@ -7831,6 +8854,17 @@
"dom-walk": "^0.1.0"
}
},
+ "mini-store": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mini-store/-/mini-store-2.0.0.tgz",
+ "integrity": "sha512-EG0CuwpQmX+XL4QVS0kxNwHW5ftSbhygu1qxQH0pipugjnPkbvkalCdQbEihMwtQY6d3MTN+MS0q+aurs+RfLQ==",
+ "requires": {
+ "hoist-non-react-statics": "^2.3.1",
+ "prop-types": "^15.6.0",
+ "react-lifecycles-compat": "^3.0.4",
+ "shallowequal": "^1.0.2"
+ }
+ },
"minimalistic-assert": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
@@ -7899,6 +8933,11 @@
"integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
"dev": true
},
+ "mutationobserver-shim": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz",
+ "integrity": "sha512-gciOLNN8Vsf7YzcqRjKzlAJ6y7e+B86u7i3KXes0xfxx/nfLmozlW1Vn+Sc9x3tPIePFgc1AeIFhtRgkqTjzDQ=="
+ },
"mute-stream": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
@@ -8142,6 +9181,14 @@
"integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4=",
"dev": true
},
+ "omit.js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-1.0.0.tgz",
+ "integrity": "sha512-O1rwbvEfAdhtonTv+v6IQeMOKTi/wlHcXpI3hehyPDlujkjSBQC6Vtzg0mdy+v2KVDmuPf7hAbHlTBM6q1bUHQ==",
+ "requires": {
+ "babel-runtime": "^6.23.0"
+ }
+ },
"on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
@@ -9772,6 +10819,11 @@
"resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
"integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks="
},
+ "prettier": {
+ "version": "1.16.4",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.4.tgz",
+ "integrity": "sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g=="
+ },
"pretty-bytes": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz",
@@ -10015,6 +11067,558 @@
}
}
},
+ "rc-align": {
+ "version": "2.4.5",
+ "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-2.4.5.tgz",
+ "integrity": "sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw==",
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "dom-align": "^1.7.0",
+ "prop-types": "^15.5.8",
+ "rc-util": "^4.0.4"
+ }
+ },
+ "rc-animate": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-2.6.0.tgz",
+ "integrity": "sha512-JXDycchgbOI+7T/VKmFWnAIn042LLScK1fNkmNunb0jz5q5aPGCAybx2bTo7X5t31Jkj9OsxKNb/vZPDPWufCg==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.6",
+ "css-animation": "^1.3.2",
+ "prop-types": "15.x",
+ "raf": "^3.4.0",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-calendar": {
+ "version": "9.10.10",
+ "resolved": "https://registry.npmjs.org/rc-calendar/-/rc-calendar-9.10.10.tgz",
+ "integrity": "sha512-WFnxpXGzIt2cPCJjFmrju/w2jZHAO9jW3JSDZovaJuBtVciu1p8brL6PSjWCo4flD3jVurL9LO8tJwgajELj2w==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "2.x",
+ "moment": "2.x",
+ "prop-types": "^15.5.8",
+ "rc-trigger": "^2.2.0",
+ "rc-util": "^4.1.1",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-cascader": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-0.17.1.tgz",
+ "integrity": "sha512-JED1iOLpj1+uob+0Asd4zwhhMRp3gLs2iYOY2/0OsdEsPc8Qj6TUwj8+isVtqyXiwGWG3vo8XgO6KCM/i7ZFqQ==",
+ "requires": {
+ "array-tree-filter": "^2.1.0",
+ "prop-types": "^15.5.8",
+ "rc-trigger": "^2.2.0",
+ "rc-util": "^4.0.4",
+ "react-lifecycles-compat": "^3.0.4",
+ "shallow-equal": "^1.0.0",
+ "warning": "^4.0.1"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-checkbox": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.1.6.tgz",
+ "integrity": "sha512-+VxQbt2Cwe1PxCvwosrAYXT6EQeGwrbLJB2K+IPGCSRPCKnk9zcub/0eW8A4kxjyyfh60PkwsAUZ7qmB31OmRA==",
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "classnames": "2.x",
+ "prop-types": "15.x",
+ "rc-util": "^4.0.4"
+ }
+ },
+ "rc-collapse": {
+ "version": "1.10.3",
+ "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-1.10.3.tgz",
+ "integrity": "sha512-uGZpSwTnKw9lZ4ODTqU3u4d6OcdAG0uB6lwSRNDISVdsDX8oMXULULqvFyM8UrgOkQFqU6klch78hyVE8+gFfA==",
+ "requires": {
+ "classnames": "2.x",
+ "css-animation": "1.x",
+ "prop-types": "^15.5.6",
+ "rc-animate": "2.x",
+ "react-is": "^16.7.0",
+ "shallowequal": "^1.1.0"
+ }
+ },
+ "rc-dialog": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-7.3.0.tgz",
+ "integrity": "sha512-YLQHqZuU0cO02LUwhCsCCtvSw24SKLrT4DkNHCNGGcH9YpZP/IOFaH4zVUmXGEQiwyt0D1f3volHthMCKzLzMg==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "rc-animate": "2.x",
+ "rc-util": "^4.4.0"
+ }
+ },
+ "rc-drawer": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-1.7.7.tgz",
+ "integrity": "sha512-7dESNkClYdWGSdBdwcfeOz6DUCqzrW44QT013fsTBJIiWNLSLgDV5KoHKXG8VTJWU4mBn7M5Lqgyr94CRZcxGA==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.5",
+ "prop-types": "^15.5.0",
+ "rc-util": "^4.5.1"
+ }
+ },
+ "rc-dropdown": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-2.4.1.tgz",
+ "integrity": "sha512-p0XYn0wrOpAZ2fUGE6YJ6U8JBNc5ASijznZ6dkojdaEfQJAeZtV9KMEewhxkVlxGSbbdXe10ptjBlTEW9vEwEg==",
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "classnames": "^2.2.6",
+ "prop-types": "^15.5.8",
+ "rc-trigger": "^2.5.1",
+ "react-lifecycles-compat": "^3.0.2"
+ }
+ },
+ "rc-editor-core": {
+ "version": "0.8.9",
+ "resolved": "https://registry.npmjs.org/rc-editor-core/-/rc-editor-core-0.8.9.tgz",
+ "integrity": "sha512-fGTkTm96Kil/i9n5a3JwAzJcl2TkfjO1r1WBWf6NIOxXiJXpC3Lajkf3j6E5K7iz5AW0QRaSGnNQFBrwvXKKWA==",
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "classnames": "^2.2.5",
+ "draft-js": "^0.10.0",
+ "immutable": "^3.7.4",
+ "lodash": "^4.16.5",
+ "prop-types": "^15.5.8",
+ "setimmediate": "^1.0.5"
+ }
+ },
+ "rc-editor-mention": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/rc-editor-mention/-/rc-editor-mention-1.1.12.tgz",
+ "integrity": "sha512-cPm2rQ7P+hXaKMsO0ajVv08QlTDcSPVtw8/lVr9D+QzQKRPChCqLw9rVGOa4YGYTeS3gVe8lBfLr8a9JKFk3gA==",
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "classnames": "^2.2.5",
+ "dom-scroll-into-view": "^1.2.0",
+ "draft-js": "~0.10.0",
+ "immutable": "^3.7.4",
+ "prop-types": "^15.5.8",
+ "rc-animate": "^2.3.0",
+ "rc-editor-core": "~0.8.3"
+ }
+ },
+ "rc-form": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/rc-form/-/rc-form-2.4.3.tgz",
+ "integrity": "sha512-59KeQat5TU4YzpfXYpFlyQ1/5uFXm0SV7VokRr+i8bPMhimpKpZl5gt0J7dNiKLTsGnkCqBLSL88d9ufPJ+EQQ==",
+ "requires": {
+ "async-validator": "~1.8.5",
+ "babel-runtime": "6.x",
+ "create-react-class": "^15.5.3",
+ "dom-scroll-into-view": "1.x",
+ "hoist-non-react-statics": "^3.3.0",
+ "lodash": "^4.17.4",
+ "warning": "^4.0.3"
+ },
+ "dependencies": {
+ "hoist-non-react-statics": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz",
+ "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==",
+ "requires": {
+ "react-is": "^16.7.0"
+ }
+ },
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-hammerjs": {
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/rc-hammerjs/-/rc-hammerjs-0.6.9.tgz",
+ "integrity": "sha512-4llgWO3RgLyVbEqUdGsDfzUDqklRlQW5VEhE3x35IvhV+w//VPRG34SBavK3D2mD/UaLKaohgU41V4agiftC8g==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "hammerjs": "^2.0.8",
+ "prop-types": "^15.5.9"
+ }
+ },
+ "rc-input-number": {
+ "version": "4.3.9",
+ "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-4.3.9.tgz",
+ "integrity": "sha512-u2ioYqAwHIbDpp6sUEIOv8kqQw8e7VfTR6Kn+wJYff7TBA3Zw2Ql9I4DQniuLXglCJzDiHqG1OR5v3kN3GrD4w==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.0",
+ "is-negative-zero": "^2.0.0",
+ "prop-types": "^15.5.7",
+ "rc-util": "^4.5.1",
+ "rmc-feedback": "^2.0.0"
+ }
+ },
+ "rc-menu": {
+ "version": "7.4.21",
+ "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-7.4.21.tgz",
+ "integrity": "sha512-TfcwybKLuw2WhEkplYH7iFMGlDbH6KhPcd+gv5J2oLQcgiGeUECzyOWSVaFRRlkpB7g2eNzXbha/AXN/Xyzvnw==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "2.x",
+ "dom-scroll-into-view": "1.x",
+ "ismobilejs": "^0.5.1",
+ "mini-store": "^2.0.0",
+ "mutationobserver-shim": "^0.3.2",
+ "prop-types": "^15.5.6",
+ "rc-animate": "2.x",
+ "rc-trigger": "^2.3.0",
+ "rc-util": "^4.1.0",
+ "resize-observer-polyfill": "^1.5.0"
+ }
+ },
+ "rc-notification": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-3.3.1.tgz",
+ "integrity": "sha512-U5+f4BmBVfMSf3OHSLyRagsJ74yKwlrQAtbbL5ijoA0F2C60BufwnOcHG18tVprd7iaIjzZt1TKMmQSYSvgrig==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "2.x",
+ "prop-types": "^15.5.8",
+ "rc-animate": "2.x",
+ "rc-util": "^4.0.4"
+ }
+ },
+ "rc-pagination": {
+ "version": "1.17.8",
+ "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-1.17.8.tgz",
+ "integrity": "sha512-duEV+K/b/nZNGr943+TMCEcY4xWkjAkpKW0Vr7fSR8wQk0DY7aTJC+k+vjl4X2EzEmPXqy85hibzpsO9vydKAw==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "prop-types": "^15.5.7",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-progress": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-2.3.0.tgz",
+ "integrity": "sha512-hYBKFSsNgD7jsF8j+ZC1J8y5UIC2X/ktCYI/OQhQNSX6mGV1IXnUCjAd9gbLmzmpChPvKyymRNfckScUNiTpFQ==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "prop-types": "^15.5.8"
+ }
+ },
+ "rc-rate": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.5.0.tgz",
+ "integrity": "sha512-aXX5klRqbVZxvLghcKnLqqo7LvLVCHswEDteWsm5Gb7NBIPa1YKTcAbvb5SZ4Z4i4EeRoZaPwygRAWsQgGtbKw==",
+ "requires": {
+ "classnames": "^2.2.5",
+ "prop-types": "^15.5.8",
+ "rc-util": "^4.3.0",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-select": {
+ "version": "8.8.4",
+ "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-8.8.4.tgz",
+ "integrity": "sha512-3ylsjhiUtEN4Tg6/ddg1wG0FXSmT/67LT2/KF8azaG6x/1sMNmSxoyi1nxVoFdmkCO5luDA5F1xCHCOxGuEj3A==",
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "classnames": "2.x",
+ "component-classes": "1.x",
+ "dom-scroll-into-view": "1.x",
+ "prop-types": "^15.5.8",
+ "raf": "^3.4.0",
+ "rc-animate": "2.x",
+ "rc-menu": "^7.3.0",
+ "rc-trigger": "^2.5.4",
+ "rc-util": "^4.0.4",
+ "react-lifecycles-compat": "^3.0.2",
+ "warning": "^4.0.2"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-slider": {
+ "version": "8.6.6",
+ "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-8.6.6.tgz",
+ "integrity": "sha512-byfnq1LbBFyZ0HURWo22sjeiKIxLyzSnIiNUsUf6SWu1ZhQe/Qt24JnE/ZJsqKoUirXxlX+d577ptfAybZHm+Q==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.5",
+ "prop-types": "^15.5.4",
+ "rc-tooltip": "^3.7.0",
+ "rc-util": "^4.0.4",
+ "shallowequal": "^1.0.1",
+ "warning": "^4.0.3"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-steps": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-3.3.1.tgz",
+ "integrity": "sha512-LGzmPYS9ETePo+6YbHlFukCdcKppeBZXO49ZxewaC7Cba00q0zrMXlexquZ4fm+9iz0IkpzwgmenvjsVWCmGOw==",
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "classnames": "^2.2.3",
+ "lodash": "^4.17.5",
+ "prop-types": "^15.5.7"
+ }
+ },
+ "rc-switch": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-1.9.0.tgz",
+ "integrity": "sha512-Isas+egaK6qSk64jaEw4GgPStY4umYDbT7ZY93bZF1Af+b/JEsKsJdNOU2qG3WI0Z6tXo2DDq0kJCv8Yhu0zww==",
+ "requires": {
+ "classnames": "^2.2.1",
+ "prop-types": "^15.5.6",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-table": {
+ "version": "6.4.3",
+ "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-6.4.3.tgz",
+ "integrity": "sha512-4/f7mS87EtNxM2vhIaA7I1J8hPZ5OiOQwmjac7RJTmGOFVA8PJDGwEipeyU/eC9RM7f3v4Lc+a05KCfIbRU4tg==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.5",
+ "component-classes": "^1.2.6",
+ "lodash": "^4.17.5",
+ "mini-store": "^2.0.0",
+ "prop-types": "^15.5.8",
+ "rc-util": "^4.0.4",
+ "react-lifecycles-compat": "^3.0.2",
+ "shallowequal": "^1.0.2",
+ "warning": "^3.0.0"
+ }
+ },
+ "rc-tabs": {
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-9.6.1.tgz",
+ "integrity": "sha512-3/Ip9yCEERFFvCjU0ZoQqvn6unMo0XOQESygNLq1DyOAYRcukpq8Q28awpXWqh8l8NBcyw1sVfrs6SZN/zmAKg==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "2.x",
+ "create-react-context": "0.2.2",
+ "lodash": "^4.17.5",
+ "prop-types": "15.x",
+ "raf": "^3.4.1",
+ "rc-hammerjs": "~0.6.0",
+ "rc-util": "^4.0.4",
+ "warning": "^3.0.0"
+ },
+ "dependencies": {
+ "create-react-context": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz",
+ "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==",
+ "requires": {
+ "fbjs": "^0.8.0",
+ "gud": "^1.0.0"
+ }
+ },
+ "raf": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
+ "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
+ "requires": {
+ "performance-now": "^2.1.0"
+ }
+ }
+ }
+ },
+ "rc-time-picker": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/rc-time-picker/-/rc-time-picker-3.6.2.tgz",
+ "integrity": "sha512-SyGEVXO0ImeG2mz+7fkVmDoVM0+OrX6uYGpKYijNr/lAah7c5p310ZR6fVrblXOl4TpqVnfWR67RMJ3twAyM7w==",
+ "requires": {
+ "classnames": "2.x",
+ "moment": "2.x",
+ "prop-types": "^15.5.8",
+ "rc-trigger": "^2.2.0"
+ }
+ },
+ "rc-tooltip": {
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-3.7.3.tgz",
+ "integrity": "sha512-dE2ibukxxkrde7wH9W8ozHKUO4aQnPZ6qBHtrTH9LoO836PjDdiaWO73fgPB05VfJs9FbZdmGPVEbXCeOP99Ww==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "prop-types": "^15.5.8",
+ "rc-trigger": "^2.2.2"
+ }
+ },
+ "rc-tree": {
+ "version": "1.14.10",
+ "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-1.14.10.tgz",
+ "integrity": "sha512-iOn7+SpWzM4OQoF/7wJeFiuRpBGJ3ndTe6YVGnfIhsWqDd7S6a7z0anDQcBpPsW/PvisjNDXr4zKchZvx+0iCA==",
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "classnames": "2.x",
+ "prop-types": "^15.5.8",
+ "rc-animate": "^3.0.0-rc.5",
+ "rc-util": "^4.5.1",
+ "react-lifecycles-compat": "^3.0.4",
+ "warning": "^3.0.0"
+ },
+ "dependencies": {
+ "rc-animate": {
+ "version": "3.0.0-rc.6",
+ "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-3.0.0-rc.6.tgz",
+ "integrity": "sha512-oBLPpiT6Q4t6YvD/pkLcmofBP1p01TX0Otse8Q4+Mxt8J+VSDflLZGIgf62EwkvRwsQUkLPjZVFBsldnPKLzjg==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.5",
+ "component-classes": "^1.2.6",
+ "fbjs": "^0.8.16",
+ "prop-types": "15.x",
+ "raf": "^3.4.0",
+ "rc-util": "^4.5.0",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ }
+ }
+ },
+ "rc-tree-select": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-2.5.4.tgz",
+ "integrity": "sha512-7PVC3SV8X02cTZ9+VtNLM5dpYdIbB/xe6N2MVKFnc2YNgMx76sm+Fk2OrgbgicIK/lWAPkKTxnwvNk5PKR4a1g==",
+ "requires": {
+ "classnames": "^2.2.1",
+ "prop-types": "^15.5.8",
+ "raf": "^3.4.0",
+ "rc-animate": "^3.0.0-rc.4",
+ "rc-tree": "~1.14.3",
+ "rc-trigger": "^3.0.0-rc.2",
+ "rc-util": "^4.5.0",
+ "react-lifecycles-compat": "^3.0.4",
+ "shallowequal": "^1.0.2",
+ "warning": "^4.0.1"
+ },
+ "dependencies": {
+ "rc-animate": {
+ "version": "3.0.0-rc.6",
+ "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-3.0.0-rc.6.tgz",
+ "integrity": "sha512-oBLPpiT6Q4t6YvD/pkLcmofBP1p01TX0Otse8Q4+Mxt8J+VSDflLZGIgf62EwkvRwsQUkLPjZVFBsldnPKLzjg==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.5",
+ "component-classes": "^1.2.6",
+ "fbjs": "^0.8.16",
+ "prop-types": "15.x",
+ "raf": "^3.4.0",
+ "rc-util": "^4.5.0",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "rc-trigger": {
+ "version": "3.0.0-rc.3",
+ "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-3.0.0-rc.3.tgz",
+ "integrity": "sha512-4vB6cpxcUdm2qO5VtB9q1TZz0MoWm9BzFLvGknulphGrl1qI6uxUsPDCvqnmujdpDdAKGGfjxntFpA7RtAwkFQ==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.6",
+ "prop-types": "15.x",
+ "raf": "^3.4.0",
+ "rc-align": "^2.4.1",
+ "rc-animate": "^3.0.0-rc.1",
+ "rc-util": "^4.4.0"
+ }
+ },
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-trigger": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-2.6.2.tgz",
+ "integrity": "sha512-op4xCu95/gdHVaysyxxiYxbY+Z+UcIBSUY9nQfLqm1FlitdtnAN+owD5iMPfnnsRXntgcQ5+RdYKNUFQT5DjzA==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.6",
+ "prop-types": "15.x",
+ "rc-align": "^2.4.0",
+ "rc-animate": "2.x",
+ "rc-util": "^4.4.0"
+ }
+ },
+ "rc-upload": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-2.6.3.tgz",
+ "integrity": "sha512-wM57UH/EEqW2/EcWz5nwnU07d4LHDHjBgxRin2Q56TW9JcFVnaQVq/JHycVFumsgSFV5CZfNW8PBROsKT9VFMw==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.5",
+ "prop-types": "^15.5.7",
+ "warning": "4.x"
+ },
+ "dependencies": {
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rc-util": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.6.0.tgz",
+ "integrity": "sha512-rbgrzm1/i8mgfwOI4t1CwWK7wGe+OwX+dNa7PVMgxZYPBADGh86eD4OcJO1UKGeajIMDUUKMluaZxvgraQIOmw==",
+ "requires": {
+ "add-dom-event-listener": "^1.1.0",
+ "babel-runtime": "6.x",
+ "prop-types": "^15.5.10",
+ "shallowequal": "^0.2.2"
+ },
+ "dependencies": {
+ "shallowequal": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-0.2.2.tgz",
+ "integrity": "sha1-HjL9W8q2rWiKSBLLDMBO/HXHAU4=",
+ "requires": {
+ "lodash.keys": "^3.1.2"
+ }
+ }
+ }
+ },
"react": {
"version": "16.4.2",
"resolved": "https://registry.npmjs.org/react/-/react-16.4.2.tgz",
@@ -10157,6 +11761,22 @@
"prop-types": "^15.5.8"
}
},
+ "react-is": {
+ "version": "16.8.3",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.3.tgz",
+ "integrity": "sha512-Y4rC1ZJmsxxkkPuMLwvKvlL1Zfpbcu+Bf4ZigkHup3v9EfdYhAlWAaVyA19olXq2o2mGn0w+dFKvk3pVVlYcIA=="
+ },
+ "react-lazy-load": {
+ "version": "3.0.13",
+ "resolved": "https://registry.npmjs.org/react-lazy-load/-/react-lazy-load-3.0.13.tgz",
+ "integrity": "sha1-OwqS0zbUPT8Nc8vm81sXBQsIuCQ=",
+ "requires": {
+ "eventlistener": "0.0.1",
+ "lodash.debounce": "^4.0.0",
+ "lodash.throttle": "^4.0.0",
+ "prop-types": "^15.5.8"
+ }
+ },
"react-lifecycles-compat": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
@@ -10236,6 +11856,19 @@
}
}
},
+ "react-slick": {
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/react-slick/-/react-slick-0.23.2.tgz",
+ "integrity": "sha512-fM6DXX7+22eOcYE9cgaXUfioZL/Zw6fwS6aPMDBt0kLHl4H4fFNEbp4JsJQdEWMLUNFtUytNcvd9KRml22Tp5w==",
+ "requires": {
+ "classnames": "^2.2.5",
+ "enquire.js": "^2.1.6",
+ "json2mq": "^0.2.0",
+ "lodash.debounce": "^4.0.8",
+ "prettier": "^1.14.3",
+ "resize-observer-polyfill": "^1.5.0"
+ }
+ },
"react-transform-catch-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/react-transform-catch-errors/-/react-transform-catch-errors-1.0.2.tgz",
@@ -10861,6 +12494,11 @@
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
+ "resize-observer-polyfill": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
+ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
+ },
"resolve": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
@@ -10936,6 +12574,15 @@
"inherits": "^2.0.1"
}
},
+ "rmc-feedback": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/rmc-feedback/-/rmc-feedback-2.0.0.tgz",
+ "integrity": "sha512-5PWOGOW7VXks/l3JzlOU9NIxRpuaSS8d9zA3UULUCuTKnpwBHNvv1jSJzxgbbCQeYzROWUpgKI4za3X4C/mKmQ==",
+ "requires": {
+ "babel-runtime": "6.x",
+ "classnames": "^2.2.5"
+ }
+ },
"run-async": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
@@ -10952,6 +12599,11 @@
"individual": "^2.0.0"
}
},
+ "rw": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
+ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
+ },
"rx-lite": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
@@ -11042,9 +12694,9 @@
}
},
"seafile-js": {
- "version": "0.2.66",
- "resolved": "https://registry.npmjs.org/seafile-js/-/seafile-js-0.2.66.tgz",
- "integrity": "sha512-a51numCHkkMzNSp/7HpC0o/WYRF2m3+1g4yRPqASEnVXRSiZHiHY1fSR0W5eLmDqAmMoYiWdk99Y+kdjfhxb4A==",
+ "version": "0.2.67",
+ "resolved": "https://registry.npmjs.org/seafile-js/-/seafile-js-0.2.67.tgz",
+ "integrity": "sha512-K6U17OYsb92syy+uv58WkMCHR/CD29OjKzAl1SZAtK+XA59RleOCe1UufKaYpmb4r9QGnYUm9edAqNpSGuENVg==",
"requires": {
"axios": "^0.18.0",
"form-data": "^2.3.2",
@@ -11183,6 +12835,16 @@
"safe-buffer": "^5.0.1"
}
},
+ "shallow-equal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.1.0.tgz",
+ "integrity": "sha512-0SW1nWo1hnabO62SEeHsl8nmTVVEzguVWZCj5gaQrgWAxz/BaCja4OWdJBWLVPDxdtE/WU7c98uUCCXyPHSCvw=="
+ },
+ "shallowequal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
+ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
+ },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -11598,6 +13260,11 @@
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
"integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
},
+ "string-convert": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz",
+ "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c="
+ },
"string-length": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz",
@@ -11886,6 +13553,11 @@
"integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==",
"optional": true
},
+ "tinycolor2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz",
+ "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g="
+ },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -13061,6 +14733,11 @@
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0="
},
+ "wolfy87-eventemitter": {
+ "version": "5.2.6",
+ "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.6.tgz",
+ "integrity": "sha512-n+bSucT1j9ZEoosxnfuH81bWqtZG4QEtZ9WEuiXz9YQAHEktGYKoSoMTKWTJEcYux8lWoqp1KqHPBpwvJKFFTw=="
+ },
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index 94d96889af..0e44082166 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -3,10 +3,13 @@
"version": "0.1.0",
"private": true,
"dependencies": {
+ "@babel/core": "^7.3.3",
+ "@babel/runtime": "^7.3.1",
"@reach/router": "^1.2.0",
"@seafile/resumablejs": "^1.1.8",
"@seafile/seafile-editor": "^0.1.76",
"MD5": "^1.3.0",
+ "antd": "^3.13.6",
"autoprefixer": "7.1.6",
"classnames": "^2.2.6",
"copy-to-clipboard": "^3.0.8",
@@ -14,6 +17,7 @@
"dotenv": "4.0.0",
"dotenv-expand": "4.2.0",
"file-loader": "1.1.5",
+ "gg-editor": "^2.0.1",
"glamor": "^2.20.40",
"html-webpack-plugin": "2.29.0",
"jest": "20.0.4",
@@ -98,14 +102,14 @@
"babel-core": "^6.26.3",
"babel-eslint": "7.2.3",
"babel-jest": "20.0.3",
- "babel-loader": "7.1.2",
+ "babel-loader": "^7.1.2",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babel-preset-react-app": "^3.1.1",
"babel-preset-react-hmre": "^1.1.1",
"babel-preset-stage-0": "^6.24.1",
- "babel-runtime": "6.26.0",
"case-sensitive-paths-webpack-plugin": "2.1.1",
+ "core-js": "^2.6.5",
"eslint": "4.10.0",
"eslint-config-react-app": "^2.1.0",
"eslint-loader": "1.9.0",
diff --git a/frontend/src/css/umind.css b/frontend/src/css/umind.css
new file mode 100644
index 0000000000..f7e0760005
--- /dev/null
+++ b/frontend/src/css/umind.css
@@ -0,0 +1,71 @@
+#wrapper {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ overflow: hidden;
+}
+
+.umind-container {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+}
+
+.umind-container .umind-header {
+ padding: 8px;
+ border: 1px solid #E6E9ED;
+}
+
+.umind-container .umind-body {
+ display: flex;
+ flex: 1;
+}
+
+.toolbar-container {
+ display: flex;
+}
+
+.toolbar-container .custom-toolbar {
+ width: auto;
+}
+
+.toolbar-container .common-toolbar {
+ display: flex;
+ flex: 1;
+}
+
+
+.umind-body .umind-editor-content,
+.umind-body .umind-editor-sidebar {
+ display: flex;
+ flex-direction: column;
+}
+
+.umind-editor-content .umind-editor {
+ display: flex;
+ flex: 1;
+ background-color: #eee;
+}
+
+.umind-editor-sidebar {
+ background: #FAFAFA;
+}
+
+.umind-editor-sidebar:first-child {
+ border-right: 1px solid #E6E9ED;
+}
+
+.umind-editor-sidebar:last-child {
+ border-left: 1px solid #E6E9ED;
+}
+
+.umind-editor-sidebar .detail-panel {
+ flex: 1;
+ display: flex;
+ background: #FAFAFA;
+}
+
+.detail-panel .node-detail {
+ flex: 1;
+ background: #FAFAFA;
+}
diff --git a/frontend/src/umind/index.js b/frontend/src/umind/index.js
new file mode 100644
index 0000000000..95290a62af
--- /dev/null
+++ b/frontend/src/umind/index.js
@@ -0,0 +1,76 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { Row, Col } from 'antd';
+import GGEditor, { Mind } from 'gg-editor';
+import { seafileAPI } from '../utils/seafile-api';
+import UMindToolbar from './umind-toolbar/umind-toolbar';
+import UMindDetailPanel from './umind-detail-panel';
+import UMindEditorMinimap from './umind-editor/umind-editor-minimap';
+import UMindContextMenu from './umind-editor/umind-context-menu';
+import Loading from '../components/loading';
+
+// import data from './mock.js';
+import 'antd/dist/antd.css';
+import './theme/iconfont.css'
+import '../css/umind.css';
+
+const propTypes = {
+
+};
+
+const { repoID, fileName, filePath } = window.app.pageOptions;
+
+class UMind extends React.Component {
+
+ constructor(props) {
+ super(props);
+ this.state = {
+ isLoading: true,
+ data: ''
+ };
+ this.umindContent = '';
+ }
+
+ componentDidMount() {
+ seafileAPI.getFileDownloadLink(repoID, filePath).then(res => {
+ let url = res.data;
+ seafileAPI.getFileContent(url).then(res => {
+ let data = res.data;
+ this.umindContent = data;
+ this.setState({
+ isLoading: false,
+ data: data
+ });
+ });
+ })
+ }
+
+ render() {
+ return (
+
+
+
+
+
+
+
+
+ {this.state.isLoading && }
+ {!this.state.isLoading && (
+
+ )}
+
+
+
+
+
+
+
+
+ );
+ }
+}
+
+UMind.propTypes = propTypes;
+
+export default UMind;
diff --git a/frontend/src/umind/theme/iconfont.css b/frontend/src/umind/theme/iconfont.css
new file mode 100644
index 0000000000..65d8f71574
--- /dev/null
+++ b/frontend/src/umind/theme/iconfont.css
@@ -0,0 +1,114 @@
+
+@font-face {
+ font-family: "iconfont";
+ src: url('//at.alicdn.com/t/font_598462_3xve1872wizzolxr.eot?t=1522149591264');
+ src: url('//at.alicdn.com/t/font_598462_3xve1872wizzolxr.eot?t=1522149591264#iefix') format('embedded-opentype'),
+ url('data:application/x-font-woff;charset=utf-8;base64,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') format('woff'),
+ url('//at.alicdn.com/t/font_598462_3xve1872wizzolxr.ttf?t=1522149591264') format('truetype'),
+ url('//at.alicdn.com/t/font_598462_3xve1872wizzolxr.svg?t=1522149591264#iconfont') format('svg');
+}
+
+@font-face {
+ font-family: "bi-icon";
+ src: url('//at.alicdn.com/t/font_538964_lt8h7c2h3hfo5hfr.eot');
+ src: url('//at.alicdn.com/t/font_538964_lt8h7c2h3hfo5hfr.eot?#iefix') format('embedded-opentype'),
+ url('//at.alicdn.com/t/font_538964_lt8h7c2h3hfo5hfr.woff') format('woff'),
+ url('//at.alicdn.com/t/font_538964_lt8h7c2h3hfo5hfr.ttf') format('truetype'),
+ url('//at.alicdn.com/t/font_538964_lt8h7c2h3hfo5hfr.svg#iconfont') format('svg');
+}
+
+.iconfont {
+ font-family:"iconfont" !important;
+ font-size:16px;
+ font-style:normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.bi-icon {
+ font-family:"bi-icon" !important;
+ font-size:16px;
+ font-style:normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-save:before {
+ content: "\e669";
+}
+
+.icon-undo:before {
+ content: "\e8ab";
+}
+
+.icon-redo:before {
+ content: "\e8a9";
+}
+
+.icon-cut:before {
+ content: "\e8a2";
+}
+
+.icon-copy-o:before {
+ content: "\e8a4";
+}
+
+.icon-paster-o:before {
+ content: "\e8a8";
+}
+
+.icon-delete-o:before {
+ content: "\e8a5";
+}
+
+.icon-zoom-in-o:before {
+ content: "\e8ac";
+}
+
+.icon-zoom-out-o:before {
+ content: "\e8ae";
+}
+
+.icon-fit:before {
+ content: "\e8a6";
+}
+
+.icon-actual-size-o:before {
+ content: "\e8a3";
+}
+
+.icon-to-back:before {
+ content: "\e8b0";
+}
+
+.icon-to-front:before {
+ content: "\e8aa";
+}
+
+.icon-select:before {
+ content: "\e8a7";
+}
+
+.icon-group:before {
+ content: "\e8af";
+}
+
+.icon-ungroup:before {
+ content: "\e8ad";
+}
+
+.icon-insert-sibling:before {
+ content: "\e8af";
+}
+
+.icon-insert-child:before {
+ content: "\e8ae";
+}
+
+.icon-collapse-subtree:before {
+ content: "\e8b3";
+}
+
+.icon-expand-subtree:before {
+ content: "\e8b4";
+}
diff --git a/frontend/src/umind/umind-detail-panel/index.js b/frontend/src/umind/umind-detail-panel/index.js
new file mode 100644
index 0000000000..4e2f84c66d
--- /dev/null
+++ b/frontend/src/umind/umind-detail-panel/index.js
@@ -0,0 +1,22 @@
+import React from 'react';
+import { Card } from 'antd';
+import { NodePanel, CanvasPanel, DetailPanel } from 'gg-editor';
+import NodeDetail from './node-detail';
+
+class UMindDetails extends React.Component {
+
+ render() {
+ return (
+
+
+
+
+
+
+
+
+ );
+ }
+}
+
+export default UMindDetails;
diff --git a/frontend/src/umind/umind-detail-panel/node-detail.js b/frontend/src/umind/umind-detail-panel/node-detail.js
new file mode 100644
index 0000000000..19c33f250f
--- /dev/null
+++ b/frontend/src/umind/umind-detail-panel/node-detail.js
@@ -0,0 +1,74 @@
+import React from 'react';
+import { Card, Form, Input } from 'antd';
+import { withPropsAPI } from 'gg-editor';
+
+const { Item } = Form;
+
+const inlineFormItemLayout = {
+ labelCol: {
+ sm: { span: 6 },
+ },
+ wrapperCol: {
+ sm: { span: 18 },
+ },
+};
+
+class NodeDetail extends React.Component {
+ handleSubmit = (e) => {
+ e.preventDefault();
+
+ const { form, propsAPI } = this.props;
+ const { getSelected, executeCommand, update } = propsAPI;
+
+ form.validateFieldsAndScroll((err, values) => {
+ if (err) {
+ return;
+ }
+
+ const item = getSelected()[0];
+
+ if (!item) {
+ return;
+ }
+
+ executeCommand(() => {
+ update(item, {
+ ...values,
+ });
+ });
+ });
+ }
+
+ render() {
+ const { form, propsAPI } = this.props;
+ const { getFieldDecorator } = form;
+ const { getSelected } = propsAPI;
+
+ const item = getSelected()[0];
+
+ if (!item) {
+ return null;
+ }
+
+ const { label } = item.getModel();
+
+ return (
+
+
+
+ );
+ }
+}
+
+export default Form.create()(withPropsAPI(NodeDetail));
diff --git a/frontend/src/umind/umind-editor/context-menu.css b/frontend/src/umind/umind-editor/context-menu.css
new file mode 100644
index 0000000000..fefaae9c8d
--- /dev/null
+++ b/frontend/src/umind/umind-editor/context-menu.css
@@ -0,0 +1,33 @@
+.context-menu {
+ display: none;
+ background: #FFFFFF;
+ border-radius: 4px;
+ box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
+ overflow: hidden;
+}
+
+.context-menu .item {
+ cursor: pointer;
+ user-select: none;
+ display: flex;
+ align-items: center;
+ padding: 5px 12px;
+ transition: all .3s;
+}
+
+.context-menu .item:hover {
+ background: #E6F7FF;
+}
+
+.context-menu .item i {
+ margin-right: 8px;
+}
+
+.context-menu .disable .item {
+ cursor: auto;
+ color: rgba(0, 0, 0, 0.25);
+}
+
+.context-menu .disable .item:hover {
+ background: #FFFFFF;
+}
diff --git a/frontend/src/umind/umind-editor/umind-context-menu.js b/frontend/src/umind/umind-editor/umind-context-menu.js
new file mode 100644
index 0000000000..4b841352f6
--- /dev/null
+++ b/frontend/src/umind/umind-editor/umind-context-menu.js
@@ -0,0 +1,61 @@
+import React from 'react';
+import { Command, NodeMenu, CanvasMenu, ContextMenu } from 'gg-editor';
+
+import './context-menu.css';
+
+class UMindContextMenu extends React.Component {
+ render() {
+ return (
+
+
+
+
+
+ 插入同级
+
+
+
+
+
+ 插入子级
+
+
+
+
+
+ 折叠
+
+
+
+
+
+ 展开
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+ 撤销
+
+
+
+
+
+ 重做
+
+
+
+
+ );
+ }
+}
+
+export default UMindContextMenu;
diff --git a/frontend/src/umind/umind-editor/umind-editor-minimap.js b/frontend/src/umind/umind-editor/umind-editor-minimap.js
new file mode 100644
index 0000000000..3fd64f5934
--- /dev/null
+++ b/frontend/src/umind/umind-editor/umind-editor-minimap.js
@@ -0,0 +1,15 @@
+import React from 'react';
+import { Card } from 'antd';
+import { Minimap } from 'gg-editor';
+
+class UMindEditorMinimap extends React.Component {
+ render() {
+ return (
+
+
+
+ );
+ }
+}
+
+export default UMindEditorMinimap;
diff --git a/frontend/src/umind/umind-toolbar/toolbar.css b/frontend/src/umind/umind-toolbar/toolbar.css
new file mode 100644
index 0000000000..1a54e43231
--- /dev/null
+++ b/frontend/src/umind/umind-toolbar/toolbar.css
@@ -0,0 +1,38 @@
+.common-toolbar {
+ display: flex;
+ align-items: center;
+}
+
+.common-toolbar .command i {
+ cursor: pointer;
+ display: inline-block;
+ margin: 0 6px;
+ width: 27px;
+ height: 27px;
+ text-align: center;
+ border: 1px solid #FFFFFF;
+}
+
+.common-toolbar .command i:hover {
+ border: 1px solid #E6E9ED;
+}
+
+.common-toolbar .disable i {
+ cursor: auto;
+ color: rgba(0, 0, 0, 0.25);
+}
+
+.common-toolbar .disable i:hover {
+ border: 1px solid #FFFFFF;
+}
+
+.tooltip .ant-tooltip-inner {
+ font-size: 12px;
+ border-radius: 0;
+}
+
+.common-toolbar .anticon.custom-save {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
\ No newline at end of file
diff --git a/frontend/src/umind/umind-toolbar/umind-toolbar.js b/frontend/src/umind/umind-toolbar/umind-toolbar.js
new file mode 100644
index 0000000000..6d64c9f7fd
--- /dev/null
+++ b/frontend/src/umind/umind-toolbar/umind-toolbar.js
@@ -0,0 +1,101 @@
+import React, { Fragment } from 'react';
+import { Tooltip, Divider, Icon } from 'antd';
+import { Toolbar, Command } from 'gg-editor';
+import withGGEditorContext from 'gg-editor/es/common/context/GGEditorContext/withGGEditorContext';
+import { gettext } from '../../utils/constants';
+import { seafileAPI } from '../../utils/seafile-api';
+import { Utils } from '../../utils/utils';
+import toaster from '../../components/toast';
+
+import './toolbar.css';
+
+const { repoID, filePath, fileName } = window.app.pageOptions;
+class UMindToolbar extends React.Component {
+
+ onSaveClick = (e) => {
+ e.preventDefault();
+ let { editor } = this.props;
+ let page = editor.getCurrentPage();
+ let { data } = page._cfg;
+ let dirPath = Utils.getDirName(filePath);
+ seafileAPI.getUpdateLink(repoID, dirPath).then(res => {
+ let updateLink = res.data;
+ let updateData = JSON.stringify(data);
+ seafileAPI.updateFile(updateLink, filePath, fileName, updateData).then(res => {
+ toaster.success(gettext('saved file success.'));
+ }).catch(() => {
+ toaster.success(gettext('saved file failed.'));
+ });
+ })
+ }
+
+ render() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+ }
+}
+
+export default withGGEditorContext(UMindToolbar);
diff --git a/frontend/src/view-file-umind.js b/frontend/src/view-file-umind.js
new file mode 100644
index 0000000000..a1110416c4
--- /dev/null
+++ b/frontend/src/view-file-umind.js
@@ -0,0 +1,17 @@
+import React from 'react';
+import ReactDOM from 'react-dom';
+import UMind from './umind';
+
+class ViewFileUMind extends React.Component {
+
+ render() {
+ return (
+
+ );
+ }
+}
+
+ReactDOM.render(
+ ,
+ document.getElementById('wrapper')
+);
\ No newline at end of file
diff --git a/seahub/templates/view_file_umind.html b/seahub/templates/view_file_umind.html
new file mode 100644
index 0000000000..6318c5c77d
--- /dev/null
+++ b/seahub/templates/view_file_umind.html
@@ -0,0 +1,6 @@
+{% extends 'file_view_react.html' %}
+{% load render_bundle from webpack_loader %}
+
+{% block render_bundle %}
+{% render_bundle 'viewFileUMind' %}
+{% endblock %}
diff --git a/seahub/utils/__init__.py b/seahub/utils/__init__.py
index 696d9731fe..be950275d2 100644
--- a/seahub/utils/__init__.py
+++ b/seahub/utils/__init__.py
@@ -132,6 +132,7 @@ PREVIEW_FILEEXT = {
AUDIO: ('mp3', 'oga', 'ogg'),
'3D': ('stl', 'obj'),
XMIND: ('xmind',),
+ UMIND: ('umind',),
}
def gen_fileext_type_map():
diff --git a/seahub/utils/file_types.py b/seahub/utils/file_types.py
index efe96302c1..f8d35aa2a3 100644
--- a/seahub/utils/file_types.py
+++ b/seahub/utils/file_types.py
@@ -10,3 +10,4 @@ AUDIO = 'Audio'
SPREADSHEET = 'SpreadSheet'
DRAW = 'Draw'
XMIND = 'XMind'
+UMIND = 'UMind'
diff --git a/seahub/views/file.py b/seahub/views/file.py
index f8bd542a81..85e5063215 100644
--- a/seahub/views/file.py
+++ b/seahub/views/file.py
@@ -61,7 +61,7 @@ from seahub.utils import render_error, is_org_context, \
from seahub.utils.ip import get_remote_ip
from seahub.utils.timeutils import utc_to_local
from seahub.utils.file_types import (IMAGE, PDF, SVG,
- DOCUMENT, SPREADSHEET, AUDIO, MARKDOWN, TEXT, VIDEO, DRAW, XMIND)
+ DOCUMENT, SPREADSHEET, AUDIO, MARKDOWN, TEXT, VIDEO, DRAW, XMIND, UMIND)
from seahub.utils.star import is_file_starred
from seahub.utils.http import json_response, \
BadRequestException, RequestForbbiddenException
@@ -725,6 +725,9 @@ def view_lib_file(request, repo_id, path):
template = '%s_file_view_react.html' % filetype.lower()
return render(request, template, return_dict)
+
+ elif filetype == UMIND:
+ return render(request, 'view_file_umind.html', return_dict)
elif filetype == IMAGE:
template = '%s_file_view_react.html' % filetype.lower()