mirror of
https://github.com/enso-org/enso.git
synced 2024-12-18 07:42:21 +03:00
b0d627a797
This PR contains all work for finishing integration of first Component List Panel in the IDE: * It adds a stub for the whole Component Browser View. The documentation panel is re-used from the old searcher. * It has the presenter implementation, integrating the view with Hierarchical Component List from the controller. * It extends the View API, so the integration is possible, making use of Component Group Set wrapper. * The selection integration was also merged into this PR, because it depended on the API extension mentioned above. However, we should avoid such practice in the future. https://user-images.githubusercontent.com/3919101/177816427-8c4285b4-8941-4048-a400-52f4acf77a9f.mp4 # Important Notes There are some known issues, to-be-fixed in the future. * The performance is bad. It should be improved with new text::Area, and the decent one shall come with [GridView inside component browser](https://www.pivotaltracker.com/story/show/182561072) * There is no keyboard navigation. It should also be delivered with [GridView](https://www.pivotaltracker.com/story/show/182561072). * The Favorites section is not [filtered out by node source type](https://www.pivotaltracker.com/story/show/182661634).
88 lines
3.1 KiB
TOML
88 lines
3.1 KiB
TOML
[package]
|
|
name = "enso-gui"
|
|
version = "0.1.0"
|
|
authors = ["Enso Team <contact@enso.org>"]
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
[dependencies]
|
|
analytics = { version = "0.1.0", path = "analytics" }
|
|
double-representation = { version = "0.1.0", path = "controller/double-representation" }
|
|
enso-config = { path = "config" }
|
|
enso-callback = { path = "../../lib/rust/callback" }
|
|
enso-data-structures = { path = "../../lib/rust/data-structures" }
|
|
enso-debug-api = { path = "../../lib/rust/debug-api" }
|
|
enso-debug-scene = { path = "view/debug_scene" }
|
|
enso-frp = { path = "../../lib/rust/frp" }
|
|
enso-logger = { path = "../../lib/rust/logger" }
|
|
enso-prelude = { path = "../../lib/rust/prelude" }
|
|
enso-profiler = { path = "../../lib/rust/profiler" }
|
|
enso-shapely = { path = "../../lib/rust/shapely" }
|
|
enso-text = { path = "../../lib/rust/text" }
|
|
enso-web = { path = "../../lib/rust/web" }
|
|
ensogl = { path = "../../lib/rust/ensogl" }
|
|
ensogl-examples = { path = "../../lib/rust/ensogl/example" }
|
|
ensogl-component = { path = "../../lib/rust/ensogl/component" }
|
|
ensogl-text-msdf-sys = { path = "../../lib/rust/ensogl/component/text/msdf-sys" }
|
|
ensogl-hardcoded-theme = { path = "../../lib/rust/ensogl/app/theme/hardcoded" }
|
|
ensogl-drop-manager = { path = "../../lib/rust/ensogl/component/drop-manager" }
|
|
fuzzly = { path = "../../lib/rust/fuzzly" }
|
|
ast = { path = "language/ast/impl" }
|
|
ide-view = { path = "view" }
|
|
ide-view-component-group = { path = "view/component-browser/component-group" }
|
|
engine-protocol = { path = "controller/engine-protocol" }
|
|
json-rpc = { path = "../../lib/rust/json-rpc" }
|
|
parser = { path = "language/parser" }
|
|
span-tree = { path = "language/span-tree" }
|
|
bimap = { version = "0.4.0" }
|
|
console_error_panic_hook = { version = "0.1.6" }
|
|
convert_case = { version = "0.5.0" }
|
|
failure = { version = "0.1.6" }
|
|
flo_stream = { version = "0.4.0" }
|
|
futures = { version = "0.3.1" }
|
|
itertools = { version = "0.10.0" }
|
|
js-sys = { version = "0.3.28" }
|
|
mockall = { version = "0.7.1", features = ["nightly"] }
|
|
nalgebra = { version = "0.26.1", features = ["serde-serialize"] }
|
|
semver = { version = "1.0.0", features = ["serde"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = { version = "1.0" }
|
|
sha3 = { version = "0.8.2" }
|
|
uuid = { version = "0.8", features = ["serde", "v4", "wasm-bindgen"] }
|
|
# wasm-bindgen version 0.2.79 is causing issues with clippy.
|
|
# See for more information. https://github.com/rustwasm/wasm-bindgen/issues/2774
|
|
# Should be removed once 0.2.80 is available.
|
|
wasm-bindgen = { version = "=0.2.78" }
|
|
wasm-bindgen-futures = "0.4"
|
|
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
websocket = "0.23.0"
|
|
|
|
[dev-dependencies]
|
|
regex = { version = "1.3.6" }
|
|
wasm-bindgen-test = { version = "0.3.8" }
|
|
|
|
[dependencies.web-sys]
|
|
version = "0.3.22"
|
|
features = [
|
|
'BinaryType',
|
|
'Blob',
|
|
'console',
|
|
'CloseEvent',
|
|
'Document',
|
|
'Element',
|
|
'ErrorEvent',
|
|
'EventTarget',
|
|
'MessageEvent',
|
|
'HtmlElement',
|
|
'Node',
|
|
'WebSocket',
|
|
'Window',
|
|
]
|
|
|
|
# Stop wasm-pack from running wasm-opt, because we run it from our build scripts in order to customize options.
|
|
[package.metadata.wasm-pack.profile.release]
|
|
wasm-opt = false
|