File tree Expand file tree Collapse file tree 3 files changed +48
-1
lines changed
Checkout/view/frontend/web/template/form/element
Ui/view/base/web/js/lib/knockout/bindings Expand file tree Collapse file tree 3 files changed +48
-1
lines changed Original file line number Diff line number Diff line change 32
32
</ div >
33
33
34
34
<!--Hidden fields -->
35
- < fieldset class ="fieldset hidden-fields " data-bind ="fadeVisible : isPasswordVisible ">
35
+ < fieldset class ="fieldset hidden-fields " data-bind ="dimVisible : isPasswordVisible ">
36
36
< div class ="field ">
37
37
< label class ="label " for ="customer-password "> < span data-bind ="i18n: 'Password' "> </ span > </ label >
38
38
< div class ="control ">
Original file line number Diff line number Diff line change @@ -31,6 +31,7 @@ define(function (require) {
31
31
datepicker : require ( './datepicker' ) ,
32
32
outerClick : require ( './outer_click' ) ,
33
33
fadeVisible : require ( './fadeVisible' ) ,
34
+ dimVisible : require ( './dimVisible' ) ,
34
35
collapsible : require ( './collapsible' ) ,
35
36
staticChecked : require ( './staticChecked' ) ,
36
37
simpleChecked : require ( './simple-checked' ) ,
Original file line number Diff line number Diff line change
1
+ /**
2
+ * Copyright 2024 Adobe
3
+ * All Rights Reserved.
4
+ */
5
+
6
+ define ( [
7
+ 'jquery' ,
8
+ 'ko'
9
+ ] , function ( $ , ko ) {
10
+ 'use strict' ;
11
+
12
+ ko . bindingHandlers . dimVisible = {
13
+ /**
14
+ * Initially set the element to be instantly visible/hidden depending on the value.
15
+ *
16
+ * @param {HTMLElement } element
17
+ * @param {Function } valueAccessor
18
+ */
19
+ init : function ( element , valueAccessor ) {
20
+ let value = valueAccessor ( ) ;
21
+
22
+ // Use "unwrapObservable" so we can handle values that may or may not be observable
23
+ if ( ko . unwrap ( value ) ) {
24
+ $ ( element ) . css ( 'visibility' , 'visible' ) . css ( 'height' , 'auto' ) ;
25
+ } else {
26
+ $ ( element ) . css ( 'visibility' , 'hidden' ) . css ( 'height' , '0' ) ;
27
+ }
28
+ } ,
29
+
30
+ /**
31
+ * Whenever the value subsequently changes, slowly fade the element in or out.
32
+ *
33
+ * @param {HTMLElement } element
34
+ * @param {Function } valueAccessor
35
+ */
36
+ update : function ( element , valueAccessor ) {
37
+ let value = valueAccessor ( ) ;
38
+
39
+ if ( ko . unwrap ( value ) ) {
40
+ $ ( element ) . css ( 'visibility' , 'visible' ) . css ( 'height' , 'auto' ) ;
41
+ } else {
42
+ $ ( element ) . css ( 'visibility' , 'hidden' ) . css ( 'height' , '0' ) ;
43
+ }
44
+ }
45
+ } ;
46
+ } ) ;
You can’t perform that action at this time.
0 commit comments