Skip to content

Commit 6c9e67b

Browse files
committed
ACP2E-3273: emulate 'display:none' better avoiding extra white space
1 parent 397fe4a commit 6c9e67b

File tree

2 files changed

+16
-8
lines changed
  • app/code/Magento/Ui/view/base/web/js/lib/knockout/bindings
  • dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/ko/bind

2 files changed

+16
-8
lines changed

app/code/Magento/Ui/view/base/web/js/lib/knockout/bindings/dimVisible.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ define([
2121

2222
// Use "unwrapObservable" so we can handle values that may or may not be observable
2323
if (ko.unwrap(value)) {
24-
$(element).css('visibility','visible').css('height','auto');
24+
$(element).css('visibility','visible').css('height','auto').css('position','relative');
2525
} else {
26-
$(element).css('visibility', 'hidden').css('height', '0');
26+
$(element).css('visibility', 'hidden').css('height', '0').css('position', 'absolute');
2727
}
2828
},
2929

@@ -37,9 +37,9 @@ define([
3737
let value = valueAccessor();
3838

3939
if (ko.unwrap(value)) {
40-
$(element).css('visibility', 'visible').css('height', 'auto');
40+
$(element).css('visibility', 'visible').css('height', 'auto').css('position', 'relative');
4141
} else {
42-
$(element).css('visibility', 'hidden').css('height', '0');
42+
$(element).css('visibility', 'hidden').css('height', '0').css('position', 'absolute');
4343
}
4444
}
4545
};

dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/ko/bind/dimVisible.test.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,19 @@ define([
2626
valueAccessor = jasmine.createSpy().and.returnValue(value);
2727

2828
ko.bindingHandlers.dimVisible.init(elementToHide, valueAccessor);
29-
expect(elementToHide.attr('style').indexOf('visibility: hidden; height: 0px;') !== -1).toBeTrue();
29+
expect(
30+
elementToHide.attr('style').indexOf('visibility: hidden; height: 0px; position: absolute;') !== -1
31+
).toBeTrue();
3032
});
3133

3234
it('Check that html element is displayed based on flag value', function () {
3335
let value = true,
3436
valueAccessor = jasmine.createSpy().and.returnValue(value);
3537

3638
ko.bindingHandlers.dimVisible.init(elementToHide, valueAccessor);
37-
expect(elementToHide.attr('style').indexOf('visibility: visible; height: auto;') !== -1).toBeTrue();
39+
expect(
40+
elementToHide.attr('style').indexOf('visibility: visible; height: auto; position: relative;') !== -1
41+
).toBeTrue();
3842
});
3943

4044
it('Check that html element is updated based on flags changing value', function () {
@@ -44,10 +48,14 @@ define([
4448
valueTrueAccessor = jasmine.createSpy().and.returnValue(valueTrue);
4549

4650
ko.bindingHandlers.dimVisible.update(elementToHide, valueFalseAccessor);
47-
expect(elementToHide.attr('style').indexOf('visibility: hidden; height: 0px;') !== -1).toBeTrue();
51+
expect(
52+
elementToHide.attr('style').indexOf('visibility: hidden; height: 0px; position: absolute;') !== -1
53+
).toBeTrue();
4854

4955
ko.bindingHandlers.dimVisible.update(elementToHide, valueTrueAccessor);
50-
expect(elementToHide.attr('style').indexOf('visibility: visible; height: auto;') !== -1).toBeTrue();
56+
expect(
57+
elementToHide.attr('style').indexOf('visibility: visible; height: auto; position: relative;') !== -1
58+
).toBeTrue();
5159
});
5260
});
5361
});

0 commit comments

Comments
 (0)