| 1234567891011121314151617181920212223242526272829 |
- /**
- * DevExtreme (integration/knockout/event_registrator.js)
- * Version: 19.1.16
- * Build date: Tue Oct 18 2022
- *
- * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
- * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
- */
- "use strict";
- var $ = require("../../core/renderer");
- var eventsEngine = require("../../events/core/events_engine");
- var ko = require("knockout");
- var isPlainObject = require("../../core/utils/type").isPlainObject;
- var eventRegistratorCallbacks = require("../../events/core/event_registrator_callbacks");
- var eventUtils = require("../../events/utils");
- eventRegistratorCallbacks.add(function(name) {
- var koBindingEventName = eventUtils.addNamespace(name, name + "Binding");
- ko.bindingHandlers[name] = {
- update: function(element, valueAccessor, allBindingsAccessor, viewModel) {
- var $element = $(element);
- var unwrappedValue = ko.utils.unwrapObservable(valueAccessor());
- var eventSource = unwrappedValue.execute ? unwrappedValue.execute : unwrappedValue;
- eventsEngine.off($element, koBindingEventName);
- eventsEngine.on($element, koBindingEventName, isPlainObject(unwrappedValue) ? unwrappedValue : {}, function(e) {
- eventSource.call(viewModel, viewModel, e)
- })
- }
- }
- });
|