فهرست منبع

[core] Add ko binding for toggling boolean observables on click

Johan Ahlen 9 سال پیش
والد
کامیت
b62e16eaf3
1فایلهای تغییر یافته به همراه20 افزوده شده و 0 حذف شده
  1. 20 0
      desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

+ 20 - 0
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -119,6 +119,26 @@
     }
   };
 
+  /**
+   * This binding can be used to toggle a boolean value on click
+   *
+   * Example:
+   *
+   * <div databind="toggle: value">...</div>
+   *
+   * @type {{init: ko.bindingHandlers.toggle.init}}
+   */
+  ko.bindingHandlers.toggle = {
+    init: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
+      var value = valueAccessor();
+      ko.bindingHandlers.click.init(element, function () {
+        return function () {
+          value(! value());
+        }
+      }, allBindings, viewModel, bindingContext);
+    }
+  };
+
   ko.bindingHandlers.slideVisible = {
     init: function (element, valueAccessor) {
       var value = valueAccessor();