diff --git a/public/content/1_cohesion-des-mondes/5_test-avec-geoformat/narrative.txt b/public/content/1_cohesion-des-mondes/5_test-avec-geoformat/narrative.txt index b732d56..e070ad9 100644 --- a/public/content/1_cohesion-des-mondes/5_test-avec-geoformat/narrative.txt +++ b/public/content/1_cohesion-des-mondes/5_test-avec-geoformat/narrative.txt @@ -19,7 +19,7 @@ Customcss: @page { size: A4; margin: 50mm 15mm 26mm 15mm; - background: rgba(255, 255, 255, 1); + background: rgb(227, 33, 33); } body { @@ -35,10 +35,10 @@ p { font-weight: 300; font-family: Arial; font-style: italic; - padding-top: 20mm; - padding-right: 20mm; - padding-bottom: 20mm; - padding-left: 20mm; + padding-top: 0mm; + padding-right: 0mm; + padding-bottom: 0mm; + padding-left: 0mm; } h1 { diff --git a/src/components/ElementPopup.vue b/src/components/ElementPopup.vue index 72b17f8..cd3eee9 100644 --- a/src/components/ElementPopup.vue +++ b/src/components/ElementPopup.vue @@ -56,7 +56,7 @@ type="button" :class="{ active: fontSize.unit === 'px' }" :disabled="inheritanceLocked" - @click="fontSize.unit = 'px'" + @click="updateFontSizeUnit('px')" > px @@ -64,7 +64,7 @@ type="button" :class="{ active: fontSize.unit === 'em' }" :disabled="inheritanceLocked" - @click="fontSize.unit = 'em'" + @click="updateFontSizeUnit('em')" > em @@ -72,7 +72,7 @@ type="button" :class="{ active: fontSize.unit === 'rem' }" :disabled="inheritanceLocked" - @click="fontSize.unit = 'rem'" + @click="updateFontSizeUnit('rem')" > rem @@ -142,7 +142,7 @@ type="button" :class="{ active: marginOuter.unit === 'mm' }" :disabled="inheritanceLocked" - @click="marginOuter.unit = 'mm'" + @click="updateMarginOuterUnit('mm')" > mm @@ -150,7 +150,7 @@ type="button" :class="{ active: marginOuter.unit === 'px' }" :disabled="inheritanceLocked" - @click="marginOuter.unit = 'px'" + @click="updateMarginOuterUnit('px')" > px @@ -175,7 +175,7 @@ type="button" :class="{ active: paddingInner.unit === 'mm' }" :disabled="inheritanceLocked" - @click="paddingInner.unit = 'mm'" + @click="updatePaddingInnerUnit('mm')" > mm @@ -183,7 +183,7 @@ type="button" :class="{ active: paddingInner.unit === 'px' }" :disabled="inheritanceLocked" - @click="paddingInner.unit = 'px'" + @click="updatePaddingInnerUnit('px')" > px @@ -264,6 +264,7 @@ import { usePopupPosition } from '../composables/usePopupPosition'; import { useDebounce } from '../composables/useDebounce'; import NumberInput from './ui/NumberInput.vue'; import UnitToggle from './ui/UnitToggle.vue'; +import { convertUnit } from '../utils/unit-conversion'; import Coloris from '@melloware/coloris'; import '@melloware/coloris/dist/coloris.css'; import hljs from 'highlight.js/lib/core'; @@ -325,6 +326,21 @@ const immediateUpdate = (callback) => { callback(); }; +const updateFontSizeUnit = (newUnit) => { + fontSize.value.value = convertUnit(fontSize.value.value, fontSize.value.unit, newUnit); + fontSize.value.unit = newUnit; +}; + +const updateMarginOuterUnit = (newUnit) => { + marginOuter.value.value = convertUnit(marginOuter.value.value, marginOuter.value.unit, newUnit); + marginOuter.value.unit = newUnit; +}; + +const updatePaddingInnerUnit = (newUnit) => { + paddingInner.value.value = convertUnit(paddingInner.value.value, paddingInner.value.unit, newUnit); + paddingInner.value.unit = newUnit; +}; + const getSelectorFromElement = (element) => { // Try to build a meaningful selector if (element.id) { diff --git a/src/components/editor/PageSettings.vue b/src/components/editor/PageSettings.vue index 3517ddb..caefbc8 100644 --- a/src/components/editor/PageSettings.vue +++ b/src/components/editor/PageSettings.vue @@ -66,21 +66,21 @@ @@ -107,21 +107,21 @@ @@ -148,21 +148,21 @@ @@ -189,21 +189,21 @@ @@ -295,6 +295,7 @@ import { useStylesheetStore } from '../../stores/stylesheet'; import { useDebounce } from '../../composables/useDebounce'; import Coloris from '@melloware/coloris'; import NumberInput from '../ui/NumberInput.vue'; +import { convertUnit } from '../../utils/unit-conversion'; import '@melloware/coloris/dist/coloris.css'; const stylesheetStore = useStylesheetStore(); @@ -324,6 +325,12 @@ const margins = ref({ right: { value: 20, unit: 'mm' }, }); +const updateMarginUnit = (side, newUnit) => { + const m = margins.value[side]; + m.value = convertUnit(m.value, m.unit, newUnit); + m.unit = newUnit; +}; + const background = ref({ value: '', format: 'hex', diff --git a/src/components/editor/TextSettings.vue b/src/components/editor/TextSettings.vue index de0152e..92d4775 100644 --- a/src/components/editor/TextSettings.vue +++ b/src/components/editor/TextSettings.vue @@ -64,6 +64,7 @@