diff core/misc/tableheader.js @ 17:129ea1e6d783

Update, including to Drupal core 8.6.10
author Chris Cannam
date Thu, 28 Feb 2019 13:21:36 +0000
parents 4c8ae668cc8c
children
line wrap: on
line diff
--- a/core/misc/tableheader.js	Tue Jul 10 15:07:59 2018 +0100
+++ b/core/misc/tableheader.js	Thu Feb 28 13:21:36 2019 +0000
@@ -6,14 +6,37 @@
 **/
 
 (function ($, Drupal, displace) {
-  Drupal.behaviors.tableHeader = {
-    attach: function attach(context) {
-      $(window).one('scroll.TableHeaderInit', { context: context }, tableHeaderInitHandler);
+  function TableHeader(table) {
+    var $table = $(table);
+
+    this.$originalTable = $table;
+
+    this.$originalHeader = $table.children('thead');
+
+    this.$originalHeaderCells = this.$originalHeader.find('> tr > th');
+
+    this.displayWeight = null;
+    this.$originalTable.addClass('sticky-table');
+    this.tableHeight = $table[0].clientHeight;
+    this.tableOffset = this.$originalTable.offset();
+
+    this.$originalTable.on('columnschange', { tableHeader: this }, function (e, display) {
+      var tableHeader = e.data.tableHeader;
+      if (tableHeader.displayWeight === null || tableHeader.displayWeight !== display) {
+        tableHeader.recalculateSticky();
+      }
+      tableHeader.displayWeight = display;
+    });
+
+    this.createSticky();
+  }
+
+  function forTables(method, arg) {
+    var tables = TableHeader.tables;
+    var il = tables.length;
+    for (var i = 0; i < il; i++) {
+      tables[i][method](arg);
     }
-  };
-
-  function scrollValue(position) {
-    return document.documentElement[position] || document.body[position];
   }
 
   function tableHeaderInitHandler(e) {
@@ -25,12 +48,14 @@
     forTables('onScroll');
   }
 
-  function forTables(method, arg) {
-    var tables = TableHeader.tables;
-    var il = tables.length;
-    for (var i = 0; i < il; i++) {
-      tables[i][method](arg);
+  Drupal.behaviors.tableHeader = {
+    attach: function attach(context) {
+      $(window).one('scroll.TableHeaderInit', { context: context }, tableHeaderInitHandler);
     }
+  };
+
+  function scrollValue(position) {
+    return document.documentElement[position] || document.body[position];
   }
 
   function tableHeaderResizeHandler(e) {
@@ -57,31 +82,6 @@
     'drupalViewportOffsetChange.TableHeader': tableHeaderOffsetChangeHandler
   });
 
-  function TableHeader(table) {
-    var $table = $(table);
-
-    this.$originalTable = $table;
-
-    this.$originalHeader = $table.children('thead');
-
-    this.$originalHeaderCells = this.$originalHeader.find('> tr > th');
-
-    this.displayWeight = null;
-    this.$originalTable.addClass('sticky-table');
-    this.tableHeight = $table[0].clientHeight;
-    this.tableOffset = this.$originalTable.offset();
-
-    this.$originalTable.on('columnschange', { tableHeader: this }, function (e, display) {
-      var tableHeader = e.data.tableHeader;
-      if (tableHeader.displayWeight === null || tableHeader.displayWeight !== display) {
-        tableHeader.recalculateSticky();
-      }
-      tableHeader.displayWeight = display;
-    });
-
-    this.createSticky();
-  }
-
   $.extend(TableHeader, {
     tables: []
   });
@@ -164,4 +164,4 @@
   });
 
   Drupal.TableHeader = TableHeader;
-})(jQuery, Drupal, window.parent.Drupal.displace);
\ No newline at end of file
+})(jQuery, Drupal, window.Drupal.displace);
\ No newline at end of file