MCPcopy Create free account
hub / github.com/angular-rust/ux-components / destroy

Method destroy

src/elements/element.rs:865–920  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

863 }
864
865 fn destroy(&self) {
866 let mut comp = self.as_ref().borrow_mut();
867
868 assert!(
869 !comp.destroyed,
870 "attempt to destroy control twice `$self` ($name)"
871 );
872
873 self.unmark();
874 self.unfocus();
875 self.uncapture();
876
877 self.destroy_children();
878
879 if let Some(clip) = comp.clip {
880 // clip.widget().map(|x| x.onbounds.remove(self.onclipchanged()));
881 todo!()
882 }
883
884 if let Some(parent) = comp.parent {
885 // if let Some(widget) = parent.widget() {
886 // widget.remove(self.id());
887 // self.set_parent(None);
888 // }
889 }
890
891 if comp.ondestroy.is_some() {
892 let _ = comp.ondestroy.get().try_send(());
893 }
894
895 comp.user = None;
896
897 // comp.oncreate.clear();
898 // comp.onrender.clear();
899 // comp.onbounds.clear();
900 // comp.ondestroy.clear();
901 // comp.onvisible.clear();
902 // comp.ondepth.clear();
903 // comp.onclip.clear();
904 // comp.onchildadd.clear();
905 // comp.onchildremove.clear();
906 // comp.onmousedown.clear();
907 // comp.onmouseup.clear();
908 // comp.onmousemove.clear();
909 // comp.onmousewheel.clear();
910 // comp.onmouseleave.clear();
911 // comp.onmouseenter.clear();
912 // comp.onkeydown.clear();
913 // comp.onkeyup.clear();
914 // comp.ontextinput.clear();
915 // comp.onfocused.clear();
916 // comp.onmarked.clear();
917 // comp.oncaptured.clear();
918
919 comp.destroyed = true;
920 }
921
922 fn update(&self, dt: f32) {

Callers

nothing calls this directly

Implementers 15

transform.rssrc/elements/transform.rs
media_query.rssrc/elements/media_query.rs
navigation_toolbar.rssrc/elements/navigation_toolbar.rs
calendar_date_picker.rssrc/elements/calendar_date_picker.rs
custom_scroll_view.rssrc/elements/custom_scroll_view.rs
preferred_size.rssrc/elements/preferred_size.rs
rust_logo.rssrc/elements/rust_logo.rs
panel.rssrc/elements/panel.rs
single_child_scroll_view.rssrc/elements/single_child_scroll_view.
choice_chip.rssrc/elements/choice_chip.rs
tab_page_selector.rssrc/elements/tab_page_selector.rs
align.rssrc/elements/align.rs

Calls 7

unmarkMethod · 0.80
uncaptureMethod · 0.80
destroy_childrenMethod · 0.80
try_sendMethod · 0.80
as_refMethod · 0.45
unfocusMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected