Skip to content

Commit 12d3181

Browse files
ENGCOM-6467: Set empty value to color picker when input is reset to update preview #26044
2 parents ff53693 + 27e883b commit 12d3181

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

app/code/Magento/Ui/view/base/web/js/lib/knockout/bindings/color-picker.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@ define([
7171
update: function (element, valueAccessor, allBindings, viewModel) {
7272
var config = valueAccessor();
7373

74+
/** Initialise value as empty if it is undefined when color picker input is reset **/
75+
if (config.value() === undefined) {
76+
config.value('');
77+
}
78+
7479
if (tinycolor(config.value()).isValid() || config.value() === '') {
7580
$(element).spectrum('set', config.value());
7681

dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/ko/bind/color-picker.test.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,5 +85,28 @@ define([
8585

8686
expect($.fn.init).toHaveBeenCalledWith($input, undefined);
8787
});
88+
89+
it('Verify config value is empty when reset colorpicker intput', function () {
90+
var value = {
91+
configStuffInHere: true,
92+
value: jasmine.createSpy().and.returnValue(undefined)
93+
},
94+
valueAccessor = jasmine.createSpy().and.returnValue(value),
95+
viewModel = {
96+
disabled: jasmine.createSpy().and.returnValue(false)
97+
};
98+
99+
$.fn.spectrum = jasmine.createSpy();
100+
$input = jasmine.createSpy();
101+
102+
ko.bindingHandlers.colorPicker.update($input, valueAccessor, null, viewModel);
103+
expect($.fn.spectrum).toHaveBeenCalledTimes(1);
104+
expect(valueAccessor().value).toHaveBeenCalledTimes(4);
105+
106+
value.value = jasmine.createSpy().and.returnValue('');
107+
ko.bindingHandlers.colorPicker.update($input, valueAccessor, null, viewModel);
108+
expect($.fn.spectrum).toHaveBeenCalledTimes(3);
109+
expect(valueAccessor().value).toHaveBeenCalledTimes(5);
110+
});
88111
});
89112
});

0 commit comments

Comments
 (0)