2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-01-31 18:59:33 +00:00
fhem-mirror/fhem/www/pgm2/fhemweb_knob.js
rudolfkoenig 32f37c18fe FHEMWEB_JS_UMBAU: integrate it with the trunk
git-svn-id: https://svn.fhem.de/fhem/trunk@7496 2b470e98-0d58-463d-a4d8-8e2adae1ed80
2015-01-10 16:54:23 +00:00

39 lines
1.1 KiB
JavaScript

// Wrapper for the jquery knob widget.
FW_widgets['knob'] = { createFn:FW_knobCreate, };
function
FW_knobCreate(elName, devName, vArr, currVal, set, params, cmd)
{
if(!vArr.length || vArr[0] != "knob" || (params && params.length))
return undefined;
var conf = {};
for(var i1=0; i1<vArr.length; i1++) {
var kv = vArr[i1].split(":");
conf[kv[0]] = kv[1];
}
currVal = (currVal == undefined) ?
conf.min : parseFloat(currVal.replace(/[^\d.\-]/g, ""));
if(!conf.width) conf.width=conf.height=100;
if(!conf.fgColor) conf.fgColor="#278727";
var newEl = $("<div style='display:inline-block'>").get(0);
$(newEl).append('<input type="text" id="knob.'+devName+'-'+set +'" >');
var inp = $(newEl).find("input");
if(elName)
$(inp).attr("name", elName);
for(c in conf)
$(inp).attr("data-"+c, conf[c]);
loadScript("pgm2/jquery.knob.min.js",
function() {
inp.knob({ 'release' : function(v){ if(cmd) cmd(v) } });
newEl.setValueFn = function(arg){ inp.val(arg);
inp.trigger('change'); };
newEl.setValueFn(currVal);
});
return newEl;
}