| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- FW_version["fhemweb_readingsGroup.js"] = "$Id: fhemweb_readingsGroup.js 15189 2017-10-03 17:53:27Z justme1968 $";
- //$(document).ready(FW_readingsGroupReadyFn);
- $(FW_readingsGroupReadyFn);
- function
- FW_readingsGroupReadyFn() {
- // replace all informIds of the form devName-readingName with rgName-devName.readingName
- $(".readingsGroup").each(function() {
- if( this.className.search(/\bsortable\b/) ) {
- loadScript( 'pgm2/sorttable.js', function() {
- setTimeout( function() {
- $(".readingsGroup").each(function() {
- var sort = parseInt($(this).attr('sortColumn'));
- if( sort )
- sorttable.doSort(this, Math.abs(sort)-1, sort<0?true:false );
- } );
- }, 100 );
- } );
- }
- var name = $(this).attr('id').split("-")[1];
- $(this).find("[informId]").each(function() {
- var informId = $(this).attr('informId');
- var parts = informId.split("-");
- if( parts[0] != name ) {
- informId = name+'-'+informId.replace('-','.');
- $(this).attr('informId', informId);
- }
- });
- $(this).find("[rg-fhemWidget-label]").each(function() {
- var txt = $(this).attr('rg-fhemWidget-label');
- var contents = $(this).find('div').first().contents();
- if( contents.size() == 2 )
- contents.first().replaceWith(txt);
- });
- });
- }
- function
- FW_readingsGroupToggle(d) {
- var rg = document.getElementById( 'readingsGroup-'+d );
- if( rg ) {
- s=rg.style;
- s.display = s.display=='none' ? 'table' : 'none';
- var group = rg.getAttribute('groupId');
- if( group ) {
- var elArr = document.querySelectorAll( '[groupId='+group+']' );
- for( var k=0; k<elArr.length; k++ ){
- el = elArr[k];
- if( el != rg ) {
- el.style.display = 'none';
- }
- }
- }
- }
- }
- function
- FW_readingsGroupShow(d,v) {
- var rg = document.getElementById( 'readingsGroup-'+d );
- if( rg ) {
- s=rg.style;
- if( s.display=='none' && v )
- FW_readingsGroupToggle(d);
- else if( s.display!='none' && !v )
- FW_readingsGroupToggle(d);
- }
- }
- function
- FW_readingsGroupToggle2(d) {
- var rg = document.getElementById( 'readingsGroup-'+d );
- if( rg ) {
- s=rg.style;
- s.width = rg.scrollWidth+'px';
- var rows = rg.childNodes[0].childNodes;
- for(var r=0; r<rows.length; r++){
- var row = rows[r];
- var pm = row.querySelectorAll('[id=plusminus]');
- if( pm.length ) {
- for(var i=0; i<pm.length; i++){
- if( pm[i].innerHTML == '+' )
- pm[i].innerHTML = '-';
- else if( pm[i].innerHTML == '-' )
- pm[i].innerHTML = '+';
- }
- } else {
- row.style.display = row.style.display=='none' ? '' : 'none';
- }
- }
- var group = rg.getAttribute('groupId');
- if( group ) {
- var elArr = document.querySelectorAll('[groupId='+group+']');
- for(var k=0; k<elArr.length; k++){
- el = elArr[k];
- s=el.style;
- s.width = rg.scrollWidth+'px';
- if( el != rg ) {
- var rows = el.childNodes[0].childNodes;
- for(var r=0; r<rows.length; r++){
- var row = rows[r];
- var pm = row.querySelectorAll('[id=plusminus]');
- if( pm.length ) {
- for(var i=0; i<pm.length; i++){
- pm[i].innerHTML = '+';
- }
- } else {
- row.style.display = (r==0 ? '' : 'none');
- }
- }
- }
- }
- }
- }
- }
- function
- FW_readingsGroupUpdateLine(d){
- var dd = d[0].split("-", 3);
- if(dd.length != 2)
- return;
- if( dd[1] === 'sort' ) {
- var rg = document.getElementById( 'readingsGroup-'+dd[0] );
- if( sorttable )
- sorttable.doSort( rg );
- } else if( dd[1] != "visibility" )
- return
- if( d[1] == 'toggle' ) FW_readingsGroupToggle( dd[0] );
- if( d[1] == 'toggle2' ) FW_readingsGroupToggle2( dd[0] );
- if( d[1] == 'show' ) FW_readingsGroupShow( dd[0], 1 );
- if( d[1] == 'hide' ) FW_readingsGroupShow( dd[0], 0 );
- //console.log("xxx: "+d[1]);
- }
- function FW_readingsGroupCreate(elName, devName, vArr, currVal, set, params, cmd)
- {
- }
- FW_widgets['readingsGroup'] = {
- createFn:FW_readingsGroupCreate,
- updateLine:FW_readingsGroupUpdateLine
- };
- /*
- =pod
- =cut
- */
|