Add snap to grid (#744)

* fix: snapToGrid

* fix:

* fix

* fix

* fix
main
bokuweb 2024-07-18 19:11:11 +09:00 committed by GitHub
parent 8d1a018380
commit 6b38d4fbbc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 54 additions and 10 deletions

View File

@ -218,9 +218,7 @@ fn inner_build(p: &ParagraphProperty) -> Vec<u8> {
.add_optional_child(&p.adjust_right_ind); .add_optional_child(&p.adjust_right_ind);
if let Some(v) = p.snap_to_grid { if let Some(v) = p.snap_to_grid {
if v { b = b.snap_to_grid(v)
b = b.snap_to_grid()
}
} }
if let Some(v) = p.keep_next { if let Some(v) = p.keep_next {

View File

@ -95,9 +95,8 @@ impl ElementReader for ParagraphProperty {
continue; continue;
} }
XMLElement::SnapToGrid => { XMLElement::SnapToGrid => {
if read_bool(&attributes) { let v = read_bool(&attributes);
p.snap_to_grid = Some(true); p.snap_to_grid = Some(v);
}
} }
XMLElement::KeepNext => { XMLElement::KeepNext => {
if read_bool(&attributes) { if read_bool(&attributes) {

View File

@ -25,6 +25,18 @@ impl XMLBuilder {
self.close() self.close()
} }
pub(crate) fn snap_to_grid(mut self, v: bool) -> Self {
let v = if v {
"true".to_string()
} else {
"false".to_string()
};
self.writer
.write(XmlEvent::start_element("w:snapToGrid").attr("w:val", &v))
.expect(EXPECT_MESSAGE);
self.close()
}
#[allow(clippy::too_many_arguments)] #[allow(clippy::too_many_arguments)]
pub(crate) fn run_fonts( pub(crate) fn run_fonts(
mut self, mut self,
@ -167,7 +179,6 @@ impl XMLBuilder {
// i.e. <w:szCs ... > // i.e. <w:szCs ... >
closed_with_usize!(sz_cs, "w:szCs"); closed_with_usize!(sz_cs, "w:szCs");
closed_with_isize!(adjust_right_ind, "w:adjustRightInd"); closed_with_isize!(adjust_right_ind, "w:adjustRightInd");
closed!(snap_to_grid, "w:snapToGrid");
closed_with_str!(text_alignment, "w:textAlignment"); closed_with_str!(text_alignment, "w:textAlignment");
closed!(field_character, "w:fldChar", "w:fldCharType", "w:dirty"); closed!(field_character, "w:fldChar", "w:fldCharType", "w:dirty");

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -65,6 +65,7 @@ export type ParagraphPropertyJSON = {
divId?: string | null; divId?: string | null;
keepNext?: boolean; keepNext?: boolean;
keepLines?: boolean; keepLines?: boolean;
snapToGrid?: boolean;
pageBreakBefore?: boolean; pageBreakBefore?: boolean;
widowControl?: boolean; widowControl?: boolean;
outlineLvl?: number | null; outlineLvl?: number | null;

View File

@ -149,6 +149,11 @@ export class Paragraph {
return this; return this;
} }
snapToGrid(v: boolean) {
this.property = { ...this.property, snapToGrid: v };
return this;
}
keepNext(v: boolean) { keepNext(v: boolean) {
this.property = { ...this.property, keepNext: v }; this.property = { ...this.property, keepNext: v };
return this; return this;

View File

@ -1,6 +1,6 @@
{ {
"name": "docx-wasm", "name": "docx-wasm",
"version": "0.4.18-rc4", "version": "0.4.18-rc8",
"main": "dist/node/index.js", "main": "dist/node/index.js",
"browser": "dist/web/index.js", "browser": "dist/web/index.js",
"author": "bokuweb <bokuweb12@gmail.com>", "author": "bokuweb <bokuweb12@gmail.com>",

View File

@ -8493,6 +8493,7 @@ Object {
"next": null, "next": null,
"paragraphProperty": Object { "paragraphProperty": Object {
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -8650,6 +8651,7 @@ Object {
"next": null, "next": null,
"paragraphProperty": Object { "paragraphProperty": Object {
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -11704,6 +11706,7 @@ Object {
"next": null, "next": null,
"paragraphProperty": Object { "paragraphProperty": Object {
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -11861,6 +11864,7 @@ Object {
"next": null, "next": null,
"paragraphProperty": Object { "paragraphProperty": Object {
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -39643,6 +39647,7 @@ Object {
"next": null, "next": null,
"paragraphProperty": Object { "paragraphProperty": Object {
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -39800,6 +39805,7 @@ Object {
"next": null, "next": null,
"paragraphProperty": Object { "paragraphProperty": Object {
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -100409,6 +100415,7 @@ Object {
"level": null, "level": null,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -101071,6 +101078,7 @@ Object {
"level": null, "level": null,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -101183,6 +101191,7 @@ Object {
"level": null, "level": null,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -101440,6 +101449,7 @@ Object {
"lineRule": "atLeast", "lineRule": "atLeast",
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object { "runProperty": Object {
@ -101613,6 +101623,7 @@ Object {
"level": null, "level": null,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object { "runProperty": Object {
@ -101778,6 +101789,7 @@ Object {
"level": null, "level": null,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object { "runProperty": Object {
@ -101868,6 +101880,7 @@ Object {
"level": null, "level": null,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object { "runProperty": Object {
@ -101964,6 +101977,7 @@ Object {
"lineRule": "atLeast", "lineRule": "atLeast",
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -102066,6 +102080,7 @@ Object {
"lineRule": "atLeast", "lineRule": "atLeast",
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object { "runProperty": Object {
@ -102165,6 +102180,7 @@ Object {
"level": null, "level": null,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object { "runProperty": Object {
@ -102256,6 +102272,7 @@ Object {
"level": null, "level": null,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object { "runProperty": Object {
@ -102346,6 +102363,7 @@ Object {
"level": null, "level": null,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object { "runProperty": Object {
@ -102437,6 +102455,7 @@ Object {
"level": null, "level": null,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object { "runProperty": Object {
@ -102538,6 +102557,7 @@ Object {
"level": null, "level": null,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -102643,6 +102663,7 @@ Object {
"lineRule": "atLeast", "lineRule": "atLeast",
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
"textAlignment": "baseline", "textAlignment": "baseline",
}, },
@ -105073,6 +105094,7 @@ Object {
"paragraphProperty": Object { "paragraphProperty": Object {
"adjustRightInd": 0, "adjustRightInd": 0,
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -105396,6 +105418,7 @@ Object {
"startChars": 1400, "startChars": 1400,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object { "runProperty": Object {
@ -106874,6 +106897,7 @@ Object {
"paragraphProperty": Object { "paragraphProperty": Object {
"alignment": "left", "alignment": "left",
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object {}, "runProperty": Object {},
@ -107023,6 +107047,7 @@ Object {
"next": null, "next": null,
"paragraphProperty": Object { "paragraphProperty": Object {
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object { "runProperty": Object {
@ -107637,6 +107662,7 @@ Object {
"paragraphProperty": Object { "paragraphProperty": Object {
"alignment": "left", "alignment": "left",
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object {}, "runProperty": Object {},
@ -109926,6 +109952,7 @@ Object {
"level": null, "level": null,
}, },
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object { "runProperty": Object {
@ -169796,6 +169823,7 @@ Object {
"next": null, "next": null,
"paragraphProperty": Object { "paragraphProperty": Object {
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -169956,6 +169984,7 @@ Object {
"next": null, "next": null,
"paragraphProperty": Object { "paragraphProperty": Object {
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [ "tabs": Array [
Object { Object {
"leader": null, "leader": null,
@ -170117,6 +170146,7 @@ Object {
"paragraphProperty": Object { "paragraphProperty": Object {
"alignment": "left", "alignment": "left",
"runProperty": Object {}, "runProperty": Object {},
"snapToGrid": false,
"tabs": Array [], "tabs": Array [],
}, },
"runProperty": Object {}, "runProperty": Object {},