Skip to content

Commit dc3cf69

Browse files
authored
Fix issue that data-x/y/z can't use relative-to-screen-size unit. (#815)
1 parent 78c954a commit dc3cf69

File tree

4 files changed

+18
-13
lines changed

4 files changed

+18
-13
lines changed

js/impress.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4131,9 +4131,9 @@
41314131

41324132
// Test, if it is a previous step that already has some assigned position data
41334133
if ( el.compareDocumentPosition( ref ) & Node.DOCUMENT_POSITION_PRECEDING ) {
4134-
prev.x = toNumber( ref.getAttribute( "data-x" ) );
4135-
prev.y = toNumber( ref.getAttribute( "data-y" ) );
4136-
prev.z = toNumber( ref.getAttribute( "data-z" ) );
4134+
prev.x = toNumberAdvanced( ref.getAttribute( "data-x" ) );
4135+
prev.y = toNumberAdvanced( ref.getAttribute( "data-y" ) );
4136+
prev.z = toNumberAdvanced( ref.getAttribute( "data-z" ) );
41374137

41384138
var prevPosition = ref.getAttribute( "data-rel-position" ) || "absolute";
41394139

@@ -4214,9 +4214,9 @@
42144214
}
42154215

42164216
var step = {
4217-
x: toNumber( data.x, prev.x ),
4218-
y: toNumber( data.y, prev.y ),
4219-
z: toNumber( data.z, prev.z ),
4217+
x: toNumberAdvanced( data.x, prev.x ),
4218+
y: toNumberAdvanced( data.y, prev.y ),
4219+
z: toNumberAdvanced( data.z, prev.z ),
42204220
rotate: {
42214221
x: toNumber( data.rotateX, 0 ),
42224222
y: toNumber( data.rotateY, 0 ),

src/plugins/rel/rel.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@
7979

8080
// Test, if it is a previous step that already has some assigned position data
8181
if ( el.compareDocumentPosition( ref ) & Node.DOCUMENT_POSITION_PRECEDING ) {
82-
prev.x = toNumber( ref.getAttribute( "data-x" ) );
83-
prev.y = toNumber( ref.getAttribute( "data-y" ) );
84-
prev.z = toNumber( ref.getAttribute( "data-z" ) );
82+
prev.x = toNumberAdvanced( ref.getAttribute( "data-x" ) );
83+
prev.y = toNumberAdvanced( ref.getAttribute( "data-y" ) );
84+
prev.z = toNumberAdvanced( ref.getAttribute( "data-z" ) );
8585

8686
var prevPosition = ref.getAttribute( "data-rel-position" ) || "absolute";
8787

@@ -162,9 +162,9 @@
162162
}
163163

164164
var step = {
165-
x: toNumber( data.x, prev.x ),
166-
y: toNumber( data.y, prev.y ),
167-
z: toNumber( data.z, prev.z ),
165+
x: toNumberAdvanced( data.x, prev.x ),
166+
y: toNumberAdvanced( data.y, prev.y ),
167+
z: toNumberAdvanced( data.z, prev.z ),
168168
rotate: {
169169
x: toNumber( data.rotateX, 0 ),
170170
y: toNumber( data.rotateY, 0 ),

test/plugins/rel/relative_to_screen_size_tests.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ QUnit.test( "relative_to_screen_size", function( assert ) {
1515
var step1 = iframeDoc.querySelector( "div#step1" );
1616
var step2 = iframeDoc.querySelector( "div#step2" );
1717
var step3 = iframeDoc.querySelector( "div#step3" );
18+
var overview = iframeDoc.querySelector( "div#overview" );
1819

1920
assert.equal( origin.dataset.x, 0, "origin data-x attribute" );
2021
assert.equal( origin.dataset.y, 0, "origin data-y attribute" );
@@ -32,6 +33,10 @@ QUnit.test( "relative_to_screen_size", function( assert ) {
3233
assert.equal( step3.dataset.y, -750, "step3 data-y attribute" );
3334
assert.equal( step3.dataset.z, 1000, "step3 data-z attribute" );
3435

36+
assert.equal( overview.dataset.x, 2000, "overview data-x attribute" );
37+
assert.equal( overview.dataset.y, -1500, "overview data-y attribute" );
38+
assert.equal( overview.dataset.z, 1500, "overview data-z attribute" );
39+
3540
done();
3641
console.log( "End relative_to_screen_size test (sync)" );
3742
} )

test/plugins/rel/relative_to_screen_size_tests_presentation.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<div id="step2" class="step" data-rel-to="origin" data-rel-x="-2h" data-rel-y="-2w" data-rel-z="2h"></div>
3838
<div id="step3" class="step" data-rel-to="origin" data-rel-x="0.5w" data-rel-y="-0.5h" data-rel-z="0.5w"></div>
3939

40-
<div id="overview" class="step overview" data-x="0" data-y="-1000" data-z="100" data-scale="4" data-rotate-x="45">
40+
<div id="overview" class="step overview" data-x="1w" data-y="-1h" data-z="1h" data-scale="4" data-rotate-x="45">
4141
</div>
4242

4343
</div>

0 commit comments

Comments
 (0)