docx_reader/documents/
taskpanes_rels.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
4pub struct TaskpanesRels {
5 pub rels: Vec<(String, String, String)>,
6}
7
8impl TaskpanesRels {
9 pub fn new() -> Self {
10 Default::default()
11 }
12
13 pub fn add_rel(mut self) -> Self {
14 let index = self.rels.len() + 1;
15 self.rels.push((
16 "http://schemas.microsoft.com/office/2011/relationships/webextension".to_string(),
17 format!("rId{}", index),
18 format!("webextension{}.xml", index),
19 ));
20 self
21 }
22
23 pub fn find_target(&self, rel_type: &str) -> Option<&(String, String, String)> {
24 self.rels.iter().find(|rel| rel.0 == rel_type)
25 }
26}
27
28impl Default for TaskpanesRels {
29 fn default() -> Self {
30 TaskpanesRels { rels: Vec::new() }
31 }
32}