forked from rojo-rbx/rojo
Update rbx-dom (#1023)
This commit is contained in:
@@ -280,7 +280,7 @@ impl ApiService {
|
||||
/// If this instance is represented by a script, try to find the correct .lua or .luau
|
||||
/// file to open to edit it.
|
||||
fn pick_script_path(instance: InstanceWithMeta<'_>) -> Option<PathBuf> {
|
||||
match instance.class_name() {
|
||||
match instance.class_name().as_str() {
|
||||
"Script" | "LocalScript" | "ModuleScript" => {}
|
||||
_ => return None,
|
||||
}
|
||||
|
||||
@@ -7,7 +7,10 @@ use std::{
|
||||
collections::{HashMap, HashSet},
|
||||
};
|
||||
|
||||
use rbx_dom_weak::types::{Ref, Variant, VariantType};
|
||||
use rbx_dom_weak::{
|
||||
types::{Ref, Variant, VariantType},
|
||||
Ustr, UstrMap,
|
||||
};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
@@ -84,12 +87,12 @@ impl<'a> SubscribeMessage<'a> {
|
||||
pub struct InstanceUpdate {
|
||||
pub id: Ref,
|
||||
pub changed_name: Option<String>,
|
||||
pub changed_class_name: Option<String>,
|
||||
pub changed_class_name: Option<Ustr>,
|
||||
|
||||
// TODO: Transform from HashMap<String, Option<_>> to something else, since
|
||||
// TODO: Transform from UstrMap<String, Option<_>> to something else, since
|
||||
// null will get lost when decoding from JSON in some languages.
|
||||
#[serde(default)]
|
||||
pub changed_properties: HashMap<String, Option<Variant>>,
|
||||
pub changed_properties: UstrMap<Option<Variant>>,
|
||||
pub changed_metadata: Option<InstanceMetadata>,
|
||||
}
|
||||
|
||||
@@ -113,8 +116,8 @@ pub struct Instance<'a> {
|
||||
pub id: Ref,
|
||||
pub parent: Ref,
|
||||
pub name: Cow<'a, str>,
|
||||
pub class_name: Cow<'a, str>,
|
||||
pub properties: HashMap<String, Cow<'a, Variant>>,
|
||||
pub class_name: Ustr,
|
||||
pub properties: UstrMap<Cow<'a, Variant>>,
|
||||
pub children: Cow<'a, [Ref]>,
|
||||
pub metadata: Option<InstanceMetadata>,
|
||||
}
|
||||
@@ -125,14 +128,14 @@ impl Instance<'_> {
|
||||
.properties()
|
||||
.iter()
|
||||
.filter(|(_key, value)| property_filter(Some(value)))
|
||||
.map(|(key, value)| (key.clone(), Cow::Borrowed(value)))
|
||||
.map(|(key, value)| (*key, Cow::Borrowed(value)))
|
||||
.collect();
|
||||
|
||||
Instance {
|
||||
id: source.id(),
|
||||
parent: source.parent(),
|
||||
name: Cow::Borrowed(source.name()),
|
||||
class_name: Cow::Borrowed(source.class_name()),
|
||||
class_name: source.class_name(),
|
||||
properties,
|
||||
children: Cow::Borrowed(source.children()),
|
||||
metadata: Some(InstanceMetadata::from_rojo_metadata(source.metadata())),
|
||||
|
||||
@@ -119,7 +119,7 @@ impl UiService {
|
||||
.map(|(key, value)| {
|
||||
html! {
|
||||
<div class="instance-property" title={ Self::display_value(value) }>
|
||||
{ key.clone() } ": " { format!("{:?}", value.ty()) }
|
||||
{ key.as_str() } ": " { format!("{:?}", value.ty()) }
|
||||
</div>
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user