12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- use crate::prelude::ScopeIdx;
- use serde::{Deserialize, Serialize};
- /// A `DomEdit` represents a serialzied form of the VirtualDom's trait-based API. This allows streaming edits across the
- /// network or through FFI boundaries.
- #[derive(Debug, Serialize, Deserialize)]
- #[serde(tag = "type")]
- pub enum DomEdits<'bump> {
- PushRoot {
- root: u64,
- },
- AppendChild,
- ReplaceWith,
- Remove,
- RemoveAllChildren,
- CreateTextNode {
- text: &'bump str,
- id: u64,
- },
- CreateElement {
- tag: &'bump str,
- id: u64,
- },
- CreateElementNs {
- tag: &'bump str,
- id: u64,
- ns: &'bump str,
- },
- CreatePlaceholder {
- id: u64,
- },
- NewEventListener {
- event: &'bump str,
- scope: ScopeIdx,
- node: u64,
- idx: usize,
- },
- RemoveEventListener {
- event: &'bump str,
- },
- SetText {
- text: &'bump str,
- },
- SetAttribute {
- field: &'bump str,
- value: &'bump str,
- ns: Option<&'bump str>,
- },
- RemoveAttribute {
- name: &'bump str,
- },
- }
|