docx_reader/documents/
taskpanes_rels.rs

1use 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}