![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-ui/view/base/web/js/lib/knockout/bindings/ |
/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ define([ 'ko', 'jquery', '../template/renderer', 'spectrum', 'tinycolor' ], function (ko, $, renderer, spectrum, tinycolor) { 'use strict'; /** * Change color picker status to be enabled or disabled * * @param {HTMLElement} element - Element to apply colorpicker enable/disable status to. * @param {Object} viewModel - Object, which represents view model binded to el. */ function changeColorPickerStateBasedOnViewModel(element, viewModel) { $(element).spectrum(viewModel.disabled() ? 'disable' : 'enable'); } ko.bindingHandlers.colorPicker = { /** * Binding init callback. * * @param {*} element * @param {Function} valueAccessor * @param {Function} allBindings * @param {Object} viewModel */ init: function (element, valueAccessor, allBindings, viewModel) { var config = valueAccessor(), /** change value */ changeValue = function (value) { if (value == null) { value = ''; } config.value(value.toString()); }; config.change = changeValue; config.hide = changeValue; /** show value */ config.show = function () { if (!viewModel.focused()) { viewModel.focused(true); } return true; }; $(element).spectrum(config); changeColorPickerStateBasedOnViewModel(element, viewModel); }, /** * Reads params passed to binding, parses component declarations. * Fetches for those found and attaches them to the new context. * * @param {HTMLElement} element - Element to apply bindings to. * @param {Function} valueAccessor - Function that returns value, passed to binding. * @param {Object} allBindings - Object, which represents all bindings applied to element. * @param {Object} viewModel - Object, which represents view model binded to element. */ update: function (element, valueAccessor, allBindings, viewModel) { var config = valueAccessor(); /** Initialise value as empty if it is undefined when color picker input is reset **/ if (config.value() === undefined) { config.value(''); } if (tinycolor(config.value()).isValid() || config.value() === '') { $(element).spectrum('set', config.value()); if (config.value() !== '') { config.value($(element).spectrum('get').toString()); } } changeColorPickerStateBasedOnViewModel(element, viewModel); } }; renderer.addAttribute('colorPicker'); });