diff --git a/package-lock.json b/package-lock.json
index 7b12d6fcd..27e1169a3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,9 +5,9 @@
"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=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-1.2.1.tgz",
+ "integrity": "sha512-gQx3nH6m1xvebOWh5xibhzVK02aoqHY7JUXUS4doAidSDRWsj5iwKC8Gq9DemDZ4T+bW6xO7jJZN1UsbvcW7Uw=="
},
"@ant-design/icons-react": {
"version": "1.1.2",
@@ -3364,11 +3364,33 @@
"integrity": "sha512-IcvnGLGSQFDvC07Bz2I8SX+QKErDZbUdiQq7S2u3XyzTyJfUmT0sWJMbeQkMzpTAkO7/N7sZpW/arUM2jfKsbQ==",
"dev": true
},
+ "@types/prop-types": {
+ "version": "15.7.0",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.0.tgz",
+ "integrity": "sha512-eItQyV43bj4rR3JPV0Skpl1SncRCdziTEK9/v8VwXmV6d/qOUO8/EuWeHBbCZcsfSHfzI5UyMJLCSXtxxznyZg=="
+ },
"@types/q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz",
"integrity": "sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA=="
},
+ "@types/react": {
+ "version": "16.8.6",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.6.tgz",
+ "integrity": "sha512-bN9qDjEMltmHrl0PZRI4IF2AbB7V5UlRfG+OOduckVnRQ4VzXVSzy/1eLAh778IEqhTnW0mmgL9yShfinNverA==",
+ "requires": {
+ "@types/prop-types": "*",
+ "csstype": "^2.2.0"
+ }
+ },
+ "@types/react-slick": {
+ "version": "0.23.3",
+ "resolved": "https://registry.npmjs.org/@types/react-slick/-/react-slick-0.23.3.tgz",
+ "integrity": "sha512-B6wU5ynINOolrByhoeJ448qZPjCFPcuhyQI5sjihjG8gQJuoTH6a4YQhuDm4umvbRVielJQANhptc8hmxA85IA==",
+ "requires": {
+ "@types/react": "*"
+ }
+ },
"@types/unist": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.2.tgz",
@@ -3760,15 +3782,17 @@
}
},
"antd": {
- "version": "3.13.2",
- "resolved": "https://registry.npmjs.org/antd/-/antd-3.13.2.tgz",
- "integrity": "sha512-6wA0iQgyDjmDrIy59Dwbt4+vt9F3RYh8DwSF7yIxEquT6Cmzou/0wGVqLNzY11ErewnjxgB8w60cQ5VejSecIQ==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/antd/-/antd-3.14.1.tgz",
+ "integrity": "sha512-mzeGrPsXKz8hClO34YEaA+p9UqSOa19tGyh2C2MGXXL2aStojO2ebwRVzCBwJIsdOCC7llREXla6uZGnavrQTA==",
"requires": {
- "@ant-design/icons": "~1.1.16",
+ "@ant-design/icons": "~1.2.0",
"@ant-design/icons-react": "~1.1.2",
+ "@types/react-slick": "^0.23.3",
"array-tree-filter": "^2.1.0",
"babel-runtime": "6.x",
"classnames": "~2.2.6",
+ "copy-to-clipboard": "^3.0.8",
"create-react-class": "^15.6.3",
"create-react-context": "0.2.2",
"css-animation": "^1.5.0",
@@ -3783,19 +3807,19 @@
"rc-calendar": "~9.10.3",
"rc-cascader": "~0.17.0",
"rc-checkbox": "~2.1.5",
- "rc-collapse": "~1.10.2",
+ "rc-collapse": "~1.11.1",
"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-input-number": "~4.4.0",
"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-select": "~9.0.0",
"rc-slider": "~8.6.5",
"rc-steps": "~3.3.0",
"rc-switch": "~1.9.0",
@@ -5961,7 +5985,8 @@
},
"ansi-regex": {
"version": "2.1.1",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"aproba": {
"version": "1.2.0",
@@ -5998,7 +6023,8 @@
},
"code-point-at": {
"version": "1.1.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"concat-map": {
"version": "0.0.1",
@@ -6007,7 +6033,8 @@
},
"console-control-strings": {
"version": "1.1.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
@@ -6121,6 +6148,7 @@
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
+ "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -6146,6 +6174,7 @@
"minipass": {
"version": "2.3.5",
"bundled": true,
+ "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -6162,6 +6191,7 @@
"mkdirp": {
"version": "0.5.1",
"bundled": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -6245,6 +6275,7 @@
"once": {
"version": "1.4.0",
"bundled": true,
+ "optional": true,
"requires": {
"wrappy": "1"
}
@@ -6320,7 +6351,8 @@
},
"safe-buffer": {
"version": "5.1.2",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -6350,6 +6382,7 @@
"string-width": {
"version": "1.0.2",
"bundled": true,
+ "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -6367,6 +6400,7 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
+ "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -6405,11 +6439,13 @@
},
"wrappy": {
"version": "1.0.2",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"yallist": {
"version": "3.0.3",
- "bundled": true
+ "bundled": true,
+ "optional": true
}
}
},
@@ -6815,7 +6851,6 @@
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.0.8.tgz",
"integrity": "sha512-c3GdeY8qxCHGezVb1EFQfHYK/8NZRemgcTIzPq7PuxjHAf/raKibn2QdhHPb/y6q74PMgH6yizaDZlRmw6QyKw==",
- "dev": true,
"requires": {
"toggle-selection": "^1.0.3"
}
@@ -7359,6 +7394,11 @@
"cssom": "0.3.x"
}
},
+ "csstype": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.3.tgz",
+ "integrity": "sha512-rINUZXOkcBmoHWEyu7JdHu5JMzkGRoMX4ov9830WNgxf5UYxcBUO0QTKAqeJ5EZfSdlrcJYkC8WwfVW7JYi4yg=="
+ },
"cyclist": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
@@ -7694,9 +7734,9 @@
}
},
"dom-align": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.8.0.tgz",
- "integrity": "sha512-B85D4ef2Gj5lw0rK0KM2+D5/pH7yqNxg2mB+E8uzFaolpm7RQmsxEfjyEuNiF8UBBkffumYDeKRzTzc3LePP+w=="
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.8.2.tgz",
+ "integrity": "sha512-17vInOylbB7H4qua7QRsmQT05FFTZemO8BhnOPgF9BPqjAPDyQr/9V8fmJbn05vQ31m2gu3EJSSYN2u94szUZg=="
},
"dom-closest": {
"version": "0.2.0",
@@ -9919,8 +9959,7 @@
},
"number-is-nan": {
"version": "1.0.1",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"object-assign": {
"version": "4.1.1",
@@ -10611,9 +10650,12 @@
}
},
"hoist-non-react-statics": {
- "version": "2.5.5",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
- "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
+ "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"
+ }
},
"home-or-tmp": {
"version": "2.0.0",
@@ -13410,6 +13452,13 @@
"prop-types": "^15.6.0",
"react-lifecycles-compat": "^3.0.4",
"shallowequal": "^1.0.2"
+ },
+ "dependencies": {
+ "hoist-non-react-statics": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
+ "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
+ }
}
},
"minimalistic-assert": {
@@ -18178,9 +18227,9 @@
"dev": true
},
"rc-align": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-2.4.3.tgz",
- "integrity": "sha512-h5KgyB5IXYR7iKpYFcMr54cuQ2eozPCZ11kbXPG5+6CWvmyJ+c0R/yjndVndiNk2G3MKcTMbJNdDv5DIckLAxQ==",
+ "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",
@@ -18202,9 +18251,9 @@
}
},
"rc-calendar": {
- "version": "9.10.8",
- "resolved": "https://registry.npmjs.org/rc-calendar/-/rc-calendar-9.10.8.tgz",
- "integrity": "sha512-AILzd0rCU8mkdVe2hAU4eV++7l0mWp/heHn5m8fs8ZoAhuHs0ifZGedHiqqqcK+tqUawzHrD0aY54H7fIUnZ+Q==",
+ "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",
@@ -18241,9 +18290,9 @@
}
},
"rc-collapse": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-1.10.3.tgz",
- "integrity": "sha512-uGZpSwTnKw9lZ4ODTqU3u4d6OcdAG0uB6lwSRNDISVdsDX8oMXULULqvFyM8UrgOkQFqU6klch78hyVE8+gFfA==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-1.11.1.tgz",
+ "integrity": "sha512-9HA8f7aWE0yabnzfE2v/7IyMb6dTmj052A9cyEMB0aT1sdLESpetMAzT3FkLcPT5fl7YNRkyVZ3zwkC5qMmzmA==",
"requires": {
"classnames": "2.x",
"css-animation": "1.x",
@@ -18287,9 +18336,9 @@
}
},
"rc-editor-core": {
- "version": "0.8.8",
- "resolved": "https://registry.npmjs.org/rc-editor-core/-/rc-editor-core-0.8.8.tgz",
- "integrity": "sha512-4zT4Z8BtQSDcdh9mGXrsVCzUXmXKpe2U2VJSKOAErh5J4yTzJxSOfJon+nHxZyJZEKXg7rZvwrnhogXZzYNIng==",
+ "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",
@@ -18316,27 +18365,17 @@
}
},
"rc-form": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/rc-form/-/rc-form-2.4.1.tgz",
- "integrity": "sha512-ZWnAR5w63fNUdeY/EuSpmrScM9EDxtgUbsSnao2BS9HIKIjqSCu6bJNX6SKvU7jRnklLOfEf8nCEMzibFZwplA==",
+ "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": "^2.3.1",
+ "hoist-non-react-statics": "^3.3.0",
"lodash": "^4.17.4",
- "warning": "^3.0.0"
- },
- "dependencies": {
- "warning": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
- "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
- "requires": {
- "loose-envify": "^1.0.0"
- }
- }
+ "warning": "^4.0.3"
}
},
"rc-hammerjs": {
@@ -18350,9 +18389,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==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-4.4.0.tgz",
+ "integrity": "sha512-AsXLVaQZ7rCU71B8zzP3nviL8/CkFGDcp5kIlpMzBdGIHoLyRnXcxei3itH9PfFSgMBixEnb5hFVoTikFbNWSQ==",
"requires": {
"babel-runtime": "6.x",
"classnames": "^2.2.0",
@@ -18381,9 +18420,9 @@
}
},
"rc-notification": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-3.3.0.tgz",
- "integrity": "sha512-T7wUryaKTNTO9gsWPCwRyC9P4FcKFTrIRsiNVXJhjlRbHKT0xZF3ag/gxXxZzPBDAf0l1vfgIrT+11cfWtZW0g==",
+ "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",
@@ -18423,9 +18462,9 @@
}
},
"rc-select": {
- "version": "8.8.3",
- "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-8.8.3.tgz",
- "integrity": "sha512-YOfOWlcnWSeBatUcsn4RWocDsNUfrPNa16j1oHDlitCbpro+3BmH62FHrtA1iwdo25aF0L/5h6KICD6+RtiGxw==",
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-9.0.2.tgz",
+ "integrity": "sha512-lwFz/aINmbznQmKvq/jFipc922h+RhA+iKCicxAglTqC4qmXg2REKWzviT5Tk0kqVe4mHcfNX8PyvMEHSmkaLA==",
"requires": {
"babel-runtime": "^6.23.0",
"classnames": "2.x",
@@ -18442,9 +18481,9 @@
}
},
"rc-slider": {
- "version": "8.6.5",
- "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-8.6.5.tgz",
- "integrity": "sha512-/wcfWHbQVu5qiK+nY4a+j/F7JrxPw81UhNARK6iooBNQGsCq0CJjKLCVAOPtDa9QPGNR3l5Kda+nsKJ/rbZNDw==",
+ "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",
@@ -18452,17 +18491,7 @@
"rc-tooltip": "^3.7.0",
"rc-util": "^4.0.4",
"shallowequal": "^1.0.1",
- "warning": "^3.0.0"
- },
- "dependencies": {
- "warning": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
- "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
- "requires": {
- "loose-envify": "^1.0.0"
- }
- }
+ "warning": "^4.0.3"
}
},
"rc-steps": {
@@ -18514,9 +18543,9 @@
}
},
"rc-tabs": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-9.6.0.tgz",
- "integrity": "sha512-Ql1p23rR41I8gJf0EZPA0VTxw4kVfw1rfnufBFvqhq3wkfvojxg6EgDK9I6h7qbUMc1KyDrhRYUzKrDshJ06Bg==",
+ "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",
@@ -18561,9 +18590,9 @@
}
},
"rc-tree": {
- "version": "1.14.9",
- "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-1.14.9.tgz",
- "integrity": "sha512-+B4657b3H0mTB4Jcd9EorydI1fevfJRukaTk/KYcbNzYhKgZFIEuT3PZrhJZoH/e+sBOEx04zSNA0uf6G6S/BA==",
+ "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",
@@ -18600,9 +18629,9 @@
}
},
"rc-tree-select": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-2.5.3.tgz",
- "integrity": "sha512-PZeW2tNsl9cCGlUtPd+MMIypOkkc8dgM0CTJP5nun+xLVW/SyGQutZWj4CrOAqmjuws8sNeSv3+b9nJ7ZPkK2w==",
+ "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",
@@ -18661,24 +18690,14 @@
}
},
"rc-upload": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-2.6.1.tgz",
- "integrity": "sha512-cYuHgy+wZZfQwwbuJuIBPdTmRYcfMddukZ9ayzuxlUJT77BUf6kgImfCj2CYTvpnTeIlDn8Wh79AAaC2PF1dIQ==",
+ "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": "2.x"
- },
- "dependencies": {
- "warning": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/warning/-/warning-2.1.0.tgz",
- "integrity": "sha1-ISINnGOvx3qMkhEeARr3Bc4MaQE=",
- "requires": {
- "loose-envify": "^1.0.0"
- }
- }
+ "warning": "4.x"
}
},
"rc-util": {
@@ -21809,8 +21828,7 @@
"toggle-selection": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
- "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=",
- "dev": true
+ "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
},
"topo": {
"version": "2.0.2",
@@ -22433,9 +22451,9 @@
}
},
"warning": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.2.tgz",
- "integrity": "sha512-wbTp09q/9C+jJn4KKJfJfoS6VleK/Dti0yqWSm6KMvJ4MRCXFQNapHuJXutJIrWV0Cf4AhTdeIe4qdKHR1+Hug==",
+ "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"
}
diff --git a/package.json b/package.json
index cbe72fdfd..95a4489d0 100755
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"private": true,
"homepage": "https://agentlab.ru/rdf-scheme-editor",
"dependencies": {
- "antd": "^3.12.3",
+ "antd": "^3.14.1",
"i18next": "^15.0.2",
"i18next-browser-languagedetector": "^3.0.0",
"i18next-xhr-backend": "^2.0.0",
diff --git a/run-in-container.ps1 b/run-in-container.ps1
index 4fe8974fc..a203a10b2 100644
--- a/run-in-container.ps1
+++ b/run-in-container.ps1
@@ -1 +1 @@
-docker run -p 3043:3000/tcp -p 3083:9009/tcp -it --rm --name rdf-scheme-editor -v ${PWD}:/usr/src/app -w /usr/src/app node:11 bash
+docker run -p 3043:3000/tcp -p 3083:9009/tcp -p 35729:35729/tcp --env CHOKIDAR_USEPOLLING=true -it --rm --name rdf-scheme-editor -v ${PWD}:/usr/src/app:rw -w /usr/src/app node:11 bash
diff --git a/src/AddRDF.stories.js b/src/AddRDF.stories.js
new file mode 100644
index 000000000..0fa457f10
--- /dev/null
+++ b/src/AddRDF.stories.js
@@ -0,0 +1,89 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import 'antd/dist/antd.css';
+import './index.css';
+
+import { Form, Input, Button, Checkbox,Select, Radio, Layout } from 'antd';
+
+
+ const { TextArea } = Input;
+
+ class AddRDFForm extends React.Component {
+ constructor() {
+ super();
+ this.state = {
+ formLayout: 'horizontal',
+ }; }
+
+ handleFormLayoutChange = (e) => {
+ this.setState({ formLayout: e.target.value });
+ }
+
+ render() {
+ const { formLayout } = this.state;
+ const formItemLayout = {
+ labelCol: { span: 4 },
+ wrapperCol: { span: 14 },
+ } ;
+
+ return (
+
+
+
+
+
+ use base URI as context identifier
+
+
+
+
+
+
+
+
+
+
+ (autodetect)
+ N-Triples
+ RDF/XML
+ Turtle
+
+ Location of the RDF data you wish to upload
+
+
+
+
+
+
+
+ Select the file containing the RDF data you wish to upload
+
+
+
+
+
+
+ Выберете файл
+ Enter the RDF data you wish to upload
+
+
+
+
+
+
+
+ Upload
+
+
+
+
+
+ );
+ }
+ }
+
+storiesOf('Add RDF', module)
+.add('form', () => (
+
+ ));
\ No newline at end of file
diff --git a/src/Explore.stories.js b/src/Explore.stories.js
new file mode 100644
index 000000000..70a706423
--- /dev/null
+++ b/src/Explore.stories.js
@@ -0,0 +1,104 @@
+import { storiesOf } from '@storybook/react';
+import React from 'react';
+import 'antd/dist/antd.css';
+import './index.css';
+import {
+ Form, Select, Input, Button, Table, Checkbox
+} from 'antd';
+
+const dataSource = [{
+}];
+
+const columns = [{
+ title: 'Subject',
+ dataIndex: 'subject',
+ key: 'subject',
+}, {
+ title: 'Predicate',
+ dataIndex: 'predicate',
+ key: 'predicate',
+}, {
+ title: 'Object',
+ dataIndex: 'object',
+ key: 'object',
+}, {
+ title: 'Context',
+ dataIndex: 'context',
+ key: 'context',
+}];
+
+class FormLayoutDemo extends React.Component {
+ constructor() {
+ super();
+ this.state = {
+ formLayout: 'horizontal',
+ };
+ }
+
+ render() {
+ const { formLayout } = this.state;
+ const formItemLayout = formLayout === 'horizontal' ? {
+ labelCol: { span: 4 },
+ wrapperCol: { span: 14 },
+ } : null;
+ const selectItemLayout = formLayout === 'horizontal' ? {
+ labelCol: { span: 4 },
+ wrapperCol: { span: 2, offset: 3 },
+ } : null;
+ const buttonItemLayout = formLayout === 'horizontal' ? {
+ labelCol: { span: 4 },
+ wrapperCol: { span: 5, offset: 3 },
+ } : null;
+ const tailFormItemLayout = formLayout === 'horizontal' ? {
+ labelCol: { span: 7 },
+ wrapperCol: { span: 4, offset: 0 },
+ } : null;
+ return (
+
+
+
+
+
+
+ All
+ 10
+ 50
+ 100
+ 200
+
+
+
+
+ Previous 0
+ Next 0
+
+
+
+
+
+
+
+
+ );
+ }
+ }
+
+ storiesOf('Explore', module)
+ .add('Explore', () => (
+
+ ));
+
+
diff --git a/src/ExportRepository.stories.js b/src/ExportRepository.stories.js
new file mode 100644
index 000000000..c3fa8f760
--- /dev/null
+++ b/src/ExportRepository.stories.js
@@ -0,0 +1,141 @@
+
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import ReactDOM from 'react-dom';
+import 'antd/dist/antd.css';
+import './index.css';
+import {
+ Form, Input, Select, Button, Table
+} from 'antd';
+
+
+const InputGroup = Input.Group;
+const Option = Select.Option;
+
+class CompactDemo extends React.Component {
+ state = {
+ dataSource: [],
+ }
+
+ render() {
+ return (
+
+
Export Repository
+
+
+
+
+
+
+
+
+
+
+ N-Triples
+ RDF/XML
+ Turtle
+ N3
+ TriG
+ TriX
+
+
+
+
+
+ Download
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ All
+ 10
+ 50
+ 100
+ 200
+
+
+
+
+
+
+
+
+
+ );
+ }
+ }
+
+ const columns = [
+ {
+ title: "Subject",
+ dataIndex: "subject",
+ key:"subject",
+ width: 150,
+ },
+ {
+ title: "Predicate",
+ dataIndex: "predicate",
+ key: "predicate",
+ width: 150,
+ },
+ {
+ title: "Object",
+ dataIndex: "object",
+ key: "object",
+ width: 700,
+ },
+ {
+ title: "Context",
+ dataIndex: "context",
+ key: "context",
+ width: 50,
+ }
+ ];
+
+ const data = [
+ {
+ key: "1",
+ subject: "oslc",
+ predicate: "rdf:type",
+ object: "owl:Ontology",
+ context: "oslc",
+ },
+ {
+ key: "2",
+ subject: "oslc",
+ predicate: "rdf:type",
+ object: "owl:label",
+ context: "oslc",
+ },
+ {
+ key: "3",
+ subject: "oslc",
+ predicate: "rdf:type",
+ object: "owl:descrision",
+ context: "oslc",
+ }
+ ];
+
+ storiesOf('Lab 2', module)
+ .add('Export Repository', () =>
+
+ );
+
+
+
\ No newline at end of file
diff --git a/src/Hello.stories.js b/src/Hello.stories.js
new file mode 100644
index 000000000..11f326997
--- /dev/null
+++ b/src/Hello.stories.js
@@ -0,0 +1,117 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import { Button } from '@storybook/react/demo';
+import { Table, Input, Select, Checkbox } from 'antd';
+import { Z_BLOCK } from 'zlib';
+
+
+
+const Option = Select.Option;
+const { TextArea } = Input;
+
+function handleChange(value) {
+ console.log(`selected ${value}`);
+}
+
+function handleBlur() {
+ console.log('blur');
+}
+
+function handleFocus() {
+ console.log('focus');
+}
+
+
+
+
+
+
+storiesOf('Explore', module)
+ .add('Query', () => (
+
+
+
+
+
+ Query Language:
+
+
+ option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
+ >
+ SPARQL
+ SeRQL
+
+
+
+
+
+ Query:
+
+
+
+
+
+
+
+ Result per page:
+
+
+ option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
+ >
+ All
+ 10
+ 50
+ 100
+ 200
+
+
+
+
+
+ Actions Options:
+
+
+ Include inferred statements
+
+
+ Save privately(do not share)
+
+
+
+
+ Actions:
+
+
+
+ Clear
+ Execute
+ Save query
+
+
+
+
+
+
+
+
+
+
+ ));
\ No newline at end of file
diff --git a/src/Lab1_Sobolev.stories.js b/src/Lab1_Sobolev.stories.js
new file mode 100644
index 000000000..8469f14e7
--- /dev/null
+++ b/src/Lab1_Sobolev.stories.js
@@ -0,0 +1,339 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import 'antd/dist/antd.css';
+import './index.css';
+import { StyleSheet, css } from 'aphrodite';
+import {
+ Form, Icon, Input, Button, Checkbox,
+ Select, Menu, Layout, Row, Col, InputNumber
+} from 'antd';
+
+const { Content, Sider } = Layout;
+
+var requirements = {
+ 'URL':'border',
+ 'xsdtype':'border',
+ 'Альтернативные варианты написания':'interation',
+ 'Вид':'border',
+ 'Включает':'disconnect',
+ 'Включен в':'disconnect',
+ 'Данные процесса':'border',
+ 'Длина':'border',
+ 'Дочерний объект для':'disconnect',
+ 'Требование 10':'border',
+ 'Требование 11':'border',
+ 'Требование 12':'border',
+ 'Требование 13':'disconnect',
+ 'Требование 14':'border',
+ 'Требование 15':'border',
+ 'Требование 16':'disconnect',
+ 'Требование 17':'disconnect',
+ 'Требование 18':'border',
+ 'Требование 19':'disconnect',
+ 'Требование 20':'border',
+ 'Требование 21':'border',
+ 'Требование 22':'disconnect',
+ 'Требование 23':'border',
+ 'Требование 24':'interationr',
+ 'Требование 25':'interation',
+ 'Требование 26':'border',
+ 'Требование 27':'interation',
+ 'Требование 28':'border',
+};
+
+
+const styles = StyleSheet.create({
+ scroll_container:{height: 400, width: '100%', border:'2px solid gray', overflowY:'auto', display:'block', },
+ widthn:{width:'92%', },
+ column:{display:'inline-flex',flexDirection: 'column',width:'98%', align:'center'},
+ blue:{color:'rgba(177,208,250)'},
+ orange:{color:'orange'},
+ gray:{color:'gray'},
+ shadowtext: {textShadow: '10px 10px 20px black'},
+ size16:{fontSize:'16pt'},
+ formcolor:{background:'#FFFFEF'},
+ formcolor_padding:{background:'#FFFFEF', padding:'0 3'},
+ menuStyle:{color: 'black', fontWeight:'bold', background: 'linear-gradient(0deg, rgba(177,208,250,1) 0%, rgba(248,248,251,1) 100%)'},
+ content1:{width:'18%'},
+ content2:{width:'70%'},
+ content3:{width:'25%', height:'100%'},
+ sel:{backgroundColor:'linear-gradient(180deg, rgba(177,208,250,1) 0%, rgba(248,248,251,1) 100%)', fontSize:'16pt'},
+ border1:{border:'3px solid rgba(177,208,250,1)'},
+ border2:{border:'2px solid gray'},
+ center:{textAlign:'center'},
+});
+
+
+const mySelect=[], container=[];
+
+for (var requirement in requirements) {
+
+ mySelect.push({requirement} );
+
+ if(requirements[requirement]=='disconnect')
+ container.push( {requirement}
);
+
+ else if (requirements[requirement]=='interation')
+ container.push( {requirement}
);
+
+ else container.push( {requirement}
);
+}
+
+
+
+class AdvancedSearchForm extends React.Component {
+
+ render() {
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Изменить параметры отображения столбцов
+
+
+
+ ✖
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Выберите тип требований или ссылок
+
+
+
+
+
+
+
+
+
+ Все
+
+ {mySelect}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Выберите типы требований...
+
+ {container}
+
+
+
+
+
+
+
+
+
+
+
+ Добавить
+
+ Изменить
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Отображаемые столбцы
+
+ Ширина (пи...
+
+ Форматирование
+
+
+
+
+
+ ИД
+
+
+
+
+
+
+
+ Имя
+
+
+
+
+
+
+
+ Тип требования
+
+
+
+
+
+
+
+ Кем изменено
+
+
+
+
+
+
+
+ Входит в состав
+
+
+
+
+
+
+
+ Изменено
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Вверх
+
+ Вниз
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Показывать только атрибуты по умолчанию (
+ )
+
+
+
+
+
+
+
+
+
+
+
+ ОК
+
+
+
+ Отмена
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+ }
+}
+
+
+const WrappedAdvancedSearchForm = Form.create({ name: 'normal_login' })(AdvancedSearchForm);
+
+storiesOf('Table Columns Customization', module)
+ .add('with form', () => (
+ Table Columns Customization
+ ))
diff --git a/src/Repositories.stories.js b/src/Repositories.stories.js
new file mode 100644
index 000000000..0cb9e2a30
--- /dev/null
+++ b/src/Repositories.stories.js
@@ -0,0 +1,79 @@
+import { storiesOf } from "@storybook/react";
+import React, { useEffect, useState } from "react";
+import "antd/dist/antd.css";
+import "./index.css";
+import { Table } from "antd";
+
+import { executeGet, executeSelect, executeUpdate } from './sparql';
+
+const columns = [{
+ title: 'Id',
+ dataIndex: 'id',
+ key: 'id',
+}, {
+ title: 'Title',
+ dataIndex: 'title',
+ key: 'title',
+}, {
+ title: 'URI',
+ dataIndex: 'uri',
+ key: 'uri',
+}, {
+ title: 'Readable',
+ dataIndex: 'readable',
+ key: 'readable',
+}, {
+ title: 'Writable',
+ dataIndex: 'writable',
+ key: 'writable',
+}];
+
+
+function RepositoriesTable(props) {
+ //такой код не работает, тк fetch возвращает не результат, а Promise
+ //const dataSource = selectRequirementsModule('https://agentlab.ru/rdf4j-server/repositories');
+ //console.log("EXECUTE GET RESULTS=", props.dataSource);
+
+ //React Hooks API
+ const [dataSource, setDataSource] = useState([]);
+
+ function selectRequirementsModule(url) {
+ console.log("EXECUTE GET URL=", url);
+ return executeGet(url)
+ .then(res =>
+ res.results.bindings.map(binding =>
+ ({
+ key: binding.id.value,
+ id: binding.id.value,
+ title: binding.title.value,
+ uri: binding.uri.value,
+ readable: binding.readable.value,
+ writable: binding.writable.value,
+ })
+ )
+ , error => {
+ console.error(error);
+ }).then(data => {
+ console.log("EXECUTE GET RESULTS=", data);
+ setDataSource(data);
+ });
+ }
+
+ // React Hooks API
+ useEffect(
+ () => {
+ selectRequirementsModule('https://agentlab.ru/rdf4j-server/repositories');//http://localhost:8080/rdf4j-server/repositories
+ }, []
+ );
+
+ return(
+
+ );
+}
+
+storiesOf("Repositories", module)
+ .add("Info", () =>
+
+ );
\ No newline at end of file
diff --git a/src/TableColumnsCustomization.stories.js b/src/TableColumnsCustomization.stories.js
new file mode 100644
index 000000000..8469f14e7
--- /dev/null
+++ b/src/TableColumnsCustomization.stories.js
@@ -0,0 +1,339 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import 'antd/dist/antd.css';
+import './index.css';
+import { StyleSheet, css } from 'aphrodite';
+import {
+ Form, Icon, Input, Button, Checkbox,
+ Select, Menu, Layout, Row, Col, InputNumber
+} from 'antd';
+
+const { Content, Sider } = Layout;
+
+var requirements = {
+ 'URL':'border',
+ 'xsdtype':'border',
+ 'Альтернативные варианты написания':'interation',
+ 'Вид':'border',
+ 'Включает':'disconnect',
+ 'Включен в':'disconnect',
+ 'Данные процесса':'border',
+ 'Длина':'border',
+ 'Дочерний объект для':'disconnect',
+ 'Требование 10':'border',
+ 'Требование 11':'border',
+ 'Требование 12':'border',
+ 'Требование 13':'disconnect',
+ 'Требование 14':'border',
+ 'Требование 15':'border',
+ 'Требование 16':'disconnect',
+ 'Требование 17':'disconnect',
+ 'Требование 18':'border',
+ 'Требование 19':'disconnect',
+ 'Требование 20':'border',
+ 'Требование 21':'border',
+ 'Требование 22':'disconnect',
+ 'Требование 23':'border',
+ 'Требование 24':'interationr',
+ 'Требование 25':'interation',
+ 'Требование 26':'border',
+ 'Требование 27':'interation',
+ 'Требование 28':'border',
+};
+
+
+const styles = StyleSheet.create({
+ scroll_container:{height: 400, width: '100%', border:'2px solid gray', overflowY:'auto', display:'block', },
+ widthn:{width:'92%', },
+ column:{display:'inline-flex',flexDirection: 'column',width:'98%', align:'center'},
+ blue:{color:'rgba(177,208,250)'},
+ orange:{color:'orange'},
+ gray:{color:'gray'},
+ shadowtext: {textShadow: '10px 10px 20px black'},
+ size16:{fontSize:'16pt'},
+ formcolor:{background:'#FFFFEF'},
+ formcolor_padding:{background:'#FFFFEF', padding:'0 3'},
+ menuStyle:{color: 'black', fontWeight:'bold', background: 'linear-gradient(0deg, rgba(177,208,250,1) 0%, rgba(248,248,251,1) 100%)'},
+ content1:{width:'18%'},
+ content2:{width:'70%'},
+ content3:{width:'25%', height:'100%'},
+ sel:{backgroundColor:'linear-gradient(180deg, rgba(177,208,250,1) 0%, rgba(248,248,251,1) 100%)', fontSize:'16pt'},
+ border1:{border:'3px solid rgba(177,208,250,1)'},
+ border2:{border:'2px solid gray'},
+ center:{textAlign:'center'},
+});
+
+
+const mySelect=[], container=[];
+
+for (var requirement in requirements) {
+
+ mySelect.push({requirement} );
+
+ if(requirements[requirement]=='disconnect')
+ container.push( {requirement}
);
+
+ else if (requirements[requirement]=='interation')
+ container.push( {requirement}
);
+
+ else container.push( {requirement}
);
+}
+
+
+
+class AdvancedSearchForm extends React.Component {
+
+ render() {
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Изменить параметры отображения столбцов
+
+
+
+ ✖
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Выберите тип требований или ссылок
+
+
+
+
+
+
+
+
+
+ Все
+
+ {mySelect}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Выберите типы требований...
+
+ {container}
+
+
+
+
+
+
+
+
+
+
+
+ Добавить
+
+ Изменить
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Отображаемые столбцы
+
+ Ширина (пи...
+
+ Форматирование
+
+
+
+
+
+ ИД
+
+
+
+
+
+
+
+ Имя
+
+
+
+
+
+
+
+ Тип требования
+
+
+
+
+
+
+
+ Кем изменено
+
+
+
+
+
+
+
+ Входит в состав
+
+
+
+
+
+
+
+ Изменено
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Вверх
+
+ Вниз
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Показывать только атрибуты по умолчанию (
+ )
+
+
+
+
+
+
+
+
+
+
+
+ ОК
+
+
+
+ Отмена
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+ }
+}
+
+
+const WrappedAdvancedSearchForm = Form.create({ name: 'normal_login' })(AdvancedSearchForm);
+
+storiesOf('Table Columns Customization', module)
+ .add('with form', () => (
+ Table Columns Customization
+ ))
diff --git a/src/components/ContextInRepository.stories.js b/src/components/ContextInRepository.stories.js
new file mode 100644
index 000000000..d5e68bcaf
--- /dev/null
+++ b/src/components/ContextInRepository.stories.js
@@ -0,0 +1,67 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import { Table } from 'antd';
+
+
+const urlTemplate = "https://agentlab.ru/rdf4j-workbench/repositories/reqs/explore?resource=";
+
+function constUrlHref(url, template = urlTemplate) {
+ return `${urlTemplate}${url}`;
+}
+
+const dataSource = [{
+ key: '1',
+ context: 'oslc:',
+ url: 'oslc%3A'
+ }, {
+ key: '2',
+ context: 'al_rm:',
+ url: 'al_rm%3A'
+ }, {
+ key: '3',
+ context: 'oslc_rm:',
+ url: 'oslc_rm%3A'
+ }, {
+ key: '4',
+ context: '',
+ url: '%3Chttps%3A%2F%2Fagentlab.ru%2Fexpert%2Frm%2Fexpert%2Fmain-reqs%23%3E'
+ }, {
+ key: '5',
+ context: 'expert_reqs:',
+ url: 'expert_reqs%3A'
+ }, {
+ key: '6',
+ context: '',
+ url: '%3Chttp%3A%2F%2Fagentlab.ru%2Fexpert%2Frm%2Fexpert%2Freqs%23%3E'
+ }, {
+ key: '7',
+ context: '',
+ url: '%3Chttps%3A%2F%2Fagentlab.ru%2Fexpert%2Frm%2Fexpert%2Freqs-collection%23%3E'
+ }, {
+ key: '8',
+ context: '',
+ url: '%3Chttps%3A%2F%2Fagentlab.ru%2Fexpert%2Frm%2Fexpert%2Freqs-module%23%3E'
+ }, {
+ key: '9',
+ context: '',
+ url: '%3Chttps%3A%2F%2Fagentlab.ru%2Fexpert%2Frm%2Fexpert%2Freqs-module-docx%23%3E'
+ }, {
+ key: '10',
+ context: '',
+ url: '%3Chttps%3A%2F%2Fagentlab.ru%2Fexpert%2Frm%2Fexpert%2Freqs-module-docx-big%23%3E'
+ }];
+
+
+const columns = [{
+ title: 'Context',
+ dataIndex: 'context',
+ key: 'context',
+ render: (text, record) => {record.context} ,
+ }];
+
+
+storiesOf('Contexts in Repository', module)
+ .add('Context', () => (
+
+ ));
+
diff --git a/src/components/DeleteRepository.stories.js b/src/components/DeleteRepository.stories.js
new file mode 100644
index 000000000..3c0e0e4c9
--- /dev/null
+++ b/src/components/DeleteRepository.stories.js
@@ -0,0 +1,105 @@
+import React from "react";
+import { storiesOf } from "@storybook/react";
+import { Form, Select, Button } from "antd";
+
+const Option = Select.Option;
+const FormItem = Form.Item;
+
+const options = [
+ {
+ value: "adms-catalog",
+ text: "adms-catalog - ADMS Catalog"
+ },
+ {
+ value: "reqs",
+ text: "reqs - Requirements"
+ },
+ {
+ value: "jhgf",
+ text: "jhgf - jh"
+ },
+ {
+ value: "configurations",
+ text: "configurations - Portal Configurations"
+ },
+ {
+ value: "adms-catalog",
+ text: "adms-catalog - ADMS Catalog"
+ },
+ {
+ value: "eurovoc_ru",
+ text: "eurovoc_ru - EuroVoc (russian edition) in SKOS Core Concepts"
+ },
+ {
+ value: "onem2m",
+ text: "onem2m - OneM2M IoT Repository"
+ },
+ {
+ value: "onem2m2",
+ text: "onem2m2 - OneM2M IoT Repository"
+ },
+ {
+ value: "datasets",
+ text: "datasets - Datasets configuration fot portal"
+ },
+ {
+ value: "23",
+ text: "23 - Native store with RDF Schema and direct type inferencing"
+ },
+ {
+ value: "mappings",
+ text: "mappings - Portal CVS Mappings"
+ },
+ {
+ value: "adms3",
+ text: "adms3 - Native store with RDF Schema and direct type inferencing"
+ },
+ {
+ value: "adms4",
+ text: "adms4 - ADMS 4 Native Java"
+ },
+ {
+ value: "users",
+ text: "users - Portal Users"
+ },
+ {
+ value: "eurovoc_core",
+ text: "eurovoc_core - EuroVoc in SKOS Core Concepts"
+ },
+ {
+ value: "rere",
+ text: "rere - test_feature"
+ },
+ {
+ value: "lov",
+ text: "lov - Linked Open Vocabularies"
+ },
+ {
+ value: "adms2",
+ text: "adms2 - ADMS 2.01 Catalog"
+ }
+];
+
+storiesOf("Delete Repository", module).add("Select", () => (
+
+));
diff --git a/src/i18n/NamespacesinRepository.stories.js b/src/i18n/NamespacesinRepository.stories.js
new file mode 100644
index 000000000..732f7d393
--- /dev/null
+++ b/src/i18n/NamespacesinRepository.stories.js
@@ -0,0 +1,130 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import {Table} from 'antd';
+import {
+ Form, Input, Select, Button,
+} from 'antd';
+
+const dataSource = [{
+ key: '1',
+ prefix: 'Mike',
+ namespace: 32
+}, {
+ key: '2',
+ prefix: 'John',
+ namespace: 42
+}];
+
+const columns = [{
+ title: 'Prefix',
+ dataIndex: 'prefix',
+ key: 'prefix',
+}, {
+ title: 'Namespace',
+ dataIndex: 'namespace',
+ key: 'namespace',
+}];
+
+const { Option } = Select;
+
+class PrefixInput extends React.Component {
+ static getDerivedStateFromProps(nextProps) {
+ // Should be a controlled component.
+ if ('value' in nextProps) {
+ return {
+ ...(nextProps.value || {}),
+ };
+ }
+ return null;
+ }
+
+ handleNumberChange = (e) => {
+ const number = parseInt(e.target.value, 10);
+ if (Number.isNaN(number)) {
+ return;
+ }
+ if (!('value' in this.props)) {
+ this.setState({ number });
+ }
+ this.triggerChange({ number });
+ }
+
+ triggerChange = (changedValue) => {
+ // Should provide an event to pass value to Form.
+ const onChange = this.props.onChange;
+ if (onChange) {
+ onChange(Object.assign({}, this.state, changedValue));
+ }
+ }
+
+ render() {
+ const { size } = this.props;
+ const state = this.state;
+ return (
+
+
+
+ {dataSource.map((option, i) => (
+ {option.prefix}
+ ))}
+
+
+ );
+ }
+}
+
+class Demo extends React.Component {
+ handleSubmit = (e) => {
+ e.preventDefault();
+ this.props.form.validateFields((err, values) => {
+ if (!err) {
+ console.log('Received values of form: ', values);
+ }
+ });
+ }
+
+ checkPrefix = (rule, value, callback) => {
+ if (value.number > 0) {
+ callback();
+ return;
+ }
+ }
+
+ render() {
+ const { getFieldDecorator } = this.props.form;
+ return (
+
+ {getFieldDecorator('prefix', {
+ initialValue: { currency: 'Mike' },
+ rules: [{ validator: this.checkPrefix }],
+ })( )}
+
+
+ Update
+
+
+ Delete
+
+
+
+ );
+ }
+}
+
+const WrappedDemo = Form.create({ name: 'customized_form_controls' })(Demo);
+
+storiesOf('Namespaces', module)
+.add('prefix', () => (
+ ));
\ No newline at end of file
diff --git a/src/newRepository.stories.js b/src/newRepository.stories.js
new file mode 100644
index 000000000..c2ce28c41
--- /dev/null
+++ b/src/newRepository.stories.js
@@ -0,0 +1,68 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+
+import "antd/dist/antd.css";
+
+import {
+ Form, Select, Row, Col, Input, Button, Typography
+} from 'antd';
+
+const { Option } = Select;
+const { Title } = Typography;
+
+class App extends React.Component {
+
+ _formOptions = [
+ 'In Memory Store',
+ 'In Memory Store RDF Schema',
+ 'In Memory Store RDF Schema and Direct Type Heirarchy'
+ ];
+
+ render() {
+ return (
+
+
+ {this._formOptions.map((option, index) => (
+ {option}
+ ))}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next
+
+
+
+
+ Cancel
+
+
+
+
+ );
+ }
+}
+
+const WrappedApp = Form.create({ name: 'coordinated' })(App);
+
+storiesOf('Form', module)
+ .add('New Repository Form', () => (
+
+ ));
\ No newline at end of file
diff --git a/src/sparql.js b/src/sparql.js
new file mode 100644
index 000000000..b7696c13a
--- /dev/null
+++ b/src/sparql.js
@@ -0,0 +1,29 @@
+export function executeGet(url) {
+ return fetch(url, {
+ method: 'GET',
+ headers: {
+ 'Accept': 'application/sparql-results+json'
+ }
+ }).then(r => r.json());
+}
+
+export function executeSelect(url, query) {
+ return fetch(url + '?query=' + encodeURIComponent(query) + '&queryLn=sparql', {
+ method: 'GET',
+ headers: {
+ 'Accept': 'application/sparql-results+json'
+ }
+ }).then(r => r.json());
+}
+
+export function executeUpdate(url, query) {
+ console.log(`update=${encodeURIComponent(query)}`);
+ return fetch(url + '/statements', {
+ method: 'POST',
+ headers: {
+ 'Accept': 'application/sparql-results+json',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ body: `update=${encodeURIComponent(query)}`
+ }).then(r => { console.log(r); return r; });
+}