parent
ca6e24179d
commit
fe34873259
|
@ -0,0 +1,35 @@
|
||||||
|
use serde::{Deserialize, Serialize, Serializer};
|
||||||
|
|
||||||
|
use crate::documents::BuildXML;
|
||||||
|
use crate::xml_builder::*;
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Deserialize, PartialEq)]
|
||||||
|
pub struct IsLgl {}
|
||||||
|
|
||||||
|
impl IsLgl {
|
||||||
|
pub fn new() -> IsLgl {
|
||||||
|
IsLgl {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for IsLgl {
|
||||||
|
fn default() -> Self {
|
||||||
|
IsLgl {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl BuildXML for IsLgl {
|
||||||
|
fn build(&self) -> Vec<u8> {
|
||||||
|
let b = XMLBuilder::new();
|
||||||
|
b.is_lgl().build()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Serialize for IsLgl {
|
||||||
|
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
||||||
|
where
|
||||||
|
S: Serializer,
|
||||||
|
{
|
||||||
|
serializer.serialize_bool(true)
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,6 +17,8 @@ pub struct Level {
|
||||||
pub suffix: LevelSuffixType,
|
pub suffix: LevelSuffixType,
|
||||||
pub pstyle: Option<String>,
|
pub pstyle: Option<String>,
|
||||||
pub level_restart: Option<LevelRestart>,
|
pub level_restart: Option<LevelRestart>,
|
||||||
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
|
pub is_lgl: Option<IsLgl>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Level {
|
impl Level {
|
||||||
|
@ -38,6 +40,7 @@ impl Level {
|
||||||
suffix: LevelSuffixType::Tab,
|
suffix: LevelSuffixType::Tab,
|
||||||
pstyle: None,
|
pstyle: None,
|
||||||
level_restart: None,
|
level_restart: None,
|
||||||
|
is_lgl: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -114,6 +117,11 @@ impl Level {
|
||||||
self.level_restart = Some(LevelRestart::new(v));
|
self.level_restart = Some(LevelRestart::new(v));
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_lgl(mut self) -> Self {
|
||||||
|
self.is_lgl = Some(IsLgl::new());
|
||||||
|
self
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl BuildXML for Level {
|
impl BuildXML for Level {
|
||||||
|
@ -126,7 +134,8 @@ impl BuildXML for Level {
|
||||||
.add_child(&self.jc)
|
.add_child(&self.jc)
|
||||||
.add_child(&self.paragraph_property)
|
.add_child(&self.paragraph_property)
|
||||||
.add_child(&self.run_property)
|
.add_child(&self.run_property)
|
||||||
.add_optional_child(&self.level_restart);
|
.add_optional_child(&self.level_restart)
|
||||||
|
.add_optional_child(&self.is_lgl);
|
||||||
|
|
||||||
if self.suffix != LevelSuffixType::Tab {
|
if self.suffix != LevelSuffixType::Tab {
|
||||||
b = b.suffix(&self.suffix.to_string());
|
b = b.suffix(&self.suffix.to_string());
|
||||||
|
|
|
@ -39,6 +39,7 @@ mod instr_pageref;
|
||||||
mod instr_tc;
|
mod instr_tc;
|
||||||
mod instr_text;
|
mod instr_text;
|
||||||
mod instr_toc;
|
mod instr_toc;
|
||||||
|
mod is_lgl;
|
||||||
mod italic;
|
mod italic;
|
||||||
mod italic_cs;
|
mod italic_cs;
|
||||||
mod justification;
|
mod justification;
|
||||||
|
@ -73,6 +74,7 @@ mod section;
|
||||||
mod section_property;
|
mod section_property;
|
||||||
mod shading;
|
mod shading;
|
||||||
mod shape;
|
mod shape;
|
||||||
|
mod spec_vanish;
|
||||||
mod start;
|
mod start;
|
||||||
mod strike;
|
mod strike;
|
||||||
mod structured_data_tag;
|
mod structured_data_tag;
|
||||||
|
@ -106,7 +108,6 @@ mod text_direction;
|
||||||
mod underline;
|
mod underline;
|
||||||
mod v_align;
|
mod v_align;
|
||||||
mod vanish;
|
mod vanish;
|
||||||
mod spec_vanish;
|
|
||||||
mod vert_align;
|
mod vert_align;
|
||||||
mod vertical_merge;
|
mod vertical_merge;
|
||||||
mod wp_anchor;
|
mod wp_anchor;
|
||||||
|
@ -155,6 +156,7 @@ pub use instr_pageref::*;
|
||||||
pub use instr_tc::*;
|
pub use instr_tc::*;
|
||||||
pub use instr_text::*;
|
pub use instr_text::*;
|
||||||
pub use instr_toc::*;
|
pub use instr_toc::*;
|
||||||
|
pub use is_lgl::*;
|
||||||
pub use italic::*;
|
pub use italic::*;
|
||||||
pub use italic_cs::*;
|
pub use italic_cs::*;
|
||||||
pub use justification::*;
|
pub use justification::*;
|
||||||
|
@ -189,6 +191,7 @@ pub use section::*;
|
||||||
pub use section_property::*;
|
pub use section_property::*;
|
||||||
pub use shading::*;
|
pub use shading::*;
|
||||||
pub use shape::*;
|
pub use shape::*;
|
||||||
|
pub use spec_vanish::*;
|
||||||
pub use start::*;
|
pub use start::*;
|
||||||
pub use strike::*;
|
pub use strike::*;
|
||||||
pub use structured_data_tag::*;
|
pub use structured_data_tag::*;
|
||||||
|
@ -222,7 +225,6 @@ pub use text_direction::*;
|
||||||
pub use underline::*;
|
pub use underline::*;
|
||||||
pub use v_align::*;
|
pub use v_align::*;
|
||||||
pub use vanish::*;
|
pub use vanish::*;
|
||||||
pub use spec_vanish::*;
|
|
||||||
pub use vert_align::*;
|
pub use vert_align::*;
|
||||||
pub use vertical_merge::*;
|
pub use vertical_merge::*;
|
||||||
pub use wp_anchor::*;
|
pub use wp_anchor::*;
|
||||||
|
|
|
@ -28,6 +28,7 @@ impl ElementReader for Level {
|
||||||
let mut level_restart = None;
|
let mut level_restart = None;
|
||||||
let mut has_indent = false;
|
let mut has_indent = false;
|
||||||
let mut suffix = LevelSuffixType::Tab;
|
let mut suffix = LevelSuffixType::Tab;
|
||||||
|
let mut is_lgl = None;
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
let e = r.next();
|
let e = r.next();
|
||||||
|
@ -62,6 +63,9 @@ impl ElementReader for Level {
|
||||||
XMLElement::Suffix => {
|
XMLElement::Suffix => {
|
||||||
suffix = LevelSuffixType::from_str(&attributes[0].value)?;
|
suffix = LevelSuffixType::from_str(&attributes[0].value)?;
|
||||||
}
|
}
|
||||||
|
XMLElement::IsLgl => {
|
||||||
|
is_lgl = Some(IsLgl::new());
|
||||||
|
}
|
||||||
XMLElement::LevelText => {
|
XMLElement::LevelText => {
|
||||||
level_text = LevelText::new(attributes[0].value.clone());
|
level_text = LevelText::new(attributes[0].value.clone());
|
||||||
}
|
}
|
||||||
|
@ -98,6 +102,7 @@ impl ElementReader for Level {
|
||||||
l.paragraph_property = ppr;
|
l.paragraph_property = ppr;
|
||||||
l.run_property = rpr;
|
l.run_property = rpr;
|
||||||
l.level_restart = level_restart;
|
l.level_restart = level_restart;
|
||||||
|
l.is_lgl = is_lgl;
|
||||||
return Ok(l);
|
return Ok(l);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,6 +126,7 @@ pub enum XMLElement {
|
||||||
Num,
|
Num,
|
||||||
NumberFormat,
|
NumberFormat,
|
||||||
Suffix,
|
Suffix,
|
||||||
|
IsLgl,
|
||||||
LevelText,
|
LevelText,
|
||||||
LevelJustification,
|
LevelJustification,
|
||||||
LevelRestart,
|
LevelRestart,
|
||||||
|
@ -334,6 +335,7 @@ impl FromStr for XMLElement {
|
||||||
"num" => Ok(XMLElement::Num),
|
"num" => Ok(XMLElement::Num),
|
||||||
"numFmt" => Ok(XMLElement::NumberFormat),
|
"numFmt" => Ok(XMLElement::NumberFormat),
|
||||||
"suff" => Ok(XMLElement::Suffix),
|
"suff" => Ok(XMLElement::Suffix),
|
||||||
|
"isLgl" => Ok(XMLElement::IsLgl),
|
||||||
"lvlText" => Ok(XMLElement::LevelText),
|
"lvlText" => Ok(XMLElement::LevelText),
|
||||||
"lvlRestart" => Ok(XMLElement::LevelRestart),
|
"lvlRestart" => Ok(XMLElement::LevelRestart),
|
||||||
"lvlJc" => Ok(XMLElement::LevelJustification),
|
"lvlJc" => Ok(XMLElement::LevelJustification),
|
||||||
|
|
|
@ -411,6 +411,7 @@ impl XMLBuilder {
|
||||||
closed_with_str!(abstract_num_id, "w:abstractNumId");
|
closed_with_str!(abstract_num_id, "w:abstractNumId");
|
||||||
closed!(vanish, "w:vanish");
|
closed!(vanish, "w:vanish");
|
||||||
closed!(spec_vanish, "w:specVanish");
|
closed!(spec_vanish, "w:specVanish");
|
||||||
|
closed!(is_lgl, "w:isLgl");
|
||||||
|
|
||||||
open!(open_drawing, "w:drawing");
|
open!(open_drawing, "w:drawing");
|
||||||
open!(open_anchor, "wp:anchor");
|
open!(open_anchor, "wp:anchor");
|
||||||
|
|
|
@ -305,6 +305,7 @@ macro_rules! closed_with_child {
|
||||||
|
|
||||||
macro_rules! closed {
|
macro_rules! closed {
|
||||||
($name: ident, $el_name: expr) => {
|
($name: ident, $el_name: expr) => {
|
||||||
|
#[allow(clippy::wrong_self_convention)]
|
||||||
pub(crate) fn $name(mut self) -> Self {
|
pub(crate) fn $name(mut self) -> Self {
|
||||||
self.writer
|
self.writer
|
||||||
.write(XmlEvent::start_element($el_name))
|
.write(XmlEvent::start_element($el_name))
|
||||||
|
@ -313,6 +314,8 @@ macro_rules! closed {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
($name: ident, $el_name: expr, $attr0: expr) => {
|
($name: ident, $el_name: expr, $attr0: expr) => {
|
||||||
|
#[allow(clippy::wrong_self_convention)]
|
||||||
|
|
||||||
pub(crate) fn $name(mut self, arg0: &str) -> Self {
|
pub(crate) fn $name(mut self, arg0: &str) -> Self {
|
||||||
self.writer
|
self.writer
|
||||||
.write(XmlEvent::start_element($el_name).attr($attr0, arg0))
|
.write(XmlEvent::start_element($el_name).attr($attr0, arg0))
|
||||||
|
@ -322,6 +325,7 @@ macro_rules! closed {
|
||||||
};
|
};
|
||||||
($name: ident, $el_name: expr, $attr0: expr, $attr1: expr) => {
|
($name: ident, $el_name: expr, $attr0: expr, $attr1: expr) => {
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
|
#[allow(clippy::wrong_self_convention)]
|
||||||
pub(crate) fn $name(mut self, arg0: &str, arg1: &str) -> Self {
|
pub(crate) fn $name(mut self, arg0: &str, arg1: &str) -> Self {
|
||||||
self.writer
|
self.writer
|
||||||
.write(
|
.write(
|
||||||
|
|
|
@ -12,6 +12,7 @@ export type LevelJSON = {
|
||||||
runProperty: RunPropertyJSON;
|
runProperty: RunPropertyJSON;
|
||||||
pstyle: string | null;
|
pstyle: string | null;
|
||||||
levelRestart: number | null;
|
levelRestart: number | null;
|
||||||
|
isLgl?: boolean | null;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type AbstractNumberingJSON = {
|
export type AbstractNumberingJSON = {
|
||||||
|
|
|
@ -2148,6 +2148,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -2178,6 +2179,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 2,
|
"level": 2,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -2208,6 +2210,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 3,
|
"level": 3,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -2238,6 +2241,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 4,
|
"level": 4,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -2268,6 +2272,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 5,
|
"level": 5,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -2298,6 +2303,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 6,
|
"level": 6,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -2328,6 +2334,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 7,
|
"level": 7,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -2358,6 +2365,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 8,
|
"level": 8,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -61014,6 +61022,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -61044,6 +61053,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 2,
|
"level": 2,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -61074,6 +61084,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 3,
|
"level": 3,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -61104,6 +61115,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 4,
|
"level": 4,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -61134,6 +61146,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 5,
|
"level": 5,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -61164,6 +61177,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 6,
|
"level": 6,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -61194,6 +61208,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 7,
|
"level": 7,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -61224,6 +61239,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 8,
|
"level": 8,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -93223,6 +93239,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -132445,6 +132462,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -134464,6 +134482,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -134767,6 +134786,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
@ -135070,6 +135090,7 @@ Object {
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
|
"isLgl": true,
|
||||||
"jc": "left",
|
"jc": "left",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"levelRestart": null,
|
"levelRestart": null,
|
||||||
|
|
Loading…
Reference in New Issue