Skip to content

Commit 76fb9d4

Browse files
committed
Merge branch 'gbj-master'
2 parents e44afae + ccc789c commit 76fb9d4

File tree

5 files changed

+96
-93
lines changed

5 files changed

+96
-93
lines changed

frameworks/keyed/leptos/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ crate-type = ["cdylib"]
1010
[dependencies]
1111
getrandom = { version = "0.2.7", features = ["js"] }
1212
rand = { version = "0.8.5", features = ["small_rng"] }
13-
leptos = { version = "0.0.3", features = ["csr"]}
13+
leptos = { version = "0.0.4", features = ["csr"]}
1414
wasm-bindgen = "0.2.82"
1515
web-sys = { version = "0.3.59", features = ["Window", "Document"] }
1616

frameworks/keyed/leptos/bundled-dist/js-framework-benchmark-leptos.js

Lines changed: 75 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ function makeMutClosure(arg0, arg1, dtor, f) {
205205
return real;
206206
}
207207
function __wbg_adapter_28(arg0, arg1, arg2) {
208-
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h813e1a3b92b629e1(arg0, arg1, addHeapObject(arg2));
208+
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h45e781e5652299fa(arg0, arg1, addHeapObject(arg2));
209209
}
210210

211211
/**
@@ -295,6 +295,76 @@ function getImports() {
295295
const ret = getObject(arg0).querySelector(getStringFromWasm0(arg1, arg2));
296296
return isLikeNone(ret) ? 0 : addHeapObject(ret);
297297
}, arguments) };
298+
imports.wbg.__wbg_process_0cc2ada8524d6f83 = function(arg0) {
299+
const ret = getObject(arg0).process;
300+
return addHeapObject(ret);
301+
};
302+
imports.wbg.__wbindgen_is_object = function(arg0) {
303+
const val = getObject(arg0);
304+
const ret = typeof(val) === 'object' && val !== null;
305+
return ret;
306+
};
307+
imports.wbg.__wbg_versions_c11acceab27a6c87 = function(arg0) {
308+
const ret = getObject(arg0).versions;
309+
return addHeapObject(ret);
310+
};
311+
imports.wbg.__wbg_node_7ff1ce49caf23815 = function(arg0) {
312+
const ret = getObject(arg0).node;
313+
return addHeapObject(ret);
314+
};
315+
imports.wbg.__wbindgen_is_string = function(arg0) {
316+
const ret = typeof(getObject(arg0)) === 'string';
317+
return ret;
318+
};
319+
imports.wbg.__wbg_static_accessor_NODE_MODULE_cf6401cc1091279e = function() {
320+
const ret = module;
321+
return addHeapObject(ret);
322+
};
323+
imports.wbg.__wbg_require_a746e79b322b9336 = function() { return handleError(function (arg0, arg1, arg2) {
324+
const ret = getObject(arg0).require(getStringFromWasm0(arg1, arg2));
325+
return addHeapObject(ret);
326+
}, arguments) };
327+
imports.wbg.__wbg_crypto_2036bed7c44c25e7 = function(arg0) {
328+
const ret = getObject(arg0).crypto;
329+
return addHeapObject(ret);
330+
};
331+
imports.wbg.__wbg_msCrypto_a21fc88caf1ecdc8 = function(arg0) {
332+
const ret = getObject(arg0).msCrypto;
333+
return addHeapObject(ret);
334+
};
335+
imports.wbg.__wbg_newwithlength_f5933855e4f48a19 = function(arg0) {
336+
const ret = new Uint8Array(arg0 >>> 0);
337+
return addHeapObject(ret);
338+
};
339+
imports.wbg.__wbg_randomFillSync_065afffde01daa66 = function() { return handleError(function (arg0, arg1, arg2) {
340+
getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2));
341+
}, arguments) };
342+
imports.wbg.__wbg_subarray_58ad4efbb5bcb886 = function(arg0, arg1, arg2) {
343+
const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);
344+
return addHeapObject(ret);
345+
};
346+
imports.wbg.__wbg_getRandomValues_b99eec4244a475bb = function() { return handleError(function (arg0, arg1) {
347+
getObject(arg0).getRandomValues(getObject(arg1));
348+
}, arguments) };
349+
imports.wbg.__wbg_length_9e1ae1900cb0fbd5 = function(arg0) {
350+
const ret = getObject(arg0).length;
351+
return ret;
352+
};
353+
imports.wbg.__wbindgen_memory = function() {
354+
const ret = wasm.memory;
355+
return addHeapObject(ret);
356+
};
357+
imports.wbg.__wbg_buffer_3f3d764d4747d564 = function(arg0) {
358+
const ret = getObject(arg0).buffer;
359+
return addHeapObject(ret);
360+
};
361+
imports.wbg.__wbg_new_8c3f0052272a457a = function(arg0) {
362+
const ret = new Uint8Array(getObject(arg0));
363+
return addHeapObject(ret);
364+
};
365+
imports.wbg.__wbg_set_83db9690f9353e79 = function(arg0, arg1, arg2) {
366+
getObject(arg0).set(getObject(arg1), arg2 >>> 0);
367+
};
298368
imports.wbg.__wbg_self_6d479506f72c6a71 = function() { return handleError(function () {
299369
const ret = self.self;
300370
return addHeapObject(ret);
@@ -493,85 +563,15 @@ function getImports() {
493563
imports.wbg.__wbg_remove_a8fdc690909ea566 = function(arg0) {
494564
getObject(arg0).remove();
495565
};
496-
imports.wbg.__wbg_process_0cc2ada8524d6f83 = function(arg0) {
497-
const ret = getObject(arg0).process;
498-
return addHeapObject(ret);
499-
};
500-
imports.wbg.__wbindgen_is_object = function(arg0) {
501-
const val = getObject(arg0);
502-
const ret = typeof(val) === 'object' && val !== null;
503-
return ret;
504-
};
505-
imports.wbg.__wbg_versions_c11acceab27a6c87 = function(arg0) {
506-
const ret = getObject(arg0).versions;
507-
return addHeapObject(ret);
508-
};
509-
imports.wbg.__wbg_node_7ff1ce49caf23815 = function(arg0) {
510-
const ret = getObject(arg0).node;
511-
return addHeapObject(ret);
512-
};
513-
imports.wbg.__wbindgen_is_string = function(arg0) {
514-
const ret = typeof(getObject(arg0)) === 'string';
515-
return ret;
516-
};
517-
imports.wbg.__wbg_static_accessor_NODE_MODULE_cf6401cc1091279e = function() {
518-
const ret = module;
519-
return addHeapObject(ret);
520-
};
521-
imports.wbg.__wbg_require_a746e79b322b9336 = function() { return handleError(function (arg0, arg1, arg2) {
522-
const ret = getObject(arg0).require(getStringFromWasm0(arg1, arg2));
523-
return addHeapObject(ret);
524-
}, arguments) };
525-
imports.wbg.__wbg_crypto_2036bed7c44c25e7 = function(arg0) {
526-
const ret = getObject(arg0).crypto;
527-
return addHeapObject(ret);
528-
};
529-
imports.wbg.__wbg_msCrypto_a21fc88caf1ecdc8 = function(arg0) {
530-
const ret = getObject(arg0).msCrypto;
531-
return addHeapObject(ret);
532-
};
533-
imports.wbg.__wbg_newwithlength_f5933855e4f48a19 = function(arg0) {
534-
const ret = new Uint8Array(arg0 >>> 0);
535-
return addHeapObject(ret);
536-
};
537-
imports.wbg.__wbg_randomFillSync_065afffde01daa66 = function() { return handleError(function (arg0, arg1, arg2) {
538-
getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2));
539-
}, arguments) };
540-
imports.wbg.__wbg_subarray_58ad4efbb5bcb886 = function(arg0, arg1, arg2) {
541-
const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);
542-
return addHeapObject(ret);
543-
};
544-
imports.wbg.__wbg_getRandomValues_b99eec4244a475bb = function() { return handleError(function (arg0, arg1) {
545-
getObject(arg0).getRandomValues(getObject(arg1));
546-
}, arguments) };
547-
imports.wbg.__wbg_length_9e1ae1900cb0fbd5 = function(arg0) {
548-
const ret = getObject(arg0).length;
549-
return ret;
550-
};
551-
imports.wbg.__wbindgen_memory = function() {
552-
const ret = wasm.memory;
553-
return addHeapObject(ret);
554-
};
555-
imports.wbg.__wbg_buffer_3f3d764d4747d564 = function(arg0) {
556-
const ret = getObject(arg0).buffer;
557-
return addHeapObject(ret);
558-
};
559-
imports.wbg.__wbg_new_8c3f0052272a457a = function(arg0) {
560-
const ret = new Uint8Array(getObject(arg0));
561-
return addHeapObject(ret);
562-
};
563-
imports.wbg.__wbg_set_83db9690f9353e79 = function(arg0, arg1, arg2) {
564-
getObject(arg0).set(getObject(arg1), arg2 >>> 0);
565-
};
566566
imports.wbg.__wbindgen_throw = function(arg0, arg1) {
567567
throw new Error(getStringFromWasm0(arg0, arg1));
568568
};
569-
imports.wbg.__wbindgen_closure_wrapper95 = function(arg0, arg1, arg2) {
570-
const ret = makeMutClosure(arg0, arg1, 7, __wbg_adapter_28);
569+
imports.wbg.__wbindgen_closure_wrapper106 = function(arg0, arg1, arg2) {
570+
const ret = makeMutClosure(arg0, arg1, 8, __wbg_adapter_28);
571571
return addHeapObject(ret);
572572
};
573-
imports.wbg.__wbindgen_closure_wrapper799 = function(arg0, arg1, arg2) {
574-
const ret = makeMutClosure(arg0, arg1, 7, __wbg_adapter_28);
573+
imports.wbg.__wbindgen_closure_wrapper802 = function(arg0, arg1, arg2) {
574+
const ret = makeMutClosure(arg0, arg1, 8, __wbg_adapter_28);
575575
return addHeapObject(ret);
576576
};
577577

Binary file not shown.

frameworks/keyed/leptos/src/lib.rs

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ use std::sync::atomic::{AtomicUsize, Ordering};
33
use leptos::*;
44
use rand::prelude::*;
55
use wasm_bindgen::prelude::*;
6-
use web_sys::window;
76

87
static ADJECTIVES: &[&str] = &[
98
"pretty",
@@ -46,8 +45,9 @@ static NOUNS: &[&str] = &[
4645
#[component]
4746
fn Button<'a>(cx: Scope, id: &'a str, text: &'a str) -> Element {
4847
view! {
48+
cx,
4949
<div class="col-sm-6 smallpad">
50-
<button id={id} class="btn btn-primary btn-block" type="button">{text}</button>
50+
<button id=id class="btn btn-primary btn-block" type="button">{text}</button>
5151
</div>
5252
}
5353
}
@@ -95,38 +95,38 @@ fn App(cx: Scope) -> Element {
9595
let (selected, set_selected) = create_signal(cx, None::<usize>);
9696

9797
let remove = move |id| {
98-
set_data(move |data| data.retain(|row| row.id != id));
98+
set_data.update(move |data| data.retain(|row| row.id != id));
9999
};
100100

101101
let run = move |_| {
102-
set_data(move |n| *n = build_data(cx, 1000));
103-
set_selected(|n| *n = None);
102+
set_data(build_data(cx, 1000));
103+
set_selected(None);
104104
};
105105

106106
let run_lots = move |_| {
107-
set_data(move |n| *n = build_data(cx, 10000));
108-
set_selected(|n| *n = None);
107+
set_data(build_data(cx, 10000));
108+
set_selected(None);
109109
};
110110

111111
let add = move |_| {
112-
set_data(move |data| data.append(&mut build_data(cx, 1000)));
112+
set_data.update(move |data| data.append(&mut build_data(cx, 1000)));
113113
};
114114

115115
let update = move |_| {
116-
set_data(|data| {
117-
for row in data.iter_mut().step_by(10) {
116+
data.with(|data| {
117+
for row in data.iter().step_by(10) {
118118
row.label.1.update(|n| *n = format!("{} !!!", n));
119119
}
120120
});
121121
};
122122

123123
let clear = move |_| {
124-
set_data(|n| *n = Vec::new());
125-
set_selected(|n| *n = None);
124+
set_data(Vec::new());
125+
set_selected(None);
126126
};
127127

128128
let swap_rows = move |_| {
129-
set_data(|data| {
129+
set_data.update(|data| {
130130
if data.len() > 998 {
131131
data.swap(1, 998);
132132
}
@@ -136,6 +136,7 @@ fn App(cx: Scope) -> Element {
136136
let is_selected = create_selector(cx, selected);
137137

138138
view! {
139+
cx,
139140
<div class="container">
140141
<div class="jumbotron"><div class="row">
141142
<div class="col-md-6"><h1>"Leptos"</h1></div>
@@ -151,14 +152,16 @@ fn App(cx: Scope) -> Element {
151152
<table class="table table-hover table-striped test-data">
152153
<tbody>
153154
<For each=data key=|row| row.id>{{
154-
let is_s = is_selected.clone();
155+
let is_selected = is_selected.clone();
155156
move |cx, row: &RowData| {
156157
let row_id = row.id;
157158
let (label, _) = row.label;
159+
let is_selected = is_selected.clone();
158160
view! {
159-
<tr class:danger={let is_s = is_s.clone(); move || is_s(Some(row_id))}>
161+
cx,
162+
<tr class:danger={move || is_selected(Some(row_id))}>
160163
<td class="col-md-1">{row_id.to_string()}</td>
161-
<td class="col-md-4"><a on:click=move |_| set_selected(move |n| *n = Some(row_id))>{move || label.get()}</a></td>
164+
<td class="col-md-4"><a on:click=move |_| set_selected(Some(row_id))>{move || label.get()}</a></td>
162165
<td class="col-md-1"><a on:click=move |_| remove(row_id)><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a></td>
163166
<td class="col-md-6"/>
164167
</tr>
@@ -176,6 +179,6 @@ fn App(cx: Scope) -> Element {
176179
pub fn start() {
177180
let mount_el = document().query_selector("#main").unwrap().unwrap();
178181
leptos::mount(mount_el.unchecked_into(), |cx| {
179-
view! { <App/> }
182+
view! { cx, <App/> }
180183
});
181184
}

0 commit comments

Comments
 (0)