pub struct State {
pub config: Arc<Configuration>,
pub fields_instances: HashMap<String, PluginState>,
pub node_pool: Arc<NodePool>,
pub version: u64,
}Expand description
State 结构体代表编辑器的整体状态
- config: 存储编辑器的配置信息
- fields_instances: 存储插件的状态数据
- node_pool: 文档的节点池
- version: 状态版本号,用于追踪变更
Fields§
§config: Arc<Configuration>§fields_instances: HashMap<String, PluginState>§node_pool: Arc<NodePool>§version: u64Implementations§
Source§impl State
impl State
Sourcepub async fn create(state_config: StateConfig) -> StateResult<State>
pub async fn create(state_config: StateConfig) -> StateResult<State>
创建新的编辑器状态
- 初始化基础配置
- 初始化所有插件的状态
- 返回完整的编辑器状态实例
Sourcepub fn new(config: Arc<Configuration>) -> Self
pub fn new(config: Arc<Configuration>) -> Self
根据配置创建新的状态实例
- 如果没有提供文档,则创建一个空的顶层节点
- 初始化基本状态信息
pub fn doc(&self) -> Arc<NodePool>
pub fn schema(&self) -> Arc<Schema>
pub fn plugins(&self) -> &Vec<Arc<Plugin>>
Sourcepub fn sorted_plugins(&self) -> &Vec<Arc<Plugin>>
pub fn sorted_plugins(&self) -> &Vec<Arc<Plugin>>
获取已排序的插件列表 按照优先级排序,优先级低的先执行
Sourcepub async fn apply(
&self,
transaction: Transaction,
) -> StateResult<TransactionResult>
pub async fn apply( &self, transaction: Transaction, ) -> StateResult<TransactionResult>
异步应用事务到当前状态
pub async fn filter_transaction( &self, tr: &Transaction, ignore: Option<usize>, ) -> StateResult<bool>
Sourcepub async fn apply_transaction(
&self,
root_tr: Transaction,
) -> StateResult<TransactionResult>
pub async fn apply_transaction( &self, root_tr: Transaction, ) -> StateResult<TransactionResult>
异步应用事务到当前状态
Sourcepub async fn apply_inner(&self, tr: &Transaction) -> StateResult<State>
pub async fn apply_inner(&self, tr: &Transaction) -> StateResult<State>
异步应用内部事务
pub fn tr(&self) -> Transaction
pub async fn reconfigure(&self, state_config: StateConfig) -> StateResult<State>
pub fn get_field(&self, name: &str) -> Option<PluginState>
pub fn set_field(&mut self, name: &str, value: PluginState) -> StateResult<()>
pub fn has_field(&self, name: &str) -> bool
Trait Implementations§
Auto Trait Implementations§
impl Freeze for State
impl !RefUnwindSafe for State
impl Send for State
impl Sync for State
impl Unpin for State
impl !UnwindSafe for State
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more