File tree Expand file tree Collapse file tree 3 files changed +24
-47
lines changed
Expand file tree Collapse file tree 3 files changed +24
-47
lines changed Original file line number Diff line number Diff line change @@ -367,28 +367,9 @@ impl NativeFileData for DesktopFileData {
367367 > ,
368368 > {
369369 let path = self . 0 . clone ( ) ;
370- #[ cfg( feature = "tokio_runtime" ) ]
371- {
372- // todo!()
373- // use futures_util::TryFutureExt;
374-
375- // futures_util::stream::try_unfold(File::open(path), |mut file| async move {
376- // let mut buf = vec![0; 8192];
377- // let n = file
378- // .read(&mut buf)
379- // .await
380- // .map_err(|e| dioxus_core::CapturedError::from(e))?;
381- // if n == 0 {
382- // Ok(None)
383- // } else {
384- // buf.truncate(n);
385- // Ok(Some((bytes::Bytes::from(buf), file)))
386- // }
387- // })
388- // .map(|res| res.map(bytes::Bytes::from))
389- // .boxed()
390- }
391- todo ! ( )
370+ Box :: pin ( futures_util:: stream:: once ( async move {
371+ Ok ( bytes:: Bytes :: from ( std:: fs:: read ( & path) ?) )
372+ } ) )
392373 }
393374
394375 fn content_type ( & self ) -> Option < String > {
Original file line number Diff line number Diff line change @@ -151,30 +151,13 @@ mod ser {
151151
152152 impl From < & DragData > for SerializedDataTransfer {
153153 fn from ( _drag : & DragData ) -> Self {
154- todo ! ( )
155- // let items = vec![]; // drag.data_transfer().items().iter().map(|item| SerializedDataTransferItem {
156- // // kind: item.kind().to_string(),
157- // // type_: item.type_().to_string(),
158- // // data: item.data().unwrap_or_default(),
159- // // }).collect();
160-
161- // let files = drag
162- // .files()
163- // .iter()
164- // .map(|f| crate::file_data::SerializedFileData {
165- // name: f.name().to_string(),
166- // size: f.size(),
167- // type_: f.type_().to_string(),
168- // })
169- // .collect();
170-
171- // Self {
172- // items,
173- // files,
174- // effect_allowed: drag.effect_allowed().to_string(),
175- // drop_effect: drag.drop_effect().to_string(),
176- // }
177- // }
154+ // todo!()
155+ Self {
156+ items : vec ! [ ] ,
157+ files : vec ! [ ] ,
158+ effect_allowed : "all" . into ( ) ,
159+ drop_effect : "none" . into ( ) ,
160+ }
178161 }
179162 }
180163}
Original file line number Diff line number Diff line change @@ -297,7 +297,20 @@ mod serialize {
297297 }
298298
299299 fn values ( & self ) -> Vec < ( String , FormValue ) > {
300- todo ! ( )
300+ self . values
301+ . iter ( )
302+ . map ( |v| {
303+ let value = if let Some ( text) = & v. text {
304+ FormValue :: Text ( text. clone ( ) )
305+ } else if let Some ( _file) = & v. file {
306+ // todo: we lose the file contents here
307+ FormValue :: File ( None )
308+ } else {
309+ FormValue :: File ( None )
310+ } ;
311+ ( v. key . clone ( ) , value)
312+ } )
313+ . collect ( )
301314 }
302315
303316 fn valid ( & self ) -> bool {
You can’t perform that action at this time.
0 commit comments