feat: first edits!

This commit is contained in:
cha0s 2021-01-25 16:04:02 -06:00
parent 1765d86353
commit 50d1acc756
20 changed files with 524 additions and 79 deletions

View File

@ -3,6 +3,7 @@ import './index.scss';
import {join} from 'path';
import {PropTypes, React} from '@latus/react';
import {ProjectContext} from '@persea/core';
import {
Link,
Route,
@ -34,10 +35,10 @@ const treeFromResourcePath = (tree, uuid, [isFile, resourcePath]) => {
}
walk = walk.children[index];
});
}
};
const treeFromResourcePaths = (uuid, resourcePaths) => {
const tree = {label: uuid, children: []};
const treeFromResourcePaths = (label, uuid, resourcePaths) => {
const tree = {label, children: []};
resourcePaths
.forEach((resourcePath) => treeFromResourcePath(tree, uuid, resourcePath));
return tree;
@ -45,18 +46,20 @@ const treeFromResourcePaths = (uuid, resourcePaths) => {
const Project = ({project: {label, resourcePaths}, uuid}) => (
<div className="project">
<div className="sidebar">
<Tree
paddingLeft={20}
tree={treeFromResourcePaths(uuid, resourcePaths)}
// onChange={this.handleChange}
// isNodeCollapsed={this.isNodeCollapsed}
renderNode={renderNode}
/>
</div>
<div className="resource-container">
<Route path="/project/:uuid:uri(/.*)" component={ResourceRoute} />
</div>
<ProjectContext.Provider value={uuid}>
<div className="sidebar">
<Tree
paddingLeft={20}
tree={treeFromResourcePaths(label, uuid, resourcePaths)}
// onChange={this.handleChange}
// isNodeCollapsed={this.isNodeCollapsed}
renderNode={renderNode}
/>
</div>
<div className="resource-container">
<Route path="/project/:uuid:uri(/.*)" component={ResourceRoute} />
</div>
</ProjectContext.Provider>
</div>
);

View File

@ -3,7 +3,7 @@ import './index.scss';
import {PropTypes, React} from '@latus/react';
import {useLatus} from '@latus/react/client';
import {useSelector} from '@latus/redux';
import {projectsSelector} from '@persea/core';
import {projectsSelector, UriContext} from '@persea/core';
const Resource = ({uri, uuid}) => {
const latus = useLatus();
@ -12,7 +12,9 @@ const Resource = ({uri, uuid}) => {
const buffer = Buffer.from(resources[`${uuid}${uri}`], 'base64');
return (
<div className="resource">
<Component buffer={buffer} />
<UriContext.Provider value={uri}>
<Component buffer={buffer} />
</UriContext.Provider>
</div>
);
};

View File

@ -45,8 +45,8 @@
"@avocado/graphics@2.0.0", "@avocado/graphics@^2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@avocado%2fgraphics/-/graphics-2.0.0.tgz#c250194c245a8cef4b233b470b6afa3f7710ee6c"
integrity sha512-yZMCSPvAT32wjKW1cJ20nUs9QYtPBE3M7tdw1iaDR4oLQnKrdX2bRAUdhotJc1SFCMk0iou8elTGahxK7Q8Wkg==
resolved "http://npm.cha0sdev/@avocado%2fgraphics/-/graphics-2.0.0.tgz#c881ce2e1d4ace9763d367fa81ac2487ea9931b3"
integrity sha512-zLPglQ5J4rE7zN1qPyfecWtkov/LkW7J0abkb6YUk2fsB6ccMZ23737VyjW6N4/xL+ZtXAqaElMZ9khFSUEPpg==
dependencies:
"@avocado/core" "2.0.0"
"@avocado/input" "2.0.0"
@ -91,8 +91,8 @@
"@avocado/physics@^1.0.0":
version "1.0.0"
resolved "http://npm.cha0sdev/@avocado%2fphysics/-/physics-1.0.0.tgz#3cdd0cd1c8e1d8eb3e06c0571319f42d2a2d8b63"
integrity sha512-20qhDHqfSQ4K2g7f2EdWhAMYbusYkiDTkHrKBVAzQEAydlY0C3mLIU3j+EbvJFPX2aJYW+zQ5vhL0zPvxpMJcw==
resolved "http://npm.cha0sdev/@avocado%2fphysics/-/physics-1.0.0.tgz#f1611f510da2aa3906ff298ec0335b0f650ad5a5"
integrity sha512-Qu6n6k3ESP2Mjb6++hOywzGmMONgbJnpC00Qno/QiEZ0OWDdnu2//qgiTKmyEWvUJpJZzklAHqtLxXBwp+l7SA==
dependencies:
"@avocado/behavior" "^2.0.0"
"@avocado/core" "^2.0.0"
@ -1035,7 +1035,7 @@
core-js-pure "^3.0.0"
regenerator-runtime "^0.13.4"
"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.8.4":
"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.3.1", "@babel/runtime@^7.8.4":
version "7.12.5"
resolved "http://npm.cha0sdev/@babel%2fruntime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e"
integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==
@ -1434,36 +1434,56 @@
"@persea/bootstrap@^1.0.0":
version "1.0.0"
resolved "http://npm.cha0sdev/@persea%2fbootstrap/-/bootstrap-1.0.0.tgz#9147eb9560ddac665c79f3cb97b3a0fcb6f36b1b"
integrity sha512-v8MVcYqhMAVUvj88EWf62FdbrFh7gN6DduGGEgGa2RXAxa53CTwO3I+RVOKR3JFmNARJ29W9xoSSogqBISsyuQ==
resolved "http://npm.cha0sdev/@persea%2fbootstrap/-/bootstrap-1.0.0.tgz#d23fb1ce9f9b148b418106f1c41ead3b0fbaadd6"
integrity sha512-MmvxTovp/djLTXko1W5betiSpNDJ7uoqyx0zYwfYyLB01yxuQ8CCNUN1eHxC/hehtPCvzeyZiPUwcUk7mc3VXQ==
dependencies:
autoprefixer "^9.8.6"
debug "4.3.1"
"@persea/core@^1.0.0":
version "1.0.0"
resolved "http://npm.cha0sdev/@persea%2fcore/-/core-1.0.0.tgz#0d6f851924081891a85b21d5f30a880ae25c0a6d"
integrity sha512-WuWn3DnnfopbmDB81yb+GRrDlpJW7Rn1UXJaVGbCa4W0Z4EwkNCe13tZh0tR+ZKDKfhmIq1gzUsy5YRH7bCO/A==
resolved "http://npm.cha0sdev/@persea%2fcore/-/core-1.0.0.tgz#bb62501578724a6f12f02a5acebf4f3a53a89767"
integrity sha512-eoeqLMaCGD7MIJDi5fGoQl0oSZ5aoPH9kfHm1kYmrUtWI2JxXxz3KLHXkoIIobwys8xCPVWqKKWpeuLEdMF5TA==
dependencies:
"@avocado/graphics" "^2.0.0"
"@latus/core" "^2.0.0"
"@latus/react" "^2.0.0"
autoprefixer "^9.8.6"
debug "4.3.1"
express "^4.17.1"
glob "^7.1.6"
lodash.flatten "^4.4.0"
natsort "^2.0.2"
react-hex-editor "^0.3.0"
"@persea/entity@^1.0.0":
version "1.0.0"
resolved "http://npm.cha0sdev/@persea%2fentity/-/entity-1.0.0.tgz#02820edf20a98fafef6260b1ac3341fe5ac0bf4a"
integrity sha512-SEz3GKCqQa8JqNks9hjx3fUUmo2tVvAF/9CeD2OIFgV+7dSoW4qS68qdlo2c/ecJjodYz6w2KcGiYQ2iyFXXdA==
resolved "http://npm.cha0sdev/@persea%2fentity/-/entity-1.0.0.tgz#ce1ca6c98366743ee58695bd438f6ccfcb2a7f8e"
integrity sha512-KiZxkNiIpd2AfZW02ewTtuwlbDqTHXB4u4K9qajc3kdu5vc+jiwyxbwItyzjsjbj4sYQFamB/azN8HgXXtlrxg==
dependencies:
"@avocado/entity" "^2.0.0"
"@avocado/graphics" "^2.0.0"
"@avocado/math" "^2.0.0"
"@avocado/traits" "^2.0.0"
"@latus/core" "^2.0.0"
"@latus/react" "^2.0.0"
"@latus/redux" "^2.0.0"
"@persea/core" "^1.0.0"
"@persea/json" "^1.0.0"
debug "4.3.1"
react-tabs "^3.1.2"
"@persea/json@^1.0.0":
version "1.0.0"
resolved "http://npm.cha0sdev/@persea%2fjson/-/json-1.0.0.tgz#1ad786e3a390b5d164b009f529c0e09fb8642c80"
integrity sha512-G8jykJwqi4k8JGyR9h6NTRzsd1S06AHnkU8wvwR4ep8/S5DrQVEue2QNgCl6jtgLVJBh4yJbeINn3yavDOvGOg==
resolved "http://npm.cha0sdev/@persea%2fjson/-/json-1.0.0.tgz#132c3dca7de28e8adbcb9541085320b28e473b9a"
integrity sha512-/d0gLG4jSHsBMP42YiaBLpq+XWo7v3+8skjHUo4bEN58CI4O29SiiLYyuJfk+mmjYIft2kdCzwbX3IQN5AvP7Q==
dependencies:
"@avocado/resource" "^2.0.0"
"@latus/react" "^2.0.0"
autoprefixer "^9.8.6"
debug "4.3.1"
fast-json-patch "^3.0.0-1"
react-syntax-highlighter "^15.4.3"
"@pixi/constants@5.3.7", "@pixi/constants@^5.3.6":
version "5.3.7"
@ -1630,6 +1650,13 @@
"@types/minimatch" "*"
"@types/node" "*"
"@types/hast@^2.0.0":
version "2.3.1"
resolved "http://npm.cha0sdev/@types%2fhast/-/hast-2.3.1.tgz#b16872f2a6144c7025f296fb9636a667ebb79cd9"
integrity sha512-viwwrB+6xGzw+G1eWpF9geV3fnsDgXqHG+cqgiHrvQfDUW5hzhCyV7Sy3UJxhfRFBsgky2SSW33qi/YrIkjX5Q==
dependencies:
"@types/unist" "*"
"@types/html-minifier-terser@^5.0.0":
version "5.1.1"
resolved "http://npm.cha0sdev/@types%2fhtml-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50"
@ -1677,6 +1704,11 @@
dependencies:
source-map "^0.6.1"
"@types/unist@*":
version "2.0.3"
resolved "http://npm.cha0sdev/@types%2funist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
"@types/webpack-sources@*":
version "2.1.0"
resolved "http://npm.cha0sdev/@types%2fwebpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10"
@ -2769,6 +2801,21 @@ chalk@^4.0.0, chalk@^4.1.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
character-entities-legacy@^1.0.0:
version "1.1.4"
resolved "http://npm.cha0sdev/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
character-entities@^1.0.0:
version "1.2.4"
resolved "http://npm.cha0sdev/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
character-reference-invalid@^1.0.0:
version "1.1.4"
resolved "http://npm.cha0sdev/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
chardet@^0.7.0:
version "0.7.0"
resolved "http://npm.cha0sdev/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
@ -2858,7 +2905,7 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
classnames@^2.2.5:
classnames@^2.2.5, classnames@^2.2.6:
version "2.2.6"
resolved "http://npm.cha0sdev/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
@ -2890,6 +2937,15 @@ cli-width@^3.0.0:
resolved "http://npm.cha0sdev/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
clipboard@^2.0.0:
version "2.0.6"
resolved "http://npm.cha0sdev/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376"
integrity sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==
dependencies:
good-listener "^1.2.2"
select "^1.1.2"
tiny-emitter "^2.0.0"
cliui@^5.0.0:
version "5.0.0"
resolved "http://npm.cha0sdev/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
@ -2906,6 +2962,11 @@ clone-response@^1.0.2:
dependencies:
mimic-response "^1.0.0"
clsx@^1.1.0:
version "1.1.1"
resolved "http://npm.cha0sdev/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188"
integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==
code-point-at@^1.0.0:
version "1.1.0"
resolved "http://npm.cha0sdev/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
@ -2955,6 +3016,11 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
comma-separated-tokens@^1.0.0:
version "1.0.8"
resolved "http://npm.cha0sdev/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea"
integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==
commander@2.17.x:
version "2.17.1"
resolved "http://npm.cha0sdev/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
@ -3489,6 +3555,11 @@ delayed-stream@~1.0.0:
resolved "http://npm.cha0sdev/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
delegate@^3.1.2:
version "3.2.0"
resolved "http://npm.cha0sdev/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
delegates@^1.0.0:
version "1.0.0"
resolved "http://npm.cha0sdev/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
@ -4388,6 +4459,13 @@ fastparse@^1.1.1:
resolved "http://npm.cha0sdev/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
fault@^1.0.0:
version "1.0.4"
resolved "http://npm.cha0sdev/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13"
integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==
dependencies:
format "^0.2.0"
faye-websocket@^0.11.3:
version "0.11.3"
resolved "http://npm.cha0sdev/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e"
@ -4600,6 +4678,11 @@ form-data@~2.3.2:
combined-stream "^1.0.6"
mime-types "^2.1.12"
format@^0.2.0:
version "0.2.2"
resolved "http://npm.cha0sdev/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=
forwarded@~0.1.2:
version "0.1.2"
resolved "http://npm.cha0sdev/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
@ -4919,6 +5002,13 @@ globule@^1.0.0:
lodash "~4.17.10"
minimatch "~3.0.2"
good-listener@^1.2.2:
version "1.2.2"
resolved "http://npm.cha0sdev/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=
dependencies:
delegate "^3.1.2"
got@^9.6.0:
version "9.6.0"
resolved "http://npm.cha0sdev/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
@ -5051,11 +5141,32 @@ hash.js@^1.0.0, hash.js@^1.0.3:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
hast-util-parse-selector@^2.0.0:
version "2.2.5"
resolved "http://npm.cha0sdev/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a"
integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==
hastscript@^6.0.0:
version "6.0.0"
resolved "http://npm.cha0sdev/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640"
integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==
dependencies:
"@types/hast" "^2.0.0"
comma-separated-tokens "^1.0.0"
hast-util-parse-selector "^2.0.0"
property-information "^5.0.0"
space-separated-tokens "^1.0.0"
he@1.2.0, he@1.2.x, he@^1.2.0:
version "1.2.0"
resolved "http://npm.cha0sdev/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
highlight.js@^10.4.1, highlight.js@~10.5.0:
version "10.5.0"
resolved "http://npm.cha0sdev/highlight.js/-/highlight.js-10.5.0.tgz#3f09fede6a865757378f2d9ebdcbc15ba268f98f"
integrity sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==
history@^4.7.2, history@^4.9.0:
version "4.10.1"
resolved "http://npm.cha0sdev/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3"
@ -5498,6 +5609,19 @@ is-accessor-descriptor@^1.0.0:
dependencies:
kind-of "^6.0.0"
is-alphabetical@^1.0.0:
version "1.0.4"
resolved "http://npm.cha0sdev/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
is-alphanumerical@^1.0.0:
version "1.0.4"
resolved "http://npm.cha0sdev/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf"
integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
dependencies:
is-alphabetical "^1.0.0"
is-decimal "^1.0.0"
is-arguments@^1.0.4:
version "1.1.0"
resolved "http://npm.cha0sdev/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9"
@ -5560,6 +5684,11 @@ is-date-object@^1.0.1:
resolved "http://npm.cha0sdev/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
is-decimal@^1.0.0:
version "1.0.4"
resolved "http://npm.cha0sdev/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
is-descriptor@^0.1.0:
version "0.1.6"
resolved "http://npm.cha0sdev/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
@ -5636,6 +5765,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
dependencies:
is-extglob "^2.1.1"
is-hexadecimal@^1.0.0:
version "1.0.4"
resolved "http://npm.cha0sdev/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
is-negative-zero@^2.0.1:
version "2.0.1"
resolved "http://npm.cha0sdev/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
@ -5905,6 +6039,16 @@ kefir@^3.8.8:
resolved "http://npm.cha0sdev/kefir/-/kefir-3.8.8.tgz#235932ddfbed422acebf5d7cba503035e9ea05c5"
integrity sha512-xWga7QCZsR2Wjy2vNL3Kq/irT+IwxwItEWycRRlT5yhqHZK2fmEhziP+LzcJBWSTAMranGKtGTQ6lFpyJS3+jA==
keycode-js@^2.0.3:
version "2.0.3"
resolved "http://npm.cha0sdev/keycode-js/-/keycode-js-2.0.3.tgz#0ef559be057847aae6c520ce03577f4a12f7e257"
integrity sha512-nGuOQ0zvYQFr0OOBOZS47e/ifsiuNz1pleQIFS+LX+udj3St6AvHpv55MI8DCre6Yg9D2CG/qqWbuAx7iQt9FQ==
keycoder@^1.1.1:
version "1.1.1"
resolved "http://npm.cha0sdev/keycoder/-/keycoder-1.1.1.tgz#09d7abee7e52b0171722f5bb238e8af885d2b16a"
integrity sha1-Cder7n5SsBcXIvW7I46K+IXSsWo=
keyv@^3.0.0:
version "3.1.0"
resolved "http://npm.cha0sdev/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
@ -6169,6 +6313,14 @@ lowercase-keys@^2.0.0:
resolved "http://npm.cha0sdev/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
lowlight@^1.17.0:
version "1.18.0"
resolved "http://npm.cha0sdev/lowlight/-/lowlight-1.18.0.tgz#cfff11cfb125ca66f1c12cb43d27fff68cbeafa9"
integrity sha512-Zlc3GqclU71HRw5fTOy00zz5EOlqAdKMYhOFIO8ay4SQEDQgFuhR8JNwDIzAGMLoqTsWxe0elUNmq5o2USRAzw==
dependencies:
fault "^1.0.0"
highlight.js "~10.5.0"
lru-cache@^4.1.3:
version "4.1.5"
resolved "http://npm.cha0sdev/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
@ -6271,6 +6423,11 @@ memfs@3.2.0, memfs@^3.2.0:
dependencies:
fs-monkey "1.0.1"
"memoize-one@>=3.1.1 <6":
version "5.1.1"
resolved "http://npm.cha0sdev/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0"
integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==
memory-fs@^0.2.0:
version "0.2.0"
resolved "http://npm.cha0sdev/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290"
@ -7268,6 +7425,18 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5:
pbkdf2 "^3.0.3"
safe-buffer "^5.1.1"
parse-entities@^2.0.0:
version "2.0.0"
resolved "http://npm.cha0sdev/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
dependencies:
character-entities "^1.0.0"
character-entities-legacy "^1.0.0"
character-reference-invalid "^1.0.0"
is-alphanumerical "^1.0.0"
is-decimal "^1.0.0"
is-hexadecimal "^1.0.0"
parse-json@^2.2.0:
version "2.2.0"
resolved "http://npm.cha0sdev/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
@ -7626,6 +7795,13 @@ pretty-error@^2.1.1:
lodash "^4.17.20"
renderkid "^2.0.4"
prismjs@^1.22.0, prismjs@~1.23.0:
version "1.23.0"
resolved "http://npm.cha0sdev/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33"
integrity sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==
optionalDependencies:
clipboard "^2.0.0"
private@~0.1.5:
version "0.1.8"
resolved "http://npm.cha0sdev/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
@ -7651,7 +7827,7 @@ promise-inflight@^1.0.1:
resolved "http://npm.cha0sdev/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
prop-types@^15.5.10, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
version "15.7.2"
resolved "http://npm.cha0sdev/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
@ -7660,6 +7836,13 @@ prop-types@^15.5.10, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
object-assign "^4.1.1"
react-is "^16.8.1"
property-information@^5.0.0:
version "5.6.0"
resolved "http://npm.cha0sdev/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69"
integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==
dependencies:
xtend "^4.0.0"
proto-list@~1.2.1:
version "1.2.4"
resolved "http://npm.cha0sdev/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
@ -7844,6 +8027,17 @@ react-dom@^17.0.1:
object-assign "^4.1.1"
scheduler "^0.20.1"
react-hex-editor@^0.3.0:
version "0.3.0"
resolved "http://npm.cha0sdev/react-hex-editor/-/react-hex-editor-0.3.0.tgz#4133715faa9eb46ea3f373ec0c81a2e379fe6575"
integrity sha512-LnmNYK4OKDb4tgPGkC4j4ASwN1PRPvXy6cxlDawJnggAjp9eohtR728ohVkWolr/U67XgPH3657zmzoRg2WUFQ==
dependencies:
classnames "^2.2.6"
keycode-js "^2.0.3"
keycoder "^1.1.1"
react-virtualized-auto-sizer "^1.0.2"
react-window "^1.8.5"
react-hot-loader@4.13.0, react-hot-loader@^4.13.0:
version "4.13.0"
resolved "http://npm.cha0sdev/react-hot-loader/-/react-hot-loader-4.13.0.tgz#c27e9408581c2a678f5316e69c061b226dc6a202"
@ -7908,6 +8102,25 @@ react-router@5.2.0, react-router@^5.2.0:
tiny-invariant "^1.0.2"
tiny-warning "^1.0.0"
react-syntax-highlighter@^15.4.3:
version "15.4.3"
resolved "http://npm.cha0sdev/react-syntax-highlighter/-/react-syntax-highlighter-15.4.3.tgz#fffe3286677ac470b963b364916d16374996f3a6"
integrity sha512-TnhGgZKXr5o8a63uYdRTzeb8ijJOgRGe0qjrE0eK/gajtdyqnSO6LqB3vW16hHB0cFierYSoy/AOJw8z1Dui8g==
dependencies:
"@babel/runtime" "^7.3.1"
highlight.js "^10.4.1"
lowlight "^1.17.0"
prismjs "^1.22.0"
refractor "^3.2.0"
react-tabs@^3.1.2:
version "3.1.2"
resolved "http://npm.cha0sdev/react-tabs/-/react-tabs-3.1.2.tgz#9047ad7d8a53d357a67c14ad4c4a64cc16660fa8"
integrity sha512-OKS1l7QzSNcn+L2uFsxyGFHdXp9YsPGf/YOURWcImp7xLN36n0Wz+/j9HwlwGtlXCZexwshScR5BrcFbw/3P9Q==
dependencies:
clsx "^1.1.0"
prop-types "^15.5.0"
react-ui-tree@^4.0.0:
version "4.0.0"
resolved "http://npm.cha0sdev/react-ui-tree/-/react-ui-tree-4.0.0.tgz#99e36a68e274409485614ab1f31f52fdf884907e"
@ -7917,6 +8130,19 @@ react-ui-tree@^4.0.0:
js-tree "^2.0.1"
prop-types "^15.5.10"
react-virtualized-auto-sizer@^1.0.2:
version "1.0.4"
resolved "http://npm.cha0sdev/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.4.tgz#2b83adb5ecdee8dcb33784e96ee0074eb5369665"
integrity sha512-fdrY0ZX4Ywv0IIYPY/grQXcVQ44OLOsftl2u81coKe2Ga1wT3ps4JXaeu1JdlfjQxDI5BVsWjZQbpzmjmtI7Qw==
react-window@^1.8.5:
version "1.8.6"
resolved "http://npm.cha0sdev/react-window/-/react-window-1.8.6.tgz#d011950ac643a994118632665aad0c6382e2a112"
integrity sha512-8VwEEYyjz6DCnGBsd+MgkD0KJ2/OXFULyDtorIiTz+QzwoP94tBoA7CnbtyXMm+cCeAUER5KJcPtWl9cpKbOBg==
dependencies:
"@babel/runtime" "^7.0.0"
memoize-one ">=3.1.1 <6"
react@^17.0.1:
version "17.0.1"
resolved "http://npm.cha0sdev/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127"
@ -8074,6 +8300,15 @@ redux@^4.0.0, redux@^4.0.5:
loose-envify "^1.4.0"
symbol-observable "^1.2.0"
refractor@^3.2.0:
version "3.3.1"
resolved "http://npm.cha0sdev/refractor/-/refractor-3.3.1.tgz#ebbc04b427ea81dc25ad333f7f67a0b5f4f0be3a"
integrity sha512-vaN6R56kLMuBszHSWlwTpcZ8KTMG6aUCok4GrxYDT20UIOXxOc5o6oDc8tNTzSlH3m2sI+Eu9Jo2kVdDcUTWYw==
dependencies:
hastscript "^6.0.0"
parse-entities "^2.0.0"
prismjs "~1.23.0"
regenerate-unicode-properties@^8.2.0:
version "8.2.0"
resolved "http://npm.cha0sdev/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
@ -8473,6 +8708,11 @@ select-hose@^2.0.0:
resolved "http://npm.cha0sdev/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=
select@^1.1.2:
version "1.1.2"
resolved "http://npm.cha0sdev/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
selfsigned@^1.10.8:
version "1.10.8"
resolved "http://npm.cha0sdev/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30"
@ -8873,6 +9113,11 @@ source-map@^0.7.3:
resolved "http://npm.cha0sdev/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
space-separated-tokens@^1.0.0:
version "1.1.5"
resolved "http://npm.cha0sdev/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
spdx-correct@^3.0.0:
version "3.1.1"
resolved "http://npm.cha0sdev/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
@ -9336,6 +9581,11 @@ timers-browserify@^2.0.4:
dependencies:
setimmediate "^1.0.4"
tiny-emitter@^2.0.0:
version "2.1.0"
resolved "http://npm.cha0sdev/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
tiny-invariant@^1.0.2:
version "1.1.0"
resolved "http://npm.cha0sdev/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875"

View File

@ -4,6 +4,8 @@ import BinaryResourceRenderer from '../binary-renderer';
import ImageResourceRenderer from '../image-renderer';
import TextResourceRenderer from '../text-renderer';
export {default as Stage} from '../stage';
export default {
hooks: {
'@latus/core/starting': async (latus) => {

View File

@ -0,0 +1,3 @@
import {createContext} from '@latus/react';
export default createContext(undefined);

View File

@ -0,0 +1,3 @@
import {createContext} from '@latus/react';
export default createContext(undefined);

View File

@ -0,0 +1,5 @@
import {useContext} from '@latus/react';
import ProjectContext from '../context/project';
export default () => useContext(ProjectContext);

View File

@ -0,0 +1,5 @@
import {useContext} from '@latus/react';
import UriContext from '../context/uri';
export default () => useContext(UriContext);

View File

@ -1,6 +1,9 @@
import {projects, user} from './state';
export {default as Stage} from './stage';
export {default as ProjectContext} from './context/project';
export {default as UriContext} from './context/uri';
export {default as useProject} from './hooks/use-project';
export {default as useUri} from './hooks/use-uri';
export * from './state';
export default {

View File

@ -1,12 +1,12 @@
import './index.scss';
import {Renderer} from '@avocado/graphics';
import {PropTypes, React} from '@latus/react';
const {
import {
PropTypes,
React,
useEffect,
useRef,
} = React;
} from '@latus/react';
const Stage = ({
fps,

View File

@ -12,8 +12,8 @@
"@avocado/graphics@^2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@avocado%2fgraphics/-/graphics-2.0.0.tgz#c250194c245a8cef4b233b470b6afa3f7710ee6c"
integrity sha512-yZMCSPvAT32wjKW1cJ20nUs9QYtPBE3M7tdw1iaDR4oLQnKrdX2bRAUdhotJc1SFCMk0iou8elTGahxK7Q8Wkg==
resolved "http://npm.cha0sdev/@avocado%2fgraphics/-/graphics-2.0.0.tgz#c881ce2e1d4ace9763d367fa81ac2487ea9931b3"
integrity sha512-zLPglQ5J4rE7zN1qPyfecWtkov/LkW7J0abkb6YUk2fsB6ccMZ23737VyjW6N4/xL+ZtXAqaElMZ9khFSUEPpg==
dependencies:
"@avocado/core" "2.0.0"
"@avocado/input" "2.0.0"

View File

@ -26,7 +26,9 @@
"@avocado/traits": "^2.0.0",
"@latus/core": "^2.0.0",
"@latus/react": "^2.0.0",
"@latus/redux": "^2.0.0",
"@persea/core": "^1.0.0",
"@persea/json": "^1.0.0",
"debug": "4.3.1",
"react-tabs": "^3.1.2"
},

View File

@ -1,5 +1,7 @@
import './index.scss';
import {join} from 'path';
import {PropTypes, React} from '@latus/react';
import {
Tab,
@ -11,14 +13,20 @@ import {
import Traits from './traits';
import View from './view';
const EntityRendererComponent = ({buffer}) => {
const EntityRendererComponent = ({
buffer,
path,
}) => {
const json = JSON.parse(buffer.toString());
return (
<div className="entity-renderer">
<Tabs>
<div className="entity-renderer__workspacePanes">
<TabPanel>
<Traits json={json.traits} />
<Traits
json={json.traits}
path={join(path, '/traits')}
/>
</TabPanel>
<TabPanel>
<View json={json} />
@ -35,15 +43,26 @@ const EntityRendererComponent = ({buffer}) => {
);
};
EntityRendererComponent.defaultProps = {
path: '',
};
EntityRendererComponent.propTypes = {
buffer: PropTypes.shape({}).isRequired,
path: PropTypes.string,
};
export default class EntityResourceRenderer {
static Component({buffer}) {
static Component({
buffer,
path,
}) {
return (
<EntityRendererComponent buffer={buffer} />
<EntityRendererComponent
buffer={buffer}
path={path}
/>
);
}

View File

@ -1,13 +1,13 @@
import './index.scss';
import {Rectangle, Vector} from '@avocado/math';
import {PropTypes, React} from '@latus/react';
import {Stage} from '@persea/core';
const {
import {
PropTypes,
React,
useEffect,
useState,
} = React;
} from '@latus/react';
import {Stage} from '@persea/core/client';
const EntityStage = ({entity}) => {
const [size, setSize] = useState([0, 0]);

View File

@ -1,5 +1,7 @@
import './index.scss';
import {join} from 'path';
import {Trait as BaseTrait} from '@avocado/traits';
import {PropTypes, React} from '@latus/react';
import {useLatus} from '@latus/react/client';
@ -22,7 +24,10 @@ NoTraitRenderer.propTypes = {
json: PropTypes.shape({}).isRequired,
};
const Traits = ({json}) => {
const Traits = ({
json,
path,
}) => {
const latus = useLatus();
const types = Object.keys(json);
const tabs = types.map((type) => (
@ -47,6 +52,7 @@ const Traits = ({json}) => {
<TabPanel key={type}>
<TraitRenderer
json={jsonWithDefaults}
path={join(path, type)}
/>
</TabPanel>
);
@ -70,6 +76,7 @@ const Traits = ({json}) => {
Traits.propTypes = {
json: PropTypes.shape({}).isRequired,
path: PropTypes.string.isRequired,
};
export default Traits;

View File

@ -1,11 +1,6 @@
import {React} from '@latus/react';
import {useEffect, useState} from '@latus/react';
import {useLatus} from '@latus/react/client';
const {
useEffect,
useState,
} = React;
export default (json) => {
const latus = useLatus();
const {Entity} = latus.get('%resources');

View File

@ -1,14 +1,24 @@
import './emitter.scss';
import {join} from 'path';
import {PropTypes, React} from '@latus/react';
import Particle from './emitter/particle';
const Emitter = ({json: {params: {particles}}}) => (
const Emitter = ({
json: {params: {particles}},
path,
}) => (
<div className="emitter">
{
Object.keys(particles).map((key) => (
<Particle key={key} pkey={key} particle={particles[key]} />
<Particle
key={key}
pkey={key}
particle={particles[key]}
path={join(path, 'params/particles')}
/>
))
}
</div>
@ -20,6 +30,7 @@ Emitter.propTypes = {
particles: PropTypes.shape({}),
}),
}).isRequired,
path: PropTypes.string.isRequired,
};
export default Emitter;

View File

@ -1,9 +1,11 @@
import './particle.scss';
import {join} from 'path';
import {EntityListView} from '@avocado/entity';
import {PropTypes, React} from '@latus/react';
import {useLatus} from '@latus/react/client';
import {Stage} from '@persea/core';
import {Stage} from '@persea/core/client';
import Entity from '../../entity-renderer';
import useEntity from '../../hooks/use-entity';
@ -21,7 +23,11 @@ const emitterJson = {
},
};
const Particle = ({pkey, particle}) => {
const Particle = ({
pkey,
particle,
path,
}) => {
const latus = useLatus();
const entity = useEntity(emitterJson);
const {EntityList} = latus.get('%resources');
@ -64,7 +70,10 @@ const Particle = ({pkey, particle}) => {
>
Emit particles
</button>
<Entity.Component buffer={Buffer.from(JSON.stringify(particle))} />
<Entity.Component
buffer={Buffer.from(JSON.stringify(particle))}
path={join(path, pkey)}
/>
</div>
);
};
@ -75,6 +84,7 @@ Particle.propTypes = {
count: PropTypes.number,
rate: PropTypes.number,
}).isRequired,
path: PropTypes.string.isRequired,
};
export default Particle;

View File

@ -1,19 +1,53 @@
import './existent.scss';
import {PropTypes, React} from '@latus/react';
import {join} from 'path';
const Existent = ({json}) => (
<div className="existent">
<label>
Is ticking
<input type="checkbox" checked={json.state.isTicking} readOnly />
</label>
<label>
Name
<input type="text" value={json.state.name} readOnly />
</label>
</div>
);
import {PropTypes, React} from '@latus/react';
import {useDispatch} from '@latus/redux';
import {useProject, useUri} from '@persea/core';
import {patchJsonResource} from '@persea/json';
const Existent = ({
json,
path,
}) => {
const dispatch = useDispatch();
const project = useProject();
const uri = useUri();
return (
<div className="existent">
<label>
Is ticking
<input type="checkbox" checked={json.state.isTicking} readOnly />
</label>
<label>
Name
<input
type="text"
value={json.state.name}
onChange={(event) => {
dispatch(patchJsonResource({
patch: [
{
op: 'add',
path: join(path, 'state'),
value: {},
},
{
op: 'replace',
path: join(path, 'state/name'),
value: event.target.value,
},
],
project,
uri,
}));
}}
/>
</label>
</div>
);
};
Existent.propTypes = {
json: PropTypes.shape({
@ -22,6 +56,7 @@ Existent.propTypes = {
name: PropTypes.string,
}),
}).isRequired,
path: PropTypes.string.isRequired,
};
export default Existent;

View File

@ -45,8 +45,8 @@
"@avocado/graphics@2.0.0", "@avocado/graphics@^2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@avocado%2fgraphics/-/graphics-2.0.0.tgz#c250194c245a8cef4b233b470b6afa3f7710ee6c"
integrity sha512-yZMCSPvAT32wjKW1cJ20nUs9QYtPBE3M7tdw1iaDR4oLQnKrdX2bRAUdhotJc1SFCMk0iou8elTGahxK7Q8Wkg==
resolved "http://npm.cha0sdev/@avocado%2fgraphics/-/graphics-2.0.0.tgz#c881ce2e1d4ace9763d367fa81ac2487ea9931b3"
integrity sha512-zLPglQ5J4rE7zN1qPyfecWtkov/LkW7J0abkb6YUk2fsB6ccMZ23737VyjW6N4/xL+ZtXAqaElMZ9khFSUEPpg==
dependencies:
"@avocado/core" "2.0.0"
"@avocado/input" "2.0.0"
@ -983,7 +983,7 @@
core-js-pure "^3.0.0"
regenerator-runtime "^0.13.4"
"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.8.4":
"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.8.4":
version "7.12.5"
resolved "http://npm.cha0sdev/@babel%2fruntime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e"
integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==
@ -1104,7 +1104,24 @@
react-hot-loader "^4.13.0"
sass-loader "^10.1.0"
"@latus/socket@2.0.0":
"@latus/redux@^2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@latus%2fredux/-/redux-2.0.0.tgz#795b5639368ac2e545612129fb283e3471eb3234"
integrity sha512-c0no42nswYXfrCnp8sKq8JlhO64gwR4SD1zCFXV9uwSfJYy/1cCcVvs1EtC9GHyL5010eJ7C83NUpl2hGseBGQ==
dependencies:
"@latus/core" "2.0.0"
"@latus/react" "^2.0.0"
"@latus/socket" "^2.0.0"
"@reduxjs/toolkit" "^1.5.0"
autoprefixer "^9.8.6"
debug "4.3.1"
deepmerge "^4.2.2"
lodash.throttle "^4.1.1"
react-redux "^7.2.2"
reduce-reducers "^1.0.4"
redux "^4.0.5"
"@latus/socket@2.0.0", "@latus/socket@^2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@latus%2fsocket/-/socket-2.0.0.tgz#72f743b2cfbfb5e0d57a9dd0ab062691c7224fff"
integrity sha512-bjFJEhqv5XF2vSujelCcyHpMwFiQ2ZNbalpwrX4GhsfNUD8dDo1WdKd2WkqC7fWVZLhLulxodY0cqt2vYAIYKQ==
@ -1269,6 +1286,15 @@
glob "^7.1.6"
natsort "^2.0.2"
"@persea/json@^1.0.0":
version "1.0.0"
resolved "http://npm.cha0sdev/@persea%2fjson/-/json-1.0.0.tgz#1ad786e3a390b5d164b009f529c0e09fb8642c80"
integrity sha512-G8jykJwqi4k8JGyR9h6NTRzsd1S06AHnkU8wvwR4ep8/S5DrQVEue2QNgCl6jtgLVJBh4yJbeINn3yavDOvGOg==
dependencies:
"@avocado/resource" "^2.0.0"
debug "4.3.1"
fast-json-patch "^3.0.0-1"
"@pixi/constants@5.3.7", "@pixi/constants@^5.3.6":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2fconstants/-/constants-5.3.7.tgz#a2e1789a98deb3713cfcb3eba3db84588bc9161e"
@ -1384,6 +1410,16 @@
eventemitter3 "^3.1.0"
url "^0.11.0"
"@reduxjs/toolkit@^1.5.0":
version "1.5.0"
resolved "http://npm.cha0sdev/@reduxjs%2ftoolkit/-/toolkit-1.5.0.tgz#1025c1ccb224d1fc06d8d98a61f6717d57e6d477"
integrity sha512-E/FUraRx+8guw9Hlg/Ja8jI/hwCrmIKed8Annt9YsZw3BQp+F24t5I5b2OWR6pkEHY4hn1BgP08FrTZFRKsdaQ==
dependencies:
immer "^8.0.0"
redux "^4.0.0"
redux-thunk "^2.3.0"
reselect "^4.0.0"
"@types/anymatch@*":
version "1.3.1"
resolved "http://npm.cha0sdev/@types%2fanymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a"
@ -3931,6 +3967,11 @@ fast-deep-equal@^3.1.1:
resolved "http://npm.cha0sdev/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
fast-json-patch@^3.0.0-1:
version "3.0.0-1"
resolved "http://npm.cha0sdev/fast-json-patch/-/fast-json-patch-3.0.0-1.tgz#4c68f2e7acfbab6d29d1719c44be51899c93dabb"
integrity sha512-6pdFb07cknxvPzCeLsFHStEy+MysPJPgZQ9LbQ/2O67unQF93SNqfdSqnPPl71YMHX+AD8gbl7iuoGFzHEdDuw==
fast-json-stable-stringify@^2.0.0:
version "2.1.0"
resolved "http://npm.cha0sdev/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
@ -4531,7 +4572,7 @@ hmac-drbg@^1.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
hoist-non-react-statics@^3.3.0:
hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2:
version "3.3.2"
resolved "http://npm.cha0sdev/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
@ -4752,6 +4793,11 @@ image-size@^0.9.3:
dependencies:
queue "6.0.1"
immer@^8.0.0:
version "8.0.1"
resolved "http://npm.cha0sdev/immer/-/immer-8.0.1.tgz#9c73db683e2b3975c424fb0572af5889877ae656"
integrity sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==
import-cwd@^2.0.0:
version "2.1.0"
resolved "http://npm.cha0sdev/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
@ -5446,6 +5492,11 @@ lodash.set@^4.3.2:
resolved "http://npm.cha0sdev/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23"
integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=
lodash.throttle@^4.1.1:
version "4.1.1"
resolved "http://npm.cha0sdev/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "http://npm.cha0sdev/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
@ -6914,7 +6965,7 @@ react-hot-loader@^4.13.0:
shallowequal "^1.1.0"
source-map "^0.7.3"
react-is@^16.7.0, react-is@^16.8.1:
react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.1:
version "16.13.1"
resolved "http://npm.cha0sdev/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@ -6924,6 +6975,17 @@ react-lifecycles-compat@^3.0.4:
resolved "http://npm.cha0sdev/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
react-redux@^7.2.2:
version "7.2.2"
resolved "http://npm.cha0sdev/react-redux/-/react-redux-7.2.2.tgz#03862e803a30b6b9ef8582dadcc810947f74b736"
integrity sha512-8+CQ1EvIVFkYL/vu6Olo7JFLWop1qRUeb46sGtIMDCSpgwPQq8fPLpirIB0iTqFe9XYEFPHssdX8/UwN6pAkEA==
dependencies:
"@babel/runtime" "^7.12.1"
hoist-non-react-statics "^3.3.2"
loose-envify "^1.4.0"
prop-types "^15.7.2"
react-is "^16.13.1"
react-tabs@^3.1.2:
version "3.1.2"
resolved "http://npm.cha0sdev/react-tabs/-/react-tabs-3.1.2.tgz#9047ad7d8a53d357a67c14ad4c4a64cc16660fa8"
@ -7030,6 +7092,24 @@ redent@^1.0.0:
indent-string "^2.1.0"
strip-indent "^1.0.1"
reduce-reducers@^1.0.4:
version "1.0.4"
resolved "http://npm.cha0sdev/reduce-reducers/-/reduce-reducers-1.0.4.tgz#fb77e751a9eb0201760ac5a605ca8c9c2d0537f8"
integrity sha512-Mb2WZ2bJF597exiqX7owBzrqJ74DHLK3yOQjCyPAaNifRncE8OD0wFIuoMhXxTnHK07+8zZ2SJEKy/qtiyR7vw==
redux-thunk@^2.3.0:
version "2.3.0"
resolved "http://npm.cha0sdev/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622"
integrity sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==
redux@^4.0.0, redux@^4.0.5:
version "4.0.5"
resolved "http://npm.cha0sdev/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f"
integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==
dependencies:
loose-envify "^1.4.0"
symbol-observable "^1.2.0"
regenerate-unicode-properties@^8.2.0:
version "8.2.0"
resolved "http://npm.cha0sdev/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
@ -7183,6 +7263,11 @@ requires-port@^1.0.0:
resolved "http://npm.cha0sdev/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
reselect@^4.0.0:
version "4.0.0"
resolved "http://npm.cha0sdev/reselect/-/reselect-4.0.0.tgz#f2529830e5d3d0e021408b246a206ef4ea4437f7"
integrity sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA==
resolve-cwd@^2.0.0:
version "2.0.0"
resolved "http://npm.cha0sdev/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
@ -8008,6 +8093,11 @@ supports-color@^6.1.0:
dependencies:
has-flag "^3.0.0"
symbol-observable@^1.2.0:
version "1.2.0"
resolved "http://npm.cha0sdev/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
table@^6.0.4:
version "6.0.7"
resolved "http://npm.cha0sdev/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34"