Slider step as a binary?
-
Hey gents,
I'm dealing with a slightly odd scenario, I'm trying to make a slider step via binary shifting (So the valid step states of the data point are 1, 2, 4, 8) But since this is being read/written via a standard integer, I can't do the validation on the device side.
Any ideas on how to make this step work inside a standard Mango component? Doesn't have to be a slider, just that would be the most convenient.
Thanks Guys.
-
@SG
The only way I could come up with is to put some code in a user module -define(['angular', 'require'], function(angular, require) { 'use strict'; var userModule = angular.module('userModule', ['maUiApp']); userModule.run(['maPoint', function(maPoint) { Object.defineProperty(maPoint.prototype, 'bitShiftValue', { get: function() { return Math.log2(this.value); }, set: function(value) { this.setValue(1 << value); } }); }]); return userModule; }); // define
You can then put a slider on the page like this -
<ma-get-point-value point-xid="multistate-point-xid" point="myPoint"></ma-get-point-value> <md-slider ng-disabled="!myPoint.enabled" md-discrete step="1" min="0" max="3" ng-model="myPoint.bitShiftValue"></md-slider>
-
@jared-wiltshire Cool. That works pretty slick.
Thanks Jared.