fhemweb_iconRadio.js, fhemweb_iconButtons:exchange <select color> and <icon color> only

git-svn-id: https://svn.fhem.de/fhem/trunk@15435 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
Ellert
2017-11-15 14:10:56 +00:00
parent 978bf64ce4
commit e546fd0ec1
2 changed files with 56 additions and 21 deletions

View File

@@ -95,16 +95,22 @@ FW_iconButtonsCreate(elName, devName, vArr, currVal, set, params, cmd)
var span = $(val).find("span");
var sc = $(span).attr("selectcolor");
var usc = $(span).attr("unselectcolor") == "none" ? "" : $(span).attr("unselectcolor");
if( usc.match(/^[A-F0-9]{6}$/i))
usc = "#"+usc;
var isc = $(span).attr("ischecked");
if(isc == "true") {
if(sc.length > 0) {
data = data.replace(/fill=\".*?\"/,'fill="'+sc+'"')
.replace(/fill:.*?[;\s]/,'fill:'+sc+';');
var re1 = new RegExp('fill="'+usc+'"','gi');
var re2 = new RegExp('fill:\\s?"'+usc+'[;\\s]','gi');
data = data.replace(re1,'fill="'+sc+'"')
.replace(re2,'fill:'+sc+';');
}
} else {
if(sc.length > 0) {
data = data.replace(/fill=\".*?\"/,'fill="'+usc+'"')
.replace(/fill:.*?[;\s]/,'fill:'+usc+';');
var re1 = new RegExp('fill="'+sc+'"','gi');
var re2 = new RegExp('fill:\\s?"'+sc+'[;\\s]','gi');
data = data.replace(re1,'fill="'+usc+'"')
.replace(re2,'fill:'+usc+';');
}
}
$(span).addClass("iconButtons_widget").html(data);
@@ -121,10 +127,15 @@ FW_iconButtonsCreate(elName, devName, vArr, currVal, set, params, cmd)
var button = buttons[i];
var span = button.next().find("span");
var sc = $(span).attr("selectcolor");
var usc = $(span).attr("unselectcolor");
if( usc.match(/^[A-F0-9]{6}$/i))
usc = "#"+usc;
if( $(button).prop("checked") ) {
if(sc.length > 0) {
var html = $(span).html().replace(/fill=\".*?\"/,"fill=\""+sc+"\"")
.replace(/fill:.*?[;\s]/,"fill:"+sc+";");
var re1 = new RegExp('fill="'+usc+'"','gi');
var re2 = new RegExp('fill:\\s?"'+usc+'[;\\s]','gi');
var html = $(span).html().replace(re1,'fill="'+sc+'"')
.replace(re2,'fill:'+sc+';');
$(span).html(html);
} else {
button.next().css({"background-color":vArr[1]});
@@ -150,16 +161,20 @@ FW_iconButtonsCreate(elName, devName, vArr, currVal, set, params, cmd)
button.prop("checked", arg.match(new RegExp('(^|,)'+vArr[i*ipar+2]+'($|,)') ) );
if (button.prop("checked")==true){
if(sc.length > 0) {
var html = $(span).html().replace(/fill=\".*?\"/,"fill=\""+sc+"\"")
.replace(/fill:.*?[;\s]/,"fill:"+sc+";");
var re1 = new RegExp('fill="'+usc+'"','gi');
var re2 = new RegExp('fill:\\s?"'+usc+'[;\\s]','gi');
var html = $(span).html().replace(re1,'fill="'+sc+'"')
.replace(re2,"fill:"+sc+";");
$(span).html(html);
} else {
button.next().css({"background-color":vArr[1]});
}
} else {
if(sc.length > 0) {
var html = $(span).html().replace(/fill=\".*?\"/,'fill="'+usc+'"')
.replace(/fill:.*?[;\s]/,'fill:'+usc+';');
var re1 = new RegExp('fill="'+sc+'"','gi');
var re2 = new RegExp('fill:\\s?"'+sc+'[;\\s]','gi');
var html = $(span).html().replace(re1,'fill="'+usc+'"')
.replace(re2,'fill:'+usc+';');
$(span).html(html);
} else {

View File

@@ -130,19 +130,27 @@ FW_iconRadioCreate(elName, devName, vArr, currVal, set, params, cmd)
var span = $(val).find("span");
var sc = $(span).attr("selectcolor");
var usc = $(span).attr("unselectcolor") == "none" ? "" : $(span).attr("unselectcolor");
if( usc.match(/^[A-F0-9]{6}$/i))
usc = "#"+usc;
var isc = $(span).attr("ischecked");
// console.log("span usc_"+ind+": "+usc+", sc_"+ind+": "+sc);
// console.log("Fw_cmd checked: "+ind+": "+isc);
if(isc == "true") {
if(sc.length > 0) {
data = data.replace(/fill=\".*?\"/,'fill="'+sc+'"')
.replace(/fill:.*?[;\s]/,'fill:'+sc+';');
var re1 = new RegExp('fill="'+usc+'"','gi');
var re2 = new RegExp('fill:\\s?"'+usc+'[;\\s]','gi');
// console.log("FW_cmd re1u=",re1,", re2u=",re2);
data = data.replace(re1,'fill="'+sc+'"')
.replace(re2,'fill:'+sc+';');
// console.log("Fw_cmd sc_ind: "+ind+": "+sc+", isc:"+isc+"\n"+data);
}
} else {
if(sc.length > 0) {
data = data.replace(/fill=\".*?\"/,'fill="'+usc+'"')
.replace(/fill:.*?[;\s]/,'fill:'+usc+';');
var re1 = new RegExp('fill="'+sc+'"','gi');
var re2 = new RegExp('fill:\\s?"'+sc+'[;\\s]','gi');
// console.log("FW_cmd re1=",re1,", re2=",re2);
data = data.replace(re1,'fill="'+usc+'"')
.replace(re2,'fill:'+usc+';');
// console.log("Fw_cmd usc_ind: "+ind+": "+usc+", isc:"+isc+"\n"+data);
}
}
@@ -160,11 +168,17 @@ FW_iconRadioCreate(elName, devName, vArr, currVal, set, params, cmd)
var button = buttons[i];
var span = button.next().find("span");
var sc = $(span).attr("selectcolor");
// var usc = $(span).attr("unselectcolor");
var usc = $(span).attr("unselectcolor");
if( usc.match(/^[A-F0-9]{6}$/i))
usc = "#"+usc;
if( $(button).prop("checked") == true) {
if(sc.length > 0) {
var html = $(span).html().replace(/fill=\".*?\"/,"fill=\""+sc+"\"")
.replace(/fill:.*?[;\s]/,"fill:"+sc+";");
var re1 = new RegExp('fill="'+usc+'"','gi');
var re2 = new RegExp('fill:\\s?"'+usc+'[;\\s]','gi');
// console.log("getFn re1u=",re1,", re2u=",re2);
var html = $(span).html().replace(re1,'fill="'+sc+'"')
.replace(re2,'fill:'+sc+';');
// console.log("getFn sc_i:"+i+": "+sc+"\n"+html);
$(span).html(html);
} else {
@@ -224,16 +238,22 @@ FW_iconRadioCreate(elName, devName, vArr, currVal, set, params, cmd)
if (button.prop("checked") == true){
if(sc.length > 0) {
var html = $(span).html().replace(/fill=\".*?\"/,"fill=\""+sc+"\"")
.replace(/fill:.*?[;\s]/,"fill:"+sc+";");
var re1 = new RegExp('fill="'+usc+'"','gi');
var re2 = new RegExp('fill:\\s?"'+usc+'[;\\s]','gi');
// console.log("setFn re1u=",re1,", re2u=",re2);
var html = $(span).html().replace(re1,'fill="'+sc+'"')
.replace(re2,"fill:"+sc+";");
$(span).html(html);
} else {
button.next().css({"background-color":vArr[1]});
}
} else {
if(sc.length > 0) {
var html = $(span).html().replace(/fill=\".*?\"/,'fill="'+usc+'"')
.replace(/fill:.*?[;\s]/,'fill:'+usc+';');
var re1 = new RegExp('fill="'+sc+'"','gi');
var re2 = new RegExp('fill:\\s?"'+sc+'[;\\s]','gi');
// console.log("setFn re1=",re1,", re2=",re2);
var html = $(span).html().replace(re1,'fill="'+usc+'"')
.replace(re2,'fill:'+usc+';');
$(span).html(html);
} else {