~vono22/cookiekeeper/1.9.0

« back to all changes in this revision

Viewing changes to cookiekeeper/chrome/content/ck.html.dyn_table.js

  • Committer: Yvon Tanguy
  • Date: 2016-04-04 16:25:38 UTC
  • Revision ID: vono22@yahoo.fr-20160404162538-ybe3dxi215n6tbfw
Quality: Fix some ESLint warnings.

Show diffs side-by-side

added added

removed removed

Lines of Context:
179
179
 
180
180
  // We need first to get the resizer grip width in pixel.
181
181
  // Actually we need the half width grip size, to centered it between 2 header cols.
182
 
  let nResizerHalfWidth = 0
 
182
  let nResizerHalfWidth = 0;
183
183
  {
184
184
    let cs = window.getComputedStyle(this.hDivGrips.firstElementChild.firstElementChild, null);
185
185
    let cw = cs.getPropertyValue("width");
254
254
  delete this.hTable;
255
255
  delete this.aColsSizes;
256
256
  delete this.sPrefixId;
257
 
}
 
257
};
258
258
 
259
259
/**
260
260
 * @return the HTML Element of the table header: <thead>
269
269
  }
270
270
 
271
271
  return null;
272
 
}
 
272
};
273
273
 
274
274
/**
275
275
 * @return the HTML Element of the table body: <tbody>
284
284
  }
285
285
 
286
286
  return null;
287
 
}
 
287
};
288
288
 
289
289
DynTable.prototype.getHeader = function(index) {
290
290
  let hTHead = this.getTableHeader();
293
293
    return hTrElem.children[index];
294
294
  }
295
295
  return null;
296
 
}
 
296
};
297
297
 
298
298
/**
299
299
 * @return the width in pixel (number) margin+border+padding, of a table body cell.
322
322
  }
323
323
 
324
324
  return nbpBody;
325
 
}
 
325
};
326
326
 
327
327
/*
328
328
 TODO
421
421
      hTdElem.style.width = aBodyColsSize[c];
422
422
    }
423
423
  }
424
 
}
 
424
};
425
425
 
426
426
DynTable.prototype.doGripMove = function(evtMouseMove) {
427
427
  let movementX = 0;
531
531
    hSTd.style.width = sSWidth;
532
532
    hFTd.style.width = sFWidth;
533
533
  }
534
 
}
 
534
};
535
535
 
536
536
DynTable.prototype.onGripMouseMove = function(evtMouseMove) {
537
537
 
545
545
    log.e("DynTable.onGripMouseMove: document.dynTable is null");
546
546
  }
547
547
  return true;
548
 
}
 
548
};
549
549
DynTable.prototype.onGripMouseUp = function(evtMouseUp) {
550
550
 
551
551
  if (evtMouseUp.button == 0) {
560
560
    }
561
561
  }
562
562
  return true;
563
 
}
 
563
};
564
564
DynTable.prototype.onGripMouseDown = function(evtMouseDown) {
565
565
 
566
566
  if (evtMouseDown.button == 0) {
595
595
    return false;
596
596
  }
597
597
  return true;
598
 
}
 
598
};
599
599
 
600
600
DynTable.prototype.removeMouseEvents = function() {
601
601
  document.removeEventListener("mousemove", DynTable.prototype.onGripMouseMove, false);
609
609
 
610
610
  delete document.dynTable;
611
611
  delete this.nCurrentColIndex;
612
 
}
 
612
};
613
613
 
614
614
DynTable.prototype.setSelectListener = function(aCallback) {
615
615
  this.addSelectEventListener();
616
616
  this.cbItemSelection = aCallback;
617
 
}
 
617
};
618
618
 
619
619
DynTable.prototype.addSelectEventListener = function() {
620
620
  const hTBody = this.getTableBody();
624
624
  }
625
625
 
626
626
  hTBody.addEventListener("click", DynTable.prototype.onRowClick, false);
627
 
}
 
627
};
628
628
 
629
629
DynTable.prototype.onRowClick = function(evtMouseClick) {
630
630
  let hTable = null;
656
656
  }
657
657
 
658
658
  return true;
659
 
}
 
659
};
660
660
 
661
661
DynTable.prototype.setSelection = function(aIndexes) {
662
662
  const hTBody      = this.getTableBody();
663
663
  let nChildren     = hTBody.children.length;
664
 
  let hTRSelect     = null;
665
 
  let aAddedItems   = []
 
664
  let aAddedItems   = [];
666
665
  let aRemovedItems = null;
667
666
 
668
667
  // Check parameters
718
717
  }
719
718
 
720
719
  return true;
721
 
}
 
720
};
722
721
 
723
722
DynTable.prototype.doSelection = function(evt, index) {
724
723
  const hTBody      = this.getTableBody();
725
724
  let hTRSelect     = null;
726
 
  let aAddedItems   = []
 
725
  let aAddedItems   = [];
727
726
  let aRemovedItems = [];
728
727
  let aCurrentItems = null;
729
728
 
805
804
  hTRSelect.focus();
806
805
 
807
806
  return true;
808
 
}
 
807
};
809
808
 
810
809
DynTable.prototype.clearLastSelectedBorder = function(hTBody) {
811
810
  if (this.nIdxLastSelected >= 0 && this.nIdxLastSelected < hTBody.children.length) {
813
812
    let hTRSelect = hTBody.children[this.nIdxLastSelected];
814
813
    hTRSelect.classList.remove("table_scroll_contentrow_focus");
815
814
  }
816
 
}
 
815
};
817
816
 
818
817
DynTable.prototype.clearSelection = function() {
819
818
  const hTBody = this.getTableBody();
820
 
  let aAddedItems   = []
 
819
  let aAddedItems   = [];
821
820
  let aRemovedItems = null;
822
821
  let aCurrentItems = [];
823
822
 
836
835
  if (this.cbItemSelection != null) {
837
836
    this.cbItemSelection(aAddedItems, aRemovedItems, aCurrentItems);
838
837
  }
839
 
}
 
838
};
840
839
 
841
840
DynTable.prototype.resetSelection = function() {
842
841
  this.nIdxLastSelected = -1;
843
842
  this.aSelected = [];
844
 
}
 
843
};
845
844
 
846
845
/**
847
846
 * When items are removed, update the selection index array,
867
866
  if (this.nIdxLastSelected == -1 && this.aSelected.length > 0) {
868
867
    this.nIdxLastSelected = this.aSelected[this.aSelected.length - 1];
869
868
  }
870
 
}
 
869
};
871
870
 
872
871
DynTable.prototype.tableKeyListener = function(evtKeyPressed) {
873
872
  let ok = true;
896
895
    this.dynTable.setSelection(aAllIdx);
897
896
  }
898
897
  return ok;
899
 
}
 
898
};
900
899
 
901
900
DynTable.prototype.ensureVisible = function(index) {
902
901
  let hTBody       = this.getTableBody();
915
914
  } else if (trPos < scrollTop) {
916
915
    hTBody.scrollTop = trPos - halfVis;
917
916
  } // else no need to scroll.
918
 
}
 
917
};
919
918
 
920
919
DynTable.prototype.enableSortColumn = function(fctSortComparator) {
921
920
  if (typeof(fctSortComparator) != "function") {
933
932
    hThElem.addEventListener("click", DynTable.prototype.onSort, false);
934
933
    this.aSortColumns[i] = i+1;
935
934
  }
936
 
}
 
935
};
937
936
 
938
937
DynTable.prototype.onSort = function(evtClick) {
939
938
  try {
940
939
    let dynTable = this.parentNode.parentNode.parentNode.dynTable;
941
 
    return dynTable.doSort(evtClick)
 
940
    return dynTable.doSort(evtClick);
942
941
  } catch (ex) {
943
942
    log.e(ex);
944
943
  }
945
944
  return true;
946
 
}
 
945
};
947
946
 
948
947
DynTable.prototype.doSort = function(evtClick) {
949
948
  if (this.aSortColumns == null) {
1023
1022
  }
1024
1023
 
1025
1024
  return false;
1026
 
}
 
1025
};